Skip to content

FRC-7913/Crescendo-2024-Rewrite

 
 

Repository files navigation


Logo

2024 Crescendo Code

FRC Team 7913
Explore our journal »

The Blue Alliance · Facebook · Results

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

This is the robot code for FRC Team 7913 Bearly Functioning's 2024 Crescendo Season. This will be our 4th season competing, and we're hoping to do well.

This season, we've tried to document our choices and how various components of the robot are implemented in an effort to be more open. We hope this benefits future teams, both ours and others, in understanding the process behind coding our robot and the choices that went into it. Take a look at our journal/documentation here.

(back to top)

Built With

Robot Code

  • WPILib for just about everything
  • REVLib for SPARK MAXes
  • Phoenix 5 and Phoenix 6 for Victors and CANcoders, respectively

Autonomous Pathplanning and Following

  • PathPlanner for visually building and effortlessly executing autonomous routines

Other Useful Tools

(back to top)

Getting Started

This project is deployed in the same way as any other WPI Project. Their page also covers deployment.

Prerequisites

This assumes you have a working RoboRio connected to power, with or without a transmitter.

Important: You must build the robot code once while connected to the Internet to download all the dependencies.

To ensure all dependencies are downloaded, you must build the robot code before connecting to the robot WiFi. There are three ways to do this.

  1. With WPILib VS Code, click on the WPILib icon or open the command palette and type "WPILib". Select Build Robot Code.
  2. In IntelliJ, run the Build Robot task.
  3. On the command line, run gradle build (with Gradle installed), gradlew.bat build (on Windows), or ./gradlew build (on macOS or Linux).

Once the code dependencies are installed, connect to the robot. There are two ways to do this.

  1. By WiFi. With the robot WiFi network set up, connect your computer to the robot's WiFi network
  2. By cable. Connect an ethernet cable from the robot to your computer.

Robot Deployment

With your computer connected to the robot, run the deploy task.

In VSCode, click on the WPILib icon or open the command palette and type WPILib. Select Deploy Robot Code.

In IntelliJ, select the Build & Deploy Robot command.

On the command line, run gradle deploy (with Gradle installed), gradlew.bat deploy (on Windows), or ./gradlew deploy (on macOS or Linux).

(back to top)

Usage

Each mode has a specific purpose.

Teleop

Note

Limelight-based AprilTag localization was scrapped this season due to hardware issues and time constraints

Fully operable, uses cameras to calibrate field position. To turn off camera features when not on a field to avoid bad readings of AprilTags, use Test mode. Selecting a driver station to work from for simulation may be helpful, too.

Autonomous

Runs the robot without driver input. If cameras and sensing aren't available, check the box on the Shuffleboard to select only auto modes without camera features.

Test

Note

This was never implemented

Has full driver control, but won't use cameras to calibrate position on field. Optionally, you can check a box to use camera calibration when running the shooter, which assumes you have AprilTags on a test Speaker.

For more examples, please refer to the Documentation

(back to top)

Roadmap

Note

This was wishful thinking and this wasn't used that much... Maybe next year?

See the project or the issue list for a full list of proposed features (and known issues).

(back to top)

Contributing

Generally, work on this project will be done by the 7913 Programming team. Contributions, however, are welcome if you see some glaring issue.

The easiest way to contribute is to open an issue. You can open an issue and tag it with bug or enhancement.

See our programming workflow document for full documentation of how our contribution process works. For external contributors, please consider using this process, which differs from the typical GitHub workflow. Using this enables us to more easily collaborate with you and work with greater efficiency and speed.

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Team Email - frc7913@sau4.org

Project Link: https://github.com/FRC-7913/Crescendo-2024

(back to top)

Acknowledgments

  • Our mentor, Dillon for help with organization and code
  • Our mentor, Mrs. Mayo for help with code planning

(back to top)

About

Our robot code for the 2024 Crescendo season, built from scratch

Resources

License

Stars

Watchers

Forks

Contributors

Languages

  • Java 100.0%