When designing an autonomous robot, engineers must run countless trial-and-error simulations, often informed by intuition. These simulations are tailored to a particular robot’s components and tasks, in order to tune and optimize its performance. Now, MIT engineers have developed a general design tool for roboticists to use as a sort of automated recipe for success.
The team has devised an optimization code that can be applied to simulations of virtually any autonomous robotic system and can be used to automatically identify how and where to tweak a system to improve a robot’s performance.
The heart of the code is based on automatic differentiation, or “autodiff,” a programming tool that was developed within the machine learning community and was used initially to train neural networks. Autodiff is a technique that can quickly and efficiently “evaluate the derivative,” or the 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 robotic systems.
The team showed that the tool was able to quickly improve the performance of two very different autonomous systems: one in which a robot navigated a path between two obstacles, and another in which a pair of robots worked together to move a heavy box.
The researchers hope the new general-purpose optimizer can help to speed up the development of a wide range of autonomous systems, from walking robots and self-driving vehicles, to soft and dexterous robots, and teams of collaborative robots.
The team has made the general optimizer available to download and plans to further refine the code to apply to more complex systems, such as robots that are designed to interact with and work alongside humans.