이 도구는 Navigation 2 및 Gazebo에서 사용할 수 있는 무작위로 생성된 지도와 세계 모델을 만듭니다. HouseExpo 데이터 세트의 작은 부분을 사용합니다. 손으로 그린 2D 빈 실내 레이아웃 이미지 세트입니다. 빈 지도는 지도 디렉터리에 있습니다. 무작위 지도 생성기는 회색조 지도에 장애물을 무작위로 배치합니다. 지도는 .png 형식이어야 합니다. 현재 원, 사각형 및 경사로 추가가 지원됩니다. 장애물의 크기, 모양, 종류, 장애물 사이의 거리는 사용자가 구성할 수 있습니다. Gazebo 높이 맵은 무작위로 생성된 지도의 Gazebo 세계 모델을 만드는 데 사용됩니다. Random_world 디렉토리는 Gazebo와 함께 사용하기 위해 .gazebo/model 디렉토리에 복사할 수 있습니다. 생성된 맵 크기는 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 맵 램프 테스트 비디오