Aller au contenu


Photo

Marche statique / VS / marche dynamique


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

#1 MrWhite

MrWhite

    Membre

  • Membres
  • 64 messages

Posté 21 juillet 2010 - 07:44

Bonjour à tous !

Qu'elle est la différence entre la marche statique et la marche dynamique ? j'ai regardé sur le net sans succès !

Est ce qu'il y a une marche mieux qu'une autre ?
Smells Like Robot Spirit

#2 Leon

Leon

    Membre passionné

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

Posté 21 juillet 2010 - 07:58

J'avais eu plusieurs conférence sur le sujet.

Marche statique: C'est une démarche où le robot est tout le temps stable. Si tu fige ton bipède à n'importe quel moment pendant son déplacement, il reste stable, ne tombe pas. Beaucoup des robots bipèdes "jouets" que l'on voit sont comme ça (Nao, robosapiens, Robonova...). Ca fait des petits pas, des pattes larges. Comment se traduit la stabilité?

Marche dynamique: c'est le contraire: le robot tombe à chaque enjambée, et se rattrappe avec l'autre jambe. Il n'est jamais stable tant qu'il marche, il est obligé de maintenir son mouvement jusqu'à ce qu'il réussisse à aller vers un état stable. Si on fige le robot pendant qu'il marche, il tombe comme une loque. Cette 2° démarche nécessite beaucoup plus d'intelligence, et surtout un asservissement performant. Très peu de robot font de la marche dynamique 3D réellement asservie aujourd'hui. Mais en retour, on peut atteindre des performances bien supérieures aux robots qui se limitent à de la marche statique.
Petman fait de la marche dynamique asservie, c'est un des seuls. Si vous en connaissez d'autres, je suis preneur (je parle de marche 3D, et réellement asservie).

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)


#3 Leon

Leon

    Membre passionné

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

Posté 21 juillet 2010 - 08:07

Je me suis aperçu que je n'emploie pas forcément le bon terme: ce serait plutôt "marche QUASI statique".

Tiens, un bouquin qui en parle, regarde début chapitre 4:
http://books.google.fr/books?id=xcmsvhdXljIC&lpg=PA95&ots=y-ipmiqQ19&dq=statique%20dynamique%20bip%C3%A8de&pg=PA95#v=onepage&q=statique%20dynamique%20bip%C3%A8de&f=false

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)


#4 Thot

Thot

    Membre passionné

  • Membres
  • PipPipPip
  • 327 messages
  • Gender:Male
  • Location:Toulouse

Posté 21 juillet 2010 - 08:42

Cool, un sujet sur "Un robot comment ça marche?"

Comme l'a dit Léon, la marche statique c'est un meuble qui va déplacer ses pieds pour avancer. Du coup, ca marche à basse vitesse.
Après, il y a la marche dynamique qui est beaucoup plus dangereuse.

Si on fige le robot pendant qu'il marche, il tombe comme une loque.


Après, il y a plusieurs types de marches dynamiques : les marches asservies et les marches "balistiques".
Les marches dynamiques asservies demandent au contrôleur de connaitre tous les angles de chaque articulation, leurs vitesses etc. Puis on va suivre une trajectoire, un motif de marche par une asservissement. C'est très complexe à mettre en œuvre, et ça consomme de l'énergie (il faut voir par exemple ASIMO qui a constamment les genoux pliés... il doit avoir des courbatures après chaque show je pense.

Les marches dynamiques balistiques sont aussi intéressantes. Les marches dynamiques asservies c'est comme si on mettait un moteur sur un pendule afin qu'il batte à sa période naturelle alors que sans moteur ça marcherait aussi bien mais en consommant moins d'énergie. Le robot bipède 3D à démarche balistique le plus évolué pour le moment est Flame. Je ne sais pas mais Petman me semble être un peu balistique non ?. Bon par contre Flame il va que tout droit pour le moment mais on lui rajoute des moteurs pour injecter la bonne quantité d'énergie au bon moment.

Après, quelle est la solution la meilleure? Les trois. Un robot robuste doit pouvoir gérer les trois.
La statique pour pouvoir rester debout, marcher très lentement. C'est la marche qui va demander pas mal de ressources. (pour un quadrupède, par contre c'est naturel)
La dynamique asservie pour des vitesses un peu plus élevées et surtout la danse. C'est la marche qui va demander le plus de ressources. La marche la moins utile.
La dynamique balistique pour les vitesses normales et la course. Elle ne demande quasiment aucunes ressources, on laisse faire la physique... Comme tout ce qui est simple... c'est le plus dur à concevoir.

