Model-Based Adaptation for Mobile Robotics
How do you build a software system that can function for a century without being touched by a human engineer? This is the herculean task being undertaken by the DARPA Building Resource Adaptive Software System’s (BRASS) program, a task on which a research team led by ISR’s Jonathan Aldrich is leading the charge.
Software today operates in a variable ecosystem. Change in libraries, protocols, and physical platforms is rapid. An application developed today would likely become non-functional in a few years’ time without routine maintenance and upgrades, tasks typically handled by a human engineer at significant cost. The vision of the DARPA BRASS program is to design technologies that will enable the creation of long-lived complex software systems that are autonomously reactive to changes in both the physical and computational resources available to them.
The Carnegie Mellon team chose to approach the problem via robotics platforms for a variety of reasons. “We are excited by the challenge,” says Aldrich. “These are some of the most difficult platforms for which to develop software as they are almost entirely custom-built. Every robot, for every task, is running highly customized software.”
What’s more, Aldrich notes, is that robotics is a field tightly coupled to the physical world. DARPA was concerned with not only changes in the software space, but a system that could also adapt to changes in its environment or hardware. “Even the slightest bump to a sensor on the robot can throw its ‘vision’ out of alignment,” Aldrich explains. “So, how can the system detect this misalignment, assess the degree of misalignment, and autonomously reconfigure itself to compensate?”
Aldrich and his team are approaching this extremely complex problem through higher level modeling of the system, allowing them to incorporate a level of flexibility. “We want to abstract the software and its environment into models that explain how it works and why it has the properties that it has,” he points out. “Then when the software or the environment changes, we can look at the effect of those changes on the model. From there, we can then search the space of models similar to the one that we already have for a system configuration that would be better adapted to this new setting, environment, etc.”
A complex problem with this many facets requires a team with a range of expertise. And Aldrich’s group is no exception. To address the challenges in developing an expansive set of models for the project, David Garlan was an obvious choice to work alongside Aldrich, whose speciality lies in connecting abstract models to code. Additionally, Manuela Veloso, Chair of the Machine Learning Department and robotics visionary, was asked to join to provide much needed expertise on robotics platforms.
Additionally, two faculty from ISR were tapped to participate. Claire Le Goues, who has done research in automated bug repair, is looking to adapt some of her work for automatically searching out bug fixes to address the need to find reconfiguration strategies on the fly. And Christian Kästner, an expert on variability, was asked to assist developing analytical models that tie crucial robotics properties to choices between algorithms and tunable parameters on components.
While assuredly a significant challenge, the potential benefits of this technology are endless, Aldrich says. “There are likely very few people who haven’t become frustrated with software that is in constant need of maintenance.” He notes that users want the security and features that upgrades bring. But most software components are developed in isolation. Currently running updates and installing patches manually to make these disparate components interoperable is the only path to those enhancement. “The technologies we are working on can make this a more seamless process. Ultimately this will allow people to work with much richer, more interactive, more cohesive electronic devices.”