Obsah:

Použití sonaru, lidaru a počítačové vize na mikrokontrolérech k pomoci zrakově postiženým: 16 kroků
Použití sonaru, lidaru a počítačové vize na mikrokontrolérech k pomoci zrakově postiženým: 16 kroků

Video: Použití sonaru, lidaru a počítačové vize na mikrokontrolérech k pomoci zrakově postiženým: 16 kroků

Video: Použití sonaru, lidaru a počítačové vize na mikrokontrolérech k pomoci zrakově postiženým: 16 kroků
Video: Instalace, flash a kalibrace FC - Jak na Betaflight 4.4. (1) | 2024 FYFT.cz 2024, Červenec
Anonim
Používání sonaru, lidaru a počítačového vidění na mikrokontrolérech k pomoci zrakově postiženým
Používání sonaru, lidaru a počítačového vidění na mikrokontrolérech k pomoci zrakově postiženým

Chci vytvořit inteligentní „hůl“, která může lidem se zrakovým postižením pomoci mnohem více než stávající řešení. Hůl bude schopna upozornit uživatele na objekty vpředu nebo po stranách vydáním zvuku ve sluchátkách typu prostorového zvuku. Hůl bude mít také malou kameru a LIDAR (detekce světla a dosah), aby dokázala rozpoznat předměty a lidi v místnosti a upozornit uživatele pomocí sluchátek. Z bezpečnostních důvodů nebudou sluchátka blokovat veškerý hluk, protože bude existovat mikrofon, který dokáže odfiltrovat všechny nepotřebné zvuky a udržet rohy auta a lidi mluvit. Nakonec bude mít systém GPS, aby mohl dávat pokyny a ukazovat uživateli, kam má jít.

Hlasujte prosím pro mě v soutěžích o mikrokontrolér a venkovní fitness!

Krok 1: Přehled projektu

Přehled projektu
Přehled projektu
Přehled projektu
Přehled projektu
Přehled projektu
Přehled projektu

Podle World Access for the Blind je fyzický pohyb jednou z největších výzev pro nevidomé. Cestování nebo jen procházení přeplněnou ulicí může být velmi obtížné. Tradičně jediným řešením bylo použití běžně známé „bílé hůlky“, která se primárně používá ke skenování okolí zasažením překážek v blízkosti uživatele. Lepším řešením by bylo zařízení, které může nahradit zrakově postiženého asistenta poskytováním informací o umístění překážek, aby nevidomý mohl vyjít ven v neznámém prostředí a cítit se bezpečně. Během tohoto projektu bylo vyvinuto malé zařízení napájené baterií, které splňuje tato kritéria. Zařízení může detekovat velikost a umístění objektu pomocí senzorů, které měří polohu objektů ve vztahu k uživateli, přenášejí tyto informace do mikrokontroléru a poté je převádějí na zvuk, aby poskytovaly informace uživateli. Zařízení bylo postaveno pomocí dostupných komerčních technologií LIDAR (Light Detection and Ranging), SONAR (Sound Navigation and Ranging) a technologií počítačového vidění propojených s mikrokontroléry a naprogramovaných tak, aby poskytovaly požadovaný zvukový informační výstup pomocí sluchátek nebo sluchátek. Detekční technologie byla integrována do „bílé hůlky“, aby ostatním indikovala stav uživatele a poskytla dodatečnou bezpečnost.

Krok 2: Průzkum pozadí

Pozadí výzkumu
Pozadí výzkumu
Pozadí výzkumu
Pozadí výzkumu
Pozadí výzkumu
Pozadí výzkumu
Pozadí výzkumu
Pozadí výzkumu

V roce 2017 Světová zdravotnická organizace uvedla, že na celém světě je 285 milionů zrakově postižených, z nichž 39 milionů je zcela slepých. Většina lidí nemyslí na problémy, se kterými se zrakově postižení lidé potýkají každý den. Podle World Access for the Blind je fyzický pohyb jednou z největších výzev pro nevidomé. Cestování nebo jen procházení přeplněnou ulicí může být velmi obtížné. Z tohoto důvodu mnoho lidí se zrakovým postižením upřednostňuje přivedení vidícího přítele nebo člena rodiny, který jim pomůže procházet se novým prostředím. Tradičně jediným řešením bylo použití běžně známé „bílé hůlky“, která se primárně používá ke skenování okolí zasažením překážek v blízkosti uživatele. Lepším řešením by bylo zařízení, které může nahradit zrakově postiženého asistenta poskytováním informací o umístění překážek, aby nevidomý mohl vyjít ven v neznámém prostředí a cítit se bezpečně. NavCog, spolupráce mezi IBM a Carnegie Mellon University, se pokusila tento problém vyřešit vytvořením systému, který k vedení pomůže pomocí Bluetooth majáků a chytrých telefonů. Řešení však bylo těžkopádné a ukázalo se, že je velmi nákladné pro rozsáhlé implementace. Moje řešení to řeší tak, že eliminuje potřebu externích zařízení a pomocí hlasu vede uživatele po celý den (obrázek 3). Výhoda technologie vložené do „bílé hůlky“spočívá v tom, že signalizuje zbytku světa stav uživatele, který způsobuje změnu v chování okolních lidí.

