Aller au contenu


Photo

Projet de bipède - marche dynamique


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

#1 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 04 janvier 2014 - 05:51

Salut à tous, et bonne année 2014!

Voilà, je ressort le projet de bipède qui me trotte dans la tête depuis pas mal de temps. C'est donc un projet de bipède à "marche dynamique".
Finalement, je lui ai mis des pieds (ça ne sera donc pas un échassier). Mais des pieds cylindriques, ce qui fait l'économie d'un servo par pied. 8 servos pour un tel bipède, c'est peu.




Pour l'instant, j'étudie ça en simulation. J'ai aussi construit un bipède réel pour avoir du concret, avec des pièces Lynxmotion, avec, mais avec des servos peu puissants, donc ce robot bipède ne marchera jamais réellement, sauf peut-être suspendu à un long élastique pour "diminuer son poids", et donc tester les algos. C'est plus sympa de voir du concret bouger, la simulation a ses limites. Dans la vidéo, le robot réel que je tiens dans les bras essaye juste de maintenir ses pieds au même endroit et à l'horizontale, quelle que soit son inclinaison (mesurée avec le gyro).

Tout est programmé en C++, que ce soit le robot réel ou le robot simulé. Le code est conçu pour être portable de la simulation vers le robot réel (mêmes fonctions, mêmes variables, même réccurence de tâches, etc...). Je peux aussi utiliser la simulation pour jouer ou re-jouer ce que le robot réel fait. Le robot simulé est alors une simple marionnette suspendue dans les airs qui imite tous les mouvements du robot réel, y compris son inclinaison.
Dans la vidéo, vous verrez aussi une vue que j'ai programmé avec SFML, et qui montre en 2D la position cible et réelle des pieds, vu de dos et vu de dessus. C'est très utile pour comprendre ce que fait le programme.

Le sujet est très complexe. Le principe? C'est du ZMP, mais recalculé en dynamique. Le robot est équipé d'un gyroscope et connait donc son inclinaison à tout moment. Il essaye de se maintenir droit, et estime la position à laquelle il devra poser le pied pour ne pas tomber. Bref, c'est de l'asservissement bourrin.

Les idées dans ma tête sont assez claires, mais même en simulation, passer à la réalisation, c'est très complexe. J'ai du mal à tout formaliser, tout mettre en équations, et j'avoue que mon cerveau ne fonctionne plus aussi bien qu'à 20 ans. C'est beaucoup de calculs trigo 3D, des transformations dans tous les sens, et surtout, il faut une réactivité énorme! Un tel robot perd l'équilibre en une fraction de seconde. Encore un bon sujet bien costaud. Je ne suis pas certain que je puisse aboutir à quelque chose, mais qui ne tente rien n'a rien!

Si la simulation donne quelque chose, alors je me lancerai dans la réalisation d'un robot concret. J'en rêve depuis longtemps, c'est devenu une obsession! Mais la complexité du projet me fait peur.

BOB5_002.jpg

simulation_02.jpg

Leon.


BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#2 transistance

transistance

    Membre passionné

  • Membres
  • PipPipPip
  • 411 messages

Posté 04 janvier 2014 - 06:58

Bonsoir,

Chapeau bas !!! :o/>

C'est sur que ça change des habituels robots téléguidés qu'on voit pousser de plus en plus fréquemment ici (mais pas que). Là c'est clairement un cran au dessus.
C'est le genre de truc que j'aurais eu plaisir à faire si j''étais pas une bille fini en math !

Inutile de dire que ce projet mérite d'être suivi :)/>

Tout le monde ici aurait beaucoup à apprendre de ce genre de choses !

Edit: Maintenant que je viens d'apprendre l'existence d'un outil informatique aussi pratique que SFML, je crois que ça pourrais bien m'aider pour mon projet principal :)

N'oubliez jamais que "Ban Ki-moon n'attrape pas mousse"


#3 skyhack

skyhack

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 885 messages
  • Gender:Male
  • Location:Racourt et Flaba (08)
  • Interests:Synthé, modélisation mécanique, bricolage divers, VTT enduro

Posté 04 janvier 2014 - 08:34

Tu vois Ambroise ça c'est un bipède ! (^_-)
" Monsters are real. Ghosts are real too.
They live inside us and sometimes they win."
-------------Stephen King.------------------

" le fait que les extraterrestres étaient amis avec les Mayas ne signifie pas qu'ils sont nos amis ... "
-------------------------------------Stephen Hawking----------------------------------------------------

#4 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 04 janvier 2014 - 09:05

Skyhack, pourquoi tant de haine? :angry22:/>
Merci de ne pas utiliser mon sujet pour attaquer Ambroise.
Je trouve le projet d'Ambroise intéressant, et il nous a montré qu'il avait beaucoup de talent, vu la qualité de sa réalisation par rapport aux moyens mis en oeuvre... La main, la tête, c'est quand même fort bien réalisé. Même si je doute un jour que son robot réussisse à marcher, ce projet est intéressant. Lui, au moins se bouge le derrière, et avance sur une réalisation concrète, contrairement à d'autres.

Il y a de la place pour tout le monde sur ce forum. Tout le monde n'a pas les mêmes aspirations que toi en robotique, et c'est très bien comme ça. Certains se focalisent sur la théorie, d'autres sur les réalisations concrètes, artistiques, d'autres sur l'aspect philosophie. Merci de respecter les autres.

Fin du hors sujet. Si tu as des remarques à faire sur mon projet, n'hésites pas. Sinon, merci de passer ton chemin.

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#5 nvaste

nvaste

    Habitué

  • Membres
  • PipPip
  • 265 messages
  • Gender:Male
  • Location:Lyon, France
  • Interests:La robotique, l'électronique et la réalisation de projets concrets

Posté 05 janvier 2014 - 11:30

Je te souhaite du courage pour ton projet l'ami ;)
Il est vraiment très intéressant mais comme tu l'as dis ça va être difficile donc ça va pas être demain que je vais me lancer dans un projet comme ça mais je suis presque sûr que toi tu peux y arriver.
J'espère pouvoir voir la progression de ton robot.
Cordialement
nvaste
01110.01001.00011.01111.01100.00001.10011

#6 transistance

transistance

    Membre passionné

  • Membres
  • PipPipPip
  • 411 messages

Posté 05 janvier 2014 - 12:22

Petite question par curiosité :

La simulation que l'on voit au début, c'est bien une "copie" instantanée des mouvements que fait ton robot dans le monde réel (en gros le robot envoi la position de ses servos en temps réel vers un pc)?

Sinon j'ai eu mal pour lui quand il s'est rompu un ligament à 0:38 ! Aoutch !

Pourrais tu donner des détails technique sur le matériel que tu utilises s'il te plait ? (Quel type de micro-contrôleur etc.)

Merci et bonne continuation.

N'oubliez jamais que "Ban Ki-moon n'attrape pas mousse"


#7 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 05 janvier 2014 - 01:46

Merci à tous les 2 pour vos encouragements, ça me fait plaisir!

La simulation que l'on voit au début, c'est bien une "copie" instantanée des mouvements que fait ton robot dans le monde réel (en gros le robot envoi la position de ses servos en temps réel vers un pc)?

Ce que l'on voit au début, c'est 100% simulé. Je n'utilise pas le robot réel.
J'utilise "Anykode Marilou" qui est un simulateur 3D dédié à la robotique. Pour l'instant, je travaille surtout sur simulation, mais je sort quelque fois le robot réel pour comprendre certaines choses difficiles à voir avec la simu. Et puis, j'aime bien bidouiller, alors ça m'a fait plaisir de scier, découper, assembler, souder!
La simulation peut se faire de 2 façons:
* totalement simulé (ce que tu vois sur la vidéo)
* mode marionnette, où le robot simulé dans Marilou joue ou rejoue (replay) ce que le robot réel a fait : son inclinaison dans les 2 sens (roulis, tangage), et la position de chacun des 8 servos. Le simulateur devient alors une simple visualisation 3D, je n'utilise pas la "physique" du simulateur.

Pourrais tu donner des détails technique sur le matériel que tu utilises s'il te plait ? (Quel type de micro-contrôleur etc.)

Toutes les articulations sont faites avec des pièces Lynxmotion, plus quelques pièces adaptées par moi même. Côté elctronique, j'utilise un module MBED (que j'avais déjà), qui est fait à base de ARM Cortex M3, un microcontrôleur 32 bits, donc rapide en calculs. J'ai suffisamment de puissance de calcul, et il faut bien ça vu les nombreux calculs de trigos nécessaire, en temps réel.
J'ai aussi un gyroscope 3 axes "IMU3000" d'Invensense, pour calculer l'inclinaison du robot. Les servos sont des servos bas de gamme. Si je réussis à faire quelque chose en simulation, je referait un vrai robot costaud, plus grand, avec des servos plus puissants, et une électronique plus propre. Pour l'instant, ce n'est qu'un galop d'essai!

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#8 transistance

transistance

    Membre passionné

  • Membres
  • PipPipPip
  • 411 messages

Posté 05 janvier 2014 - 05:22

Ok, merci pour ces précisions.

Donc, concernant le mode marionnette, le robot réel envoie les données via le cable du Module Mbed ?

