Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: Απόκτηση σήματος
- Βήμα 2: Απλοποιημένο σήμα
- Βήμα 3: Επεξεργασία σημάτων
- Βήμα 4: Διαγράμματα
- Βήμα 5: Τοποθέτηση αισθητήρων ΗΜΓ
- Βήμα 6: Κωδικός
- Βήμα 7: Αποτελέσματα
Βίντεο: Ρομποτικός έλεγχος χεριών με ΗΜΓ: 7 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Αυτό το έργο δείχνει τον έλεγχο του ρομποτικού χεριού (χρησιμοποιώντας χέρι ανοιχτής πηγής inMoov) με 3 συσκευές ανοίγματος πηγής uECG που χρησιμοποιούνται για τη μέτρηση και επεξεργασία μυϊκής δραστηριότητας (ηλεκτρομυογράφημα, ΗΜΓ). Η ομάδα μας έχει μια μεγάλη ιστορία με τα χέρια και τον έλεγχό τους, και αυτό είναι ένα καλό βήμα προς τη σωστή κατεύθυνση:)
Προμήθειες
3x συσκευές uECG1x Arduino (χρησιμοποιώ το Nano αλλά οι περισσότεροι θα λειτουργούσαν) 1x nRF24 module (οποιοδήποτε γενικό θα έκανε) 1x PCA9685 ή παρόμοιο σερβο οδηγό 5Α ή περισσότερο ρεύμα
Βήμα 1: Απόκτηση σήματος
Ο έλεγχος βασίζεται στην ΗΜΓ - ηλεκτρική δραστηριότητα των μυών. Το σήμα ΗΜΓ λαμβάνεται από τρεις συσκευές uECG (ξέρω, υποτίθεται ότι είναι μια οθόνη ΗΚΓ, αλλά επειδή βασίζεται σε ένα γενικό ADC, μπορεί να μετρήσει τυχόν βιοσήματα - συμπεριλαμβανομένου του ΗΜΓ). Για την επεξεργασία ΗΜΓ, το uECG διαθέτει μια ειδική λειτουργία στην οποία στέλνει δεδομένα φάσματος 32 κάδων και μέσο όρο "παράθυρο μυών" (μέση φασματική ένταση μεταξύ 75 και 440 Hz). Οι εικόνες φάσματος μοιάζουν με μπλε-πράσινα μοτίβα που αλλάζουν με την πάροδο του χρόνου. Εδώ η συχνότητα βρίσκεται σε κάθετο άξονα (σε κάθε ένα από 3 γραφήματα, χαμηλή συχνότητα στο κάτω μέρος, υψηλή στο επάνω μέρος - από 0 έως 488 Hz με βήματα ~ 15 Hz), ο χρόνος είναι οριζόντιος (παλιά δεδομένα στα αριστερά συνολικά εδώ είναι περίπου 10 δευτερόλεπτα στην οθόνη). Η ένταση κωδικοποιείται με χρώμα: μπλε - χαμηλό, πράσινο - μεσαίο, κίτρινο - υψηλό, κόκκινο - ακόμη υψηλότερο.
Βήμα 2: Απλοποιημένο σήμα
Για αξιόπιστη αναγνώριση χειρονομίας, απαιτείται σωστή επεξεργασία αυτών των φασματικών εικόνων με υπολογιστή. Αλλά για απλή ενεργοποίηση ρομποτικών δακτύλων χεριών, αρκεί να χρησιμοποιήσετε μόνο τη μέση τιμή σε 3 κανάλια - το uECG το παρέχει βολικά σε ορισμένα bytes πακέτων, ώστε το σκίτσο Arduino να μπορεί να το αναλύσει. Αυτές οι τιμές φαίνονται πολύ πιο απλές - έχω επισυνάψει ένα γράφημα ακατέργαστων τιμών από το Serial Plotter του Arduino. Τα κόκκινα, πράσινα, μπλε γραφήματα είναι ακατέργαστες τιμές από 3 συσκευές uECG σε διαφορετικές ομάδες μυών όταν πιέζω τον αντίχειρα, το δαχτυλίδι και τα μεσαία δάχτυλα αντίστοιχα. Για το μάτι μας, αυτές οι περιπτώσεις είναι σαφώς διαφορετικές, αλλά πρέπει να μετατρέψουμε αυτές τις τιμές σε "βαθμολογία δακτύλων" με κάποιο τρόπο, έτσι ώστε ένα πρόγραμμα να μπορεί να εξάγει τιμές σε servos χειρός. Το πρόβλημα είναι ότι τα σήματα από μυϊκές ομάδες είναι "μικτά": στην 1η και 3η περίπτωση η ένταση του μπλε σήματος είναι περίπου η ίδια - αλλά το κόκκινο και το πράσινο είναι διαφορετικά. Στη 2η και 3η περίπτωση τα πράσινα σήματα είναι τα ίδια - αλλά το μπλε και το κόκκινο είναι διαφορετικά.
Βήμα 3: Επεξεργασία σημάτων
Για να "αναμίξω" αυτά τα σήματα, χρησιμοποίησα έναν σχετικά απλό τύπο:
S0 = V0^2 / ((V1 * a0 +b0) (V2 * c0 +d0)), όπου S0 - βαθμολογία για το κανάλι 0, V0, V1, V2 - ακατέργαστες τιμές για τα κανάλια 0, 1, 2 και a, b, c, d - συντελεστές που ρύθμισα χειροκίνητα (οι a και c ήταν από 0,3 έως 2,0, b και d ήταν 15 και 20, θα πρέπει να τους αλλάξετε για να προσαρμοστούν ούτως ή άλλως για τη συγκεκριμένη θέση αισθητήρα). Η ίδια βαθμολογία υπολογίστηκε για τα κανάλια 1 και 2. Μετά από αυτό, τα γραφήματα διαχωρίστηκαν σχεδόν τέλεια. Για τις ίδιες χειρονομίες (αυτή τη φορά ο δακτύλιος, ο μέσος και στη συνέχεια ο αντίχειρας) τα σήματα είναι σαφή και μπορούν εύκολα να μεταφραστούν σε σερβο κινήσεις μόνο με σύγκριση με το κατώφλι
Βήμα 4: Διαγράμματα
Τα σχήματα είναι αρκετά απλά, χρειάζεστε μόνο μονάδα nRF24, PCA9685 ή παρόμοιο ελεγκτή I2C PWM και τροφοδοτικό υψηλής τάσης 5V που θα ήταν αρκετό για να μετακινήσετε όλα αυτά τα servos ταυτόχρονα (άρα απαιτεί τουλάχιστον 5Α ονομαστική ισχύ για σταθερή λειτουργία).
Κατάλογος συνδέσεων: nRF24 pin 1 (GND) - Arduino's GNDnRF24 pin 2 (Vcc) - Arduino's 3.3vnRF24 pin 3 (Chip Enable) - Arduino's D9nRF24 pin 4 (SPI: CS) - Arduino's D8nRF24 pin 5 (SPI: SCK) - Arduino's D13nRF24 pin 6 (SPI: MOSI) - Arduino's D11nRF24 pin 7 (SPI: MISO) - Arduino's D12PCA9685 SDA - Arduino's A4PCA9685 SCL - Arduino's A5PCA9685 Vcc - Arduino's 5vPCA9685 GNDPCA9685 Κανάλια PCA 0-4, στον αντίχειρά μου - αντίχειρα - κανάλι 0, δείκτης - κανάλι 1 κ.λπ.
Βήμα 5: Τοποθέτηση αισθητήρων ΗΜΓ
Για να λάβετε λογικές αναγνώσεις, είναι σημαντικό να τοποθετήσετε συσκευές uECG, οι οποίες καταγράφουν μυϊκή δραστηριότητα, στα σωστά σημεία. Ενώ πολλές διαφορετικές επιλογές είναι δυνατές εδώ, η κάθε μία απαιτεί διαφορετική προσέγγιση επεξεργασίας σήματος - οπότε με τον κώδικά μου είναι καλύτερο να χρησιμοποιώ τοποθέτηση παρόμοια με τις φωτογραφίες μου. Μπορεί να είναι αντι -διαισθητικό, αλλά το σήμα των μυών του αντίχειρα είναι καλύτερα ορατό στην αντίθετη πλευρά του βραχίονα, έτσι ένας από τους αισθητήρες τοποθετείται εκεί, και όλοι τους τοποθετούνται κοντά στον αγκώνα (οι μύες έχουν το μεγαλύτερο μέρος του σώματός τους σε αυτήν την περιοχή, αλλά θέλετε να ελέγξετε πού βρίσκονται ακριβώς οι δικοί σας - υπάρχει αρκετά μεγάλη ατομική διαφορά)
Βήμα 6: Κωδικός
Πριν από την εκτέλεση του κύριου προγράμματος, θα πρέπει να μάθετε τα αναγνωριστικά μονάδας των συγκεκριμένων συσκευών σας uECG (αυτό γίνεται χωρίς να σχολιάσετε τη γραμμή 101 και να ενεργοποιήσετε τις συσκευές μία προς μία, θα δείτε το αναγνωριστικό της τρέχουσας συσκευής μεταξύ άλλων) και να τις συμπληρώσετε πίνακας unit_ids (γραμμή 37). Εκτός από αυτό, θέλετε να παίξετε με συντελεστές τύπου (γραμμές 129-131) και να ελέγξετε πώς φαίνεται στο σειριακό σχεδιαστή πριν το συνδέσετε στο ρομποτικό χέρι.
Βήμα 7: Αποτελέσματα
Με μερικά πειράματα που χρειάστηκαν περίπου 2 ώρες, μπόρεσα να κάνω αρκετά αξιόπιστη λειτουργία (το βίντεο δείχνει μια τυπική περίπτωση). Συμπεριφέρεται όχι τέλεια και με αυτήν την επεξεργασία μπορεί να αναγνωρίσει μόνο ανοιχτά και κλειστά δάχτυλα (και ούτε καθένα από τα 5, ανιχνεύει μόνο 3 ομάδες μυών: αντίχειρα, δείκτη και μέση μαζί, δαχτυλίδια και μικρά δάχτυλα μαζί). Αλλά το "AI" που αναλύει το σήμα παίρνει 3 γραμμές κώδικα εδώ και χρησιμοποιεί μία μόνο τιμή από κάθε κανάλι. Πιστεύω ότι θα μπορούσαν να γίνουν περισσότερα ανάλυση φασματικών εικόνων 32 κάδων σε υπολογιστή ή smartphone. Επίσης, αυτή η έκδοση χρησιμοποιεί μόνο 3 συσκευές uECG (κανάλια EMG). Με περισσότερα κανάλια θα πρέπει να είναι δυνατή η αναγνώριση πραγματικά πολύπλοκων μοτίβων - αλλά, αυτό είναι το σημείο του έργου, για να παρέχει κάποια αφετηρία για όποιον ενδιαφέρεται:) Ο έλεγχος των χεριών σίγουρα δεν είναι η μόνη εφαρμογή για ένα τέτοιο σύστημα.
Συνιστάται:
Διεπαφή ανθρώπου-υπολογιστή: Λειτουργία πιασίματος (κατασκευάστηκε από τον Kirigami) από την κίνηση καρπού με χρήση ΗΜΓ .: 7 βήματα
Διεπαφή ανθρώπου-υπολογιστή: Λειτουργία πιασίματος (κατασκευάστηκε από τον Kirigami) από το Wrist Movement Χρησιμοποιώντας το ΗΜΓ .: Έτσι, αυτή ήταν η πρώτη μου προσπάθεια σε μια διεπαφή ανθρώπου-υπολογιστή. Έλαβα τα σήματα ενεργοποίησης των μυών της κίνησης του καρπού μου χρησιμοποιώντας έναν αισθητήρα ΗΜΓ, το επεξεργάστηκα μέσω python και arduino και ενεργοποίησε μια λαβή με βάση το origami
Έλεγχος φωτεινότητας Έλεγχος LED βασισμένος σε PWM χρησιμοποιώντας κουμπιά, Raspberry Pi και Scratch: 8 βήματα (με εικόνες)
Έλεγχος φωτεινότητας PWM Βασισμένος έλεγχος LED χρησιμοποιώντας κουμπιά, Raspberry Pi και Scratch: Προσπαθούσα να βρω έναν τρόπο να εξηγήσω πώς λειτουργούσε το PWM στους μαθητές μου, οπότε έθεσα τον εαυτό μου στην προσπάθεια να ελέγξω τη φωτεινότητα ενός LED χρησιμοποιώντας 2 κουμπιά - το ένα κουμπί αυξάνει τη φωτεινότητα ενός LED και το άλλο το μειώνει. Για να προχωρήσει
IoT: Ελέγξτε το HoloLens χρησιμοποιώντας τα φρύδια σας (ΗΜΓ): 5 βήματα
IoT: Έλεγχος του HoloLens Using Your Eyebrows (EMG): Αυτό το έργο ήταν μέρος του προγράμματος NASA SUITS του Πανεπιστημίου του Colorado Boulder που παρουσιάστηκε και δοκιμάστηκε στη NASA JSC τον Απρίλιο του 2019. Για το έργο εκείνης της χρονιάς, ήμουν ο επικεφαλής του έργου του υλικού ανάπτυξη και αυτή ήταν μία από τις συνεισφορές μου
Ένας απλός ρομποτικός βραχίονας που ελέγχεται από την πραγματική κίνηση των χεριών: 7 βήματα (με εικόνες)
Ένας απλός ρομποτικός βραχίονας που ελέγχεται από την πραγματική κίνηση των χεριών: Αυτός είναι ένας πολύ απλός ρομποτικός βραχίονας DOF για αρχάριους. Ο βραχίονας ελέγχεται από το Arduino. Συνδέεται με έναν αισθητήρα που είναι προσαρτημένος στο χέρι του χειριστή. Επομένως, ο χειριστής μπορεί να ελέγξει τον αγκώνα του βραχίονα κάμπτοντας τη δική του κίνηση στον αγκώνα. Στο
Πληκτρολόγηση με ΗΜΓ χρησιμοποιώντας MyoWare: 8 βήματα
Πληκτρολόγηση με ΗΜΓ χρησιμοποιώντας MyoWare: Συγγραφείς: Λ. Elizabeth Crawford & Dylan T. VavraΕισαγωγή: Σε αυτό το σεμινάριο, θα σας δείξουμε πώς να δημιουργήσετε ένα απλό σύστημα ηλεκτρομυογραφίας στο σπίτι (ΗΜΓ) - με κόστος περίπου $ 100 - που θα αισθανθεί την ενεργοποίηση των μυών από την επιφάνεια