Fiche de Pepper

Le robot Pepper est développé par la société Softbank Robotics. Il a été publiquement présenté la première fois en 2014, ce qui en fait le petit frère du robot Nao. Il mesure 121 cm, pèse 28 kg et peut se déplacer sur ses trois roues. Il s’allume et s’éteint grâce au bouton rond placé sur son torse, sous sa tablette. Lorsqu’il est allumé, il est possible de connaître l’adresse IP du robot grâce à ce même bouton: en appuyant un coup bref, le robot va donner son nom suivi de son adresse IP s’il est connecté à un réseau.

Voici quelques caractéristiques:

  • autonomie: ~12h
  • degrés de liberté: 20
  • processeur: Intel Atom E3845
  • Clock speed: 1.91Ghz
  • RAM: 4GB DRD3
  • compatibilité: Linux, Mac OS, Windows

Caractéristiques matérielles :

    1. capteurs tactiles:
      • 3 sur la tête (avant, milieu et arrière)
      • 1 sur le dessus de chaque main
      • 3 bumpers sur la base
      • 1 bouton sur le torse
    2. capteurs vidéos:
      • 1 caméra au dessus des yeux (orientée devant lui)
      • 1 caméra au niveau de la bouche (orientée sur ses pieds)
      • 1 caméra 3D dans l’oeil gauche
    3. capteurs sonores:
      • 4 micro sur la tête (de part et d’autre des capteurs tactiles)
    4. haut parleurs:
      • 1 de chaque côté de la tête
    5. capteurs de proximité:
      • 2 sonars sur la base
      • 3 lasers sur la base
      • 2 capteur infrarouge sur la base
    6. connectivité:
      • 1 prise RJ45 derrière la tête
      • connexion Wifi
    7. orientation:
      • 1 accéléromètre sur trois axes
      • 1 gyromètres
    8. tablette
      • 1280 x 800 px
      • navigateur: Chromium

 

 

La tablette de Pepper agit principalement comme un navigateur. Cela dit c’est une tablette Android donc il est possible de développer en Android mais avec le nouveau QiSDK Android de Softbank sur lequel nous n’avons pas encore réellement d’expertise.

Caractéristiques logicielles :

 

Le système d’exploitation de Pepper est une distribution GNU/Linux basée sur Gentoo, développée spécifiquement pour les besoins de la robotique. Celui-ci s’appelle NAOqi.

Pour développer un programme sur Pepper, il faut utiliser le logiciel constructeur Chorégraphe. Il existe d’autres moyens de programmer Pepper, mais l’utilisation de Chorégraphe reste la plus simple et la plus rapide pour un novice. Ce logiciel permet de faire de la programmation graphique, à l’aide de boîtes reliées les unes aux autres, mais aussi une programmation classique en Python ou C++.

Il existe une librairie de boîtes existantes de base dans Chorégraphe (box libraries), qui permet une programmation simple. Mais il est aussi possible de créer des boîtes sur mesure, en faisant un clique droit dans la fenêtre principale de Chorégraphe, puis “create new box”. Il existe quatre type majeur de boîtes: Diagram, Timeline, Python, Dialog.

Il est important de développer un peu plus les boîtes de dialogue, étant donné leur caractère spécifique au développement des robots Nao et Pepper. En effet, une boîte de diagramme permet simplement de combiner plusieurs boîtes ensemble pour créer une boîte sur mesure plus complexe. La timeline, quant à elle, permet de faire des animations, ou établir une chronologie entre plusieurs actions. La boîte Python, comme son nom l’indique, permet d’intégrer des scriptes en Python, directement dans le programme.

Développons maintenant un peu plus les boîtes de dialogue. Elles permettent d’écrire ce que le robot va dire, en fonction de ce qu’il écoute, ce qui peut être un mot dit par la personne qui interagit avec le robot, ou un événement capté par la boîte. Ces événements sont typiquement l’entrée ou la sortie de la boîte de dialogue, qui sont, par défaut “onStart” (pour l’entrée) et “onStopped” (pour la sortie). Libre au développeur de modifier ou ajouter des entrées et sorties de sa boîte. Pour écouter un évènement, il suffit de le précéder de “e:” , pour lever un événement, il faut le précéder de $ et lui donner une valeur.

Typiquement:

u:(e:onStart) Bonjour $onStopped=1

 

Dès lors que la boîte est stimulée par son entrée “onStart”, le robot dira “Bonjour” puis sortira du dialogue par la sortie onStopped avec la valeur 1, “u:” étant le code nécessaire à chaque début d’écoute du robot. De manière analogue à l’exemple précédent, il est possible d’écouter ou de lever n’importe quel événement. Il est aussi possible d’écouter plusieurs événements, ou de les combiner avec l’écoute de mots, de récupérer de valeurs dynamiques ou de les utiliser… Pour plus d’informations, se référer à la documentation officielle: qiChat. En dernier point, il est aussi possible de varier le discours, avec des balises telles que:

pauses en millisecondes : \pau=100\

vitesse : \rspd=130\ 130 -> rapide, 100 -> normal

timbre: \vct=130\ 130 -> aigu, 100 -> normal

 

Pour plus d’information, en général sur les API NAOqi, se référer à la documentation.

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *