By Bryan Bergeron
Try as we might to avoid it, sooner or later our electromechanical inventions are going to fail. However, with a little planning and intelligent design, they can fail forward. That is, they can fail in a way that minimizes adverse outcomes.
Take common air brakes used in commercial trucks which rely on compressed air to keep the brake pads off of the rotors. Depressing the brake pedal bleeds air from the system, allowing the brake pad to make contact with the rotor, thereby slowing the rotation of the wheel. If there's a loss of air pressure due to a leak in the system or failure of the air compression mechanism, then the brake pads make contact with the rotor and the truck stops. In contrast, if the compressed air was used to move the brake pads into contact with the rotor, failure would result in a more problematic runaway truck. Stopping with failure of the compressed air system is an example of failing forward.
Failing forward can be as simple as designing for mechanical failure (as in the case of air brakes), or as complex as determining how to handle a loss of control signal in a drone. The simplest solution to an uncontrollable drone is to autonomously cut motor power by, say, 30% and hope that this results in a relatively low impact landing. Of course, the drone could land on the driver of an open-top sports car swerving through traffic on a busy highway. A solution that fails forward is to have the drone autonomously return to home base through the use of onboard GPS, as well as the associated computational and memory support. The significantly more positive outcome is generally worth the added investment over a simple power reduction design.
Stepping up to a fail-forward design for a robot is generally straightforward. Systematically move from one system to the next — say, from power system, to drive train, to navigation, to effector system — and consider how it could fail. Then, consider the consequences that could propagate through the entire robotic electromechanical system, as well as the effect on the behavior of the robot as a whole. For example, a problem in the power system will likely affect everything and have significant consequences on failure. A failed robotic claw, however, may have minimal consequences on the system.
Next, take each system and decide how to fail forward. For example, let's say there's a loss of control signal to the robotic claw. You could have a local controller hold the claw in the current position, open the claw, or close the claw. The fail forward option depends on the situation. If pinched fingers are a concern, then the fail forward option is to open the claw. On the other hand, if the claw is used to move fragile glass tubes containing biological toxins, then the fail forward option is to hold the claw in the current position.
The scenarios relevant to your robot design needn't be life and death. However, getting in the habit of designing for failing forward is a good engineering practice and a skill worth developing. SV
Posted by Michael Kaudze on 01/22 at 02:39 PM