Robot Gyropode ouvert et évolutif

pour l'éducation, les hobbyistes, les hackers*, les geeks, ...

Geeros "Raspberry C / Python" permet de programmer Geeros :

  • en C via l'IDE Arduino
  • ou en Python avec une bibliothèque permettant une syntaxe similaire à celle de l'Arduino. 

La carte Raspberry Pi possède une connexion Wifi intégrée permettant d'accéder au robot à distance, de faire de la télémétrie de données et de la transmission vidéo en temps-réel.


Geeros "Raspberry C / Python" associe une carte compatible d'Arduino (pour gérer les aspects matériels bas niveau) et une carte Raspberry Pi pour les asservissements de haut niveau. Les caractéristiques du robot sont les suivantes:


Matériel:

  • carte Raspberry Pi avec Wifi intégré
  • carte micro-contrôleur A-Star 32U4, compatible Arduino
    • Atmega32u4, 32 Ko de mémoire flash, 16 MHz, programmation par interface USB ou par connecteur ICSP
    • 2 ponts en H intégrés pour commander deux moteurs à courant continu jusqu'à 1.8A
    • 12 entrées analogiques 10-bits
    • 20 entrées-sorties digitales
    • 7 voies PWM
    • 2 interfaces série TTL
    • connecteur 40 broches pour branchement sur une carte Raspberry Pi (A+, B+ ou Pi 2 modèle B)
    • 3 boutons poussoirs
    • 3 LEDs
    • 3 convertisseurs bi-directionnels 3.3V / 5V
    • accès aisé aux entrées/sorties grâce à un groupe de broches signal / masse / alimentation pour chaque voie.
  • câble USB pour la programmation de la carte A-Star 32U4
  • 2 moteurs à courant continu 6V avec réducteur 34:1 et codeur incrémental 48 CPR (1632 impulsions par tour d'arbre du réducteur = résolution de 0.22 degrés). Vitesse nominale à 6V: 185 tr/min
  • un MPU9250 (accéléromètre 3 axes, gyroscope 3 axes et magnétomètre 3 axes) avec interface I2C
  • batterie LiPo 7.4V, 2200 mAh avec protection intégrée, permettant d'utiliser une alimentation normale pour la charge
  • alimentation 12V, 1A pour charger la batterie
  • plateau inférieur (supportant les moteurs) en plexiglas bleu, facile à percer pour ajouter vos propres composants
  • plateau supérieur de prototypage mécanique en plexiglas bleu: déjà usiné pour vous permettre d'ajouter très facilement vos propres composants sans perçage nécessaire


La carte Raspberry Pi (interfacée en i2c à la carte A-Star) pour les asservissements de haut niveau et la communication Wifi avec un Linux embarqué (distribution Raspbian). Elle permet le pilotage à distance du robot et la récupération de données (télémétrie) depuis un ordinateur ou un smartphone, via une application Web.

Cette carte Raspberry Pi exécute entre autres les éléments suivants: 

  • asservissements de verticalité et de mouvement du robot
  • serveur Web (les fichiers de l'application Web de pilotage à distance sont fournis en code source)
  • serveur FTP
  • serveur SSH
  • serveur mjpg-streamer pour la transmission vidéo en temps-réel de la Webcam intégrée
  • serveur de télémétrie de données


Notez que contrairement aux architectures Arduino + shield Wifi, vous n'avez pas besoin ici de programmer un serveur Web sur la carte Romeo et de coder en C les fichiers du serveur Web.
Geeros "Raspberry C / Python" s'utilise beaucoup plus simplement:

  • vous concevez votre application Web (ou vous modifiez celle fournie avec Geeros) avec votre outil de développement classique (éditeur HTML ou environnement de développement Web évolué) sur votre machine de développement (Windows, Linux ou Mac)
  • vous vous connectez à Geeros "Raspberry C / Python" en FTP pour télécharger vos fichiers
  • vous ouvrez votre navigateur Web préféré (depuis votre ordinateur ou votre smartphone) à l'adresse de Geeros "Raspberry C / Python" (par défaut 192.168.0.199) pour accéder à votre application Web


Enfin, Geeros "Raspberry C / Python" intègre une Webcam articulée dans le plan vertical par un servo-moteur.


Logiciels:

La carte Raspberry Pi intégrée est livrée avec tous les programmes permettant de faire diverses expériences avec le robot. Entre autres, ces programmes écrits en Python permettent de:

  • maintenir le robot en position verticale et de suivre des vitesses de consigne en longitudinal et en rotation. Ce programme est exécuté automatiquement à la mise sous tension. Les consignes de vitesse sont nulles par défaut: Geeros reste vertical dans une position fixe. Si vous le bousculez, il ne tombe pas et revient à sa position initiale
  • commander les moteurs en tension
  • réaliser des asservissements de vitesse des moteurs
  • récupérer les accélérations et vitesses de rotation dans l'espace de la centrale inertielle intégrée
  • programmer le robot pour qu'il suive des trajectoires pré-programmées

Les mêmes programmes sont également disponibles en C pour être exécutés sur la carte A-Star compatible Arduino.


Les logiciels sont livrés en code source. Vous pouvez les modifier ou en créer de nouveaux comme vous le souhaitez, soit en les développant sur votre ordinateur (depuis n'importe quel type de plateforme: Windows, Linux ou Mac) avant de les télécharger par FTP, soit en les écrivant directement sur la carte Raspberry Pi.

La transmission vidéo se fait en temps-réel par la liaison Wifi du robot grâce au serveur mjpg-streamer intégré et démarré automatiquement à la mise sous tension.

Geeros "Raspberry C / Python" vous permet en standard (les logiciels fournis sont pré-configurés) de piloter le robot en Wifi depuis une autre pièce grâce à la transmission vidéo temps-réel des images de la Webcam, sur votre ordinateur ou sur votre smartphone (un simple navigateur Web suffit pour visualiser la vidéo). La caméra s'oriente à distance uniquement dans le plan vertical car l'orientation dans le plan horizontal est directement assurée par la rotation du robot.



 Acheter  Demander un devis 




La webcam s'oriente dans le plan vertical grâce à un servomoteur piloté interactivement par une application Web




Une interface Web simple permet de piloter Geeros et de visualiser en temps-réel (à droite) la vidéo prise par la webcam



Le pilotage en Wifi peut se faire à partir d'un ordinateur, d'un smartphone, d'une tablette,...

Eléments constituant Geeros "Raspberry C / Python"


Diagramme des échanges de signaux