Skip to main content

Progress Report 8 (4/03/19)

Posted by on Tuesday, April 2, 2019 in Notebook.

Previous Goals

Last week, we wanted to continue working on the algorithm, implementing the buffer management system and beginning to implement the differential algorithm. We also sought to determine the relationship between pulse widths and servo angles and whether or not the servo returns to a “set point” when no pulses are sent. In terms of hardware repairs, we wanted to send the arm to Ottobock for repairs and replace the LED shield on the Myoware. Finally, we wanted to finalize the relationship between hand angle and EMG input for gesture transformation.

 

Work Accomplished

To address hardware issues described in the last report, two more LED shields were purchased, as well as, two more myoware sensors and more electrodes. The new myoware sensors were implemented and adjusted to fit into the current hardware schemes. We are currently waiting on the shields to be delivered. A scheme was prepared whereby these shields will be removable from the system in order to prevent complications with header failure as was previously observed. A new cage, more fitted to the prosthetic with an enclosed lid was also developed and sent off for printing.

Each human testing subject was mapped to observe hand angle variations across subjects with constant percent contractions for both flexion and extension. After observing the variations in range of motion that existed across subjects, and understanding that the prosthetic hand has a fixed range of motion, we decided to move forward to mapping percent contraction to the incoming EMG signals. Each subject’s efforts were made consistent by mapping hand location during testing to predetermined percent efforts for each individual participant. This was utilized in the gesture classifier testing described below.

The embedded systems code for low pass filtering, buffer management, and mean absolute value calculations using a sliding window were implemented and tested. The low pass filtering was shown to be successful, so this segment was marked as complete. The buffer management and mean absolute value processing appeared to be working, but future testing is required to validate completely. A simple logistics machine learning classifier was written and trained in Matlab using training sets from our test subjects with four data trials each. A linear piecewise function was chosen as the optimal method for translating MAV to contraction level.

The servo motor behavior was observed further through manual manipulation of pulse widths, with ultimate success being found with a preformed arduino library that allows for the pulse width being sent to the microcontroller to be dictated in microseconds. This allows for the control that was needed in order to implement the PID. The angle achieved by the servo motor was mapped to the percent contraction or percent effort of the patient as determined by the gesture classifier by fitting a linear relationship. The PID will be demonstrated by inducing the inverse control system in the servo motor than what would be expected from the prosthetic hand due to the limitations in the current servo control scheme.

Work Backlog/What Went Wrong

  • The new 3D printed cage that we designed and submitted to the Wondry has not yet been printed
  • Our test subject pool has been decreased to three due to physiological limitations
  • Ordered materials ( LED shield, and more electrodes) have still not arrived
    • The data was harder to collect due to desensitization of myoware sensors

Plans for Next Week/How to Accomplish

  • Implement code on servo motor
  • Implement received hardware in new removable schematic
  • Validate buffer management system and MAV processing in real-time
  • Implement, test, and validate classifier function
  • Begin documentation of software and hardware components