Robot Gyropode ouvert et évolutif

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

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

  • en C via l'IDE Arduino
  • ou en Python avec la librairie Pyduino, qui donne accès aux entrées-sorties de la carte avec une syntaxe très similaire à celle utilisée sur les Arduino.

La carte pcDuino v3 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 "pcDuino C / Python" associe une carte compatible d'Arduino (pour gérer les aspects matériels bas niveau) et une carte pcDuino pour les asservissements de haut niveau. Les caractéristiques du robot sont les suivantes:



Matériel:

  • mini ordinateur pcDuino, possédant entre autres les caractéristiques suivantes (plus de détails en cliquant ici):
    • CPU AllWinner A20 SoC, 1GHz ARM Cortex A7 Dual Core
    • DRAM 1 Go
    • mémoire Flash 4 Go, emplacement pour carte microSD jusqu'à 32 Go
    • OS Ubuntu 12.04
      • 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 (compatible avec n'importe quelle Webcam UVC)
    • connecteur Arduino identique à l'Arduino Uno (14xGPIO, 2xPWM, 6xADC, 1xUART, 1xSPI, 1xI2C)
    • Wifi intégré
    • Ethernet 10M/100Mbps
    • 1xUSB host, 1xUSB OTG


  • carte Iteaduino Uno, compatible Arduino Uno. Cette carte a été choisie car il est très facile de l'associer à la carte pcDuino:
    • elle peut nativement fonctionner en 3.3V (qui est le tension des entrées-sorties de la carte pcDuino)
    • elle possède un convertisseur de tension très effficace permettant d'alimenter la pcDuino en 5V / 1A
  • câble USB pour la programmation de la carte Iteaduino Uno
  • shield robotique intégrant:
    • 2 ponts en H pour commander les deux moteurs à courant continu du robot (driver TB6612FNG)
    • un MPU9250 (accéléromètre 3 axes, gyroscope 3 axes et magnétomètre 3 axes)
  • 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). Vitesse nominale à 6V: 185 tr/min
  • batterie LiPo 7.4V, 2200 mAh avec protection intégrée, permettant d'utiliser une alimentation normale pour la charge
  • chargeur de batterie LiPo
  • 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 pcDuino (interfacée en i2c à la carte Iteaduino Uno) est utilisée pour les asservissements de haut niveau et la communication Wifi avec un Linux embarqué (distribution Ubuntu). 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 pcDuino 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 Arduino et de coder en C les fichiers du serveur Web.
Geeros "pcDuino 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 "pcDuino 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 "pcDuino C / Python" (par défaut 192.168.0.199) pour accéder à votre application Web


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


Logiciels:

La carte pcDuino 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 (et utilisant la bibliothèque Pyduino) 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 Iteaduino Uno 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 pcDuino.

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

Geeros "pcDuino 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 "pcDuino"


Diagramme des échanges de signaux