The Robot Operating System (ROS) is a popular middleware that eases the design, implementation, and maintenance of robot systems. In particular, ROS enables the integration of a large number of heterogeneous devices in a single system. To allow these devices to communicate and cooperate, ROS requires device-specific interfaces to be available. This restricts the number of devices that can effectively be integrated in a ROS-based system. In this work we present the design, implementation, and evaluation of a ROS middleware client that allows to integrate constrained devices like wireless sensor nodes in a ROSbased system. Wireless sensor nodes embedded in the environment in which a robot system is operating can indeed help robots in navigating and interacting with the environment. The client has been implemented for devices running the Contiki operating system but its design can be readily extended to other systems like, e.g., TinyOS. Our evaluation shows that: in-buffer processing of ROS messages without relying on dynamic memory allocation is possible; message contents can be accessed conveniently using well-known concepts of the C language (structs) with negligible processing overhead with respect to a C++-based client; and that ROS’ message-passing abstraction facilitates the integration of devices running event-based systems like Contiki.
CITATION STYLE
Scholl, P. M., Brachmann, M., Santini, S., & Van Laerhoven, K. (2014). Integrating wireless sensor nodes in the robot operating system. Studies in Computational Intelligence, 554, 141–157. https://doi.org/10.1007/978-3-642-55029-4_7
Mendeley helps you to discover research relevant for your work.