自动驾驶仿真传感器(一):激光雷达
激光雷达原理
,s指的是发射器与探测物体的距离,v是光速,t是发送到接收的时间差,原理图如下:

激光雷达分为单线,四线,8线,16线,32线和64线
(1)单线激光雷达

单线激光雷达绕z轴旋转,光线将点撒出去,碰到障碍物在同一平面内是一条直线,激光雷达的参数有精度和角度,精度指的是激光雷达每次旋转最小角度,雷达是匀速旋转的,每次旋转一个小的角度,发射一次激光,完成一次循环,形成一帧的数据。如上图所示,单线激光雷达的数据是同一高度的一排点阵。
距离信息:单帧点云坐标可以得到距离信息
速度信息:在多帧情况下,对距离信息进行微分处理,得到速度信息
数据格式:
# 测量的激光扫描角度,逆时针为正
# 设备坐标帧的0度面向前(沿着X轴方向)
#
Header header
float32 angle_min # scan的开始角度 [弧度]
float32 angle_max # scan的结束角度 [弧度]
float32 angle_increment # 测量的角度间的距离 [弧度]
float32 time_increment # 测量间的时间 [秒]
float32 scan_time # 扫描间的时间 [秒]
float32 range_min # 最小的测量距离 [米]
float32 range_max # 最大的测量距离 [米]
float32[] ranges # 测量的距离数据 [米] (注意: 值 < range_min 或 > range_max 应当被丢弃)
float32[] intensities # 强度数据 [device-specific units]
四线激光雷达:

四个颜色代表四个激光发射器所发射的激光,每一个周期,得到一帧的激光点云数据,4条点云数据可以组成一个平面的信息,在一定程度上可以获得高度信息(并不是很准确,很容易理解,如果一个人站的离一面很高的墙面前,不抬头的情况下,他是不能得知墙的高度的),部分公司的四线激光雷达直接输出障碍物的位置信息和速度信息。
多线激光雷达(16/32/64线):

多线激光雷达不能直接数据障碍物的结果(个人认为是算力的限制)
数据结构:
std_msgs/Header header
uint32 height
uint32 width
sensor_msgs/PointField[] fields
bool is_bigendian
uint32 point_step
uint32 row_step
uint8[] data
bool is_dense
激光雷达缺点:
(1)探测距离:当前velodyne的64线激光雷达有效探测距离是120m,360°,即使车载计算机反应速度足够快,预留刹车反应时延仍然太小;
(2)探测精度:激光雷达工作方式是离散的,在120m距离上垂直和水平分辨率是0.3-0.5m;
(3)扫描频率:velodyne的64线扫描频率是15hz,相当于视频频率15fps,360°扫描,需要加上数据缓存和回传的时间,时速120公里,一帧1帧扫描时间,车辆行驶距离2.222m;
(4)寿命:激光雷达是机械式旋转,寿命较短。
参考链接:
陈光知乎专栏:https://www.zhihu.com/search?type=content&q=%E6%BF%80%E5%85%89%E9%9B%B7%E8%BE%BE
CSDN激光雷达数据格式:https://blog.csdn.net/zong596568821xp/article/details/79111061
激光雷达缺点:https://www.zhihu.com/question/264726552/answer/288586697
更多推荐




所有评论(0)