Contrôle d’une voiture Arduino avec le cerveau

Envoyé par le 2 Août 2014

Ce projet a été réalisé dans le cadre du projet S2 développement par 3 élèves de l’école Télécom Bretagne: Selsabil GAIED, Frédéric LECOGUIEC et Samia LAHBABI, et  est tutoré par Sylvie KEROUEDAN et Bernard GOURVENNEC.
L’objectif du projet est de pouvoir télécommander un robot de type Arduino en utilisant les possibilités offertes par le casque cérébral Emotiv EPOC. Ce mini-robot possède une interface Bluetooth capable d’échanger avec un ordinateur auquel est connecté le casque et qui est aussi le support de codage pour le développeur. Par l’action de la pensée (penser au fait d’avancer, de s’arrêter) ce casque récupère les signaux cérébraux qui seront transmis à un ordinateur pour ensuite être envoyés, via Bluetooth, après traitement du signal, à notre robot qui se déplacera par la suite selon l’action qui lui aura été ordonnée.

Notre prototype fonctionne selon le principe  illustré par le schéma bloc suivant:
schema bloc

Le logiciel Emotiv interprète la pensée et simule l’appui sur une touche du clavier. Le programme Python lit les entrées sur le clavier et envoie une commande par Bluetooth. Cette dernière est reçu par le robot par le biais de son module Bluetooth. La carte Arduino exécute donc la partie du code correspondante à la commande reçue, soit la marche ou l’arrêt des moteurs et par la suite la marche avant ou l’arrêt de la voiture.

  1. Réalisation de la mini voiture Arduino:

      • Matériel utilisé:
        • un support de voiture Freescale Cup (châssis, roues, moteurs et engrenages) :
        • une carte Arduino Uno
        • un freescale cup motor driver
        • un module Bluetooth CMS RFM70-S V2.0+EDR
        • une breadboard
        • 2 batteries
        • des fils de connexion
      • Montagemontage

        La carte Arduino Uno ainsi que la carte motrice sont chacune alimentée par une batterie (la freescale alimentant par la suite les deux moteurs des roues arrière de notre mini-voiture). Le module Bluetooth, quant à lui, est branché sur la breadboard; il est alimenté par du 3.3V .Enfin, la carte moteur est reliée à la carte Arduino aux broches digital 5 et 6, ce qui sera par la suite déterminant lors de la programmation du code Arduino.Le module Bluetooth branché avec l’Arduino reçoit les commandes sous forme binaire qu’il convertit en valeur entière : la valeur 1 désigne l’ordre « avancer » et la valeur 2 l’ordre «s’arrêter».


  2. La liaison entre le casque et le robot 

    Le casque Emotiv Epoc vient avec :
    – une clef USB dongle qui permet ma liaison sans fil avec l’ordinateur
    – un jeu de 16 têtes de capteurs placés dans un étui “humidificateur”
    – un bidon de NaCl
    – un manuel d’utilisation
    – Le pack des logiciels Emotiv pour Windows et leur licence.Pour plus d’informations sur le casque visitez ce lien: http://www.arts-numeriques.info/emotiv-epoc/.

    Pour  utiliser le casque, nous avons procédé à l’installation des logiciels fournis avec sur un PC Windows équipé d’un module Bluetooth, la pose des capteurs sur le casque, l’humidification des tampons des capteurs avec le NaCl et la connexion de ce dernier via la clef USB.

    Afin de réaliser la liaison casque-robot de notre prototype récupérer et pouvoir récupérer et envoyer les commandes du casque, nous avons passé par les étapes suivantes:

    • Connecter le casque
    • Calibrer le casque en s’entraînant avec le panneau de configuration Emotiv Control Panel
    • Allumer le Bluetooth de l’ordinateur
    • Allumer le Bluetooth de la voiture
    • Appairer le Bluetooth de l’ordinateur et celui de la voiture en liaison série
    • Noter l’adresse du port série utilisé pour cette liasion
    • Connecter le logiciel Emokey au Control Panel et ajouter les deux règles suivantes:
      – Règle 1 : Simuler l’appui sur la touche 1 du clavier si l’intensité détectée par le casque de l’action « pousser » est supérieure à 80%
      – Règle 2 : Simuler l’appui sur la touche 2 du clavier si l’intensité détectée par le casque de l’action « pousser » est inférieure à 80%
    • Exécuter le code Python,disponible sur ce lien https://github.com/sgaied/Robot-command–par-le-cerveau/blob/master/pythonSerialKey.py, dans une fenêtre terminal Windows (Ne pas oublier d’y insérer la bonne adresse du port COM de la liaision Bluetooth) .
    • Pointer la sortie du logiciel Emokey vers cette fenêtre.

On observera ainsi notre voiture avancer et s’arrêter selon l’intention de l’utilisateur du casque.

voiture Arduino

Un commentaire

  1. This really is pretty decent. I am just relaxing in my hotel room in Killarney reading all these opinions. Some are good and some fail to try to make a lot of real sense in the slightest. I am on holiday nevertheless I simply couldn’t help myself away from having a look around this blogging site besides the fact that my hotel room right here in Killarney charges cyberspace consumption on an hourly basis.cheap hotel deals killarney,hotels in killarney city centre

Laisser une réponse

Votre adresse e-mail ne sera pas publiée.