目录
-
- 激光雷达分类
- 激光雷达技术指标
- ROS中激光雷达数据的消息格式
- 相机
- IMU
- protobuff
激光雷达分类
1.机械激光雷达,非中心对称,旋转磨损严重,需要定期维护; 固体水平视角较小 2.混合固态激光雷达:棱镜方案,MEMS方案(成熟方案少); 3.纯固态激光雷达:相控阵方案(硅元件振幅),Flash方案;
veldyne 16线激光雷达: 水平360°,垂直30°,测距100m;
Innovusion激光雷达: 水平视角120度,垂直视角25度,测距500度m;
Livox激光雷达: 棱镜方案,两个棱镜,都固定在电机上,随电机旋转。 圆锥视角,fov 70.4°,测距260m,近处盲区5cm; 10hz,0.1s,10000点
激光雷达技术指标
1.扫描最大、最小距离和角度。 2.角度分辨率(两个相邻数据点之间的角度,点数) 3.发射频率(越高越好,定位越准确) 4.数据能量强度(能量小,远程数据无法返回) 5.数据精度(点的跳动程度最重要,一般为2%和100m,跳动幅度2cm)
ROS中激光雷达数据的消息格式
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 // 雷达数据每个点对应的强度值
相机
1.深度相机:微软kinect 红外激光发射不同深度和结构相位的结构光。红外相机采集不同的图像相位,转换为深度。
2.双目相机:ZED2 三角测量,一般不直接求解,用最小二乘计算; 必须有平移,纯旋转t=0、无法求解; 平移过大,匹配失效;平移过小,三角精度不够; 采集多帧,有足够的视角,用三角来估计新特征的深度,即延迟三角。
三、单目相机:大华 三角测量。
IMU
感知三轴陀螺仪roll, pitch, yaw; 三轴加速度计感知三自由度x,y,z; 由于三轴磁力计,imu只能感知载体三自由度的相对位置变化,6轴imu有了重力加速,你可以感知绝对的roll和pitch,引入磁力计可以感知磁场的强度和方向,相当于指南针,帮助载体确定方向。
protobuff
功能:序列化反序列化数据,更新数据结构,不破坏原部署的程序,效率高; 使用方法: 1.创建 .proto文件,定义数据结构,例:
message xxx{
///字段规则 required 字段只能出现一次 // optional 字段可以出现0次或1次 // repeated 字段可以多次出现,包括0次 ///字段类型 int32, int64, string ... ///字段编号 0~536870911; 字段规则 字段类型 名称 = 字段编号 }
2.编译.proto文件生成接口 3.调用接口实现序列化和反序列化