序言
机器人操作系统(ROS:Robot Operating System)是一组用于构建机器人应用程序的软件库和工具。从驱动程序和最先进的算法到强大的开发人员工具,ROS为一个机器人项目提供了所需的开源工具。ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构。
ROS的原型源自斯坦福大学的STanford Artificial Intelligence Robot (STAIR) 和 Personal Robotics (PR)项目。ROS最初设计的目标机器人是PR2,这款机器人搭载了当时最先进的移动计算平台,而且网络性能优异,不需要考虑实时性方面的问题,主要应用于科研领域。如今ROS应用的机器人领域越来越广:轮式机器人、人形机器人、工业机械手、室外机器人(如无人驾驶汽车)、无人飞行器、救援机器人等等,美国NASA甚至考虑使用ROS开发火星探测器,越来越多的机器人开始从科研领域走向人们的日常生活。
随着ROS的发展,ROS1已不能满足开发人员的需求,于是ROS官方重新设计制作了ROS2。ROS2是在ROS1的基础上设计开发的第二代机器人操作系统,可以帮助开发人员简化机器人开发任务。鉴于国内尚无完整的ROS2系统化教程,笔者决定撰写本教程,主要用于自身学习与交流。此教程主要参考自官方文档,目的在于让读者初步了解ROS2的设计理念与使用流程。
读者在参考本教程之前,应具备Linux基础、Python基础、以及一些计算机知识。ROS2很多概念在开始可能难以理解,但学习本来就是从无到有的过程,本教程原则是简洁优雅,尽量使用了通俗易懂的方式进行讲述。ROS2本身是一个工具,作为使用者,我们更关心的是如何学会使用ROS2搭建自己的项目,初学者不必过分纠结底层概念。
本教程只适用于想要学习ROS2的初学者,并不涵盖关于ROS2的高级用法。笔者水平有限,若有不妥之处望请指正!联系邮箱:sipeiliu@163.com
在线阅读地址: