一、ROS是什么?
1.1 ROS的核心价值
ROS(Robot Operating System)并不是传统意义上的操作系统,而是一个中间件+工具库+生态的组合。它的核心思想是通过节点(Node) 之间的通信(如话题Topic、服务Service)来实现机器人功能的模块化开发。
- 开源社区支持:NASA、MIT、丰田等大厂都在使用ROS开发机器人应用。
- 硬件抽象:同一套代码可以控制不同的机器人硬件。
- 工具丰富:Gazebo仿真、RViz可视化、rosbag调试工具一应俱全。
一句话总结:ROS作为机器人开发领域的“Android系统”,为开发者提供了强大的工具库和生态支持。
1.2 ROS的典型工作流程
以经典的turtlesim
小乌龟仿真器为例:
- 键盘控制节点发布运动指令(Topic)。
- 乌龟仿真节点订阅指令并移动。
- 整个过程通过ROS核心(
roscore
)协调。
这种分布式架构让ROS非常适合开发复杂的机器人系统。
二、环境搭建
ROS版本的选择,我们公司的ROS版本是Noetic, 我电脑的操作系统是ubuntu20.04, 所以本系列入门教程是以ROS Noetic版本介绍。
2.1 安装Ubuntu系统
ROS Noetic版本对应Ubuntu 20.04,推荐以下三种安装方式:
- 虚拟机安装(适合初学者):使用VMware或VirtualBox。
- 双系统安装(推荐8GB以上内存):性能更好。
- 云服务器(临时体验):适合没有本地资源的用户。
安装完成后,记得换国内源(如清华/中科大源)以加速软件下载。
2.2 安装ROS Noetic
参考官方文档:在Ubuntu上安装ROS Noetic
1. 安装步骤
# 1. 设置软件源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
# 2. 添加密钥
sudo apt install curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
# 3. 安装完整版ROS(包含GUI工具)
sudo apt update
sudo apt install ros-noetic-desktop-full
# 4. 初始化rosdep(注意可能出现的网络错误)
sudo rosdep init
rosdep update
# 5. 设置环境变量
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
2. 验证
(1) 启动ROS核心:
roscore
(2) 启动小乌龟仿真器:
rosrun turtlesim turtlesim_node
(3) 启动键盘控制: 按键盘↑↓←→键,看看小乌龟是否动起来了?
rosrun turtlesim turtle_teleop_key
这样我们的ROS环境就搭建好了。
三、开发环境配置
3.1 安装VSCode
VSCode是ROS开发的利器,安装命令如下:
sudo snap install --classic code
3.2 ROS插件和常用的设置
- 安装ROS插件(Microsoft官方):支持语法高亮和Launch文件解析。
- 安装CMake插件
- 安装括号颜色插件
3.3 配置技巧
- 设置编译快捷键
快捷键 Ctrl + Shift + B
调用编译,选择:catkin_make:build
- 设置拼写错误检查
参考资料
ROS: www.ros.org
ROS Wiki: wiki.ros.org
ROSCon 2012~2019:roscon.ros.org
ROS Robots: robots.ros.org