Πίνακας περιεχομένων:

Postshirt: Realtime Wearable Posture Detection: 9 Βήματα
Postshirt: Realtime Wearable Posture Detection: 9 Βήματα

Βίντεο: Postshirt: Realtime Wearable Posture Detection: 9 Βήματα

Βίντεο: Postshirt: Realtime Wearable Posture Detection: 9 Βήματα
Βίντεο: There it is! Tylra kobold ref sheet! | Droxen does art VOD 2024, Νοέμβριος
Anonim
Image
Image
Postshirt: Realtime Wearable Posture Detection
Postshirt: Realtime Wearable Posture Detection

Το Postshirt είναι ένα ασύρματο σύστημα ανίχνευσης στάσης σε πραγματικό χρόνο που μεταδίδει και ταξινομεί δεδομένα επιταχυνσιόμετρου από ένα φτερό Adafruit σε μια εφαρμογή Android μέσω Bluetooth. Το πλήρες σύστημα μπορεί να ανιχνεύσει σε πραγματικό χρόνο εάν ο χρήστης έχει κακή στάση του σώματος και δημιουργεί μια ειδοποίηση ώθησης όταν ο χρήστης αρχίζει να σκύβει, ο εντοπισμός λειτουργεί επίσης ενώ περπατάτε.

Προμήθειες

ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ

1 x Android Smartphone

1 x Φτερό Adafruit

1 x μπαταρία ιόντων λιθίου πολυμερούς - 3.7v 100mAh (προαιρετικό για ασύρματη χρήση)

2 x επιταχυνσιόμετρο τριπλού άξονα ADXL335

Υλικά

Σύρμα σύνδεσης

Ρόλος ταινίας

Βήμα 1: Εγκαταστήστε τα απαραίτητα IDE και βιβλιοθήκες

Φτερό Adafruit

Πρώτα εγκαταστήστε το Arduino IDE και, στη συνέχεια, ακολουθήστε τα βήματα για να εγκαταστήσετε τη βιβλιοθήκη Adafruit nRF51 BLE

Σημειωματάριο Jupyter

Πρώτα εγκαταστήστε το Jupyter Notebook και στη συνέχεια τις ακόλουθες απαιτούμενες βιβλιοθήκες

  • https://scikit-learn.org/stable/
  • https://github.com/nok/sklearn-porter

Android

Εγκαταστήστε το Android Studio

Κωδικός Έργου

Κατεβάστε όλο τον κώδικα του έργου από το GitHub

Βήμα 2: Συνδέστε τα επιταχυνσιόμετρα στο φτερό

Συνδέστε τα επιταχυνσιόμετρα στο φτερό
Συνδέστε τα επιταχυνσιόμετρα στο φτερό
Συνδέστε τα επιταχυνσιόμετρα στο φτερό
Συνδέστε τα επιταχυνσιόμετρα στο φτερό

Για να διαβάσετε δεδομένα από τα ADXL335, συνδέστε το καλώδιο σύνδεσης στις ακίδες Vin, γείωσης, Xout, Yout και Zout. Και για τα δύο επιταχυνσιόμετρα συνδέστε τα άλλα άκρα των καλωδίων Vin με τον πείρο 3V στο Φτερό και τα άλλα άκρα των πείρων γείωσης με τον πείρο γείωσης στο Φτερό. Συνδέστε τα καλώδια Xout, Yout και Zout του πρώτου επιταχυνσιόμετρου στις ακίδες A0, A1 και A2 στο Feather. Συνδέστε τα καλώδια Xout, Yout και Zout του δεύτερου επιταχυνσιόμετρου στις ακίδες A3, A4 και A5 στο Feather.

Τα επιταχυνσιόμετρα μπορούν να συνδεθούν με οποιονδήποτε τρόπο, αλλά προτείνεται η συγκόλληση των καλωδίων και η συρρίκνωση ή περιτύλιξη ηλεκτρικής ταινίας γύρω από τα σημεία σύνδεσης για την αποφυγή επαφής των εκτεθειμένων τμημάτων.

