Esta ferramenta cria mapas e modelos mundiais gerados aleatoriamente que podem ser usados pelo Navigation 2 e Gazebo. Ele usa uma pequena parte do conjunto de dados da HouseExpo. É um conjunto de imagens de layout interno 2D vazias desenhadas à mão. Os mapas vazios estão localizados no diretório de mapas. O gerador de mapas aleatórios coloca obstáculos aleatoriamente em mapas em tons de cinza. Os mapas devem estar no formato .png. Atualmente, há suporte para adição de círculos, quadrados e rampas. Tamanho, formato, tipo e distância entre obstáculos podem ser configurados pelo usuário. O mapa de altura do Gazebo é usado para criar um modelo mundial do Gazebo de um mapa gerado aleatoriamente. O diretório random_world pode ser copiado no diretório .gazebo/model para ser usado com o Gazebo. O tamanho do mapa gerado deve ser 2^n+1 x 2^n+1. Caso contrário, não funcionará com o Gazebo. O tamanho do modelo mundial no Gazebo é dimensionado para 20 metros x 20 metros.
sudo apt-get update
sudo apt-get upgrade
Instale o OpenCV
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libopencv-dev
cd nav2_random_map_generator
make
ou
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>
Exemplo:
./map_generator 10 200 200 5 513 513 5 10 5 10 1 1
./map_generator h
Vídeo de teste do mapa Ramdom TB3
Vídeo de teste de rampa do mapa Ramdom