First session: make every student reach a replay

Aim for a working feedback loop before teaching strategy. Students should finish the session able to edit a line, run check, watch a short match and explain a turn. The one-page quickstart is the handout; the full handbook is a reference.

Before the lesson

The kit's full handbook has installation fallbacks. In a virtual environment, using its Python explicitly avoids shell activation issues: on Windows use .venv\Scripts\python -m robosoccer ...; on macOS/Linux use .venv/bin/python -m robosoccer .... Keep the server running on the organizer's machine throughout the session.

Live session plan: about 45 minutes

TimeDo togetherEvidence before moving on
0–10 minConfirm Python and kit, create my_bot.py, run robosoccer check my_bot.pyEveryone has a PASS or a partner with one.
10–18 minCopy the short quickstart chaser and run the command belowEach pair opens a replay against chaser.
18–25 minPoint to the bearing diagram; try positive and negative turn ratesStudents predict left/right correctly.
25–35 minChange turn multiplier 4.0 to 1.0, one change per runStudents describe how the approach changes.
35–42 minTry stopping when the ball is absent, then restore search; turn noise onStudents identify an empty camera frame.
42–45 minSave the working file and one sentence about a replay observationEveryone has a starting point for next session.
sh
robosoccer check my_bot.py
robosoccer run my_bot.py --vs chaser --perfect-sensors --half-seconds 5 --watch

Ask “where is the ball relative to this robot's nose?” before introducing angle conversion. A positive bearing and a positive turn are both left. Delay IMU/map coordinates, saved state and radio until the earlier controls are comfortable. If local execution is unavailable, use My bot's check, then submit a classroom match and review a completed replay together. It uses normal noisy sensors, so use the diagram to explain the intended turn before comparing the replay.

Next sessions

Follow the student lessons: kicking and fixed roles; reference frames and memory; simple radio; then robust radio. Use the robust helper only after students have observed missing, delayed and out-of-order data. Ask them to explain each repair with a paper example before pasting the code. There is no need for a 50-bot load test for this class.