一、环境说明本文记录在Ubuntu 22.04系统中安装ROS2 Humble Hawksbill的完整过程。系统环境操作系统Ubuntu 22.04 LTS ROS2 版本Humble Hawksbill 安装方式apt 二进制安装 安装内容ros-humble-desktop 桌面完整版ROS2 Humble 与 Ubuntu 22.04 是对应关系比较稳定的一组版本适合初学 ROS2、机器人开发、DDS 通信机制、C/Python 节点开发等内容。整体安装顺序如下检查系统版本 更新系统 安装基础工具 配置 UTF-8 编码 启用 universe 软件源 添加 ROS2 GPG key 添加 ROS2 软件源 安装 ROS2 Humble 安装开发工具 配置环境变量 初始化 rosdep 运行 talker/listener 示例 运行 turtlesim 示例 创建 ROS2 工作空间 创建第一个 ROS2 C 包二、检查 Ubuntu 版本首先打开终端查看当前系统版本cat /etc/os-release如果是 Ubuntu 22.04应该能看到类似内容VERSION_ID22.04 VERSION_CODENAMEjammy继续查看系统架构dpkg --print-architecture普通 x86 电脑一般输出amd64如果系统版本是 Ubuntu 22.04并且架构是 amd64就可以继续安装 ROS2 Humble。三、更新系统安装 ROS2 之前建议先更新系统软件包sudo apt update sudo apt upgrade -y更新完成后建议重启一次系统sudo reboot重启后重新打开终端继续后续步骤。四、安装基础工具安装编译、下载和软件源管理相关工具sudo apt install -y build-essential cmake git curl wget gnupg lsb-release software-properties-common locales这些工具的作用如下build-essential安装 gcc、g、make 等基础编译工具 cmakeC/C 工程构建工具 git代码版本管理工具 curl / wget命令行下载工具 gnupg用于添加软件源密钥 lsb-release用于获取 Ubuntu 版本代号 software-properties-common用于管理软件源 locales用于配置系统语言和编码五、配置 UTF-8 编码ROS2 安装前需要保证系统使用 UTF-8 编码。执行sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALLen_US.UTF-8 LANGen_US.UTF-8 export LANGen_US.UTF-8检查 locale 配置locale正常情况下可以看到类似内容LANGen_US.UTF-8 LC_CTYPEen_US.UTF-8 LC_MESSAGESen_US.UTF-8只要LANGen_US.UTF-8正常即可。六、启用 Ubuntu Universe 软件源执行sudo add-apt-repository universe如果提示确认按回车即可。然后更新软件源sudo apt update七、添加 ROS2 GPG Key执行下面命令下载并添加 ROS2 软件源密钥sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg这条命令执行成功后一般不会输出任何提示会直接回到命令行。可以通过下面命令检查 key 文件是否存在ls -lh /usr/share/keyrings/ros-archive-keyring.gpg如果能够看到文件信息说明添加成功。八、添加 ROS2 Humble 软件源执行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这条命令正常情况下也不会输出内容因为最后使用了 /dev/null可以通过下面命令查看是否添加成功cat /etc/apt/sources.list.d/ros2.list正常应该看到类似内容deb [archamd64 signed-by/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu jammy main然后更新软件源sudo apt update如果输出中出现类似内容packages.ros.org/ros2/ubuntu jammy InRelease说明 ROS2 软件源添加成功。九、安装 ROS2 Humble 桌面完整版安装 ROS2 Humble 桌面版sudo apt install -y ros-humble-desktopros-humble-desktop包含内容比较完整包括ROS2 核心功能 ros2 命令行工具 C / Python 示例节点 RViz2 RQt 常用教程相关包对于初学 ROS2建议直接安装桌面完整版。安装过程可能比较久等待安装完成即可。十、安装 ROS2 开发工具继续安装常用开发工具sudo apt install -y ros-dev-tools python3-colcon-common-extensions python3-rosdep其中ros-dev-toolsROS2 开发工具集合 colconROS2 工作空间构建工具 rosdep自动安装 ROS 包依赖的工具十一、配置 ROS2 环境变量先手动加载 ROS2 环境source /opt/ros/humble/setup.bash检查环境变量printenv | grep ROS正常会看到类似内容ROS_VERSION2 ROS_PYTHON_VERSION3 ROS_DISTROhumble为了以后每次打开终端都自动加载 ROS2 环境可以把 source 命令写入.bashrcecho source /opt/ros/humble/setup.bash ~/.bashrc source ~/.bashrc之后每次打开新终端就不需要手动执行source /opt/ros/humble/setup.bash十二、初始化 rosdep执行sudo rosdep init如果提示ERROR: default sources list file already exists说明之前已经初始化过可以忽略。然后执行rosdep updaterosdep主要用于后续编译 ROS2 工程时自动安装依赖。如果只是运行基础 demo即使这一步暂时失败也不影响最基础的 ROS2 示例运行。十三、检查 ROS2 是否安装成功先查看ros2命令是否可用ros2 --help如果能正常输出帮助信息说明 ROS2 命令行工具已经安装成功。再查看环境变量printenv | grep ROS正常应包含ROS_VERSION2 ROS_DISTROhumble十四、运行 talker / listener 通信示例ROS2 安装完成后可以通过官方示例测试发布订阅通信是否正常。打开第一个终端执行ros2 run demo_nodes_cpp talker正常会持续输出类似内容Publishing: Hello World: 1 Publishing: Hello World: 2 Publishing: Hello World: 3保持第一个终端不要关闭。再打开第二个终端执行ros2 run demo_nodes_py listener如果第二个终端输出类似I heard: [Hello World: 1] I heard: [Hello World: 2] I heard: [Hello World: 3]说明 ROS2 的话题发布订阅通信已经正常。如果要停止正在运行的节点在对应终端按Ctrl C十五、运行 turtlesim 图形示例安装 turtlesimsudo apt install -y ros-humble-turtlesim打开第一个终端运行小乌龟节点ros2 run turtlesim turtlesim_node如果图形界面正常会弹出一个小乌龟窗口。再打开第二个终端运行键盘控制节点ros2 run turtlesim turtle_teleop_key然后可以使用键盘方向键控制小乌龟移动。这个示例可以验证ROS2 安装正常 图形界面正常 节点通信正常 键盘控制节点正常停止程序同样使用Ctrl C十六、创建 ROS2 工作空间ROS2 开发中一般会创建自己的工作空间。创建工作空间目录mkdir -p ~/ros2_ws/src cd ~/ros2_ws构建空工作空间colcon build构建完成后目录中会出现build install log src加载当前工作空间环境source install/setup.bash十七、创建第一个 ROS2 C 包进入工作空间的src目录cd ~/ros2_ws/src创建一个 C 示例包ros2 pkg create --build-type ament_cmake cpp_demo --dependencies rclcpp std_msgs回到工作空间根目录cd ~/ros2_ws编译工作空间colcon build编译完成后加载工作空间环境source install/setup.bash检查包是否创建成功ros2 pkg list | grep cpp_demo如果输出cpp_demo说明第一个 ROS2 C 包已经创建成功。十八、常用快捷键和命令1. 打开新终端Ctrl Alt T2. 在当前终端中新建标签页Ctrl Shift T3. 粘贴命令到终端Ctrl Shift V4. 复制终端内容Ctrl Shift C5. 停止正在运行的程序Ctrl C十九、ROS2 常用命令整理查看 ROS2 环境变量printenv | grep ROS查看 ROS2 命令帮助ros2 --help查看当前节点ros2 node list查看当前话题ros2 topic list查看某个话题内容ros2 topic echo /topic_name查看某个话题信息ros2 topic info /topic_name查看 ROS2 包ros2 pkg list运行 ROS2 节点ros2 run 包名 可执行文件名构建工作空间cd ~/ros2_ws colcon build加载工作空间环境source ~/ros2_ws/install/setup.bash二十、最终安装结果完成以上步骤后系统中已经安装并配置好Ubuntu 22.04 ROS2 Humble Fast DDS 默认通信中间件 ros2 命令行工具 RViz2 RQt turtlesim colcon rosdep C / Python ROS2 开发环境此时已经可以开始学习 ROS2 的基础内容包括节点 Node 话题 Topic 服务 Service 动作 Action 参数 Parameter Launch 文件 工作空间 Workspace C 发布订阅 Python 发布订阅 DDS 通信机制到这里Ubuntu 22.04 下 ROS2 Humble 的基础环境就安装完成了。