The Universal robot bus : a local communication infrastructure for small robots
Design and construction of small autonomous mobile robots is a challenging task that involves the selection, interfacing and programming of a large number of sensor and actuator components. Facilitating this tedious process requires modularity and extensibility in both hardware and software components. This thesis concerns the development of a real-time infrastructural architecture called the Universal Robot Bus (URB), based on the popular Inter-Integrated Circuit (I 2C) bus standard. The main purpose of the URB is the rapid development and realtime interfacing of local nodes controlling small sensor and actuator components distributed on a mobile robot platform. It is designed to be very lightweight and efficient, with real-time support for RS232 or USB connections to a central computer. The URB infrastructure is inspired from the RiSEBus architecture, which is also an internal communication protocol for mobile robots, and developed to fit our requirements. URB offers a modular and extensible architecture for rapid and frequent changes to the platform design. Mobile robots also need to perform accurate sensory processing and estimation in order to operate in unstructured environments. Hence, the URB also supports real-time operations with reliable hardware and software components. The first novel contribution of this thesis is the design and implementation of automatic synchronization of data acquisition across multiple nodes. Our synchronization algorithm ensures that each node completes data acquisition tasks simultaneously well before read operations. Our experiments also prove that each individual node acquires data at approximately the same time instant. The second major contribution of this thesis is the incorporation of automated and unsupervised data acquisition across multiple nodes into the URB protocol. Autonomous data acquisition helps acquire periodic and frequently needed data over nodes. This enhancement reduces the computational load on the central processing unit and reduces bandwidth costs over the communication medium. This thesis also servers a survey on network architectures and protocols, network applications in robotics, synchronization algorithms, and applications of synchronization in robotics besides implementation details of the URB.