Identification of human control during walking
Jason K. Moore j.k.moore19@csuohio.edu
Sandra K. Hnat
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
Your browser does not support the video tag.
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
Collect common gait data from many (500-1000) gait cycles
During cycles, apply pseudo-random external perturbations to the
human
Assume a simple time varying linear MIMO control structure
Find the best fit of the control model to the data with a direct
approach
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.
Gains: v=0.8 m/s
Gain variation with speed
How good is the model?
Can we put this controller into an exoskeleton?
Maybe
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?
Information
Contact
Slides
Source code for this analysis
Data
/