WWW-POSIMCourse & competition
Documentation menu
WWW-POSIM / Course & competition

Enter the WWW-POSIM competition

Write a Python program, let it control a simulated boat or underwater robot, and compare its score with other entrants. Start with WAM-V station keeping.

Choose where to practice

Website: upload your code at Competition submissions. The server runs it and emails your score.

Installed app: use your computer for repeated practice. Follow installation and your first world. The website has lower graphics quality and limited simultaneous server slots, so evaluations use a queue.

For an official submission, the server runs your uploaded program, simulates the robot and measures its score. You can close the page after your upload is accepted.

Prepare your account and project

  1. Create an account at www-posim.vercel.app.
  2. Open the verification email and press its verification button. Then sign in.
  3. Follow Set up and evaluate. It walks from downloading the project to opening it in VS Code and running your first controller.

A project is a folder containing your Python files. VS Code is the editor where you change those files. A terminal is the window where you paste commands and press Enter.

Pick one task

Begin with surface_station. It uses the WAM-V boat and has no obstacle course. Add the other tasks after your first program receives positions and sends commands.

Vehicle Tasks
WAM-V boat Hold a position; pass gates and return; avoid buoys and berth
BlueROV2 underwater robot Dive through a gate; follow an inspection path; avoid posts, return and surface

Tasks, scores and standings gives the exact task names, time limits and completion rules. Surface and underwater tracks each contain three tasks.

Run, inspect and improve

  1. Choose your task on the submission page.
  2. Upload your Python file or ZIP and press Submit and evaluate.
  3. Use the emailed result link. Download its JSON record and open it in VS Code.
  4. Change one part of your program. Submit a new version and compare completion, position error, collisions and score.
  5. Each submission runs the same task under five sea/current conditions for one task. Complete all three tasks for a track ranking.

Cancel ends a run. An interrupted run provides diagnostic evidence but does not earn an official score. The website's Leaderboard shows public aliases, not email addresses.

Advanced: rules and allowed inputs

The competition uses maritime-class-3, an educational rule set inspired by RobotX, VRX and RoboSub. Read the scoring details before comparing results with those competitions.

Simulated odometry is allowed for navigation. For obstacle avoidance, use measured camera or LiDAR data rather than obstacle coordinates in the course definition. Official scores come from server observations. Uploading a local result file cannot award an official score.

The server fixes course conditions and physics for each evaluation. Changing physics, losing ownership or disconnecting from the world can invalidate a run. Evaluation troubleshooting explains where to find logs.

The public autonomy template is maintained by IOES-Lab and licensed under MIT. Background references: VRX, RobotX and RoboSub.