Physical Therapy Monitoring System
Overview
Gonio is a product designed to aid patients recovering from knee injuries through the physical therapy (PT) process, facilitating rehabilitation.
The system consists of three main components:
-
A wearable strap with sensors to monitor leg motion
-
An app that guides patients through exercises and tracks progress over time
-
A website that enables physical therapists to check patients' progress and prescribe exercises remotely

Contributions
I worked on this project in a team of 15 students for MIT's mechanical engineering senior capstone class, aka 2.009 (go yellow team!)
My contributions included:
-
Researching sensor technologies for the device
-
Creating a prototype using inertial measurement units (IMUs) to measure the angle of a hinge joint in 3d space
-
Developing an app to connect live sensor data to a user interface for PT exercises
-
Refining slides and presentation details for the product launch​
Skills
product design | teamwork​ | prototyping | IMUs | Arduino | App Inventor
Motivation
Patients who engage in early and frequent physical therapy experience faster recovery and reduction in long-term healthcare costs.
​
However, the lack of motivation, feedback, and guidance results in low patient adherence to PT regimina. This prolongs the recovery process, creating a burden not only for patients but also for physical therapists (PTs) and insurance companies.​
​

Based on our research and interviews with several physical therapists and patients, we decided to create a system to make physical therapy easy, convenient, and rewarding, benefitting all parties involved.
Sensor Research
Our system relies on the ability to accurately track the user's leg movements, particularly the range of motion (ROM) of the knee. We considered several different sensing options, including pre-packaged goniometers, potentiometers, inertial measure-ment units (IMUs), and flex sensors. I conducted literature review to find research precedents for similar applications and research the feasibility of using IMUs to measure ROM.
​​
Factors we considered for sensor selection included:
-
Size - low profile suitable for wearable device
-
Accuracy - at least as accurate as current PT standard
-
Compatibility - can be integrated with wearable device
-
Robustness - can measure accurately with inconsistencies in device orientation
​
Based on these criteria and our research, we concluded that IMUs would be optimal for our application.

Validation of 3D Knee Kinematics during Gait on Treadmill with an Instrumented Knee Brace (Reneaud et al., 2023)

Prototyping
Once we had selected IMUs as our sensing technology, I worked on developing a proof-of-concept prototype using two IMUs to measure the angle of a simple hinge. I used two MPU-6050 six-axis (3 DOF accelerometer, 3 DOF gyroscope) IMUs and an Arduino Uno micro-controller for the prototype.
​
First, I sketched a simplified model of the system constrained to two dimensions with all relevant lengths known. Given these geometric constraints and the linear acceleration and angular velocity measurements from the IMUs, I derived a set of formulae to calculate the angles of interest.​




​​One concern with the IMU method was the accuracy of the measurements over time. Accelerometer data is sensitive to noise, and gyroscopic measurements produce error due to drift. However, through literature review, I found promising results suggesting that applying a sensor fusion algorithm with Kalman filtering would solve these issues.
​
I coded an Arduino program to test my hand-calculated model and visualize the results.
Setup (below): breadboarded IMUs on continuous passive motion (CPM) machine with hard stops on ROM
.jpg)


The results correlated well with the expected trajectory and validated the effectiveness of the filtering algorithm, as the filtered angle (green) is smooth and accurate compared to the noisy angle calculated using only accelerometer data (blue) and the drifting angle calculated using only gyroscopic data (red).
​
After verifying the accuracy of the calculations, I replaced the Arduino Uno with a XIAO ESP32C3 mini development board. The breadboards are attached to a simple wooden hinge to simulate a simplified knee joint. I programmed the board to send the calculated angle data to a phone app via Bluetooth, as shown to the left.
While this prototype was useful in understanding the IMU technology and filtering algorithm, we discovered a BLE-compatible commercial inclinometer, the WT901, that uses 9-axis IMMUs and high-performance microprocessors to output the absolute angle of the sensor within less than one degree of accuracy. Since this sensor exactly fit our application and did not require additional calibration or positioning, we decided that WT901s would be more suitable for our product than the hardware used for the prototype.
App Development and User Interface
We created an app to connect with the sensors and guide patients through their physical therapy exercise routines. I worked on connecting the sensor data to an animation in the app that would mirror the user's actual leg movements.
​
I started by calculating the relative positions of each part of the animation (upper leg, knee, lower leg), then tested the animation in the app with a slider in place of the actual sensor data.



I also created several mockups of the app interface in Adobe Illustrator. We presented these mockups to other team members and patients we interviewed to determine which design elements would be intuitive and appealing to the users.







Based on the feedback from user interviews, I integrated the live animation into the app, using sensor data transmitted via Bluetooth to determine the position of the leg animation. Below is a demo of the working app:
Sensors strapped onto upper and lower leg

Live ROM display
Leg animation with targets for intended exercise motion
Automatic repetition counter
Product Launch and Reflections
In preparation for the product launch, I modified and finalized the slides for our presentation and spent time rehearsing and giving feedback to the presenters to make sure they felt prepared. I also fielded technical questions from the live audience after the presentation.
​
Overall, although the project did not involve as many mechanical design elements as I had hoped, I learned more about the product design process and how to navigate working in a larger team. I was also able to apply mechanical engineering fundamentals, such as dynamics, to create models and perform calculations for the system.

The process to get to our final product was not at all a smooth one, as we changed directions several times before finalizing our product idea much later than intended. However, the experience taught me how to make informed decisions and revealed the importance of user research and prototype testing in guiding the product direction. It also challenged me to learn quickly, adapt to different roles, and step up as a team member, skills I believe will serve me well throughout the rest of my career.
​
In our peer reviews, my teammates mentioned that they valued my technical contributions, reliable work ethic, and thoughtful insights, challenging me to speak up more and push myself more as a leader. My peer assessment score increased at every milestone as I made an effort to improve as a teammate, and I hope to keep giving and receiving valuable feedback for continual improvement through my future endeavors.