V5 motor brake and hold effectiveness

Our team currently is not using v5 motors, but I was wondering about the brake and hold function. I know what each one theoretically is supposed to do, but couldnt find any review or video of how functional they actually are. If anyone could provide a review or video, it would be much appreciated.

Our team has made use of the brake type hold command during this season. We used to have a brake that deployed with a motor then was held in place using the brake type. It seemed to hold the brake down decently well. We have found that brake type coast has been more useful than hold for our purposes (No need for a Rachet). One thing you could use it for is to lock your drive while shooting or stacking. Just use a macro and hope no one is a strong pusher! I hope this helps.

breakeType::hold is very effective for platform parking.

To elaborate on this, I use this when parking on the center platform, and it is pretty difficult to push off with one’s hands. Not a single robot has knocked it off, because the hold function is so powerful.
Another measure of the hold function’s power is if you put a wheel on an axle attached to a “holding” motor, it is virtually impossible to turn the wheel more than an inch.
Personally, I have found no use for the brake function and wouldn’t recommend it.

Coast lets the motors move freely (the same as when the robot is turned off).
Brake shorts the windings of the motor together to increase the resistance.
Hold actually adds electricity from the battery to keep it in the exact same position.
I would recommend trying them out yourself and seeing what works best.

Generally speaking, with the brake method I would suggest having that be when the joystick is centered so in case of defense your robot will have the capability to withstand it. In terms of the hold braketype, I would suggest having a button you press and hold so as soon as you get up the platform you hold that button and your robot stops immediately. This is great for getting up the platform at full speeds coming to a dramatic stop, as well as it prevents opponents from pushing you most of the time.
Hopefully this helps :slight_smile:

Another question, does the brake and hold function work with autonomous coding? For example, if I was to code the robot to move 12 inches, could I use the brake/hold function to stop and prevent momentum. I assume this is how it works, but I’m not 100% sure. And if the hold function works similar to a PID controller, would it be able to do what a normal PID controller could do in terms of slowing and correcting when moving a set distance? Thanks.

rotateFor and rotateTo both use pid and break with hold by default. The are accurate, and do exactly what you described you wanted your code to do. Autonomous programming is dramatically easier with V5.

Using breaks during auton and driving proved to be really useful for my team and others for general movement accuracy. The hold function is glorious for center parking. Having all of a robot’s drive motors hold make it extremely difficult to push even by hand. Very useful when combined with traction wheels for top parking as polycarb barely has any friction and you need as much traction as you can get.