ROS学习
ROS学习
ROS的通信机制:
点对点的通信机制
ROS组件化工具包:
3D可视化工具——rviz
物理仿真环境——gazebo
数据记录工具——rosbag
Qt工具箱——rqt_*
5·ROS系统实现一一计算图
(1)节点(Node)一软件模块
(2)节点管理器(ROSMaster)一一控制中心,提供参数管理
(3)话题(Topic)一异步通信机制,传输消息(Message)
(4)服务(Service)一同步通信机制,传输请求/应答数据
5.ROS系统实现——话题通信机制
① TaIker注册
② Listener注册
③ ROSMaster进行信息匹配
④ Listener发送连接请求
⑤ Talker确认连接请求
⑥ 建立网络连接
⑦ TaIker向Listener发布数据
5.ROS系统实现——服务通信机制
① TaIker注册
② Listener注册
③ ROSMaster进行信息匹配
④ 建立网络连接
⑤ TaIker向Listener发布数据
5.ROS系统实现——参数通信机制
① TaIker设置变量
② Listener查询参数值
③ ROSMaster向Listener发送参数值
5.ROS系统实现——话题与服务的区别
5.ROS系统实现——文件系统
1、功能包清单(Packagemanifest):记录功能包的基本信息,包含作者信息、许可信息、依赖选项、编译标志等。
2、元功能包(MetaPackages):组织多个用于同一目的功能包。
3、元功能包清单(MetaPackages):类似于功能包清单,不同之处在于元功能包清单中可能会包含运行时需要依赖的
功能包或者声明一些引用的标签。
4、消息类型(Message):消息是ROS节点之间发布/订阅的通信信息,可以使用ROS系统提供的消息类型,也可以使
用.msg文件在功能包的msg文件夹下自定义需要的消息类型。
5、服务类型(Service):服务类型定义了ROS服务器/客户端通信模型下的请求与应答数据类型,可以使用ROS系统
提供的服务类型,也可以使用.srv文件在功能包的.srv文件夹中进行定义。
6、代码(Code):放置功能包节点源代码的文件夹。
5.ROS系统实现——开源社区
1、发行版(Distribution):ROS发行版包括一系列带有版本号、可以直接安装的功能包。
2、软件源(Repository):ROS依赖于共享网络上的开源代码,不同的组织机构可以开发或者共享自己的机器人软件。
3、ROSwiki:记录ROS信息文档的主要论坛。
4、邮件列表(Mailinglist):交流ROS更新的主要渠道,同时也可以交流ROS开发的各种疑问。
5、ROS Answers:咨询ROS相关问题的网站。
6、博客(Blog):发布ROS社区中的新闻、图片、视频(http://www.ros.org/news)











