Этот инструмент создает случайно генерируемые карты и модели мира, которые могут использоваться Navigation 2 и Gazebo. Он использует небольшую часть набора данных HouseExpo. Это набор пустых 2D-изображений внутренней планировки, нарисованных от руки. Пустые карты находятся в каталоге карт. Генератор случайных карт случайным образом размещает препятствия на картах в оттенках серого. Карты должны быть в формате .png. В настоящее время поддерживается добавление кругов, квадратов и пандусов. Размер, форма, тип и расстояние между препятствиями могут быть настроены пользователем. Карта высот Gazebo используется для создания модели мира Gazebo на основе случайно сгенерированной карты. Каталог random_world можно скопировать в каталог .gazebo/model для использования с Gazebo. Размер сгенерированной карты должен быть 2^n+1 x 2^n+1. В противном случае с Gazebo ничего не получится. Размер мировой модели в Gazebo масштабирован до 20 х 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 Map