Simulation based analysis of human push recovery motions using - - PowerPoint PPT Presentation

simulation based analysis of human push recovery motions
SMART_READER_LITE
LIVE PREVIEW

Simulation based analysis of human push recovery motions using - - PowerPoint PPT Presentation

, Simulation based analysis of human push recovery motions using numerical optimization malin.schemschat@iwr.uni-heidelberg.de September 1, 2016 malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 0 / 21 Motivation , adult eldery


slide-1
SLIDE 1

,

Simulation based analysis

  • f human push recovery motions

using numerical optimization

malin.schemschat@iwr.uni-heidelberg.de September 1, 2016

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 0 / 21

slide-2
SLIDE 2

,

Motivation young

→ often fall

adult

→ stable gait, reaction on perturbation

eldery

→ more likely to fall

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 1 / 21

slide-3
SLIDE 3

,

Application

Robotics Medicine Sport Science Humanoids Exoskeletons Shape Control Strategies Therapies Training Prostheses

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 2 / 21

slide-4
SLIDE 4

,

Workflow

Human Motion Experiments Dynamic Model ˙ x = f(t, x, u, p) Optimal Control Problem (OCP)

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 3 / 21

slide-5
SLIDE 5

,

Human Model

2D human model. 14 segments connected by 13 joints (+3D joint for position and orientation in world coordinates). Rotations around y-axis in sagittal plane. Controlled by joint torques. Push simulated as external force. Implemented based on HeiMan in RBDL1. Height: 1.80 m, weight: 75 kg

1 M.L. Felis. RBDL - an efficient rigid-body dynamics library using recursive algorithms. Autonomous Robots, 2015. malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 4 / 21

slide-6
SLIDE 6

,

Modeling

Equations of motion

Dynamics of model during a phase described by equations of motion τ(¨ q, ˙ q, q) + G(q)Tλ = M(q)¨ q + C(q, ˙ q) q pelvis position and orientation and joint angles, ˙ q corresponding velocities, ¨ q accelerations, τ joint torques, λ external impact forces resulting from a contact, G Jacobi Matrix of the constraints, M inertia term, C amount of forces to be applied to enforce acceleration ¨ q to be zero,

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 5 / 21

slide-7
SLIDE 7

,

Modeling

Equations of motion

Dynamics of model during a phase described by equations of motion τ(¨ q, ˙ q, q) + G

T push fpush + G(q)Tλ = M(q)¨

q + C(q, ˙ q) q pelvis position and orientation and joint angles, ˙ q corresponding velocities, ¨ q accelerations, τ joint torques, λ external impact forces resulting from a contact, G Jacobi Matrix of the constraints, M inertia term, C amount of forces to be applied to enforce acceleration ¨ q to be zero, Gpush Jacobian of push point, fpush applied force.

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 5 / 21

slide-8
SLIDE 8

,

Modeling

Equations of motion

Dynamics of model during a phase described by equations of motion τ(¨ q, ˙ q, q) + G

T push fpush + G(q)Tλ = M(q)¨

q + C(q, ˙ q) (1) → Reformulation to linear system with unknowns ¨ q and λ ∈ Rm

  • M

GT G ¨ q −λ

  • =

−C + τ + G

T push fpush

− ˙ G˙ q

  • .

(2) → Reformulation of linear system (2) to DAE of first order ˙ x = f(t, x, u, p), (3) where x = (q, ˙ q), u = τ.

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 6 / 21

slide-9
SLIDE 9

,

Optimization

Optimal Control Problem

min

x,u,p, t0,...,tnph

J(t, x(t), u(t), p)

  • bjective function

s.t.          ˙ x(t) = fj(t, x(t), u(t), p), equation of motion gj(t, x(t), u(t), p) ≥ 0, path constraints t0 = 0, tnph = tf , t ∈ [tj−1; tj]. x = (q, ˙ q) system state variables, u = τ system control variables, p system parameters.

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 7 / 21

slide-10
SLIDE 10

,

Optimization

Optimal Control Problem

min

x,u,p, t0,...,tnph

J(t, x(t), u(t), p)

  • bjective function

s.t.          ˙ x(t) = fj(t, x(t), u(t), p), equation of motion gj(t, x(t), u(t), p) ≥ 0, path constraints t0 = 0, tnph = tf , t ∈ [tj−1; tj].

Contact Phase 1 Phase 2 Phase 3 Phase 4 right hallux yes yes yes yes right heel yes no no no left hallux start no no yes left heel no no yes yes

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 8 / 21

slide-11
SLIDE 11

,

Optimization

Motion generation

min

x,u,p, t0,...,tnph

J(t, x(t), u(t), p)

  • bjective function

s.t.          ˙ x(t) = fj(t, x(t), u(t), p), equation of motion gj(t, x(t), u(t), p) ≥ 0, path constraints r(x(t0), x(t1), . . . , x(tnph)) ≥ 0, coupled conditions t0 = 0, tnph = tf , t ∈ [tj−1; tj]. Undisturbed human gait is usually periodic. → State x(tf ) at the end of the step is the mirrored constellation to the state at the beginning of the step at t = 0: x(0) = ˜ x(tf )

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 9 / 21

slide-12
SLIDE 12

,

Optimization

Motion generation

min

x,u,p, t0,...,tnph

J(t, x(t), u(t), p)

  • bjective function

s.t.          ˙ x(t) = fj(t, x(t), u(t), p), equation of motion gj(t, x(t), u(t), p) ≥ 0, path constraints r(x(t0), x(t1), . . . , x(tnph)) ≥ 0, coupled conditions t0 = 0, tnph = tf , t ∈ [tj−1; tj]. Undisturbed human gait is usually periodic. → State x(tf ) at the end of the step is the mirrored constellation to the state at the beginning of the step at t = 0: x(0) = ˜ x(tf ) + ps. → Assumption: with push, step will remain as periodic as possible. → Include slack variables ps in objective function.

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 9 / 21

slide-13
SLIDE 13

,

Optimization

Motion generation

min

x,u,p, t0,...,tnph

J(t, x(t), u(t), p)

  • bjective function

s.t.          ˙ x(t) = fj(t, x(t), u(t), p), equation of motion gj(t, x(t), u(t), p) ≥ 0, path constraints r(x(t0), x(t1), . . . , x(tnph)) ≥ 0, coupled conditions t0 = 0, tnph = tf , t ∈ [tj−1; tj]. Objective function for motion generation J(t, x(t), u(t), p) = pT

s W pps + 1

pSL

nph

  • j=1

tj

tj−1

u(t)TWuu(t)dt.

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 10 / 21

slide-14
SLIDE 14

,

Solution algorithm

Equations of Motion Optimal Control- Problem NonLinear Program Quadratic SubProblem

˙ x = f(z, t) r = 0 min J(z) s.t. ˙ x = f(z, t) r = 0 min J(z) s.t. ˜ xk+1 = ˜ f(˜ zk, t) ˜ r = 0 min

d

Q(d)

Multiple Shooting SQP

RBDL1 MUSCOD-II2

f, r z

1 Rigid-body dynamics library by M. Felis, ORB, IWR, University of Heidelberg 2 by H. G. Bock, D. B. Leineweber, et al., SimOPT, IWR, University of Heidelberg malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 11 / 21

slide-15
SLIDE 15

,

Motion generation

Pushes applied form the back with contact point at the pelvis. Fpx(t) = c (t − tp0)2 (t − tpf )2, c = 16 Fp ((tpf − tp0)2)

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 12 / 21

slide-16
SLIDE 16

,

Motion generation - Step Length and Periodicity

Step length increases the stronger the push. Less periodic the stronger the push. Hip and ankle joints less periodic than other joints.

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 13 / 21

slide-17
SLIDE 17

,

Motion Generation - Right Ankle Motion and Torques

Decrease in joint angle. No significantly higher velocity for stronger pushes. Joint torques are distinctly higher for stronger pushes.

  • R. Malin Schemschat, Debora Clever, Martin L. Felis and Katja Mombaur: Optimal Push

Recovery for Periodic Walking Motions; IFAC International Workshop on Periodic Control Systems (PSYCO2016)

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 14 / 21

slide-18
SLIDE 18

,

Motion fitting

Optimal Control Problem

min

x,u,p, t0,...,tnph

J(t, x(t), u(t), p)

  • bjective function

s.t.          ˙ x(t) = fj(t, x(t), u(t), p), equation of motion gj(t, x(t), u(t), p) ≥ 0, path constraints t0 = 0, tnph = tf , t ∈ [tj−1; tj]. Objective function for motion fitting φj(x(t), u(t), p) =

nref

  • k=0

(qk(x, u, t) − ˜ qk(t))2 + u(t)TWuu(t).

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 15 / 21

slide-19
SLIDE 19

,

Generation of Reference Data

Experiments (record force and motion) Trajectories of marker points Kinematic model Dynamic model Viconn MMM convert

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 16 / 21

slide-20
SLIDE 20

,

Motion fitting

7 motions of the same subject Pushes are applied

from the back, at 3 different locations at spine: pelvis, middle and upper trunk, during swing phase of left leg.

Pushes differ in strength, profile and timing One single step modelled

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 17 / 21

slide-21
SLIDE 21

,

Motion fitting - Results

Higher internal torque results in change of joint angle velocity. Opposite does not hold because influence of the dynamics of the model that cannot be measured.

  • R. Malin Schemschat, Debora Clever, Martin L. Felis, Enrico Chiovetto, Martin Giese, Katja

Mombaur: Joint Torque Analysis of Push Recovery Motions during Human Walking; International Conference on Biomedical Robotics and Biomechatronics (BioRob2016)

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 18 / 21

slide-22
SLIDE 22

,

Application: Exoskeletons

Added masses and changed intertia terms of walker2d model according to exoskeleton data. → Motion fitting to gain information about torques that are needed in exoskeletons to support huge perturbation during walking. → More torque needed the heavier exoskeleton.

  • R. Malin Schemschat, Debora Clever and Katja Mombaur: Model-based optimization for the design of exoskeletons that help

humans to sustain large pushes while walking; International Conference on NeuroRehabilitation (INCR2016)

  • R. Malin Schemschat, Debora Clever and Katja Mombaur: Optimization based analysis of push recovery during walking motions to

support the design of lower-limb exoskeletons; IEEE International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SimPar2016) malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 19 / 21

slide-23
SLIDE 23

,

BiLevel Optimal Control Problem

Goal: Determine criteria Ki(z(t)), z = (u, x, p), that motivate a certain motion.

Objective as Linear Combination of Criteria

J(z, ω) = tf

t0 nω

  • i=1

ωiKi(z(t)) dt, Outer Level min

ω

  • k

m(z, tk, ω) − ˜ mk ω ↓

↑ z

Inner Level min

z,tf J(z, ω),

s.t. ˙ x = f(z, t), 0 ≤ g(z, t)

Debora Clever, R. Malin Schemschat, Martin L. Felis, Katja Mombaur: Inverse Optimal Control Based Identification of Optimality Criteria in Whole-Body Human Walking on Level Ground; International Conference on Biomedical Robotics and Biomechatronics (BioRob2016)

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 20 / 21

slide-24
SLIDE 24

,

Human Motion Experiments Modelling

Outer Level min

ω

  • k

m(z, tk, ω) − ˜ mk ω ↓

↑ z

Inner Level min

z,tf J(z, ω),

s.t. ˙ x = f(z, t), 0 ≤ g(z, t)

Optimization

Humans Robots

Thank you for your attention! - Questions?

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 21 / 21

slide-25
SLIDE 25

,

Overview of Atomic Objective Functions

Muscles Joints Body Time

Endurance max min te,i End time min tf End time min tf

State

Muscle activation min

nm

  • i=1

ωi,aai Joint angle min q − qr Position min s − sr max hcom Muscle length min li Joint velocity max ˙ qj Velocity max ˙ s Contraction velocity min ˙ lm,i Joint acceleration max ¨ qj Acceleration max ¨ s Joint jerk min ... q j Jerk min ... s Orientation min o − or

Force/Torque

Muscle force min

nm

  • i=1

ωi,F Fi Joint force/torque min τj Endeffector load min τend Smooth saturation min

nm

  • i=1

j

  • 1 −
  • Fi

PCSAi

j Friction force/torque min τj,fric Friction force/torque min τfric Joint power min τj ˙ qj

Energy

Metabolic energy min Ei Kinetic energy min

1 2 ˙

qtJs ˙ q Kinetic energy min

1 2 mv 2

Potential energy min mg∆h

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 21 / 21

slide-26
SLIDE 26

,

Future Work

We plan to investigate in recovery motions for a large variety of pushes, perform extensive studies on relations between current state, push and recovery motion, study objective functions with additional terms, use inverse optimal control to identify the weights of these

  • bjectives, which lead to human like motions,

apply the presented optimal control framework to dynamic robot models (HRP2/HeiCub)

malin.schemschat@iwr.uni-heidelberg.de , September 1, 2016 21 / 21