该工具创建随机生成的地图和世界模型,可供 Navigation 2 和 Gazebo 使用。它使用 HouseExpo 数据集的一小部分。它是一组二维空手绘室内布局图像。空地图位于地图目录中。随机地图生成器在灰度图中随机放置障碍物。地图必须采用 .png 格式。目前,支持添加圆形、正方形和坡道。尺寸、形状、类型和障碍物之间的距离可由用户配置。 Gazebo 高度图用于创建随机生成的地图的 Gazebo 世界模型。 random_world 目录可以复制到 .gazebo/model 目录中以与 Gazebo 一起使用。生成的地图大小必须为 2^n+1 x 2^n+1。否则,它将无法与 Gazebo 一起使用。 Gazebo 中的世界模型尺寸缩放为 20 米 x 20 米。
sudo apt-get update
sudo apt-get upgrade
安装 OpenCV
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libopencv-dev
cd nav2_random_map_generator
make
或者
cd src
g++ circle.cpp main.cpp map.cpp obstacle.cpp ramp.cpp rmg.cpp square.cpp -o random-map `pkg-config --cflags --libs opencv`
./map_generator <Map Id> <Number_of_Circles> <Number_of_Squares> <Robot_Size (px*0.03898)> <Map_Size(x)> <Map_Size(y)> <Min_Circle_Radius> <Max_Circle_Radius> <Min Square_Size> <Max_Circle_Radius> <Add Ramp> <Show_Map>
例子:
./map_generator 10 200 200 5 513 513 5 10 5 10 1 1
./map_generator h
Ramdom Map TB3 测试视频
Ramdom 地图坡道测试视频