ROS术语
主节点
主节点(master)负责节点到节点的连接和消息通信。
roscore是主节点的运行命令。
主节点使用XMLPRC(XML远程过程调用)是一种基于HTTP的协议。
节点
节点(node)是ROS中的最小处理单元
消息
节点之间通过消息(message)来发送和接受消息。消息通信方式有TCPROS,UDPROS等,根据使用情况有单项和双向两种方式。
话题
话题(topic)是帮助信息传递的事件。在发布者节点关于这个事件向主节点注册后,发布者会以消息形式发布关于该事件的信息。希望得到这个事件的有关信息的订阅者节点可以向主节点获得发布者节点的位置信息。基于这个信息订阅者可以直接连接到发布者节点,用话题的方式发送接收信息。
服务
服务(service)消息通信是服务客户端(service client)与服务服务器(service server)之间的同步双向消息通信。
动作
动作(action)11是在需要像服务那样的双向请求的情况下使用的消息通信方式,不同点是在处理请求之后需要很长的响应,并且需要中途反馈值。动作文件也非常类似于服务,目标(goal)和结果(result)对应于请求和响应。此外,还添加了对应于中途的反馈(feedback)。它由一个设置动作目标(goal)的动作客户端(action client)和一个动作服务器(action server),动作服务器根据目标执行动作,并发送反馈和结果。动作客户端和动作服务器之间进行异步双向消息通信。
catkin
catkin是指ROS的构建系统。
bag
用户可以保存ROS中发送和接收的消息的数据,这时用于保存的文件格式称为bag20,是以*.bag作为扩展名。
储存库
存储库是存储功能包的网站的URL地址,并使用源代码管理系统(如svn、hg和git)来管理问题、开发、下载等。
状态图
上面描述的节点、话题、发布者和订阅者之间关系可以通过状态图(graph)直观地表示。它是当前正在运行的消息通信的图形表示。但不能为一次性服务创建状态图。执行它是通过运行rqt_graph功能包的rqt_graph节点完成的。有两种执行命令:rqt_graph和rosrun rqt_graph rqt_graph。
消息通信
消息通信的相关命令
roscore :运行主节点
rosrun或roslaunch :运行订阅者发布者节点
文件目录结构
ROS的安装路径:/optros/kinetic
ROS目录下的文件结构:
工作目录组织结构:
用户功能包组织结构: