Un robot avec un Raspberry Pi programmé en JAVA

Voici une petite présentation du défi que je me suis lancé. Cette description n’est pas exhaustive et est amenée à évoluer au cours du projet.

Ce projet consiste à développer un robot en utilisant un Raspberry Pi et le langage JAVA.
Equation robot
Ce robot devra avoir les facultés suivantes :

  • la collecte d’informations :
    • la vue : le robot devra être capable de reconnaître des personnes grâce à la reconnaissance faciale. Il pourra, dans un second temps pouvoir reconnaître certains objets.
    • l’ouïe : le robot devra être capable de reconnaître ce que disent les personnes grâce à la reconnaissance vocale.
  • le retour d’informations et la réaction :
    • la parole : le robot devra être capable de parler grâce à la synthèse vocale.
    • la mobilité : le robot devra être capable de se mouvoir et de naviguer dans un environnement inconnu.
  • une intelligence artificielle : grâce aux facultés précédentes, le robot devra être capable d’interpréter, d’interagir et de prendre des décisions en conséquence avec l’environnement qui l’entoure (personnes, lieux, …).

 

Côté matériel :

 

Côté logiciel :

Pour cette partie là, je vais essayer, dans la mesure du possible, d’utiliser des outils/librairies libres et open-source qui ne soient pas trop compliqués à appréhender.

  • la distribution Raspbian pour le Raspberry Pi. J’ai choisi cette OS, car dans sa dernière version, il inclut JAVA 7 dès l’installation. C’est toujours ça de moins à configurer !!!
  • le langage JAVA 7 pour la partie développement.
  • la librairie OpenIMAJ pour la vision artificielle et la reconnaissance faciale. C’est une librairie d’analyse multimédia sous licence BSD développée par des chercheurs de l’université de Southampton au Royaume-Uni. C’est une librairie très bien conçue qui permet des choses étonnantes en matière de reconnaissance, rapide et entièrement écrite en JAVA.
  • la librairie Sphinx 4 pour la reconnaissance vocale.
  • les librairies FreeTTS / MBROLA par l’intermédiaire de la librairie SI VOX pour la synthèse vocale. SI_VOX est en quelque sorte, l’implémentation française de FreeTTS permettant de prendre en compte le modèle des voix françaises de MBROLA. C’est un projet développé par des étudiants de l’ESSI à Sophia-Antipolis et placé sous licence MBROLA (l’utilisation ne peut pas être faite pour des projets commerciaux).
  • la machine virtuelle Java LeJOS et la librairie LeJOS NXJ permettant de contrôler la brique NXT des Lego Mindstorms pour, entre autres, les déplacements du robot.

Avec tout cela, nous sommes en mesure de commencer à concevoir notre futur robot ;-). Il n’y a plus qu’à se lancer.

Nicolas

About Nicolas

Développeur JAVA, je suis passionné de robotique depuis quelques années, notamment tout ce qui concerne la partie programmation (vision artificielle, synthèse et reconnaissance vocale, intelligence artificielle, ...).

Laisser un commentaire

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

Vous pouvez utiliser ces tags et attributs HTML :

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>