uf-mil / mil

Monorepo of the Machine Intelligence Lab at the University of Florida
https://mil.ufl.edu/docs
Other
46 stars 29 forks source link

Create worlds for RobotX 2022 #862

Open alexperez33 opened 2 years ago

alexperez33 commented 2 years ago

To run a world that MIL made, run this command: roslaunch navigator_launch vrx.launch use_mil_world:=True world:=<world name> --screen

Where above, is anything in this directory: ~/catkin_ws/src/mil/NaviGator/simulation/navigator_gazebo/worlds. For example, if I wanted to open hardStationKeeping.world, I would run roslaunch navigator_launch vrx.launch use_mil_world:=True world:=hardStationKeeping --screen. If I wanted to run basic_navigation.world, I would run roslaunch navigator_launch vrx.launch use_mil_world:=True world:=navigator_worlds/basic_navigation --screen

Furthermore, within these files, particularly within the navigator_worlds directory, you will see at the bottom, there will be several include statements under this comment <!-- The navigation course -->. These are the buoys that are placed in the world.

Pretty much anything in ~/catkin_ws/src/mil/NaviGator/simulation/VRX/vrx/vrx_gazebo/models, you can include in a .world file.

This task is to create a world for each task as defined in the RobotX competition: https://robonation.org/app/uploads/sites/2/2022/03/2022-RobotX_Team-Handbook_v2.pdf.

Additionally, you should also make a world that contains all the tasks so that we can test multiple tasks consecutively in the same run.

The easiest way I have found to make worlds is to run the launch file to open the world, open gazebo gazebogui access the insert tab and place the objects in the world. Then click on each object, write down the location of each object (each object will have a pose), and then manually write down the location and object within the world file. If you can find an easier way to create and save worlds please let me know!

I have already created a branch called add_robotx_tasks. In here, you can see several examples of the earlier robotx tasks within the navigator_worlds directory. You can use these as templates. Let me know if you have any questions!

Okayd123 commented 2 years ago

For the entrance_gate world, should we add beacons between the gates and get them to act as they would in the competition? (and if so is there already something for that or would we have to figure out how to do that?)