第2章 搭建开发环境

工欲善其事,必先利其器。做机器人建模,环境配不对,后面全是泪。这一章咱们就把 ROS Noetic、工作空间、URDF 工具链一口气装好。我自己的经验是,环境搭得越干净,后面调试越省心。

搭建开发环境 安装 ROS Noetic 创建 ROS 工作空间 URDF 工具链 验证 & 测试

2.1 安装 ROS Noetic

ROS Noetic 是 ROS1 的最后一个长期支持版,搭配 Ubuntu 20.04 非常稳。我个人习惯用「完整桌面版」安装,因为里面包含了 rviz、gazebo 等常用工具,省得后面再一个个补。

💡 小提示: 如果你用的是 Ubuntu 20.04,直接按官方步骤来就行。我建议先更新一下系统:sudo apt update && sudo apt upgrade -y
# 设置 sources.list
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

# 添加密钥
sudo apt install curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

# 安装完整桌面版
sudo apt update
sudo apt install ros-noetic-desktop-full -y

装完之后,别忘了配置环境变量。我习惯把它写到 ~/.bashrc 里,这样每次开终端自动生效。

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

验证一下:roscore 能正常启动,就说明 ROS 核心装好了。嗯,我第一次装的时候忘了 source,折腾了十分钟才发现……

2.2 创建 ROS 工作空间

工作空间就是你的代码大本营。所有 URDF 文件、launch 文件、自定义包都放在里面。我一般用 catkin_ws 这个名字,简单好记。

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin_make

编译完成后,你会看到 devel 和 build 两个文件夹。这时候再 source 一下工作空间的环境变量:

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
✅ 检查环境: 运行 echo $ROS_PACKAGE_PATH,如果能看到你的工作空间路径,就说明一切正常。

我曾经遇到过 catkin_make 报错说找不到 Python 包,后来发现是没装 python3-catkin-pkg。所以这里提前装好:

sudo apt install python3-catkin-pkg python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential -y

2.3 安装 URDF 相关工具链

URDF 建模离不开几个关键工具:urdfdom、liburdfdom-tools、joint_state_publisher、robot_state_publisher。说白了,这些工具帮你把 URDF 文件解析、发布 tf、驱动关节。

工具包作用安装命令
urdfdom / liburdfdom-toolsURDF 解析与检查sudo apt install liburdfdom-tools
joint_state_publisher发布关节状态sudo apt install ros-noetic-joint-state-publisher
robot_state_publisher发布 tf 树sudo apt install ros-noetic-robot-state-publisher
rviz可视化调试已包含在 desktop-full 中

我个人习惯再装一个 check_urdf 工具,它可以直接告诉你 URDF 文件哪里写错了。曾经有一次我漏了一个闭合标签,check_urdf 秒秒钟揪出来。

sudo apt install ros-noetic-urdfdom-py
# 检查 URDF 示例
check_urdf my_robot.urdf

2.4 验证环境是否就绪

装完别急着写代码,先跑一个小测试。我通常用 urdf_to_graphiz 把一个简单的 URDF 转成关系图,看看工具链是否正常。

# 下载一个官方示例 URDF
roscore &
rosparam set robot_description "`cat /opt/ros/noetic/share/urdf_tutorial/urdf/01-myfirst.urdf`"
rosrun robot_state_publisher robot_state_publisher
# 新终端
rosrun joint_state_publisher joint_state_publisher
# 再开一个终端
rosrun rviz rviz

如果你看到机器人模型在 rviz 里动起来,恭喜你,环境完全 OK。我当年第一次看到模型动的时候,还挺有成就感的。

⚠️ 避坑指南: 我曾经在虚拟机里装 ROS,结果 3D 加速没开,rviz 卡成幻灯片。建议用原生 Ubuntu 或者开启虚拟机 3D 加速。

2.5 本章小结

到这一步,你的电脑已经武装好了:ROS Noetic 就绪,工作空间创建完毕,URDF 工具链也装齐了。接下来就可以动手写第一个 URDF 文件了。记住,环境越干净,后面越顺手。