Βήμα 3: Συνδέστε επιταχυνσιόμετρα στο πουκάμισο

Συνδέστε επιταχυνσιόμετρα στο πουκάμισο
Συνδέστε επιταχυνσιόμετρα στο πουκάμισο

Χρησιμοποιώντας ταινία στερεώστε τα επιταχυνσιόμετρα στο πίσω μέρος του πουκαμίσου. Το επιταχυνσιόμετρο που είναι συνδεδεμένο στις ακίδες A0-2 πρέπει να τοποθετηθεί οριζόντια στο κέντρο στο μέσο κάτω μέρος της πλάτης. Το επιταχυνσιόμετρο που συνδέεται με τις ακίδες A3-5 θα πρέπει να βρίσκεται οριζόντια στο κέντρο στο πίσω μέρος του λαιμού. Και τα δύο επιταχυνσιόμετρα πρέπει να είναι ευθυγραμμισμένα έτσι ώστε οι ακίδες να βρίσκονται κατά μήκος της κάτω πλευράς και οι αισθητήρες να είναι κολλημένοι με επίπεδη ταινία και ασφαλισμένοι στο πουκάμισο.

Σημείωση: Για πιο μόνιμο φορετό, οι αισθητήρες μπορούν να ράβονται πάνω στα ρούχα, αλλά πρέπει να κολληθούν και να δοκιμαστούν πρώτα για να διασφαλιστεί ότι οι θέσεις των αισθητήρων είναι αποτελεσματικά τοποθετημένες.

Βήμα 4: Εκτέλεση κώδικα στο Arduino

Κώδικας εκτέλεσης στο Arduino
Κώδικας εκτέλεσης στο Arduino

Για να ξεκινήσετε τη συλλογή δεδομένων για το Φτερό ξεκινήστε το Arduino IDE και ανοίξτε το αρχείο GestureDataSender στην ενότητα Arduino του κώδικα έργου. Με αυτό το αρχείο ανοιχτό ρυθμίστε τον πίνακα και τη θύρα που χρησιμοποιείται και, στη συνέχεια, επιλέξτε "Επαλήθευση" και "Μεταφόρτωση" για να ανεβάσετε τον κώδικα στο Φτερό.

Βήμα 5: Εκτέλεση κώδικα στο Android

Κώδικας εκτέλεσης στο Android
Κώδικας εκτέλεσης στο Android

Για να εκτελέσετε την εφαρμογή στο android, ξεκινήστε πρώτα το Android Studio και, στη συνέχεια, επιλέξτε την επιλογή ανοίγματος ενός υπάρχοντος έργου Android. Μεταβείτε στον κωδικό έργου και επιλέξτε το φάκελο "Android". Το Android Studio θα πάρει λίγο χρόνο για να συγχρονίσει τα αρχεία του έργου και μπορεί να ζητήσει την εγκατάσταση ορισμένων απαιτούμενων βιβλιοθηκών, αποδεχτείτε αυτές τις επιλογές. Μόλις το έργο είναι έτοιμο, συνδέστε τη συσκευή Android στον υπολογιστή και επιλέξτε την επιλογή εκτέλεσης στο επάνω μέρος του παραθύρου. Επιλέξτε τη συσκευή από το μήνυμα που εμφανίζεται και, στη συνέχεια, αφήστε την εφαρμογή να ενσωματωθεί στη συσκευή.

Βήμα 6: Δοκιμή σύνδεσης σήματος Bluetooth

Δοκιμή σύνδεσης σήματος Bluetooth
Δοκιμή σύνδεσης σήματος Bluetooth
Δοκιμή σύνδεσης σήματος Bluetooth
Δοκιμή σύνδεσης σήματος Bluetooth
Δοκιμή σύνδεσης σήματος Bluetooth
Δοκιμή σύνδεσης σήματος Bluetooth

