Annexe Technique : Réponses détaillées aux
remarques
Table des matières
1 Nature des couples moteurs τ 3
1.1 Définition physique du couple . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Pourquoi τ ∈ R ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Cas du robot bipède étudié . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Interprétation physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Analyse détaillée de l’équation dynamique 4
2.1 Coordonnées généralisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Matrice d’inertie M (q) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Origine de M (q) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 Terme de Coriolis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5 Terme gravitationnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.6 Cohérence dimensionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.7 Interprétation physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Nombre de degrés de liberté du robot 7
3.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3 Cas du robot étudié . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.4 Importance de nq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4 Paramètres de la fonction coût 8
4.1 Variables d’optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2 Signification de θ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5 Analyse détaillée de la fonction coût 9
5.1 Coût énergétique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.2 Pourquoi la somme s’arrête à N − 1 ? . . . . . . . . . . . . . . . . . . . . . 10
5.3 Fluidité du mouvement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.4 Pourquoi la somme commence à 1 ? . . . . . . . . . . . . . . . . . . . . . . 10
5.5 Précision de la longueur du pas . . . . . . . . . . . . . . . . . . . . . . . . 11
5.6 Stabilité ZMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.7 Pourquoi la somme va jusqu’à N ? . . . . . . . . . . . . . . . . . . . . . . . 11
5.8 Interprétation physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1
6 Critère de stabilité ZMP 12
6.1 Distance réelle du ZMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.2 Marge de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.3 Différence entre dZM P et dsaf e . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.4 Interprétation physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7 Définition détaillée de l’espace d’état 13
7.1 Variables de position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.2 Variables de vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.3 Dimension de l’espace d’état . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.4 Rôle dans DDPG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
8 Définition détaillée de l’espace d’action 14
8.1 Interprétation des actions . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
8.2 Dimension de l’espace d’action . . . . . . . . . . . . . . . . . . . . . . . . . 14
8.3 Lien entre U et τ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
8.4 Principe du contrôle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2
1 Nature des couples moteurs τ
Le modèle dynamique du robot bipède est donné par :
M (q)q̈ + C(q, q̇)q̇ + G(q) = τ. (1)
où τ représente le vecteur des couples moteurs appliqués aux articulations du robot.
1.1 Définition physique du couple
Le couple mécanique (ou torque) correspond à l’effet rotatif produit par une force
appliquée à une certaine distance d’un axe de rotation.
Il est défini par :
τ = F × d, (2)
où :
— F est la force appliquée (N),
— d est la distance entre le point d’application de la force et l’axe de rotation (m).
L’unité du couple est :
[N.m].
1.2 Pourquoi τ ∈ R ?
Considérons une articulation unique.
Le couple moteur peut prendre différentes valeurs :
τ = 5 N.m,
ou encore :
τ = −3.5 N.m.
Le signe du couple indique le sens de rotation :
— τ > 0 : sens positif choisi,
— τ < 0 : sens opposé.
Par conséquent, le couple peut être :
— positif,
— négatif,
— décimal.
Ainsi :
τ ∈ R.
En revanche :
τ∈
/ N,
car les nombres naturels ne contiennent ni valeurs négatives ni valeurs décimales.
3
1.3 Cas du robot bipède étudié
Le robot possède :
nq = 5
degrés de liberté.
Chaque articulation est actionnée par un moteur indépendant.
Le vecteur des couples moteurs s’écrit :
τ1
τ2
τ = τ3 . (3)
τ4
τ5
Chaque composante représente le couple appliqué à une articulation particulière.
Ainsi :
τ ∈ R5 .
De manière générale :
τ ∈ Rnq .
1.4 Interprétation physique
Le vecteur τ constitue l’entrée mécanique du système robotique.
Il permet :
— de générer le mouvement ;
— de maintenir l’équilibre ;
— de compenser les effets inertiels ;
— de compenser les effets gravitationnels.
2 Analyse détaillée de l’équation dynamique
L’équation dynamique du robot bipède est donnée par :
M (q)q̈ + C(q, q̇)q̇ + G(q) = τ. (4)
Cette équation traduit l’équilibre entre les couples générés par les moteurs et les dif-
férents phénomènes physiques agissant sur le robot.
2.1 Coordonnées généralisées
Le vecteur des positions articulaires est défini par :
4
q1
q2
q = .. . (5)
.
qn q
Il appartient à :
q ∈ R nq .
Le vecteur des vitesses est :
q̇ ∈ Rnq ,
et le vecteur des accélérations :
q̈ ∈ Rnq .
2.2 Matrice d’inertie M (q)
La matrice d’inertie décrit la résistance du robot aux accélérations articulaires.
Elle dépend de la configuration du robot :
M (q) ∈ Rnq ×nq .
Dans le cas du robot étudié :
M (q) ∈ R5×5 .
Sa forme générale est :
m11 m12 · · · m15
m21 m22 · · · m25
M (q) = .. .. .
.. . .
. . . .
m51 m52 · · · m55
Les éléments diagonaux représentent l’inertie propre des articulations, tandis que les
éléments hors diagonale traduisent les couplages dynamiques entre articulations.
2.3 Origine de M (q)
La matrice d’inertie est obtenue à partir de l’énergie cinétique totale du robot.
L’énergie cinétique s’écrit :
1
T = q̇ T M (q)q̇. (6)
2
Les coefficients de la matrice sont déterminés par :
∂ 2T
Mij (q) = . (7)
∂ q̇i ∂ q̇j
5
2.4 Terme de Coriolis
Le terme :
C(q, q̇)q̇
représente les interactions dynamiques liées aux vitesses articulaires.
Il appartient à :
C(q, q̇)q̇ ∈ Rnq .
Ces effets apparaissent lorsque plusieurs articulations se déplacent simultanément.
2.5 Terme gravitationnel
Le vecteur gravitationnel est défini par :
G(q) ∈ Rnq .
Il représente les couples nécessaires pour compenser les effets du poids du robot.
2.6 Cohérence dimensionnelle
Les dimensions des différentes grandeurs sont :
M (q) ∈ Rnq ×nq ,
q̈ ∈ Rnq ,
d’où :
M (q)q̈ ∈ Rnq .
De même :
C(q, q̇)q̇ ∈ Rnq ,
et :
G(q) ∈ Rnq .
Ainsi :
M (q)q̈ + C(q, q̇)q̇ + G(q) ∈ Rnq .
Le membre de droite vérifie également :
τ ∈ Rnq .
L’équation dynamique est donc cohérente du point de vue mathématique.
6
2.7 Interprétation physique
Pour chaque articulation, le couple moteur appliqué doit compenser :
— les effets inertiels ;
— les effets de Coriolis ;
— les effets gravitationnels.
Autrement dit :
Couple moteur = Inertie + Coriolis + Gravité.
3 Nombre de degrés de liberté du robot
Le paramètre nq représente le nombre de coordonnées généralisées nécessaires pour
décrire complètement la configuration du robot.
Dans le contexte de la robotique, nq correspond généralement au nombre de degrés de
liberté (Degrees of Freedom).
3.1 Définition
Un degré de liberté est une variable indépendante décrivant un mouvement élémentaire
du système.
Ainsi :
nq = nombre de degrés de liberté.
3.2 Exemples
Pendule simple Le pendule est décrit par un seul angle :
q = θ.
Donc :
nq = 1.
Robot à deux articulations Si un robot possède deux articulations indépendantes :
q
q= 1 ,
q2
alors :
nq = 2.
7
3.3 Cas du robot étudié
Le robot bipède étudié possède cinq coordonnées généralisées :
q31
q32
q= q41 .
q42
q1
Ainsi :
nq = 5.
Ces coordonnées représentent :
— q31 : angle de la cuisse gauche ;
— q32 : angle de la jambe gauche ;
— q41 : angle de la cuisse droite ;
— q42 : angle de la jambe droite ;
— q1 : angle du torse.
3.4 Importance de nq
Le paramètre nq détermine la dimension de toutes les grandeurs du modèle :
q, q̇, q̈, τ ∈ Rnq ,
et :
M (q) ∈ Rnq ×nq .
Dans le cas étudié :
q, q̇, q̈, τ ∈ R5 ,
et :
M (q) ∈ R5×5 .
4 Paramètres de la fonction coût
Le problème d’optimisation est formulé sous la forme :
min J(x; θ). (8)
x
8
4.1 Variables d’optimisation
Le vecteur :
x = [q0 , q1 , . . . , qN ]
regroupe l’ensemble des positions articulaires discrétisées.
Ces variables sont déterminées par le solveur d’optimisation.
4.2 Signification de θ
Le symbole θ représente les paramètres fixes du problème.
Contrairement à x, ces paramètres ne sont pas optimisés.
Ils caractérisent le robot et les conditions de locomotion.
On peut écrire :
θ = (sl , M, H, . . .),
où :
— sl : longueur du pas souhaitée ;
— M : masse totale du robot ;
— H : hauteur totale du robot.
Ainsi :
J(x; θ)
indique que la qualité d’une trajectoire dépend à la fois des variables optimisées et des
paramètres physiques du robot.
5 Analyse détaillée de la fonction coût
La fonction coût utilisée dans le problème d’optimisation est donnée par :
J(x; θ) = wE JE + wS JS + wT JT + wZ JZ . (9)
Chaque terme traduit un objectif spécifique.
5.1 Coût énergétique
Le coût énergétique est défini par :
N
X −1
JE = ∥τk ∥22 ∆t. (10)
k=0
Il vise à réduire l’effort fourni par les moteurs.
Plus les couples moteurs sont faibles, plus la consommation énergétique est réduite.
9
5.2 Pourquoi la somme s’arrête à N − 1 ?
Le terme JE correspond à une approximation discrète de l’intégrale :
Z T
∥τ (t)∥2 dt.
0
La discrétisation temporelle produit :
N +1
instants :
t0 , t1 , . . . , tN ,
mais seulement :
N
intervalles.
Ainsi :
k = 0, . . . , N − 1.
5.3 Fluidité du mouvement
Le terme de fluidité est défini par :
N
X −1
JS = ∥qk+1 − 2qk + qk−1 ∥22 . (11)
k=1
Il pénalise les variations brusques du mouvement.
5.4 Pourquoi la somme commence à 1 ?
Le terme :
qk+1 − 2qk + qk−1
correspond à une approximation discrète de la dérivée seconde.
Son calcul nécessite :
qk−1 et qk+1 .
Ainsi :
k=0
est impossible, car il faudrait utiliser :
q−1 .
De même :
10
k=N
nécessiterait :
qN +1 .
La somme est donc définie pour :
k = 1, . . . , N − 1.
5.5 Précision de la longueur du pas
Le coût associé à la longueur du pas est donné par :
JT = (Sachieved − Starget )2 . (12)
Il permet de rapprocher la longueur du pas obtenue de la longueur souhaitée.
5.6 Stabilité ZMP
Le coût de stabilité s’écrit :
N
X
JZ = max (0, dZM P (tk ) − dsaf e )2 . (13)
k=0
5.7 Pourquoi la somme va jusqu’à N ?
Le critère ZMP doit être vérifié à chaque instant discret.
Ainsi, tous les instants :
t0 , t1 , . . . , tN
doivent être pris en compte.
Contrairement à JE et JS , il ne s’agit ni d’une intégrale discrétisée ni d’une approxi-
mation de dérivée.
La somme s’écrit donc :
k = 0, . . . , N.
5.8 Interprétation physique
Les différents termes de la fonction coût poursuivent des objectifs complémentaires :
— minimiser la consommation énergétique ;
— améliorer la fluidité du mouvement ;
— respecter la longueur du pas désirée ;
— garantir la stabilité dynamique du robot.
11
6 Critère de stabilité ZMP
Le Zero Moment Point (ZMP) constitue l’un des critères de stabilité les plus utilisés
en locomotion bipède.
Il correspond au point du sol où le moment résultant des forces d’inertie et de gravité
devient nul.
Le maintien du ZMP à l’intérieur du polygone de support permet d’assurer la stabilité
dynamique du robot.
6.1 Distance réelle du ZMP
La quantité
dZM P (tk )
représente la distance réelle entre la position du ZMP et la limite du polygone de
support à l’instant tk .
Cette distance dépend directement de la trajectoire générée et varie tout au long du
mouvement.
Ainsi :
dZM P (tk ) = distance instantanée du ZMP aux limites du pied.
6.2 Marge de sécurité
La grandeur
dsaf e
correspond à une marge de sécurité définie avant l’optimisation.
Elle représente la distance minimale acceptable entre le ZMP et les frontières du po-
lygone de support.
Contrairement à dZM P , cette valeur reste constante durant toute la locomotion.
6.3 Différence entre dZM P et dsaf e
Les principales différences sont résumées dans le Tableau 1.
Table 1 – Comparaison entre dZM P et dsaf e .
Caractéristique dZM P dsaf e
Nature Variable Constante
Origine Calculée Fixée par le concepteur
Évolution temporelle Dépend du mouvement Invariante
Rôle Mesure la stabilité réelle Définit la sécurité souhaitée
12
6.4 Interprétation physique
Le critère
dZM P (tk ) ≤ dsaf e
vise à maintenir le ZMP suffisamment éloigné des limites du polygone de support afin
de réduire le risque de chute.
7 Définition détaillée de l’espace d’état
Dans le cadre du contrôle par DDPG, l’état du robot est défini par :
S = [q, q̇]T . (14)
Pour le robot étudié :
S = [q31 , q32 , q41 , q42 , q1 , q̇31 , q̇32 , q̇41 , q̇42 , q̇1 ]T . (15)
7.1 Variables de position
Les cinq premières composantes décrivent la configuration instantanée du robot.
Table 2 – Définition des variables articulaires.
Variable Description
q31 Angle de la cuisse gauche
q32 Angle de la jambe gauche
q41 Angle de la cuisse droite
q42 Angle de la jambe droite
q1 Angle du torse
7.2 Variables de vitesse
Les cinq dernières composantes correspondent aux vitesses angulaires.
Table 3 – Définition des vitesses articulaires.
Variable Description
q̇31 Vitesse angulaire de la cuisse gauche
q̇32 Vitesse angulaire de la jambe gauche
q̇41 Vitesse angulaire de la cuisse droite
q̇42 Vitesse angulaire de la jambe droite
q̇1 Vitesse angulaire du torse
13
7.3 Dimension de l’espace d’état
Le vecteur d’état contient :
— cinq positions articulaires ;
— cinq vitesses articulaires.
Ainsi :
S ∈ R10 .
7.4 Rôle dans DDPG
L’espace d’état fournit au contrôleur DDPG toutes les informations nécessaires pour
décrire la posture et le mouvement instantané du robot.
8 Définition détaillée de l’espace d’action
L’espace d’action du contrôleur DDPG est défini par :
U = [u1 , u2 , u3 , u4 , u5 ]T . (16)
8.1 Interprétation des actions
Chaque composante correspond au couple appliqué à une articulation du robot.
Table 4 – Définition des variables d’action.
Variable Description
u1 Couple appliqué à la cuisse gauche
u2 Couple appliqué à la jambe gauche
u3 Couple appliqué au torse
u4 Couple appliqué à la cuisse droite
u5 Couple appliqué à la jambe droite
8.2 Dimension de l’espace d’action
Le robot possède cinq actionneurs.
Ainsi :
U ∈ R5 .
8.3 Lien entre U et τ
Le vecteur des couples moteurs intervenant dans le modèle dynamique est donné par :
14
τ1
τ2
τ3 .
τ =
τ4
τ5
Dans le cadre du contrôle DDPG, les actions produites par l’agent sont directement
assimilées aux couples moteurs.
Par conséquent :
U = τ.
8.4 Principe du contrôle
Le fonctionnement général du contrôleur peut être résumé par :
S −→ DDPG −→ U.
L’agent observe l’état courant du robot puis génère les couples moteurs permettant de
maintenir la stabilité et de produire la locomotion souhaitée.
15