Problems with Swerve Drive

This is my teams first year attempting swerve. We are using Talon SRXs and so far the code works to an extent but we are having trouble with getting the motors to set to zero (forward) when it’s enabled. Currently the Talons are set to MagEncoder Absolute and are position based. We currently use TalonSRX.setSelectedSensorPosition(0) but this requires us to manually move the wheels to zero the first time the robot starts. Ideally, we would like it to automatically go there each time it starts no matter where the wheels are but none of us have been able to figure out how to do that.

On the mechanical side of things, the motors that control the angle of each module get extremely hot and the battery drains very quickly. My mentor thinks its due to the PID loop (We are using 1.2, 0.0072, 15 as our values) but were not sure.

The link to our code is at https://github.com/FRCTeam4500/SwerveDrive/tree/master/SwerveDrive/src/org/usfirst/frc/team4500/robot
With a majority of it being in the WheelModule class in subsystems.

My team would really appreciate any help you can give us.

The turning motors heating up sounds like they are trying to turn, but can’t. Make sure you have an acceptable margin of error around the setpoint.

Did you get this solved? If not, I sent you a PM with an offer to help.