ROS中rplidar雷達資料採集及釋出流程 分析
阿新 • • 發佈:2018-11-19
持續跟新...,參考文獻:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/6691664.html
一、使用的鐳射雷達是slamtec A1.
(1)publish給ros系統的雷達資料資料型別:
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.
(2) 雷達scan的資訊型別:
typedef struct _rplidar_response_measurement_node_t { _u8 sync_quality; // syncbit:1;syncbit_inverse:1;quality:6; _u16 angle_q6_checkbit; // check_bit:1;angle_q6:15; 角度資訊 _u16 distance_q2; //雷達到障礙物的距離資訊 } __attribute__((packed)) rplidar_response_measurement_node_t;