01 Why ROS2

机器人是一个高度复杂的系统性实现,模块化分工是提高开发效率的最合适的策略。如何将各模块结合,那就需要一套通用的框架,即 Robot Operating System,以提升“可插拔”的功能模块的复用性。

ROS1 和 ROS2 的对比如下:

ROS1和ROS2对比.png

对比如上,如果觉得ROS2可以继续用。那么还有一个选择 ROS2 的理由:ROS1 都要被淘汰了,即将在2025年后停止维护。不用 ROS2 用什么?

另外需要注意的是,ROS虽然字面意思是机器人操作系统,但是它并非经典意义上的操作系统,更准确地讲ROS是一个 SDK (Software Development Kit),即软件开发工具包。

ROS2的精髓:

ROS2 系统架构:

ROS2系统架构.png|500

02 框架

1.1 环境搭建

  • ROS2安装与开发环境搭建(版本为humble,基于Ubuntu22.04):

  • 功能包构建工具 colcon 的安装与使用:

1.2 通信机制

1.3 Launch

1.4 坐标变换

1.5 可视化

03 项目

官方 Tutorial:https://github.com/ros/ros_tutorials

1
git clone git@github.com:ros/ros_tutorials.git -b humble