FRC1756-Argos / 2022-Robot

Robot code for 2022 FRC Season
https://frc1756-argos.github.io/2022-Robot/
BSD 3-Clause "New" or "Revised" License
1 stars 0 forks source link

Modularize Drive Subsystem Into ArgosLib #188

Closed dkt01 closed 2 years ago

dkt01 commented 2 years ago

Make it easy to re-use swerve code

Litemage commented 2 years ago

Modularize Swerve

What do we need?

TODO list

Notes The idea of this particular library is to have configuration tucked away somewhere illbeit in Constants.h or in a .cpp file, like the motors. This configuration will be fed to a class that inherits from ArgosSwerve and impliments it's constructor. After ArgosSwerve is constructed, we'll have access to basic functions such as driving the robot, setting it's Frame of reference, and so on, while not having to sacrafice any sort of customization we may want to do.

General Layout of how config will flow

flowchart TD
    A[ArgosModule] --> B[ArgosSwerveConfig] --> C[ArgosSwerve]

Finish up and prepare for testing

Litemage commented 2 years ago

Basic functionality for a swerve drive train is implemented. Awaiting testing to validate.

Note: Include odometry in the argos_swerve library?

Litemage commented 2 years ago

A proof of concept test showed that this does in fact work, and presents no immediate technical hurdles. Closing as this has gone out-of-scope of this project.