Part 1:
Currently we have been developing our code our own computers. For a real software project, it is best to have revision control scheme in place that allow for checking in your code into some repository. In addition when working on a robot software project with multiple programmers, there should be a good way for each person to add new features and then release it to the team. Git is a type of revision control system. Specifically we are using GitHub for revision control.
Next step is to open a new VS Code project and clone this repository:
NOTE: Rev Robotics provides example JAVA go for FRC which is was utilized here. You can find this specific example at:
Note you will also see we have added a more subsystems, including:
- A servo: https://docs.wpilib.org/en/stable/docs/software/hardware-apis/motors/servos.html
- A gyro: https://docs.wpilib.org/en/stable/docs/software/hardware-apis/sensors/gyros-software.html
- A Limelight camera for vision processing: https://docs.limelightvision.io/docs/docs-limelight/getting-started/limelight-3
Give it a try!
Next lets try to add a command that actually is composed of multiple commands.
Part 2:
This section will incorporate a Raspberry PI with a camera running PhotonVision which we will use to detect AprilTags and display to the Dashboard information when it see them.
<..>
Part 3:
This section will focus on using a baselined code base for our swerve drive based robot, along with one simple other subsystem and pathplanner-based autonomous routines.
First create a new project in VS Code by cloning this repository from github:
In addition, you will want to install (if not already installed), PathPlanner from here:
Note that currently there is a transition to the new 2025 version which as of today is still in Beta. The documentation is for the 2025 version, but the latest stable version to install is 2024.1.7:
- Doc: https://pathplanner.dev/home.html
- Download: https://github.com/mjansen4857/pathplanner/releases/tag/v2025.2.2https://github.com/mjansen4857/pathplanner/releases/tag/2024.1.7
What to review in this code base:
- DriveTrainSubsystem.java
- ServoSubsystem.java
- SwerveGamepadDriveCommand.java
- RobotContainer.java
What to try with this code base:
- Deploy code to robot and try to drive it with XBOX controller.
- Add support for raising and lowering the Flag via XBOX controller buttons.
- Test autonomous mode and the two available autos (MoveOut, MoveOutWithSpin)
- Change the existing autos and/or add a new one and retest the autos to confirm the robot responds as expected.