Mais je pense que la marche balistique est accessible aux amateurs (je suis en plein dedans :) )

"Il n'y a rien de plus étrange pour l'homme que son image" RUR, Karel Capek
Caliban Midi - Art - Terroir et Robotique


#5 Leon

Leon

    Membre passionné

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

Posté 22 juillet 2010 - 06:04

C'est la marche dynamique "asservie" qui m'intéresse le plus. Si un jour je me lance dans la création d'un bipède (dans très longtemps), ça sera dans cette voie. Donc pas certain que ça aboutisse à quelque chose, mais bon... C'est ça qui m'intéresse; les asservissement, c'est ça qui permet de rendre un code 'vivant', avec ses réflexes, ses comportements!

Par contre, pour Asimo, il fait quand même très peu de marche dynamique asservie de ce que j'ai pu en voir. Ca ressemble beaucoup à de la marche statique, ou de la marche dynamique en boucle ouverte (mouvements pré-programmés).

Par contre, quand tu dis "je suis en plein dans la marche balistique", j'aimerai bien en savoir plus... Tu as un projet de bipède en parallèle de ton quadrupède?

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)


#6 Thot

Thot

    Membre passionné

  • Membres
  • PipPipPip
  • 327 messages
  • Gender:Male
  • Location:Toulouse

Posté 23 juillet 2010 - 04:59

Tu as un projet de bipède en parallèle de ton quadrupède?


Non j'ai un projet de deux bipèdes en parallèle : un quadrupède...

Caballon

Voici une thèse (rendue publique) expliquant ce qu'est la marche balistique, I am sorry, it is in English.

Essentials of dynamic walking

Pour ce qui est d'Asimo, je crois que c'est le terme "asservi" que j'ai mal saisi, pour moi un robot asservi est asservi vis à vis d'une trajectoire et c'est ce que fait Asimo en grande partie (et il peut courir avec ça !) Je suppose que tu considère un robot asservi comme un robot pouvant contrôler son corps qui bouge dans l'espace en harmonie avec la nature... euh je m'égare.

"Il n'y a rien de plus étrange pour l'homme que son image" RUR, Karel Capek
Caliban Midi - Art - Terroir et Robotique


#7 Leon

Leon

    Membre passionné

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

Posté 23 juillet 2010 - 07:23

"asservi: v.t. réduit à l'état de dépendance absolu". Oui, je veux faire de mon robot un esclave! (humour vaseux...)

Plus sérieusement: pour moi, un robot marcheur asservi, c'est un robot qui travaille en "boucle fermée" sur ses capteurs inertiels. S'il est déstabilisé à gauche, il va faire le prochain pas plus à gauche que prévu, mais du juste nécessaire, tout en maintenant sa marche dynamique. Exactement comme Petman!

Après, je n'ai pas non plus compris ta définition: "asservi vis à vis d'une trajectoire"... Tout robot, qu'il soit à marche statique, dynamique asservi, et même "passif-dynamique= balistique" est capable (du moins je l'espère) de suivre une trajectoire qu'on lui impose. J'aurais du mal à concevoir un robot qui va tout droit et c'est tout.

Asimo, ce sont des mouvements pré-programmés à 90%, donc en boucle ouverte. OK, ces mouvements sont très étudiés, réalisés à la perfection, avec un corps super rigide, une belle mécanique. Quelques réactions "réflexes" qu'on aime bien montrer lors des démonstrations, mais ça ne ressemble pas à un vrai asservissement rapide, intelligent.
Niveau crédibilité, PetMan (quel nom idiot) est largement au dessus!

Pour la marche balistique, est-ce que tu me confirme que c'est ce que voulez mettre en place à la fois sur Caballon, et sur Cybrina dans votre assoc?

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 Thot

Thot

    Membre passionné

  • Membres
  • PipPipPip
  • 327 messages
  • Gender:Male
  • Location:Toulouse

Posté 24 juillet 2010 - 11:47

OK, quand je parle de robot asservi à une trajectoire, ce n'est pas une trajectoire globale qui est suivie mais plutôt les trajectoires articulaires (à t=5s, le genou sera à 15.56deg à une vitesse de 45deg/s) et derrière, t'as un algorithme (type PID ou plus evolué) qui va tenter de suivre cette trajectoire. C'est la trajectoire qui est donc calculée de façon à ne pas tomber. C'est très boucle ouverte. Ce dont tu parles donc, c'est un robot asservi non pas à une trajectoire numérique mais asservi à un but directement, avec des contraintes de stabilité ce qui correspond à la définition de la robotique balistique.

