Skip to content
This repository has been archived by the owner on Jul 16, 2024. It is now read-only.

A repo that is intended to track the official Skip-5.12 repo, but also add Simulator and Path Planning support

Notifications You must be signed in to change notification settings

WHS-FRC-3467/Skip-5.12_SwervePlanAndSim

Repository files navigation

Note:

This code came from Team 6391 - Ursaline Bearbotics and Jason Daming. It is their Beta code for 2022 and incorporates:

  • WPILib swerve kinematics and odometry
  • "Beta" swerve simulation support from Chris Gerth (and others)
  • A modified and expanded swervelib library from SDS
  • The Phoenix library from CTRE
  • Paths generated and followed by the PathPlanner application and library from Michael Jansen.

Configuring the code for your robot

  1. Set your team number.
  2. Read through and configure frc.robot.Constants. Parts of the code that need to be configured for your specific robot setup are marked with comments starting with FIXME.

Don't configure the *_MODULE_STEER_OFFSET constants yet. Those are configured after code is deployed.

  1. Read through and configure frc.robot.subsystems.DrivetrainSubsystem. Parts of the code that need to be configured for your specific robot setup are marked with comments starting with FIXME.
  2. At this point deploy the code. If it endlessly crashes at startup make sure your CAN IDs are properly set and make sure you are using the proper swerve module configurations for your hardware.

Setting up module offsets

Now that we have code running on the robot, we can set up our module steering offsets. In order to do this we must have our encoder values displayed to the dashboard.

Before setting up module offsets ensure each offset is set to -Math.toRadians(0.0) and that code is deployed to the robot. This must be done each time offsets are determined.

  1. Turn the robot on its side, so it is easy to move each module by hand.

By default, module sensor information is displayed in the Drivetrain tab on ShuffleBoard.

  1. Rotate each module so the bevel gear on the sides of each wheel are pointing to the robot's left.

When aligning the wheels they must be as straight as possible. It is recommended to use a long straight edge such as a piece of 2x1 in order to make the wheels straight.

  1. Record the angles of each module using the reading displayed on the dashboard.

  2. Set the values of the *_MODULE_STEER_OFFSET constants in Constants to -Math.toRadians(<the angle you recorded>)

  3. Re-deploy and try to drive the robot forwards. All wheels should stay parallel to each other.

  4. Make sure all the wheels are spinning in the correct direction. If not, add 180 degrees to the offset of each wheel that is spinning in the incorrect direction. (I.e. -Math.toRadians(<angle> + 180.0)))

About

A repo that is intended to track the official Skip-5.12 repo, but also add Simulator and Path Planning support

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages