ARM: Autonomous Robotics Immersions¶
ARM is a six-week summer program that teaches high school students Python programming, robotics, and machine learning. Students build toward a low-cost robotic arm that can play Tic-Tac-Toe by combining game logic, computer vision, calibration, and robot control.
The curriculum was developed at the Toyota Technological Institute at Chicago by the RIPL lab. Course contributors include Randall Landsberg, Geno Lewis, Michael Rodgers, Matthew Walter, and Kevin Wu.
Each module can also stand on its own: teachers can use a single Python game, a short Pygame activity, or a hardware setup sequence without running the full course.
Python Robotics Computer Vision Games High School
Course Shape¶
| Strand | Modules | Role in the full course |
|---|---|---|
| Python foundations | Variables, input, conditionals, loops, functions, lists, dictionaries, classes | Gives students the programming tools they need to build games and robot control programs. |
| Text games | Guess My Number, Pig, Rock Paper Scissors, Tic-Tac-Toe, Hangman, quiz games | Builds algorithmic thinking through small, playable programs. |
| Graphics and games | Pygame basics, Pop the Balloon, Race for the Treasure, Attack of the Clones, Tic-Tac-Toe GUI, Connect Four | Moves students from terminal programs to event loops, drawing, state, and user interaction. |
| Robot arm | 3D printing, building, wiring, Dynamixel setup, position recording | Connects code to physical motion and calibration. |
| Vision and AI | Camera setup, board detection, game policies, minimax and strategy | Lets students close the loop between sensing, decision making, and action. |
What Students Learn¶
- Python programming: syntax, variables, functions, printing, loops, conditionals, lists, tuples, dictionaries, objects, classes, file I/O, and debugging.
- Graphics and interaction: Pygame event loops, coordinates, sprites, collision detection, scorekeeping, and graphical game state.
- Robotics: 3D printing, mechanical assembly, wiring, Dynamixel servos, leader and follower arms, position recording, calibration, and safe motion.
- Robot representations and kinematics: reference frames, coordinate transforms, end-effector pose, and the geometry needed to reason about where the arm should move.
- Perception and AI: OpenCV camera analysis, board state, machine-learning classification, game policies, and minimax search.
The course is project-based throughout. Students play and inspect a system without code, build a small working version, improve its algorithm, and then connect the same ideas to graphics, vision, or robot motion.
Demo¶
Recommended Entry Points¶
Use Course Guide for the full modular sequence.
Use Setup when preparing student laptops and robot hardware.
Use Equipment for the bill of materials and printable arm parts.
Use Python Sequence if you want only the programming half of the course.
Use Robot Arm Sequence if students already know enough Python and need to start with hardware.
Use Resources for slides, source documents, and code links.
What Students Make¶
- A robot arm assembled from 3D-printed parts and hobby servos.
- Several playable Python games and a reusable game-state model.
- A Pygame interface for Tic-Tac-Toe and other interactive games.
- A computer player using rule-based strategy and minimax.
- A camera and object-detection pipeline that informs robot actions.
- A final robotic Tic-Tac-Toe demonstration.