When to invert?
Last updated
Last updated
Swerve Modules and Swerve Drives require some inversions to get working properly. The goal is to get everything to increase counter clockwise positive!
When your gears are grinding on the ground but not while on blocks and your wheels are facing and spinning in the right directions you may need to tune PID instead of inverting!
IF you are inverted incorrectly your modules or robot may spin "out-of-control"
When you spin your motor counterclockwise the value in Shuffleboard/NetworkTables swerve/modules/.../Raw Absolute Encoder
and swerve/modules/.../Raw Angle Encoder
should both increase.
Open shuffleboard.
Take note of the swerve/modules/.../Raw Absolute Encoder
value's and use them for absoluteEncoderOffset
in the module JSONs.
Spin your modules COUNTERclockwise from the top down view.
The swerve drive should be on it's side or otherwise lifted. Your swerve module bevels must be facing the left like shown. To rotate the swerve modules they must be rotated counterclockwise like shown.
swerve/modules/.../Raw Angle Encoder
is decreasing...Invert your angle motor for every module that is decreasing!
swerve/modules/.../Raw Absolute Encoder
is decreasing...Invert the absolute encoder in the module JSON with absoluteEncoderInverted
as shown here.
Sometimes you may need to invert these if when you rotate the robot changes it's front/back while driving in field-oriented mode.
Whenever your robot is driving backwards in odometry and forwards in real life while maintaining that a spin-in-place generates Counter-Clockwise-Positive movement you may need to apply this patch.
You must add 180
to every absoluteEncoderOffset
in every module file to correct this behavior.
swerve/modules/.../Raw Drive Encoder
is decreasing...Invert your drive motor for every module that is decreasing!
Keep in mind that your robot spinning counter clockwise should look like this when the wheels are powered! You WILL need to change your IDs for each module file if they don't.
You should notice the Raw IMU Yaw
field in Shuffleboard increase. If it doesn't you need to invert your IMU like this.