【机器人-开发工具】ROS 2 (4)Jetson Nano 系统Ubuntu22.04安装ROS 2 Humble版本
文章目录
- 1. 系统环境准备
- 1.1. Jetpack简介
- 1.2. 下载Jetpack安装系统
- 2. 安装ROS2 Humble
- 2.1. ROS2 简介
- 2.2. ROS2 Humble对比Foxy版本
- 2.3. 安装
- 2.3.1. 更新系统
- 2.3.2. 添加 ROS 2 GPG 密钥
- 2.3.3. 添加 ROS 2 仓库源
- 2.3.4. 更新软件包索引
- 2.3.5. 安装 ROS 2 Humble 桌面版(推荐)
- 2.3.6. 安装常用工具(推荐)
- 2.3.7. 初始化 rosdep
- 2.3.8. 设置环境变量
- 2.4. 测试 ROS 2 是否正常工作
1. 系统环境准备
1.1. Jetpack简介
Jetson Nano 中的 JetPack 是由 NVIDIA 提供的、专为 Jetson 系列嵌入式 AI 模块(包括 Jetson Nano)打造的完整软件开发套件(SDK)
简单来说,JetPack 就是让 Jetson Nano 能够运行 AI 程序的“基础操作系统和工具包”。
有基础的Linux系统、AI和GPU计算库、开发工具和环境。
# 查看Jetpack版本
sudo apt-cache show nvidia-jetpack
1.2. 下载Jetpack安装系统
官网下载Jetpack烧录安装系统ubuntu22.04
2. 安装ROS2 Humble
2.1. ROS2 简介
ROS 2 是一个现代化的机器人开发框架,相较于依赖中心化主节点(Master)的 ROS 1,它基于去中心化的 DDS 通信机制
2.2. ROS2 Humble对比Foxy版本
发行版 | 发布日期 | EOL(维护结束) | 支持周期 |
---|---|---|---|
Foxy Fitzroy | 2020-06 | 2023-05 | 3 年(LTS) |
Humble Hawksbill | 2022-05 | 2027-05 | 5 年(LTS) |
- 功能对比:
- Foxy:
- ros2 CLI 基本稳定,但功能少,没有 ros2 --version,ros2 topic pub 等命令的参数还比较原始。
- Humble:
- CLI 新增很多命令和选项(ros2 topic list -t 可直接显示类型等)。
- ros2 bag 读写格式升级到 SQLite3 + 支持压缩。
- Launch 文件支持更多 Python API 语法糖。
- Colcon 构建系统兼容性提升,支持 --symlink-install 更好调试。
- Foxy:
2.3. 安装
2.3.1. 更新系统
sudo apt update && sudo apt upgrade -y
2.3.2. 添加 ROS 2 GPG 密钥
sudo apt install -y curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo gpg --dearmor -o /etc/apt/keyrings/ros-archive-keyring.gpg
2.3.3. 添加 ROS 2 仓库源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
2.3.4. 更新软件包索引
sudo apt update
2.3.5. 安装 ROS 2 Humble 桌面版(推荐)
sudo apt install -y ros-humble-desktop
💡 如果担心资源不足(Jetson Nano 4GB RAM),可改用轻量版:
sudo apt install -y ros-humble-desktop-core
2.3.6. 安装常用工具(推荐)
sudo apt install -y python3-rosdep python3-rosinstall python3-rosinstall-generator python3-vcstools python3-colcon-common-extensions
2.3.7. 初始化 rosdep
sudo rosdep init
rosdep update
2.3.8. 设置环境变量
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
2.4. 测试 ROS 2 是否正常工作
打开两个终端:
终端 1(发布者):
ros2 run demo_nodes_cpp talker
终端 2(订阅者):
ros2 run demo_nodes_py listener
你应该看到消息从 C++ 节点发送到 Python 节点。