Exoskeleton controllers must be designed to function in the real world before they enter people’s daily lives

One of the biggest challenges to getting exos out of the laboratory and into people's daily lives is the lack of a suitable controller that works in the real world. Typically, modern exoskeletons are purely tested in controlled laboratory conditions, usually on an instrumented treadmill.

We science-types like these sorts of conditions, as they're consistent and repeatable, which makes it straightforward to perform controlled experiments with exoskeletons.

But the real world isn't like this! The real world looks more like this than anything in a lab.

Terrains aren’t flat, people start and stop in their walking, there’s rocks on the ground, the list goes on: the real world isn’t the lab. And if we want exoskeletons to leave the lab and enter the real world, their controllers must be able to adapt their assistance to these changing real world conditions.

One precondition for this adaptive assistance is that they be capable of interpreting how human gaits change during usage of these devices in the real world.

We begin solving the challenge of encoding human gait by parametrizing the human gait cycle using the gait phase variable. This variable is defined as zero at heel-strike, and ascends to the value of 1 at the next heel-strike upon which it resets and the cycle continues. We can further parameterize walking using continuous task variables, such as stride length and ground inclination, which, combined with phase, describes how humans walk over different environments.

We combine phase and task variables to generate the gait state, which is difficult to measure directly, especially in the real world, as we don't have sensor arrays like those of an instrumented treadmill out there. Because of the nature of the real world, the gait state is constantly changing in walking , and thus we need to continuously update our estimates of the gait state to learn how that walking is changing

Although the gait state is itself hard to measure directly, it does directly impact other, actually measurable kinematics, such as incline and foot angle, which also vary with changing environments and gaits.

Hidden states. Directly measurable variables related to these states. Sounds like a job for the Kalman Filter.

As a quick primer, the Kalman Filter, loosely speaking, inverts direct measurements to recover the likeliest hidden states that produced those measurements, combining sources of uncertain information to produce high quality state estimates. For an in depth explainer on the nitty gritty of the Kalman Filter, check out this website.

At the heart of the Kalman filter lies a measurement model that maps hidden states (e.g. the gait states) to directly measurable quantities (e.g. kinematics). The filter then takes in measurements and inverts this mapping to estimate the gait state. Because the model is likely to be nonlinear (though not in the parameters!), we can use the Extended Kalman Filter (EKF) in place of the regular linear Kalman Filter to learn the gait state. All the EKF does is linearize the gait model about different operating points to approximate the regular Filter.

For our application, we need to develop a continuous gait model that thus maps gait state to gait kinematics. We obtain this gait model by using the walking data from a published dataset containing ten able-bodied subjects who walked on a treadmill at a variety of speeds and inclines. We used the data in the set to regress this continuous gait model (shown on the right). For this application, we used constrained least-squares in MATLAB to perform the regression, although really any regression technique would work.

Our gait model mapped the gait state (as a reminder, phase, stride length, and incline) to foot and shank angles, and the position of the heel. We chose these measurements as they would be possible to obtain with the sensors on a lower-limb exoskeleton.

The Michigan Mars Yard

Speaking of which, I implemented this controller on the Dephy ExoBoot, which are cutting-edge bilateral ankle exoskeletons that apply torque at the ankle joint to boost your walking. The ExoBoot was controlled by a Raspberry Pi, which hosted the controller and handled the real-time implementation. The ExoBoot dynamically updated its assistance in response to the changing gait state conditions, thus adapting to how the user walked.

We tested our controller on two outdoor environments: the University of Michigan Mars Yard, and the University of Michigan Wave Field. These environments acted as ‘stress-tests‘ that really evaluated whether our EKF based controller could adapt its assistance to difficult, irregular terrains.

The EKF controller working during our ‘stress-test‘ trials on challenging environments.

And here’s the stress-test trials!

On the left is a series of stills from the trial for easier analysis. I was pretty happy with how the EKF performed in these tough conditions. We see the typical sawtooth pattern for phase, indicating that we succeeded in locking on to the phase gait variable at all. Additionally, looking at incline, we see obvious signs of adaptation from the EKF. For the Mars Yard (first two plots), we see a rise and sharp fall as the participant ascends and descends the Yard. Similarly, the sine wave pattern of the Wave Field is obvious (last two plots).

This work represents a big milestone in the exo community, as it’s, to my knowledge, the first exo controller that continuously adapts to outdoor environments, which will hopefully bring us one step closer to mass adoption of these technologies into our daily lives. Big credits to Drs. Bobby Gregg and Gray Thomas, who provided invaluable expertise and aid in implementing the EKF on the hardware.

Previous
Previous

Reinforcement Learning to Solve the Abelian Sandpile Game

Next
Next

The Perception of Exoskeleton Benefits