Motor Control via EMG

Motor Control via EMG

Using the Arduino microcontroller and EMG electrodes ordered online we have successfully been able to record EMG data.  For the initial test, we input electrode data from the arm instead of the leg.  

The set up consists of 4 electrodes; 2 electrodes are placed on the peak of the bicep muscle approximately .75" apart, while 2 more electrodes are placed on the peak of the primary head of the tricep muscle at similar spacing to the bicep.  Using pairs of electrodes, eliminates the need for a reference electrode.  The picture below shows why the reference electrode is not needed. The dual electrodes on each muscle also allows for a stronger signal coming from the electrodes.  

Once the data collection was sorted out, it needed to be processed.  EMG data consists of short peaks, both negative and positive, which come form countless electrochemical action potentials in the muscles.  The raw data appears as shown below.

The data is useless in this form; each peak does not sum to any substantial/detectable change in muscle effort.  In order to use EMG data, it must be put through a low pass filter.  For the purpose of this prototype, we used a 31 point sliding RMS filter.  While this filter is admittedly "low tech" our inexperience with the arduino and short amount of time led us to this imperfect solution.  Below is the same data set with the low pass filter applied.  

The difference is striking.  With the data run through even this rudimentary low pass filter, peaks and valleys are now easily distinguished.  Each peak corresponds to the bicep muscle flexing, while each valley is the relaxation between flexing.  We then attached the remaining two electrodes to the tricep and recorded data for that muscle as well.  Another processed bicep data set as well as a tricep data set are shown below.

These graphs show that the data acquisition of EMG signals has successfully been completed.  The plan is to now record both of the signals at the same time and subtract them.  To continue the example with the arm, we will subtract the tricep EMG from the bicep EMG, which should give a positive number if the bicep is being actuated and a negative number if the tricep is being actuated.  The single number output will then be used as the reference to control the speed of the motor; a positive number will drive the motor in one direction, while a negative number will drive it in the other direction.  This back and forth driving of the motor will actuate the 5-bar-geared mechanism constructed on the knee brace.