Royaume du Maroc
Université Mohammed V de Rabat
Faculté des Sciences
Analyse détaillée du problème
d’optimisation
Génération de trajectoires optimales pour la locomotion bipède
Préparé par :
Bilal Boussar
Encadrante :
Mme ...................................
Master MIN – INIA
Année universitaire 2025–2026
Table des matières
Introduction 2
1 Nature du problème d’optimisation 3
1.1 Formulation générale du problème . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Variables d’optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Pourquoi utiliser une optimisation ? . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Fonction coût utilisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Classification des problèmes d’optimisation . . . . . . . . . . . . . . . . . . 4
1.5.1 Optimisation linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5.2 Optimisation non linéaire . . . . . . . . . . . . . . . . . . . . . . . 5
1.6 Pourquoi le problème étudié est-il non linéaire ? . . . . . . . . . . . . . . . 5
1.7 Interprétation physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Optimisation sous contraintes 6
2.1 Contraintes d’égalité et d’inégalité . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Contraintes dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Contraintes de stabilité ZMP . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Contraintes articulaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 Contraintes sur les couples moteurs . . . . . . . . . . . . . . . . . . . . . . 8
2.6 Contraintes de contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.7 Conditions aux limites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.8 Interprétation globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3 Résolution du problème par la méthode Interior-Point 10
3.1 Principe général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 Difficultés du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3 Idée fondamentale de la méthode Interior-Point . . . . . . . . . . . . . . . 11
3.4 Transformation des contraintes . . . . . . . . . . . . . . . . . . . . . . . . 11
3.5 Fonction objectif modifiée . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.6 Rôle du paramètre de barrière . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.7 Application au robot bipède . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.8 Processus de résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.9 Lien avec le solveur fmincon . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1
Introduction
L’objectif de ce document est d’approfondir la compréhension théorique du problème
d’optimisation utilisé pour la génération de trajectoires optimales dans le cadre de la
locomotion bipède.
Cette étude répond aux remarques formulées lors de l’avancement du projet et vise à
clarifier les différents aspects mathématiques du modèle avant son implémentation numé-
rique sous MATLAB.
Les notions abordées concernent notamment :
— les couples moteurs ;
— l’équation dynamique du robot ;
— la fonction coût ;
— les contraintes du problème ;
— l’espace d’état et l’espace d’action ;
— la nature de l’optimisation utilisée ;
— la méthode Interior-Point ;
— le solveur fmincon.
2
1 Nature du problème d’optimisation
L’objectif principal de ce travail consiste à générer une trajectoire de marche permet-
tant au robot bipède d’effectuer un déplacement stable, fluide et énergétiquement efficace.
Pour atteindre cet objectif, le problème est formulé sous la forme d’un problème
d’optimisation mathématique. L’idée générale consiste à rechercher automatiquement la
meilleure trajectoire parmi l’ensemble des trajectoires physiquement réalisables.
1.1 Formulation générale du problème
Le problème étudié est formulé sous la forme :
min J(x; θ) (1)
x
où :
— x représente les variables d’optimisation ;
— J(x; θ) représente la fonction coût ;
— θ désigne l’ensemble des paramètres physiques du robot.
L’objectif de l’optimisation est de déterminer les valeurs de x minimisant la fonction
coût tout en respectant les contraintes physiques imposées au système.
1.2 Variables d’optimisation
Les variables optimisées correspondent à l’ensemble des configurations articulaires dis-
crétisées du robot :
x = [q0 , q1 , . . . , qN ]. (2)
Chaque vecteur articulaire est défini par :
qk = [q31 , q32 , q41 , q42 , q1 ]T . (3)
où :
— q31 représente l’angle de la cuisse gauche ;
— q32 représente l’angle de la jambe gauche ;
— q41 représente l’angle de la cuisse droite ;
— q42 représente l’angle de la jambe droite ;
— q1 représente l’angle du torse.
Ainsi, l’optimiseur ne recherche pas uniquement une posture finale mais une trajectoire
complète reliant la configuration initiale à la configuration finale.
3
1.3 Pourquoi utiliser une optimisation ?
Pour une même longueur de pas, il existe une infinité de trajectoires réalisables.
Certaines trajectoires permettent de réduire la consommation énergétique mais pré-
sentent un risque d’instabilité. D’autres garantissent une excellente stabilité mais néces-
sitent des couples moteurs importants.
L’objectif de l’optimisation consiste donc à trouver le meilleur compromis entre plu-
sieurs critères parfois contradictoires :
— minimiser l’énergie consommée ;
— améliorer la fluidité du mouvement ;
— respecter la longueur du pas souhaitée ;
— maintenir la stabilité du robot.
Ces objectifs sont regroupés dans une fonction coût unique.
1.4 Fonction coût utilisée
La fonction coût considérée dans ce travail est donnée par :
J = wE JE + wS JS + wT JT + wZ JZ , (4)
où :
— JE représente le coût énergétique ;
— JS représente le critère de fluidité ;
— JT représente l’erreur sur la longueur du pas ;
— JZ représente le critère de stabilité basé sur le ZMP ;
— wE , wS , wT , wZ sont des coefficients de pondération.
L’optimisation consiste à minimiser simultanément l’ensemble de ces critères.
1.5 Classification des problèmes d’optimisation
Les problèmes d’optimisation peuvent être classés selon la nature de leur fonction coût
et de leurs contraintes.
1.5.1 Optimisation linéaire
Un problème est dit linéaire lorsque la fonction coût et les contraintes sont linéaires.
Par exemple :
min(3x1 + 2x2 ) (5)
x
4
sous les contraintes :
x1 + x2 ≤ 10. (6)
Dans ce cas, toutes les équations sont de degré un.
1.5.2 Optimisation non linéaire
Un problème devient non linéaire dès que la fonction coût ou les contraintes contiennent :
— des carrés ;
— des produits entre variables ;
— des fonctions trigonométriques ;
— des fonctions exponentielles ou logarithmiques.
Par exemple :
min(x2 + sin(x)). (7)
x
Ce problème est non linéaire.
1.6 Pourquoi le problème étudié est-il non linéaire ?
Le problème considéré dans ce travail appartient à la catégorie des optimisations non
linéaires.
Cette propriété provient directement de la dynamique du robot :
M (q)q̈ + C(q, q̇)q̇ + G(q) = τ. (8)
La matrice d’inertie dépend de la configuration articulaire :
M = M (q).
Les termes gravitationnels contiennent généralement des fonctions trigonométriques :
sin(q), cos(q).
Les termes de Coriolis introduisent des produits entre variables :
q̇i q̇j .
La fonction coût contient également plusieurs termes quadratiques :
JE , JS , JZ .
5
Par conséquent, la fonction coût ainsi que les contraintes dépendent de relations non
linéaires.
Le problème est donc qualifié d’optimisation non linéaire.
1.7 Interprétation physique
D’un point de vue physique, l’optimisation cherche à répondre à la question suivante :
Quelle est la meilleure trajectoire permettant au robot d’effectuer un pas tout
en consommant peu d’énergie, en restant stable et en respectant les limites
mécaniques des articulations et des actionneurs ?
La solution obtenue correspond à la trajectoire optimale utilisée ensuite pour l’ap-
prentissage et le contrôle du robot.
2 Optimisation sous contraintes
Dans un problème d’optimisation classique, l’objectif consiste à rechercher la solution
minimisant une fonction coût.
Cependant, dans le cas de la locomotion bipède, toutes les trajectoires mathématique-
ment possibles ne sont pas physiquement réalisables.
En effet, la trajectoire optimale doit respecter simultanément les lois de la mécanique,
les limites des articulations, les capacités des moteurs ainsi que les contraintes de stabilité.
Pour cette raison, le problème étudié est formulé comme une optimisation non linéaire
sous contraintes.
La formulation générale est donnée par :
min J(x) (9)
x
sous les contraintes :
gdyn (x) = 0, (10)
gZM P (x) ≤ 0, (11)
qmin ≤ qk ≤ qmax , (12)
τmin ≤ τk ≤ τmax , (13)
hcontact (x) = 0, (14)
6
ΦBC (x) = 0. (15)
2.1 Contraintes d’égalité et d’inégalité
Les contraintes d’un problème d’optimisation sont généralement classées en deux ca-
tégories.
Contraintes d’égalité Une contrainte d’égalité impose une condition devant être sa-
tisfaite exactement :
h(x) = 0. (16)
Dans notre problème :
gdyn (x) = 0, (17)
hcontact (x) = 0, (18)
ΦBC (x) = 0. (19)
Contraintes d’inégalité Une contrainte d’inégalité définit une région admissible :
g(x) ≤ 0. (20)
Dans notre problème :
gZM P (x) ≤ 0. (21)
Les limites articulaires et les limites moteurs constituent également des contraintes
d’inégalité.
2.2 Contraintes dynamiques
La première contrainte du problème est la contrainte dynamique :
gdyn (x) = 0. (22)
Cette contrainte garantit que la trajectoire générée respecte les lois de la mécanique.
Elle repose sur l’équation dynamique du robot :
7
M (q)q̈ + C(q, q̇)q̇ + G(q) = τ. (23)
Sans cette contrainte, l’optimiseur pourrait générer des mouvements mathématique-
ment intéressants mais physiquement impossibles à réaliser.
La contrainte dynamique assure donc la cohérence physique de la trajectoire.
2.3 Contraintes de stabilité ZMP
La stabilité du robot est assurée à travers le critère du Zero Moment Point (ZMP).
Le principe consiste à maintenir le ZMP à l’intérieur du polygone de support durant
toute la phase de marche.
Cette condition est traduite par :
gZM P (x) ≤ 0. (24)
Cette contrainte évite que le robot perde son équilibre pendant le mouvement.
Elle constitue l’une des contraintes les plus importantes du problème.
2.4 Contraintes articulaires
Chaque articulation possède des limites mécaniques.
Les angles articulaires doivent donc respecter :
qmin ≤ qk ≤ qmax . (25)
Ces bornes dépendent de la conception du robot.
Par exemple, une articulation du genou ne peut pas effectuer une rotation arbitraire-
ment grande.
Ces contraintes empêchent l’apparition de configurations irréalistes.
2.5 Contraintes sur les couples moteurs
Les moteurs disposent d’une capacité limitée.
Les couples moteurs doivent vérifier :
τmin ≤ τk ≤ τmax . (26)
Cette contrainte garantit que les efforts demandés aux actionneurs restent compatibles
avec les capacités physiques du système.
Une trajectoire nécessitant des couples excessifs serait impossible à exécuter en pra-
tique.
8
2.6 Contraintes de contact
Les contraintes de contact permettent de modéliser l’interaction entre le pied et le sol.
Elles sont regroupées dans la relation :
hcontact (x) = 0. (27)
Ces contraintes assurent notamment :
— le maintien du contact pendant la phase d’appui ;
— l’absence de pénétration du pied dans le sol ;
— la cohérence du modèle de marche.
2.7 Conditions aux limites
La trajectoire doit commencer et terminer dans des configurations prédéfinies.
Cette exigence est représentée par :
ΦBC (x) = 0. (28)
Ces conditions imposent généralement :
— une posture initiale ;
— une posture finale ;
— certaines vitesses articulaires particulières.
Elles garantissent la cohérence globale du mouvement généré.
2.8 Interprétation globale
L’optimiseur cherche à minimiser la fonction coût tout en respectant simultanément
l’ensemble des contraintes précédentes.
Autrement dit, il ne suffit pas de produire une trajectoire énergétiquement efficace.
La trajectoire doit également :
— respecter la dynamique du robot ;
— maintenir l’équilibre ;
— rester dans les limites articulaires ;
— respecter les capacités des moteurs ;
— satisfaire les conditions de contact ;
— vérifier les conditions initiales et finales.
L’ensemble de ces contraintes définit l’espace des solutions admissibles dans lequel
l’algorithme d’optimisation devra rechercher la trajectoire optimale.
9
3 Résolution du problème par la méthode Interior-Point
Après la formulation du problème d’optimisation et l’introduction des différentes
contraintes, il est nécessaire de choisir une méthode numérique capable de déterminer
la trajectoire optimale du robot.
Dans ce travail, la résolution est effectuée à l’aide de l’algorithme Interior-Point, im-
plémenté dans le solveur fmincon de MATLAB.
3.1 Principe général
L’objectif consiste à résoudre le problème :
min J(x) (29)
x
sous les contraintes :
gi (x) ≤ 0, (30)
hj (x) = 0. (31)
où :
— J(x) représente la fonction coût ;
— gi (x) désigne les contraintes d’inégalité ;
— hj (x) désigne les contraintes d’égalité.
Dans le cadre de la locomotion bipède, les variables optimisées correspondent aux
trajectoires articulaires discrétisées :
x = [q0 , q1 , . . . , qN ]. (32)
3.2 Difficultés du problème
Le problème étudié présente plusieurs difficultés :
— un grand nombre de variables ;
— une dynamique non linéaire ;
— plusieurs contraintes simultanées ;
— des contraintes de stabilité ;
— des contraintes mécaniques ;
— des contraintes de contact.
10
Ces caractéristiques rendent impossible l’obtention d’une solution analytique.
Une méthode numérique doit donc être utilisée.
3.3 Idée fondamentale de la méthode Interior-Point
La méthode Interior-Point repose sur une idée simple :
La recherche de la solution optimale est effectuée en restant toujours à l’inté-
rieur de la région admissible définie par les contraintes.
Autrement dit, l’algorithme évite de franchir les frontières imposées par les contraintes.
Il explore progressivement l’ensemble des solutions réalisables jusqu’à atteindre une
solution optimale.
3.4 Transformation des contraintes
Considérons une contrainte d’inégalité :
g(x) ≤ 0. (33)
La méthode Interior-Point transforme cette contrainte à l’aide d’une fonction barrière
logarithmique :
B(x) = − ln(−g(x)). (34)
Cette fonction possède une propriété fondamentale.
Lorsque la solution s’approche de la frontière :
g(x) → 0, (35)
on obtient :
B(x) → +∞. (36)
Ainsi, le coût devient extrêmement grand au voisinage des frontières admissibles.
L’algorithme évite donc naturellement ces régions.
3.5 Fonction objectif modifiée
Au lieu de minimiser directement :
J(x), (37)
la méthode Interior-Point minimise :
11
X
Φ(x, µ) = J(x) − µ ln(−gi (x)), (38)
i
où :
— µ est le paramètre de barrière ;
— gi (x) représente les contraintes d’inégalité.
La fonction objectif est donc augmentée par un terme pénalisant les solutions proches
des frontières.
3.6 Rôle du paramètre de barrière
Le paramètre µ contrôle l’influence des fonctions barrières.
Au début de l’optimisation :
possède une valeur relativement élevée.
Les contraintes sont alors fortement prises en compte.
Au fur et à mesure des itérations :
diminue progressivement.
L’algorithme peut alors s’approcher davantage de la frontière tout en restant dans la
région admissible.
Cette stratégie permet de converger progressivement vers la solution optimale.
3.7 Application au robot bipède
Dans notre problème, les contraintes d’inégalité sont notamment :
qmin ≤ qk ≤ qmax , (39)
τmin ≤ τk ≤ τmax , (40)
gZM P (x) ≤ 0. (41)
Ces contraintes définissent l’ensemble des trajectoires physiquement admissibles.
La méthode Interior-Point garantit que les trajectoires générées restent toujours com-
patibles avec :
12
— les limites articulaires ;
— les capacités des moteurs ;
— les exigences de stabilité.
3.8 Processus de résolution
La résolution du problème s’effectue selon les étapes suivantes :
1. génération d’une trajectoire initiale ;
2. calcul de la fonction coût ;
3. vérification des contraintes ;
4. construction de la fonction barrière ;
5. calcul d’une nouvelle trajectoire améliorée ;
6. mise à jour du paramètre de barrière ;
7. répétition jusqu’à convergence.
Le processus s’arrête lorsqu’aucune amélioration significative de la fonction coût n’est
observée.
3.9 Lien avec le solveur fmincon
Dans MATLAB, la résolution est réalisée à l’aide du solveur :
fmincon. (42)
Ce solveur est spécialement conçu pour les problèmes d’optimisation non linéaire sous
contraintes.
Les éléments fournis à fmincon sont :
— la fonction coût J(x) ;
— la solution initiale ;
— les bornes articulaires ;
— les bornes sur les couples moteurs ;
— les contraintes non linéaires.
Le solveur applique alors automatiquement l’algorithme Interior-Point afin de déter-
miner la trajectoire optimale.
13
3.10 Conclusion
La méthode Interior-Point constitue une approche particulièrement adaptée aux pro-
blèmes de locomotion bipède.
Elle permet de traiter simultanément un grand nombre de variables et de contraintes
tout en garantissant le respect des limites physiques du robot.
Couplée au solveur fmincon, elle fournit une solution robuste pour la génération de
trajectoires optimales utilisées ensuite dans le processus d’apprentissage et de contrôle.
14
Références
[1] B. Siciliano, L. Sciavicco, L. Villani and G. Oriolo, Robotics : Modelling, Planning
and Control, Springer, 2009.
[2] P. Corke, Robotics, Vision and Control, Springer, 2017.
[3] J. Nocedal and S. Wright, Numerical Optimization, Springer, 2006.
[4] MathWorks, Optimization Toolbox User’s Guide, MATLAB Documentation.
[5] Lillicrap T. P. et al., Continuous Control with Deep Reinforcement Learning, 2015.
15