Krok 3: Požadavky na design

Požadavky na design
Požadavky na design

Po prozkoumání dostupných technologií jsem s odborníky na vidění diskutoval o možných řešeních ohledně nejlepšího přístupu k pomoci zrakově postiženým orientovat se ve svém prostředí. V následující tabulce jsou uvedeny nejdůležitější funkce, které někdo potřebuje k přechodu na mé zařízení.

Funkce - Popis:

  • Výpočet - systém musí zajistit rychlé zpracování vyměněných informací mezi uživatelem a senzory. Systém například musí být schopen informovat uživatele o překážkách vpředu, které jsou vzdáleny alespoň 2 m.
  • Pokrytí - Systém musí poskytovat své služby uvnitř i venku, aby zlepšil kvalitu života zrakově postižených lidí.
  • Čas - Systém by měl fungovat stejně dobře ve dne, jako v noci.
  • Dosah - rozsah je vzdálenost mezi uživatelem a objektem, který má systém detekovat. Ideální minimální dosah je 0,5 m, zatímco maximální dosah by měl být více než 5 m. Další vzdálenosti by byly ještě lepší, ale náročnější na výpočet.
  • Typ objektu - Systém by měl detekovat náhlý výskyt objektů. Systém by měl být schopen rozpoznat rozdíl mezi pohybujícími se objekty a statickými objekty.

Krok 4: Engineering Design a výběr zařízení

Engineering Design a výběr zařízení
Engineering Design a výběr zařízení
Engineering Design a výběr zařízení
Engineering Design a výběr zařízení
Engineering Design a výběr zařízení
Engineering Design a výběr zařízení

Poté, co jsem se podíval na mnoho různých komponent, rozhodl jsem se pro díly vybrané z níže uvedených různých kategorií.

Cena vybraných dílů:

  • Zungle Panther: 149,99 $
  • LiDAR Lite V3: 149,99 $
  • LV-MaxSonar-EZ1: 29,95 $
  • Ultrazvukový senzor - HC -SR04: 3,95 $
  • Raspberry Pi 3: 39,95 $
  • Arduino: 24,95 $
  • Kinect: 32,44 $
  • Floureon 11,1 v 3 s 1500 mAh: 19,99 $
  • LM2596HV: 9,64 USD

Krok 5: Výběr zařízení: Způsob interakce

Výběr zařízení: Způsob interakce
Výběr zařízení: Způsob interakce
Výběr zařízení: Způsob interakce
Výběr zařízení: Způsob interakce

Rozhodl jsem se použít hlasové ovládání jako metodu interakce se zařízením, protože mít více tlačítek na hůlce může být pro zrakově postiženého člověka náročné, zvláště pokud některé funkce vyžadují kombinaci tlačítek. Pomocí hlasového ovládání může uživatel používat přednastavené příkazy ke komunikaci s hůlkou, což snižuje potenciální chyby.

Zařízení: Klady --- Nevýhody:

  • Tlačítka: Žádná chyba příkazu při stisknutí pravého tlačítka --- Zajistit stisknutí správných tlačítek může být náročné
  • Hlasové ovládání: Snadné, protože uživatel může používat přednastavené příkazy --- Nesprávná výslovnost může způsobit chyby

Krok 6: Výběr zařízení: Mikrokontrolér

Výběr zařízení: Mikrokontrolér
Výběr zařízení: Mikrokontrolér
Výběr zařízení: Mikrokontrolér
Výběr zařízení: Mikrokontrolér
Výběr zařízení: Mikrokontrolér
Výběr zařízení: Mikrokontrolér

Zařízení používalo Raspberry Pi kvůli jeho nízkým nákladům a dostatečnému výpočetnímu výkonu pro výpočet hloubkové mapy. Intel Joule by byl upřednostňovanou volbou, ale jeho cena by zdvojnásobila náklady na systém, což by nebylo ideální zařízení, které bylo vyvinuto tak, aby poskytovalo uživatelům nižší náklady. Arduino bylo použito v systému, protože může snadno získávat informace ze senzorů. BeagleBone a Intel Edison nebyly použity kvůli nízkému poměru ceny a výkonu, což je pro tento nízkonákladový systém špatné.

