How whearobotics/frc2023 works
FRC2023 is a collection of 2023-season FRC robot programs and experiments, not one unified application. The principal competition workflow is a robot program reading driver input, commanding a swerve drivetrain and manipulator, and updating drivetrain pose; autonomous routines also run from the robot program. Separate examples cover an elevator mechanism, basic robot control, vision, and machine-learning experiments. Edges are limited to calls or references shown in the excerpts and SOURCE INDEX; the brief README does not document how the experiments are integrated.
Main entry points: SwerveDrivetrain.py Swerve Drivetrain · Swerve/robot.py Robot Control · SwerveModule.py Swerve Module · example_elevator/robot.py Elevator Robot
Components 19
Competition Robot
- Robot Control
src/Swerve/robot.py - Manipulator
src/Swerve/Manipulator.py - Arm Conversions
src/Swerve/utilities.py
Swerve Control
- Swerve Drivetrain
src/Swerve/SwerveDrivetrain.py - Swerve Module
src/Swerve/SwerveModule.py - EZ Drivetrain
src/EZSwerve/SwerveDrivetrain.py - EZ Robot
src/EZSwerve/SwerveRobot.py
Robot Examples
- Elevator Robot
src/example_elevator/robot.py - Elevator Mechanism
src/example_elevator/elevator.py - Example Drivetrain
src/example_elevator/SwerveDrivetrain.py - Accelerometer Drivetrain
src/helloworld/accelerometer/SwerveDrivetrain.py - Basic Robot
src/helloworld/robot/hello_robot.py
Vision And ML
- Detect And Display
src/Vision/01-DetectAndDisplay/DetectAndDisplay.py - Angle Calculation
src/Vision/02-CalculateAngle/CalculateAngle.py - XOR Experiment
src/machine_learning/01-xor.py - MNIST Experiment
src/machine_learning/02-mnist.py - Convolutional MNIST
src/machine_learning/03-mnist-conv.py
Other components
- Driver
- Robot Hardware
Connections 12
- Driver → Robot Control: provides input
src/Swerve/robot.py - Robot Control → Swerve Drivetrain: commands drive
src/Swerve/robot.py - Robot Control → Manipulator: controls mechanism
src/Swerve/robot.py - Manipulator → Arm Conversions: converts positions
src/Swerve/Manipulator.py - Swerve Drivetrain → Swerve Module: sets module states
src/Swerve/SwerveDrivetrain.py - Swerve Drivetrain → Robot Hardware: reads sensors
- Swerve Drivetrain → Robot Hardware: commands motors
- EZ Robot → EZ Drivetrain: uses drivetrain
src/EZSwerve/SwerveRobot.py - EZ Drivetrain → Swerve Module: imports module
src/EZSwerve/SwerveDrivetrain.py - Elevator Robot → Elevator Mechanism: controls mechanism
src/example_elevator/robot.py - Elevator Robot → Example Drivetrain: uses drivetrain
- Example Drivetrain → Swerve Module: imports module
src/example_elevator/SwerveDrivetrain.py