This project contains the FRC (FIRST Robotics Competition) robot codebase for Team Blitz in Conifer, Colorado. It includes the subsystems, commands, and utilities to control and manage our robots. The project is structured to follow the Command-Based programming paradigm provided by WPILib.
This year's competition, FIRST Dive REEFSCAPE, mimics an underwater reef where the teams must collaborate to remove "algae" and seed new "coral".
- GradleRIO: A Gradle plugin that simplifies the build and deployment process for FRC robot code.
- Visual Studio Code: The recommended IDE for FRC development with WPILib extensions.
- WPILib: The core library for FRC robot programming, providing essential classes and functions.
- Java: The primary programming language used for robot code.
- WPILib: Provides the core functionality for robot control and sensor integration.
- PathplannerLib: Used for path planning and autonomous routines.
- AdvantageKit: Provides additional utilities for logging and debugging.
- Phoenix: CTRE library for motor controllers and sensors.
- REVLib: Library for REV Robotics hardware.
- OpenCV: Used for computer vision processing.
The project is organized into several directories and files, each serving a specific purpose:
- build.gradle: The main build script for the project.
- settings.gradle: Configuration for Gradle, including repository settings.
- gradlew and gradlew.bat: Gradle wrapper scripts for Unix and Windows.
- .gitignore: Specifies files and directories to be ignored by Git.
- WPILib-License.md: License information for WPILib.
- .devcontainer/: Configuration for developing in a containerized environment.
- .vscode/: Visual Studio Code settings and configurations.
- .wpilib/: WPILib-specific configurations and settings.
- bin/: Directory for compiled binaries.
- build/: Directory for build outputs.
- gradle/: Gradle-specific files and configurations.
- src/: Contains the source code for the robot.
- main/: Main source directory.
- deploy/: Files to be deployed to the RoboRIO.
- java/: Java source files.
- frc/: Main package for robot code.
- lib/: Utility classes and libraries.
- robot/: Main robot code, including subsystems and commands.
- subsystems/: Subsystems for different parts of the robot (e.g., drive, elevator, vision).
- commands/: Commands for controlling the robot.
- util/: Utility classes for various purposes.
- frc/: Main package for robot code.
- main/: Main source directory.
- vendordeps/: Vendor dependency files for external libraries.
- src/main/java/frc/robot/Robot.java: The main robot class.
- src/main/java/frc/robot/Constants.java: Contains constant values used throughout the robot code.
- src/main/java/frc/robot/RobotContainer.java: Configures subsystems, commands, and button bindings.
- src/main/java/frc/lib/: Utility classes and libraries used across the project.
- Install Visual Studio Code.
- Install WPILib.
- Ensure you have Java 17 installed.
- Open the project in Visual Studio Code.
- Build the project using the command:
./gradlew build
- Deploy the code to the RoboRIO using the command:
./gradlew deploy
To run simulations, use the following command:
./gradlew simulateJavaThis project is licensed under the BSD License. See the WPILib-License.md file for details.