ROS2 安装指南(Ubuntu 22.04+Humble)

一、环境说明

  • 操作系统:Ubuntu 22.04 LTS(Jammy)
  • ROS2 版本:Humble(长期支持版,支持至 2027)
  • 安装方式:APT 官方源安装(推荐)

二、系统更新

1.设置语言环境

首先检查本地语言环境是否支持UTF-8编码,可调用如下指令检查并设置UTF-8编码:

复制代码
locale  # 检查是否支持 UTF-8

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

locale  # 验证设置是否成果
2.启动Ubuntu universe存储库

通过如下命令检查是否已经启动了Ubuntu universe存储库:

复制代码
apt-cache policy | grep universe
 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
     release v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=amd64

如果没有如上所示的输出,那么请调用如下命令启动Ubuntu universe存储库:

复制代码
sudo apt install software-properties-common
sudo add-apt-repository universe
3.安装基础工具:
复制代码
sudo apt update && sudo apt install -y software-properties-common curl gnupg lsb-release

三、添加 ROS2 软件源

1. 添加 GPG 密钥

复制代码
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key \
-o /usr/share/keyrings/ros-archive-keyring.gpg

2. 添加软件源

复制代码
echo "deb [arch=$(dpkg --print-architecture) \
signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] \
http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | \
sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

3. 更新软件列表

复制代码
sudo apt update

四、安装 ROS2

ROS2 提供不同安装版本,根据需求选择:


1. 桌面完整版(推荐)

复制代码
sudo apt install -y ros-humble-desktop

包含:

  • RViz2(3D 可视化)
  • rqt 工具集
  • demo 示例
  • 常用功能包

2. 基础版(精简)

复制代码
sudo apt install -y ros-humble-ros-base

包含:

  • 通信库、
  • 消息包、
  • 命令行工具,
  • 但是没有 GUI 工具

适用于:

  • 服务器
  • 嵌入式设备
  • 无 GUI 环境

五、配置环境变量

安装完成后,需要加载 ROS2 环境:

复制代码
source /opt/ros/humble/setup.bash

为了每次打开终端自动生效:

复制代码
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc

六、安装开发工具(推荐)

复制代码
sudo apt install -y python3-colcon-common-extensions python3-rosdep python3-vcstool

初始化 rosdep(依赖管理工具):

复制代码
sudo rosdep init
rosdep update

七、验证安装是否成功

打开两个终端:

1.打开两个终端(可以使用快捷键Ctrl + Alt + T);

2.终端1中输入指令:

复制代码
ros2 run turtlesim turtlesim_node

执行完毕,会启动一个绘有小乌龟的窗口;

3.终端2中输入指令

复制代码
ros2 run turtlesim turtle_teleop_key

执行完毕,可以在此终端中通过键盘控制乌龟运动。

八、常见问题及解决

1. 找不到 ros2 命令

原因:未加载环境变量

解决:

复制代码
sudo rosdep init
rosdep update

2. rosdep 初始化失败

尝试:

复制代码
sudo rosdep init
rosdep update

或检查网络连接。

3. 软件源访问慢

可以考虑使用国内镜像源(如清华、中科大)提升下载速度。

4. 关于卸载(谨慎操作)

ROS2安装完毕之后,如果想卸载ROS2,可以执行如下命令:

复制代码
sudo apt remove ~nros-humble-* && sudo apt autoremove

还可以再删除ROS2对应的存储库:

复制代码
sudo rm /etc/apt/sources.list.d/ros2.list
sudo apt update
sudo apt autoremove
# Consider upgrading for packages previously shadowed.
sudo apt upgrade
相关推荐
码上有光4 分钟前
Linux进程通信——共享内存、消息队列和信号量
android·linux·运维·共享内存·通信
沫璃染墨11 分钟前
《从零入门Linux系统篇(五十四):线程篇·七——互斥锁底层原理:从原子交换到线程竞争与锁实现》
linux·运维·服务器·开发语言·c++·驱动开发·系统架构
志栋智能29 分钟前
超自动化巡检中的异常检测与根因分析
运维·自动化
Java后端的Ai之路35 分钟前
Python进阶探索24_应用案例_linux系统的监控
linux·开发语言·python·应用·探索
吴声子夜歌1 小时前
Nginx应用与运维——Nginx HTTP模块详解(访问控制功能模块)
运维·nginx·http
H.莓飛1 小时前
【数据结构】队列_OJ题
linux·数据结构·centos
H.莓飛1 小时前
【数据结构】栈_OJ题
linux·数据结构·算法·centos
Ruiery1 小时前
Linux 6.6内核 CPU 深度解析(一):BSP 拉起 — 从实模式到 kernel_init 的完整旅程
linux·运维·服务器
赵民勇2 小时前
dconf命令详解
linux·运维
代码方舟2 小时前
零信任架构实战:基于天远学历信息高级版构建自动化智库入驻审查网关
运维·人工智能·架构·自动化