Skip to content

Merge swerve into main #3

@ItsMajestiX

Description

@ItsMajestiX

I have to make an issue for this since upgrading the project to WPILib 2022 broke the commit history and the only way to fix it is a force merge which can't be done in a pull request.

I have been working on swerve drive utilities that our team can reuse every year by importing this project as a git submodule into our robot project.

Things in the swerve branch at the moment:

  • SwerveDrive: A class that handles all of the kinematics and odometry of swerve for you. All the end user needs to do is pass in SwerveDriveModule objects and then update this class with desired ChassisState objects for the swerve drive to follow.
  • SwerveDriveModule: A class that does all of the math needed to command the two motors that make up a single swerve drive module to a given position and velocity.
  • SwerveMotorBase: An abstract class that can be extended to provide support for any motor kind. This way we don't have to be locked in to using a specific arrangement of motors and can use whatever motors we want.
  • SwerveDriverConfig: A configuration class for SwerveMotorBase. Contains all of the settings for the motor.

Things that still need to be done:

  • Full Javadoc Documentation/Javadoc Review
  • Unit Tests
  • Code Review

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions