Abstract :
Portable, modular and extensible software allows robotics researchers to pool their resources by sharing algorithms, thus advancing research in the field of robotics at a faster rate than is possible under a non-collaborative model. The development and use of frameworks and middleware, allowing researchers to encapsulate robotic capabilities within a component structure, has traditionally been the focus of robotics software engineering research. Although components greatly enhance the software mechanism´s portability, modularity and extensibility, they do not directly address the algorithmic issues confronting developers of robotics software. Software algorithms, implementing specific robotic capabilities, require input data and produce output results. As a rule, these input/output data representations are closely tied to a given algorithmic implementation and hence impose limitations on modularity and extensibility. This paper investigates the use of generic data representations to enhance software modularity and extensibility. Experiments, conducted on the DRDC raptor unmanned ground vehicle, compared the performance of algorithms based upon both generic and algorithm specific data representations. This research has determined that the performance penalty, resulting from generic data representations usage, is manageable by robotic platforms using current off-the-shelf computing platforms.
Keywords :
control engineering computing; robots; software engineering; DRDC raptor unmanned ground vehicle; generic data representations; robotics software engineering; software algorithms; software extensibility; software modularity; Application software; Data structures; Land vehicles; Middleware; Research and development; Robot sensing systems; Robotics and automation; Software algorithms; Software engineering; Software performance;