For the first time, 449 is running a drive with velocity PID control (well, actually P control with a simple integrator on the output).
On the whole we are quite happy with it, but various people have noticed that driving with it can be a bit “jerky” and violent compared to standard controls. Namely, if the driver lets go of the joystick while the robot is moving full speed, the control loop will (as it should) stop the robot as fast as possible (which is actually pretty close to instantaneously, it seems). This is not something we’re used to, and has caused some concern, though it has gotten better with additional driver practice.
Additionally, we managed to shear all the teeth off of the 14-tooth gear in one of our WCP SS gearboxes at our last event. We’re replacing these with steel gears, but we’re also concerned that the sudden stops are placing additional stress on the drive, and as we only have steel replacements for the 14-tooth gears (and not for the 60-tooth gears meshing with them) we’d like to err on the side of caution.
So, we’re looking at potentially implementing a setpoint ramp to tame it a bit. I was wondering if other teams have had any experience with this, and if they found setpoint ramping to be a necessary/helpful addition and, if so, what ramp rates they found to work best.
EDIT: We’re handling our PIDs using the PIDSubsystem object in WPILib.