Team 8's 2023 FRC code for Eir. Our code is written in Java.
-
Four SDS MK4i swerve modules powered by Falcon 500s with a theoretical top speed of 16.3 ft/sec; 26.5" x 26.5" frame perimeter
-
Double-jointed arm with pneumatic cylinder actuated bottom pivot and motor driven top pivot powered by 2x NEOs at a 182.25:1 overall reduction
-
Chain and sprocket pivot driven by a NEO
-
Two-roller intake driven by a 775pro for grabbing cones and cubes from ground and substation in any orientation
- Clone this repo with
git clone git@github.com:team8/FRC-2023-Rewrite.git
./gradlew build
- builds the code./gradlew simulateJava
- simulates the robot code locally./gradlew deploy
- deploys the code on to the robot (make sure you are connected to the robot's wifi)- Have fun!
We recommend using IntelliJ, however, Visual Studio Code and Eclipse both work.
-
Contains all the central classes and functions used in the robot. We use RobotState to keep data on the state of the robot (velocity, vision targets, pneumatics state), and we use Commands in order to state we want to be done (set the intake to go a certain speed, translate the drivetrain, etc.). OperatorInterface interfaces with the drivers' controllers and updates Commands based on controls.
-
Contains all the subsystems. Each subsystem takes an instance of RobotState and Commands in order to take what is wanted and turn and output that is applied to the hardware.
-
Handles all the Routines. A Routine is a class that runs for a set period of time and updates commands in order to do something. Examples include intaking a cone, balancing on the charge station, raising the arm, etc.
-
Handles all the autos. Each auto is a list of Routines.
-
Contains a lot of utility classes and functions. Also contains things that don't belong anywhere else.
-
Contains both constants and configs that can be reloaded without recompiling.
Our code is released under the MIT License. A copy of this license is included in the LICENSE file.