2、ROS2开发环境搭建:Ubuntu系统安装、ROS2 Humble安装、工作空间创建与编译、第一个ROS2节点。

说实话,搞机器人开发,环境搭建往往是劝退很多人的第一道坎。我见过太多人卡在安装这一步,还没开始写代码就放弃了。其实没那么可怕,今天我就带你一步步把ROS2的开发环境搭起来。

2.1 Ubuntu系统安装——选对版本很重要

ROS2 Humble对应的Ubuntu版本是22.04 LTS。为什么强调LTS?因为我在项目里吃过亏——用非LTS版本,半年后系统要升级,一堆依赖全乱了。所以记住:ROS2 Humble + Ubuntu 22.04 LTS,这是官方钦定的组合。

安装方式有两种:

  • 双系统安装:性能最好,适合主力开发机
  • 虚拟机安装:方便切换,适合学习测试

我个人习惯用双系统,毕竟机器人控制对实时性有要求。但如果你只是学语法、跑仿真,虚拟机完全够用。

小提示:安装时记得给Ubuntu留至少50GB空间,ROS2装完各种依赖包,空间很快就吃掉了。

2.2 ROS2 Humble安装——别被命令行吓到

安装ROS2其实就几条命令。但为什么很多人装失败?说白了,就是源的问题。

先设置软件源:

sudo apt update
sudo apt install curl gnupg lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

然后安装:

sudo apt update
sudo apt install ros-humble-desktop

嗯,这里要注意。如果你在墙内,上面的源可能很慢。我曾经帮一个学员排查,他卡在下载那一步整整一下午。后来换了国内镜像,几分钟搞定。

避坑指南:我曾经遇到过安装到一半网络断了,再继续就各种报错。建议用sudo apt install -y一次性装完,别中途打断。

装完后别忘了配置环境变量:

echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc

验证一下:

ros2 --version

看到版本号就说明装好了。

2.3 工作空间创建与编译——你的代码仓库

工作空间(workspace)说白了就是放ROS2项目的文件夹。我习惯叫它ros2_ws。

创建步骤:

mkdir -p ~/ros2_ws/src
cd ~/ros2_ws
colcon build

等等,你可能还没装colcon。这是ROS2的编译工具:

sudo apt install python3-colcon-common-extensions

编译完成后,你会看到build、install、log三个文件夹。它们的作用:

文件夹 作用
build 编译中间文件,不用管它
install 编译产物,运行时要source这里的setup.bash
log 编译日志,出错了来这里查
重要:每次编译完都要source一下工作空间:source ~/ros2_ws/install/setup.bash。我建议把它也加到.bashrc里。

2.4 第一个ROS2节点——Hello World的升级版

写一个最简单的节点,就打印一句话。

先创建功能包:

cd ~/ros2_ws/src
ros2 pkg create my_first_pkg --build-type ament_python --dependencies rclpy

然后编辑my_first_pkg/my_first_pkg/my_first_node.py:

import rclpy
from rclpy.node import Node

class MyFirstNode(Node):
    def __init__(self):
        super().__init__('my_first_node')
        self.get_logger().info('你好,ROS2!这是我的第一个节点。')

def main(args=None):
    rclpy.init(args=args)
    node = MyFirstNode()
    rclpy.spin(node)
    node.destroy_node()
    rclpy.shutdown()

if __name__ == '__main__':
    main()

别忘了在setup.py里注册入口点:

entry_points={
    'console_scripts': [
        'my_first_node = my_first_pkg.my_first_node:main',
    ],
},

编译并运行:

cd ~/ros2_ws
colcon build
source install/setup.bash
ros2 run my_first_pkg my_first_node

看到「你好,ROS2!这是我的第一个节点。」就成功了。

小技巧:用ros2 node list可以查看当前运行的节点。你想想看,以后调试复杂系统时,这个命令能帮你快速定位问题。

2.5 本章知识体系

下面这张图帮你理清整个环境搭建的脉络:

ROS2开发环境搭建知识体系 Ubuntu 22.04 LTS ROS2 Humble 工作空间创建 第一个ROS2节点 双系统 / 虚拟机 磁盘空间 ≥ 50GB 配置软件源 安装 ros-humble-desktop 配置环境变量 mkdir -p ~/ros2_ws/src 安装 colcon colcon build 创建功能包 编写Python节点 ros2 run 运行 环境搭建完成 → 可以开始ROS2开发了!

环境搭好了,后面的事情就顺了。记住:源别搞错、版本要对齐、每次编译后记得source。这三点做到,你就能避开90%的坑。