RobAIR-ICSOC12

From air
Revision as of 16:05, 9 August 2012 by Donsez (talk | contribs)
Jump to navigation Jump to search

A Dynamic SCA-based System for Smart Homes and Offices

Authors: Thomas Calmant, Joao Claudio Américo, Didier Donsez and Olivier Gattaz


DEMO PROPOSAL FOR ICSOC 2012 http://www.icsoc.org

WifiBot with geiger counters and toxic gas sensors
WifiBot's Lidar
WifiBot's Lidar Pilot Widget
WifiBot's Camera Pilot Widget
WifiBot's Edge Detection Pilot Widget
WifiBot's Sensors Pilot Widget

Summary

We demonstrate the interoperability and the dynamism capabilities in SCA-based systems in the context of robotic for smart habitats. These capabilities are due to two developed tools: a Python-based OSGi runtime and service-oriented component model (Pelix and iPOPO, respectively) and a tool to publish SCA services as OSGi services (NaSCAr). By this, we have developed a robot service and a pilot' user-agent, which can dynamically add and remove sensors and widgets. This use case follows and responds to the ubiquitous computing trend and the runtime adaptivity needed in such systems.


Keywords: SCA, Service-Oriented Architectures, Component-Based Design, Dynamic Adaptation, Smart Habitats, Service Robotic

Hardware

Robot

RobAIR (Robot for Ambient Intelligent Room) is based on the Wifibot robot. The Wifibot had a chassis with 4 wheels geared by 4 DC motors with hall encoders. The Wifibot is controlled by an Atom D510 main board running Linux (Ubuntu) or Windows CE.

Wifibot' nuiltin sensors are

For the demonstration, we have plugged several additionnal sensors on the available USB ports (remark: USB hubs are not correctly managed by the current OS distribution). Several analog and digital sensors are soldered on an Arduino shield piggybacked on an Arduino UNO board.

Extra sensors are

Extra actuators are

Pilot's Console

  • PC with USB game controller ou Nunchuck+Arduino UNO
  • Android phone or tablet

Software

Component architecture

The robot's embedded software and the pilot's console are developed using 2 SCA composites. Inner components are developped in Python and in Java/OSGi. Components and Composites are bound using four types of SCA bindings : direct reference, local socket, UPnP, XMPP/Jingle. The SCA containers are : NaSCAr/iPOJO for Java/OSGi and iPOPO/Pelix for Python.

Services and API


Video

COMING SOON

Acknowledgement

  • Olivier Aycard


References

  • Calmant, T., Américo, J.C., Gattaz, O., Donsez, D., and Gama, K.: A dynamic and service-oriented component model for Python long-lived applications. In Proceedings of the 15th ACM SIGSOFT Symposium on Component-Based Software Engineering (2012) pp. 35–40.
  • Américo, J.C., and Donsez, D.: Service Component Architecture Extensions for Dynamic Systems. Accepted for the 10th Int’l Conference on Service-Oriented Computing (2012)