Overview

Amputees using a powered prosthetic leg need a safe, automatic, and seamless system to transition between ambulation modes (e.g. level-ground walking, stair ascent, ramp descent, etc.) by recognizing the user's intent in real time.

Over the course of this project, I produced 3 modular Python packages and an analysis toolkit to perform data processing on raw ambulation data, model training, and real-time classification. Additionally, I delivered an adaptive prosthetic control algorithm, reducing the training data required for the baseline model by 20% through integration of patient ambulation data as they walked.

The intent recognition system can be seen in action in the video below:

Data Collection/Processing

I wrote a Python script to process real-time and extract features from on-board sensors including a load cell and accelerometer. We recorded participants completing activities such as standing, shuffling, walking, and navigating stairs and ramps. Additionally, I developed an Android application to manually transition the leg and label the ambulation mode during data collection.

I then wrote a Python package to process the and organize the recorded sensor data, extracted features, and metadata into CSV files ensuring portability and backwards compatibility.

Model Training and Real-Time Classification

I used dimensionality reduction techniques like PCA and ULDA on the extracted features and used them to train a set of linear classifiers to predict ambulation mode transitions.

The trained models were deployed on an embedded Linux controller in the prosthetic leg. A finite state machine runs on the leg to define parameters throughout the gait cycle for each mode, like stiffness, damping, etc. However, transitions between modes rely on manual transitions or the predicted transitions from the intent recognition system.

The script which extracted features in real-time checks the current state in the state machine and uses incoming data and trained models to predict the next ambulation mode.

Adaptation

I also implemented an adaptive algorithm that updated the classifier models after each stride, tailoring predictions to the current user’s walking patterns. Starting with general models trained on multiple users, the system personalized itself over time, improving performance and reducing the amount of training data we needed to collect prior to an experiment.

Phone

(325) 370-5285

Location

Chicago, IL