Spisu treści:
- Krok 1: Przegląd projektu
- Krok 2: Badania w tle
- Krok 3: Wymagania projektowe
- Krok 4: Konstrukcja inżynierska i dobór sprzętu
- Krok 5: Wybór sprzętu: metoda interakcji
- Krok 6: Wybór sprzętu: mikrokontroler
- Krok 7: Wybór sprzętu: czujniki
- Krok 8: Wybór sprzętu: oprogramowanie
- Krok 9: Wybór sprzętu: inne części
- Krok 10: Rozwój systemu: tworzenie sprzętu Część 1
- Krok 11: Rozwój systemu: tworzenie sprzętu, część 2
- Krok 12: Rozwój systemu: programowanie systemu, część 1
Wideo: Korzystanie z sonaru, lidaru i wizji komputerowej na mikrokontrolerach w celu pomocy osobom niedowidzącym: 16 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Chcę stworzyć inteligentną „laskę”, która może pomóc osobom z wadami wzroku znacznie bardziej niż istniejące rozwiązania. Laska będzie w stanie powiadomić użytkownika o obiektach z przodu lub po bokach, wydając dźwięk w słuchawkach typu surround. Laska będzie miała również małą kamerę i LIDAR (Light Detection and Ranging), dzięki czemu będzie mogła rozpoznawać przedmioty i osoby w pomieszczeniu oraz powiadamiać użytkownika za pomocą słuchawek. Ze względów bezpieczeństwa słuchawki nie będą blokować całego hałasu, ponieważ będzie mikrofon, który może odfiltrować wszystkie niepotrzebne dźwięki i sprawić, że klaksony samochodowe i ludzie będą rozmawiać. Wreszcie system będzie miał GPS, dzięki czemu będzie mógł dawać wskazówki i wskazywać użytkownikowi, gdzie się udać.
Proszę głosować na mnie w konkursach Mikrokontroler i Outdoor Fitness!
Krok 1: Przegląd projektu
Według World Access for the Blind ruch fizyczny jest jednym z największych wyzwań dla osób niewidomych. Podróżowanie lub po prostu chodzenie po zatłoczonej ulicy może być bardzo trudne. Tradycyjnie jedynym rozwiązaniem było użycie powszechnie znanej „białej laski”, która służy przede wszystkim do skanowania otoczenia poprzez uderzanie w przeszkody znajdujące się w pobliżu użytkownika. Lepszym rozwiązaniem byłoby urządzenie, które może zastąpić asystenta widzącego, dostarczając informacji o lokalizacji przeszkód, aby osoba niewidoma mogła wyjść w nieznane otoczenie i czuć się bezpiecznie. W ramach tego projektu opracowano małe urządzenie zasilane bateryjnie, które spełnia te kryteria. Urządzenie może wykrywać rozmiar i położenie obiektu za pomocą czujników, które mierzą położenie obiektów w stosunku do użytkownika, przekazywać te informacje do mikrokontrolera, a następnie konwertować je na dźwięk, aby dostarczyć informacje użytkownikowi. Urządzenie zostało zbudowane przy użyciu dostępnych na rynku technologii LIDAR (Light Detection and Ranging), SONAR (Sound Navigation and Ranging) oraz komputerowych technologii wizyjnych połączonych z mikrokontrolerami i zaprogramowanych tak, aby dostarczać wymagane informacje dźwiękowe za pomocą słuchawek dousznych lub dousznych. Technologia wykrywania została osadzona w „białej lasce”, aby wskazać innym stan użytkownika i zapewnić dodatkowe bezpieczeństwo.
Krok 2: Badania w tle
W 2017 roku Światowa Organizacja Zdrowia poinformowała, że na całym świecie jest 285 milionów osób niedowidzących, z których 39 milionów jest całkowicie niewidomych. Większość ludzi nie myśli o problemach, z którymi codziennie borykają się osoby niedowidzące. Według World Access for the Blind ruch fizyczny jest jednym z największych wyzwań dla osób niewidomych. Podróżowanie lub po prostu chodzenie po zatłoczonej ulicy może być bardzo trudne. Z tego powodu wiele osób niedowidzących woli przyprowadzić widzącego przyjaciela lub członka rodziny, aby pomóc w poruszaniu się w nowych środowiskach. Tradycyjnie jedynym rozwiązaniem było użycie powszechnie znanej „białej laski”, która służy przede wszystkim do skanowania otoczenia poprzez uderzanie w przeszkody znajdujące się w pobliżu użytkownika. Lepszym rozwiązaniem byłoby urządzenie, które może zastąpić asystenta widzącego, dostarczając informacji o lokalizacji przeszkód, aby osoba niewidoma mogła wyjść w nieznane otoczenie i czuć się bezpiecznie. NavCog, współpraca między IBM i Carnegie Mellon University, podjęła próbę rozwiązania problemu, tworząc system, który wykorzystuje beacony Bluetooth i smartfony do pomocy w prowadzeniu. Rozwiązanie było jednak kłopotliwe i okazało się bardzo kosztowne w przypadku wdrożeń na dużą skalę. Moje rozwiązanie rozwiązuje ten problem, eliminując potrzebę korzystania z urządzeń zewnętrznych i używając głosu do prowadzenia użytkownika przez cały dzień (rysunek 3). Zaletą posiadania technologii wbudowanej w „białą laskę” jest to, że sygnalizuje reszcie świata stan użytkownika, który powoduje zmianę zachowania otaczających ludzi.
Krok 3: Wymagania projektowe
Po zbadaniu dostępnych technologii omówiłem możliwe rozwiązania ze specjalistami od wzroku na temat najlepszego podejścia do pomocy osobom niedowidzącym w poruszaniu się w ich środowisku. W poniższej tabeli wymieniono najważniejsze funkcje wymagane do przejścia na moje urządzenie.
Funkcja - opis:
- Obliczenia - system musi zapewniać szybkie przetwarzanie informacji wymienianych między użytkownikiem a czujnikami. Na przykład system musi być w stanie poinformować użytkownika o przeszkodach z przodu, które są oddalone o co najmniej 2 metry.
- Zasięg - system musi świadczyć swoje usługi w pomieszczeniach i na zewnątrz, aby poprawić jakość życia osób niedowidzących.
- Czas - system powinien działać tak samo dobrze w porze dziennej, jak i nocnej.
- Zasięg - zasięg to odległość między użytkownikiem a obiektem, który ma zostać wykryty przez system. Idealny zasięg minimalny to 0,5 m, natomiast maksymalny powinien być większy niż 5 m. Dalsze odległości byłyby jeszcze lepsze, ale trudniejsze do obliczenia.
- Typ obiektu - system powinien wykrywać nagłe pojawienie się obiektów. System powinien być w stanie odróżnić obiekty ruchome od obiektów statycznych.
Krok 4: Konstrukcja inżynierska i dobór sprzętu
Po przyjrzeniu się wielu różnym komponentom zdecydowałem się na części wybrane z różnych kategorii poniżej.
Cena wybranych części:
- Pantera Zungle: 149,99 USD
- LiDAR Lite V3: 149,99 USD
- LV-MaxSonar-EZ1: 29,95 USD
- Czujnik ultradźwiękowy - HC-SR04: 3,95 USD
- Raspberry Pi 3: 39,95 USD
- Arduino: 24,95 USD
- Kinect: 32,44 USD
- Floureon 11.1v 3s 1500mAh: 19,99 USD
- LM2596HV: 9,64 USD
Krok 5: Wybór sprzętu: metoda interakcji
Postanowiłem użyć sterowania głosowego jako metody interakcji z urządzeniem, ponieważ posiadanie wielu przycisków na lasce może być wyzwaniem dla osoby niedowidzącej, zwłaszcza jeśli niektóre funkcje wymagają kombinacji przycisków. Dzięki sterowaniu głosowemu użytkownik może używać zaprogramowanych poleceń do komunikacji z laską, co zmniejsza potencjalne błędy.
Urządzenie: Plusy --- Minusy:
- Przyciski: Brak błędu polecenia po naciśnięciu prawego przycisku --- Zapewnienie naciśnięcia prawidłowych przycisków może być trudne
- Sterowanie głosowe: łatwe, ponieważ użytkownik może korzystać z gotowych poleceń --- Nieprawidłowa wymowa może powodować błędy
Krok 6: Wybór sprzętu: mikrokontroler
Urządzenie wykorzystało Raspberry Pi ze względu na jego niski koszt i wystarczającą moc obliczeniową do obliczenia mapy głębi. Intel Joule byłby preferowaną opcją, ale jego cena podwoiłaby koszt systemu, co nie byłoby idealne dla tego urządzenia, które zostało opracowane w celu zapewnienia użytkownikom tańszej opcji. Arduino zostało wykorzystane w systemie, ponieważ może łatwo pobierać informacje z czujników. BeagleBone i Intel Edison nie zostały użyte ze względu na niski stosunek ceny do wydajności, co jest niekorzystne dla tego taniego systemu.
Mikrokontroler: Plusy --- Minusy:
- Raspberry Pi: ma wystarczającą moc obliczeniową do znajdowania przeszkód i ma zintegrowane WiFi/Bluetooth --- Niewiele opcji odbierania danych z czujników
- Arduino: Łatwo odbieraj dane z małych czujników. tj. LIDAR, ultradźwięki, SONAR itp --- Niewystarczająca moc obliczeniowa do znajdowania przeszkód
- Intel Edison: Potrafi szybko przezwyciężyć przeszkody dzięki szybkiemu procesorowi --- Wymaga dodatkowych elementów programisty do działania w systemie
- Intel Joule: ma dwukrotnie większą szybkość przetwarzania niż którykolwiek z dotychczasowych mikrokontrolerów na rynku konsumenckim --- Bardzo wysoki koszt tego systemu i trudny do interakcji z GPIO w celu interakcji z czujnikami
- BeagleBone Black: Kompaktowy i kompatybilny z czujnikami używanymi w projekcie dzięki zastosowaniu wyjścia ogólnego przeznaczenia (GPIO) --- Niewystarczająca moc przetwarzania do skutecznego znajdowania obiektów
Krok 7: Wybór sprzętu: czujniki
W celu uzyskania wysokiej dokładności lokalizacji stosuje się kombinację kilku czujników. Kinect jest głównym czujnikiem ze względu na wielkość obszaru, który może jednocześnie skanować w poszukiwaniu przeszkód. LIDAR, co oznacza LIGHT Detection and Ranging, to metoda zdalnego wykrywania, która wykorzystuje światło w postaci impulsowego lasera do szybkiego pomiaru odległości od miejsca, w którym znajduje się czujnik, do obiektów; ten czujnik jest używany, ponieważ może śledzić obszar w odległości do 40 metrów (m), a ponieważ może skanować pod różnymi kątami, może wykryć, czy jakieś kroki pną się w górę lub w dół. Nawigacja dźwiękowa i czujniki odległości (SONAR) oraz czujniki ultradźwiękowe są używane jako zapasowe śledzenie w przypadku, gdy sensor Kinect pominie słup lub wyboj w ziemi, które mogą stanowić zagrożenie dla użytkownika. Czujnik 9 stopni swobody służy do śledzenia kierunku, w którym zwrócony jest użytkownik, dzięki czemu urządzenie może przechowywać informacje w celu uzyskania większej dokładności kierowania następnym razem, gdy osoba będzie chodzić w tym samym miejscu.
Czujniki: Plusy --- Minusy:
- Kinect V1: może śledzić obiekty 3D za pomocą --- tylko jednej kamery do wykrywania otoczenia
- Kinect V2: ma 3 kamery na podczerwień oraz kamerę czerwoną, zieloną, niebieską i głębię (RGB-D) do precyzyjnego wykrywania obiektów 3D --- Może się nagrzewać i może wymagać wentylatora chłodzącego, i jest większy niż inne czujniki
- LIDAR: Wiązka, która może śledzić lokalizacje w odległości do 40 m --- Musi być ustawiona w kierunku obiektu i może patrzeć tylko w tym kierunku
- SONAR: Wiązka, która może śledzić odległość 5 m, ale w dalekim zasięgu --- Małe przedmioty, takie jak pióra, mogą wyzwolić czujnik
- Ultradźwiękowy: ma zasięg do 3 m i jest bardzo niedrogi --- Odległości mogą czasami być niedokładne
- Czujnik 9 stopni swobody: dobry do wykrywania orientacji i prędkości użytkownika --- Jeśli cokolwiek zakłóca działanie czujników, obliczenia odległości mogą być nieprawidłowo obliczone
Krok 8: Wybór sprzętu: oprogramowanie
Wybranym oprogramowaniem dla kilku pierwszych prototypów zbudowanych z sensorem Kinect V1 było Freenect, ale nie było ono zbyt dokładne. Po przejściu na Kinect V2 i Freenect2 wyniki śledzenia uległy znacznej poprawie dzięki ulepszonemu śledzeniu, ponieważ V2 ma kamerę HD i 3 kamery na podczerwień, w przeciwieństwie do pojedynczej kamery w Kinect V1. Kiedy używałem OpenNi2 z Kinectem V1, funkcje były ograniczone i nie mogłem kontrolować niektórych funkcji urządzenia.
Oprogramowanie: Plusy --- Minusy:
- Freenect: ma niższy poziom kontroli do kontrolowania wszystkiego --- obsługuje tylko Kinect V1
- OpenNi2: Może łatwo tworzyć dane chmury punktów ze strumienia informacji z Kinect --- Obsługuje tylko Kinect V1 i nie obsługuje kontroli niskiego poziomu
- Freenect2: ma niższy poziom kontroli nad paskiem czujnika --- Działa tylko z Kinect V2
- ROS: System operacyjny idealny do programowania funkcji kamery --- Musi być zainstalowany na szybkiej karcie SD, aby oprogramowanie działało
Krok 9: Wybór sprzętu: inne części
Wybrano baterie litowo-jonowe ze względu na ich lekkość, dużą pojemność i możliwość wielokrotnego ładowania. Wariant 18650 baterii litowo-jonowej ma cylindryczny kształt i idealnie pasuje do prototypu trzciny. Pierwszy prototyp laski jest wykonany z rury PVC, ponieważ jest pusta i zmniejsza wagę laski.
Krok 10: Rozwój systemu: tworzenie sprzętu Część 1
Najpierw musimy zdemontować Kinect, aby był lżejszy i pasował do laski. Zacząłem od usunięcia całej zewnętrznej obudowy z Kinect, ponieważ użyty plastik waży DUŻO. Następnie musiałem przeciąć kabel, aby można było zdjąć podstawę. Wziąłem przewody ze złącza pokazanego na zdjęciu i przylutowałem je do kabla usb z przewodami sygnałowymi a pozostałe dwa połączenia były dla zasilania wejściowego 12V. Ponieważ chciałem, aby wentylator wewnątrz laski pracował z pełną mocą, aby schłodzić wszystkie inne komponenty, odciąłem złącze od wentylatora od Kinect i podłączyłem 5 V do Raspberry Pi. Zrobiłem również mały adapter do przewodu LiDAR, dzięki czemu można go podłączyć bezpośrednio do Raspberry Pi bez żadnych innych systemów pomiędzy.
Biały przewód przez przypadek przylutowałem do czarnego więc nie patrz na zdjęcia schematów elektrycznych
Krok 11: Rozwój systemu: tworzenie sprzętu, część 2
Stworzyłem element regulatora, aby zapewnić zasilanie wszystkim urządzeniom wymagającym 5 V, takim jak Raspberry Pi. Dostroiłem regulator wkładając miernik na wyjście i ustawiając rezystor tak, aby regulator dostarczał 5,05V. Postawiłem go trochę wyżej niż 5V bo z biegiem czasu napięcie akumulatora spada i nieznacznie wpływa na napięcie wyjściowe. Zrobiłem też przejściówkę, która pozwala zasilić do 5 urządzeń wymagających 12V z akumulatora.
Krok 12: Rozwój systemu: programowanie systemu, część 1
Jedną z najtrudniejszych części tego systemu jest programowanie. Kiedy po raz pierwszy zacząłem się nim bawić, zainstalowałem program o nazwie RTAB Map, który pobiera strumień danych z Kinect i konwertuje go na chmurę punktów. Dzięki chmurze punktów utworzył obraz 3D, który można obracać, aby zobaczyć głębokość, w której znajdują się wszystkie obiekty. Po zabawie z nim przez chwilę i dostosowaniu wszystkich ustawień, zdecydowałem się zainstalować oprogramowanie na Raspberry Pi, aby umożliwić mi oglądanie strumienia danych z Kinect. Ostatnie dwa powyższe obrazy pokazują, co Raspberry Pi może wyprodukować z prędkością około 15-20 klatek na sekundę.
Zalecana:
Hakowanie Hexbug Spider XL w celu dodania wizji komputerowej za pomocą smartfona z Androidem: 9 kroków (ze zdjęciami)
Hakowanie Hexbug Spider XL w celu dodania wizji komputerowej za pomocą smartfona z systemem Android: Jestem wielkim fanem oryginalnego Hexbug™ Pająk. Mam już kilkanaście i zhakowałem je wszystkie. Za każdym razem, gdy jeden z moich synów idzie do przyjaciół’ przyjęcie urodzinowe, przyjaciel dostaje Hexbug™ pająk w prezencie. Zhakowałem lub
HeadBot – samobalansujący robot do nauki i pomocy w zakresie STEM: 7 kroków (ze zdjęciami)
HeadBot – samobalansujący robot do uczenia się i docierania do przedmiotów STEM: Headbot – wysoki na dwie stopy, samobalansujący robot – jest pomysłem South Eugene Robotics Team (SERT, FRC 2521), konkurencyjnego zespołu robotyki szkół średnich w PIERWSZEJ Konkurs robotyki z Eugene w stanie Oregon. Ten popularny robot terenowy sprawia, że re
Autonomiczny dron z kamerą na podczerwień do pomocy pierwszym ratownikom: 7 kroków
Autonomiczny dron z kamerą na podczerwień do pomocy pierwszym ratownikom: Według raportu Światowej Organizacji Zdrowia każdego roku klęski żywiołowe zabijają około 90 000 osób i dotykają blisko 160 milionów ludzi na całym świecie. Klęski żywiołowe obejmują trzęsienia ziemi, tsunami, erupcje wulkanów, osuwiska, huragany, fale
Prawdziwa działająca różdżka Harry'ego Pottera przy użyciu wizji komputerowej: 8 kroków (ze zdjęciami)
Prawdziwie działająca różdżka Harry'ego Pottera przy użyciu wizji komputerowej: „Każda wystarczająco zaawansowana technologia jest nie do odróżnienia od magii” - Arthur C. ClarkeKilka miesięcy temu mój brat odwiedził Japonię i miał prawdziwe doświadczenie czarodziejów w czarodziejskim świecie Harry'ego Pottera w Universal Studios, które stało się
Przewodnik dla początkujących po mikrokontrolerach: 10 kroków (ze zdjęciami)
Przewodnik dla początkujących po mikrokontrolerach: Co mają wspólnego piloty, routery i roboty? Mikrokontrolery! W dzisiejszych czasach mikrokontrolery przyjazne dla początkujących są łatwe w użyciu i programowaniu za pomocą laptopa, kabla USB i (bezpłatnego) oprogramowania typu open source. Hurra!! Wszystkie