subzero-robotics/2024-CommandRobot ↗
Created Jun 4, 2024 · View the subzero-robotics/2024-CommandRobot repository page
2024 robot code for FRC 5690
Want this for your repo?
Render a free sample of any GitHub repo in seconds.
Contributors
5
Lines of Code
1,016
From
Jan 6, 2024
To
May 20, 2024
About subzero-robotics/2024-CommandRobot
This is the robot code for FRC Team 5690's 2024 competition robot, written in C++ using the WPILib command-based framework. The robot is designed to play FRC Crescendo and features a MAXSwerve swerve drivebase, built on top of the REV MAXSwerve C++ template. The codebase is organized as a monorepo containing all necessary subsystems, commands, autonomous routines, and control configurations.
The robot includes seven main subsystems: a drive system using swerve mechanics, intake and scoring systems for handling game notes, an arm mechanism for amp scoring, climbing hardware for stage interaction, LED status indicators, and a finite state machine for coordinating complex multi-step actions during gameplay. The scoring system can target three locations (subwoofer, amp, and podium/speaker), with dedicated flywheel motors and note detection using beam breaks throughout the magazine. The climb system features dual climbers that can extend and retract independently.
The project emphasizes robust development practices with a strict workflow: the main branch requires pull requests and can only contain tested, verified code, while a separate competition branch is locked during events to prevent accidental deployments. The team has extensively documented hardware configuration including CAN IDs, digital input ports, and network addresses. Control input is split between an Xbox controller for the primary operator and a numeric keypad for the secondary operator, enabling both manual and fully autonomous scoring sequences with timeouts and interrupt capability. The codebase includes 10 validated autonomous routines ranging from conservative single-note plays to aggressive four-note scoring strategies, along with numerous state-based commands that can be chained together for complex behavior.