Master节点管理器
作用:每个Node启动时都要想master注册,管理node之间的通信(可实现点对点通信)
$roscore 启动ros master
node节点(ROS的进程)
pkg里面的可执行文件运行的实例。
启动一个node
$rosrun[包名][节点名]
rosnode
$rosnode list查看当前运行的node信息
$rosnode info [node_name]现实node的详细信息
$rosnode kill [node_name]结束node
roslaunch
$roslaunch [pkg_name] [file_name.launch]启动master和多个node
.launch 文件包含启动规则
通信方式
Topic(string)
ROS中的异步通信方式,node间通过publish-subscribe机制通信
nodeA->发送>/Topic->订阅>nodeB
可以多个publisher和subscriber共用一个Topic
Message
topic内容的数据类型,定义在.msg文件中,相当于“类”。
相关主要命令
rostopic
$rostopic list列出当前所有topic
$rostopic info/topic_name显示某个topic的属性信息
$rostopic echo/topic_name显示某个topic的内容
$rostopic pub/topic_name向某个topic发布内容
rosmsg
$rosmsg list列出系统上所有msg
$rosmsg show/msg_name显示某个msg内容
Service
ROS中的同步通信方式,node间可以通过request-reply方式通信
Topic和Service的区别
srv
Service通信的数据格式,定义在.srv文件中
srv文件只能嵌套msg文件
相关主要命令
rosservice
$rosservice list列出当前所有活跃的service
$rosservice info service_name显示某个service的属性信息
$rosservice call service_name args调用某个service
rossrv
$rossrv list列出系统上所有的srv
$rossrv show srv_name显示某个srv内容
Parameter Service
存储各种参数的字典,可用命令行,launch文件和node(API)读写
命令行设置参数(rosparam)
$rosparam list列出当前所有参数
$rosparam get param_key显示某个参数的值
$rosparam set param_key param_value设置某个参数的值
$rosparam dump file_name保存参数到文件
$rosparam load file_name从文件读取参数
$rosparam delete param_key删除参数
launch文件设置参数
使用<param>和<rosparam>标签
Action
类似于service,但是是service的升级版,是带有状态的通信方式,通常用在长时间、可抢占的任务中。
action
action通信的数据格式,定义在.action文件中。