Mikrokontrolér: Klady --- Nevýhody:

  • Raspberry Pi: Má dostatečný výpočetní výkon pro hledání překážek a má integrované WiFi/Bluetooth --- Není mnoho možností pro příjem dat ze senzorů
  • Arduino: Snadný příjem dat z malých senzorů. tj. LIDAR, Ultrazvuk, SONAR atd. --- Nedostatečný výpočetní výkon pro hledání překážek
  • Intel Edison: Dokáže rychle zpracovat překážky s rychlým procesorem --- Pro fungování systému vyžaduje další vývojářské kousky
  • Intel Joule: Má dvojnásobnou rychlost zpracování než kterýkoli z mikrokontrolérů na spotřebitelském trhu k dnešnímu dni --- Velmi vysoké náklady na tento systém a obtížná interakce s GPIO pro interakci senzorů
  • BeagleBone Black: Kompaktní a kompatibilní se senzory používanými v projektu pomocí vstupního výstupu pro obecné účely (GPIO) --- Nedostatek výpočetního výkonu k efektivnímu hledání objektů

Krok 7: Výběr zařízení: Senzory

Výběr vybavení: Senzory
Výběr vybavení: Senzory
Výběr vybavení: Senzory
Výběr vybavení: Senzory
Výběr vybavení: Senzory
Výběr vybavení: Senzory

K dosažení vysoké přesnosti polohy se používá kombinace několika senzorů. Kinect je hlavním senzorem, protože dokáže najednou vyhledat překážky. LIDAR, což je zkratka pro LIght Detection and Ranging, je metoda dálkového snímání, která využívá světlo ve formě pulzního laseru k měření vzdáleností od místa, kde je senzor k objektům rychle; tento senzor se používá, protože dokáže sledovat oblast až 40 metrů (m) a protože dokáže skenovat pod různými úhly, dokáže detekovat, zda nějaké kroky směřují nahoru nebo dolů. Sonarové a sonarové sondy SOund a ultrazvukové senzory se používají jako záložní sledování pro případ, že by Kinect minul tyč nebo náraz do země, který by pro uživatele představoval nebezpečí. Senzor 9 stupňů svobody se používá ke sledování směru, kterému je uživatel otočen, aby zařízení mohlo ukládat informace pro vyšší přesnost nasměrování příště, když osoba jde na stejné místo.

Senzory: Klady --- Nevýhody:

  • Kinect V1: Může sledovat 3D objekty pomocí --- Pouze jedna kamera pro detekci okolí
  • Kinect V2: Má 3 infračervené kamery a červenou, zelenou, modrou a hloubkovou (RGB-D) kameru pro vysoce přesnou detekci 3D objektů --- Může se zahřívat a může vyžadovat chladicí ventilátor a je větší než ostatní senzory
  • LIDAR: Paprsek, který dokáže sledovat umístění až do vzdálenosti 40 m --- Musí být umístěn k objektu a může se dívat pouze tímto směrem
  • SONAR: Paprsek, který může sledovat 5 m daleko, ale ve velkém dosahu --- Malé předměty, jako je peří, mohou spustit senzor
  • Ultrazvuk: Má dosah až 3 m a je velmi levný --- Vzdálenosti mohou být občas nepřesné
  • 9 stupňů volnosti Senzor: Dobré pro snímání orientace a rychlosti uživatele --- Pokud něco narušuje senzory, výpočty vzdálenosti mohou být nesprávně vypočítány

Krok 8: Výběr zařízení: Software

Výběr zařízení: Software
Výběr zařízení: Software
Výběr zařízení: Software
Výběr zařízení: Software
Výběr zařízení: Software
Výběr zařízení: Software

Vybraný software pro prvních pár prototypů postavených na senzoru Kinect V1 byl Freenect, ale nebyl příliš přesný. Při přechodu na Kinect V2 a Freenect2 byly výsledky sledování výrazně zlepšeny díky vylepšenému sledování, protože V2 má HD kameru a 3 infračervené kamery oproti jedné kameře na Kinect V1. Když jsem používal OpenNi2 s Kinect V1, funkce byly omezené a nemohl jsem ovládat některé funkce zařízení.

