-
Notifications
You must be signed in to change notification settings - Fork 98
WorldGeneration
Note: You will need the gazebo9 branch of this repository which is now deprecated.
This tutorial will walk you through the steps to create worlds to be used for practice/evaluation of robot teams for SubT.
-
Install Ruby:
sudo apt-get install ruby2.5 ruby2.5-dev
-
Go to the worlds directory
cd subt_gazebo/worlds
-
Run erb to generate a random world with default parameters
erb tile.world.erb > cave.world
-
Try different options, such as
n_x=3 n_y=3
to generate a 3x3 world:erb n_x=3 n_y=3 tile.world.erb > cave_3x3.world
-
... or s=100 to set the random seed
erb s=100 tile.world.erb > cave_s100.world
Note: You will need the gazebo9 branch of this repository which is now deprecated.
-
Change your current directory to the SubT workspace and activate it
cd ~/subt_ws source install/setup.bash
-
Generate a world using the script
rosrun subt_gazebo world_generator -o /tmp/subt generated_world
-
World customization can be handled through command line arguments to the script. To see the available arguments, use the
--help
flag:usage: world_generator [-h] [--grid-size GRID_SIZE] [--origin-x ORIGIN_X] [--origin-y ORIGIN_Y] [--target-length TARGET_LENGTH] [--seed SEED] [-n] [-o OUTPUT_DIR] output_name positional arguments: output_name optional arguments: -h, --help show this help message and exit --grid-size GRID_SIZE Length and width of the grid that will be populated --origin-x ORIGIN_X X origin in the grid that will be populated. --origin-y ORIGIN_Y Y origin in the grid that will be populated. --target-length TARGET_LENGTH Target total length of the cave system to be generated --seed SEED Random number generator seed -n, --dry-run print generated files to stdout, but do not write them to disk -o OUTPUT_DIR, --output-dir OUTPUT_DIR directory in which to output the generated files
-
Test your generated work in the simulation:
roslaunch /tmp/subt/generated_world.launch