Aller au contenu


Photo

[Projet] Shaky - robot bipède 21 DOF


  • Veuillez vous connecter pour répondre
20 réponses à ce sujet

#1 NooTe

NooTe

    Membre

  • Membres
  • 40 messages

Posté 16 mai 2012 - 03:16

Bonjour,

Je vous présente mon nouveau projet.

Il s'agit de faire un robot bipède contrôlé par un terminal Android via bluetooth.
Tout ressemblance avec le film Real Steel est fortuite ^^
Car le but est d'en faire un robot danseur et non de combat :)

Plusieurs étapes plus ou moins parallélisable :
- la construction matérielle du robot ;
- l'application de base Arduino pour gérer les servocommandes ;
- la prise de contrôle du robot en Bluetooth ;
- la constitution d'une large bibliothèque de "poses" et d'animations (enchainement de poses).

Pour la partie "matériel", je ne voulais pas partir d'un base robotique telque le Kondo, Kumotek ou RoboPhilo (trop cher a mon gout entre 800 et 1200€, auquel il fait ajouter le hack pour arduino et les sensors qui vont bien... et surtout me privant du plaisir du bricolage les mains dans le cambouis).
Après une petite étude de cout, le robot complet devrait me revenir a ~750€. J'ai donc décider de le faire de A a Z.

Je suis partie d'un carte Arduino 2560 et d'un shield MEGA IO v2.1de DFRobot.
Ce qui offre un très grand nombre de DPIN pour les servos (et pour les sensors a venir). Le second option était une carte SCS32 associé a une carte Arduino UNO.
J'ai préféré l'Arduino 2560 pour le nombre de possibilité mais l'inconvénient est la taille et le poids de la carte et du shield (voir photo du robot de dos).

Le robot est constitué d'un certain nombre d'élément "standard" pour servo issus du catalogue Lynxmotion. Lynxmotion a plusieurs bipèdes a son catalogue mais aucun ne m'a vraiment séduit par sa construction ou ses possibilités d'extension.
Le torse est le seul élément spécifiquement typé pour bipède... au final, je le trouve trop petit pour le robot tel que je l'ai construit.

Un autre element central du robot est le servo par lui meme !
Ne sachant pas quoi prendre, j'ai opté pour le HiTec HS-422 vendu vers 10€ (couple de 4.2Kg/cm, Lynxmotion utilise dans certains de ses bipèdes).
Cela s'est averé être un mauvais choix : pas assez puissant pour tenir le robot sur ses jambes !
Donc, je suis parti pour tout ce qui est jambe pour des TowerPro MG995 (couple de 12Kg/cm) qui coute a peine plus cher (13€). Evidement, prendre un magnifique servo digital de 65Kg/cm aurait été le choix ideal... mais a 60€ le bestiau... trop cher ;) C'est, grosso modo, ce qui explique que certains bipedes vendu dans le commerce atteignent des prix de 2000€ ou 3000€ (ou plus).

Aujourd'hui, j'ai fini a 80% la partie mécanique. Il me manque des pinces en guise de mains, mus par des micro-servos. Ce qui devrait porté le degré de liberté (DOF) a 23 ;)
Il me faudrait probablement un boitier pour caché la carte et le shield et pour mettre un peu d'ordre dans les cables ^^

Dans les sensors que je compte ajouter, il y aura un capteur Infra-rouge (type GP2D120) situé dans chaque avant bras, un ou plusieurs Ultrasonique situé au niveau de la tête (basé sur une tourelle pan/tilt).
Je compte aussi ajouter un gyro pour garder le robot en équilibre (la partie software devrait permettre de contrôler le robot en InverseKinematics)

De par ma premier expérience robotique avec un des Roby du forum, je maitrise pas trop mal la communication bluetooth entre l'Arduino et Android.
J'ai équipé la 2560 d'un module XBee Bluetooth. L'avantage du bluetooth, c'est que finalement n'importe quel dongle BT permet de se lier avec l'Arduino.
Je prévois de faire, en plus du module Android, un module software fait en Processing.org pour piloter le robot via un PC (et pourquoi pas une appli iPad un jour...).

