昆明做网站找天度,网络文化经营许可证申请,百度做免费推广的步骤,大专网页设计工资怎么样前提
前4篇文章以及帮助大家快速入门ROS了#xff0c;而从第5篇开始我们会更加注重知识积累。同时我强烈建议配合B站大学的视频一起服用。
1.ROS架构三层次#xff1a;
1.基于Linux系统的OS层#xff1b;
2.实现ROS核心通信机制以及众多机器人开发库的中间层#xff1b…前提
前4篇文章以及帮助大家快速入门ROS了而从第5篇开始我们会更加注重知识积累。同时我强烈建议配合B站大学的视频一起服用。
1.ROS架构三层次
1.基于Linux系统的OS层
2.实现ROS核心通信机制以及众多机器人开发库的中间层
3.在ROS Master的管理下保证功能节点正常运行的应用层。 2.ROS关键概念
1.节点Node
·节点执行运算任务的进程一个系统由多个节点组成被称为“软件模块”。 ROS的节点关系 2. 消息Message
·消息通信节点间最重要的通信机制基于发布/订阅模型。
·消息是以发布/订阅Publish/Subscribe的方式传递。
3.话题Topic
·发布者Talker针对给定话题发布消息的节点。
·订阅者Listener关注话题并订阅特定类型数据的节点。
·订阅者与发布者互相不知道存在 ROS基于发布/订阅模型的话题通信 4.服务 (Service)
·服务同步传输模式基于话题的客户端/服务器Client/Server模型,包含用于请求的通信数据类型和用于应答的通信数据类型。
·ROS只允许一个节点提供指定命名的服务
5.ROS节点管理器ROS Master
·ROS节点管理器顾名思义节点的控制器保证节点有序的执行
·ROS节点管理器通过远程过程调用RPC提供登记列表和对其他计算图表的查找功能帮助ROS节点之间相互查找、建立连接同时还为系统提供参数服务器管理全局参数。
3.文件系统
1.功能包Package
2.功能包清单Package Manifest
3.元功能包Meta Package
4.消息
5.服务
6.代码Code 1.功能包
·功能包ROS软件的基本单元包含ROS节点、库、配置文件等。 功能包文件结构 ·config放置功能包中的配置文件。 ·include放置功能包中需要用到的头文件。 ·scripts放置可以直接运行的python文件。 ·src放置需要编译的C文件。 ·launch放置功能包的启动文件。 ·msg放置功能包自定义的消息类型。 ·srv放置功能包自定义的服务类型。 ·action放置功能包自定义的动作指令。 ·CMakeLists.txt编译器编译功能包的规则。 ·package.xml功能包清单:记录功能包基本信息作者信 息、许可信息、依赖选项、编译标志等。 build_dependdepeng/build_depend标签:功能包中代码编译时的依赖 run_dependdepend/run_depend标签:功能包中可执行程序运行时的依赖 ROS功能包常用命令: ROS命令_ros复制到llib中-CSDN博客 命令作用catkin_create_pkg 包名 [依赖]创建功能包rospack获取功能包的信息catkin_make编译工作空间rosdep自动安装功能包依赖的其他包roscd功能包目录跳转roscp拷贝功能包中的文件 rosed 编辑功能包中的文件rosrun运行功能包中的可执行文件roslaunch运行启动文件 2.元功能包
·元功能包一种特殊的功能包只包含package.xml元功能包清单文件。
·作用将多个功能包整合成为逻辑独立的功能包。
·元功能包的package.xml文件需要包含引用
export metapackage/
/export
·元功能包只需要run_depend标签
ROS通信机制
·话题通信机制
·服务通信机制
·参数管理机制
1.话题通信机制 发布/订阅模型的话题通信 通信建立的过程
【RPC】RPC基本介绍_牧心.的博客-CSDN博客
1.发布者注册
Talker启动通过端口1234使用RPC向ROS Master注册发布者的信息例如发布消息的话题名然后将节点的注册信息加入注册列表。
2.订阅者注册
Listener启动通过RPC向ROS Master注册订阅者消息例如订阅的话题名。
3.信息匹配
ROS Master根据Listener的订阅信息在注册列表中查找没有找到匹配的发布者就等待发布者出现匹配到了就通过RPC向订阅者发送发布者的RPC地址信息。
4.订阅者发送连接请求
订阅者接收到ROS Master发送的地址信息后通过RPC向发布者发送连接请求传输订阅的话题名、消息类型以及通信协议TCP/UDP。
5.发布者确认连接请求
【精选】TCP协议详解 (史上最全)_开放式tcp-CSDN博客
发布者接收到订阅者发送的连接请求后通过RPC向订阅者确认连接自身的TCP地址信息。
6.订阅者与发布者建立网络连接
订阅者接到确认请求后使用TCP与Talker建立网络连接。
7.发布者向订阅者发布数据
建立连接后发布者向订阅者发送话题消息数据。
2.服务通信机制
·服务是带应答的通信机制 服务器/客户端的服务通信机制 通信建立的过程
1.发布者注册
Talker启动通过端口1234使用RPC向ROS Master注册发布者的信息例如发布消息的话题名然后将节点的注册信息加入注册列表。
2.订阅者注册
Listener启动通过RPC向ROS Master注册订阅者消息例如订阅的话题名。
3.信息匹配
ROS Master根据Listener的订阅信息在注册列表中查找没有找到匹配的服务发布者就等待发布者出现匹配到了就通过RPC向订阅者发送发布者的TCP地址信息。
4.订阅者与发布者建立网络连接
Listener接收到确认请求后用TCP尝试与Talker建立网络连接 发送服务的请求数据。
5.发布者向订阅者发布服务应答数据
Talker接收到服务请求和参数后执行服务功能执行完成向Listener发送应答数据。
3.参数管理机制 参数管理机制 1.发布者设置变量
Talker使用RPC向ROS Master发送参数设置数据参数名和参数值ROS Master数据保存到参数列表。
2.订阅者查询参数值
Listener通过RPC向ROS Master发送参数查找请求要查找的参数名。
3.ROS Master向订阅者发送参数值
ROS Master根据Listener的请求从参数列表中查找参数找到用RPC将参数值发送给Listener。
注释发布者更新参数订阅者需要重新查询
4.话题和服务的区别