-
Hexapode Arduino - 4eme épisode : Gilbert200 est né !
Tableau comparatif entre Gilbert200 et Gilbert100 :
Gilbert200 Gilbert100 Poids
Total = 2,7 kg dont :
1 batterie = 380 g
3 plateaux de 90 g = 270 g
18 servos de 55 g = 990 g
14 entretoises = 127 g
6 tibias = 120 g
12 fémurs = 150 g
18 cages à servos = 270 g
Carte Arduino + shield = 80 g
solde : récepteur PS2X, visserie, câblesTotal = 0,5 kg
(batterie non embarquée)Alimentation
Embarquée
Li-poly 3 cellules 11.1V 5000 mAh
avec régulateur 6V-5VExterne
Ni-MH, 7.2V 4600 mAh
sans régulateurStructure
Combinaison de deux kits aluminium "spider" made-in-china, avec moult améliorations personnelles : pattes rigidifiées. Corps et pattes en tôle aluminium 2 mm, fixation directe sur les axes des servos, non renforcée. Servos
18 TowerPro MG995 de 10 kg/cm permettant de supporter tout le poids de la batterie, de l'électronique embarquée et bien plus... 18 TowerPro SG90 de 1,2 kg/cm
à peine suffisants pour supporter son poids sans batterie.Microcontrôleur
Compatible Arduino Atmega 2560
+ Mega sensor shield V2.0Compatible Arduino Atmega 2560
+ Mega sensor shield V2.0Commande
Manette JITE CX-505 wireless
compatible PlayStation 2Manette BigBen PSX2 PADVIVRAC filaire
compatible PlayStation 2Soft
IK "maison", gait triple avec :
- marche avant/arrière
- marche en crabe
- rotation autour du centre
- combinaison marches + rotation
- garde au sol ajustable
- corps hexagonal entièrement configurable avec adaptation automatique des angles des pattes avant et arrière.IK "maison", gait triple avec :
- marche avant/arrière
- marche en crabe
- rotation autour du centre
- combinaison marches + rotation
- garde au sol ajustableCôté IK (cinématique inverse) :
Je pensaisdevoir user le soleil à reprogrammes les marches pour les adapter à la configuration hexagonale. Je me suis rendu compte que le soft élaboré pour Gilbert100, notamment pour le faire tourner, permettaient déjà de prendre en compte simplement un corps hexagonal avec des pattes dans le prolongement du centre.
Cerise sur le gâteau : l'hexagone peut même présenter une dissymétrie avant/arrière !
J'ai donc eu "juste" à injecter le soft de Gilbert100 dans Gilbert200, ajouter quelques lignes et corriger quelques erreurs au passage. L'inversion de la rotation des 2 servos supplémentaires m'a donné un peu de fil à retordre.
Comment est constituée la structure de Gilbert200 ?
Trop peu rigide : le kit "made-in-china" est inutilisable tel-quel !
J'ai commandé un kit de robot "spider", sans servos. Après réception du kit, j'ai effectué un premier montage "à blanc" avec les servos commandés séparément.
J'ai pu constater le manque de rigidité et le travail imposé aux servos, risquant de conduire très rapidement à leur destruction.
J'ai donc décidé de modifier substantiellement le kit d'origine, pour en rigidifier les membres et éviter la flexion importante de l'axe des servos en le combinant avec un second kit.Les pièces en aluminium embouti sont de qualité suffisante et la visserie abondante.
Voici deux vues où l'on distingue les pattes modifiées.
Entre les pattes vient se loger la batterie.
L'étage supérieur accueille l'électronique embarquée.Ci-contre : le détail de la modification apportée :
- double-fémur,
- entretoise entre les deux fémurs,
- roulements pour le 2eme fémur.Côté servos, il fallait du muscle !
Gilbert200 est équipé de 18 servos MG995, dont le couple et de l'ordre de 10 kg/cm. Le disque en plastique est utilisé pour fixer chaque servos au corps, fémur ou tibia.
Pour des raisons d'économie, j'ai acheté les TowerPro les moins chers disponibles sur Ebay. Sur les 18 reçus, 2 sont tombés en panne dès la première utilisation. J'ai dû commander 2 servos supplémentaires (surprise : sens de rotation inversé !).
Même si ce n'est pas la fixation la plus rigide (disque plastique), la modification du bras diminue significativement les sollicitations.
J'ai pu dépanner deux autres servos en utilisant les pièces des servos HS (câble, engrenages).
De plus, les espacements entre les trous du disque correspondent à ceux du kit, ce qui n'est pas le cas des disques "métal" disponibles pour les servos de type MG995.Pour couper le fil à la patte, rien de tel qu'une manette wireless.
On trouve sur Ebay des manettes PS2 sans fil, à moindre coût (moins de 15 € !).
Toutefois, le made-in-china a ses limites : la qualité !
En effet, j'ai eu toutes les peines du monde à interfacer le récepteur avec la carte Arduino, malgré l'utilisation de l'excellente librairie PS2X de Bill PORTER.
Après 2 jours de recherche et de tests, j'ai fini par trouver la raison : une brasure fissurée au niveau du connecteur "Data" (celui des données). Un coup de fer à braser et tout est revenu à la normale.
Alimentation régulée :
Pour faire "tenir debout" Gilbert100, j'utilisais une batterie de 7,2V qui surchargeait légèrement les servos. Hors de question de faire la même chose. Il fallait privilégier l'autonomie et la bonne tenue dans le temps des servos.
Dans le corps de Gilbert200, entre les pattes, est placée la batterie Li-poly de 11.1V / 5000 mAh à 3 cellules.
Bien sûr, cette tension n'est pas du tout adaptée aux servos et trop élevée pour faire fonctionner la carte Arduino.
Pour pouvoir utiliser des batteries de forte capacité et de tension plus élevée que ce que l'électronique embarquée peut supporter, Gilbert200 dispose d'un régulateur de tension.
A partir d'une batterie pouvant aller jusqu'à 12,6 V de tension, celui-ci délivre une tention de 6V ou 5V sous 8 à 15 A.
La tension de sortie est réglée sur 6 V pour alimenter les servos et la carte.
Tags : arduino, atmega, hexapode, hexapod, leca philippe, philippe leca, hexapod gait