Toward Adaptation and Reuse of Advanced Robotic Algorithms

Christopher R. Baker
PhD Thesis, Tech. Report, CMU-RI-TR-11-09, Robotics Institute, Carnegie Mellon University, September, 2010

View Publication

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.


As robotic systems become larger and more complex, it is increasingly important to compose them from reusable software components that can be easily deployed in novel systems. To date, efforts in this area have focused on device abstractions and messaging frameworks that promote the rapid and interoperable development of various perception, mapping and planning algorithms. These frameworks typically promote reusability through the definition of message interfaces that are sufficiently generic to cover all supported robot configurations. However, migrating beyond these supported configurations can be highly problematic, as generic data interfaces cannot fully capture the variability of robotic systems. Specifically, there will always be pecularities of individual robots that must be explicitly coupled to the algorithms that govern their actions, and no single message or device abstraction can express all possible information that a robot might provide. The critical insight underlying this work is that while the information that contributes to a given algorithm may change from one robot to the next, the overall structure of the algorithm will remain largely undisturbed. The difference is made in comparatively small details, such as varying individual weights or thresholds that influence the results of, but do not otherwise interfere with, the algorithm’s “main” calculations. This work proposes that exposing a few such points of variation in a given robotic algorithm will allow the modular treatment of a wide array of platform-specific capabilities. A corresponding design methodology is proposed for separating these platform-specific “supplemental effects” from a reusable, platform-independent “core algorithm”. This methodology is evaluated through case studies of two distinct software systems, the first drawn from the realm of autonomous urban driving, and the second from the domain of planetary exploration. The central contributions of this work are: A nomenclature and corresponding guidelines for discriminating between platform-independent “primary” data and platform-specific “supplemental” data; Quantified costs and benefits for two technical solutions to isolating the corresponding core algorithms from their supplemental effects; A classification of typical segments of advanced robotic algorithms that can be ffected by platform-specific data; A set of principles for structuring such algorithms to simplify the accommodation of future supplemental effects.

author = {Christopher R. Baker},
title = {Toward Adaptation and Reuse of Advanced Robotic Algorithms},
year = {2010},
month = {September},
school = {Carnegie Mellon University},
address = {Pittsburgh, PA},
number = {CMU-RI-TR-11-09},
} 2017-09-13T10:40:35-04:00