Hexapode
| Langue : | Français • English |
|---|
Projet réalisé par fma38.
En cours
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 :
- le robot lui-même (présente page)
- un framework de pilotage, écrit en python
- un driver de servos, implémenté sur une BeagleBone Black
- une télécommande dédiée à base de joysticks
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
- RobotGeek 180 Degree Robot Servo
- TowerPro MG-996R
- LewanSoul LX-16A - en attente pour tests
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
À 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
- v2 : démo lors de la Journée Portes Ouvertes
- v2 : tests de la patte à 4 degrés de libertés
- v1 : premiers pas (démarche tripod)
- v1 : premiers tests de mouvement du corps
LogBook
- mars 2020 :
- nouvelle mouture du corps (plus large), pour permettre l'installation des Servo Node, et du RPi dans son boîtier
- mai 2019 :
- première démo lors de la RepRap Party 2019
- novembre 2018 : reprise du projet, avec une v3 :
- design Onshape
- toujours à base de TowerPro MG996R
- contrôleur RPi3 + hat custom comportant deux drivers PWM PCA9685, pour un total de 32 sorties PWM
- octobre 2017 : débugage du driver pour PCA9685
- juin 2016 :
- premiers tests de déplacement de la v2
- cramage d'une BeagleBone Black :o(
- démo lors de la Journée Portes Ouvertes du LOG
- 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
Théorie
- Omnidirectional Gait Generating Algorithm for Hexapod Robot - une thèse remarquable sur le sujet !
- Hexapod step planner
Pilotage
Contrôleurs
- PS2 Robot Controller (v4)
- GamePad sans fil v2.0 pour Arduino
- Q2 and Q4 Xbee controllers have the gimbals to handle your most unwieldy robotics projects
- DIY Wireless RC Remote Controller for Robots, Quadcopter
- ArbotiX Commander v2.0 Kit
- DualShock - wikipedia page
- Interfacing a PS2 (PlayStation 2) Controller
- PS2 controller Command Listing
- Playstation2 Joystick Block
- How to interface Arduino with a Playstation game-port controller
- PS3 Button Map
- AVR based PS2 digital controller
- Code for interfacing an Arduino with the PS2 controller
Utilisation
- Amazing fast Micro Hexapod HEX-E V.1 - by CustoBots (vidéo)
- FREAKY Robot! Phoenix Hexapod - Up Close, Questions & Answers (vidéo)
- Arduino Hexapod Robot, IK Algorithm and Source code (vidéo)
Autres projets
- Arduino Quadruped Robot – Stalker
- T-Hex, a Mech inspired 6x4 DOF hexapod
- PhantomX Hexapod Robot in Action
- My Hexapod Robot is Smarter than Your Hexapod Robot
- Can He Make The Dancing Hexapod Robot Happy?
- ID3h-r (Indirect-Drive-3DOF-Hexapod-round)
- Hexapod spider robot six 3DOF legs with 18 servos based on arduino board
- Mon petit robot hexapod
- A Walking Router! - Robot créé par Matt Denton, qui n'est autre que le papa de BB-8 !
- Robot fourmi
- Stubby, The Adorable And Easy To Build Hexapod
- Hexapod Robot Terrifies Humans and Wallets
- LynxMotion Hexapod with ground contact sensors on the feet (vidéo) - design des pattes intéressant
- Autonomous Hexapod Robot Terrain Adaptation (vidéo)