Researchers develop new robot collision avoidance algorithm
MIT researchers have developed a safety check technique that can prove with 100% accuracy that a robot’s trajectory will remain collision-free.
Before a robot can grab dishes off a shelf to set the table, it must ensure its gripper and arm won’t crash into anything and potentially shatter the fine china. As part of its motion planning process, a robot typically runs ‘safety check’ algorithms that verify its trajectory is collision-free.
However, sometimes these algorithms generate false positives, claiming a trajectory is safe when the robot would actually collide with something. Other methods that can avoid false positives are typically too slow for robots in the real world.
MIT researchers say their technique can prove with 100% accuracy that a robot’s trajectory will remain collision-free (assuming the model of the robot and environment is itself accurate). Their method, which is so precise it can discriminate between trajectories that differ by only millimetres, provides proof in only a few seconds. But a user doesn’t need to take the researchers’ word for it — the mathematical proof generated by this technique can be checked quickly with relatively simple maths.
The researchers accomplished this using a special algorithmic technique, called sum-of-squares programming, and adapted it to effectively solve the safety check problem. Using sum-of-squares programming enables their method to generalise to a wide range of complex motions.
This technique could be especially useful for rapidly moving robots that must avoid collisions in spaces crowded with objects, such as food preparation robots in a commercial kitchen. It is also well suited for situations where robot collisions could cause injuries, like home health robots that care for frail patients.
“With this work, we have shown that you can solve some challenging problems with conceptually simple tools. Sum-of-squares programming is a powerful algorithmic idea, and while it doesn’t solve every problem, if you are careful in how you apply it, you can solve some pretty nontrivial problems,” said Alexandre Amice, an electrical engineering and computer science (EECS) graduate student and lead author of a paper on this technique.
Many existing methods that check whether a robot’s planned motion is collision-free do so by simulating the trajectory and checking every few seconds to see whether the robot hits anything. But these static safety checks can’t tell if the robot will collide with something in the intermediate seconds.
This might not be a problem for a robot wandering around an open space with few obstacles, but for robots performing intricate tasks in small spaces, a few seconds of motion can make an enormous difference.
Conceptually, one way to prove that a robot is not headed for a collision would be to hold up a piece of paper that separates the robot from any obstacles in the environment. Mathematically, this piece of paper is called a hyperplane. Many safety check algorithms work by generating this hyperplane at a single point in time. However, each time the robot moves, a new hyperplane needs to be recomputed to perform the safety check.
Instead, this new technique generates a hyperplane function that moves with the robot, so it can prove that an entire trajectory is collision-free rather than working one hyperplane at a time. The sum-of-squares programming the researchers used is an algorithmic toolbox that can effectively turn a static problem into a function. This function is an equation that describes where the hyperplane needs to be at each point in the planned trajectory so it remains collision-free.
Sum-of-squares can generalise the optimisation program to find a family of collision-free hyperplanes. Often, sum-of-squares is considered a heavy optimisation that is only suitable for offline use, but the researchers have shown that for this problem it is extremely efficient and accurate.
“The key here was figuring out how to apply sum-of-squares to our particular problem. The biggest challenge was coming up with the initial formulation. If I don’t want my robot to run into anything, what does that mean mathematically, and can the computer give me an answer?” Amice said.
While the method certifies with perfect accuracy, this assumes the user has an accurate model of the robot and environment; the mathematical certifier is only as good as the model.
The researchers tested their technique in simulation by certifying that complex motion plans for robots with one and two arms were collision-free. At its slowest, their method took just a few hundred milliseconds to generate a proof, making it much faster than some alternate techniques.
While their approach is fast enough to be used as a final safety check in some real-world situations, it is still too slow to be implemented directly in a robot motion planning loop, where decisions need to be made in microseconds, Amice said.
The researchers plan to accelerate their process by ignoring situations that don’t require safety checks, like when the robot is far away from any objects it might collide with. They also want to experiment with specialised optimisation solvers that could run faster.
Emerson offers solution to reduce energy costs and emissions
Energy Manager is designed to simplify electricity monitoring, tracking real-time use to identify...
New robotics and automation precinct opens in WA
The WA Government has officially opened what it says will be Australia's largest robotics and...
International robot federated learning project a success
The FLAIROP international research project has shown AI federated learning across multiple...