top of page

Rheumoflex
Measuring Finger Joint Stiffness

render.PNG

Rheumoflex is a prototype biomedical device that objectively quantifies the stiffness of the proximal interphalangeal (PIP) joint of the index finger. Objective quantification aims to assist clinicians in early diagnosis and improved treatment of rheumatoid arthritis (RA).

 

As a result of this project, an innovative design was created and a prototype of it was manufactured and tested. The device created by my project team may change the way rheumatoid arthritis is treated in the future by introducing a game-changing diagnostic device to the market. Sadly due to the COVID pandemic the development of the device did not go further, but, my team's work laid a solid foundation for development in the future.

Client Organization

University of Southampton

Year

2020 - 2021

Location

Southampton, UK

Team/Solo

Team - 6 Members

Supervisors

Prof. Markus Heller

Prof. John Atkinston

Funding

GBP 800

Project Roles

Team Leader, Torque Application Lead, Motor Control Lead, Prototyping and 3D printing Lead, Electronics Lead

Technologies Utilised

Solidworks, Fusion 360, MATLAB, Microsoft Visual Studio, Arduino IDE, EasyEDA, Ultimaker Cura

Project Video

The video below was one of the assessed outputs of the project - we had to create a three minute video describing our project and its outcomes. I narrated the video, participated in the editing and also made the video renders of the device on Solidworks.

Context

Rheumatoid arthritis (RA) is an autoimmune disease that causes the immune system to mistakenly attack healthy tissue in the small joints of the body, such as the hands and feet. The most debilitating symptom of the disease is “morning stiffness”, which presents itself as restricted movement of the joints. Currently, there are no devices available in clinical practice which can objectively and reliably measure finger joint stiffness. There is a demand for such a device as it would enable clinicians to monitor a patient’s response to treatment through comparison of successive finger joint stiffness readings. Whilst, there is currently no cure for RA, this information would allow clinicians to provide patients with the best possible treatment, as well as aiding in the development of new treatments.

​

​

Project Aims and Objectives

Aim

  • Design, build and test a device that can objectively measure the rotational stiffness of the PIP joint for patients with early-stage RA.

Objectives

  • Conduct Research on and develop an understanding of the functional anatomy of the finger and how it is affected by RA.

  • Determine a means to locate, isolate and align the PIP joint within the device.

  • Design a device that can apply a torque about the flexion-extension axis of rotation of the PIP joint.

  • Manufacture a prototype with the available resources and limitations of COVID-19 related lab closures and test on artificial fingers.

  • Record at increments the applied torque and corresponding change in angle between the artificial finger representations of the proximal and middle phalanges.

  • Explore variability in PIP joint axis location, orientation, and other anatomical finger measurements in preparation for future biomechanical models to verify the safety of the device

Design Process

At the inception of the project I created a simple design process (inspired by the typical design process for a biomedical product) for the team to follow throughout the course of the project. By following this process, we were able to exceed all expections and develop an innovative concept, manufacture a working prototype and test it whilst working under restrictions posed by the COVID pandemic.

flowchart (1).png

Project Design Process

Personal Contributions

This section highlights my personal contributions to the project in a chronological order following the progression of the project as a whole. In addition to technical work, I helped conduct a patient public involvment study and worked on future plans that take market viability and financial considerations into account.

Initial Research

At the start of the project, we were tasked with creating a device that could objectively measure finger joint stiffness. With very little existent research about the subject present in literature, the initial research phase was extremely difficult. This was made especially difficult as the none of the group members had a background in biomedical engineering. After a two month long research phase, I stumbled upon Torque Range of Motion (TROM), which is the fundamental principal that Rheumoflex operates under. It involves rotationally displacing a joint using a constantly increasing torque whilst recording the angular displacement of the joint. This torque is then plotted against the angular displacement to create a Torque-Angle curve, from which the joint's stiffness can be found by calculating the average gradient of the curve. Torque-angle curves recorded over long time periods at regular intervals can allow clinicians to objectively observe the progression of RA in patients and allow them to alter the treatment plan accordingly.

Torque-angle-curves-for-the-hamstring-muscles-for-the-first-and-fifth-stretches-Note-the.p

Example Torque-Angle curve

Concept Generation

After completing inital research and outlining the base requirements for the device, we broke the problem down into several sub-problems. My problem was torque application. Using hand sketches shown below and further research, I slowly narrowed the options down to a single simple concept, which involved a motor attached to an arm to displace the intermediate phalanx whilst the distal interphalangeal (DIP) joint was splinted. The splinting would allow for the PIP joint to be isolated, making Rheumoflex's readings more accurate.

CamScanner 12-01-2020 13.44_1.jpg
CamScanner 12-01-2020 13.44_2.jpg

