New method improves autonomous robot system

Sat Nov 23 2024

11 23

New method improves autonomous robot system

23/06/2022

Door Ad Spijkers

MIT researchers developed a method to speed up the design of walking robots, self-driving vehicles and other autonomous systems.


     

Autonomous robots have come a long way since the first robot hoover. In recent years, artificial intelligence systems have been deployed in self-driving cars, last-mile delivery, restaurant service, patient screening, floor and room cleaning, meal preparation, building security and warehouses.

Each of these robotic systems are a product of a design process that is specific to that system. When designing an autonomous robot, engineers must perform numerous trial-and-error simulations, often based on intuition. These simulations are tailored to the components and tasks of a particular robot in order to tune and optimise its performance. In some ways, designing an autonomous robot today is like baking a cake from scratch, with no recipe or prepared mix to ensure a successful outcome.

New optimisation method

Engineers at the Massachusetts Institute of Technology have developed a general purpose design tool that roboticists can use as a kind of automated recipe for success. The team has devised an optimisation code that can be applied to simulations of virtually any autonomous robotic system. It can be used to automatically identify how and where a system can be modified to improve a robot's performance.

The team showed that the tool was able to quickly improve the performance of two different autonomous systems. In one, a robot navigated a path between two obstacles; in the other, a pair of robots worked together to move a heavy crate.

The researchers hope that the new general optimisation method can help speed up the development of a wide range of autonomous systems. These range from walking robots and self-driving vehicles to soft and agile robots and teams of collaborative robots.

Inverted design

The scientists realised the need for a general optimisation tool after observing a wealth of automated design tools available to other engineering disciplines. If a mechanical engineer wanted to design a wind turbine, he could use a 3D CAD tool to design the structure. He could then use a finite element analysis tool to check whether it would withstand certain loads. According to the researchers, however, there is a lack of these computer-assisted design tools for autonomous systems.

Normally, a roboticist optimises an autonomous system by first developing a simulation of the system and its many interacting subsystems, such as the planning, control, perception and hardware components. He or she must then tune certain parameters of each component and run the simulation to see how the system would perform in that scenario.

Only after running many scenarios by trial and error can a roboticist identify the optimal combination of ingredients to deliver the desired performance. A tedious, overly customised and time-consuming process. Instead of asking, "Given a design, what is the performance?", the researchers wanted to turn this around to say, "Given the performance we want to see, what is the design that will get us there?"

Optimization framework

The researchers developed an optimisation framework, or computer code, that can automatically find tweaks that can be made to an existing autonomous system to achieve a desired result. The heart of the code is based on automatic differentiation ('autodiff'), a programming tool developed within the machine learning community and initially used to train neural networks. The technique can quickly and efficiently evaluate the derivative, or sensitivity to change, of a parameter in a computer programme.

The method tells how designers can take small steps from an initial design to a design that achieves its goals. The researchers use autodiff to essentially dig into the code that defines a simulator and figure out how to perform this inversion automatically.

Building better robots

The engineers tested their new tool on two separate autonomous robot systems. They showed that the tool quickly improved the performance of each system in laboratory experiments, compared to conventional optimisation methods.

The first system consisted of a wheeled robot that had to plan a path between two obstacles, based on signals it received from two beacons placed in different locations. The team searched for the optimal placement of the beacons that would provide a clear path between the obstacles. They found that the new optimisation tool worked quickly back through the robot's simulation and identified the best placement of the beacons within five minutes, compared to 15 minutes for conventional methods.

The second system was more complex and involved two-wheeled robots working together to push a box to a target position. A simulation of this system included many more subsystems and parameters. Nevertheless, the team's tool efficiently identified the steps needed for the robots to reach their target in an optimisation process that was 20 times faster than conventional approaches. If a system has more parameters to optimise, the tool can save exponentially more time. It's actually a combinatorial choice: as the number of parameters increases, so do the choices, and our approach can reduce that in one go.

The researchers have made the general optimisation method available for download. They want to further refine the code for application to more complex systems, such as robots designed to communicate and cooperate with humans. Their goal is to enable people to build better robots. They offer a new building block for optimising their system, so they don't have to start from scratch.

Photo: MIT