Creating your first configuration

DevilBotz 2876 Swerve Bring-Up Checklist

Compliments of the DevilBotz 2876!

Updated: 2024-02-03

Printable version

Resources

Swerve Orientation Diagram

Note: When viewed from the top, make sure the sides of the wheel with the bevel gear are pointing to the left

Step 1: Module Types

Model, Version, Etc

Motor

Controller

Absolute Encoder

IMU

Step 2: Build Specific Details

  1. Measure the module center relative to the robot center

ModuleX "Front" (Inches)Y "Left" (Inches)

Front Left (FL)

+

+

Front Right (FR)

+

-

Back Left (BL)

-

+

Back Right (BR)

-

-

  1. 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.

  2. Find the drive/angle gear ratio from the swerve module manufacturer specs

  3. 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

MotorWheel Diameter (meters)Gear RatioEncoder Resolution (CPR)Conversion Factor

Drive

1

Angle

N/A

1

Step 3: Electrical Characteristics

  1. Set/Verify the CAN IDs for each module

Note: Update the FW for each module and reset any stored settings to factory defaults

ModuleMotor CAN IDsMotor CAN IDsEncoder CAN/Channel ID

Drive

Angle

Absolute Encoder

Front Left (FL)

Front Right (FR)

Back Left (BL)

Back Right (BR)

  1. Check Inversion

    1. Rotate the drive wheel CCW (moving “forward”)

      • The built-in encoder value should increase. If not, invert the drive motor.

    2. 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.

    3. 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.

ModuleInverted?

Drive

Angle

Absolute Encoder

IMU

Front Left (FL)

Front Right (FR)

Back Left (BL)

Back Right (BR)

Step 4: Absolute Encoder Offsets

  1. Turn Robot On (Disabled so the wheels can be turned manually)

  2. 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).

  3. Measure the absolute encoder value for each module

ModuleAngle Absolute Offset (degrees)

Front Left (FL)

Front Right (FR)

Back Left (BL)

Back Right (BR)

Step 5: Input data into the configuration webpage

Open the webpage and import your data into the config files. https://broncbotz3481.github.io/YAGSL-Example/

urlhttps://github.com/thenetworkgrinch/YAGSL-gitbook/blob/main/bringing-up-swerve/broken-reference/README.md

Last updated