RobAIR-ICSOC12

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



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

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 under Linux (Kubuntu 10.04) or under Windows CE.

Wifibot' nuiltin sensors are
 * PTZ webcamLogitech QuickCam® Orbit AF ou Logitech Quickcam Sphere AF
 * Hokuyo Lidar (URG-04LX-UG01)
 * Infrared sensors (left and right)
 * Battery level sensors
 * Odometer

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.
 * Geiger counter Sensor
 * Arduino board with:
 * Gas sensors
 * 135038 Arduino Flame Detection Sensor Module for flame detection
 * 133696 HC-SR04 Ultrasonic Sensor Distance Measuring Module
 * Wii Motion Plus I2C Gyroscope
 * Inforad K0 NMEA-0186 GPS Receiver

Extra sensors are
 * XBox Kinect for depth images and webcam
 * 139741 Arduino Infrared Obstacle Avoidance Detection Photoelectric Sensor for stair/hall detection (Arduino board)

Extra actuators are
 * scream out loud - 110dBA fixed tone Siren (controlled by a relay on the Arduino board)

Pilot's Console

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

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 (and SIP/Simple but not in this demonstration). The SCA containers are : NaSCAr/iPOJO for Java/OSGi and iPOPO/Pelix for Python.

Services and API
The UPnP SCA Binding implements 1 device profile with 3 service types. The UPnP SCA Binding will include also in the future
 * [[File:upnp.robot.device.xml]]
 * [[File:upnp.chassis.service.xml]]
 * [[File:upnp.sensor.service.xml]]
 * [[File:upnp.xmpp.service.xml]]
 * [[File:upnp.sip.service.xml]]
 * the standardized Digital Security Camera Profile (DCP)

Video
COMING SOON

Acknowledgement

 * Olivier Aycard