ROS一键安装脚本

前言

ROS从2007年发展到现在(2024年)已经有17年了,在之前很长的一段时间中中国用户都会因为网络问题造成ROS无法安装。本文将介绍一个一键安装ROS的工具,包含了安装ROS2 Foxy、Humble和Jazzy,对应了Ubuntu20.04、22.04和24.04的三个版本。

脚本功能

这个安装脚本主要实现以下功能:

  1. 自动检测Ubuntu版本(20.04/22.04/24.04),并选择对应的ROS2版本(Foxy/Humble/Jazzy)进行安装

  2. 添加ROS2的APT源,并导入GPG密钥,确保安装过程安全可靠

  3. 安装ROS2桌面版,以及相关的开发工具和依赖包

  4. 配置rosdep,并设置ROSDISTRO_INDEX_URL环境变量,方便后续使用

  5. 设置bashrc,自动source ROS2环境变量,避免每次终端重启后重新配置

  6. 最后验证安装,提示用户如何使用rosdep安装工作空间依赖

整个安装过程全自动化,无需人工干预,大大简化了ROS2环境的搭建。

# 使用方法

wget oss.guyuehome.com/upload/2024/11/111120478121/install.txt -O install_ros && . install_ros

# 代码内容

#!/bin/bash
#author:guyuehoem-qiaolongLi
#email:liqiaolong@guyuehome.com

# 自动选择并安装ROS2脚本
set -e

# 获取Ubuntu的版本信息
UBUNTU_VERSION=$(lsb_release -sr)
UBUNTU_CODENAME=$(lsb_release -cs)
ARCH=$(dpkg --print-architecture)

# 根据Ubuntu版本选择ROS2版本
case "$UBUNTU_VERSION" in
"20.04")
ROS2_VERSION="foxy"
;;
"22.04")
ROS2_VERSION="humble"
;;
"24.04")
ROS2_VERSION="jazzy"
;;
*)
echo "不支持的Ubuntu版本: $UBUNTU_VERSION"
exit 1
;;
esac

echo "检测到Ubuntu版本: $UBUNTU_VERSION ($UBUNTU_CODENAME)"
echo "选择安装ROS2版本: $ROS2_VERSION"

# 更新系统
echo "更新系统包列表..."
sudo apt update && sudo apt upgrade -y

# 安装必要的依赖
echo "安装必要的依赖包..."
sudo apt install -y curl gnupg lsb-release software-properties-common

# 创建密钥目录
sudo mkdir -p /usr/share/keyrings

# 下载并添加ROS2 GPG密钥
sudo rm -f /usr/share/keyrings/ros-archive-keyring.gpg
curl -sSLf https://gitlab.com/qiaolongli/qiaolongLi.gitlab.io/-/raw/master/ros.asc?ref_type=heads | sudo gpg --dearmor -o /usr/share/keyrings/ros-archive-keyring.gpg
# 验证密钥文件是否存在
if [ ! -f "/usr/share/keyrings/ros-archive-keyring.gpg" ]; then
echo "错误:无法创建ROS2 GPG密钥文件"

点击ROS一键安装脚本查看全文

相关推荐
嗝o゚9 小时前
昇腾CANN ops-nn 仓的 Activation 算子:不只是 ReLU
人工智能·cann·ops-nn
thubier(段新建)9 小时前
从需求到上线:需求→业务→架构→功能→实现 全链路落地方法论
人工智能·架构
北辰alk9 小时前
claude code安装教程,一文读懂。
人工智能
AskHarries9 小时前
Product Hunt 挖项目方法:如何从榜单里找到真正值得做的产品
人工智能
行者-全栈开发9 小时前
Spring AI 混合搜索:如何让 RAG 检索准确率达到 95%?(附 RRF 算法实现)
人工智能·向量检索·混合搜索·关键词搜索·元数据过滤·rrf算法·检索精度
收放扳机9 小时前
高速抓取场景下的视觉引导与并联机械手控制分析
人工智能·科技·自动化·制造·pcb工艺
段一凡-华北理工大学9 小时前
2026 高炉炼铁智能化技术全景与演进路径~系列文章03:高炉工业数据治理标准化与全生命周期血缘体系
网络·人工智能·高炉炼铁·工业智能体·炉温监测·高炉智能化
Agent手记10 小时前
制造业生产安全隐患智能识别系统落地指南 —— 结合企业级Agent构建国产安全闭环防御体系
人工智能·安全·ai
搬砖的小码农_Sky10 小时前
NVIDIA Geforce RTX 5060 Ti显卡能本地部署的哪些AI应用?
人工智能·ai·gpu算力·agi
司九Nineteen10 小时前
AI 中转的原理是什么?为什么中转站比官方便宜很多?
人工智能