N'oubliez jamais que "Ban Ki-moon n'attrape pas mousse"


#9 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 05 janvier 2014 - 07:13

Donc, concernant le mode marionnette, le robot réel envoie les données via le cable du Module Mbed ?

Oui, c'est exactement ça. 50 fois par seconde, le robot envoie au PC plein de données : orientation du robot, position de chaque servo, positions 3D des pieds, et plein d'autres variables intermédiaires qui vont me servir à débugger tout ça : position cible des pieds, etc...

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#10 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 09 janvier 2014 - 08:04

J'ai déplacé les messages qui parlaient d'Anykode Marilou dans le nouveau sujet suivant de la section programmation
http://www.robot-maker.com/forum/topic/9118-anykode-marilou-simulateur-robotique/

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#11 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 30 janvier 2014 - 07:16

Aujourd'hui, j'ai profité de quelques heures de TGV au calme pour avancer un peu. C'est l'avantage aussi de la simulation : on peut travailler n'importe où!

J'ai quasiment fini de coder tous les algorithmes que j'avais en tête depuis 1 mois. Car je réfléchi souvent à ce projet, surtout quand je marche dans la rue : ça m'aide à visualiser les choses, comprendre les mouvements de mes propres jambes!

Voici la vidéo. Les mouvements sont plus doux, plus logiques que sur la première vidéo. Le robot ne lève le pied que s'il est en déséquilibre. Par contre, rien n'est mis au point. Le robot est aussi en conditions "faciles" : je simule pour l'instant une pesanteur divisée par 2, pour lui laisser le temps de réagir.



J'ai encore quelques idées à coder en plus, mais surtout il faut désormais paramétrer tout ça. Comme sur BOB4, il y a une quantité énorme de paramètres à régler, donc ça va être très long. Promis, si j'arrive à faire marcher réellement un robot dont les caractéristiques sont "crédibles" (pas trop trafiqué), alors je me tenterai une réalisation concrète. Mais pour l'instant, je ne sais pas si c'est faisable, et il reste encore énormément de boulot. Il se peut aussi que je constate qu'il faut changer la mécanique du robot : en faire un plus grand, ou avec un bassin plus large. C'est aussi l'avantage de la simulation : tester différentes configurations facilement.

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#12 olivthill

olivthill

    Membre occasionnel

  • Membres
  • Pip
  • 143 messages
  • Gender:Male
  • Location:Normandie
  • Interests:Robots humanoides.

Posté 30 janvier 2014 - 10:46

C'est bien, ça avance.

Le choix de démarrer avec les genoux pliés est une solution de facilité ... mais c'est celle qui est adoptée par Asimo.

J'ai regardé moi aussi mes jambes, et j'ai constaté que la jambe arrière est tendue alors que la jambe avant est pliée.

Un de mes problèmes principaux est d'éviter que le robot ne tombe en avant ou arrière. Pour ça j'ai placé un accéléromètre au niveau du haut du tronc. Mon idée est que l'accéléromètre doit m'indiquer que le buste reste toujours bien à la verticale. Pour y parvenir, j'ai l'intention de faire varier avec finesse l'angle entre le tronc et la cuisse de la jambe qui touche le sol.

#13 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 31 janvier 2014 - 06:28

Le choix de démarrer avec les genoux pliés est une solution de facilité ... mais c'est celle qui est adoptée par Asimo.
J'ai regardé moi aussi mes jambes, et j'ai constaté que la jambe arrière est tendue alors que la jambe avant est pliée.

