SPARTAN 2822 — Internal Team Resource Public reference site →
// PATTERN B · OPERATIONS DASHBOARD · PROGRAMMING

Autonomous Hub

Programmer's dashboard for the fleet. PROS branch status per bot, autonomous routine coverage matrix, sensor calibration log, and code review queue. Companion to /role-programmer — this page is the state, the role page is the responsibility.

Last updated: 2026-05-12 · Sprint Week 2 · Owner: Programmer (per bot) + Lead Programmer (cross-fleet)

Active branches
5
across 4 active bots
Auton coverage
3 / 12
routines complete
Code review queue
2
PRs pending
Open blockers
1
see section 05
PROS branch status Auton coverage matrix Sensor calibration log Code review queue Open blockers Repo conventions

01PROS branch status (per bot)

One branch per active bot, kept in sync with that bot's mechanical state. Shared library lives on main; bot-specific code is on bot/<name> branches.

Branch Bot Last commit Status Owner Next milestone
main Shared library 2026-05-10 STABLE Lead PID tuning utilities (T-7)
bot/skimmer Skimmer (2822A) 2026-05-11 IN DEV Programmer-A Path B intake teleop
bot/pelican Pelican (2822C) 2026-05-09 IN DEV Programmer-C Pneumatic pincer control
bot/osprey Osprey (2822E) 2026-05-07 IN DEV Programmer-E Chain-bar lift PID
bot/spoonbill Spoonbill (2822B) 2026-05-05 PROTOTYPE Programmer-B Rotating claw kinematics
Merge rules: changes to the shared library on main require all bot owners to review before merging. Bot-specific branches don't need cross-bot review for bot-only changes. PR template lives in .github/pull_request_template.md.

02Autonomous coverage matrix

Target: 3 autonomous routines per competing bot — one for each typical starting position (left, mid, right). AWP-eligible routines flagged. Routine spec in /auton/specs/<bot>-<position>.md.

Bot Left start Mid start Right start AWP-capable Last bench test
Skimmer (2822A) DONE WIP TODO L only 2026-05-08
Pelican (2822C) TODO WIP TODO No 2026-05-04
Osprey (2822E) DONE TODO TODO L only 2026-05-06
Spoonbill (2822B) N/A N/A N/A N/A

Legend: DONE = passes bench test · WIP = in development · TODO = not started · N/A = not competing yet

Coverage goal vs comp: by T-7 of any qualifying event, every competing bot should have 3 / 3 routines + AWP-capable in at least one position. Mid-position is the highest-value starting slot.

03Sensor calibration log

Calibrations drift. Track when each sensor was last calibrated and which value was used. Re-calibrate before code freeze (T-7).

Bot Sensor Calibration value Last calibrated Owner Status
Skimmer IMU heading offset -2.3° 2026-05-10 Programmer-A CURRENT
Skimmer Drive encoder ticks/inch 29.4 2026-05-08 Programmer-A CURRENT
Pelican IMU heading offset +1.1° 2026-05-05 Programmer-C NEEDS RECHECK
Pelican Distance sensor goal-align 12.4″ @ 0° 2026-05-04 Programmer-C CURRENT
Pelican Optical (cup orientation) RGB >180 = rim-up 2026-05-03 Programmer-C NEEDS RECHECK
Osprey IMU heading offset +0.4° 2026-05-06 Programmer-E CURRENT
Osprey Lift position (potentiometer) 0 = down, 2800 = max 2026-05-06 Programmer-E CURRENT

04Code review queue

Open PRs waiting for review. PRs against main need cross-team review; bot-branch PRs need one reviewer.

PR Branch Author Opened Status Reviewer
#23 PID tuning helper main ← feat/pid-helper Programmer-A 2026-05-10 REVIEW Lead
#24 Cup orientation flip bot/pelican ← feat/cup-flip Programmer-C 2026-05-11 BLOCKED ON SENSOR Programmer-C

05Open blockers

Things that programmer can't ship until something else happens. Each blocker has an unblock criterion.

Blocker Affects Unblock criterion Status Target
Pelican optical sensor recheck PR #24 (cup orientation flip) Sensor calibration recheck in section 03 returns CURRENT WAITING 2026-05-15

06Repo conventions

Branch naming

main — shared library, stable bot/<name> — per-bot branch (skimmer, pelican, osprey, spoonbill) feat/<short-desc> — new feature in development fix/<short-desc> — bugfix exp/<short-desc> — experimental, never merged

Commit message format

<scope>: <imperative summary, < 50 chars> Optional body explaining WHY this change was made. Scope examples: skimmer, pelican, osprey, lib, auton, intake, drive

Auton routine spec format

Every autonomous routine has a spec file at /auton/specs/<bot>-<position>.md with:

Code freeze rule: at T-7 of any event, the competition branch is tagged v<event>-freeze. After that point, only bug fixes against tagged regressions. New features go on feat/ branches for after the event.

07For general programming pedagogy

// OPEN FULL GUIDE · PUBLIC REFERENCE
spartandesignrobotics.org/role-programmer →

For general PROS C++ pedagogy, motor control concepts, sensor integration walkthroughs, autonomous design principles, EZ-template documentation, and Git/VS Code basics — the public reference covers all of it. This page is the team's current state; the public site is the how-to.