Initial concepts

CamScanner 12-01-2020 13.44_4.jpg

Final concept

Motor sizing

Following the selection of the concept, I focused on selecting an approporiate motor for the device. This was an extremely important task as I had to ensure that the motor would move slowly and generate a low torque so that a patient's finger would not be damaged. However, the torque had to be high enough to still displace the patient's finger enough so that a Torque-Angle curve could be generated. Picking the maximal values for motor speed and torque involved complex literature informed calculations that took around two weeks to get correct. These calculations  required the use of a combination of motor sizing guides and other data in order to correctly calculate what the required values for the different torque components (Load Torque and Acceleration Torque) for the motor were. Once these values were found, I applied a safety factor to them to ensure the selected motor would be capable of doing what it needs to. 

Motor selection and concept development

Two variables needed to be constantly measured by Rheumoflex, the torque being applied to the intermediate phalanx of the finger and the PIP joint's angle change. My team and I developed an innovative concept that involved suspending the motor within a gimbal mechanism attached to a load cell to measure the torque applied. To measure the change in angle,  the angle measurement lead and I decided that two options were needed.  Due to the shipping delays posed by the COVID pandemic, it was important to have a backup plan in case one concept did not work. Therefore, I selected and ordered two motors: A standard DC micromotor, and a DC motor with an in-built rotary encoder. Ultimately, due to accuracy issues with the in-built rotary encoder, the team used the standard DC micromotor with a rotary potentiometer attached to its shaft as shown in the gimbal CAD render which I made on solidworks with the assistance of another group member.

micromotor.png

DC Micromotor

Micromotors B138F-12-1470

machifit motor.jpg

DC Motor with Rotary Encoder

Machifit 25GA370

Gimbal render.jpg

DC motor

Load-cell arm

Motor arm

Rotary potentiometer

CAD render of Gimbal Mechanism - Solidworks

Control System Design and Testing

As the electronics and motor control lead, I was in charge of designing, testing and optimising the motor control system for torque application. A normal human finger typically becomes stiffer the more it flexes. Therefore, if the motor shaft applying a force on the finger continually turns at the same speed, the torque applied to the finger would gradually increase the further the finger flexes. So, I designed two speed control systems, one for the standard DC micromotor (SSCC), and another for the DC motor with an encoder (ESCC). Both these systems (shown below) were designed to regulate the motor's speed to a set value regardless of the force put on the shaft.

Simple Speed Control Circuit (SSCC)

SSCC.PNG

SSCC Schematic - easyEDA

This control system works by using the operational amplifier (op-amp) in a non-inverting configuration. The linear potentiometer controls the speed of the motor. The op-amp is used as a voltage follower with its output current boosted by a transistor. The transistor's output voltage is fed into the motor and inverting input of the op-amp, creating a negative feedback loop. This ensures that the voltage at the inverting and non-inverting inputs will be equal, meaning that the motor's speed will be constant regardless of the load on the shaft. The motor sits within an H-bridge circuit controlled by the Arduino UNO, allowing the motors polarity to be digitally changed. Furthermore, the Arduino UNO is capable of digitally cutting power to the circuit using the Q6 transistor. Lastly,  SW2 and SW3 are pushbutton safety switches for the patient and clinician, allowing the motor to stop instantaneously when the switches are pressed. SW1 is a micro switch that will stop the motor before the finger reaches its full range of motion to prevent damage from the finger.

Components Used

10K Linear Potentiometer (P1)

Arduino UNO (A1)

Switches (SW1, SW2, SW3)

Operation Amplifier (U1)

Transistors (Q1 - Q6)

Capacitors (C1, C2)

Diodes (D1 - D5)

DC motor (M2)

During testing this control system was shown to work flawlessly using a breadboard circuit, with instantaneous speed control upon any load placed on the shaft. Following testing, I designed a PCB of the circuit and a casing to hold the PCB and Arduino UNO. However, due to time constraints, I was unable to order the PCB or manufacture the casing.

PCB.PNG
circuit casing render.PNG

PCB Schematic - easyEDA

Casing Render - Solidworks

Encoder Speed Control Circuit (ESCC)

ESCC.PNG

Components Used

L298N Motor Driver Module

Arduino UNO (A1)

DC Motor with Encoder (M1)

Switches (SW1, SW2, SW3)

ESCC Schematic - easyEDA

