V5 brake vs hold

What’s the difference between the brakeType::hold and brakeType::brake?
My assumption is that brake is like the normal thing and hold is where it actively stops the motor from turning. I looked it up, but the VCS command reference only offers this lovely definition:

1 Like

I think one of them keeps it at a certain position and if it is moved it will return it to that position. The other doesn’t try to return it to the position it was in if it is forced to move. Not sure which does what, or even if this is the difference.

I would look at the PROS documentation.

https://pros.cs.purdue.edu/v5/api/c/motors.html#motor-brake-mode-e-t

You will find in most things it is better documented.

1 Like

Actually, differently documented :).

Still how would you describe the difference between BRAKE and HOLD to a novice?

HOLD I know will return to the position. BRAKE not so sure if you push it from the position it stopped.

So brake is actually a technical term in this case referring to a purely electronic phenomenon. The positive and negative ends are connected and it resists all motion. (assuming I remember correctly) Motors are unable to be spun normally because the generated electricity is “stuck”. Take a 393 motor and short the 2 wires together by touching them against a c channel and you will see it resists motion. You will notice however it doesn’t resist motion infinitely strong, that is due to the efficiency of the motor.

Coast - do nothing like 393s always did
brake - short the wires together but don’t send any additional electricity into the system
hold - actively use PID to maintain the set position

2 Likes

Nice explanation! Good addition to the pROS documentation.

1 Like