Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/frc6854/2021infiniterechargeofficial
Code for 2021 Infinite Recharge by FRC 6854
https://github.com/frc6854/2021infiniterechargeofficial
frc limelight motion-profiling path-planning robot robotics vision
Last synced: 6 days ago
JSON representation
Code for 2021 Infinite Recharge by FRC 6854
- Host: GitHub
- URL: https://github.com/frc6854/2021infiniterechargeofficial
- Owner: FRC6854
- License: mit
- Created: 2021-01-14T03:20:45.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2021-05-28T17:06:57.000Z (over 3 years ago)
- Last Synced: 2024-11-07T11:39:48.138Z (about 2 months ago)
- Topics: frc, limelight, motion-profiling, path-planning, robot, robotics, vision
- Language: Java
- Homepage: http://team6854.com
- Size: 5.75 MB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# 2021 Infinite Recharge Official
[![Build Status](https://github.com/FRC6854/2021InfiniteRechargeOfficial/workflows/Java%20CI/badge.svg)](https://github.com/FRC6854/2021InfiniteRechargeOfficial/actions)
Build project with internet connection before deploying to robot to fetch all `vendordeps`. Also use latest `VIKING` package.
The best way to get started with understanding the code here is going to [WPILib Docs](https://docs.wpilib.org/en/stable/) to looks at how you should get started using WPILib and an overview of an FRC robot program.
## Layout
The current project uses our layout from last season.`frc/robot/subsystems` contains all of our moving parts on our bot. For example our drivetrain and conveyor code is found here. We are using the new command-based WPILib package this year for our robot structure. This means that the way we create Commands and Subsystems will change a bit from what it was last year but the logic is almost exactly the same. Our subsystems also use the Singleton pattern where we can. This prevents multiple instances of a subsystem being created and it is more performant when you want to reference the subsystem somewhere else.
`frc/robot/commands` contains all of code for controlling the subsystems during runtime. They run in the CommandScheduler and some commands are in an infinite loop so that they will run all the time when another command isn't scheduled. For example our `ArcadeDrive` command will run forever since there should be not exit case.
`frc/robot/paths` contains all of code for the autonomous paths that we compile along with the code.
`frc/robot/utils` contains helper classes that we use for calculations, wrappers, and etc.
`frc/robot/auto` pre-planned autonomous code that is used when we enable the robot in Autonomous mode. The `AutoManager` contains the logic to select the auto command, and `frc/robot/auto/auto_commands` contains the CommandGroups with the logic for the individual auto plans.