ballot sim init, and you can change it in ballot.toml.
Task
Each recorded attempt starts from a clean reset and ends with your environment’s own outcome. Use it for demonstrations of a specific job.
Free play
No success rule. The pilot starts and stops recording. Use it for open-ended exploration or simulations without a task.
How a task attempt works
- Practice. The world runs and the pilot can move the robot freely. Practice is never recorded as a task attempt.
- Start task. Ballot resets your environment once, using your own reset, and opens a new episode. The pilot can’t move the robot until their headset shows the fresh starting state.
- Attempt. Your environment steps normally. Your task’s own code tracks progress.
- End. The attempt ends when your task reports success or failure, when its time limit is reached, or when the pilot presses Finish. The episode then saves.
Steps
A task can report progress as named steps, in order. Pilots see the steps in the headset, and every episode records when each step completed, so you can find the attempts that got stuck on step three.- Your code decides when each step is done, after every control step. Ballot shows and records it.
- Steps don’t replace the outcome. The attempt succeeds when your task says so, usually when the last step is done.
- Steps can be skipped or repeated if your task allows it. Ballot records what actually happened.
Team tasks
In a scenario with several seats, each step lists the seats that do it. A shared step, like a humanoid loading a crate onto a rover, needs both robots. The whole team works from one reset and one run, which saves as one team episode. See Create a scenario for a full example.Where the outcome comes from
Ballot never computes its own success check. It reads the one your environment already has, such as robosuite’s success check, and records it as reported. Each episode keeps three things apart, so you can filter on the one you care about:
A pilot who presses Finish before succeeding still produces a complete, saved episode. That can be useful data too.