Similarly to XP (eXtreme Programming), where I write unit test before the code, in mobile robotics we first implement STOP button before our robot moves for the first time. You will need it anyway, and sooner you have it the better.
Your life, or maybe life of your robot, may depend on it one day, so we invest a little bit more than for normal buttons. We use industrial STOP buttons which you have to turn in order to release them.
And some motivation story? Probably the best one so far is "autonomous" tractor John Deere R300X participating in Robotem Rovne 2015. Our control algorithm was not finished yet so homologation and the first two(?) rounds it was controlled with Emergency STOP only.
I have seen some robots suddenly going crazy (Quadrons robot, for example, decided to jump to the river on Robotour 2016). In such a case you realize how important it is that the STOP button is easily accessible (for bigger robots you may need more than one Emergency STOP). Wiring is also important - once STOP is pressed there should not be any "smart" module, which could overwrite it - we just cut the power to the motors. But we keep our control computer alive! Finally it is a good idea to have a way how to inform the computer that STOP button was pressed - there are typically multiple pins available on industrial STOP buttons.
+1
Emergency stop button saved my robot multiple times. It needs to bypass all software control to be useful though.
2010, Robotem rovně: Due to a software glitch, robot suddenly accelerated to high speed. Hitting the stop button hard was the only way how to prevent damage to the robot and harm to people around.
2012, Robotour: While traveling with the robot on remote control to the competition venue, wireless joystick decided to misbehave. Robot continued off the steep slope. Stop button for the rescue.
Any other day, any other place: Stop button is the only reliable and easy-to-use-in-case-of-emergency way how to make the robot not hit anything and how to protect motors pushing hard even after the robot got stuck somewhere. All bystanders immediately understand the purpose of a big red switch and can help. It is also the only reliable way how to make sure that the robot does not decide to move all of a sudden.
Similarly to XP (eXtreme Programming), where I write unit test before the code, in mobile robotics we first implement STOP button before our robot moves for the first time. You will need it anyway, and sooner you have it the better.
Your life, or maybe life of your robot, may depend on it one day, so we invest a little bit more than for normal buttons. We use industrial STOP buttons which you have to turn in order to release them.
And some motivation story? Probably the best one so far is "autonomous" tractor John Deere R300X participating in Robotem Rovne 2015. Our control algorithm was not finished yet so homologation and the first two(?) rounds it was controlled with Emergency STOP only.
I have seen some robots suddenly going crazy (Quadrons robot, for example, decided to jump to the river on Robotour 2016). In such a case you realize how important it is that the STOP button is easily accessible (for bigger robots you may need more than one Emergency STOP). Wiring is also important - once STOP is pressed there should not be any "smart" module, which could overwrite it - we just cut the power to the motors. But we keep our control computer alive! Finally it is a good idea to have a way how to inform the computer that STOP button was pressed - there are typically multiple pins available on industrial STOP buttons.