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.
Leon.

Projet de bipède - marche dynamique
#1
Posté 04 janvier 2014 - 05:51
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
Posté 04 janvier 2014 - 06:58
Chapeau bas !!!

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
Posté 04 janvier 2014 - 08:34
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
Posté 04 janvier 2014 - 09:05

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.
- ambroise aime ceci
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
Posté 05 janvier 2014 - 11:30

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
#6
Posté 05 janvier 2014 - 12:22
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
Posté 05 janvier 2014 - 01:46
Ce que l'on voit au début, c'est 100% simulé. Je n'utilise pas le robot réel.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)?
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.
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.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.)
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
Posté 05 janvier 2014 - 05:22
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
Posté 05 janvier 2014 - 07:13
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...Donc, concernant le mode marionnette, le robot réel envoie les données via le cable du Module Mbed ?
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
Posté 09 janvier 2014 - 08:04
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
Posté 30 janvier 2014 - 07:16
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
Posté 30 janvier 2014 - 10:46
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
Posté 31 janvier 2014 - 06:28
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 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.
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
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.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.
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
Posté 01 février 2014 - 05:42
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
Posté 01 février 2014 - 09:24
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
Posté 02 février 2014 - 07:04
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.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) ?
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
Posté 02 février 2014 - 12:13
Bonne continuation.
N'oubliez jamais que "Ban Ki-moon n'attrape pas mousse"
#18
Posté 14 mars 2014 - 08:06
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
Posté 14 mars 2014 - 08:37

#20
Posté 14 mars 2014 - 11:20
Bonne continuation

1 utilisateur(s) li(sen)t ce sujet
0 members, 1 guests, 0 anonymous users