src/uav_simulator/mockamap/src/mockamap.cpp 去ws:
bash展开代码# 使用 Debug 模式构建
catkin_make -DCMAKE_BUILD_TYPE=Debug
初始化环境:
bash展开代码source devel/setup.bash
删除以前得roscore的进程,可能经常用,用来清理环境:
bash展开代码pkill -f roscore pkill -f rosmaster
启动roscore:
bash展开代码# 终端1:启动roscore
cd /xd_ws/ego-planner
export ROS_MASTER_URI=http://localhost:11311
source devel/setup.bash
roscore
启动地图:
bash展开代码# 终端2:启动mockamap(使用相同端口)
cd /xd_ws/ego-planner
export ROS_MASTER_URI=http://localhost:11311
source devel/setup.bash
roslaunch mockamap mockamap.launch
roslaunch mockamap mockamap.launch 自动加载 rviz.rviz 配置,配置文件在config里,在rviz里保存配置也是保存到配置文件来。
从launch文件中可以看到,RViz 启动时使用了配置文件:
bash展开代码<node name="rviz" pkg="rviz" type="rviz"
args="-d $(find mockamap)/config/rviz.rviz"/>
RViz 左边设置 Global Options 里的数据格式为world。在PointCloud2里,设置topic为 /mock_mao ,设置Style 为Points。
新建节点文件,然后仿造原有地图节点,写文件,简单的地图,更易于学习:
启动地图:
bash展开代码catkin_make && source devel/setup.bash && roslaunch mockamap2 mockamap2.launch
mockamap是一个用于生成模拟3D环境地图的ROS包,主要用于UAV(无人机)仿真测试。它能够生成各种类型的3D障碍物环境,为路径规划算法提供测试场景。
生成多种类型的地图:
输出格式:
/mock_map
world
Perlin噪声地图 (perlin3D()
):
随机障碍物地图 (randomMapGenerate()
):
迷宫地图 (maze2D()
, Maze3DGen()
):
resolution
: 地图分辨率(默认0.1米)x_length
, y_length
, z_length
: 地图尺寸seed
: 随机种子,确保可重复性type
: 地图类型(1-4)用户通过选择不同的launch文件来控制type参数:
mockamap.launch
: type = 1
(Perlin噪声3D地图)perlin3d.launch
: type = 1
(Perlin噪声3D地图)post2d.launch
: type = 2
(随机障碍物地图)maze2d.launch
: type = 3
(2D迷宫地图)maze3d.launch
: type = 4
(3D迷宫地图)在ego-planner的主要仿真启动文件中,simulator.xml
硬编码了:
xml展开代码<param name="type" type="int" value="1"/>
这意味着在ego-planner的仿真环境中,默认使用Perlin噪声3D地图。
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!