Integrating Wireless Sensor Nodes in the Robot Operating System

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 ROS-based 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.

[1]  Karl Aberer,et al.  Global Sensor Networks , 2006 .

[2]  David E. Culler,et al.  Active Message Communication for Tiny Networked Sensors , 2000 .

[3]  Adam Dunkels,et al.  A Low-Power CoAP for Contiki , 2011, 2011 IEEE Eighth International Conference on Mobile Ad-Hoc and Sensor Systems.

[4]  Yoshito Tobe,et al.  Deployment of Wireless Sensor Network Using Mobile Robots to Construct an Intelligent Environment in a Multi-Robot Sensor Network , 2008 .

[5]  Wouter Joosen,et al.  LooCI: a loosely-coupled component infrastructure for networked embedded systems , 2009, MoMM.

[6]  Matt Welsh,et al.  Sensor networks for emergency response: challenges and opportunities , 2004, IEEE Pervasive Computing.

[7]  Adam Dunkels,et al.  Contiki - a lightweight and flexible operating system for tiny networked sensors , 2004, 29th Annual IEEE International Conference on Local Computer Networks.

[8]  Morgan Quigley,et al.  ROS: an open-source Robot Operating System , 2009, ICRA 2009.

[9]  Aaron Martinez,et al.  Learning ROS for Robotics Programming , 2013 .

[10]  Srinivasan Seshan,et al.  IrisNet: An Architecture for Enabling Sensor-Enriched Internet Service , 2003 .

[11]  David E. Culler,et al.  TinyOS: An Operating System for Sensor Networks , 2005, Ambient Intelligence.

[12]  Anne-Marie Kermarrec,et al.  The many faces of publish/subscribe , 2003, CSUR.

[13]  Vijay Kumar,et al.  Robot and sensor networks for first responders , 2004, IEEE Pervasive Computing.

[14]  Viktor K. Prasanna,et al.  Issues in designing middleware for wireless sensor networks , 2004, IEEE Network.

[15]  Kay Römer,et al.  Middleware challenges for wireless sensor networks , 2002, MOCO.

[16]  Ian F. Akyildiz,et al.  Wireless sensor networks: a survey , 2002, Comput. Networks.

[17]  Kazuya Yoshida,et al.  Emergency response to the nuclear accident at the Fukushima Daiichi Nuclear Power Plants using mobile rescue robots , 2013, J. Field Robotics.