Actuellement, je bosse sur la partie algo de la cinématique des animations (sur l'Arduino). Ça se passe plutôt bien pour le moment.
Le plus embêtant étant de calibrer les servos (car malheureusement les servos en sont pas tous calibré pile poil). Les plus observateurs noterons des excentrations des servos sur les photos.

J'ai défini quelques "poses" et quelques animations mais la route est longue pour avoir suffisamment de poses pour faire des enchainements intéressants :)

Et voici une petite vidéo de Shaky vous saluant :)

IMAG0141.jpg IMAG0142.jpg

#2 dydyouaki

dydyouaki

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 792 messages
  • Gender:Male

Posté 16 mai 2012 - 04:09

Vraiment très beau projet et très belle réalisation . Mais ou en est-tu maintenant ? as tu finis le programme ?
Merci a tous
Cordialement Dylan.

#3 Francky

Francky

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 967 messages
  • Gender:Male

Posté 16 mai 2012 - 04:58

Très beau projet que je prendrai plaisir à suivre ! Bonne continuation :)

#4 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 934 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 16 mai 2012 - 05:37

Vraiment très beau projet et très belle réalisation . Mais ou en est-tu maintenant ? as tu finis le programme ?


En effet, très beau projet ;)

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#5 lestephanoi

lestephanoi

    Habitué

  • Membres
  • PipPip
  • 161 messages
  • Gender:Male

Posté 16 mai 2012 - 06:40

C'est vrai que c'est un très beau projet que je vrai suivre

#6 NooTe

NooTe

    Membre

  • Membres
  • 40 messages

Posté 16 mai 2012 - 06:58

Vraiment très beau projet et très belle réalisation . Mais ou en est-tu maintenant ? as tu finis le programme ?


Merci :)

Oula, nan... il y a encore du boulot ^^
J'ai une première base de travail pour faire de l'animation en keyframe, je n'ai pas du tout commencer le travail en IK (inverse kinematics).

Pour le moment, je stocke les keyframes (ou "poses" : un instantané des positions de tous les servos) directement en mémoire (en dur dans le code Arduino), je défini les animations en créant une suite de keyframes espacé par une temporisation.
L'animation est une simple interpolation selon de chacune des positions d'un servo entre deux poses le temps écoulé.
Je ne pense pas pouvoir faire le code IK sur l'Arduino (mathématique trop lourde), donc je vais directement le coder sur Android et transmettre la position des servos via bluetooth... j’espère que ca sera assez réactif :)

J'ai juste défini 5 animations (avec une dizaine de keyframes différents) :
- "je reste debout, droit comme un I" : 1 keyframe, facile ^^
- "je salue tout le monde" : 2 keyframes, video montrée
- "je fais des pompes comme un homme" : 2 keyframes, idéal pour tester la puissance des servos... catastrophe sur mon robot
- "finalement, je fais plutôt des pompes comme une fille" : 2 keyframes, sur les genoux, parce les servos des bras ne sont pas assez puissant pour soulever tout le corps :P
- "Hulk" : 4 keyframes... petit enchainement rigolo, je ferai une video plus tard :)

