Surface electromyoagraphic (SEMG) signal acquisition-analysis-classification for the real-time control of a robotic hand

This thesis engages in a rapidly growing scientific topic - the modelling of a robotic arm that can be controlled by myoelectric signals from an individual's muscles, which could be used as an interface for robot teleoperation or motion control of a prosthetic limb. The purpose of this thesis i...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Νικολαΐδη, Βασιλική-Θεοφίλη
Άλλοι συγγραφείς: Nikolaidi, Vasiliki-Theofili
Γλώσσα:English
Έκδοση: 2022
Θέματα:
Διαθέσιμο Online:https://hdl.handle.net/10889/23459
id nemertes-10889-23459
record_format dspace
institution UPatras
collection Nemertes
language English
topic Myoelectric signals
Robotics
Pattern recognition
Real time
Random forests
Code generation
Onset detection
Shifted skew log laplace
Features
Teager-Kaiser operator
Prosthesis
Arduino
Teensy
Ensemble classification
Genetic optimization
Feature evaluation
Dimensionality reduction
Ηλεκτρομυογραφικά σήματα
Ρομποτική
Αναγνώριση προτύπων
Πραγματικός χρόνος
Παραγωγή κώδικα
Κινητική πρόσθεση
Ελάττωση διαστάσεων
Πλειοψηφική ταξινόμηση
Γενετική βελτιστοποίηση
Αξιολόγηση χαρακτηριστικών
spellingShingle Myoelectric signals
Robotics
Pattern recognition
Real time
Random forests
Code generation
Onset detection
Shifted skew log laplace
Features
Teager-Kaiser operator
Prosthesis
Arduino
Teensy
Ensemble classification
Genetic optimization
Feature evaluation
Dimensionality reduction
Ηλεκτρομυογραφικά σήματα
Ρομποτική
Αναγνώριση προτύπων
Πραγματικός χρόνος
Παραγωγή κώδικα
Κινητική πρόσθεση
Ελάττωση διαστάσεων
Πλειοψηφική ταξινόμηση
Γενετική βελτιστοποίηση
Αξιολόγηση χαρακτηριστικών
Νικολαΐδη, Βασιλική-Θεοφίλη
Surface electromyoagraphic (SEMG) signal acquisition-analysis-classification for the real-time control of a robotic hand
description This thesis engages in a rapidly growing scientific topic - the modelling of a robotic arm that can be controlled by myoelectric signals from an individual's muscles, which could be used as an interface for robot teleoperation or motion control of a prosthetic limb. The purpose of this thesis is to achieve gesture recognition of finger gestures from sEMG signals and do a feasibility study on the real-time control of a robotic hand, using low cost off-the-shelf hardware. Myoelectric signals were collected from four healthy subjects, by placing the MyoWare boards on four muscles of the forearm to detect predetermined hand gestures. The subjects were then instructed to do the predetermined gestures: moving each finger separately, making a fist, two finger pinching and grasping. These data were first processed and then classified using different supervised learning classification algorithms. Emphasis was given to achieve real time response for the robotic hand controlled by the sEMG signals. For the acquisition, analysis and processing of the sEMG signals, as well as the control of the robotic hand, a single Teensy 4.0 board was used. A new family of Teager-Kaiser Operator (TKO) based algorithms is proposed that can enhance the onset(the sEMG signal start indicating muscle contraction) and offset(the sEMG signal end indicating muscle relaxation) detection. The tested algorithms are modified versions of popular onset detection algorithms that achieved also offset detection using the proposed TKO based probability and likelihood estimation. New features that can be used for the better real-time classification of sEMG signals are also proposed. These features proved useful and outperformed commonly used features in the literature. The recognition accuracy achieved for the training set reached up to 100% in simulations using a 500ms sample window. The recognition accuracy during the hardware tests with novel signals, using a 150ms sample window, reached up to 70%. The robotic hand implemented for the realisation of the thesis was taken from the InMoov open source project and was 3D printed using PLA filament. The hand is actuated by five Tower Pro MG 946R digital servos. The developed code can be split in two main parts. The first part that deals with the analysis, simulation and training of classification algorithms is developed mainly in Python and a small part in Octave. The second part involves the robotic application of moving a robotic hand in real time based on sEMG signals and was developed in C++ 11. Finally using the csnake and MicroML Python libraries the aforementioned two parts of the code were connected by using the first part to automatically generate C++ classifier modules to be used in the latter part. Up to five such modules can be seamlessly included in the robotic application and be used in an ensemble (voting) classification scheme.
author2 Nikolaidi, Vasiliki-Theofili
author_facet Nikolaidi, Vasiliki-Theofili
Νικολαΐδη, Βασιλική-Θεοφίλη
author Νικολαΐδη, Βασιλική-Θεοφίλη
author_sort Νικολαΐδη, Βασιλική-Θεοφίλη
title Surface electromyoagraphic (SEMG) signal acquisition-analysis-classification for the real-time control of a robotic hand
title_short Surface electromyoagraphic (SEMG) signal acquisition-analysis-classification for the real-time control of a robotic hand
title_full Surface electromyoagraphic (SEMG) signal acquisition-analysis-classification for the real-time control of a robotic hand
title_fullStr Surface electromyoagraphic (SEMG) signal acquisition-analysis-classification for the real-time control of a robotic hand
title_full_unstemmed Surface electromyoagraphic (SEMG) signal acquisition-analysis-classification for the real-time control of a robotic hand
title_sort surface electromyoagraphic (semg) signal acquisition-analysis-classification for the real-time control of a robotic hand
publishDate 2022
url https://hdl.handle.net/10889/23459
work_keys_str_mv AT nikolaïdēbasilikētheophilē surfaceelectromyoagraphicsemgsignalacquisitionanalysisclassificationfortherealtimecontrolofarobotichand
AT nikolaïdēbasilikētheophilē syllogēanalysētaxinomēsēēlektromyographikōnsēmatōngiatonelenchoenosrompotikoucheriousepragmatikochrono
_version_ 1771297207512727552
spelling nemertes-10889-234592022-10-20T03:35:04Z Surface electromyoagraphic (SEMG) signal acquisition-analysis-classification for the real-time control of a robotic hand Συλλογή-ανάλυση-ταξινόμηση ηλεκτρομυογραφικών σημάτων για τον έλεγχο ενός ρομποτικού χεριού σε πραγματικό χρόνο Νικολαΐδη, Βασιλική-Θεοφίλη Nikolaidi, Vasiliki-Theofili Myoelectric signals Robotics Pattern recognition Real time Random forests Code generation Onset detection Shifted skew log laplace Features Teager-Kaiser operator Prosthesis Arduino Teensy Ensemble classification Genetic optimization Feature evaluation Dimensionality reduction Ηλεκτρομυογραφικά σήματα Ρομποτική Αναγνώριση προτύπων Πραγματικός χρόνος Παραγωγή κώδικα Κινητική πρόσθεση Ελάττωση διαστάσεων Πλειοψηφική ταξινόμηση Γενετική βελτιστοποίηση Αξιολόγηση χαρακτηριστικών This thesis engages in a rapidly growing scientific topic - the modelling of a robotic arm that can be controlled by myoelectric signals from an individual's muscles, which could be used as an interface for robot teleoperation or motion control of a prosthetic limb. The purpose of this thesis is to achieve gesture recognition of finger gestures from sEMG signals and do a feasibility study on the real-time control of a robotic hand, using low cost off-the-shelf hardware. Myoelectric signals were collected from four healthy subjects, by placing the MyoWare boards on four muscles of the forearm to detect predetermined hand gestures. The subjects were then instructed to do the predetermined gestures: moving each finger separately, making a fist, two finger pinching and grasping. These data were first processed and then classified using different supervised learning classification algorithms. Emphasis was given to achieve real time response for the robotic hand controlled by the sEMG signals. For the acquisition, analysis and processing of the sEMG signals, as well as the control of the robotic hand, a single Teensy 4.0 board was used. A new family of Teager-Kaiser Operator (TKO) based algorithms is proposed that can enhance the onset(the sEMG signal start indicating muscle contraction) and offset(the sEMG signal end indicating muscle relaxation) detection. The tested algorithms are modified versions of popular onset detection algorithms that achieved also offset detection using the proposed TKO based probability and likelihood estimation. New features that can be used for the better real-time classification of sEMG signals are also proposed. These features proved useful and outperformed commonly used features in the literature. The recognition accuracy achieved for the training set reached up to 100% in simulations using a 500ms sample window. The recognition accuracy during the hardware tests with novel signals, using a 150ms sample window, reached up to 70%. The robotic hand implemented for the realisation of the thesis was taken from the InMoov open source project and was 3D printed using PLA filament. The hand is actuated by five Tower Pro MG 946R digital servos. The developed code can be split in two main parts. The first part that deals with the analysis, simulation and training of classification algorithms is developed mainly in Python and a small part in Octave. The second part involves the robotic application of moving a robotic hand in real time based on sEMG signals and was developed in C++ 11. Finally using the csnake and MicroML Python libraries the aforementioned two parts of the code were connected by using the first part to automatically generate C++ classifier modules to be used in the latter part. Up to five such modules can be seamlessly included in the robotic application and be used in an ensemble (voting) classification scheme. Το αντικείμενο αυτής της διπλωματικής ασχολείται με ένα ταχύτατα αναπτυσσόμενο θέμα - τη μοντελοποίηση ενός ρομποτικού βραχίονα χρησιμοποιώντας ηλεκτρομυογραφικά σήματα από του μυς ενός ατόμου, που θα μπορούσε να χρησιμοποιηθεί ως διεπαφή για ρομποτική τηλεχειρισμό ή έλεγχο κίνησης ενός προσθετικού άκρου. Ο σκοπός της διπλωματικής είναι η επίτευξη αναγνώρισης κινήσεων από επιφανειακά ηλεκτρομυογραφικά σήματα και η μελέτη εφικτότητας του ελέγχου ενός ρομποτικού χεριού σε πραγματικό χρόνο, χρησιμοποιώντας χαμηλού κόστους υλικά. Τα ηλεκτρομυογραφικά σήματα συλλέχθηκαν από τέσσερα υγιή άτομα ηλικίας 22-28 ετών, τοποθετώντας αισθητήρες MyoWare σε τέσσερις μυς του πήχη (Extensor Digitorum Communis, Flexor Digitorum Superficialis/Sublimis και Brachioradialis) με στόχο την ανίχνευση προκαθορισμένων κινήσεων του χεριού. Η ακριβής τοποθέτηση των ηλεκτροδίων έγινε πάνω στη γαστέρα του μυός, λόγω της μεγάλης πυκνότητας μυϊκών ινών. Έπειτα, ζητήθηκε από τα άτομα που συμμετείχαν να κάνουν τις παρακάτω προκαθορισμένες κινήσεις: κίνηση κάθε δακτύλου ξεχωριστά, γροθιά, τσίμπημα με δύο δάχτυλα (τον αντίχειρα και τον δείκτη) και πιάσιμο ενός μπουκαλιού. Η δειγματοληψία έγινε με συχνότητα 1 KHz, και από κάθε άτομο και για κάθε κίνηση συλλέχθηκαν 8 σήματα, 256 στο σύνολό τους. Αφού πρώτα έγινε επεξεργασία και κανονικοποίηση των δεδομένων, ταξινομήθηκαν χρησιμοποιώντας διάφορους αλγόριθμους ταξινόμησης επιβλεπόμενης μάθησης. Οι αλγόριθμοι που χρησιμοποιήθηκαν είναι οι Random Forest, Support Vector Machine (SVM) και Relevance Vector Machine (RVM). Προτάθηκε μια καινούργια οικογένεια αλγορίθμων που βασίζεται στον τελεστή Teager – Kaiser Operator (TKO) και μπορεί να ενισχύσει την ανίχνευση της απαρχής (onset) και της απόληξη (offset) των σημάτων. Η απαρχή ορίζεται ως η χρονική στιγμή που το ηλεκτρομυογραφικό σήμα υποδεικνύει σύσπαση του μυός, ενώ η απόληξη ως η χρονική στιγμή όπου το ηλεκτρομυογραφικό σήμα υποδεικνύει χαλάρωση. Οι αλγόριθμοι που δοκιμάστηκαν, και είναι τροποποιημένες εκδόσεις γνωστών αλγορίθμων ανίχνευσης της απαρχής σήματος, επιτυγχάνουν επίσης και αναγνώριση απόληξης χρησιμοποιώντας τη προτεινόμενη εκτίμηση πιθανότητας και πιθανοφάνειας βασισμένη στον TKO. Υλοποιήθηκαν και χρησιμοποιήθηκαν χαρακτηριστικά του πεδίου χρόνου, λόγω του ευκολότερου και ταχύτερου υπολογισμού τους, αφού υπολογίζονται καθώς λαμβάνονται νέα δείγματα και εκμεταλλεύονται έτσι τον κενό χρόνο του επεξεργαστή κατά την δειγματοληψία. Επίσης προτάθηκαν νέα χαρακτηριστικά τα οποία μπορούν να χρησιμοποιηθούν για την καλύτερη ταξινόμηση πραγματικού χρόνου των ηλεκτρομυογραφικών σημάτων. Αυτά τα χαρακτηριστικά ξεπέρασαν σε επίδοση αρκετά από τα ήδη υπάρχοντα και συχνά χρησιμοποιούμενα στη βιβλιογραφία. Αξιολογώντας όλα τα χαρακτηριστικά ανά συνδυασμούς τεσσάρων χαρακτηριστικών και για όλους τους ταξινομητές, βρέθηκε ότι τα χαρακτηριστικά Relative Amplitude (RA), Autoregressive Coefficients 5ης τάξης (AR5), Sample Entropy, και Approximate Entropy υπερτερούν όλων των άλλων χαρακτηριστικών που διερευνήθηκαν. Τα αποτελέσματα του Random Forest και του SVM ήταν παραπλήσια, ενώ διέφεραν αρκετά από αυτά του RVM. Ορισμένα χαρακτηριστικά που είχαν μέτρια επίδοση για τον Random Forest και τον SVM, για τον RVM είχαν υψηλή επίδοση. Για την επιλογή των καταλληλότερων χαρακτηριστικών, υλοποιήθηκαν διάφοροι αλγόριθμοι αυτόματης επιλογής, ο κύριος αλγόριθμος όμως που χρησιμοποιήθηκε είναι της γενετικής βελτιστοποίησης, λόγω του ότι εκτελεί κοινή βελτιστοποίηση των χαρακτηριστικών, του αριθμού των χαρακτηριστικών και των παραμέτρων των ταξινομητών. Δόθηκε έμφαση στην επίτευξη απόκρισης πραγματικού χρόνου για το, ελεγχόμενο από ηλεκτρομυογραφικά σήματα, ρομποτικό χέρι. Για την συλλογή, ανάλυση και επεξεργασία των σημάτων, καθώς και για τον έλεγχο του βραχίονα, χρησιμοποιήθηκε ένας μικροελεγκτής Teensy 4.0. Η ακρίβεια αναγνώρισης που επιτεύχθηκε για το σετ εκπαίδευσης έφτασε μέχρι και 100% στις προσομοιώσεις, χρησιμοποιώντας παράθυρο δειγμάτων 500 ms. Οι δοκιμές με άγνωστα σήματα πραγματοποιήθηκαν σε ένα άτομο, με 10 επαναλήψεις ανά κίνηση και για συνολικά 10 σετ επαναλήψεων. Χρησιμοποιήθηκαν τρεις ταξινομητές, ένας SVM και δύο Random Forest με διαφορετικά χαρακτηριστικά. Η ακρίβεια αναγνώρισης του hardware υλικού σε άγνωστα σήματα, χρησιμοποιώντας παράθυρο 150 ms και εποχή 75 ms, έφτασε μέχρι και το 70%, ενώ η μέση ακρίβεια στα 10 σετ επαναλήψεων ήταν 58%. Το μικρό αυτό ποσοστό μέσης ακρίβειας οφείλεται στο γεγονός ότι δύο κινήσεις, η γροθιά και το τσίμπημα, ανιχνεύονταν τις περισσότερες φορές ως κίνηση του μέσου και του δείκτη αντίστοιχα. Βρέθηκε ότι η μέση ακρίβεια αναγνώρισης για συνδυασμούς οποιονδήποτε τεσσάρων χαρακτηριστικών δεν επηρεάζεται σημαντικά από το μήκος υπολογισμού των χαρακτηριστικών, ενώ ο αντίκτυπος της ελάττωσης διαστάσεων, χρησιμοποιώντας Principal Component Analysis (PCA), ήταν μέτριος και διέφερε μεταξύ των ταξινομητών. Ο Random Forest είχε τη μεγαλύτερη ακρίβεια και τη μεγαλύτερη εξάρτηση από την ελάττωση διαστάσεων, ο SVM είχε μέση ακρίβεια και μέση εξάρτηση, και ο RVM είχε την ελάχιστη ακρίβεια αλλά και την ελάχιστη εξάρτηση. Από τα αποτελέσματα εκτιμάται ότι ο RVM είναι ο ταξινομητής που υποφέρει λιγότερο από υπερμοντελοποίηση σε σχέση με του υπόλοιπους που χρησιμοποιήθηκαν. Η συνολική καθυστέρηση που επιτεύχθηκε ήταν μικρότερη των 160 ms, με τις δυνατότητες του λογισμικού να είναι μικρότερες των 60 ms. Ο χρόνος υπολογισμού των χαρακτηριστικών υπολογίστηκε από 0.1-2 ms, ενώ οι χρόνοι υπολογισμού των ταξινομητών διαφέρουν. Ο Random Forest είχε τυπική καθυστέρηση 3 ms, ο RVM είχε 5 ms, και ο SVM είχε 50 ms. Με δεδομένο από την βιβλιογραφία, ότι καθυστερήσεις από 100 έως και 175 ms είναι ιδανικές για τέτοιες εφαρμογές, ο σκοπός της διπλωματικής για λειτουργία σε πραγματικό χρόνο επιτεύχθηκε. Ο ρομποτικός βραχίονας που κατασκευάστηκε στα πλαίσια της διπλωματικής έχει παρθεί από το έργο ανοικτού κώδικα InMoov και έγινε η τρισδιάστατη εκτύπωση του με νήμα PLA. Τα δάκτυλα κινούνται μέσω πέντε TowerPro MG 946R ψηφιακών σερβομηχανισμών. Στην διάταξη του κυκλώματος χρησιμοποιήθηκε κι ένας αισθητήρας ρεύματος Hall, για την μέτρηση του ρεύματος που περνάει από τους σερβομηχανισμούς με σκοπό αφενός την προστασία τους και αφετέρου τον υπολογισμό ανάδρασης, που τελικά δεν υλοποιήθηκε. Ο κώδικας που αναπτύχθηκε μπορεί να χωριστεί σε δύο κατηγορίες. Η πρώτη κατηγορία ασχολείται με την ανάλυση, τη προσομοίωση και την εκπαίδευση των αλγορίθμων ταξινόμησης, και έχει αναπτυχθεί κυρίως σε Python και ένα μικρό κομμάτι σε Matlab. Η δεύτερη κατηγορία είναι ο ενσωματωμένος κώδικας που συμπεριλαμβάνει τον έλεγχο της κίνησης ενός ρομποτικού χεριού σε πραγματικό χρόνο βασισμένο σε ηλεκτρομυογραφικά σήματα, και αναπτύχθηκε σε C++11 (περιβάλλον Arduino) για τη χρήση του στον μικροελεγκτή Teensy 4.0. Χρησιμοποιώντας τις βιβλιοθήκες csnake και MicroML της Python, οι δύο προαναφερόμενες κατηγορίες κώδικα διασυνδέθηκαν, χρησιμοποιώντας κώδικα της πρώτης κατηγορίας για την αυτόματη παραγωγή κώδικα C++ για τους ταξινομητές, που χρησιμοποιούνται στον ενσωματωμένο κώδικα. Μπορούν να συμπεριληφθούν μέχρι και πέντε τέτοιοι ταξινομητές στην ρομποτική εφαρμογή και να χρησιμοποιηθούν ως μία πλειοψηφική συστοιχία ταξινομητών. 2022-10-19T08:16:15Z 2022-10-19T08:16:15Z 2021-10-12 https://hdl.handle.net/10889/23459 en application/pdf application/pdf