A team of engineers at MIT has developed an optimization code for improving any autonomous robotic system. The code automatically identifies how and where to alter a system to improve a robot’s performance.
The engineers’ findings are set to be presented at the annual Robotics: Science and Systems conference in New York. The team included Charles Dawson, MIT graduate student, and ChuChu Fan, assistant professor in MIT’s Department of Aeronautics and Astronautics.
Designing AI and Robotic Systems
Artificial intelligence (AI) and robotic systems are used in a wide range of industries, and each system is the result of a design process specific to the particular system. To design an autonomous robot, engineers rely on trial-and-error simulations that are often informed by intuition. At the same time, the simulations are tailored to the specific components of the robot and its designated tasks, meaning there is no true “recipe” to ensure a successful outcome.
The MIT engineers are changing this with their new general design tool for roboticists. They developed an optimization code that can be applied to simulations of nearly any autonomous robotic system, and it helps automatically identify the ways in which a robot’s performance can be improved.
The tool demonstrated an ability to improve the performance of two very different autonomous systems. The first was a robot that navigated a path between two obstacles, and the other was a pair of robots that worked together to move a heavy box.
According to the researchers, this new general-purpose optimizer could help speed up the development of a wide range of autonomous systems, such as walking robots or self-driving vehicles.
Dawson and Fan said they realized the need for this type of tool after observing the various other 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 tool to check whether it will resist certain loads,” Dawson says. “However, there is a lack of these computer-aided design tools for autonomous systems.”
To optimize an autonomous system, a roboticist usually first develops a simulation of the system and its interacting subsystems before taking certain parameters of each component. The simulation is then run forward to see how the system would perform.
Multiple trial-and-error processes must be run before the optimal combination of ingredients can be determined, and this is a time consuming endeavor.
“Instead of saying, ‘Given a design, what’s the performance?’ we wanted to invert this to say, ‘Given the performance we want to see, what is the design that gets us there?’” Dawson says.
The optimization framework, or computer code, was designed to automatically find tweaks that can be made to an existing system. The code is based on automatic differentiation, which is a programming tool initially used to train neural networks. Also termed “autodiff,” this technique helps quickly and efficiently “evaluate the derivative,” or the sensitivity to change of any parameter.
“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.”
Testing the Tool
The tool was tested on two separate autonomous robotic systems, and it improved each system’s performance in lab experiments. While the first system comprised a wheeled robot designed to plan a path between two obstacles, it was the second system that was really impressive.
The second system was more complex with two wheeled robots working together to push a box toward a target position, meaning the simulation included many more parameters. The tool was able to efficiently identify the steps needed for the robots to accomplish their task, and the optimization process was 20 times faster than conventional techniques.
“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 general optimizer is available to download, and the team will now look to further refine it, which will make it useful for more complex systems.
“Our goal is to empower people to build better robots,” Dawson says. “We are providing a new building block for optimizing their system, so they don’t have to start from scratch.”
Credit: Source link
Comments are closed.