The current implementation uses MotionMagicVelocityVoltage for controlling the velocity of the motor. We currently are setting the maximum acceleration to some very high number which I think is incorrect.
WPILib has a function to calculate the maximum achievable velocity for motors based on characterized values. We should try setting the maximum acceleration per call to the motor (request.Acceleration) with the value calculated by the goal velocity.
We should also test the VelocityVoltage control request and see if it performs better than trying to calculate and set the maximum acceleration.
Depends on having access to the flywheel.
The current implementation uses
MotionMagicVelocityVoltagefor controlling the velocity of the motor. We currently are setting the maximum acceleration to some very high number which I think is incorrect.WPILib has a function to calculate the maximum achievable velocity for motors based on characterized values. We should try setting the maximum acceleration per call to the motor (
request.Acceleration) with the value calculated by the goal velocity.We should also test the
VelocityVoltagecontrol request and see if it performs better than trying to calculate and set the maximum acceleration.Depends on having access to the flywheel.