sensor_msgs/LaserScan Message

sensor_msgs/LaserScan Message

File: sensor_msgs/LaserScan.msg

Raw Message Definition

# Single scan from a planar laser range-finder
#
# If you have another ranging device with different behavior (e.g. a sonar
# array), please find or create a different message, since applications
# will make fairly laser-specific assumptions about this data

Header header             # timestamp in the header is the acquisition time of 
                          # the first ray in the scan.
                          #
                          # in frame frame_id, angles are measured around 
                          # the positive Z axis (counterclockwise, if Z is up)
                          # with zero angle being forward along the x axis
                         
float32 angle_min         # start angle of the scan [rad]
float32 angle_max         # end angle of the scan [rad]
float32 angle_increment   # angular distance between measurements [rad]

float32 time_increment    # time between measurements [seconds] - if your scanner
                          # is moving, this will be used in interpolating position
                          # of 3d points
float32 scan_time         # time between scans [seconds]

float32 range_min         # minimum range value [m]
float32 range_max         # maximum range value [m]

float32[] ranges          # range data [m] (Note: values < range_min or > range_max should be discarded)
float32[] intensities     # intensity data [device-specific units].  If your
                          # device does not provide intensities, please leave
                          # the array empty.
 

Compact Message Definition

std_msgs/Header header
float32 angle_min
float32 angle_max
float32 angle_increment
float32 time_increment
float32 scan_time
float32 range_min
float32 range_max
float32[] ranges

float32[] intensities

rosmsg show sensor_msgs/LaserScan

std_msgs/Header header
  uint32 seq
  time stamp
  string frame_id
float32 angle_min
float32 angle_max
float32 angle_increment
float32 time_increment
float32 scan_time
float32 range_min
float32 range_max
float32[] ranges
float32[] intensities

雷达的ROS包输出sensor_msgs/LaserScan消息,消息的格式如上所述,下为Hokuyo_node包输出的消息,供参考

---
header:
  seq: 3185
  stamp:
    secs: 1511424845
    nsecs: 985671531
  frame_id: laser
angle_min: -2.08007788658
angle_max: 2.07394194603
angle_increment: 0.00613592332229
time_increment: 9.76562514552e-05
scan_time: 0.10000000149
range_min: 0.019999999553
range_max: 5.59999990463
ranges: [0.382999986410141, 0.382999986410141, 0.3889999985694885.......]

intensities: []

可以看出,雷达的数据按着扫描方式(顺时针或者逆时针)将返回的距离值存储到一个名为ranges[]的数组中。

期间有两种特殊数据,inf 或者 nan

NaN 即 Not a Number         非数字

INF  即 Infinite            无穷大

nan : Not a Number. C++官方文档给出了如下说明:

NaN值用于标识浮点元素的未定义或不可表示值,例如负数的平方根或0/0的结果。




 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值