【ROS】消息类型 —— sensor_msgs/PointCloud分析

ROS消息类型系列之sensor_msgs/PointCloud分析

左侧专栏还在更新ROS功能包其他源码分析,可以关注一波啦


1. 查看

查看的方法有两种命令(rosmsg show与rosmsg info ),这两种命令的作用一样。
方法一:

  • rosmsg show:
// rosmsg show 消息名称
$ rosmsg show sensor_msgs/PointCloud
  • rosmsg show 结果
    在这里插入图片描述

方法二:

  • rosmsg info:
// rosmsg info 消息名称
$ rosmsg info sensor_msgs/PointCloud
  • rosmsg info 结果
    在这里插入图片描述

2. sensor_msgs/PointCloud分析

# 此消息包含 3d 点的集合,以及有关每个点的可选附加信息。
# 传感器数据采集时间,坐标系ID。
std_msgs/Header header
# 序列 ID:连续递增 ID 
  unit32 seq
# 两个整数时间戳,表示为:
# *stamp.sec:自纪元以来的秒数(stamp_secs)(在 Python 中该变量称为“secs”)
# *stamp.nsec:纳秒因为stamp_secs(在Python中变量被称为'nsecs')时间处理器由客户端库提供  
  time stamp
#这个数据与字符串frame_id相关联
  string frame_id 

# 3d点数组。每个 Point32 应被解释为话题中给出的帧中的3d点。
# 这包含一个点在自由空间中的位置(精度为 32 位)。
# 建议尽可能使用Point而不是Point32,这个建议是为了促进互操作性。此消息旨在在一次发送很多点时占用更少的空间,就像在 PointCloud 的情况下一样。
geometry_msgs/Point32[] points
  float32 x
  float32 y
  float32 z
  
# 每个通道的元素数量应与点数组相同,每个通道中的数据应与每个点1:1对应。
# PointCloud消息使用此消息来保存与云中每个点相关联的可选数据。values数组的长度应该与PointCloud中points数组的长度相同,并且每个值都应该与对应的point相关联。
sensor_msgs/ChannelFloat32[] channels
# 现有使用中的通道名称包括:
# "u", "v" - 左侧立体图像中的行和列。这与通常的惯例相反,但由于历史原因仍然存在。较新的 PointCloud2 消息没有这样的问题。
# “rgb” - 用于彩色立体相机产生的点云。 uint8(R,G,B)按顺序值打包到最低有效 24 位。
# “intensity” - 激光或像素强度。
# "distance"
# 通道名称应该给出通道的语义(例如“强度”而不是“值”)。
  string name
# 值数组应该是 1-1 与关联的元素PointCloud。
  float[] values

3. sensor_msgs/PointCloud实例

在Costmap_2D的障碍层中,使用激光扫描仪接收到sensor_msgs::LaserScan类型的message指针,经回调函数ObstacleLayer::laserScanCallback()或者ObstacleLayer::laserScanValidCallback()转换成sensor_msgs::PointCloud类型的message指针。(详细分析在这里–【ROS-Navigation】Costmap2d代价地图源码分析——ObstacleLayer障碍物层


参考:
http://wiki.ros.org

  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

abicco_ds

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值