Identification of human control during walking

Jason K. Moore

Sandra K. Hnat

Antonie van den Bogert

Human Motion and Control Laboratory []

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

Additional Benefits

  • 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


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


  • \(\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


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}\]

Random Belt Speed Variations

Gains: v=0.8 m/s

Gain variation with speed

How good is the model?

Can we put this controller into an exoskeleton?


Alternative Controller Structures

Alternative Identification Methods

Indirect Identification

Back to the questions




Source code for this analysis