Identification of human control during walking

Jason K. Moore

Human Motion and Control Laboratory []

Cleveland State University, Cleveland, Ohio, USA

June 6, 2014


Doctoral work on identification of the human controller in the bicycle balancing task.

TU Delft 2008-2009

UC Davis 2009-2012

Lower Extremity Exoskeletons

Desired improvements

  • Natural gait patterns
  • Balance

Additional Benefits

  • Quantification of control can possibly be used to assess subjects

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

Prior Art

Rouse 2011-2014

Elliot Rouse and co-authors identified the "controller" for the ankle from external perturbations.

Neuromuscular System

Kearney and Hunter, “System Identification of Human Joint Dynamics.”, 1990.

Idealized Gait Feedback Control


  • \(\varphi\): Phase of gait cycle
  • \(\mathbf{s}(\varphi)\): Joint angles and rates
  • \(\mathbf{m}(\varphi)\): 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

Typical Dynamic Gait Lab Measurements

Computed Estimates

What sensors are likely most important for human gait control?

Sensors available to external prosthetics

Closed Loop System Identification

Closed loop system id is possible, but one must be aware of several issues. Here are two common methods:

Direct Approach

Measure \(u(t)\) and \(y(t)\), ignore feedback, and fit a model to the data.

If the direct method is used in the frequency domain the external perturbations must be high enough to bias the identification towards the controller, rather than the plant. (Kearny 1990, Ljung 1999, van der Kooij 2005)

\[ G(s) = \frac{y(s)}{u(s)} = \frac{P(s) \Phi_r(\omega) - C(s) \Phi_v(\omega)} {\Phi_r(\omega) + |C(s)|^2 \Phi_v(\omega)} \]

If \( \Phi_r(w) >> \Phi_v(\omega) \) : \( G(s) = P(s) \)

If \( \Phi_v(w) >> \Phi_r(\omega) \) : \( G(s) = -\frac{1}{C(s)} \)

Direct Approach

But time domain identification may be possible if the bias is reduced by one or all of the following:

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

Experimental Protocol

[1] Bogert et al., “A Real-Time System for Biomechanical Analysis of Human Movement and Muscle Function”, 2013.

Random Belt Speed Variations

Random Belt Speed Variations

Data Processing

  1. Fill missing markers
  2. Filter marker positions and ground reaction loads 6 hz low pass filter
  3. Compute joint angles, rates, and torques using 2D inverse dynamics
  4. Section data into variable duration gait cycles based on right foot heel strikes
  5. Re-sample each gait cycle at 20 equally spaced samples
  6. Construct the design matrix (regressor), \(\mathbf{A}\) and the output vector, \(\mathbf{b}\)
  7. Solve for \(\mathbf{m}^*(\varphi)\) and \(\mathbf{K}(\varphi)\)
  8. Compute regression statistics and visualize

Measurement Variations



Gains: v=0.8 m/s

Gains: v=1.2 m/s

Gains: v=1.6 m/s

Gain variation with speed

How good is the model?

Model Fit Improvements With Control



Indirect Identification: Shooting

Closed Loop Simulation + Genetic Algorithms, requires musculoskeletal model



[1] Wang et al., “Optimizing Locomotion Controllers Using Biologically-Based Actuators and Objectives.”, 2012.

Indirect Identification: Direct Collocation

Constrained optimization of discretized model + gradient based large scale optimizer



[1] Ackermann and van den Bogert, “Optimality Principles for Model-Based Prediction of Human Gait.”, 2010




Source code for this analysis