The ESCC is controlled by using Windows Visual Studio as a Human Machine Interface (HMI). The HMI sends data to and receives data from the Arduino UNO to control the motor and monitor its rotational speed. The encoder in the motor sends a feedback signal to the Arduino, which adjusts its output to maintain the motor speed to its set point. Motor polarity is controlled by using the Arduino’s digital pins to send HIGH/LOW logic commands to the H-bridge circuit inputs within the L298N module (IN3, IN4). Applying these logic commands in different combinations allows direction control. Motor speed is controlled by using the Arduino’s Pulse Width Modulation (PWM) pins, which send a PWM signal to the L298N module. The switches in the ESCC perform an identical role to those in the SSCC. The Arduino code I wrote allows speed control through PID control and allows for motor polarity switching as well. The HMI allows for complete digital control of the system, an improvement over the potentiometer setting speed for the previous circuit. The HMI is a winform (shown below) created on Windows Visual Studio through my C++ code.

HMI.PNG

HMI interface - Windows Visual Studio C++

PID.JPG

PID Tuner - MATLAB

The interface shown above allowed full control of the motor, as well as setting of speed and PID values. To find the best PID values that minimized control error variability, delay and overshoot, I attempted PID tuning using MATLAB. However, due to the unavailibilty of specific motor characteristics and time constraints I was unable to find optimal values. Nevertheless, it was a valuable experience which allowed me to learn how PID tuning is done.

3D Printing and Prototyping

Initially, due to the COVID pandemic, we were not expecting to manufacture anything nor test a device. However, due to how effective our design process was and how committed each team member was to their task, we were ahead of schedule before the end of the project. With a lack of access to manufacturing facilities I suggested I manufacture any custom made parts using my in-home 3D printer. The 3D printer used was the Anycubic Mega X. I printed the custom parts using ABS and PLA filaments. The prototyping process that was followed is shown below. The software used to slice the part CAD files was Ultimaker Cura. With this software, I could change variables such as nozzle temperature, print bed temperature, print speed, infill percentage, layer height, use of support and use of adhesion, all depending on the requirement of the part and the filament material.

3d printing process.png
ultimaker sc.JPG

Prototyping Process

Ultimaker Cura Interface

Final Prototype and Testing

After the long process of getting all the individual components to work we were able to manufacture a working prototype at home using our own equipment. All parts were either ordered online, or manufactured by myself with my 3D printer. The final prototype utilised the SSCC. Due to ethical and safety concerns, we were only testing on simple artifical fingers that I and another group member designed. These fingers were designed using mean dimensional values of male and female fingers from studies. I used torsional springs to simulate joints, allowing the fingers to bend with a known stiffness. Even though several parts of the device were 3D printed, and COVID restrictions limited our access to equipment and funding, the device worked well and was able to plot Torque-Angle curves. These curves were logged and shown in real time on an HMI called PLX-DAQ (a Microsoft Excel add-on). Not only were we able to distinguish the difference in stiffness with these curves, but we were also able to accurately calculate the stiffnesses within a small margin of error. These marginal errors were most likely caused by dimensional innacuracies resulting from the tolerance of the 3D printer.

artifical fingers.PNG

Artificial Finger Models - Solidworks

Rheumflex bubble.PNG

Final Rheumoflex Render - Solidworks

A - Gimbal mechanism – Allows the force being applied to the finger to be transmitted to the load cell. (3D printed)

B - Hand and arm rest – Supports the patient for the duration of the test. (3D printed)

C - Lead screw linear actuator - Provides vertical and horizontal movement for axis alignment.

D - Laser pointer – Allows clinician to align dot marked on PIP joint with the axis of rotation of the motor.

E - Potentiometer – Measures the change in angle of the motor arm.

F - Load cell – Measures the force applied to the finger.

G - Circuit casing – This houses the proposed PCB and Arduino.

H - Frame – 20 x 20 mm extruded aluminium strut. Supports all components and patient’s arm.

I - Adjustable platform – Supports gimbal and laser pointer, moves in 2 directions to align with mark on PIP joint.

J - Motor – Generates the torque to move the finger.

K - MCP restraint – Isolates the PIP joint. (3D printed)

L - Motor arm – Applies torque to the finger. (3D printed)

M - Anti-vibration feet – Isolates sensitive components from environment.

N - Artificial finger – Used to test the device. (3D printed)

Project Evaluation

Overall, the project was considered a major success. This was due to the fact that we managed to build a functioning prototype and test it despite our supervisors expecting a purely theoretical project. Furthermore, all our objectives were completed. I personally, learnt many vital skills and lessons. I learnt how to lead and motivate a team, several technical skills such as coding C++ and creating high definition CAD renders, and most importantly, how to see a project through to the end. The only regret I have is that we did not have enough time to develop the product. If we were given another year, we could have potentially applied for clinical testing approval and possible even published a scientific paper based on the results.

​

IMG_0285.JPG

I can provide the final report and testing information if requested.

Rheumoflex Prototype

bottom of page