Spisu treści:

Postshirt: wykrywanie postawy w czasie rzeczywistym: 9 kroków
Postshirt: wykrywanie postawy w czasie rzeczywistym: 9 kroków

Wideo: Postshirt: wykrywanie postawy w czasie rzeczywistym: 9 kroków

Wideo: Postshirt: wykrywanie postawy w czasie rzeczywistym: 9 kroków
Wideo: Postshirt Device Demo 2024, Lipiec
Anonim
Image
Image
Postshirt: wykrywanie postawy w czasie rzeczywistym
Postshirt: wykrywanie postawy w czasie rzeczywistym

Postshirt to bezprzewodowy system wykrywania postawy w czasie rzeczywistym, który przesyła i klasyfikuje dane akcelerometru z pióra Adafruit do aplikacji na Androida przez Bluetooth. Kompletny system może wykryć w czasie rzeczywistym, czy użytkownik ma złą postawę i tworzy powiadomienie push, gdy użytkownik zaczyna się garbić, wykrywanie działa również podczas chodzenia.

Kieszonkowe dzieci

Elektronika

1 x smartfon z systemem Android

1 x Pióro Adafruit

1 x bateria litowo-jonowo-polimerowa - 3,7 v 100 mAh (opcjonalnie do użytku bezprzewodowego)

2 x akcelerometr trójosiowy ADXL335

Materiały

Podłączyć przewód

Rolka taśmy

Krok 1: Zainstaluj niezbędne IDE i biblioteki

Pióro Adafruit

Najpierw zainstaluj Arduino IDE, a następnie postępuj zgodnie z instrukcjami, aby zainstalować bibliotekę Adafruit nRF51 BLE

Notatnik Jupytera

Najpierw zainstaluj Jupyter Notebook, a następnie następujące wymagane biblioteki

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

Android

Zainstaluj Studio Android

Kod projektu

Pobierz cały kod projektu z GitHub

Krok 2: Podłącz akcelerometry do pióra

Podłącz akcelerometry do pióra
Podłącz akcelerometry do pióra
Podłącz akcelerometry do pióra
Podłącz akcelerometry do pióra

Aby odczytać dane z ADXL335, podłącz przewód łączący do pinów Vin, uziemienia, Xout, Yout i Zout. W przypadku obu akcelerometrów podłącz drugi koniec przewodów Vin do styku 3 V w Piórku, a drugi koniec styków uziemienia do styku uziemienia w Piórku. Podłącz przewody Xout, Yout i Zout pierwszego akcelerometru do pinów A0, A1 i A2 w Feather. Podłącz przewody Xout, Yout i Zout drugiego akcelerometru do pinów A3, A4 i A5 w Feather.

Akcelerometry można podłączyć w dowolny sposób, ale sugeruje się lutowanie przewodów i obkurczanie lub owijanie taśmą elektryczną wokół punktów połączeń, aby zapobiec stykaniu się odsłoniętych sekcji.

Krok 3: Przymocuj akcelerometry do koszuli

Dołącz akcelerometry do koszuli
Dołącz akcelerometry do koszuli

Za pomocą taśmy przymocuj akcelerometry z tyłu koszulki. Akcelerometr podłączony do pinów A0-2 powinien być umieszczony poziomo pośrodku w środkowej dolnej części pleców. Akcelerometr podłączony do pinów A3-5 należy umieścić poziomo centralnie z tyłu szyi. Oba akcelerometry powinny być ustawione tak, aby szpilki znajdowały się wzdłuż dolnej strony, a czujniki powinny być przyklejone płasko i przymocowane do koszuli.

Uwaga: Aby zapewnić trwalsze noszenie, czujniki można przyszyć do ubrania, ale należy je najpierw przykleić i przetestować, aby upewnić się, że miejsca umieszczenia czujników są odpowiednio ustawione.

Krok 4: Uruchamianie kodu na Arduino

Uruchamianie kodu na Arduino
Uruchamianie kodu na Arduino

Aby rozpocząć zbieranie danych na Feather, uruchom Arduino IDE i otwórz plik GestureDataSender w sekcji Arduino kodu projektu. Po otwarciu tego pliku ustaw płytę i używany port, a następnie wybierz „Weryfikuj” i „Prześlij”, aby przesłać kod do Feather.

Krok 5: Uruchamianie kodu na Androidzie

Uruchamianie kodu na Androidzie
Uruchamianie kodu na Androidzie

Aby uruchomić aplikację na Androidzie, najpierw uruchom Android Studio, a następnie wybierz opcję otwarcia istniejącego projektu Androida. Przejdź do kodu projektu i wybierz folder „Android”. Android Studio zajmie trochę czasu, aby zsynchronizować pliki projektu i może poprosić o zainstalowanie niektórych wymaganych bibliotek, zaakceptuj te opcje. Gdy projekt jest gotowy, podłącz urządzenie z systemem Android do komputera i wybierz opcję uruchamiania w górnej części okna. Wybierz urządzenie z wyświetlonego monitu, a następnie pozwól aplikacji na kompilację na urządzeniu.

Krok 6: Testowanie połączenia sygnału Bluetooth

Testowanie połączenia sygnału Bluetooth
Testowanie połączenia sygnału Bluetooth
Testowanie połączenia sygnału Bluetooth
Testowanie połączenia sygnału Bluetooth
Testowanie połączenia sygnału Bluetooth
Testowanie połączenia sygnału Bluetooth

