1.1.1 ROS简介
ROS的全称是Robot Operating System(机器人操作系统),它本质上其实是一个方便开发者编写机器人软件的比较灵活的技术框架。正如ROS的官方Wiki所介绍的,它集成了非常多的便于开发机器人应用的工具、库以及协议。
之所以打造这样一个机器人操作系统主要因为机器人是一个庞大且复杂的系统工程,涉及到的知识链条也相对比较长,而往往机器人开发者或者科研机构大多更加于专注某一细分方向或者单点功能的研发,很少有人愿意投入大量精力去开发通用软件和底层架构,而ROS就解决了这一问题,提供了一个开源开放的,支持开发者协作与分享的平台。举个例子,比如A实验室的团队专注于智能语音的研究,B实验室的团队专注于计算机视觉的研究,他们都有一些技术成果并且按照ROS约定的协议发布到了社区,C实验室的团队专注于多模态交互的研究,就可以借助社区已有的技术成果再做成果融合或者创新应用。ROS提供了一个平台可以让我们更容易地站在巨人的肩膀上看机器人的世界。
1.1.2 ROS的发展历程
ROS机器人操作系统的起源要追溯到2007年,当时Willow Garage公司发起了一个智能机器人的项目,选择与斯坦福大学的人工智能实验室进行合作,共同打造一个致力于家庭服务的智能机器人[1]。于是,第一个基于ROS机器人操作系统的智能服务机器人PR2诞生了。2008年之后ROS机器人操作系统以及PR2机器人的推广基本交由Willow Garage公司负责。随着ROS的不断完善,PR2机器人的性能也得到了大幅提升,譬如叠衣服,做饭等表现在当时的智能机器人领域被认为是不可思议的功能,于是ROS迎来了第一批追随者,开始有大批机器人领域的科研工作者把关注投向ROS,同时Willow Garage公司也表示会继续参与ROS的维护工作并利用R