Μόλις ανοίξει η εφαρμογή, βεβαιωθείτε ότι το Feather είναι ενεργοποιημένο και, στη συνέχεια, επιλέξτε το Adafruit Bluefruit LE από τη λίστα συσκευών που εμφανίζεται στο τηλέφωνο. Περιμένετε να συνδεθεί η συσκευή, εάν η σύνδεση αποτύχει την πρώτη φορά, δοκιμάστε ξανά τη σύνδεση πριν κάνετε άλλα βήματα εντοπισμού σφαλμάτων. Αφού συνδεθεί η συσκευή, επιλέξτε τη μονάδα "Ανιχνευτής στάσης", η οποία εάν λειτουργεί σωστά θα εμφανίσει ένα ζωντανό γράφημα ενημέρωσης καθώς και τις τρέχουσες προβλέψεις στάσης και κίνησης. Για να ελέγξετε ότι το arduino επικοινωνεί σωστά τα δεδομένα του αισθητήρα, μετακινήστε τα δύο επιταχυνσιόμετρα σε τυχαίες κατευθύνσεις και ελέγξτε αν αλλάζουν όλες οι γραμμές στο γράφημα. Εάν ορισμένες γραμμές παραμένουν σταθερές, βεβαιωθείτε ότι τα επιταχυνσιόμετρα είναι σωστά συνδεδεμένα με το Φτερό. Εάν όλα λειτουργούν, φορέστε το πουκάμισο και δοκιμάστε ότι η ανίχνευση στάσης προβλέπει σωστά τη στάση σας. Συγχαρητήρια! Έχετε ρυθμίσει επιτυχώς ένα φορητό που ανιχνεύει τη στάση του σώματος. Συνεχίστε μέσω αυτού του οδηγού για να μάθετε πώς να δημιουργείτε το δικό σας σύνολο δεδομένων και να προσαρμόζετε τη δική σας ανίχνευση στάσης.

Βήμα 7: Συλλογή των δικών σας δεδομένων

Συλλογή των δικών σας δεδομένων
Συλλογή των δικών σας δεδομένων
Συλλογή των δικών σας δεδομένων
Συλλογή των δικών σας δεδομένων

Για να συλλέξετε τα δικά σας δεδομένα επιστρέψτε στην οθόνη επιλογής λειτουργικής μονάδας και ανοίξτε τη μονάδα καταγραφής δεδομένων. Μόλις ανοίξει αυτή η οθόνη, συμπληρώστε την ετικέτα για τα δεδομένα που θα συλλέξετε. Για να εκπαιδεύσετε εύκολα τα δεδομένα σας, θα πρέπει να συμπεριλάβετε τη λέξη "καλή" στο όνομα οποιωνδήποτε ηχογραφήσεων με καλή στάση και "κακή" σε οποιεσδήποτε ηχογραφήσεις με στάση. Για να ξεκινήσετε τη συλλογή πατήστε το κουμπί "Συλλογή δεδομένων" και εκτελέστε την προβλεπόμενη ενέργεια, όταν τελειώσετε πατήστε ξανά το κουμπί για να ολοκληρώσετε και να αποθηκεύσετε τα δεδομένα. Όλα τα καταγεγραμμένα δεδομένα θα αποθηκευτούν σε ένα φάκελο με το όνομα "GestureData" κάτω από το φάκελο εγγράφων του συστήματος αρχείων σας. Όταν ολοκληρώσετε την εγγραφή όλων των δεδομένων σας, αντιγράψτε τα αρχεία στον υπολογιστή σας για εκπαίδευση μοντέλου.

Βήμα 8: Εκπαίδευση των δεδομένων σας στο Jupyter Notebook

Εκπαίδευση των δεδομένων σας στο Jupyter Notebook
Εκπαίδευση των δεδομένων σας στο Jupyter Notebook
Εκπαίδευση των δεδομένων σας στο Jupyter Notebook
Εκπαίδευση των δεδομένων σας στο Jupyter Notebook

Ο αρχικός κώδικας έργου περιέχει τα αρχικά δεδομένα που χρησιμοποιούνται για εκπαίδευση στο φάκελο "δεδομένα" στην ενότητα Jupyter Notebook, για την εκπαίδευση των δικών σας δεδομένων διαγράψτε όλα τα αρχεία σε αυτόν το φάκελο και, στη συνέχεια, αντιγράψτε τα δικά σας δεδομένα στο φάκελο. Στη συνέχεια, εκτελέστε το Jupyter Notebook και ανοίξτε το "PostureDetectorTrainer.ipynb". Αυτός ο φορητός υπολογιστής έχει σχεδιαστεί για να διαχωρίζει αυτόματα όλα τα αρχεία στο φάκελο δεδομένων με καλή και κακή στάση και στη συνέχεια να εκπαιδεύει ένα γραμμικό SVM για ταξινόμηση για να εκπαιδεύσει το μοντέλο, απλά επιλέξτε το αναπτυσσόμενο μενού "Κελί" και επιλέξτε "Εκτέλεση όλων". Ο φορητός υπολογιστής μπορεί να χρειαστεί λίγη ώρα για να εκτελεστεί, αλλά μόλις ολοκληρωθεί, μετακινηθείτε στο σημείο που παρέχει την ακρίβεια πρόβλεψης στάσης για το μοντέλο, εάν η ακρίβεια είναι χαμηλή, ίσως θελήσετε να διασφαλίσετε ότι οι προηγούμενες εγγραφές σας είναι ακριβείς και συνεπείς αλήθειες εδάφους. Εάν τα αποτελέσματα φαίνονται καλά, μεταβείτε στο επόμενο κελί όπου θα έχει δημιουργηθεί μια κλάση Java. Κάντε κύλιση στο κάτω μέρος αυτού του κελιού μέχρι να δείτε ένα τμήμα να σχολιάζεται ως παράμετροι. Αντιγράψτε αυτές τις τιμές καθώς θα τις χρειαστείτε στο επόμενο βήμα.

Βήμα 9: Τροποποίηση εφαρμογής Android με νέο μοντέλο

Τροποποίηση εφαρμογής Android με νέο μοντέλο
Τροποποίηση εφαρμογής Android με νέο μοντέλο

Για να αλλάξετε το μοντέλο στην εφαρμογή Android, χρησιμοποιήστε το Android Studio για να μεταβείτε στο αρχείο "PostureDetectorFragment.java" στην ενότητα java της δομής του έργου. Σε αυτό το αρχείο μετακινηθείτε προς τα κάτω στην ενότητα που σχολιάστηκε ως "ταξινομητής στάσης", η οποία θα έχει τις ίδιες 4 αντίστοιχες μεταβλητές με τις 4 που δημιουργήθηκαν στο Jupyter Notebook. Αντικαταστήστε τις τιμές αυτών των 4 μεταβλητών με τις τιμές που αντιγράφονται από το Jupyter Notebook, βεβαιωθείτε ότι τα ονόματα των μεταβλητών δεν αλλάζουν από p_vectors, p_coefficients, κ.λπ. Μόλις γίνει αυτό αποθηκεύστε το αρχείο και επιλέξτε ξανά την επιλογή Εκτέλεση για να δημιουργήσετε την εφαρμογή στο δικό σας συσκευή. Τώρα ακολουθήστε τα ίδια βήματα όπως πριν για να ανοίξετε τη μονάδα ανίχνευσης στάσης και θα δείτε ότι ο ταξινομητής λειτουργεί τώρα με το πρόσφατα εκπαιδευμένο μοντέλο σας. Εάν εξακολουθεί να μην φαίνεται να λειτουργεί καλά, θα πρέπει να εξετάσετε την εγγραφή περαιτέρω δεδομένων και την αναδημιουργία του μοντέλου. Αλλιώς συγχαρητήρια! Τώρα έχετε εισαγάγει το δικό σας εκπαιδευμένο ταξινομητή στο Postshirt!

Συνιστάται: