map_generator
提示
map_generator节点可用于模拟真实环境中的感知信息,生成用于路径规划的全局点云和局部点云地图。
map_generator节点对应的源码文件路径如下,分别对应有map_generator.cpp和map_generator_node.cpp
/Prometheus/Modules/simulator_utils/map_generator
如何运行
全局点云
launch运行:
roslaunch prometheus_simulator_utils map_generator.launch
- 启动后可以在rivz中看到绿色的全局点云
- map_name为地图名称,注意选择与地图对应的gazebo world
- 如果不需要启动gazebo显示,可以将gazebo_enable设置为false
- swarm_num为无人机数量,默认为1
- 与地图相关的参数可以在map_generator.cpp文件中修改,也可以引出到launch文件中修改,具体说明见代码注释
- 此时由于没有发布无人机odom,因此在rviz中只能订阅到全局点云信息,而没有局部点云信息
运行结果展示
运行终端信息
默认的launch参数配置为
map_name和gazebo world应遵循如下对应关系
- planning_test 对应 planning_test.world
- planning_test2 对应 planning_test2.world
局部点云
launch运行:
roslaunch prometheus_simulator_utils map_generator.launch
运行结果
- 启动之后可以在rviz中看到绿色的全局点云以及橙色的局部点云
- 局部点云必须要使用到无人机的odom数据,这个launch启动也加载了fake_odom,会在下一章节中详细介绍fake_odom模块。
节点详解
节点图
gazebo节点与map_generator相互独立
- 内置planning_test,planning_test2,random,test四种地图(可通过参数配置选择地图种类或自行构建地图,PS:如果需要gazebo显示,自行构建的地图需要自行构建gazebo环境)
定时发布全局点云数据
- 话题名称:/map_generator/global_cloud
- 话题类型:sensor_msgs::PointCloud2
- 发布频率可通过参数配置,默认为1Hz
定时发布局部点云数据
- 发布局部点云需提供无人机的odom信息,订阅话题为:/uav(id)/prometheus/odom
- 话题名称:/uavid/map_generator/local_cloud
- 话题类型:sensor_msgs::PointCloud2
- 发布频率可通过参数配置,默认为10Hz
TODO
- 目前laser_sim_node.cpp仍在测试阶段,功能为模拟激光雷达数据