How frc900/2026robotcode works
This repository combines FRC robot-control software with projectile-motion analysis and a ROS-message-to-Java generator. The robot workflow is configured in RobotContainer, which assembles controls, autonomous routines, and robot subsystems; commands then operate mechanisms and drivetrain. The source index supports some component relationships, but excerpts are incomplete, so uncertain runtime wiring is omitted. The README only mentions a compilation-check workflow, which is not part of the product architecture.
Main entry points: RobotContainer.java Robot Container · TrajectorySurface.py Trajectory Surfaces · main.py Generator Entry · DriveMaintainingHeadingCommand.java Heading Command
Components 26
Robot Runtime
- Robot Container
src/main/java/com/team900/frc2026/RobotContainer.java - Robot State
src/main/java/com/team900/frc2026/RobotState.java - Control Boards
src/main/java/com/team900/frc2026/controlboard/ControlBoard.java - Autonomous Routines
src/main/java/com/team900/frc2026/auto/Autos.java - Drive Subsystem
src/main/java/com/team900/frc2026/subsystems/drive/DriveSubsystem.java - Heading Command
src/main/java/com/team900/frc2026/commands/DriveMaintainingHeadingCommand.java
Robot Mechanisms
- Shooting Factory
src/main/java/com/team900/frc2026/factories/ShootingFactory.java - Shooter
src/main/java/com/team900/frc2026/subsystems/shooter/ShooterSubsystem.java - Shooter Setpoints
src/main/java/com/team900/frc2026/subsystems/shooter/ShooterConstants.java - Hood Factory
src/main/java/com/team900/frc2026/factories/HoodFactory.java - Intake Factory
src/main/java/com/team900/frc2026/factories/IntakeFactory.java - Intake Subsystems
src/main/java/com/team900/frc2026/subsystems/intake
Vision and ROS
- Coprocessor
src/main/java/com/team900/frc2026/subsystems/coprocessor/CoprocessorSubsystem.java - Vision Subsystem
src/main/java/com/team900/frc2026/subsystems/vision/VisionSubsystem.java - ROS NetworkTables
src/main/java/com/team900/lib/rosNetworkTablesBridge/bridge/ROSNetworkTablesBridge.java
Projectile Analysis
- Projectile Solver
ProjectileMotionSim/ProjectilePath.py - Fuel Path
ProjectileMotionSim/FuelPath.py - Trajectory Surfaces
ProjectileMotionSim/TrajectorySurfaces/TrajectorySurface.py - Surface Fitting
ProjectileMotionSim/TrajectorySurfaces/FitTrajectorySurface.py - Surface Plotting
ProjectileMotionSim/TrajectorySurfaces/PlotTrajectorySurfaces.py
Message Generator
- Generator Entry
ros_networktables_bridge_genmsg/main.py - ROS Spec Builder
ros_networktables_bridge_genmsg/message_conversion/generate_spec.py - Java Class Spec
ros_networktables_bridge_genmsg/message_conversion/java_class_spec.py - Code Artifacts
ros_networktables_bridge_genmsg/message_conversion/code_artifacts.py - Generated Java Messages
src/main/java/com/team900/lib/rosNetworkTablesBridge/messages
Other components
- Operator
Connections 22
- Robot Container → Control Boards: configures
src/main/java/com/team900/frc2026/RobotContainer.java - Robot Container → Autonomous Routines: configures
src/main/java/com/team900/frc2026/RobotContainer.java - Robot Container → Drive Subsystem: constructs
src/main/java/com/team900/frc2026/RobotContainer.java - Robot Container → Coprocessor: constructs
src/main/java/com/team900/frc2026/RobotContainer.java - Robot Container → Vision Subsystem: constructs
src/main/java/com/team900/frc2026/RobotContainer.java - Robot Container → Shooting Factory: invokes
src/main/java/com/team900/frc2026/RobotContainer.java - Robot Container → Hood Factory: uses
src/main/java/com/team900/frc2026/RobotContainer.java - Robot Container → Intake Factory: uses
src/main/java/com/team900/frc2026/RobotContainer.java - Robot Container → Robot State: uses
src/main/java/com/team900/frc2026/RobotContainer.java - Heading Command → Drive Subsystem: commands
src/main/java/com/team900/frc2026/commands/DriveMaintainingHeadingCommand.java - Heading Command → Robot State: reads pose
src/main/java/com/team900/frc2026/commands/DriveMaintainingHeadingCommand.java - Shooting Factory → Shooter Setpoints: uses setpoints
- Fuel Path → Projectile Solver: uses
ProjectileMotionSim/FuelPath.py - Fuel Path → Trajectory Surfaces: checks clearance
- Trajectory Surfaces → Projectile Solver: uses
ProjectileMotionSim/TrajectorySurfaces/TrajectorySurface.py - Trajectory Surfaces → Surface Fitting: fit workflow
- Trajectory Surfaces → Surface Plotting: plot workflow
- Generator Entry → ROS Spec Builder: builds specs
ros_networktables_bridge_genmsg/main.py - Generator Entry → Code Artifacts: generates code
ros_networktables_bridge_genmsg/main.py - ROS Spec Builder → Java Class Spec: builds
ros_networktables_bridge_genmsg/message_conversion/generate_spec.py - Code Artifacts → Java Class Spec: renders
ros_networktables_bridge_genmsg/message_conversion/code_artifacts.py - Generator Entry → Generated Java Messages: writes files
ros_networktables_bridge_genmsg/main.py