Scaling our AutoDrive.State values (forward and strafe) to create a maximum output of 1 should allow the auto drive states to work more like a real human driving a robot. Joysticks will not create a combined output over 1 - and now our substitution joystick values never will either.
Note: Our ProfiledPointToPointCommand might require some re-tuning of our P values in order to make sure our combined drive + strafe values do not peak over 1. If they are, we're going to move slower than we want to move. We should make sure on distance moves, our distance controller is always generating us larger values. On our theta moves, our theta controller should always be generating us larger values. Or the opposite - the non-primary controller should always be generating us smaller values. I believe this is the case now (since most of our moves are either mostly-distance or mostly-theta), but it's worth double checking.
Scaling our
AutoDrive.State
values (forward
andstrafe
) to create a maximum output of 1 should allow the auto drive states to work more like a real human driving a robot. Joysticks will not create a combined output over 1 - and now our substitution joystick values never will either.Note: Our
ProfiledPointToPointCommand
might require some re-tuning of our P values in order to make sure our combined drive + strafe values do not peak over 1. If they are, we're going to move slower than we want to move. We should make sure on distance moves, our distance controller is always generating us larger values. On our theta moves, our theta controller should always be generating us larger values. Or the opposite - the non-primary controller should always be generating us smaller values. I believe this is the case now (since most of our moves are either mostly-distance or mostly-theta), but it's worth double checking.