不重要的是ps3.launch, rviz, 这里只列出重要部分
loam_interface.launch
1 | <launch> |
参数
stateEstimationTopic换成世界坐标系下的机器人当前位姿,实际要求的是里程计消息,我的是从LOAM发布的final_odom参数
registeredScanTopic为LOAM框架输出的关键帧话题,我的是Lego-LOAM的current_scan参数
flipStateEstimation和flipRegisteredScan改为false,只要雷达位置没有旋转。否则启动后,机器人坐标系是旋转过的
loam_interface的代码太简单了: 不断接收SLAM部分提供的世界坐标系下的机器人当前位姿 以及 世界坐标系下的当前关键帧,并分别以state-estimastion(换个名字和发布TF) 和 registered_scan(换个名字)话题名发布出去
sensor_scan_generation.launch
订阅/state_estimation和 /registered_scan,执行 laserCloudAndOdometryHandler,并发布state_estimation_at_scan 和 sensor_scan
订阅state_estimation以及registered_scan,执行回调函数。
发布/state_estimation_at_scan(等同于/state_estimation)
发布/sensor_scan(世界坐标系下的点云转换至传感器Lidar坐标系下)
