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

任务目标

在Ubuntu 22.04上安装ROS2 Humble,完成环境变量配置,创建并构建一个ROS2工作空间,最终通过核心命令验证安装与工作空间均可用。

环境与依赖

  • 操作系统:Ubuntu 22.04 LTS(64位)
  • 已配置好网络,可访问packages.ros.org
  • 系统已安装curl和software-properties-common(如缺失,先执行sudo apt update && sudo apt install -y curl software-properties-common)

安装ROS2 Humble

依次执行以下命令完成安装。整个过程需要几分钟,取决于网络速度。

# 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 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

# 3. 安装ROS2 Humble桌面版(包含常用工具和可视化工具)
sudo apt update
sudo apt install -y ros-humble-desktop

# 4. 安装编译工具(构建工作空间必需)
sudo apt install -y python3-colcon-common-extensions python3-rosdep

配置环境变量

将ROS2环境变量写入~/.bashrc,使每次打开终端自动加载:

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

创建并构建工作空间

创建一个名为ros2_ws的工作空间,并添加一个最简单的功能包用于验证构建流程:

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

# 初始化rosdep(首次使用需要)
sudo rosdep init
rosdep update

# 在src目录下创建一个C++功能包(不依赖其他包,仅用于验证构建)
cd ~/ros2_ws/src
ros2 pkg create --build-type ament_cmake --node-name talker demo_nodes

# 返回工作空间根目录并构建
cd ~/ros2_ws
colcon build --packages-select demo_nodes

构建完成后,工作空间根目录下会生成install、build、log三个目录。将工作空间的环境变量也加入~/.bashrc:

echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc
source ~/.bashrc

验证方法与判定标准

按顺序执行以下命令,全部满足即表示安装与工作空间配置成功:

# 验证1:ROS2核心命令可用
ros2 --help

# 验证2:运行C++节点(talker节点会周期性打印日志)
ros2 run demo_nodes talker

判定标准:

  • ros2 --help能正常输出命令帮助信息,无报错。
  • ros2 run demo_nodes talker启动后,终端持续输出类似[INFO] ... Publishing: 'Hello World: N'的日志(N为递增数字)。按Ctrl+C可停止节点。
  • 另开一个终端,执行ros2 node list,能看到/talker节点名,说明节点已被ROS2图发现。

以上三条全部通过,即证明ROS2 Humble安装正确、环境变量生效、工作空间构建成功且功能包可正常运行。

常见问题

  • sudo rosdep init报错:若提示已存在,可跳过该命令直接执行rosdep update。
  • colcon build找不到包:确认在~/ros2_ws目录下执行,且src目录下存在demo_nodes包。
  • ros2命令找不到:检查~/.bashrc中source路径是否正确,并执行source ~/.bashrc重新加载。