Development of Surface-EMG Based Single Finger Movement Identification and Control for a Bionic Arm

Bionic arm is a robotic arm that offers many of human arm features such as hand grasp and release, flexionextension, elbow flexion-extension, supination-pronation etc. which is integrated with the nervous system and controlled by Electromyogram signals. Invasive and non-invasive methods are used to collect the EMG signal from amputees. In spite of difficulty caused by invasive methods, non-invasive methods are being opted in today's recent Bionic Arms. To overcome the some drawbacks of non-invasive methods proper classification algorithms has to be chosen for controlling individual finger movements in Bionic Arm. In this paper, initially various feature extraction; reduction and classification algorithms are implemented on EMG data of different subjects which is available from Ninapro database. From the results obtained, MAV algorithm for feature extraction, PCA algorithm for feature reduction and KNN algorithm for feature classification are chosen since they gave more accuracy compared to others after implementing on EMG data of different subjects. By employing this algorithms 95% accuracy is achieved for controlling individual finger movements in Bionic Arm. Response time between grasp and release actions of fingers in Bionic Arm obtained after implementing on processor is less than 1ms. Development of Surface-EMG Based Single Finger Movement Identification and Control for a Bionic Arm


Introduction
Bionic arm combines robotics, biotechnology, and electronics to recreate the functions of the human arm. The purpose of the bionic arm is to improve the quality of life for amputee who last hand due to accidents, electric shock, health issues etc. [1]. There has been number of robotic hands developed that subscribes to different level of anthropomorphism. The main constraints faced in this process are the difficulty to handle or use because of the weight or size of the robotic hand. The human hands are the chief organs which can be used for grasping and picking of the objects of different sizes etc. It is versatile in its interaction and imitating those versatilities design of bionic arm is a huge challenge and it requires great depth of understanding the human upper limb physiology. Different types of existing Bionic Arms are Utah Bionic Arm, Boston Bionic Arm, Otto Bock Bionic Arm and DARPA Bionic Arm. Existing bionic arms have various drawbacks such as very expensive, heavy, electric/pneumatic and they require EMG, ECG and EEG feedback intelligence.
The number of amputees in worldwide are estimated to be around 650 million and around 80 percent of people with disabilities live in developing countries, with largest number living in Asia. India is home to 60 million disabled people. Causes leading to amputation are cardiovascular disease, traumatic accidents, infection tumours, nerve injury and congenital anomalies. Among upper limb amputees, Below Elbow (38.36%) was the level of amputation followed by Above Elbow (35.02%) and Partial hand amputation (13.64%) and other amputations (12.98%) [2]. The cost of an ordinary artificial limb (e.g., Jaipur foot) which is rustic, non-flexible and provides no natural limb characteristics is around $40 whereas a completely automated and highly advanced limb which almost replicates human limb functionality costs around $25,000 -40,000. India, being a developing country with nearly 40% of its population below poverty line cannot afford such expensive automated limb. Hence there is an acute need for the development of a low cost, automated artificial limb with appropriate classification techniques.
A surface EMG signal is a biomedical signal that measures electrical currents generated by the skeletal muscles during its contraction exhibiting neuromuscular activities. The objective of surface EMG signal is to extract meaningful features which can find their use in myoelectric control systems for robots. Myoelectric control is the most widely used approach for the control of prosthetic hand. When used as control input, the myoelectric signal has dominated because it has several advantages over other types on input. Among those advantages, detection of the signal on the skin surface without any injury for the patient is of more important and prosthetic hand can be controlled by the small magnitude EMG signal [3]. EMG signal is stochastic and its amplitude ranges from 0 to 1.5 mV. Its usable energy lies in between 0 and 500 Hz frequencies and is dominant in the 50 to 150 Hz range. Invasive and non-invasive methods are used to collect EMG signal. In invasive methods EMG signal is collected by inserting needle in to the skin whereas in non-invasive methods surface EMG electrodes are placed on the surface of the skin to collect the EMG signal which is being employed in recent Bionic Arms. EMF signal collected by noninvasive method is not accurate due to various factors such as thickness of skin, distance between electrode and target muscle area and so on. Therefore to overcome the drawback of non-invasive methods proper classification algorithms has to be chosen. This paper demonstrates the real time sEMG based single finger movement identification and control for a Bionic Arm. For identification of single finger movements, there is a need of proper algorithms for feature extraction, reduction and classification.
Basic black diagram of bionic arm based on EMG signal is shown in Figure 1. EMG data is collected by placing SEMG electrodes on the surface of the skin. Collected EMG data is fed in to the instrumentation amplifier to amplify the collected signal from subject. Analog signal is converted in to the digital signal by using A/D convertor. The converted digital signal is processed using different algorithms such as feature extraction, reduction and classification. Thus Bionic Arm is controlled based on the classified data [4].

