在 Ubuntu 22.04 上从零安装 ROS 2 Humble 全流程实战

发布于:2025-07-06 ⋅ 阅读:(33) ⋅ 点赞:(0)

1. 前言

简单介绍写这篇博文的动机、你的系统环境,以及你想解决的问题。比如:

最近在 Ubuntu 22.04 (Jammy) 上折腾 ROS 2,发现网上大多教程针对的是 Ubuntu 20.04 / ROS Noetic,或者 Ubuntu 22.04 上只能装 ROS 2 Humble,却经常会卡在密钥下载、源配置等问题上。记录一下从添加源到运行 turtlesim 的全流程,希望能帮到后来人。


2. 环境概览

  • 操作系统:Ubuntu 22.04 “jammy”

  • 目标 ROS 版本:ROS 2 Humble Hawksbill

  • 硬件平台:VMware 虚拟机 / 实机

  • 网络环境:国内(使用清华镜像加速)


3. 遇到的主要问题

  1. 尝试安装 ROS Melodic 到 jammy,404 错误

    • apt update 报错:E: The repository 'http://packages.ros.org/ros/ubuntu jammy Release' does not have a Release file.

    • 根本原因:Melodic 仅支持 Ubuntu 18.04。

  2. 删除旧源后,直接安装 Humble 依然找不到包

    • 删除了 /etc/apt/sources.list.d/ros-latest.list,但忘记添加 ROS 2 源。

  3. 公钥下载失败:curl SSL_read error

    • 直接从 GitHub raw 下载 ros.key 时网络重置,导致签名文件无效。

  4. ros2 --version 验证报错

    • 误以为 CLI 支持 --version,其实要用 $ROS_DISTRO 或者运行示例节点来验证。

4. 解决方案与完整步骤

# 1. 更新系统并安装依赖
sudo apt update
sudo apt install -y curl gnupg lsb-release

# 2. 导入 ROS 官方公钥(从 keyserver)
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 \
    --recv-keys F42ED6FBAB17C654

# 3. 添加 ROS 2 Humble APT 源
sudo sh -c 'echo "deb http://packages.ros.org/ros2/ubuntu jammy main" \
  > /etc/apt/sources.list.d/ros2.list'

# 4. 更新索引并安装
sudo apt update
sudo apt install -y ros-humble-desktop

# 5. 临时加载环境并验证
source /opt/ros/humble/setup.bash
echo $ROS_DISTRO   # 应输出 humble

# 6. (可选)自动加载环境
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc

# 7. 运行测试示例:turtlesim
# 终端 A:启动模拟器
ros2 run turtlesim turtlesim_node
# 终端 B:键盘控制
ros2 run turtlesim turtle_teleop_key

5. 验证与常见命令

  • 查看节点列表:ros2 node list

  • 查看话题列表:ros2 topic list

  • 打印话题消息:ros2 topic echo /turtle1/pose

  • 创建并编译工作区:

    mkdir -p ~/ros2_ws/src && cd ~/ros2_ws
    # 在 src/ 下放入自己的包
    colcon build
    source install/setup.bash
    

6. 总结与建议

  • 要点:Melodic ≠ Humble,务必对照官方对照表选择正确版本;

  • 网络:国内可换成清华、阿里镜像加速公钥和包下载;

  • 自动化:把 source 写入 ~/.bashrc,并给常用命令设 alias;

  • 后续:可在此基础上搭建 ROS 2 开发环境,试试 RViz、Gazebo、移动机器人 Demo。


网站公告

今日签到

点亮在社区的每一天
去签到