1. 程式人生 > >ROS中rplidar雷達資料採集及釋出流程 分析

ROS中rplidar雷達資料採集及釋出流程 分析

持續跟新...,參考文獻: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;