Improving autonomous robotic systems
A general-purpose optimization tool can improve the performance of many autonomous robotic systems. Shown here is a hardware demonstration in which the tool automatically optimizes the performance of two robots working together to move a heavy box.
MIT Researchers

Improving autonomous robotic systems

Departments - 1 Last Look

A general-purpose optimizer can speed up design of walking robots, self-driving vehicles, and other autonomous systems.

October 14, 2022

In designing an autonomous robot, engineers must run trial-and-error simulations, often informed by intuition, tailored to a particular robot’s components. In some respects, designing an autonomous robot is like baking a cake from scratch.

To change this process, Massachusetts Institute of Technology (MIT) engineers developed a general design tool for roboticists to use as an automated recipe for success. It can be applied to many autonomous robotic systems and used to automatically identify how and where to tweak a system to improve a robot’s performance.

Researchers hope the new general-purpose optimizer can help develop a range of autonomous systems.

Inverted design

Charles Dawson, an MIT graduate student and ChuChu Fan, assistant professor in MIT’s Department of Aeronautics and Astronautics realized the need for a general optimization tool after observing automated design tools available for other engineering disciplines.

“If a mechanical engineer wanted to design a wind turbine, they could use a 3D CAD tool to design the structure, then use a finite-element analysis (FEA) tool to check whether it’ll resist certain loads,” Dawson says. “However, there’s a lack of these computer-aided design (CAD) tools for autonomous systems.”

Normally, a roboticist optimizes an autonomous system by developing a simulation of the system and its subsystems, such as its planning, control, perception, and hardware components, and then tuning certain parameters of each component and running the simulation forward to see how it would perform in that scenario.

A general-purpose optimization tool can improve the performance of many autonomous robotic systems. Shown here is a hardware demonstration in which the tool automatically optimizes the performance of two robots working together to move a heavy box.
PHOTOS COURTESY OF THE RESEARCHERS

Only after running scenarios through trial and error can the optimal combination to yield the desired performance be identified. It’s tedious and time-consuming, so the researchers developed an optimization framework, computer code, that automatically finds changes for an existing autonomous system to achieve a desired outcome.

The code is based on automatic differentiation (autodiff), a programming tool developed to train neural networks and a technique evaluating the derivative, or sensitivity to change of any parameter in a computer program. Dawson and Fan built on recent advances in autodiff programming to develop a general-purpose optimization tool for autonomous systems.

“Our method automatically tells us how to take small steps from an initial design toward a design that achieves our goals,” Dawson says. “We use autodiff to essentially dig into the code that defines a simulator, and figure out how to do this inversion automatically.”

Building better robots

The team tested the tool on two autonomous robotic systems, and showed the tool quickly improved each system’s performance in laboratory experiments, compared with conventional methods.

The first system consisted of a wheeled robot tasked with planning a path between two obstacles based on signals received from two beacons at separate locations. The team sought to find the optimal beacon placement to yield a clear path between the obstacles. The optimizer quickly worked back through the robot’s simulation, identifying the best placement of the beacons within 5 minutes, compared to 15 minutes for conventional methods.

The second system consisted of two wheeled robots working together to push a box toward a target position. The simulation included more subsystems and parameters. Nevertheless, the team’s tool identified the steps needed for the robots to accomplish their goal in an optimization process that was 20x faster.

“If your system has more parameters to optimize, our tool can do even better and can save exponentially more time,” Fan says. “It’s basically a combinatorial choice: As the number of parameters increases, so do the choices, and our approach can reduce that in one shot.”

The team made the general optimizer available for download and plans to further refine the code for more complex systems, such as robots designed to interact with and work alongside humans.

MIT https://www.mit.edu