Source code for the 2023 comp robot: Thanatos
Source code also for the 2023 practice robot: Atlas
Install the relevant FRC toolchain for your platform (see
https://github.com/wpilibsuite/allwpilib/releases). Make sure the toolchain
is
placed in ~/wpilib/2023/roborio
(Linux) or
C:\Users\Public\wpilib\2023\roborio
(Windows).
./gradlew build
This builds code for the roboRIO and tests (if present), but doesn't deploy it to the robot.
./gradlew deploy
This runs a roboRIO build if needed, copies the resulting binary to a roboRIO at 10.35.12.2, and restarts it.
./gradlew simulateJava
Runs the simulation GUI for testing robot code without the real hardware.
./gradlew spotlessApply
Beautifies your code to make it easier to read. Required for builds/GitHub CLI to pass.
Telemetry values are sent using NT4, with the ability for them to be disabled during competitions to ensure the maximum amount of network bandwitdth. When tuning, they can be viewed in the standard dashboard program like Shuffleboard or opened up in specific viewing programs like AdvantageScope.
The simulation GUI is straightforward but can be read more about here.
Open shuffleboard and select the desired autonomous mode from the dropdown menu. When the indicator next to the menu turns from a red X to a green checkmark, the robot has confirmed the selection.
See this for details on how the robot side works.
The game for 2023 is called Charged Up, where teams are tasked with placing inflated cubes and cones into their own respective scoring nodes constructed together as a game element called the Grid. This year there is the standard 15 second autonomous period. Teams earn points in this period for leaving the Community Zone and earn more than the usual points for scoring in game pieces on these nodes. With one robot of an alliance, it is able to engage or dock with the Charge Station to earn additional points. Tele-op continues with teams resuming to scoring game pieces into the nodes, with the robot is controlled through driver input and with the point values reduced. If 3 objects are placed on in an adjustant row, then a Link is created and scores additional points. If an alliance creates 5+ links during a match, a ranking point is awarded. If a link is made in the middle Grid, also known as the Coopertition Grid, then it can allow for a ranking point while also lowering the threshold for the link ranking point from 5 to 4 for both alliances. While a proper endgame procedure doesn't exist for this year, teams are able to drive onto the Charge Station and park on it to score points while being able to score additional points by parking and leveling the Charge Station as well towards the end of a match.
This years robot's unique features include:
- Swerve drive with SDS MK4 L2 modules using CANCoders and NEOs
- New vision camera system for use with AprilTags
- Elevator using NEOs and a REV Through Bore encoder running through the RIO as a relative encoder
- Arm using NEOs and a REV Through Bore encoder set to absolute mode running through a SparkMAX
- Intake similar to 111/1339 to pick up cubes and cones in any orientation
- LED subsystem using the PCM for signaling to the human player
Status | Goal | Additional Description |
---|---|---|
Yes | Swerve Drive | Operational auton/teleop swerve code |
Yes | AprilTags | Read and process AprilTags using PhotonVision |
Yes | Pose Estimation | Add in pose estimation using AprilTags. |
Yes | Manual and Automated Elevator | Elevator subsystem with both manual and automated control. |
Yes | Manual and Automated Arm | Arm subsystem with both manual and automated control. |
Yes | Full Fledged Autos | Have auton modes from one piece all the way up to a full link. |
No | Pose based Alignment | Use pose estimation to drive onto a certain point on the field. |
No | AutoDrop | Sequence for automatically scoring (arm, elevator, and intake) onto the correct node |
Yes | LEDs | Full fledged LED system for communicationing with human players |
Students: Adan Silva (Lead), Jonathan Shuman