I’ve been trying to find the issue on one of our swerve modules for nearly a day now and I thought I’d throw this out there in case anyone has dealt with a similar issue or has any bright ideas.
We implemented SDS MK4i swerve modules with Falcon500 motors. I have it configured so the CANCoder is the remote sensor for the steer motor. Everything was working correctly and I drove it around for about 30 minutes last night before the students showed up. After about an hour of drive practice the front right module steer position is noticeably off, by about 8-10 degrees. I went back through the process of checking the absolute zero offset of the CANCoder, and I made some minor changes to the offset. The commands to the steer motor are correct and the encoder says it’s at the correct position, but the wheel is still off by about the same amount. The code has not changed since I finished testing it and the students took over.
The build team disassembled the module and checked the magnet. It had been glued, and it doesn’t seem to be loose - meaning they can’t get it to move.
There were some sticky faults on the steer motor for LOS from the sensor, but I cleared those and didn’t see the faults again, but the wheel is still off. I also noticed that CAN bus utilization is high, usually staying above 60% and hitting 100% occasionally, but I have no idea what’s normal there.
As I type this out, the only other thing I can think of is to check the reported position from the CANCoder vs what the steer motor thinks the CANCoder is giving as the remote feedback sensor.
Any other ideas? It’s just weird because the difference is always the same amount in the same direction, and I would have expected the offset to handle it. If the magnet WAS moving, I’d expect it to work correctly for at least a little while after resetting the absolute position offset.