Engineers at the Massachusetts Institute of Technology (MIT) have created a design tool that roboticists can utilise as a type of automatic formula for success. The team has developed an optimisation code that can be used to simulations of nearly any autonomous robotic system and can be used to automatically determine how and where to modify a system to improve a robot’s performance.
“If a mechanical engineer wanted to design a wind turbine, they could use a 3D CAD tool to design the structure and then a finite-element analysis tool to see if it can withstand certain loads’” said Charles Dawson, an MIT graduate student along with ChuChu Fan, assistant professor in MIT’s Department of Aeronautics and Astronautics.
The team demonstrated that the tool could rapidly improve the performance of two distinct autonomous systems: one in which a robot traversed a path between two obstacles and another in which two robots worked together to move a heavy box.
The researchers anticipate that the new general-purpose optimiser will accelerate the development of numerous autonomous systems, such as walking robots, self-driving vehicles, soft and dexterous robots, and collaborative robot teams.
Typically, a roboticist optimises an autonomous system by first creating a simulation of the system and its many interdependent subsystems, including its planning, control, perception, and hardware components. Then, it must tune the parameters of each component and run the simulation forward to determine how the system would perform in the given scenario.
A roboticist is only able to determine the optimal combination of components to achieve the desired performance after executing numerous trial-and-error scenarios. Dawson and Fan sought to revolutionise a tedious, overly tailored, and time-consuming procedure.
The researchers created an optimisation framework, or computer code, that can automatically identify modifications that can be made to an existing autonomous system to achieve the desired result.
The core of the code is based on automatic differentiation, or “autodiff,” a programming tool initially used to train neural networks and developed by the machine learning community. Autodiff is a technique that can “evaluate the derivative” or the sensitivity to change of any parameter in a computer programme quickly and efficiently. Using recent advancements in autodiff programming, Dawson and Fan created a general-purpose optimisation tool for autonomous robotic systems.
The team tested their new optimisation tool on two distinct autonomous robotic systems and demonstrated that, compared to conventional optimisation methods, their tool significantly improved the performance of each system in laboratory experiments.
The first system consisted of a wheeled robot tasked with planning a route between two obstacles based on signals from two beacons placed in separate locations. The group endeavoured to determine the optimal placement of the beacons to create a clear path between the obstacles. They discovered that the new optimiser quickly retraced the robot’s simulation and identified the optimal placement of beacons in five minutes, compared to 15 minutes for conventional methods.
The second, more complex system consisted of two-wheeled robots collaborating to move a box toward the desired location. This system’s simulation included many more subsystems and parameters. Nevertheless, the team’s tool identified the necessary steps for the robots to achieve their objective in a 20-times-faster optimisation process than conventional methods.
The general optimiser is now available for download, and the team plans to refine the code so that it can be applied to more complex systems, such as robots designed to interact with and work alongside humans. This study was partially funded by the Defense Science and Technology Agency of Singapore and IBM.