Cet outil crée des cartes et des modèles du monde générés aléatoirement qui peuvent être utilisés par Navigation 2 et Gazebo. Il utilise une petite partie de l'ensemble de données HouseExpo. Il s’agit d’un ensemble d’images d’aménagement intérieur vides en 2D dessinées à la main. Les cartes vides se trouvent dans le répertoire maps. Le générateur de cartes aléatoires place les obstacles de manière aléatoire sur des cartes en niveaux de gris. Les cartes doivent être au format .png. Actuellement, l'ajout de cercles, de carrés et de rampes est pris en charge. La taille, la forme, le type et la distance entre les obstacles peuvent être configurés par l'utilisateur. La carte de hauteur Gazebo est utilisée pour créer un modèle mondial Gazebo à partir d'une carte générée aléatoirement. Le répertoire random_world peut être copié dans le répertoire .gazebo/model pour être utilisé avec Gazebo. La taille de la carte générée doit être de 2^n+1 x 2^n+1. Sinon, cela ne fonctionnera pas avec Gazebo. La taille du modèle mondial dans Gazebo est de 20 mètres x 20 mètres.
sudo apt-get update
sudo apt-get upgrade
Installer 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>
Exemple:
./map_generator 10 200 200 5 513 513 5 10 5 10 1 1
./map_generator h
Vidéo de test de la carte Ramdom TB3
Vidéo de test de rampe de carte Ramdom