本代码主只是用来做局部路径规划和小范围避障

1. joystick_drivers

包含不同手柄遥操作的各种代码,实车部署不需要,可以删去

2. loam_interface

用来桥接不同slam算法,通过修改loam_interface.launch可以使此项目适配各种slam算法。修改规则可参考State Estimation Setup Notes

输入为不同slam算法输出的stateEstimationTopic和registeredScanTopic

输出为/state_estimastion和/registered_scan话题名

3. sensor_scan_generation

将世界坐标系下的点云转换至传感器Lidar坐标系下,并以与扫描消息相同的频率和时间戳发布状态估计消息。这些信息会提供给上层规划模块使用

输入为/state_estimation和/registered_scan

输出为/state_estimation_at_scan(等同于/state_estimation)和/sensor_scan(世界坐标系下的点云转换至传感器Lidar坐标系下)

4. local_planner

4.1 localPlanner

局部路径规划

输入为/state_estimation

/registered_scan

/terrain_map

/joy手柄

/way_point导航目标点

/speed

/navigation_boundary导航的边界

/added_obstacles通过单独节点添加障碍物点云

/check_obstacle是否检测障碍物

输出为/path /free_paths

4.2 pathFollower

路径跟踪,这些信息会提供给下层控制模块使用

输入为/state_estimation /path /joy /speed /stop

输出为/cmd_vel

5. terrain_analysis

地面点云信息分割

输入为/state_estimation /registered_scan /joy /map_clearing

输出为/terrain_map

6. terrain_analysis_ext

扩展地面点云信息分割,这些信息会提供给上层规划模块使用

输入为/state_estimation /registered_scan /joy /cloud_clearing /terrain_map

输出为/terrain_map_ext

7. vehicle_simulator

车辆的仿真模型,项目中的launch文件为总launch文件,需保留,其余可删去

8. velodyne_simulator

传感器仿真模型,可删去

9. visualization_tools

车辆运行参数可视化

输入为/state_estimation /registered_scan /runtime

输出为/overall_map /explored_areas /trajectory /explored_volume /traveling_distance /time_duration

10. waypoint_example

车辆仿真路点管理,可删去

实车上需要用上层规划模块来代替这个模块

11. waypoint_rviz_plugin

rviz插件,可删去

rviz中话题说明

/camera/image 为仿真中为机器人添加的相机输出的图像

/registered_scan 为全局坐标下的点云

/sensor_scan 为雷达坐标下的点云

/terrain_map 为近距离内地形点云,并将地面和墙壁区分开 坐标为map

/terrain_map_ext 为较远范围内的地形点云

/path 为从待选路径中选出的路径,坐标为vehicle

/free_paths 为待选路径,坐标为vehicle

/way_point 为导航的目标点

/navigation_boundary 为导航的边界点

/added_obstacles 为手动添加的障碍物

/overall_map 为仿真全局地图

/explored_areas 为激光雷达点云扫过的墙壁

/trajectory 为机器人行驶过的轨迹


官方文档