您的位置:首页 > 其它

关于ROS的个人见解

2012-09-30 10:39 393 查看
ROS只是一个程序开发框架而已,它主要有以下东西组成:

1、ROS运行环境,主要负责全局信息、消息传递、名称管理。

2、ROS专用函数库,主要是规定ROS各种规则:通信、管理全局信息。

3、各种能重复利用的package

4、一些方便开发的工具

ROS本身运行在Linux中

用ROS开发框架,开发出来的东西是一个个可重复利用的package(主要是c++或python代码、配置文件和编译用的脚本),每个package编译后生成1个或几个Node(可执行文件)。Node之间可按照ROS制定的规则进行通信。通信方式(应该是基于socket)有两种:

1、 广播消息机制。一个node广播出特定的消息,而监听这种消息的node就能收到相应的消息,这种通信方式是异步的。

2、 请求/应答机制。一个node对另外一个node发出请求,另外一个node则回应。这种通行方式是同步的。

如:

可以将获取摄像头图像的程序做成一个Node,这个Node向外广播出获取的图像数据。

其他node可以监听前者发出的消息,从而获取摄像头图像数据。

使用ROS提供的通信机制,用ROS开发出来的程序能方便相互协作。但这种耦合度是很低的,这能大大提高代码的重复利用率。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: