Overview · overview
System architecture
How the launcher, rover, reloader, vision stack and tactics solver fit together as one closed-loop training system.
- Subsystem:
- System
- Version:
- 2026.1
- Updated:
- 2026-08-20
- Tags:
- architecture, system, overview
The BallBOPPer is a closed-loop training robot: it observes the player, decides where the next ball should go, moves to a launch position, and launches a ball. Everything below is a placeholder outline that will be filled in as each subsystem is released.
Top-level blocks
| Block | Responsibility | Compute |
|---|---|---|
| Launcher | Ball feed, spin/speed control, aiming | Raspberry Pi 5 + 2x Pico |
| Rover | Court navigation, positioning, docking | Raspberry Pi 5 + 1x Pico |
| Reloader | Ball collection and hopper transfer | Pico (shared bus) |
| Vision | Player/racket tracking, court localisation | Pi 5 (launcher + rover) |
| Tactics solver | Shot selection, pattern generation | Off-board / app |
Control flow
vision frame ──▶ state estimate ──▶ tactics solver ──▶ shot request
│
rover pose controller ◀────────┘
│
launcher trajectory solver ◀───┘ ──▶ fireTiming budget
t_cycle = t_sense + t_solve + t_aim + t_feed ≤ 2.0 s
