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

BlockResponsibilityCompute
LauncherBall feed, spin/speed control, aimingRaspberry Pi 5 + 2x Pico
RoverCourt navigation, positioning, dockingRaspberry Pi 5 + 1x Pico
ReloaderBall collection and hopper transferPico (shared bus)
VisionPlayer/racket tracking, court localisationPi 5 (launcher + rover)
Tactics solverShot selection, pattern generationOff-board / app

Control flow

vision frame ──▶ state estimate ──▶ tactics solver ──▶ shot request
                                                   │
                     rover pose controller ◀────────┘
                                                   │
                     launcher trajectory solver ◀───┘ ──▶ fire

Timing budget

t_cycle = t_sense + t_solve + t_aim + t_feed ≤ 2.0 s