Facilitating Re-Use by Design: A Filtering, Transformation, and Selection Architecture for Robotic Software Systems

Despite a number of contenders, no single robotics software framework has emerged as the standard, seriously impairing reuse at the component level. We propose a general pattern that structures components into sub-parts of lower granularity arranged in a transformation graph, thus making them more amenable to reuse. The graph representation supports both efficient execution and external configurability, to further reduce coupling and increase reuse. A framework-independent library is presented that realizes the pattern and provides a number of building blocks to easily integrate with existing software. We validate the approach using a case study from a current research system.