Contrôle de la locomotion artificielle:
Une approche par commande prédictive
sans trajectoire de référence
Philippe Poignet (LIRMM, Montpellier)
Christine Azevedo (INRIA, Grenoble)
Context | Human locomotion features | Control approach | Conclusions & perspectives
Context
1. Biped robots
2. Locomotion control
3. Guidelines of the research
2
Context | Human locomotion features | Control approach | Conclusions & perspectives
1. Biped robots
1. Some realisations
ASIMO & P3
Honda Motor Co
Wabian
Waseda University
M2
MIT
Johnnie
TUM
3
Context | Human locomotion features | Control approach | Conclusions & perspectives
1. Biped robots
cluttered environments
2. General issues
Mobile robots: wheeled, caterpillar, legged
Legged robots: n-legs, biped
paradigms
human facilities (stairs, corridors…)
Mobility
environment perception & understanding
adaptation
autonomy
Biped
stability skills (contacts, impacts)
robustness to disturbances
falls
4
Context | Human locomotion features | Control approach | Conclusions & perspectives
1. Biped robots
3. BIP: the anthropomorphic robot
- trunk + pelvis + 2 legs
- 15 active joints:
7 sagittal: ankles, knees, hips, trunk
5 frontal: ankles, hips, trunk
3 horizontal: hips, trunk
- 105 kg - 180 cm
- human proportions
BIP was designed and built in collaboration between INRIA and LMS Poitiers
5
Context | Human locomotion features | Control approach | Conclusions & perspectives
Context
1. Biped robots
2. Locomotion control
3. Guidelines of the research
6
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Locomotion control
1. State of the art
Pre-computed reference trajectory tracking
Reference
trajectories
Control
Sensors information
Desired behaviour
Real behaviour
- anthropomorphic joint trajectories [vukobratovic et al 01]
- torque trajectories [goswami et al 96], [pratt & pratt et al 01]
- optimal trajectories [chevallereau et al 97], [chessé & bessonnet 01]
Pre-computed movements non-adaptable to environment and
events changes
7
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Locomotion control
1. State of the art (2)
On-line walking adaptation
- ZMP compensation [park99]
- discrete set of trajectories [denk01]
large set of trajectories needed + switches
- continuous set of parameterized trajectories
defining the set
[wieber00][chevallereau02]
- learning techniques [kun96]
- neuro-fuzzy [meyret02]
no explicit model
8
Context | Human locomotion features | Control approach | Conclusions & perspectives
Context
1. Biped robots
2. Locomotion control
3. Guidelines of the research
9
Context | Human locomotion features | Control approach | Conclusions & perspectives
New approach to biped locomotion control
1. no trajectory tracking
Reference
trajectories
Control
Sensors information
Desired behaviour
Real behaviour
2. high adaptability + no algorithm switches
3. robustness to disturbances
searching inspiration from human walking without mimicking
11
Context | Human locomotion features | Control approach | Conclusions & perspectives
Human locomotion features
1. Locomotion structure (biomechanics)
2. Locomotion control (neurosciences)
3. Conclusion: some principles
12
Context | Human locomotion features | Control approach | Conclusions & perspectives
1. Locomotion structure
1. Walking activity
1. stationary / transient gait (stop, starting,…)
2. stationary walk: symmetric + cyclic
3. phases : support and swing
[vaughan et al 92]
4. supports: single support and double support
5. variable patterns (tiredness, learning…)
6. objective oriented optimization of displacements
(metabolic energy minimization in stationary walk)
13
Context | Human locomotion features | Control approach | Conclusions & perspectives
1. Locomotion structure
2. Equilibrium
Static equilibrium: CoM projection within support base
(posture, difficult situations, working at a work station…)
Dynamic equilibrium: normal walking fall forward onto the
foot receiving the body‘s weight. Definition remains an open
problem for bipedal systems with unilateral constraints.
14
Context | Human locomotion features | Control approach | Conclusions & perspectives
Human locomotion features
1. Locomotion structure (biomechanics)
2. Locomotion control (neurosciences)
3. Conclusion: some principles
15
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Locomotion control
disturbances
1. Control process
intention
CNS
controller
activation
muscles
actuators
force
skeleton
system
movement
Sensors
environment
16
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Locomotion control
disturbances
1. Control process
intention
CNS
controller
activation
muscles
actuators
force
skeleton
system
movement
Sensors
environment
2. Control properties
- No reference trajectory tracking
- Anticipation and prediction: CNS internal models planning
- Strategy: library of objective oriented solutions
- Learning: taking lessons from past situations
16
Context | Human locomotion features | Control approach | Conclusions & perspectives
Human locomotion features
1. Locomotion structure (biomechanics)
2. Locomotion control (neurosciences)
3. Conclusion: some principles
17
Context | Human locomotion features | Control approach | Conclusions & perspectives
3. Conclusion: some principles
Unsuccessful approaches in exploiting movements invariants.
1. Locomotion structure
- Consider both stationary and transient walk
- Optimal gaits / criteria adapted to goal (endurance, speed)
- Consider both static and dynamic equilibrium
2. Locomotion control
- No reference trajectory tracking
- Perception
- Anticipation and prediction
- Consider internal and external constraints to ensure feasibility
and equilibrium.
idea: use a model predictive control approach
18
Context | Human locomotion features | Control approach | Conclusions & perspectives
Control approach
Use of a model predictive control (MPC) approach:
1. Modelling
2. Model predictive control
3. Application of MPC to locomotion control
4. Simulation results
5. Conclusions
19
Context | Human locomotion features | Control approach | Conclusions & perspectives
1. Modelling
1. Continuous dynamics
[wieber00] [genot98] [pfeiffer96]
1. Lagrange formulation
M(q) q N(q, q )q G(q) B c
q7
q1
q
q 2
q n
q8
joint positions
robot orientation
and position in 3D space
n dof
Depending on the contacts the system can be underactuated
20
Context | Human locomotion features | Control approach | Conclusions & perspectives
1. Modelling
1. Continuous dynamics (1)
1. Lagrange formulation
M(q) q N(q, q )q G(q) B c
2. Ground contact
support force
n
t
=(n,t)T
21
Context | Human locomotion features | Control approach | Conclusions & perspectives
1. Modelling
1. Continuous dynamics (1)
1. Lagrange formulation
M(q) q N(q, q )q G(q) B c
2. Ground contact
Φ t
Φ n
Mq Nq G BΓ
λn
λt
q
q
Φ i
Γc
Ci
q
T
support force
n
t
=(n,t)T
closure constraint:
T
Φ n
0
Φt
21
Context | Human locomotion features | Control approach | Conclusions & perspectives
1. Modelling
1. Continuous dynamics (2)
Mq Nq G BΓ CTn λ n CTt λ t
n
t
=(n,t)T
22
Context | Human locomotion features | Control approach | Conclusions & perspectives
1. Modelling
n
t
1. Continuous dynamics (2)
Mq Nq G BΓ CTn λ n CTt λ t
=(n,t)T
unilateral constraint
q 0
C q C
Φ
n
n
n
22
Context | Human locomotion features | Control approach | Conclusions & perspectives
1. Modelling
n
t
1. Continuous dynamics (2)
Mq Nq G BΓ CTn λ n CTt λ t
=(n,t)T
unilateral constraint
q 0
C q C
Φ
n
n
n
λn 0
22
Context | Human locomotion features | Control approach | Conclusions & perspectives
n
1. Modelling
t
1. Continuous dynamics (2)
=(n,t)T
Mq Nq G BΓ CTn λ n CTt λ t
unilateral constraint
q 0
C q C
Φ
n
n
n
λn 0
0
λ Tn Φ
n
complementarity
condition
0)
(Φ 0 Φ
n
n
22
Context | Human locomotion features | Control approach | Conclusions & perspectives
n
1. Modelling
t
1. Continuous dynamics (2)
=(n,t)T
Mq Nq G BΓ CTn λ n CTt λ t
unilateral constraint
q 0
C q C
Φ
n
n
n
λn 0
0
λ Tn Φ
n
q 0
C q C
Φ
t
t
t
complementarity
condition
0)
(Φ 0 Φ
n
n
no-slipping assumption
(friction cone || t || 0n )
22
Context | Human locomotion features | Control approach | Conclusions & perspectives
1. Modelling
2. Impact dynamics
23
Context | Human locomotion features | Control approach | Conclusions & perspectives
1. Modelling
2. Impact dynamics
Impact velocity jump: q q
=(n,t)T
23
Context | Human locomotion features | Control approach | Conclusions & perspectives
1. Modelling
2. Impact dynamics
Impact velocity jump: q q
n
Impulsive
force
t
=(n,t)T
23
Context | Human locomotion features | Control approach | Conclusions & perspectives
1. Modelling
n
2. Impact dynamics
Impact velocity jump: q q
M(q)( q q ) C Λ n C Λ t
T
n
T
t
t
=(n,t)T
23
Context | Human locomotion features | Control approach | Conclusions & perspectives
1. Modelling
n
2. Impact dynamics
Impact velocity jump: q q
M(q)( q q ) C Λ n C Λ t
T
n
C q 0
n
n
T
t
t
=(n,t)T
no take-off assumption
23
Context | Human locomotion features | Control approach | Conclusions & perspectives
1. Modelling
n
2. Impact dynamics
Impact velocity jump: q q
M(q)( q q ) C Λ n C Λ t
T
n
C q 0
n
n
C q 0
t
t
T
t
t
=(n,t)T
no take-off assumption
no-slipping assumption
(friction cone || Λ t || μ 0 Λn )
23
Context | Human locomotion features | Control approach | Conclusions & perspectives
1. Modelling
n
2. Impact dynamics
Impact velocity jump: q q
M(q)( q q ) C Λ n C Λ t
T
n
C q 0
n
n
C q 0
t
t
T
t
t
=(n,t)T
no take-off assumption
no-slipping assumption
(friction cone || Λ t || μ 0 Λn )
q q M 1 (C Tn Λ n C Tt Λ t )
Λ n (C n M 1C Tn ) -1 C n q
Λ t (C t M 1C Tt ) -1 C t q
23
Context | Human locomotion features | Control approach | Conclusions & perspectives
Control approach
Use of a model predictive control (MPC) approach:
1. Modelling
2. Model predictive control
3. Application of MPC to locomotion control
4. Simulation results
5. Conclusions
24
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
1. Control without predictive horizon
25
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
state
input
1. Control without predictive horizon
time
k
25
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
state
input
1. Control without predictive horizon
Example: elevation of the swing ankle
time
k
25
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
input
1. Control without predictive horizon
state
Example: elevation
of the swing ankle
time
k k+1
25
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
input
1. Control without predictive horizon
state
Example: elevation
of the swing ankle
time
k k+1
25
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
?
Example: elevation
of the swing ankle
state
input
1. Control without predictive horizon
time
k k+1 k+2
25
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
input
1. Control without predictive horizon
state
Example: elevation
of the swing ankle
time
k k+1 k+2
25
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
?
Example: elevation
of the swing ankle
state
input
1. Control without predictive horizon
time
k k+1 k+2
25
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
input
1. Control without predictive horizon
state
Example: elevation
of the swing ankle
time
k+1 k+2
25
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
?
state
input
1. Control without predictive horizon
Obstacle
detection
Example: elevation
of the swing ankle
time
k+1 k+2
25
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
?
state
input
1. Control without predictive horizon
Obstacle
Example: elevation
of the swing ankle
time
k+2 k+3
25
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
state
input
1. Control without predictive horizon
?
Obstacle
Example: elevation
of the swing ankle
time
25
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
state
input
1. Control without predictive horizon
?
Obstacle
Example: elevation
of the swing ankle
time
25
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
state
input
1. Control without predictive horizon
?
Obstacle
Example: elevation
of the swing ankle
time
25
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
state
input
1. Control without predictive horizon
?
No solution !!!
Obstacle
Example: elevation
of the swing ankle
time
25
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
2. Control with predictive horizon
26
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
input
2. Control with predictive horizon
state
Example: elevation
of the swing ankle
time
k
26
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
input
2. Control with predictive horizon
state
Example: elevation
of the swing ankle
time
k k+1
26
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
input
2. Control with predictive horizon
state
Example: elevation
of the swing ankle
time
k k+1
k+Nc
26
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
input
2. Control with predictive horizon
?
state
Example: elevation
of the swing ankle
time
k k+1
k+Nc
26
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
input
2. Control with predictive horizon
state
?
Obstacle
detection
Example: elevation
of the swing ankle
time
k k+1
k+Nc
26
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
input
2. Control with predictive horizon
state
?
Obstacle
detection
Example: elevation
of the swing ankle
time
k k+1
k+Nc
26
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
input
2. Control with predictive horizon
sliding horizon
state
?
Obstacle
detection
Example: elevation
of the swing ankle
time
k k+1
k+Nc
26
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
input
2. Control with predictive horizon
state
?
Obstacle
detection
Example: elevation
of the swing ankle
time
k+1
k+Nc+1
26
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
input
2. Control with predictive horizon
state
?
Obstacle
detection
Example: elevation
of the swing ankle
time
k+1 k+2
k+Nc+2
26
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
3. Description
27
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
3. Description
Predictive horizon
time
k k+1
k+Nc
1 (k)
(k)
k 2
(k)
15
k+Np
Control horizon
u kN C [u 0|k , u1|k... , u N C |k ]
u i|k k i
x kN P [ x 0|k , x1|k... , x N P |k ]
27
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
4. Formal problem
28
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
4. Formal problem
[allgöwer99]
solve :
NC
min
J(x
,
u
k
k )
NC
uk
subject to : x l1|k f(x l|k , u l|k )
x 0|k x k
u l|k U, l [0 , N C ]
x l|k X, l [0 , N P ]
with:
U {u k m / u min u k u max }
X {x k n / x min x k x max }
28
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
function of input
and state
4. Formal problem
(trajectory tracking
or regulation)
[allgöwer99]
solve :
NC
min
J(x
,
u
k
k )
NC
uk
subject to : x l1|k f(x l|k , u l|k )
x 0|k x k
u l|k U, l [0 , N C ]
x l|k X, l [0 , N P ]
control
horizon
predictive
horizon
with:
U {u k m / u min u k u max }
X {x k n / x min x k x max }
28
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
5. State of the art
29
Context | Human locomotion features | Control approach | Conclusions & perspectives
2. Model predictive control
5. State of the art
Linear systems:
- Widely used in linear slow systems (GPC, PFC) [richalet93]
- Many stability proofs results [garcia89][boucher96][rawlings93]
Nonlinear systems:
- Usually used in slow systems
- Stability proofs / strong assumptions:
infinite horizon [mayne90][meadow93], dual mode [michalska93][chisci96],
terminal equality constraint [chen82][alamir94],
quasi infinite horizon [garcia89][denicolao97]
29
Context | Human locomotion features | Control approach | Conclusions & perspectives
Control approach
Use of a model predictive control (MPC) approach:
1. Modelling
2. Model predictive control
3. Application of MPC to locomotion control
4. Simulation results
5. Conclusions
30
Context | Human locomotion features | Control approach | Conclusions & perspectives
3. Application of MPC to locomotion control
function of input
and state
1. Problem
solve :
min
J(x k , u
NC
uk
NC
k
)
subject to : x l1|k f(x l|k , u l1|k )
(trajectory tracking
or regulation)
x 0|k x k
u l|k U, l [0 , N C ]
x l|k X, l [0 , N C ]
g(x l|k ) 0
Nc=Np
U {u k m / u min u k u max }
X {x k n / x min x k x max }
31
Context | Human locomotion features | Control approach | Conclusions & perspectives
3. Application of MPC to locomotion control
2. From human observation to problem specification
32
Context | Human locomotion features | Control approach | Conclusions & perspectives
3. Application of MPC to locomotion control
2. From human observation to problem specification
Walking = shift the body in a standing posture without falling
1) Criteria: gait optimization / objective of the walk
2) Constraints
[hurmuzlu93]
i) Standing posture maintain the CoM height
ii) Locomotion rhythm forward moving of CoM
iii) static/dynamic equilibrium contact forces control
iv) adaptation to environment ground and obstacle avoidance
inequality constraints expressions ?
32
Context | Human locomotion features | Control approach | Conclusions & perspectives
3. Application of MPC to locomotion control
3. Example of criteria and constraints specification
33
Context | Human locomotion features | Control approach | Conclusions & perspectives
3. Application of MPC to locomotion control
3. Example of criteria and constraints specification
Nc
Criteria:
J k Γ Tl|k Γ l|k
l 0
Constraints:
1) Dynamics: continuous + impacts
2) Actuator limits :
u min u i u max
3) Joint limits: q min q i q max
y CoM h
5) Forward progression: v min vx CoM v max
6) Ground avoidance: y ankle f(x ankle )
4) Standing posture:
7) Dynamic balance: || λ t || μ 0 .λ n (μ 0 frict. coeff)
Expressed in
output space
33
Context | Human locomotion features | Control approach | Conclusions & perspectives
Control approach
Use of a model predictive control (MPC) approach:
1. Modelling
2. Model predictive control
3. Application of MPC to locomotion control
4. Some simulation results
5. Conclusions
34
Context | Human locomotion features | Control approach | Conclusions & perspectives
4. Some simulation results
Different simulation results have been tested, 3 of them are
presented here:
1. One dynamic step with BIP
2. Static walk on flat ground and stairs
3. Dynamic steps with RABBIT
Simulation conditions:
sagittal plane
sampling period: 10 ms
algorithm: SQP
software: matlab
35
Context | Human locomotion features | Control approach | Conclusions & perspectives
4. Some simulation results
1. One dynamic step
Nc=3.Te= 30 ms
2D Dynamic walking
BIP - 6 actuators – 9 dof
36
Context | Human locomotion features | Control approach | Conclusions & perspectives
4. Some simulation results
1. One dynamic step
Nc=3.Te= 30 ms
2D Dynamic walking
BIP - 6 actuators – 9 dof
37
Context | Human locomotion features | Control approach | Conclusions & perspectives
4. Some simulation results
1. One dynamic step
Nc=3.Te= 30 ms
2D Dynamic walking
BIP - 6 actuators – 9 dof
38
Context | Human locomotion features | Control approach | Conclusions & perspectives
4. Some simulation results
2. Auto-adaptation to environment
2D Static walking
BIP - 6 actuators – 6 dof
Nc=5.Te= 50 ms
39
Context | Human locomotion features | Control approach | Conclusions & perspectives
4. Some simulation results
3. Application to an under actuated robot structure
Nc=3.Te= 30 ms
2D Dynamic walking
RABBIT – 4 actuators – 7dof
40
Context | Human locomotion features | Control approach | Conclusions & perspectives
5. Conclusions
Exploration of a new approach to robot dynamic walking:
MPC + constraints
+ no reference trajectory generation and tracking
+ auto-adaptation to environment changes (no switches)
+ integration of internal and external constraints
+ adaptable to different robots structures
- computation times
- stability definition and proof
- walking activity translation into inequality constraints
41
© Copyright 2026 Paperzz