Difference between revisions of "RobAIR2013-RICM4-Groupe3-Report"

From air
Jump to navigation Jump to search
Line 135: Line 135:
   
 
The RICM5 group was the project architects and designed the architecture of our work.
 
The RICM5 group was the project architects and designed the architecture of our work.
  +
 
[[File:ArchitectureRobAIR.jpg]]
 
[[File:ArchitectureRobAIR.jpg]]
   

Revision as of 09:08, 11 April 2013

overview of the robot

BIDOIS Morgan & NUNES Thomas

RobAIR Projet - Multimedia part

04/2013


Introduction

RobAIR is a project in which several schools and departments are involved, such as the RICM and 3I departments of Polytech'Grenoble, ENSIMAG and Pole Design de Villefontaine. This project consists of developing an extensible and open-source robotic platform. The robot, called RobAIR, is a telepresence robot that can be used for museum tours while the user controls it thanks to an Android tablet. The conception of this robot was divided into several sub-projects, such as the electronic aspects for the 3I students, WiFi Roaming for the RICM's group 1 students, the robotic aspects for the RICM's group 2 students and the communication between the user and the robot for the RICM's group 3 students. As the members of the RICM's group 3, we will explain our sub-project in this report.

Context

Existing

Existing sources

One of the first use of the robot robAIR could be the interactive tour of a museum. In this sector, some technologies already exist. The interactive tour of famous museums is already possible on the Internet. It is possible to visit them looking at 360 degrees photos of the rooms. The movement is done by links into the photos like in the google maps application. The robots are also already in place in some museums. Their role for the instance, are just guides or operators. With the robot robAIR, it could be possible to guide the client and make visio tour in the same time but also to have a visit done by a private client.

I.1.2) Sources

Existing virtual museum visit system:

  • An example of virtual visit by Google [1]
  • Louvre Virtual visit [2]
  • ErasmeVirtual visit[3]

I.2) Objectives

We are responsible in this project of:

  • The communication between the robot and the controller.
  • Videoconferencing between the robot and the controller.
  • The communication between the controller and the tablets which allows the user to control the robot.
  • The tablet interface to control the robot.

Figure of project organisation

Specifications

  • Control a robot and interact with videoconferencing.
  • Establish the communication between the robot and the server.
  • Establish the communication between the server and the robot.
  • Have a feedback on the robot state (battery level, problems encountered)
  • Display data about the robot environment to get a feedback (robot velocity, position on the map).

Constraints

General constraints

Platform constraints:

  • ROS must operate on an Ubuntu platform.
  • Tablet's controller interfaces are developed for the Android platform.

Environmental constraints:

  • Wifi with Internet access for the robot and for the controller.
  • The robot can’t climb up steep slopes.

User characteristics

The user doesn’t need to be familiar with programming and doesn't need a specific formation. He just needs to know how to use a tablet and a television.

Implementation

Technologies Choices

Videoconferencing

OSGi and Jitsi

At the start of the project we talked with Thomas Calmant and Joao Claudio Américo who worked on RobAIR 2012 project. They recommended to use OSGi to organize with a component model our application and help us about the use of Jitsi.

Jitsi, which use OSGi, was not implemented correctly and we could not extract a service of the program. After some research, we discovered that there was a library Jitsi named LibJitsi allowing use of videoconferencing as a service.

LibJitsi

Libjitsi is a library based on Jitsi. We tried to use it with the RICM5 group who helped us. However, their examples did not work and we haven’t found support by the community to find a solution.

LibJingle

After the Jitsi problems we have tested an other solution. Libjingle is a collection of open-source C++ code and sample applications that enables you to build a peer-to-peer application like video conferencing.

Very complicated to install and difficult to run a video conferencing application. Despite the help of RICM5 group, we can’t create a videoconferencing with sound and video.

Gstreamer

GStreamer is a pipeline-based multimedia framework written in the C programming language with the type system based on GObject. The RICM5 group develop this solution after previous failures.

The code is on Github: [4]

Then we focused on the RobAIR interface.

RobAIR reservation platform

The RICM5 group has created a Web reservation platform using the python microframework Flask. The platform has an API which accept reservation request and answer if the request is correct and then give the date of the end of the connection session.

Their work is at [5].

After that, we forked their work to extend this and continue its development.

Our final version is at [6]

RobAIR Interface

The goal was to allow a tablet or a smartphone to connect to the server. Communication between the TV server and the controller device.

The first architecture indicated the usage of CometD. However this technology is aging. And we have prefered to use the websockets, a technology more adapted to our project. Communication between the TV server and the robot

The communication was designed by the RICM5 group who chose to use a XMPP canal to communicate with the robot.

Mobile application

Three choices were possible:

  • A native application on android: sharply reduce the number of supported devices.
  • A phoneGap application: Do not work on PCs, heavier installation and configuration.
  • A web-mobile application: Can not use all system functions.

We finally choose to do a web-mobile application recommended by the RICM5 group. The implementation of websockets is easier and they could offer a support on these technologies.

Framework

The Flask python micro-framework is used to homogenize with the portal reservation technology. We used on client side javascript, jquery, HTML5 and CSS.

Architecture

Project global architecture

The RICM5 group was the project architects and designed the architecture of our work.

ArchitectureRobAIR.jpg

Reservation portal

Reservation portal structure.

The reservation portal is a python online server.

ReservationPortal.jpg

ROS integration

ROS.jpg

Conclusion