Po otwarciu aplikacji upewnij się, że Feather jest włączone, a następnie wybierz Adafruit Bluefruit LE z listy urządzeń, która pojawia się w telefonie. Poczekaj, aż urządzenie nawiąże połączenie, jeśli połączenie nie powiedzie się za pierwszym razem, ponów próbę połączenia przed wykonaniem innych kroków debugowania. Po podłączeniu urządzenia wybierz moduł „Detektor postawy”, który przy prawidłowym działaniu wyświetli na bieżąco aktualizowany wykres oraz aktualne przewidywania postawy i ruchu. Aby sprawdzić, czy arduino prawidłowo komunikuje dane z czujnika, przesuń dwa akcelerometry w losowych kierunkach i sprawdź, czy wszystkie linie na wykresie się zmieniają. Jeśli niektóre linie pozostają płaskie, upewnij się, że akcelerometry są prawidłowo podłączone do pióra. Jeśli wszystko działa, załóż koszulkę i sprawdź, czy wykrywanie postawy prawidłowo przewiduje Twoją postawę. Gratulacje! Pomyślnie skonfigurowałeś urządzenie do noszenia z wykrywaniem postawy. Kontynuuj tę instrukcję, aby dowiedzieć się, jak utworzyć własny zestaw danych i dostosować własne wykrywanie postawy.

Krok 7: Zbieranie własnych danych

Zbieranie własnych danych
Zbieranie własnych danych
Zbieranie własnych danych
Zbieranie własnych danych

Aby zebrać własne dane, wróć do ekranu wyboru modułu i otwórz moduł Data Recorder. Po otwarciu tego ekranu wypełnij etykietę danych, które będziesz gromadzić; w celu łatwego trenowania na swoich danych należy w nazwie wszelkich nagrań z postawą umieścić słowo "dobre" i "złe" we wszelkich nagraniach z postawą. Aby rozpocząć zbieranie, dotknij przycisku "Zbierz dane" i wykonaj zamierzone działanie, po zakończeniu dotknij przycisku ponownie, aby zakończyć i zapisać dane. Wszystkie zarejestrowane dane będą przechowywane w folderze o nazwie „GestureData” w folderze dokumentów w systemie plików. Po zakończeniu nagrywania wszystkich danych skopiuj pliki na komputer w celu uczenia modelu.

Krok 8: Trening danych na notebooku Jupyter

Szkolenie danych na notebooku Jupyter
Szkolenie danych na notebooku Jupyter
Szkolenie danych na notebooku Jupyter
Szkolenie danych na notebooku Jupyter

Początkowy kod projektu zawiera oryginalne dane używane do szkolenia w folderze „data” w sekcji Jupyter Notebook, w celu szkolenia własnych danych usuń wszystkie pliki z tego folderu, a następnie skopiuj własne dane do folderu. Następnie uruchom Jupyter Notebook i otwórz „PostureDetectorTrainer.ipynb”. Ten notatnik został zaprojektowany tak, aby automatycznie oddzielać pliki w folderze danych według dobrej i złej postawy, a następnie trenować liniową maszynę SVM do klasyfikacji, aby trenować model, po prostu wybierz menu rozwijane „Komórka” i wybierz „Uruchom wszystko”. Notatnik może potrwać chwilę, aby uruchomić, ale po całkowitym przewinięciu do punktu, który zapewnia dokładność przewidywania postawy dla modelu, jeśli dokładność jest niska, możesz chcieć upewnić się, że poprzednie nagrania są dokładne i spójne z podstawowymi prawdami. Jeśli wyniki wyglądają dobrze, przewiń do następnej komórki, w której zostanie wygenerowana klasa Java. Przewiń w dół tej komórki, aż zobaczysz fragment skomentowany jako parametry. Skopiuj te wartości, ponieważ będą potrzebne w następnym kroku.

Krok 9: Modyfikowanie aplikacji na Androida za pomocą nowego modelu

Modyfikowanie aplikacji na Androida za pomocą nowego modelu
Modyfikowanie aplikacji na Androida za pomocą nowego modelu

Aby zmienić model w aplikacji na Androida, użyj Android Studio, aby przejść do pliku „PostureDetectorFragment.java” w sekcji java struktury projektu. W tym pliku przewiń w dół do sekcji skomentowanej jako „Klasyfikator postawy”, która będzie miała te same 4 odpowiadające zmienne, co 4 wygenerowane w Notatniku Jupyter. Zastąp wartości tych 4 zmiennych wartościami skopiowanymi z Notatnika Jupyter, upewniając się, że nazwy zmiennych nie są zmienione z p_vectors, p_coefficients itp. Po wykonaniu tej czynności zapisz plik i ponownie wybierz opcję Uruchom, aby zbudować aplikację na swoim urządzenie. Teraz wykonaj te same kroki, co poprzednio, aby otworzyć moduł Detektora postawy i powinieneś zobaczyć, jak klasyfikator pracuje teraz z nowo wytrenowanym modelem. Jeśli nadal wydaje się, że nie działa dobrze, należy rozważyć zapisanie dalszych danych i odtworzenie modelu. W przeciwnym razie gratulacje! Zaimportowałeś teraz swojego własnego, wyszkolonego klasyfikatora do Postshirt!

Zalecana: