一、
ROS是一套通讯机制
、一套开发工具
、一系列的应用功能
、一个庞大的生态系统
的集合
其目标是:提高机器人研发中的软件复用率。也就是说把别人开发好的功能(代码)去复用,在此基础上再做进一步的扩展和完善,加速机器人开发,减少重复造轮子。(例如,图像领域的opencv,此库包含很多封装好的图像功能,直接调用即可,不用每次都重新编写)
通讯机制
ROS的通讯机制是一张计算图(如下,TensorFlow也是张计算图),椭圆代表各个节点(节点代表功能,如图像采集、图像处理等),椭圆之间的连线代表节点之间数据的通讯和流向。
开发工具
应用功能
在各领域的应用,如slam(移动机器人)、movelt(机械臂)----------各领域开发好的工具包等。
生态系统(即,都有哪些地方集中有ROS的相关信息)
二
ROS社区的组织形式
1、开源了一些代码,一个功能包代表一个功能;(如图像识别、摄像头驱动等)
2、把一些功能类似的(和图像相关的)功能包组织在一起形成元功能包;
3、把各元功能包上传到软件管理仓库(如GitHub等);
4、各软件管理仓库合在一起就形成了ROS社区