Creating your first configuration
Last updated
Last updated
Compliments of the DevilBotz 2876!
Updated: 2024-02-03
REV Robotics Hardware Client - https://docs.revrobotics.com/rev-hardware-client/
for configuring Spark Max Motor Controllers and other Rev devices
Phoenix Tuner X - https://v6.docs.ctr-electronics.com/en/stable/docs/tuner/index.html
for configuring CanCoders and other CTR devices
Note: When viewed from the top, make sure the sides of the wheel with the bevel gear are pointing to the left
Model, Version, Etc
Motor
Controller
Absolute Encoder
IMU
Measure the module center relative to the robot center
Front Left (FL)
+
+
Front Right (FR)
+
-
Back Left (BL)
-
+
Back Right (BR)
-
-
Measure the wheel diameter in meters
Note: Most encoders now normalize the reported values to -1
to 1
, so the Encoder Resolution when computing the conversion factors should generally be “1
”. Only known exception is the TalonSRX.
Find the drive/angle gear ratio from the swerve module manufacturer specs
Calculate the
Drive Motor Conversion Factor (meters/rotation) = (PI * WHEEL DIAMETER IN METERS) / (GEAR RATIO * ENCODER RESOLUTION)
Angle Motor Conversion Factor (degrees/rotation) = 360 / (GEAR RATIO * ENCODER RESOLUTION)
Note: For Absolute Encoders attached directly to the dataport on the SparkMAX, the Conversion Factor is 360
Drive
1
Angle
N/A
1
Set/Verify the CAN IDs for each module
Note: Update the FW for each module and reset any stored settings to factory defaults
Drive
Angle
Absolute Encoder
Front Left (FL)
Front Right (FR)
Back Left (BL)
Back Right (BR)
Check Inversion
Rotate the drive wheel CCW (moving “forward”)
The built-in encoder value should increase. If not, invert the drive motor.
Rotate the angle wheel CCW (when viewed from the top)
The built-in encoder value should increase. If not, invert the angle motor.
The absolute encoder value should increase. If not, invert the absolute encoder.
Rotate the entire robot CCW. The gyro angle (yaw) should increase. If not, invert the IMU
Note: If you are using the hardware utilities for accessing the motors controllers and/or absolute encoders, the RoboRio must not be active on the CAN bus. The most reliable way to disable the RoboRio, without affecting the CAN BUS termination, is to temporarily disconnect it from power by pulling the 10A fuse on the Power Distribution Panel (PDP) feeding the RoboRio and then power cycle the robot.
Drive
Angle
Absolute Encoder
IMU
Front Left (FL)
Front Right (FR)
Back Left (BL)
Back Right (BR)
Turn Robot On (Disabled so the wheels can be turned manually)
Manually Turn All 4 wheels so that they are all pointing forward and forward rotation results in increasing drive encoder values (see the black arrows in Orientation Diagram).
Measure the absolute encoder value for each module
Front Left (FL)
Front Right (FR)
Back Left (BL)
Back Right (BR)
Open the webpage and import your data into the config files. https://broncbotz3481.github.io/YAGSL-Example/
https://github.com/thenetworkgrinch/YAGSL-gitbook/blob/main/bringing-up-swerve/broken-reference/README.md