velodyne32C激光雷达解析

编程入门 行业动态 更新时间:2024-10-07 02:25:37

velodyne32C<a href=https://www.elefans.com/category/jswz/34/1770096.html style=激光雷达解析"/>

velodyne32C激光雷达解析

  1. 首先就是选择single return模式,这样你在解析时就按照single模式进行拆包
  2. 其次就是选择转速600 rev/min,这样你的分辨率就确定了(即在设置页面设置频率)
  3. single模式返回如图:

    激光雷达的参数,Laser ID不是ring
    里面的数字是Laser_id

    4.关于大端模式与小端模式:
struct FiringData
{uint16_t flag; //!< 0xFFEE or 0xFFDDuint16_t azimuth; //!< 比例因子 = 0.01degDistanceIntensity points[32]; //!< 32个激光器的距离和光强值
};
struct ScanPacket
{//! 状态类型,仅对HDL-64E有效enum StatusType{HOURS = 72,MINUTES = 77,SECONDS = 83,DATE = 68,MONTH = 78,YEAR = 89,GPS_STATUS = 71,TEMPERATURE = 84,FIRMWARE_VERSION = 86,};FiringData firing_data_blocks[12]; //!< 每帧数据包含12次发射uint32_t timestamp; //!< 从当前小时开始,经历的微秒数,同步到GPS时间/** 返回模式* 0x37=最强回波, 0x38=最后一次回波, 0x39=两次回波*/uint8_t factory_byte1;/** 设备类型* 0x21=HDL-32E, 0x22=VLP-16/Punk LITE, 0x24=Puck Hi-Res* 0x28=VLP-32C, 0x31=Velarray, 0xA1=VLS-128*/uint8_t factory_byte2;uint8_t padding[2]; // 补丁字节,对齐用
};memcpy(&scan_packets_[count], &data, 1206); // 读一个1206一次memcopy很重要 copy151次后  拿走去解析(memocopy共享指针给另一个线程
// 常见电脑是x86架构,因为激光雷达发过来小端格式,你可以直接Memory copy过去
// 要是大端格式读过来的数据不能直接Memory copy
// 比如小端格式存 unsigned int value = ox12345678
usigned char buf[4] ;
buf[3] = 12  buf[2] = 34 buf[1] =  56 buf[0] =  78(低地址存低字节)
// 所以 memcpy 从data[0]低地址中存的低字节开始 1206-> 给  scan_packets_[0]的低地址
//  即 scan_packets_[0]的低地址存低字节,那么
// azimuth = static_cast<float>(firing_data_block.azimuth); // 直接这样给值       

速腾聚创激光雷达配置

更多推荐

velodyne32C激光雷达解析

本文发布于:2024-02-07 04:16:54,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1752990.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:激光   velodyne32C

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!