Transcript Slide 1

Optimizing Compliant, Model-Based
Robotic Assistance to Promote
Neurorehabilitation
Eric Wolbrecht, PhD
Assistant Professor, Department of Mechanical Engineering
University of Idaho
This majority of this work was completed at the
Department of Mechanical and Aerospace Engineering
University of California, Irvine
Supported by NIH N01-HD-3-3352
and NCRR M01RR00827
Motivation for Robotic Movement Training
• A stroke is suffered by over
700,000 people in the U.S.
each year, making it a leading
cause of severe, long term
disability.
• 80 percent of stroke victims
experience upper extremity
movement impairment.
• The estimated direct and
indirect cost of stroke for 2007
is $62.7 billion.
• Stoke rate to increase as population ages.
Can Robotic Devices Help?
• Evidence suggests that intensive,
repetitive sensory motor training can
improve functional recovery.
• Traditional hands-on therapy is
expensive and labor intensive, and
therefore patients receive limited
amounts of it.
• One possible solution to this problem
is to develop robotic devices to
automate functional motor training.
Robotic movement training with
Pneu-WREX
• It was previously believed that movement recovery was possible only for
acute patients (< 6 months post-stroke). Research has shown that
recovery is possible for people with chronic stoke as well (>6 months
post-stroke).
1st Generation Devices for
Movement Training after Stroke
MIT-Manus
Impedance control
Impedance channel
toward target
ARM Guide (UCI)
Proportional derivative control,
Active Constrained
MIME (Stanford)
Proportional
derivative control,
Active constrained
and bilateral modes
2nd Generation Devices for
Movement Training after Stroke
ARMin (Zurich)
PD control & gravity
compensation
Vertical Module
for MIT-Manus
Impedance control &
gravity compensation
RUPERT
(Arizona State)
Open loop control
Pneu-WREX: Development History
• An offspring of WREX (Wilmington Robotic
Exoskeleton), a passive gravity balancing
orthosis (Rahman et al, 2000.)
WREX
• WREX was modified to create T-WREX
(Training-WREX), a sensorized, passive
gravity balancing orthosis (Sanchez et al,
2004.)
• Pneu-WREX (Pneumatic-WREX) was
created by adding pneumatic actuators to TWREX (Sanchez, Wolbrecht et al, 2005.)
T-WREX
• Current research focuses on promoting
recovery through advanced control
(Wolbrecht et al, 2006, 2007.)
Pneu-WREX
Why Choose Pneumatics?
• Advantage of Pneumatics
– Large power to weight ratio
– Clean, and inexpensive.
– Force controllable.
– Backdrivable and compliant.
– Inherent compliance increases
safety.
• Disadvantages of Pneumatics
– Non-linear friction
– Require advanced control
– Not all facilities have compressed
air and in-room compressors can be
expensive and noisy.
Design Features
• 4 degrees-of-freedom, lightweight, compliant.
• Strong (can apply > 50 N of force at hand).
• Grip handle with grip sensor.
• Two servovalves per cylinder,
keeping air consumption and
friction low.
Servovalves (2 per cylinder)
• Uses a spring to counterbalances
the weight of the orthosis,
expanding the vertical force range.
Spring Counterbalance Mechanism
Safety Features
• Spring counterbalance provides a safe
transition during an e-stop.
• Normally exhausting main valve controls
system air supply and is vented during
emergency-stop or a detected failure.
• Pneumatics are inherently compliant
and maximum force is limited.
• Workspace of device is less than the
workspace of the arm.
• Numerous software checks, including a
check of redundant position sensors.
Pneu-WREX
Sensing
4 cylinders with LTR
potentiometers,
Bimba PFC
4 angular
potentiometers,
Midori CP-2fb
2, 2-axes MEMS
accelerometers,
Analog Devices
ADXL320EB
8 pressure sensors,
Honeywell
ASCX100AM
Data Acquisition and Control
• Controller developed in The Mathworks
Simulink® and executed using the xPC
Target real-time operating system.
• Data input and output using four
Measurement Computing PCI cards
– (3) PCIM-DAS1602/16, 8 Differential
A/D, 2 D/A, 16 bit
– (1) PCI-DDA08/16, 8 channel D/A, 16 bit
A/D, D/A PCI Card,
Measurement Computing
PCIM-DAS1602/16
• 1 kHz sampling rate
• Target Execution Time (TET) ≈ 650 μs
D/A PCI Card,
Measurement Computing
PCIM-DDA08/16
State Estimation
• State Estimation using MEMS accelerometers in a Kalman Filter
• Estimated velocity and
position signals have
reduced noise and
phase lag compared
to a conventional
low-pass filter.
State Estimation: Advantages
• Signals have less
noise and less
phase lag
• Improved stability
• Quieter operation
• Reduced air
consumption
Servovalve Characterization
for Improved Force Control
• Experimentally determined
flow map equation to linearize
airflow through the servovalves.
• Separate maps for both inflow
and outflow.
u  f  md , pc 
u  control signal (volts)
md  desired flow rate (SLPM)
pc  chamber pressure (kPA)
Hypothesis: An “Optimal” Movement Training
Controller Should:
1.
Help Complete Movements. Stimulate
afferent signals from the arm by
assisting patients in making spatial
movements with small errors,
overcoming gravity, tone, and
weakness.
2.
Be Mechanically Compliant. Allow
patients to influence movements,
maintaining the effort and error
connection essential for motor learning.
3.
Assist Only As Needed. Stimulate
efferent signals from the brain by
encouraging subjects to contribute as
much as possible to the movements.
Selecting a Controller
for “Optimal” Movement Training
Controller Type
Stiff Proportional Derivative
Impedance Control
Impedance Control w/ Gravity
Offset
Adaptive
Adaptive, Assist-As-Needed
Help
Complete
Movements
Mechanically
Compliant
Assist
As
Needed















Adaptive, Assist-As-Needed Controller
• “Adaptive, Assist-As-Needed Controller” builds on the passivity based
adaptive controller developed by Slotine and Li.
Γ,Λ, K D , K P = symmetric, positive definite matrices  n  n 
Y  matrix of known functions  m  n 
a  aˆ  a
Fr  forces applied by the actuators  n 1
a, aˆ  parameter & parameter estimates  m  1
Fh  forces applied by the human subject  n 1
x, x d  actual & desired arm coordinates  n  1
M  generalized inertia matrix of the robot/arm  n  n 
x  x  xd
C  Coriollis matrix of the robot/arm  n  n 
  "forgetting rate" time constant
N  external forces (gravity,friction, etc.)  n 1
f r  1   robot "forgetting rate"
Neuromuscular Weakness Model
• For a standard adaptive controller:
ˆ N
ˆ  Cw
ˆ
Y  x, x, w, w  aˆ  Mw
• For movement training following stoke, however,
Nˆ must include a general representation of
neuromuscular weakness, which is implemented
using a grid of radial basis functions in task space:
g   g1

g2
g n  exp  x  μ n
T
g n 
2
2 2

Y1203
Radial basis functions
1 D.O.F. example
gT
0


gT

T
0
g


• There are 120 radial basis functions,
spaced 10 cm apart in a 3-D grid
-8 points left to right (-x to +x)
-5 points in and out (-y to +y)
-3 points down and up (-z to +z)
3-D grid
Pneu-WREX
• Yes, but, does it work?
Testing the Adaptive Controller
• Testing Goal: Evaluate controller with
and without forgetting to determine how
well the controller “assists-as-needed”.
• We have tested the adaptive
controller with 8 subjects with
movement impairment due to stroke.
• 1st Test: The subjects tracked a cursor from a central home position to
seven targets located in the frontal plane. The cursor (displayed on the
computer screen) moved between targets and the home position with a
peek velocity of 0.12 m/s.
• 2nd Test: Subjects tracked a curser between two targets spaced 30 cm
apart in the frontal plane (peek velocity 0.12 m/s).
Controller Helps Complete Movements
Controller Learns Assistance Force
for Different Arm Weights
With “Forgetting”,
Controller Reduces Force when Errors are Small
Without “Forgetting”,
Subject Allows Robot to “Take-Over”
With “Forgetting”, Subject Contribution Increases
With “Forgetting”, Assistance
is Proportional to Impairment
Therapy Games
Shopping
Egg Cracking
Window Cleaning
Basketball
Driving
Therapy with Robotic Assistance
• Point to point reaching “Shopping” game, with robotic orthosis
assistance.
Playing without Robotic Assistance
• Point to point reaching “Shopping” game, without robotic orthosis
assistance.
Adaptive, Assist-As-Needed Controller
• Forces applied during point to point reaching “Shopping” game.
Robotic Assessments: Game Time
Robotic Assessments: Reaching Speeds
Summary
• Pneu-WREX is a lightweight, compliant, 4 degree-of-freedom upper
extremity robotic orthosis.
• The adaptive, assist-as-needed controller encourages patient effort
while helping the patient to complete movements with small errors.
• Subjects feel in control of
movements because of compliance,
adaptation, and forgetting rate.
• We have shown human motor
control effort minimization for a real
movement trajectory.
• Initial pilot therapy study results are
promising.
Acknowledgements
• SUPPORT
NIH N01-HD-3-3352 and
NCRR M01RR0082
• LABORATORIES
Robotics & Automation Laboratory, UCI MAE
Biomechatronics Laboratory, UCI MAE
Human Performance Laboratory, UCI GCRC
• COLLABORATORS (UCI)
James Bobrow, Ph.D.
Dave J. Reinkensmeyer, Ph.D.
Steven Cramer, M.D., Ph.D.
Robert Sanchez, Ph.D.
John Leavitt, Ph.D.
Robert Smith, Eng. Tech.
Vicki Chan, PT
Vu Le, M.S.
Julius Klein, M.S.
Koyiro Minakata, B.S.
Appendix
Appendix: System Dynamics
• The system dynamics are
Mx  Cx  N  Fr  Fh
x  position of the hand  n 1
M  generalized inertia matrix  n  n 
C  Coriolis matrix  n  n 
N  forces acting on the orthosis (gravity,friction, etc.)  n 1
Fr  forces applied by the pneumatic actuators, mapped by the Jacobian to the hand position.  n 1
Fh  forces applied by the human subject at the location of the hand, representing subject effort.  n 1
• The sliding surface and reference trajectories are defined
s  x  Λx  x  x d   x  x d   sliding surface
w  xd  Λx  xd  Λ  x  Λx d   reference trajectory
x  x  x d  position error
x  position of the hand  n 1
xd  desired position of the hand  n 1
Appendix: System Dynamics
• Using x  s  w the system dynamics are
Ms  Mw  Cs  Cw  N  Fr  Fh
Ms  Cs  Mw  Cw  N  Fh  Fr
• Now define
Ya  Mw  Cw  N  Fh
a  actual system parameters  m  n 
Y  matrix of know functions of x, x, w, & w  m  n 
• To get
Ms  Cs  Ya  Fr
• Now substitute for the estimate error and force error
a  aˆ  a  system parameter estimate error
Fr  Fr  Fr ,d  force error
• To get
Ms  Cs  Yaˆ  Fr ,d  Ya  Fr
Appendix: Force Dynamics
• The force dynamics for the base side chambers are

fb  kVb1 pa Ab  mb  lb   Vbfb
fb  base side chamber forces  n 1
mb  base side mass flow rates  n 1
l b  base side mass flow due to leakage rates  n  1
pa  atmospheric pressure
k  1.4  ratio of specific heats of air

 ab,1

ab,2
Ab = 


 0
vb,1

vb,2
Vb = 


 0
0 

  base side piston areas


ab,n 
0 

  base side chamber volumes


vb, n 
• Now substitute for the leakage estimate error
lb  ˆlb  lb  base side leakage error  n 1
• To get


ˆl = base side leakage estimate
b


fb  kVb1 pa Ab mb  ˆlb  Vb fb  kVb1 pa Ab lb
 n 1
Appendix: Lyapunov Function Candidate
• Lyapunov function candidate
V  t  = 12 sT Ms  12 xT  K P + ΛK D  x  12 aT Γa  12 fbT Ψfb  12 f rT Ψfr  12 lbT Φlb  12 lrT Φlr
parameter base side rod side base side rod side
estimate force
force
leakage leakage
error
error
error estimate estimate
error
error
trajectory error
s  x  Λx  sliding surface
x  x  x d  position error
a  aˆ  a  system parameter estimate error
x  position of the hand  n 1
x d  desired position of the hand  n 1
aˆ  estimated system parameters  m  1
a  actual system parameters  m  1
fb  fb  fb,d  base side force error
f r  f r  f r , d  rod side force error
ˆl , ˆl  estimated base, rod side valve leakages  n 1
b r
lb  ˆlb  l b  base side leakage estimate error
lr  ˆl r  l r  rod side leakage estimate error
fb , fr  base, rod side cylinder forces  n  1
l b , l r  actual base, rod side valve leakages  n  1
fb,d , fr ,d  desired base, rod side cylinder forces  n  1
K P , K D , Λ, Γ, Ψ, Φ = symmetric, constant, positive definite matrices  n  n 
Force Dynamics and Chamber Force Selection
• Cylinder Force Output
f  f1  f 2  f atm
f1  V11k  RTA1  m1  l1   V1f1 
• Force Dynamics
 a1,1

A1  


0
a1,2
0
 v1,1


v1,2
 V 
1




c1,n 
0
0




v1,n 
• Chamber force selection with smoothing function
 d 1  f d
f 
e
 f 0  f atm


2
d
f1  
1 fd

e  f 0  f atm
 2

fd 0
fd 0
 1  f d
e
 f0

 2
d
f2  
 f d  1 e f d  f
0

2

fd 0
fd 0
Force Controller
• Passivity based force controller
1 1 
1

m1  ˆl1 
A1  V1f1  V1 f1d  Ψ 1J c J e1s  Ωf1 
RT
k


1 1 
1

m 2  ˆl 2 
A 2  V2f 2  V2 f 2d  Ψ 1J c J e1s  Ωf 2 
RT
k





• Adaptive leakage estimation
ˆl  kRTΦ 1A V 1Ψf
1
1 1
1
ˆl  kRTΦ 1A V 1Ψf
2
2 2
2

Single Cylinder Force Tracking to 40 Hz
Position Tracking to 2 Hz
Position Testing Results
Controller Modification: Assist-As-Needed
• When errors are small, the controller should decay force
according to:
Yaˆ   f r Yaˆ
where f r is the forgetting rate
• The minimum solution for aˆ is found by solving a constrained
minimization problem:


min : f  12 aˆ T aˆ : g  Yaˆ  f r Yaˆ  0
• The solution is:
aˆ   f r Y
T
 YY 
T
1
Yaˆ