Programming Level 3 - Advanced Systems Integration
Real FRC software architecture (IO abstraction, telemetry, testing), vision, and autonomy
Table of content
Learning Objective
Design robot software using an IO-abstraction layer that isolates hardware access behind an interface (the pattern top teams like 6328's AdvantageKit use, enabling simulation and log replay), add telemetry/data logging and unit tests to that code, integrate a vision coprocessor (PhotonVision or Limelight) for target tracking, create advanced autonomous behaviors with dynamic trajectory generation, and lead cross-functional integration with mechanical and electrical systems. This level typically takes a full season and centers on a capstone project reviewed and signed off by a mentor -- this is where students move from following instructions to operating independently and making informed architecture tradeoffs.
Prerequisites
Primary Resources
- Littleton Robotics (6328): AdvantageKit
- WPILib: Telemetry
- WPILib: Unit Testing
- PhotonVision documentation
- Limelight documentation
Tasks
-
Software Architecture & Telemetry
- Isolate hardware access behind an IO interface (an IO-abstraction layer)
- Add telemetry/data logging to robot code
- Replay a logged match in simulation using logged inputs
- Manage complex state transitions
-
Testing Practices
- Write unit tests for subsystem code that run in simulation
- Participate in a code review as both author and reviewer
-
Vision Processing
- Set up a vision coprocessor (PhotonVision or Limelight) and camera
- Implement target detection and pose estimation
- Develop vision-based navigation or alignment
- Optimize vision processing latency and reliability
-
Advanced Autonomy
- Create dynamic trajectory generation (on-the-fly path adjustments)
- Develop multi-mode autonomous systems selectable before a match
- Handle complex game strategies in autonomous
-
Systems Integration
- Lead software-hardware integration with the mechanical and electrical teams
- Develop system diagnostics using telemetry/logging
- Document integration procedures
- Capstone project: independently design and implement a major robot software feature (e.g. vision-guided autonomous or an IO-abstracted subsystem), reviewed and signed off by a mentor
Level 3 Completion Requirements
- Mentor-reviewed capstone software feature, independently designed, implemented, and documented
- Successfully implement a working vision system
- Demonstrate an IO-abstracted subsystem with telemetry and at least one unit test
- Lead a cross-functional integration effort with electrical/mechanical counterparts