• Aucun résultat trouvé

2.2 Méthode d’extension pour robots à pattes

2.2.2 Méthode de planification locale

| {z }

H

¨c +m

"

g

c× −g

#

| {z }

h

=

"

I

3

... I

3

ˆ

p

1

... pˆ

k

#

V

| {z }

G

β (2.3)

Ainsi, si il existe unβ

tel queβ

0et que l’équation (2.3) est satisfaite, alors

le système respecte les contraintes de non glissement et donc respecte nos conditions

de validité dynamique. Notre test revient donc à résoudre le LP suivant :

find β

s.t.Gβ=H¨c+h

β≥0

(2.4)

2.2.2 Méthode de planification locale

Notre méthode de planification locale est basée sur la méthode

dé-crite dans la sous-section 1.2.1, nommée Double Integrator Minimum Time

(DIMT)[Kröger 2006, Hauser 2010, Kunz 2014]. Nous introduisons maintenant

notre extension pour la locomotion des robots à jambes.

Nous rappelons que la méthode DIMT prend en entrée deux étatsx

0

= (c

0

,˙c

0

,¨c

0

)

et x

1

= (c

1

,˙c

1

,¨c

1

) ainsi que des bornes d’accélération et de vitesse (constantes et

symétriques) pour chaque degrés de liberté du système. Ici, nous considérons le

modèle centroidal et nos degrés de liberté sont donc les trois translations selon les

trois axes du repère cartésien. Ces bornes sont donc représentées ainsi :

c˙

max{x,y,z}

c˙

{x,y,z}

c˙

max{x,y,z}

c¨

max{x,y,z}

c¨

{x,y,z}

≤ ¨c

max{x,y,z}

(2.5)

Cette méthode produit en sortie une trajectoire x(t) définie par :

x:t∈[0, t

f

]7→<c(t),˙c(t),¨c(t)>

Tel que x(0) =x

0

et x(t

f

) =x

1

, et x(t) respecte les bornes de vitesse et

d’accélé-ration données.

2.2.2.1 Problème de la locomotion de robots à pattes

Lors de la locomotion de robots à pattes, les contraintes dynamiques appliquées

au centre de masse sont imposées par les contacts entre le robot et l’environnement.

De ce fait, les bornes d’accélération du centre de masse ne sont ni constantes ni

sy-métriques et elles ne peuvent pas être définies à priori sans connaissance des contacts

actuels du robot. En effet, ces bornes vont correspondre aux accélérations

admis-sibles du centre de masse. C’est à dire l’ensemble des accélérations qui permettent

de satisfaire les contraintes de non glissement.

Or, l’accélération admissible dépend entre autre des points de contact et des

normales de contact, la figure2.1montre un exemple intuitif : si l’on désire effectuer

un mouvement vers la gauche du robot et que l’on a seulement des contacts entre les

pieds et le sol, l’amplitude maximale de l’accélération qui permet de respecter les

contraintes de non glissement est relativement faible. Si l’on rajoute un contact avec

la main droite contre un mur, cette amplitude maximale augmente grandement.

D’autre part, comme décrit par l’équation (2.3), l’accélération admissible dépend

également de la position du centre de masse comme on peut l’observer sur la figure

2.2.

Figure 2.1 – Exemple de contraintes dynamiques dépendantes des contacts actifs

pour HRP-2. Sur la figure de gauche, seuls les pieds sont en contact, sur la figure

de droite la main droite est en contact avec le mur. Le vecteur jaune représente

l’accélération admissible maximale vers la gauche du robot.

Afin d’être capable de gérer des bornes en accélération dépendantes de l’état et

qui varient donc durant la planification, nous avons proposé de calculer ces bornes

seulement pour l’état et la phase de contact initial de chaque appel à la méthode

de planification locale : x

{p}

0

.

Ainsi, la trajectoire produite par la méthode de planification locale est valide

dans le voisinage de l’état initial, et la méthode de validation de trajectoire

présen-2.2. Méthode d’extension pour robots à pattes 55

