|Thesis abstract: |
A physical prototype is essential since early stages of development of robotic systems, as they involve mechanical, electronic, and software components and the overall success of robotic applications depends on the performance, and on the interplay, of all of them. Unfortunately, set up a prototype is a demanding process that often drains resources from research activities, and prevents results to be transferred to real-world applications. This is one of the main limiting factors in today¿s robotic research and a major reason explaining the still missing entry of robotics into the mass market with the expected impact. This thesis presents the Rapid Robot Prototyping framework (R2P), which aims at dramatically reduce time and efforts required to build a prototype platform, allowing to focus on research aspects instead of struggling on implementation details. Modular, open source, development is the way to obtain this result: modules can be developed and consolidated individually, by research groups with specific competences, and then reused in multiple projects, sharing solutions and improving reliability. Modular approaches are common in several fields, and have been recently applied to robot software development; in this thesis, we bring the same approach to hardware and low-level control. Starting from the identification of a set of common requirements for robotic platforms, we have implemented specific, standardized, hardware modules, featuring on-board computation, each focused on the satisfaction of a specific functional requirement. We designed a communication protocol to enable the modules interact in real-time on a bus, allowing to accomplish complex tasks by the cooperation of distributed devices. A lightweight publish/subscribe middleware has been developed to bring to embedded firmware development the programming techniques which are currently restricted to high-level software, thus extending modularity to low-level control software. R2P also provides native interfacing to ROS, currently the most adopted software framework for robotics, enabling the developed platforms to be easily integrated in a large range of projects. Complex systems can now be implemented by assembling off-the-shelf components and easily programming their interaction, without the need for domain-specific knowledge in electronics and low-level control. In the thesis the overall approach has been validated with some use cases to demonstrate the effectiveness of the proposed approach on real applications.