一、历史
ROS是一个有许多贡献者的开源大型项目。斯坦福大学在二十世纪二十年代中期进行了各种努力,涉及Stanford人工智能机器人(STAIR)和个人机器人(PR)等一体化人工智能,创建了用于机器人使用的灵活动态软件系统的内部原型。2007年,机器人孵化器Willow Garage提供了大量资源来进一步扩展这些概念并创建经过充分测试的实现。无数研究人员为核心ROS理念及其基本软件包贡献了他们的时间和专业知识,推动了这一努力。在整个过程中,软件都是使用宽松的BSD开源许可进行公开开发的,并逐渐成为机器人研究界广泛使用的平台。
二、ROS的核心组件:
1、通信基础设施
ROS在底层提供了一个供进程间通信的消息传递接口,middleware.
ROS的middleware提供:
1).发布/订阅消息传递,通信系统是机器人实施应用程序的首要需求。ROS内置的消息系统通过管理分布式节点之间的通信细节,简便快速的进行发布/订阅机制。使用消息传递系统的另一个好处是系统中与节点之间的清晰的接口,改进封装并促进代码重用。
2).录制和播放信息,由于发布/订阅系统是匿名且异步的,因此可以轻松捕获和重放数据,而无需对代码进行任何更改。假设任务A从传感器读取数据,我们想要开发一个任务B处理由任务A读取的数据,ROS可以轻松地将任务A发布的数据捕获到文件,然后重新发布。消息传递抽象允许任