ELECINF344/381

Partie interactive du site pédagogique ELECINF344/ELECINF381 de Télécom ParisTech (occurrence 2011).

Catégories

[CASPER] API update and software architecture

During these past weeks, we implemented several features in separate demonstration programs.

The time as now come to merge these features in a common architecture. For this purpose we revised the API we previously defined, in order to better fit our prototype and libraries.

Then we drew a schematic representation of casper’s software architecture, which should have a LUA script interpreter as the central element. This script interpreter will communicate with the other libraries by posting/retrieving data in a producer/consumer scheme, an exception being the configuration transactions.

The new version 0.2 of the API can be downloaded here: Casper API.

The software architecture is available in pdf file format here: architecture.

[CASPER] Http setup interface

Today, we have been looking for the simplest way of giving a http control interface to our project. We found that the C library Microhttpd was matching our needs.

It’s a library which will allow us to create a very simple http server on the BeagleBoard. This way a user will be able to get registered into Casper’s « Database ». Eventually, through this interface, he will be able to give his name, a new Lua script or his various logins/passwords to access his mails and so on…

Besides, we made some changes in Casper’s prototype. We made a « box » in wood which contains the motors and supports Casper itself, so it’s easier to move it.

 

[CASPER] PSSC

After some over-the-internet discussions, we finally agreed on the following list of goals and milestones :

A interface task is placed between SVOX Pico and ALSA on the beagleboard  – 04/18  Thibault
The beagleboard and Casper PCB communicate over an UART link – 19/04  Alain
We store and read images to and from the flash memory on the Casper PCB – 20/04  Alain
We are capable of having the beagleboard read a text file out loud – 20/04 Thibault
The beagleboard is able to recognized predetermined vocal commands – 21/04  Thibault
The LCD display adapts itself according to the robot’s orientation – 22/04  Alain
We are capable of controlling the robot’s tilt angle  -  22/04  Thomas
We are capable of controlling the robot’s orientation (azimuth) – 22/04   Thomas
The robot as been assembled, and the devices (camera, PCB, …) are on board – 23/04  Thomas
We can make the robot track a face (the robot’s orientation follows slow mouvements) – 25/04   Alain
The API we previously defined is accessible from LUA scripts - 27/04   Thibault
The robot is capable of accessing a simple mail box (without encryption protocols) – 28/04   Alain
The robot has a simple remote http setup interface – 29/04   Thomas
We use a LUA script, using the API, to drive the robot for the demo – 29/04   Thomas
The servomotors are being driven by a linux device driver on the beagleboard – 29/04  Thibault

[CASPER] API

Nous revoilà, nous aussi après un peu de silence.

Nous avons réalisé un premier document détaillant la plupart des fonctions de base que nous souhaitons développer dans notre projet.

Ces fonctions seront éventuellement amenées à évoluer au cours du projet, mais ce document définit tout de même dans les grandes lignes ce que nous souhaitons réaliser et mettre à disposition aux utilisateurs, l’objectif sous-jacent étant de les fournir par le biais d’un interpréteur de type lua (http://www.lua.org).

 

Ce document est téléchargeable en suivant le lien ci-dessous :

Casper API

 

Casper – Keypoints

Aujourd’hui précision des objectifs du projet pour lequel tout restait à définir.

Nous avons opté pour un mix entre le sytème Keepon et le système Nabaztag.

On reprendra la connectivité du Nabaztag et l’interaction « émotionnelle » du keepon.

L’idée est d’avoir un petit robot qui identifie son utilisateur grâce à une caméra (reco faciale) et l’interface avec différents services web (mails par exemple) par des commandes vocales.

L’interactivité émotionnelle passera par sa capacité à parler et par un visage expressif (mécanique ou tableau de leds).

Nous avons également ébauché une répartition des rôles et un planning. Nous débutons un premier repérage sur les bibliothèques existantes au niveau de la reconnaissance faciale et vocale et sur les besoins matériels. Est-il intéressant de choisir des chips dédiés pour le traitement vidéo, le traitement du son ou la connectivité ?

Nous avons ajouté à notre réflexion la possibilité d’incorporer un langage de script appelé lua (suggestion de Samuel Tardieu et Alexis Polti) afin de rendre flexible et évolutive l’architecture, en l’ouvrant aux utilisateurs.