Cybrina et Caballon on des techniques balistiques sauf que pour moi, la stature debout sera naturellement stable (4 pattes) alors que Cybrina aura un "stay apparatus" c'est à dire un système qui permet de dormir debout.

"Il n'y a rien de plus étrange pour l'homme que son image" RUR, Karel Capek
Caliban Midi - Art - Terroir et Robotique


#9 Leon

Leon

    Membre passionné

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

Posté 24 juillet 2010 - 12:42

Ce dont tu parles donc, c'est un robot asservi non pas à une trajectoire numérique mais asservi à un but directement, avec des contraintes de stabilité ce qui correspond à la définition de la robotique balistique

Désolé, mais je n'ai rien compris à cette phrase! Je fais des efforts, pourtant.

Qu'est-ce que tu entends par "robotique balistique"? J'ai trouvé quelques définition de 'marche balistique' sur des sites de médecine, je pense que c'est de ça dont tu parles. Zéro réponse sur 'robotique balistique' sous google. Si j'ai bien compris, la "marche balistique" est une marche qui dépense quasiment zéro énergie (sur sol plat). Le robot qui fait de la "marche balistique" peut être asservi sur une centrale inertielle (pour garder l'équilibre), ou en boucle ouverte avec une mécanique et des mouvements pré-définis (comme apparemment le robot FLAME), peu importe! Es-tu d'accord avec ça?

Donc d'après ce que j'en comprend, on aborde 2 items, 2 concepts complètement différents:
1) d'un côté le niveau d'énergie consommé et le type de déplacement. Je mettrait à priori au même niveau la marche statique, et la course.
2) de l'autre le niveau d'asservissement "haut niveau" du système, l'intelligence de maintien d'équilibre.

Au premier abord, j'ai tendance à dire qu'on peut trouver plein de type de marche robotique en croisant toutes ces définitions. Exemples:
* Petman est asservi niveau équilibre, et peut apparemment faire de la marche dynamique balistique (du moins ça y ressemble fortement). On ne l'a pas vu faire de la marche quasi-statique, ni de la course.
* Flame est un robot un tout petit peu asservi niveau équilibre, et qui fait uniquement de la marche balistique
* Le robot présenté dans la thèse que tu sites n'est pas du tout asservi niveau équilibre, pourtant il fait de la marche dynamique balistique.
* Asimo est très très peu asservi niveau équilibre (quelques mouvements réflexes 'tout ou rien'), et peut faire de la marche quasi-statique, dynamique (balistique?) et de la course.
* Les jouets type Boloid ou autre sont asservi à chaque articulation (grâce aux servomoteurs), mais pas du tout au niveau équilibre, ne font que des mouvements pré-programmés. A priori, ils se contentent de marche quasi-statique.

Mais bon, je débute totalement dans le domaine, alors je raconte peut-être des conneries! N'hésites pas à me corriger!

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 Thot

Thot

    Membre passionné

  • Membres
  • PipPipPip
  • 327 messages
  • Gender:Male
  • Location:Toulouse

Posté 25 juillet 2010 - 11:04

Oui le terme de marche balistique n'est pas courant du tout mais j'ai du mal à trouver un autre terme, "marche complètement dynamique", "Marche naturelle entretenue"...

Pour comprendre un peu cette marche, il faut comprendre ce qu'est la stabilité d'un tel robot.
- Pour une posture statique, c'est la distance entre la projection du centre de gravité sur le sol et le polygone de sustentation (la surface de support, ici nos deux pieds) Si le centre de gravité sort de ce polygone, on tombe.
- Pour les marches contrôlées, chacune a sa définition (Zero Moment Point, distance par rapport à la trajectoire préprogrammée...)
- En marche dynamique, un robot stable est un robot qui ne tombe pas :)

