Toward Adaptation and Reuse of Advanced Robotic Software

Christopher R. Baker, John M. Dolan, Bakhtiar Litkouhi, and Shige Wang
Proceedings of the International Conference on Robotics and Automation, May, 2011, pp. 6071-6077.


Download
  • Adobe portable document format (pdf) (487KB)
Copyright notice: This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.

Abstract
As robotic software systems become larger and more complex, it is increasingly important to reuse existing software components to control development costs. For a broad class of relatively simple components, ranging from sensor and actuation interfaces to many simple perception and navigation algorithms, this can be a reasonably straightforward process, and many excellent frameworks have been developed in recent years that support reuse of such components in novel systems. However, there is also a class of more advanced software components, such as for modeling and interacting with complex environments, for which reuse can be a much more challenging problem. In particular, many advanced robotic algorithms can be highly sensitive to the perception and actuation capabilities of the specific robots they are deployed on, in turn requiring significant and invasive modifications to accommodate the specific capabilities of a different robotic system. This work examines the nature of this sensitivity and proposes a novel design methodology for isolating a stable, reusable “core” algorithm from any platform-specific enhancements, or “supplemental” effects. Modern software engineering techniques are used to encapsulate these supplemental effects separately from the core algorithm, allowing platform-specific details to be accommodated by modular substitution instead of direct modification of the “core” component. This methodology is experimentally evaluated on existing software for autonomous driving behaviors, yielding useful insights into the creation of highly adaptable robotic software components.

Keywords
robot software, reusability, adaptability, aspect-oriented programming

Notes
Associated Project(s): Composable Autonomous Driving Behaviors Architecture
Number of pages: 7

Text Reference
Christopher R. Baker, John M. Dolan, Bakhtiar Litkouhi, and Shige Wang, "Toward Adaptation and Reuse of Advanced Robotic Software," Proceedings of the International Conference on Robotics and Automation, May, 2011, pp. 6071-6077.

BibTeX Reference
@inproceedings{Baker_2011_6931,
   author = "Christopher R. Baker and John M Dolan and Bakhtiar Litkouhi and Shige Wang",
   title = "Toward Adaptation and Reuse of Advanced Robotic Software",
   booktitle = "Proceedings of the International Conference on Robotics and Automation",
   pages = "6071-6077",
   month = "May",
   year = "2011",
}