We’re trying to debug some odd PID behaviour with our YAGSL swerve drive chassis.
If we were using the WPILib PIDController, we would be able to extract the set point and error. I’m not seeing how to do that with the REVlib pid controller.
Am I missing something, or is it really opaque?
The REV Hardware client telemetry tab should help here. YAGSL uses the relative encoder to run the motor and synchronized them periodically unless you have an absolute encoder attached to the dataport of your SparkMAX. In which case the PUD runs off of that. With that in mind you can set the conversion factor in the hardware client then try to tune it there comparing setpoint to readings, knowing full well that the angle it says will not be the angle it goes to while the swerve drive is running.