EMG data acquisition system and instrumentation amplifier
Data acquisition system is used to acquire sEMG signal from residual muscles of the amputee. This sEMG signal are amplified using instrumentation amplifier. Inbuilt bandpass filter are used to remove the artifacts in the sEMG signal. The signals are extracted accurately by placing electrodes properly on respective muscles. The extracted EMG signal is hindered by the noise hence filters after differential amplifier are used to reduce effect of noise in sEMG signal.

Pre-processing
Surface-EMG (sEMG) signals must be pre-processed for myoelectric control since various factors such as arm movement, position where the sensor is placed and many others determine the complexity of SEMG signal. Due to the small amplitude of the SEMG signal, the accuracy of the acquired signal is affected by noise therefore several methods such has detection of onset of Movement have been developed to process the signal used in myoelectric control. In this method detects the presence of an event by applying a test function to the conditioned signal and the second refines the estimation of the exact change time. Most commonly used onset movement detection is the generalized likelihood ratio method seems to be more robust than the other methods [5].

Feature extraction unit
The presence of huge samples of data in acquired EMG signal, the implementation of algorithm is impractical because bionic arm should control less than 1 ms. Noise, randomness of the signal and the larger dimension of the input vector are few of the real problems in an EMG based bionic arm control system, especially when using embedded platform with limited resources [3]. The length of the input vector has to be reduced because they must meet the real time constraints. Feature extraction unit reduces the size of the input data by emphasizing the relevant information in EMG signal while rejecting irrelevant data. Various features can be extracted by employing different feature extraction techniques such as Root Mean Square, Mean Absolute Value, Integrated Absolute Value, Waveform Length, Auto Regressive Model etc. For the control of finger movement in Bionic Arm, Mean Absolute Value (MAV) (Eq.1) feature extraction technique is selected for extracting meaningful information from the raw data. This method determine the cumulative changes in amplitude from one sample to another sample over the entire period [6]: Where, i = 1, 2, 3,…,S is the segment number; S is the number of samples and x m is the m th sample in segment i.

Feature reduction unit
Feature reduction techniques are generally employed to increase the accuracy and precision of feature classification. This method conserves the relevant information as much as possible by reducing the dimensions of input signal. In sEMG based Bionic Arm for finger movement control, PCA technique is applied for feature reduction. This method is more effective in feature reduction by reducing the complexity in resulting feature space and rejecting linear dependencies among data. Principal component analysis design flow are shown in Figure 2.

Feature classification unit
Feature classification techniques are generally employed to classify the test data among training data. Classification is performed on the data obtained after feature reduction. There exist several classification techniques such as LDA, SVM, KNN, ANN, Random Forest, Decision Tree etc. Among those techniques, KNN is opted for controlling finger movements in Bionic Arm. The KNN algorithm is a method for classify the signal based on nearest training sample. This method is the simplest among all the machine learning methods. KNN is a method for classifying objects based on closest training examples in the feature space [7][8][9][10].

EMG Data Acquistion Implementation of Signal Processing Algorithms Using MATLAB
Initially starts with the reading of recorded SEMG data and  pre-processed by different techniques such as onset movement detection, feature extraction, reduction and classification. After reading recorded SEMG data, feature extraction is performed on that data to extract meaningful information from the raw EMG signal while rejecting irrelevant data and noise. Further feature reduction is performed on the extracted data.
Test data is given and feature extraction is performed on that data followed by feature reduction. Finally classification is performed to classify the test data and obtain the class to which it belongs from the training data.
• Create data base for the amputee by performing multiple actions with the five fingers.

•
Consider the index of respective finger i.e., index finger since it has two indices for extension and flexion.
• Assign class to each action i.e., 1 for flexion and 2 for extension.

•
Apply the feature extraction technique individually for each action to extract the data.

•
Apply feature reduction if the data size is huge.
• Give the test data from the data base and apply feature extraction to that data followed by feature reduction.

•
Now apply feature classification technique to classify the test data from the training data and to obtain class of test data.

•
Accuracy of obtained class can be obtained from the confusion matrix.

Implementation on Tms320c6713 DSK Processor
For this application, low-cost and high precision TI's TMS320C6713 DSK development platform is selected. This platform similar to TI´s TMS320C6000 floating point DSK.

