ROS学习之路(二)——通信架构(上)

1. master&&node

mater中文名又称为节点管理器,作为管家管理所需要的进程,其作用有两个:

  1. 每个node启动时都要向master注册。
  2. 管理node之间的通信。
    在这里插入图片描述node先找master登记,登记完了才能启动。如果有很多的node两两之间的通信靠master的介绍完成的。
    启动ros master:
$ roscore

node的启动方法:

$ rosrun [pkg_name][node_name]

与rosnode相关的命令:

#列出当前运行的node信息
$ rosnode list
#显示某个node的详细信息
$ rosnode info [node_name]
#结束某个node
$ rosnode kill [node_name]

启动master和多个node

$ roslaunch [pkg_name][file_name.lauch]

下面是实际例子参考ROS学习之路(一)创建必要文件:

$ source ~/catkin_ws/devel/setup.bash
$ cd ~/catkin_ws/src/ROS-Academy-for-Beginners
$ roslaunch robot_sim_demo robot_spawn.launch

在新的终端里面使用:

$ rosnode list
$ source ~/catkin_ws/devel/setup.bash ##这一步必须执行
$ roslaunch robot_sim_demo robot_keyboard_teleop.py  

2. topic&&msg

2.1 topic

topic是ROS的异步通信方式,node间通过publish-subscribe机制通信。
在这里插入图片描述
topic实际上是一个字符串。

2.2 message

message是topic内容的数据类型定义在*.msg文件中。message是一种数据格式,一条条信息必须遵守的规范。
基本msg包括:bool、int8、int16、int32、int64(以及unit)、float32、float64、string、time、duration、header。可变长数组array[],固定长度数组array[c]。

2.3 与topic和msg相关的命令

##列出当前所有topic
$ rostopic list
##显示某个topic的属性信息
$ rostopic info /topic_name
##显示某个topic内容
$ rostopic echo /topic_name
##向某个topic发布内容
$ rostopic pub /topic_name

##列出系统上所有msg
$ rosmsg list
##显示某个msg内容
$ rosmsg show /msg_name
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值