En 2D (on prend un robot de profil et on le tient de façon à ce qu'il ne tombe pas sur le côté), comment un robot peut tomber ?
- En avant : il n'a pas eu le temps de mettre une jambe devant pour se rattraper OU il a trébuché parce que la jambe qu'il voulais mettre devant a été bloquée.
- En arrière : il n'a pas assez d'énergie pour avancer, donc il tombe en arrière. La plus grosse partie de l'énergie perdue dans un bipède est dans le choc qui a lieu à chaque pas. On entend très bien cette énergie pour les mesdames qui ont des talons.

Donc si tu fais un robot qui mets suffisamment vite sa jambe libre devant, qui plie sa jambe pour éviter de trébucher et qui donne de l'impulsion avec son pied à chaque pas, ton robot ne peut tomber ni en avant, ni en arrière... Ton robot ne tombe jamais.

Pour cela, il y a besoin d'un capteur de contact sous chaque pied et d'une centrale inertielle dans le tronc principal pour qu'il reste vertical.

Le tronc vertical est important, il doit être lourd par rapport aux jambes. Ca permet de mettre en valeur l'agilité des jambes pour la stabilité. Les jambes prennent appui sur le corps et non l'inverse.

Quand on y réfléchi, nous même, comme bipède, nous ne tombons que quand il y a des grosses turbulences ou que quand on est pas dans notre état normal (hips...)

Voila, ce n'est que la base de la bipédie dynamique.

"Il n'y a rien de plus étrange pour l'homme que son image" RUR, Karel Capek
Caliban Midi - Art - Terroir et Robotique


#11 MrWhite

MrWhite

    Membre

  • Membres
  • 64 messages

Posté 25 juillet 2010 - 09:06

d'une centrale inertielle dans le tronc principal pour qu'il reste vertical.


Moi j'arrive à marcher le dos tordu ou le tronc penché, je serais plus pour une centrale inertielle en point haut.
Smells Like Robot Spirit

#12 Thot

Thot

    Membre passionné

  • Membres
  • PipPipPip
  • 327 messages
  • Gender:Male
  • Location:Toulouse

Posté 25 juillet 2010 - 09:18

Moi j'arrive à marcher le dos tordu ou le tronc penché, je serais plus pour une centrale inertielle en point haut.


Oui oui, je voulais dire avec un tronc dont l'orientation ne bouge pas. D'ailleurs, pour le fun voici un petit lien sur lequel je passerais des heures :

Dit moi comment tu marches, je te dirai comment tu es.

:)

"Il n'y a rien de plus étrange pour l'homme que son image" RUR, Karel Capek
Caliban Midi - Art - Terroir et Robotique


#13 VBRK

VBRK

    Membre

  • Membres
  • 13 messages

Posté 30 juillet 2010 - 10:01

Donc si tu fais un robot qui mets suffisamment vite sa jambe libre devant, qui plie sa jambe pour éviter de trébucher et qui donne de l'impulsion avec son pied à chaque pas, ton robot ne peut tomber ni en avant, ni en arrière... Ton robot ne tombe jamais.

Pour cela, il y a besoin d'un capteur de contact sous chaque pied et d'une centrale inertielle dans le tronc principal pour qu'il reste vertical.

A mon avis, Thot, un robot humanoïde bien conçu et codé pourrait entièrement se passer de capteurs de contact et de centrale inertielle.

Concernant les capteurs, la preuve est que nous-mêmes, soit la plant de nos pieds, on arrive à s'en passer lorsqu'on marche avec de grandes bottines surélevés ou des échasses. Question : comment sait le robot si ses pieds touchent les sol ? Facile : il ne peut plus étirer ses jambes puisqu'il a la résistance du sol qui empêche ses servomoteurs de s'actionner facilement, ou encore son poids qui pèsent sur eux.

Et concernant la centrale inertielle, soit connaître dans quel sens s'exerce la gravité (il me semble), là c'est pareil : nous-mêmes, nous n'avons pas de centrale inertielle. Enfin, en tout cas pas à ma connaissance. Pourtant, on arrive à sentir ses effets. Comment ? Grâce à nos muscles plus ou moins sollicités selon notre position. Si on est debout, nos jambes sont demandées. Si on est couché, elles ne le sont pas. Et puis, pour notre cas, on a aussi notre sang qui afflue plus ou moins vite et qu'on peut sentir quand on se met la tête à l'envers.

Cependant, les alpinistes qui ont survécus à des avalanches le disent : quand tu te retrouves englouti sous la neige, et alors que tout est redevenu calme, tu ne sais pas ou est le haut et le bas, la gauche et la droite. Et si tu veux t'échapper de ce bourbier poudreux, il faut que tu creuses. Pour savoir dans quel sens creuser (= vers le haut), eh bien tu craches, et alors tu regarde dans quel sens tombe ton crachat pour savoir dans quel sens tu es... Tout un programme.

Donc, pour savoir dans quel sens est la gravité, le robot peut compter sur ses servomoteurs pour le lui renseigner. Par ex, si le bras du robot tombe vers le bas quand il relâche ses moteurs, alors la gravité est dans ce sens. Enfin, avec ses jambes, il le saura avec ce procédé, car son propre poids s'exercera vers le bas.

#14 Thot

Thot

    Membre passionné

  • Membres
  • PipPipPip
  • 327 messages
  • Gender:Male
  • Location:Toulouse

Posté 31 juillet 2010 - 12:04

Concernant les capteurs, la preuve est que nous-mêmes, soit la plant de nos pieds, on arrive à s'en passer lorsqu'on marche avec de grandes bottines surélevés ou des échasses. Question : comment sait le robot si ses pieds touchent les sol ? Facile : il ne peut plus étirer ses jambes puisqu'il a la résistance du sol qui empêche ses servomoteurs de s'actionner facilement, ou encore son poids qui pèsent sur eux.


Le problème, c'est que quand le pied touche le sol, la plupart du temps, la jambe est complètement tendue. La pose du pied entraine un choc qui est absorbé par l'articulation du genou et la colonne vertebrale. Du coup, l'articulation du genou ou de la hanche ne se plie pas, il n'y a pas d'efforts ressentis par les muscles. En plus, pour mesurer un effort dans un servomoteur, on se base souvent sur la mesure de l'intensité qui est un signal extrêmement bruité.
Quand je dis qu'il faut un capteur de contact, je parle juste d'un switch 0 1.

Et concernant la centrale inertielle, soit connaître dans quel sens s'exerce la gravité (il me semble), là c'est pareil : nous-mêmes, nous n'avons pas de centrale inertielle.


Nous avons une centrale inertielle : Le système vestibulaire

Par contre, la où je te rejoins, c'est que dans certains cas, ces informations d'efforts sur les muscles sont non négligeables. Et même toutes les informations, même les plus éloignées du problème peuvent être extrêmement utiles. Ex :
Pour repérer la verticalité, le système vestibulaire est complètement adapté... nous utilisons principalement les yeux.
Pour détecter le contact du pied par rapport au sol, la pression sous les pieds semble la plus appropriée... nous utilisons aussi grandement l'oreille pour entendre le choc.
Pour détecter si une personne est derriere nous, quels sont les sens mis en jeu? l'oreille, la vue de l'ombre, le ressenti d'un courant d'air, le choc des pieds au sol, la paranoia...

Pour moi, tous les capteurs sont importants. Mais il faut ce que j'appelle un moteur d'intuition qui va recouper tous ces capteurs pour en déduire un sens général.

"Il n'y a rien de plus étrange pour l'homme que son image" RUR, Karel Capek
Caliban Midi - Art - Terroir et Robotique


#15 VBRK

VBRK

    Membre

  • Membres
  • 13 messages

Posté 02 août 2010 - 07:40

La pose du pied entraine un choc qui est absorbé par l'articulation du genou et la colonne vertebrale. Du coup, l'articulation du genou ou de la hanche ne se plie pas, il n'y a pas d'efforts ressentis par les muscles.

Si tu te contentes juste d'un simple bouton pour savoir si ton pied "touche le sol", Thot, cela risque d'amener à des situations où, le robot ressentant quelque chose sous son pied, il va dire "OK, c'est bon, je peux peser tout mon poids puisque c'est le sol". Et si ce quelque chose est un truc léger ou fragile, alors le robot va dégringoler.

Avec mon idée, il s'agit juste de se baser sur l'effort que doit fournir la jambe pour soutenir le poids du corps. C'est du même ordre que bouger son pied en actionnant à la bonne intensité ses servos.
SI mon pied touche le sol ALORS ma jambe doit nécessairement porter le poids de mon corps.

Je veux bien qu'un servo ne soit pas 100% fiable pour mesurer son angle, mais il le doit suffisamment car on en a impérativement besoin (de connaître l'angle de sa jambe) pour avoir une marche dynamique.

Nous avons une centrale inertielle : Le système vestibulaire

Hum... Si pour la pression sous les pieds je pense qu'on peut s'en passer, peut-être que pour une centrale inertielle, c'est plus délicat. j'y est repensé et je me dis que les muscles (servos) ne sont pas si appropriés.

Quant à ton idée de combiner différents sens, oui, dans une IA idéale, mais dans un prototype, qui déjà ne sait même pas voir, je trouve que c'est trop s'avancer.




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

0 members, 0 guests, 0 anonymous users