Software: Klady --- Nevýhody:

  • Freenect: Má nižší úroveň ovládání pro ovládání všeho --- Podporuje pouze Kinect V1
  • OpenNi2: Může snadno vytvářet data mračna bodů z informačního toku z Kinectu --- Podporuje pouze Kinect V1 a nemá podporu pro ovládání nízké úrovně
  • Freenect2: Má nižší úroveň ovládání senzorové lišty --- Funguje pouze pro Kinect V2
  • ROS: Operační systém ideální pro programování funkcí kamery --- Je třeba jej nainstalovat na rychlou kartu SD, aby software fungoval

Krok 9: Výběr vybavení: Ostatní díly

Výběr vybavení: Ostatní díly
Výběr vybavení: Ostatní díly
Výběr vybavení: Ostatní díly
Výběr vybavení: Ostatní díly

Lithium -iontové baterie byly vybrány kvůli tomu, že jsou lehké, mají vysokou výkonovou kapacitu a jsou dobíjecí. Varianta 18650 lithium -iontové baterie má válcový tvar a perfektně zapadá do prototypu hůlky. 1. prototyp hůlky je vyroben z PVC trubky, protože je dutý a snižuje hmotnost hůlky.

Krok 10: Vývoj systému: Vytvoření hardwaru Část 1

Vývoj systému: Vytvoření hardwaru Část 1
Vývoj systému: Vytvoření hardwaru Část 1
Vývoj systému: Vytvoření hardwaru Část 1
Vývoj systému: Vytvoření hardwaru Část 1
Vývoj systému: Vytvoření hardwaru Část 1
Vývoj systému: Vytvoření hardwaru Část 1

Nejprve musíme Kinect rozebrat, aby byl lehčí a aby se vešel do hůlky. Začal jsem odstraněním veškerého vnějšího pláště z Kinectu, protože použitý plast váží SPOUSTU. Poté jsem musel kabel přestřihnout, aby bylo možné odstranit základnu. Vzal jsem vodiče z konektoru zobrazeného na obrázku a připájel je k USB kabelu se signálními vodiči a další dvě připojení byla pro vstupní napětí 12V. Protože jsem chtěl, aby ventilátor uvnitř hůlky běžel na plný výkon, aby ochladil všechny ostatní komponenty, odpojil jsem konektor od ventilátoru z Kinectu a zapojil 5V z Raspberry Pi. Také jsem vytvořil malý adaptér pro vodič LiDAR, aby se mohl připojit přímo k Raspberry Pi bez dalších systémů mezi nimi.

Omylem jsem připájel bílý vodič k černému, takže se nedívejte na obrázky pro schémata zapojení

Krok 11: Vývoj systému: Vytvoření hardwaru Část 2

Vývoj systému: Vytvoření hardwaru Část 2
Vývoj systému: Vytvoření hardwaru Část 2
Vývoj systému: Vytvoření hardwaru Část 2
Vývoj systému: Vytvoření hardwaru Část 2
Vývoj systému: Vytvoření hardwaru Část 2
Vývoj systému: Vytvoření hardwaru Část 2
Vývoj systému: Vytvoření hardwaru Část 2
Vývoj systému: Vytvoření hardwaru Část 2

Vytvořil jsem kus regulátoru, který napájí všechna zařízení, která vyžadují 5 V, jako je Raspberry Pi. Regulátor jsem vyladil tak, že jsem na výstup umístil měřič a nastavil odpor tak, aby regulátor poskytoval 5,05V. Dal jsem to trochu vyšší než 5V, protože v průběhu času napětí baterie klesá a mírně ovlivňuje výstupní napětí. Také jsem vytvořil adaptér, který mi umožňuje napájet až 5 zařízení, která vyžadují 12 V z baterie.

Krok 12: Vývoj systému: Programování systému Část 1

Vývoj systému: Programování systému Část 1
Vývoj systému: Programování systému Část 1
Vývoj systému: Programování systému Část 1
Vývoj systému: Programování systému Část 1
Vývoj systému: Programování systému Část 1
Vývoj systému: Programování systému Část 1

Jednou z nejnáročnějších částí tohoto systému je programování. Když jsem poprvé dostal Kinect k hraní, nainstaloval jsem program s názvem RTAB Map, který odebírá datový proud z Kinectu a převádí jej do mračna bodů. S mračnem bodů vytvořil 3D obraz, který lze otáčet, abyste viděli hloubku všech objektů. Poté, co jsem si s tím chvíli pohrával a upravil všechna nastavení, rozhodl jsem se nainstalovat na Raspberry Pi nějaký software, který mi umožní vidět datový proud z Kinectu. Poslední dva obrázky výše ukazují, co dokáže Raspberry Pi produkovat přibližně 15–20 snímků za sekundu.

Doporučuje: