Identification of human control during walking

Antonie van den Bogert

Human Motion and Control Laboratory [hmc.csuohio.edu]

Cleveland State University, Cleveland, Ohio, USA

June 10, 2014

Our big questions (maybe some of yours too?)

What are the fundamental control mechanisms used during human gait?

• Zero moment point control: Asimo, etc
• Optimal control: maximize stability, minimize energy, etc?
• Something else?

What control mechanisms can powered prosthetics utilize to recreate able bodied human gait?

• Maybe the previous are good choices, maybe not.
• Is it possible to develop a data driven controller for a particular prosthetic that behaves like a human, defects and all?
• What can common gait lab data from able-bodied humans tell us about the control mechanisms during gait? Can we measure what we really want to?
• What kind of experiments can generate rich data needed to identify controllers?

How can we identify these controllers from large sets of gait data?

Maybe standard system identification methods?

• Direct Approach
• Indirect Approach

Our goal

Desired Improvements

• Natural gait patterns
• Balance

• Quantification of control can possibly be used to assess subjects with new set of numbers

Clips collected from [1], [2], [3], and [4].

Our current approach

1. Collect common gait data from many (500-1000) gait cycles
2. During cycles, apply pseudo-random external perturbations to the human
3. Assume a simple time varying linear MIMO control structure
4. Find the best fit of the control model to the data with a direct approach
5. Test the resulting controller(s) in simulation and in actual devices (in progress)

Idealized Gait Feedback Control

Estimated

• $$\varphi$$: Phase of gait cycle
• $$\mathbf{s}(t)$$: Joint angles and rates
• $$\mathbf{m}(t)$$: Joint torques
• $$w(t)$$: Random belt speed

Unknown

• $$\mathbf{K}(\varphi)$$: Matrix of feedback gains
• $$\mathbf{s}_0(\varphi)$$: Open loop joint angles and rates
• $$\mathbf{m}_0(\varphi)$$: Open loop joint torques

Controller Equations

$\mathbf{m}(t) = \mathbf{m}_0(\varphi) + \mathbf{K}(\varphi) [\mathbf{s}_0(\varphi) - \mathbf{s}(t)] \\$ $\mathbf{m}(t) = \mathbf{m}^*(\varphi) - \mathbf{K}(\varphi) \mathbf{s}(t)$ where $\mathbf{m}^*(t) = \mathbf{m}_0(\varphi) + \mathbf{K}(\varphi) \mathbf{s}_0(\varphi)$

Gain Matrix

Sensors

Assume that a lower limb exoskeleton can sense relative orientation and rate of the right and left planar ankle, knee, and hip angles.

$$\mathbf{s}(t) = \begin{bmatrix} s_1 & \dot{s}_1 & \ldots & s_q & \dot{s}_q \end{bmatrix}$$ where $$q=6$$

Controls (plant inputs)

Assume that the exoskeleton can generate planar ankle, knee, and hip joint torques.

$$\mathbf{m}(t) = \begin{bmatrix}m_1 & \ldots & m_q \end{bmatrix}$$ where $$q=6$$

Gain Matrix [Proportional-Derivative Control]

$$\mathbf{K}(\varphi) = \begin{bmatrix} k(\varphi)_{s_1} & k(\varphi)_{\dot{s_1}} & 0 & 0 & 0 & \ldots & 0\\ 0 & 0 & k(\varphi)_{s_2} & k(\varphi)_{\dot{s_2}} & 0 & \ldots & \vdots\\ 0 & 0 & 0 & 0 & \ddots & 0 & 0\\ 0 & 0 & 0 & \ldots & 0 & k(\varphi)_{s_q} & k(\varphi)_{\dot{s}_q} \\ \end{bmatrix}$$

Linear Least Squares

With $$n$$ time samples in each gait cycle and $$m$$ cycles there are $$mnq$$ equations and which can be used to solve for the $$nq(p+1)$$ unknowns: $$\mathbf{m}^*(\varphi)$$ and $$\mathbf{K}(\varphi)$$. This is a classic overdetermined system of linear equations that can be solved with linear least squares.

$\mathbf{A}\mathbf{x}=\mathbf{b}$ $\hat{\mathbf{x}}=(\mathbf{A}^T\mathbf{A})^{-1}\mathbf{A}^T\mathbf{b}$

• $$n=20,m\sim=400,q=6,p=12$$
• $$\mathbf{A}$$ (48000 x 1560): joint angles and rates
• $$\mathbf{b}$$ (48000 x 1): joint torques
• $$\mathbf{x}$$ (1560 x 1): $$\mathbf{K}(\varphi)$$ and $$\mathbf{m}^*(\varphi)$$

Random Belt Speed Variations

 Your browser does not support the video tag.

Alternative Controller Structures

• Additional sensors: acceleration, foot pressure, etc
• Add in neural time delays $$\mathbf{m}(t) = \mathbf{m}^*(\varphi) - \mathbf{K}(\varphi)\mathbf{s}(t) - \mathbf{K}(\varphi)s(t-\tau)$$
• Remove clock from controller (state dependent): $$\mathbf{m}(t) = \mathbf{m}^*(\mathbf{s}(t)) - \mathbf{K}(\mathbf{s}(t))\mathbf{s}(t) - \mathbf{K}(\mathbf{s}(t))s(t-\tau)$$
• Non-linear control models: e.g. neural network

Alternative Identification Methods

Indirect Identification

• Cost Function: $J = \sum_{i=0}^n || y_i - y_i^m || + \ldots$
• Equations of motion used for simulating (shooting) or optimization constraints (direct collocation)
• Shooting: high computation costs, few optimization parameters
• DC: lower computation cost, many optimization parameters
• Both depend on fidelity of the plant model

Back to the questions

• Can data driven approaches find controllers that mimic the human better than other approaches?
• Is it possible to identify only the parts of the human control system needed to control powered prosthetics from a more complex system?
• Which control structures are most useful as parameterized models? Completely black box, or physically influenced models.
• How can you verify that directly identified controllers are valid?
• What kind of experiments will give the rich data that is needed to expose all of the control mechanisms?

• On its way!

/