En fait, c'est quasiment obligatoire d'être genoux pliés vu les algorithmes que j'utilise. Je m'explique : j'utilise des asservissements classiques; donc à tout moment le robot doit avoir la possibilité de bouger sa jambe (ou plutôt le pied) autour de sa position actuelle, surtout en longitudinal et latéral, sans être contraint par une jambe trop tendue. J'expliquerai tout ça en détail si je réussis à obtenir un résultat correct (c'est pas gagné).
Le revers de la médaille de la position "genoux pliés", c'est que l'énergie électrique dépensée devrait être importante, par rapport à un robot qui marche jambes tendues.
Voici la vidéo qui me fait rêver d'un robot qui marche genoux pliés. C'est un peu ce que je vise, même si je n'atteindrai jamais une telle performance:
http://www.youtube.com/watch?v=9WthsRHLU4M

Un de mes problèmes principaux est d'éviter que le robot ne tombe en avant ou arrière. Pour ça j'ai placé un accéléromètre au niveau du haut du tronc. Mon idée est que l'accéléromètre doit m'indiquer que le buste reste toujours bien à la verticale.

C'est le principe que j'utilise aussi, mais avec un gyroscope. Je pense qu'un gyro est plus adapté pour mesurer des inclinaisons. En fait, l'idéal absolu est la fusion d'informations issues des 2 : gyro + accéléro, mais c'est complexe à gérer.

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#14 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 01 février 2014 - 05:42

Ca progresse doucement. J'ai décidé de brider le robot en 2D, pour l'instant, histoire de simplifier les tests actuels. Il ne peut pas du tout tomber ni se pencher sur le côté (roulis). Du coup, j'arrive à faire plus de pas. C'est vraiment passionnant comme projet. Même simulé, le robot parait vivant. Il reste encore énormément de boulot. Je rappelle que j'utilise des algorithmes "dynamiques", qui réagissent en temps réel à l'inclinaison du robot, pour essayer de ne pas tomber.



Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#15 transistance

transistance

    Membre passionné

  • Membres
  • PipPipPip
  • 411 messages

Posté 01 février 2014 - 09:24

Impressionnant, ton projet progresse vite.

J'ai une question : De ce que j'en sait, les robots de ce genre déplacent leur masse pour que leur centre de gravité reste à l'intérieur du polygone de sustentation ce qui garantit la stabilitée.
Pour ce faire, soit ils déplacent une masse de droite à gauche (comme, en son temps, le modele E0 de honda) soit ils bougent leur hanche de droite à gauche. Sur ton robot je n'ai pas remarqué une tel chose -le tronc de ton robot parait "trop" solidaire du haut des jambes- (j'ai peut être mal vu) alors comment procède tu pour gérer cette histoire de polygone de sustentation (en gros) ?

N'oubliez jamais que "Ban Ki-moon n'attrape pas mousse"


#16 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 02 février 2014 - 07:04

J'ai une question : De ce que j'en sait, les robots de ce genre déplacent leur masse pour que leur centre de gravité reste à l'intérieur du polygone de sustentation ce qui garantit la stabilitée.
Pour ce faire, soit ils déplacent une masse de droite à gauche (comme, en son temps, le modele E0 de honda) soit ils bougent leur hanche de droite à gauche. Sur ton robot je n'ai pas remarqué une tel chose -le tronc de ton robot parait "trop" solidaire du haut des jambes- (j'ai peut être mal vu) alors comment procède tu pour gérer cette histoire de polygone de sustentation (en gros) ?

Oui, tu as raison. Cette partie là (basculement droite-gauche) n'est pas encore implémentée de mon côté. Sur la vidéo précédente, le robot est bridé en 2D, aucun mouvement possible en latéral, pour simplifier la mise au point. Donc il est normal de ne voir aucun mouvement droite-gauche.

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#17 transistance

transistance

    Membre passionné

  • Membres
  • PipPipPip
  • 411 messages

Posté 02 février 2014 - 12:13

Ok, merci ça me paraît plus clair maintenant.

Bonne continuation.

N'oubliez jamais que "Ban Ki-moon n'attrape pas mousse"


#18 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 14 mars 2014 - 08:06

Voici une petite mise à jour. Ca progresse tout doucement, trop doucement à mon gout mais bon, j'ai le temps.
J'ai enfin quelque chose de stable avec le robot simulé en 2D. Ca n'est pas très esthétique comme démarche, mais je m'en moque! J'ai du revoir pas mal de choses dans mes algos pour que ça fonctionne.


Les pas sont petits, ça aide à rester le plus stable possible. Mais même en 2D, ça reste une marche "légèrement dynamique" : si on arrêtait le robot en plein mouvement, il tomberai (j'ai testé).
Je rappelle que ce ne sont pas des mouvements pré-programmé, mais un vrai asservissement qui fait marcher le robot. Le robot essaye de suivre une consigne de vitesse longitudinale, tout en se maintenant droit.

La prochaine étape, c'est le passage à des mouvements en 3D, donc avec le robot totalement libre. Mais là, c'est une autre paire de manches!

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#19 ChristianR

ChristianR

    Membre passionné

  • Membres
  • PipPipPip
  • 474 messages
  • Gender:Male
  • Location:Isère (38)
  • Interests:Arduino, programmation, électronique...

Posté 14 mars 2014 - 08:37

Met lui des skis :tatice_03:
Christian

#20 buildrobot

buildrobot

    Membre occasionnel

  • Membres
  • Pip
  • 89 messages
  • Gender:Male
  • Interests:Robotique humanoïde, programmation arduino, musique

Posté 14 mars 2014 - 11:20

Impressionnant ton projet ! J ai hâte de le voir progresser !!
Bonne continuation :)




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

0 members, 0 guests, 0 anonymous users