Ubuntu22.04安装ROS2教程

目录

[1、ROS2 与 Ubuntu 版本匹配指南(必看)](#1、ROS2 与 Ubuntu 版本匹配指南(必看))

[1. 官方推荐版本对应表](#1. 官方推荐版本对应表)

[2. 核心适配规则](#2. 核心适配规则)

2,查询本地ubuntu版本

3,换源操作

4,正式安装ROS

[4.1 第1步:添加ROS2仓库](#4.1 第1步:添加ROS2仓库)

[4.2 第2步:安装核心组件](#4.2 第2步:安装核心组件)

[4.3 第3步:环境变量配置](#4.3 第3步:环境变量配置)

5,验证安装是否成功

方法1:经典小海龟测试

方法2:查看软件包列表

6,进阶配置

[1. 自动补全配置](#1. 自动补全配置)

2,(Terminator分屏终端)


1、ROS2 与 Ubuntu 版本匹配指南(必看)

在搭建 ROS2 开发环境时,Ubuntu 系统版本与 ROS2 LTS 版本存在严格的官方绑定关系,选择不匹配的版本会直接导致依赖冲突、编译失败或功能异常,需优先遵循以下适配规则:

1. 官方推荐版本对应表

Ubuntu LTS 版本 适配的 ROS2 LTS 版本 官方支持周期截止 适用场景建议
22.04 LTS ROS2 Humble Hawksbill 2027 年 5 月 生态成熟、稳定性强,工业项目、长期维护项目的首选方案
24.04 LTS ROS2 Jazzy Jalisco 2029 年 5 月 生命周期更长,适配新硬件与系统特性,适合新项目开发

2. 核心适配规则

  • 强绑定原则:ROS2 LTS 版本的预编译包仅针对特定 Ubuntu LTS 版本优化适配,例如:

    • Humble 仅支持 Ubuntu 22.04,无法在 24.04 上直接安装使用;
    • Jazzy 仅支持 Ubuntu 24.04,无法在 22.04 上直接安装使用。跨版本安装需手动适配 Python、GCC 等底层系统库,过程复杂且无官方支持,不推荐工程场景使用。
  • 架构兼容性 :上述两个 ROS2 版本均同时支持 x86_64(通用 PC 平台)与 arm64(如树莓派 4B/5、NVIDIA Jetson 系列开发板)架构,可直接使用官方预编译包,无需额外适配底层依赖。

2,查询本地ubuntu版本

复制代码
lsb_release -a

3,换源操作

国内用户必看!不改源下载速度慢到怀疑人生:

复制代码
# 1. 替换为清华源
sudo sed -i "s@http://.*archive.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list

# 2. 刷新软件列表(必须执行!否则替换不生效)
sudo apt update

4,正式安装ROS

4.1 第1步:添加ROS2仓库

复制代码
# 1. 安装依赖
sudo apt update && sudo apt install curl gnupg lsb-release

# 2. 下载ROS密钥(替换为清华地址,国内秒下)
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/ros2/ros.key -o /tmp/ros.key

# 3. 转换密钥格式
sudo gpg --dearmor -o /usr/share/keyrings/ros-archive-keyring.gpg /tmp/ros.key

# 4. 设置密钥权限
sudo chmod 644 /usr/share/keyrings/ros-archive-keyring.gpg

# 5. 添加清华ROS2软件源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

# 6. 刷新源
sudo apt update

4.2 第2步:安装核心组件

推荐完整安装包(包含GUI工具):

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

4.3 第3步:环境变量配置

每次打开终端自动加载:

复制代码
# 1. 永久配置:将ROS2 Humble的环境加载指令写入终端配置文件
# 以后每次打开新终端,都会自动加载ROS2环境,无需手动配置
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc

# 2. 立即生效:刷新终端配置文件
# 让刚才的ROS2配置在当前终端立刻生效,不用重启终端
source ~/.bashrc

5,验证安装是否成功

方法1:经典小海龟测试

三个终端分别运行:

复制代码
# ====================== 终端 1 ======================
# 命令:启动小海龟仿真器节点
# 作用:打开一个图形化窗口,生成一只小海龟,这是ROS2的可视化仿真程序
ros2 run turtlesim turtlesim_node

# ====================== 终端 2 ======================
# 命令:启动小海龟键盘控制节点
# 作用:让这个终端接管海龟控制,按**方向键↑↓←→**就能移动小海龟
# 注意:必须让这个终端处于激活窗口(选中),按键才有效
ros2 run turtlesim turtle_teleop_key

# ====================== 终端 3 ======================
# 命令:启动ROS2可视化通信图谱工具
# 作用:直观显示两个节点的通信关系(谁发消息、谁收消息)
# 能看到:控制节点 → 发送指令 → 海龟仿真节点
rqt_graph

正在运行的 ROS2 节点(相当于两个独立的小程序):

光标处于当前终端就是控制海龟移动:

节点名 对应你运行的命令 角色比喻
/teleop_turtle ros2 run turtlesim turtle_teleop_key 键盘遥控器,接收你的按键指令
/turtlesim ros2 run turtlesim turtlesim_node 小海龟本体,负责执行指令并显示

中间的箭头 + 文字:节点间的 "通信管道"

箭头方向代表消息的流向,文字是通信的主题(话题 / Action):

  1. /turtle1/cmd_vel(左→右) 这是最核心的控制话题!你按方向键时,/teleop_turtle会往这个话题发 "速度指令"(比如 "向前走、向左转"),/turtlesim收到后就会控制海龟移动。
  2. /turtle1/rotate_absolute/action/feedback/turtle1/rotate_absolute/action/status(右→左) 这是 ROS2 的 Action 通信,是turtlesim给控制节点返回的反馈,比如 "旋转动作执行到哪一步了""动作完成了",用来处理需要进度反馈的操作(比如绝对角度旋转)。

方法2:查看软件包列表

复制代码
ros2 pkg list | grep turtlesim

出现turtlesim说明组件安装完整

6,进阶配置

1. 自动补全配置

复制代码
# 安装ROS2命令自动补全的必备依赖库
sudo apt install python3-argcomplete

# 正确配置 ROS2 Humble 命令补全(替换报错的旧命令)
echo 'eval "$(register-python-argcomplete3 ros2)"' >> ~/.bashrc

# 立即生效
source ~/.bashrc

2,(Terminator分屏终端)

复制代码
# 安装:分屏终端 + ROS开发工具 + 正确的依赖管理工具
sudo apt install terminator ros-dev-tools python3-rosdep
相关推荐
有谁看见我的剑了?2 小时前
ubuntu 搭建本地镜像仓库
linux·运维·ubuntu
林熙蕾LXL2 小时前
Ubuntu——常见基本命令
linux·服务器·ubuntu
zhangrelay2 小时前
三分钟云课实践速通--线性代数--python版--矩阵
linux·笔记·python·学习·线性代数·ubuntu·矩阵
鲁Q同志14 小时前
VMware虚拟机安装Ubuntu22
ubuntu·vmware
BENA ceic18 小时前
Java进阶-在Ubuntu上部署SpringBoot应用
java·spring boot·ubuntu
小周技术驿站19 小时前
Linux 权限管理细节详解
linux·运维·服务器·ubuntu·centos
红茶要加冰21 小时前
如何安装ubuntu-24.04-live-server-amd64系统
linux·运维·ubuntu
molihuan1 天前
最新VMware Ubuntu 1分钟极速安装 植物人教程
linux·ubuntu
70asunflower1 天前
Ubuntu `tree` 命令完全指南:让目录结构一目了然
linux·数据库·ubuntu