Implementation of Signal Processing Algorithms Using Simulink
The Simulink Tool consists of TMSC6713 supporting blocks. The blocks for implementing real time control system for Bionic Arm are available in embedded coder toolbox. The developed Simulink model is shown in Figure 4. In developed Simulink Model the signal processing algorithms such as feature extraction, feature reduction and feature classification are all implemented in "Embedded MATLAB Function" block present in embedded coder toolbox. This is easily implemented and code generation is done successfully.
Initially it starts with the storing and reading data base of subject. Training data of index finger flexion and extension actions is given separately followed by extracting respective features using windowing techniques and MAV feature extraction algorithm. Feature extracted data of both the actions is combined and class is assigned to that data.
Test data is given and extraction is done using MAV feature extraction algorithm. Finally KNN feature classification is performed to obtain class of test data. Among the class obtained for test data, majority one is considered to be the final class of test data.
C6713 DSK and C6713 DSK LED are placed in the developed Simulink Model to port it to the processor and observe output on LED. LED is connected to the final output block. For flexion test data first LED will glow and for extension test data second LED will glow

Hardware Implementation Setup
Initially the hardware setup for implementing finger movement control in Bionic Arm is shown in Figure 5. The complete details of interfacing are explained in below section.
The signal processing algorithms are implemented in Simulink are loaded to processor through JTAG Emulator Interface. The collected EMG signal from patient is stored in memory present in processor are used has training data. Has testing data received the feature extraction and classification of the data are executed in processor and based on the classified result LEDS present in processor and bionic arm which is interfaced to processor are controlled.

Results and Discussion
The developed code is tested with various designed test cases on      EMG data of different subjects for index finger flexion and extension actions.
Raw EMG data of all fingers with 12 different actions and MAV feature extracted data of index finger flexion and extension of subject is shown in Figure 6a. From Figures 6b and 6c one can understand that after applying feature extraction algorithm data size and time will be reduced by eliminating noise and irrelevant data. Accuracy obtained by using MAV for feature extraction, PCA for feature reduction and KNN for feature classification algorithm on EMG data for index finger flexion and extension actions control is shown in Table 1.

Processor results
The developed Bionic Arm with finger movement control is explained in section-II is tested for various sets of EMG data and feature extraction and classification algorithms in real time.
To interface host computer to target C6713 DSK board the SDconfig and SDconfigEx utilities are used which are windows GUI based utilities. This utilities are used to test whether required software tool is installed properly and to assure the hardware tool chain is functional. The utilities also helps to determine target C6713 DSK board is responding to given commands.
The developed Simulink Model for finger movement control in Bionic Arm is dumped on the C6713 Processor. It will generate the code using CCS. The generated code is debugged and builds again for errors evaluation in Code Composer Studio. After build it is further linked to the C6713 DSK using XDS510 USB JTAG Emulator to dump the code in binary format. After successful building of project output is displayed through C6713 DSK LED which is placed in the developed Simulink Model. If the test data is of index finger flexion action then first LED will be glowing else second LED will glow as shown below.
To implement it on the Bionic Arm, motors has to be interfaced to the LED pins and programmed in such a way that if test is of flexion then motor has to rotate in clock wise as shown in Figure 7a else in anticlock wise direction as shown in Figure 7b.

Future Work
The implemented Bionic Arm with single finger movement control is specific to biomedical applications which can be further extended, below are few recommendations for future work: • Feedback has to be introduced so that amputees feel the Bionic Arm as part of their body by placing pressure sensors on the tip of the fingers.

•
Degrees of freedom can be increased from flexion and extension to grasping and functional movements and algorithms can be developed for various grip modes.

Conclusion
In this paper, Bionic Arm with finger movement control is developed and implemented on MATLAB, C6713 DSP processor. Initially system is implemented in MATLAB with various feature extraction and classification techniques. Algorithms are implemented using machine learning method and accuracy of classification is obtained. Mean Absolute Value and KNN techniques are used for feature extraction and feature classification since they gave better percentage of accuracy up to 97.53%. The developed application is tested using designed test cases and all the results are documented for various test scenarios.
The developed system is implemented on TMS320C6713 DSP processor by creating Simulink Model for the developed MATLAB code. From the developed Simulink Model, C code is generated by embedded coder and in CCS C code generated which is dumped on to the processor through JTAG Emulator. Output is seen through LED blinking and bionic arm will perform the desired action based on EMG signal (test data) and time taken for processing is very less than 1ms. Developed Bionic Arm with finger movement control can be used by the amputees to perform required actions in their daily life without any hesitation.