ROS中std_msgs常用消息类型

官方文档:std_msgs Msg/Srv Documentation

std_msgs里面所有的消息数据类型:

Bool
Byte
ByteMultiArray
Char
ColorRGBA
Duration
Empty
Float32
Float32MultiArray
Float64
Float64MultiArray
Header
Int16
Int16MultiArray
Int32
Int32MultiArray
Int64
Int64MultiArray
Int8
Int8MultiArray
MultiArrayDimension
MultiArrayLayout
String
Time
UInt16
UInt16MultiArray
UInt32
UInt32MultiArray
UInt64
UInt64MultiArray
UInt8
UInt8MultiArray

 Header:

uint32 seq #存储原始数据类型,seq顾名思义这就是一个记录消息序号的整型变量。
time stamp #存储ROS中的时间戳信息
string frame_id #用于表示和此数据关联的帧,在坐标系变化中可以理解为数据所在的坐标系名称(该参数是一个字符串类型)

为什么需要header?
在发布端发布的数据或者在订阅端订阅数据时,数据通常是连续发布或者被订阅的,这些信息没有特定的标识,搞得我们发和收了很多消息,都不知道具体发布了多少个数据,收了多少个数据。而且在ROS中有许多坐标系,我们光凭借数据也无法得知这些XYZ坐标数据到底是哪个坐标时下的,并且在机器人运动时,我们想要加上一些“时间戳”来显示机器人随着时间运动的状态或者规律。总之,我们想要添加一些数据标识来得知“这条数据到底是我们发送/被订阅到的第几条数据,这条数据到底是那个坐标系下的,什么时间发布的/被订阅到的”。根据这三个需求,我们找到了自定义消息文件下的header,这个是官方已经给我们定义好了的,我们直接用就可以了。注意Header只适用于话题通信,因为服务通信只进行一次通信就会结束要header也没用。
 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值