Hexapode

De Wiki LOGre
Aller à : navigation, rechercher
Langue : Français  • English

Projet réalisé par fma38.

Suspendu

Présentation

L'idée est de construire un robot capable d'accéder à des endroits confinés et encombrés (comme des faux plafonds ou chemins de câbles au sol) où un véhicule à roues ne pourrait pas évoluer.

Le projet regroupe 4 parties :

Cahier des charges

  • robuste
  • peu encombrant
  • modulaire
  • accessoires :
    • éclairage
    • pince articulée
    • caméra
    • capteurs divers (gps, assiette, détection de sol, télémètre...)
  • chariot à roues holonomes :
    • actif (motorisation)
    • passif

Réalisation

Mécanique

Impression 3D

Électronique

Servos

Pilotage des servos

Voir Contrôleur de servos pour une liste des contrôleurs et solutions existants.

Le premier contrôleur testé est le Veyron Servo Driver (24-Channel), de DFRobot. Ce driver fonctionne très bien, et est parfaitement supporté par le framework python.

Une alternative intéressante est la BeagleBone Black, qui permet de faire tourner à la fois le framework python, sous linux, et la partie driver de servos, via les PRUs. Cf driver de servos.

Je m'oriente maintenant sur une RaspBerry Pi 3. J'ai finalement développé, pour des utilisateurs, un driver en pur python pour la carte Adafruit 16-Channel PWM pour RaspBerry Pi. En optimisant le code Adafruit, et, surtout, en changeant la fréquence du bus I²C, on peut gagner un facteur 5 sur le timing d'origine. Du coup, en dédiant un coreà la tâche de gestion des servos, on peut sans souci gérer tout en soft. Cela ouvre même des possibilités supplémentaires, car il est plus simple de décrire des trajectoire en python qu'en assembleur !

Commande à distance

Firmware

Cf framework de pilotage.

À faire

  • gérer le retour au neutre depuis n'importe quel (demi-)pas

Photos et vidéos du projet

(ordre chronologique inverse)

Photos

Vidéos

LogBook

  • octobre 2017 : débugage du driver pour PCA9685
  • juin 2016 :
  • mai 2016: achat de 25 servos TowerPro MG996R et impression des autres pattes
  • décembre 2015 : réalisation d'un nouveau PCB v1.0 pour le driver
  • septembre 2015 : achat de 4 servos TowerPro MG996R et impression des pièces pour une patte v2.0
  • juillet 2015 : réalisation du PCB v0.9 pour le driver et premiers tests
  • avril 2015 : implémentation (buguée) de la rotation
  • mars 2015 :
    • pilotage partiel (et bugué !) via un gamepad
    • première implémentation de la marche (tripod, tetrapod et wave), dans une direction donnée, à une vitesse donnée (merci à Edgar pour le déblocage !)
  • septembre 2014 : implémentation complète de la cinématique inverse (corps et pattes) ; pour une position des pattes données, le corps peut se déplacer en x/y/z/yaw/pitch/roll
  • août 2014 : pilotage une patte avec le Veyron Servo Controller, de DFRobot
  • juillet 2014 : impression de toutes les pattes et assemblage
  • juin 2014 :
    • pilotage patte avec carte pyboard (sorties servos dédiées)
    • pilotage patte avec module Pololu serial
    • réalisation d'une patte avec micro-servos type 9G

Liens

Pilotage

Contrôleur

Utilisation

Autres projets