Université de Cergy-Pontoise, 7 juin 2006 Aibo Compagnon
2/24 Aibo Compagnon Contexte Objectifs Pilotage du projet Architecture globale Architecture de contrôle Contournement d'obstacles Synthèse & reconnaissance vocale Reconnaissance de formes Client C# Proposition, Justification des choix
3/24 Projet / Client / Equipe Projet de fin d'études Réutilisation des enseignements Effectif 4 personnes Période de recherche : 1 mois Période de dev 1 mois Charge (dev) : 120 J/H M. Philippe GAUSSIER Enseignant Chercheur Spécialisé Sciences Cognitives
4/24 Objectifs validés Cadre : Robot considéré comme domestique & ludique Assurer la "survie" du robot dans son environnement Proposer des interactions simples chien/maître Développement embarqué sur l'AIBO + Client déporté
5/24 Mathieu FFT, traitement son Lila Reconnaissance de formes Olivier Évitement d'obstacles Scripts URBIClient C# Nicolas URBI, Archi.de contrôle Intégration en continue Itérations multiples Orientation sur les compétences Organisation Documentations associées Site web bilingue
6/24 Validations Analyse & recherche 2 mai Développement et tests 10 mai Intégration 29 mai Pilotage du projet Mai 2006
7/24 Elevée Faible Probabilité Impact Risques Estimé Réel Délais Choix techniques Indisponibilité du robot Maladie / accident Environnement de test ≠ env. de production Manque de connaissance de la technologie
8/24 AIBOClient C# Architecture / Technologies URBI Terminal URBI Open-R Fonctions utilitaires Affichage caméra Synthèse vocale Reconnaissance vocale Evitement d'obstacles Déplacement C++ et URBIC++ et C# Reconnaissance de formes libURBI &.Net Framework
9/24 Programmer AIBO Open-R –Complexité de mise en œuvre R-Code –Langage de script limité Aibo Remote Framework –Trop haut niveau URBI –Bon compromis, langage prometteur
10/24 Prise en main rapide Interfaçable avec différents langages Accès bas niveau Mécanismes de contrôle temporel Parallélisme des tâches Implémentation sur le robot
11/24 Structure de contrôle Comportement 2 Comportement 3 Comportement 4 PerceptionPerception Comportement 1 Niveau réflexe Plus haut niveau, priorité faible Mécanisme de coordination basé sur la priorité Architecture type subsomption Actionneurs
12/24 Utilisation des événements URBI Code centralisé et chargé dès l'initialisation Désamorcer et "re-câbler" à chaud les comportements Structure de contrôle Réelle modularité d'ordonnancement
13/24 Contournement d'obstacles Réalisation d'une marche elliptique Utilisation des capteurs de distance Comportement gérant diverses situations de blocage
14/24 Contournement d'obstacles Réalisation d'une marche elliptique AIBO vue de face Déplacement vers la droite Déplacement vers la gauche Déplacement tout droit Utilisation des capteurs de distance
15/24 Contournement d'obstacles Comportement gérant diverses situations de blocage : –Si plus de marge de manœuvre : Recule –Si obstacle à gauche, à droite et devant : Demi tour
16/24 Déporté sur le client API Microsoft –Fichiers de grammaire (XML) Suivi de son –Embarqué –Script URBI –3 comportements : tourner la tête, se déplacer, s'orienter Synthèse et reconnaissance vocale
17/24 ? ?? ? ?? Reconnaissance de formes (1/4) Besoin : –Identifier une forme sur une carte Contraintes : –Interactivité / Temps de réponse –Taux d'erreur minimal Démarche –Analyse –Choix techniques –Implémentation
18/24 Analyse Analyses statistiques (Freeman) R é seaux de neurones Fiabilit é /Adaptation - « Intelligence » - R é solution rapide - ressources de calculs abordable (peu de formes) - des donn é es incompl è tes, bruit é es - Taux d ’ apprentissage difficile à d é finir - Calculs - Facilit é d ’ impl é mentation - Contrainte temps r é el - Temps de calculs - Peu souple Reconnaissance de formes (2/4)
19/24 Choix techniques (Freeman) Reconnaissance de formes (3/4) Filtre Conversion HSV 0< Angle <1 Orientation : tangente au contour Cha î ne de Freeman : " " D é tection de contours D é tection de couleurs Appareillage
20/24 Reconnaissance de formes (4/4) Résultats –Module de reconnaissance de couleurs –Difficultés : trouver l'algorithme adéquat –Solutions : recherche & tests Reste à faire –Optimisation des temps de traitement –Reconnaissance de contours et de formes –Intégration et tests dans AIBO Enseignements –Application des traitements de l'image –Prise en compte des contraintes temporelles
21/24 Portage de libURBI-java vers C# Ouvre plusieurs sockets vers le serveur URBI Multithreads Intégration simplifiée de librairies tierces Client C#
22/24 Synthèse des choix et résultats Langages de programmation URBI C# Puissant et en évolution continue Souplesse de développement Architecture de contrôle SubsomptionComportements modulables, préemption Synthèse & reconnaissance vocale API Microsoft Speech Ajout efficace des fonctionnalités Reconnaissance de formes Freeman Identification de couleurs Améliorer les performances
23/24 Retour d'expérience Points forts –URBI –Expérimenter idées et technologies Evolutions –Compléter la documentation d'URBI –Temps recherche / Temps développement –Environnements de test et de prod. hétérogènes
24/24 Conclusion 1 ère approche de la robotique ludique Permet d'éprouver URBI Client réutilisable Collaboration (M1) et disponibilité des chercheurs Interactions possibles ont confirmé les choix effectués
Université de Cergy-Pontoise, 7 juin 2006 Aibo Compagnon