ros笔记1-ros架构

ros架构
ros不是传统意义上的操作系统,ros提供一种进程内的通信方法
应用层
ros需要一个管理者–master
计算图
节点
节点是执行运算任务的进程,一个系统有多个节点
节点之间的通信方式:
消息
每一个消息都是严格的数据结构,支持标准数据类型也支持嵌套结构和数组。
话题
是以一种发布和订阅的方式传递,一个节点可以针对一个给定的topic发布消息(称为talker)
也可以关注某类话题并订阅特定类型的数据(Listener)
发布者和订阅者并不知道彼此,系统可能有多个节点发布或者订阅同一个话题的消息
服务
基于话题的发布/订阅模型是一种很灵活的通信模式,但是对于双向同步传输模式不适合,我们称这种同步传输方式为服务。其基于客服端和服务器模型,包含两个部分的通信数据类型,一个用于请求一个用于应答,ros只允许一个节点提供指定的命名的服务
节点管理器
管理节点,统筹管理
文件系统
功能包(package)功能包是ros软件中的基本单元,包含ros节点、库、配置文件
功能包清单:每个功能包包含一个package.xml的功能清单用于记录功能包的基本清单
元功能包清单
在新版ros里面把原有功能包集升级为元功能包,主要作用是组织多个用于同一目的的功能包
消息类型
ros系统节点之间发布/订阅消息,可以使用ros提供的消息类型,也可以使用.msg文件在功能包msg文件夹下定义所需要的消息
服务类型
ros客户端/服务器端通信模型下的请求与应答数据类型,也可以使用ros系统提供的服务类型
ros常用命令
catkin_create_pkg 创建功能包
rospack 获取功能包的信息
catkin_make 编译工作空间的功能包
rosdep 自动安装功能包依赖的其他包
roscd 功能包目录跳转
roscp 拷贝功能包中的文件
rosrun 运行可执行文件
roslaunch 运行启动文件
ros为用户提供多节点之间的通信服务
话题通信机制
1Talker注册
2Listener注册
3ROS Master信息匹配
4Listener发送连接请求
5Talker确认连接请求
6Listener尝试与Talker建立网络连接
7Talker向Listener发布数据
服务通信机制
1Talker注册
2Listener注册
3 ROS Master进行信息匹配
4Listener与Talker建立网络连接
5Talker向Listener发布服务应答数据
参数管理机制
1Talker设置变量
2Listener通过RPC向Master发送参数设置数据查找
3ROS Master向Listener发送参数值
话题是多对多异步传输,多用于数据传输,通信模式为发布/订阅,实时性较弱,有缓冲区无反馈机制,服务有反馈机制,通信为客户端/服务端,同步传输,实时性强,无缓冲区,一对多。常用于逻辑处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值