Aucun titre de diapositive - Groupe de travail "La Commande

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
Mq  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)
Mq  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)
Mq  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)
Mq  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
Mq  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
Mq  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 ||  0n )
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 l1|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 l1|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 l1|k  f(x l|k , u l1|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