A simulator to be used for the Student Robotics Virtual Competition 2020
Take a look at the docs.
Within the IDE, there are a few different panels:
- In the centre of your screen is the 3D simulated view of the arena
- On the left is a tree hierarchy of all elements in this "world"
- At the bottom is your console
- At the top are your general controls which include the time controls. Press the centre play button to run the simulation at normal speed.
Important: Changes to the world must happen with the simulation paused at 0:00. If e.g. you move an object at a different time, rewinding back to the start will delete your changes.
On first run, the robot will execute an example program. On first run, this will be copied to the directory competition-simulator
is stored in to make updating easier:
.
├── competition-simulator
│ ├── controllers
│ │ ├── example_controller
│ │ └── sr_controller
│ ├── ...
│ └── worlds
└── robot.py
- Create a new tag & push
- Wait for CI to build a zip archive
- Upload the archive to the GitHub release for the tag
- Update the docs to point to the new archive
- Announce the update to teams via the forums and email
In order to run competition matches you'll need to:
-
Create a file
robot_mode.txt
in the root of the repo which contains just the textcomp
:echo comp > robot_mode.txt
-
Put the competitors' code into the right places for each of the corner zones. These are folder
zone-X
for each zone numberX
which are siblings to the directory in which this git repo is checked out:. ├── competition-simulator │ ├── controllers │ ├── ... │ ├── robot_mode.txt │ └── worlds ├── zone-0 | └── robot.py └── zone-2 └── robot.py
-
Load the simulation afresh and let it run. This does not need to be a fresh launch of the Webots simulator program, but does need to be a fresh load of the world. There is a supervisor "robot" in the simulation which will remove any robots for which there is no competitor code and pause the simulation at the end of the match. The only way to restore the robots is to reload the simulation between matches.