1. ROS2环境搭建与工作空间创建

ROS2环境搭建与工作空间创建 学习卡片

任务目标

在Ubuntu 22.04上安装ROS2 Humble桌面版,创建并编译一个ROS2工作空间,最后通过核心命令验证安装与编译结果。

环境与依赖

  • 操作系统:Ubuntu 22.04 LTS(64位)
  • 已配置可用的网络连接(用于apt源与ROS2仓库)
  • 已启用universe软件源(Ubuntu官方源默认已启用)

安装ROS2 Humble

依次执行以下命令完成ROS2 Humble的安装。整个过程约需10~20分钟,取决于网络速度。

# 1. 设置编码
sudo apt update && sudo apt install -y locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

# 2. 添加ROS2软件源
sudo apt install -y software-properties-common curl
sudo add-apt-repository universe
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 $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

# 3. 安装ROS2 Humble桌面版(包含GUI工具、模拟器、示例)
sudo apt update
sudo apt install -y ros-humble-desktop

# 4. 安装编译工具与依赖
sudo apt install -y python3-rosdep python3-colcon-common-extensions python3-vcstool
sudo rosdep init
rosdep update

# 5. 配置环境变量(写入.bashrc以便每次自动加载)
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc

创建工作空间并编译

创建一个名为dev_ws的ROS2工作空间,并添加一个最简单的功能包用于验证编译链路。

# 创建工作空间目录结构
mkdir -p ~/dev_ws/src
cd ~/dev_ws/src

# 创建C++功能包(使用ament-cmake构建类型)
ros2 pkg create --build-type ament_cmake --node-name talker demo_pkg

# 返回工作空间根目录并编译
cd ~/dev_ws
colcon build

# 加载工作空间环境变量
source install/setup.bash

编译完成后,install/目录下会生成demo_pkg的可执行文件。若编译过程中出现依赖缺失,执行rosdep install -i --from-path src --rosdistro humble -y补齐依赖后重新编译。

验证方法与判定标准

按顺序执行以下命令,全部满足即判定安装与工作空间创建成功:

# 验证1:ROS2核心命令可用
ros2 --help
# 预期输出:显示ros2命令的帮助信息,包含"usage: ros2 [-h]"开头

# 验证2:ROS2版本正确
ros2 --version
# 预期输出:ros2 版本号(如 0.xx.x),且ros2 --help中distro为humble

# 验证3:功能包可被ROS2发现
ros2 pkg list | grep demo_pkg
# 预期输出:demo_pkg

# 验证4:编译生成的可执行节点可运行
ros2 run demo_pkg talker
# 预期输出:节点启动,以10Hz频率持续打印"[INFO] ... Publishing: 'Hello World: N'"(N为递增数字)
# 按Ctrl+C终止

以上四条验证命令均得到预期输出,即表示ROS2 Humble安装正确、工作空间编译成功、核心命令链路完整可用。

常见问题

  • rosdep update失败:多为网络问题,可尝试设置代理或更换网络后重试;rosdep init若提示已存在,可忽略。
  • colcon build找不到包:确认在~/dev_ws根目录下执行,且src/下存在demo_pkg目录。
  • ros2命令找不到:执行source /opt/ros/humble/setup.bash,并确认已写入~/.bashrc。