72
Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Embed Size (px)

Citation preview

Page 1: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Reasoning about Human Motion: A Tutorial Overview

Andreas Hofmann

Page 2: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Contents

• Introduction

• Architectures for motion control

• Impedance control algorithms

• Explaining and reproducing human motion trajectories

• Disturbances - classification and strategies

• Conclusion

Page 3: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Different kinds of human motion

Page 4: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Artificial human motion: Robotics

Page 5: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Artificial human motion: Animation

Page 6: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Artificial human motion: Assistive Devices

Page 7: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Goals of Motion Research

• Understand biomechanical principles underlying control of motion– Biomimetic motion trajectories– Stability in presence of disturbances

• Develop models and controllers based on such principles

• Develop estimators based on these models– Compute trajectories, intent, from noisy sensor

input (video, EMG, marker)

Page 8: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Contents

• Introduction

• Architectures for motion control

• Impedance control algorithms

• Explaining and reproducing human motion trajectories

• Disturbances - classification and strategies

• Conclusion

Page 9: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Motor control – functional hierarchy

• High-level goals (conscious, flexible)– Win point vs. conserve energy (in tennis)

• Strategic planning (conscious, flexible)– Note opponent’s position, return to right rear baseline

• Tactical objectives (preconscious, learned)– Contact of racket with ball

• Action (subconscious, automatic)– Desired force and position trajectories

• Muscle activation

Page 10: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Motion execution architecture

Task-levelprogram

Kinematic anddynamic

humanoid models

Task-levelexecutivecontroller

Pose-levelcontroller

Trajectory-levelcontroller

Robot plant

Page 11: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Motion estimation architectureHybrid Mode Estimation

Hybrid Markov Observer

Extended Kalman Filter Bank

u ym1 m2

m3

m(selects Kalmanfilter)

vs, vo

x

Forward Dynamics Model

,,f

11,1

11,1

kvokukxgky

kvskukxfkx

Page 12: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Contents

• Introduction

• Architectures for motion control

• Impedance control algorithms

• Explaining and reproducing human motion trajectories

• Disturbances - classification and strategies

• Conclusion

Page 13: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Control of walking machines

Page 14: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Virtual Model Control

• Impedance control of reaction point– Reaction point is control point of interest

(COM, swing leg, end-effector)– Virtual elements used to express setpoint,

impedance of reaction point• Compute desired force for reaction point

– Jacobian used to compute joint torques that achieve desired reaction point force

Page 15: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Virtual Elements

Specify translational and rotational force between action frame and reaction frame

Force usually computed based on simple PD control law

Page 16: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Using Jacobian to Compute Joint Torques

• Simple Jacobian-based equation

• Derived using notion of virtual work

• Jacobian computed from kinematic transforms

Page 17: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Model Kinematics

A

B

X_a

Z_a

X_b

Z_b

ap

kp

body

thigh

shin

hp

ar

thigh

shin

Y

Z

hr

foot

Y

X

hy

Sagittal PlaneHp, kp, ap are hip, knee, and ankle pitch

Frontal PlaneHr, ar are hip and ankle roll

Horizontal PlaneHy is hip yaw

Tarapkphphrhyq

Joint angle vector for one leg:

Page 18: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

VMC Jacobian Transformation – Single Leg

Jacobian used to relate reaction frame force to joint torques- Based on virtual work derivation (Paul, Craig)

dqF Trf

Trf dqJrf

rfT FJ

so

Tarapkphphrhy

(simple equation requiring only matrix multiplication)

Tzyxzyx FFFF

Page 19: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Caveats for torque computation using Jacobian

-No limit on joint torques-(to model actuator limits, or to prevent foot slip or roll)

-Not guaranteed to work for all poses-If leg completely straight, hp, kp, ap are all 0-Jacobian not of full rank-Vertical force not feasible in this pose-Joint torques for hp, kp, and ap will be computed as 0, even if the desired vertical force is non-zero-In practice, such problems are avoided by bending the leg slightly in the computation

Page 20: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Hardware implementation

• Requires use of special actuators– Series-elastic actuators

Page 21: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Jacobian Computation for Single Leg

Forward kinematic transform built up using chain of homogeneous transforms for segments and joints

offsethiphrhphythighkpshinarapbodyfoot AAAAAAAAAT _

1000

00

0010

00

apap

apap

ap cs

sc

A

Ankle pitch transform

1000

_100

0010

0001

shinlAshin

Shin transform

q

TJ bodyfoot

Elements of J computed using partial derivative method (Paul, Craig)

Page 22: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Biological inspiration: equilibrium point hypothesis

• Motion as sequence of poses (Bizzi, et. al.)

Page 23: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

How can virtual element parameters be determined?

• ”Intuitive” approaches are not adequate for locomotion applications

Page 24: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Contents

• Introduction

• Architectures for motion control

• Impedance control algorithms

• Explaining and reproducing human motion trajectories

• Disturbances - classification and strategies

• Conclusion

Page 25: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Achieving biomimetic motion

• What should the parameters for the virtual elements be?– “Intuitive” control (tweaking parameters by

hand) is tricky

• Investigation of human motion and its underlying biomechanical control principles can provide useful guidance

Page 26: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Planar arm motion

• Flash and Hogan, minimum jerk

• Hasan, minimum effort

• Both give good predictions (within noise range of biological data)

Page 27: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

3-D arm motion

• Atkeson and Hollerbach, invariants of 3-D arm motion

• Trajectories are curved, but– Invariant tangential velocity profile when

normalized for speed and distance– Close to minimum-jerk

• Hypothesized association with visual kinematic coordinate frame

Page 28: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Challenges with locomotion

• Kinematic principles alone generally not adequate

• Foot contact as semi-underactuated joint

• Inverted pendulum analogy

• Dynamics are important

Page 29: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Dynamic optimization techniques

• Dynamic programming– Very general, can incorporate discrete as well

as continuous variables, limitations with large state spaces, discretization

• Space-time Dynamic Optimization– Witkin, Popovic brothers– SQP, control points

Page 30: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Space-Time Dynamic Optimization

• Zoran Popovic animations

Page 31: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Space-Time Dynamic Optimization

t

Joint angle trajectory represented usingpiecewise polynomial spline with control

points at fixed intervals

SQP parameters are control points. Theseare adjusted by optimizer

Page 32: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Space-Time Dynamic Optimization

• Angle position trajectories represented as splines with control points– Typically, 10 – 20 control points for a 1 – 5 second

trajectory

• Easy to differentiate to get velocity and acceleration splines

• Control points are parameters to be optimized – SQP algorithm (constrained non-linear optimization)– Kinematic, dynamic constraints– Cost function in terms of state and force variables

Page 33: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Space-Time Optimization

• Kinematic constraints– Relations of joint angles, angular velocities,

and angular accelerations to segment positions, velocities, and accelerations

– Minimum and maximum values for angles– Keep body upright– Keep swing foot off ground

Page 34: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Space-Time Optimization

• Dynamic constraints– Relation of joint torques to angular

accelerations– Associated ground reaction forces, center of

pressure

gch

Page 35: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Important Biomechanical Principle

• Noticed interesting characteristics in test data collected at Spaulding Rehab Gait Lab

• Hypothesize that conservation of angular momentum about COM is being actively and vigorously asserted (closely controlled) for many kinds of movements

Page 36: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

COM

COP

COM_y - COP_y

COM_z

Assuming strict conservation of angular momentum, torque about COM must be 0. Therefore, by torque balance,

zyyyz COMFCOPCOMF

z

zyyy F

COMFCOMCOP

Page 37: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Conservation of Angular Momentum about COM

• This suggests a technique for computing COP if a desired COM trajectory is known

• Differentiate COM trajectory twice to get desired stance leg(s) ground reaction forces

• Use previous equation to compute corresponding COP

Page 38: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Conservation of Angular Momentum about COM

• Tested this hypothesis using human test subject• Tests performed as Spaulding Rehab Gait Lab• Developed full-body kinematic model

corresponding to dimensions of test subject– Used to compute COM

• [Show test subject model movie]• Following plots show results averaged over 5

trials– (1/2 gait cycle, right toe-off to left toe-off

Page 39: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann
Page 40: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann
Page 41: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann
Page 42: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann
Page 43: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann
Page 44: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann
Page 45: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann
Page 46: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann
Page 47: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann
Page 48: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Conservation of Angular Momentum about COM

• Tests show that COP can be predicted based on COM trajectory

• Foot placement can be predicted based on COM trajectory

• Suggests that dynamic optimizer should track COM, and derived ground reaction force and COP trajectories

Page 49: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Reduced-order Models

A. Frontal-planeModel

B. Sagittal-planeModel

Page 50: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Sagittal Plane Model Dynamic Optimization

• Initialize all trajectories to straight-line interpolation from initial pose to final pose angle values

• Run dynamic optimization to get open-loop prediction of trajectories

• Compare with biological results• [Play 100 movie.]• Following plots show results for toe-off to heel-

strike

Page 51: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann
Page 52: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann
Page 53: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann
Page 54: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann
Page 55: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann
Page 56: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann
Page 57: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann
Page 58: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann
Page 59: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Dynamic Optimization Results Discussion

• Starting from desired COM trajectory only -

• COM, COP, ground reaction forces from model all match biological results

• Stance leg angles match biological results

• Swing leg angles are not quite close enough– Swing foot position trajectory doesn’t match

biological one closely enough

Page 60: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Dynamic Optimization Results Discussion

• Possible problems– Not tracking desired trajectories closely enough

• (Not enforcing constraints enough)

– Missing a constraint, or some element of cost function

• Know, from validation, that model should be good enough with right constraints and cost function

• Separate issue – add toe joint to model

Page 61: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Dynamic Optimization Results Discussion

• Starting from desired COM trajectory only -

• COM, COP, ground reaction forces from model all match biological results

• Stance leg angles match biological results

• Swing leg angles are not quite close enough– Swing foot position trajectory doesn’t match

biological one closely enough

Page 62: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Dynamic Optimization Results Discussion

• Possible problems– Not tracking desired trajectories closely enough

• (Not enforcing constraints enough)

– Missing a constraint, or some element of cost function

• Know, from validation, that model should be good enough with right constraints and cost function

• Separate issue – add toe joint to model

Page 63: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Contents

• Introduction

• Architectures for motion control

• Impedance control algorithms

• Explaining and reproducing human motion trajectories

• Disturbances - classification and strategies

• Conclusion

Page 64: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Disturbance Reaction

• Types of balance disturbances– slipping (un-anticipated translation of foot in x-y

direction)

– rolling (un-anticipated rotation of foot, twisting ankle, for example)

– tripping (over small obstacle, rock, for example) - un-anticipated impedance to trajectory of swing leg

– being pushed (un-anticipated external force acting on some part of body, or on legs)

Page 65: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Disturbance Reaction to Slipping

• BALDER Platform– Boston University, Lars Oddssen, NeuroMuscular Research

Center, Injury Analysis and Prevention Lab

– Platform can exert 2G’s of force over a 1 foot displacement in the x-y plane

– Simulates slipping (on a patch of ice, for example)

– Platform includes walkway to allow for startup and recovery over an extended number of walking cycles

– Platform has force plate. Marker data for head, torso, thighs, and shanks

– Tested with healthy subjects, and patients with vestibular ailments

Page 66: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Disturbance Reaction to Tripping

• Treadmill with obstacles– University of Waterloo, Aftab Patla– Department of Kinesiology– Gait and posture laboratory– Reactive and proactive control of human

locomotion

Page 67: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Disturbance Reaction to Foot Roll and to Push

• It may be difficult to obtain good demonstration data for these sorts of disturbances

Page 68: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Disturbance Reaction Based on Magnitude of Disturbance

• Small disturbance can be handled by ground force in double support, or even single support– use VMC controller with same biological virtual elements as those used

for ordinary walking

• Larger disturbance requires dynamic, inertial movements– Of upper body, perhaps arms and swing leg– Additional virtual elements needed– Integration of position control for “swinging” limbs with force control of

stance limbs

• Even larger disturbance requires shuffling of feet– Foot placement, step generation– Finite state machine deviates significantly from ordinary walking

cycle

Page 69: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Disturbance Reaction Based on Magnitude of Disturbance

• Small disturbances

– Finites state machine behaves no differently than for ordinary walking cycle (same states, same biological virtual elements, same parameters).

– Existing biological elements (egg and wheel, for example) act in reflexive way to compensate for disturbance

• Medium disturbances– Finite state machine introduces additional biological virtual

elements to control swinging of arms, swing leg, torso

• Large disturbances– Finite state machine introduces additional states in gait cycle to

generate compensating steps (shuffling, etc.)

Page 70: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Disturbance Reaction – Distinction Between Reflexive and Active Compensation

• Analogy to reflex behavior in animals

• Bob Full and Berkeley collaborators

– Reflex reactions to disturbances

– < 100 ms

– Relies on current state’s virtual elements

• At > 100 ms, active compensation is introduced – Cerebellum augments spinal reflexes

– Corresponds to introduction of new virtual elements, new states to compensate

Page 71: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Contents

• Introduction

• Architectures for motion control

• Impedance control algorithms

• Explaining and reproducing human motion trajectories

• Disturbances - classification and strategies

• Conclusion

Page 72: Reasoning about Human Motion: A Tutorial Overview Andreas Hofmann

Conclusion

• Results from Sagittal-plane open-loop dynamic optimization are encouraging– Improve

– Implement similar horizontal-plane model

• Use results to derive closed-loop control laws• Investigating use of Timed Model-Based

Programming framework to address disturbance issues