Prise en main du robot AIBO et développement d’un programme

Mini Projet de Robotique mené au cours de la 4ème année au département informatique à Polytech’Tours (2012-2013) par :

Erwann CLOAREC erwann.cloarec@etu.univ-tours.fr
Anais LINOT anais.linot@etu.univ-tours.fr

Le projet s’intitule « Prise en main du robot AIBO et développement d’un programme pour faire interagir le robot avec des objets ».

Le but de ce projet consiste à prendre en main le robot AIBO de SONY. Le travail comporte 2 parties. Dans la première, il s’agit d’étudier les fonctionnalités de base du robot et son fonctionnement. Dans la seconde partie, il s’agit de faire le point sur les environnements de programmation disponibles puis d’utiliser un environnement de développement afin de programmer une librairie pour AIBO.

Le robot sur lequel nous avons travaillé est le chient robot AIBO ERS-7. Il a été créé en 2002 par l’entreprise SONY, il est l’un des derniers chiens robots et fait partie de la 3ème et dernière version des robots chiens. Son nom AIBO est un diminutif venant du fait qu’il est doté d’intelligence artificielle (AI) et que c’est un robot (BO).

Le but principal de sa création était de faire interagir les robots dans la vie quotidienne des humains : C’est pour cela qu’AIBO est un robot très autonome, qui sait se prendre en main (aller se recharger tout seul, entrer en interaction avec des humains…) et qui s’adapte à la vie des humains, mais qui a beaucoup besoin des humains pour vivre, apprendre et avoir sa propre personnalité.

[…]
Les capteurs du robot

Tout comme un autre animal, AIBO a des sens qui lui permettent de ressentir les choses et les interactions avec les humains, le sol etc. Des sens lui viennent des différents capteurs qu’il possède :

  • Le sens du toucher : Le robot contient quatre capteurs tactiles qui lui permettent de ressentir toutes interactions. Il en a un sur la tête, un sur le menton et un sur le dos, pour ressentir les caresses des humains. Et un sur les pattes pour lui permettre de détecter tout contact avec le sol.
  • Le sens de l’ouïe : AIBO détecte des sons grâce à une paire de micros stéréo au niveau de ses deux oreilles. Elles lui permettent de capter des sons et ainsi réagir aux voix qu’il entend.
  • Le sens de la vue : AIBO est doté d’une caméra au niveau de sa truffe et de capteurs de distance par infrarouge au niveau de son collier. C’est une caméra couleur, qui permet de prendre des photos, et ainsi pour AIBO de reconnaitre les personnes qu’il a rencontré et d’éviter les obstacles lorsqu’il se déplace.
  • Le sens de l’équilibre : AIBO est composé de capteurs de vitesse et de capteurs tactiles au niveau des pattes. Ils lui permettent de se lever et se déplacer tout en gardant un équilibre.

[…]

Concernant la programmation, le R-CODE est un moyen simple de débuter la programmation de AIBO. Ce langage de script nous permet de lancer un programme simple sur AIBO. Le R-CODE permet de lancer un programme directement dans AIBO ou par communication Telnet.

Urbi, un outil simple et puissant pour programmer AIBO. URBI est une plateforme de logiciels open-source qui n’est pas propre à AIBO, mais qui permet un plus grand contrôle du chien. C’est avant tout un langage orienté objet qui nous permet de contrôler AIBO dans ses moindres détails, par exemple contrôler exactement l’orientation d’un moteur, ou de vérifier la valeur d’un capteur. Il nous permet également d’apporter des comportements spécifiques à AIBO grâce à la grammaire du langage. URBI permet également de le contrôler à distance. Le fichier de configuration est exactement le même que pour le R-CODE. Mais nous pouvons contrôler AIBO grâce au logiciel URBILab. Ce logiciel permet d’avoir des informations sur les variables du robot, ou de les modifier, avec une vue directe sur ces informations. Nous pouvons donc utiliser les commandes URBI classiques. Ce logiciel est très pratique lorsqu’il s’agit de vérifier du code, puisqu’il permet d’avoir une sortie sur l’écran en cas d’erreurs. Il permet aussi de vérifier le niveau de la batterie.

Pour mettre en pratique nos connaissances sur AIBO, nous nous sommes fixé comme objectif de donner à AIBO une fonctionnalité : suivre un objet qui lui est présenté. Nous avons donc créé un programme permettant de réaliser du Balltracking à l’aide d’une balle rose.

[…]
Notre programme

Notre programme présente la communication de la balle rose avec AIBO. Nous avons donc programmé AIBO pour qu’il puisse répondre à notre objectif. Le comportement d’AIBO est donc le suivant :

  • AIBO est mis dans sa position initiale.
  • AIBO s’étire et met ses jambes dans la bonne position pour se lever.
  • AIBO se lève et cherche la balle.
  • Lorsqu’il ne voit pas sa balle, il la recherche en regardant de droite à gauche.
  • Lorsqu’il voit sa balle :
    • Si la balle est loin, il va chercher à s’en approcher.
    • Si la balle est proche, il va suivre la balle de son regard, en faisant des mouvements de la tete du haut vers le bas et de la droite vers la gauche pour essayer de ne pas la perdre.
    • Si la balle est trop sur le côté et qu’AIBO ne peut plus tourner la tête pour la voir, il va marcher en tournant pour diriger son regard vers la balle.

[…]

Voici une démonstration en vidéo de notre programme en éxécution :

En conclusion, AIBO est un robot très complet et très intelligent. En effet il a différents modes de communication et est doté de beaucoup de sens. Il est conçu pour s’adapter à la vie quotidienne des humains. Or, vivre avec un robot est une nouvelle habitude à prendre, nous avons donc dû commencer par apprendre à vivre avec AIBO, c’est-à-dire , lui donner un espace de vie, penser à le recharger, jouer avec lui, et toutes autres actions nécessaires au bon fonctionnement du robot. Nous avons beaucoup appris à cette étape sur son intelligence artificielle, c’est-à-dire comment le robot interagit avec l’environnement, avec nous, avec les objets, comment il se déplace et effectue des mouvements, de quoi est-il composé.

Dans la seconde partie ou nous devions faire un programme pour AIBO, nous devions tout d’abord choisir quel serait le langage le mieux adapté à notre utilisation. Nous avons travaillé sur l’ensemble des langages interprétables par le robot. Cela nous a été très profitable pour apprendre la partie robotique de AIBO et comment programmer un robot. En effet la programmation en robotique diffère d’une programmation classique. Il est dommage que Sony ait arrêté la production de ce robot depuis 2006, car sinon ils auraient pu démocratiser le robot comme animal domestique.

Télécharger le rapport

A bientôt dans un prochain billet …

2 Comments

  1. Pingback : Des robots ou des Hommes? | Pearltrees

  2. Pingback : Gregory Smith

Laisser un commentaire