Actuellement, je fais l'application qui permet d'enchainer tout ça a partir d'Android : une interface simple avec des boutons représentant les 5 animations en haut... et une palanqué de boutons qui représentent chaque keyframe enregistré du robot. rien de très glamour donc ;)
Il faudrait que je fasse un keyframe designer et keyframe animator/choregraphe... ce qui prendra un peu de temps :(

#7 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp
  • Interests:https://t.me/pump_upp

Posté 16 mai 2012 - 07:02

Oui en effet c'est un très beau projet que voilà , un bipède dans toute sa splendeur.

On n’a hâte de découvrir la suite.

Je te souhaite un bon courage , pour la suite.

Juste une question quelle alimentation , utilise tu pour faire fonction tous les servo et les modules qui vont venir par la

suite ???

@Cordialement.

#8 NooTe

NooTe

    Membre

  • Membres
  • 40 messages

Posté 16 mai 2012 - 07:58

Juste une question quelle alimentation , utilise tu pour faire fonction tous les servo et les modules qui vont venir par la suite ???


Pour le moment, c'est la prise USB qui fourni le monitoring et l'alimentation. J'ai un "bloc" de 6 piles 1.2v 2500mA rechargeable que j'utilise en renfort (mais qui est très lourd et très encombrant) et pour les tests "online".
Mais a terme, je comptais utiliser soit ce type de batterie 7.2v LiPo directement sur la carte Arduino (accroché au buste, mais pas très bon pour le centre de gravité), soit ou deux blocs LiPo de 3.7v comme ceux-là ou ceux-ci en "série" (enfin, si c'est faisable, j'ai pas encore étudié ca de près) qui seront installées sur les "pieds" pour repartir le poids.
Par contre, je pense que je n'aurai pas beaucoup d'autonomie :(

Mais avant tout, il faudrait que je finisse d’échanger les servos HS-422 par des MG995 !
Ce qui me rajoute pas mal à l'addition et me laisse une grosse vingtaine de servos HS-422 sur les bras (probablement réutilisé dans un petit hexapode maison... allez savoir ;))
Je préfère investir dans le "software" pour l'instant (ça me coute moins cher, j'ai déjà tout a la maison :P)

#9 Francky

Francky

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 967 messages
  • Gender:Male

Posté 16 mai 2012 - 08:11

- "je fais des pompes comme un homme" : 2 keyframes, idéal pour tester la puissance des servos... catastrophe sur mon robot
- "finalement, je fais plutôt des pompes comme une fille" : 2 keyframes, sur les genoux, parce les servos des bras ne sont pas assez puissant pour soulever tout le corps

C'est déjà pas mal ;p

#10 rbot99

rbot99

    Membre passionné

  • Membres
  • PipPipPip
  • 514 messages
  • Gender:Male

Posté 19 mai 2012 - 01:31

super et dire que moi la prog ce n'est pas pour aujourd'hui et faire ca en logique et analogique
cordialement rbot
N'entretiens pas l'espoir de ce qui ne peut être espéré , Pythagore

#11 NooTe

NooTe

    Membre

  • Membres
  • 40 messages

Posté 27 juin 2012 - 06:25

Hop, apres un petit moment sans news (longue mission en Guyane), je vais pouvoir continuer sur Sharky :)

Voila un update du projet :
Pas de modif coté matériel, mais je pense utiliser la carte DAGU Spider a la place de la MEGA 2560+IO Shield (gain de place et de poids).

J'ai attaqué le développement de l'IHM du robot en Android (ciblé tablette).
Ce qui demande plus de travaille que je ne l'aurait cru (je pensais utiliser un moteur 3d déjà fait ainsi qu'une librarie cinematique deja existante), mais n'ayant rien trouver de gratuit ou avec les sources qui ne soit en mode beta (voir alpha). J'ai entrepris de tout faire ^^
Donc, un systeme de widget en OpenGL pour faire un UI simple de décent, un moteur 3D (plutot simple aussi) et un moteur de cinematique (pour l'animation du squelette).

Pour le moment, ca avance relativement bien, le robot virtuel n'est pas encore 100% modélise. sur le screen, on peut voir les servos et des "boites" délimitant les "os" du squelette, la partie modélisation va prendre du temps, j'utilise MilkShape pour chaque element.
Les servos virtuels animent correctement chaque morceau virtuel du robot.
Je vais finir le système d'animation (ce que j'avais déjà partiellement fait en Arduino).
Puis faire la liaison bluetooth avec le robot et le protocole d'envoi des positions de servos (a part un ou deux animations stockées en dur sur le robot, tout se fera a partir de la tablette).
Fait un "move to direct" : application en direct d'un changement d'un servo (ce qui peut poser des problemes de gestion d'équilibre... mais ca devrait etre regler par la suite avec un moteur de cinématique inverse couplé avec le poids de chaque morceau du robot).
Et enfin faire la partie "choregraphe" : la création des animations via la tablette (en virtuel : positionner chaque servo pour chaque pas d'animation).

Donc, il y a encore du boulot sur la planche :)
Je travaille encore pas mal le software avant de voir (et corriger) la partie hardware ;)

