Handling Hardware Heterogeneity through Rich Interfaces in a Component Model for Autonomous Robotics
Résumé
Coping with hardware heterogeneity is one of the hardest challenges in robotic software. Making software architectures capable of adapting to a large spectrum of rapidly changing hardware components, such as sensors and actuators, is indeed crucial. This paper proposes to address the challenge by abstracting components from resources through resource interfaces, that deal with the functional and non-functional constraints on resources, such as their calling protocol, minimal or maximal frequencies of activation, range of domain values, physical constraints (envelope, power consumption), etc. The key contribution of this paper is therefore to capture the requirements of the software architectures and the characteristics of the hardware platform as high level constraints and then to check their compatibility and find appropriate configuration settings by solving this set of constraints. To offer an extensible framework, our current implementation relies on a general constraint solver to check these first at composition and then at deployment times.