Figure2.2 – Exemple de contraintes dynamiques dépendantes de l’état pour

HRP-2. Chaque couleur correspond à une phase de contact différente (ie. différents points

de contact avec des normales au contact différentes) pour une position de l’origine

du robot identique. Les polygones représentent la relation entre l’accélération

ad-missible du centre de masse et sa position, selon l’axex.

tée dans la section précédente permet de déterminer exactement les limites de ce

voisinage.

Bien que les bornes d’accélération utilisées ne soient valides que pour l’état

initial de la planification locale, le fait d’utiliser ces bornes plausibles augmente

grandement la probabilité que la méthode de planification locale produise des

tra-jectoires valides par rapport à l’utilisation de bornes naïves constantes durant toute

la planification, comme montré par les résultats de la section 2.4.2.3.

2.2.2.2 Calcul des bornes d’accélération

Plutôt que de calculer explicitement toutes les bornes d’accélération admissibles

en utilisant une méthode de double description, nous préférons utiliser une méthode

d’optimisation afin de calculer la borne dans une direction spécifique car cette

ap-proche se révèle moins coûteuse en temps de calcul [Del Prete 2016].

Pour estimer les bornes d’accélération admissibles dans le voisinage de l’état

x

{p}0

, nous allons procéder selon les étapes suivantes :

Premièrement, la méthode DIMT est appelée avec des bornes d’accélération

ar-bitrairement grandes, définies manuellement :

−¨c

{x,y,z}

c¨

{x,y,z}

≤¨c

{x,y,z}

(2.6)

Ces bornes permettent d’imposer une amplitude d’accélération maximale autorisée,

mais ne prennent pas en compte les contraintes dynamiques.

phases à accélération constante, nous nous intéressons à la direction de la première

phase, notée par le vecteur unitaire a.

Ensuite, nous calculons l’accélération maximale selon la direction trouvée qui

satisfasse les contraintes de non glissement à l’état x

{p}

0

:

¨c

max

=α

a ,α

∈R

+

(2.7)

Enfin, la méthode DIMT est appelée une seconde fois, en utilisant comme bornes

d’accélération la projection de¨c

max

selon les axes (x,y,z) :

−¨c

max{x,y,z}

≤¨c

{x,y,z}

c¨

max{x,y,z}

(2.8)

Avec ¨c

max

{x,y,z}

c¨

{x,y,z}

.

Si la direction de l’accélération a

calculée par le second appel de DIMT est

telle que a

= a, alors les bornes utilisées sont correctes et la trajectoire produite

sera dynamiquement valide dans le voisinage de x

0

. Dans la section 2.4.2.1 nous

montrons empiriquement que dans la majorité des cas nous obtenons bien l’égalité

a

=a et que dans tout les cas les bornes restent valides dans le voisinage dex

0

.

Afin de calculer α

, nous reformulons le LP (2.4) utilisé par notre test des

contraintes dynamiques présenté dans la section précédente. La première étape étant

de réécrire l’équation (2.3) en posant¨c=αa :

m

"

I

3

ˆ

c

#

| {z }

H

αa +m

"

g

c× −g

#

| {z }

h

=

"

I

3

... I

3

ˆ

p

1

... pˆ

k

#

V

| {z }

G

β (2.9)

Nous obtenons ensuite l’équation suivante, définissant les contraintes de non

glissement :

Hαa+h=Gβ (2.10)

Dans cette équation, le membre de droiteGdépend uniquement de la phase de

contact courante (ie. des contacts courants entre le robot et l’environnement) et le

membre de gauche dépend de la position du centre de masse du robot. Ici, nous

calculons ces membres en fonction de l’état et de la phase de contact initial x

{p}0

.

Comme pour le test des contraintes dynamiques, nous avons β ∈ R

4k

, β ≥ 0

comme variable de notre problème. Mais ici, nous introduisons une nouvelle variable

α ∈R

+

qui représente l’amplitude de l’accélération. L’égalité ci-dessus peut alors

être réécrite sous la forme suivante :

h

G −(Ha)i

"

β

α

#

=h (2.11)