L'avantage de cette architecture, c'est que je vais pouvoir l'utiliser pour l'hexapode (futur projet, moins compliqué que Sharky).

device-2012-06-27-185421.png

#12 Francky

Francky

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 967 messages
  • Gender:Male

Posté 27 juin 2012 - 08:03

En tous cas je suis impatient de voir la suite de ton projet !

Bonne continuation :Archie_07:

#13 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 934 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 28 juin 2012 - 01:45

En tous cas je suis impatient de voir la suite de ton projet !

Bonne continuation :Archie_07:


et bon courage pour la suite ;) on est plusieurs à te suivre ;)

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#14 hugobiwan

hugobiwan

    Membre

  • Membres
  • 38 messages

Posté 03 juillet 2012 - 09:17

Super projet !
Comment as-tu fait (ou trouvé) les frames en metal du robot ?
P.S J'ai une mauvaise experience des tower pro 995 pour ma part avec des comportements quelques peu erratiques sur un robophilo modifié. Ok pour bras, mais pas pour les jambes (marche).
Crdlt,
H

#15 NooTe

NooTe

    Membre

  • Membres
  • 40 messages

Posté 12 juillet 2012 - 12:07

Super projet !

Merci ^^

Comment as-tu fait (ou trouvé) les frames en metal du robot ?

Les frames en metal (alu) provient du catalogue des support servo de Lynxmotion (lien vers RobotShop)
Idem pour le torse (plastique) mais que je trouve beaucoup trop petit par rapport au reste du robot :(
Je pense que je vais prendre une boite en metal (type boite a sucre ^^). Ainsi j'aurai la place pour mettre la carte controleur et la maxi batterie, et probablement avoir un meilleur centre de gravité ;)

P.S J'ai une mauvaise experience des tower pro 995 pour ma part avec des comportements quelques peu erratiques sur un robophilo modifié. Ok pour bras, mais pas pour les jambes (marche).

Je confirme : autant pour les jambes, je n'ai pas eu de soucis (juste la mise sous alimentation et la recherche du neutre qui est un peu lent).
Malheureusement, pour les bras, jai un gros soucis sur un deuxieme stock de servo (acheter plus tard dans le meme boutique) qui n'arrivent pas a faire du 180° de débattement (semble bloqué a 120°)..
Du coup, je suis revenu au HiTec HS422, qui n'a pas assez de couple, mais au moins, je peux continuer a bosser sur le robot jusqu'au reglage du problème des mg995 défectueux (malheureusement, j'ai du demonté l'hexapod... qui n'a plus que 4 pattes :P)

#16 NooTe

NooTe

    Membre

  • Membres
  • 40 messages

Posté 12 juillet 2012 - 04:32

J'en profite pour faire une petite mise a jour du statut du projet

L'interface Android avance tout doucement.
Le lien entre l'application et la carte Arduino est fait.
l'application gére entièrement l'animation du robot, il n'y a plus de "position" stocké sur l'Arduino. L'application transmets la position de chaque servo dont la position a été modifié en bluetooth.

device-2012-07-12-172850.png

Une modification au niveau des jambes a été réalise (le robot est un peu plus court sur patte mais a plus de débattement au niveau du l'allonge des cuisses.

Je n'ai toujours pas echangé la carte arduino par la spider (mais ca va venir ^^)
Et je n'ai pas pu echanger les servos HS422 des bras par les MG995 (car j'ai des problèmes avec).

Un lien YouTube avec Shaky mu par son application
Je tacherai de faire une video un peu plus explicite et plus clean plus tard ;)


#17 NooTe

NooTe

    Membre

  • Membres
  • 40 messages

Posté 16 juillet 2012 - 12:00

Hello a tous,
Je suis tres embeté par les servomoteurs TowerPro MG995, j'ai testé tous les servos dont est equipé le robot et en fait, je n'avais jamais fait attention : aucun n'a 180° de débattement !!! ils sont tous entre 120° et 160° (vi vi, quasiment aucun n'a le même débattement).
Je me suis rendu compte du problème en installant la deuxième vague de MG995 (en remplacement des HS422 pour le bras) et surtout en développant l'application et son robot virtuel... je me suis aperçu qu'il avait de très ample mouvements par rapport a la réalité.

Donc, je déconseille fortement ces servos a tout le monde ^^
J'en suis pour une petite fortune de ma poche (18 servos a 15€... ca fait un petit budget).

A l'heure actuelle, je suis a la recherche d'un remplaçant potentiel. mais, clairement, ce n'est plus la même gamme de prix.

Voici les caractéristique des servos utilisé (en 4.8v), si quelqu'un a un remplacement a me proposé a moins de 30€ par servo.
la taille est du servo standard : 40x20x37 pour 60g, mais la taille du support de vis jusqu'au bas doit etre inferieur a 28mm, et du support de vis jusqu'au haut du servo doit etre inférieur a 18mm (la taille en hauteur est donc de 46mm max)

Le HS422 (pas assez de couple, pas assez précis, pas assez rapide, tres stable, 180° réel)
- prix : 16€ (acheté 12€)
- couple : 3.3K/cm
- vitesse 0.21s/60°

Le MG995 (tres gros couple, pas tres stable et qui ne fait pas 180° en reel)
- prix : 19€ (acheté 15€)
- couple : 11K/cm
- vitesse : 0.16s/60°


les remplaçants potentiels:
HITEC HS-485HB
- prix : 24€
- couple : 5.2K/cm
- vitesse : 0.21s/60°

FUTABA S3010
- prix : 22€
- couple : 5.2K/cm
- vitesse : 0.20s/60°

Savox SC-0254MG
- prix : 35€
- couple : 6.2K/cm
- vitesse : 0.19s/60°

Pro-Tronik 6802 MG-A
- prix : 20€
- couple : 7.8K/cm
- vitesse : 0.14s/60°

pour le moment, j'opte pour les FUTABA S3010... j'ai peur de retombé sur du servo de merde avec les Pro-Tronik... est-ce que quelqu'un connait cette marque ?



#18 oron

oron

    Membre

  • Membres
  • 66 messages

Posté 16 juillet 2012 - 12:23

Aucune idée mais je pense que un bon servomoteur coute au moins 40 euro si tu veux un truc de correct.
J'avais egalement vu un site qui expliquait que certains servomoteurs on des butées a l'interieur que tu peux virer,
Du coup ton servomoteur a 360° de rotation, personnelement je n'ai pas essayé car j'en est pas besoin.
Mais cela te permettrait peu etre de ne pas racheter de servomoteur.
Tout depend de comment sont fait tes servomoteurs.

#19 Jbot

Jbot

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 801 messages
  • Gender:Male
  • Location:Paris
  • Interests:Robotics

Posté 16 juillet 2012 - 12:35

Ha oui les TowerPro sont connu pour être des servos chinois de basse qualité !

Moi pour mon hexapod, j'avais prit des Hitec MG645, certes cher mais qui fonctionnaient bien.


Malédiction du Créatif :
Plus vous avez d’idées et moins vous arrivez à les structurer.


#20 NooTe

NooTe

    Membre

  • Membres
  • 40 messages

Posté 24 juillet 2012 - 10:12

Aucune idée mais je pense que un bon servomoteur coute au moins 40 euro si tu veux un truc de correct.
J'avais egalement vu un site qui expliquait que certains servomoteurs on des butées a l'interieur que tu peux virer,
Du coup ton servomoteur a 360° de rotation, personnelement je n'ai pas essayé car j'en est pas besoin.
Mais cela te permettrait peu etre de ne pas racheter de servomoteur.
Tout depend de comment sont fait tes servomoteurs.


Malheureusement, ce n'est pas un problème de buté. En les manipulant physiquement, ils ont bien le bon débattement (un peu plus de 190°), mais c'est électroniquement qu'il y a un problème... j'ai essayé de changer les µs de centre et de fin de course directement par l'Arduino... mais bien évidement , ces sal*peries de TowerPro ne gèrent pas cette option :(

Et 40€x22... ca fait un peu trop, de tout façon... j'ai déjà exploser mon budget :(
du coup, j'ai pris un poignée de PowerHD HD6001MG, 6.0K/cm et 0.16s/60° (lien marchand) pour tester si ca me convient.




0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users