A component-oriented approach to simultaneous localization and mapping
The simultaneous localization and mapping (SLAM) problem is central to many mobile robots. The construction of a map of the local environment and the localization of the robot in that map must be accomplished in an incremental manner, even in the presence of signi cant error and uncertainty in sensor data. Further, the cyclic data dependency presents a challenge that does not lend itself to robust solutions. Solutions to the SLAM problem have been a major success in robotics research in the past 20 years. Existing solutions fully embrace the self-referential nature of the problem. There is a certain art to designing and tuning systems that achieve stability and conver- gence properties. Most robotics platforms implement a customized version of SLAM with modi cations to improve performance, given certain assumptions and a priori knowledge of the environment. Borrowing techniques and tools from the parallel composition research community, we aimed to design a robust, extensible, and e cient framework for SLAM solutions using a component- based architecture. This begins with a domain analysis, characterizing the breadth of existing solutions and factoring the logical function of various components in a modular way. We then de ne the interfaces for these components, provide implementations, and connect them in a data ow or dependency graph. The nal implementation presented supports, in theory, particle lter localization and can bene t from automated parallelization. However, it has not yet run successfully at the time of writing. The reasons for this include missing key features and non-working implementations of purported features in the tools used, PCOM2 and CODE. These limitations are described in detail and motivated, and should serve as justi cation for future work in parallel component composition research. Unfortunately, these are the only presentable results of the research done here at this time.