We're watonomous F1Tenth team (1/10th scale autonomous racing). We compete in F1Tenth racing competitions held at research conferences globally throughout the year. The second model training annotations repo : https://github.com/WATonomous/f1tenth-training-annotation
Apart from the general WATOnomous onboarding, there are some Micro-specific things you'll have to read & learn before contributing. Don't worry, it's a lot lighter than the onboarding assignnmet
- Course Syllabus: https://docs.google.com/spreadsheets/d/1PaFYG7XC_XQ3ExdQGb-S8oJzzixoMOVjh4L1RjW0gT0/edit?gid=0#gid=0o
Although not mandatory to study this in great detail, we highly reccommend skimming all the slides up to Module D. You can revisit this later when working on a specific component, but getting a general idea of what SLAM / Planning / Controls mean will be beneficial.
- Competition Rules: https://autodrive-ecosystem.github.io/competitions/roboracer-sim-racing-rules-2025/
A lot of our software architecture choices are based on the rules.
Our infrastructure consists of :
- AUTODrive physics simulator
- Docker environment
As such, you'll have to go through the setup-windows.md or setup-linux.md and follow the steps.
To verify that the environment setup works properly to familiarize yourself with how ROS2 works, please make a rosnode that:
- Subscribes to the IMU and prints IMU data onto the console
- Publish a throttle command to make the car move forward
References: https://autodrive-ecosystem.github.io/competitions/roboracer-sim-racing-guide-2025/
note: This rosnode skeleton you'll most likely be building ontop of for your actual task, so getting this working well (no build errors, etc.) will save a lot of time in the future.
Go read the system-architecture.md to better understand how this repo works and why it is layed out that way
If you use an AI coding agent (Claude Code, Codex, Cursor, Aider, an open-weight model, ...), point it at AGENTS.md first. It holds the repo's hard rules and an index into agents/, which has the architecture, workflows (build and test, add a node, sim to car, deploy to car, port to Jazzy, debug MPPI) and review guidelines. Claude Code picks it up through CLAUDE.md, and has helper skills in .claude/skills/.
When you change how something works, update the matching file in agents/ in the same PR. Keep AGENTS.md under 200 lines and put the details in agents/.