Съдържание:

Използване на Sonar, Lidar и Computer Vision на микроконтролери за подпомагане на хора със зрителни увреждания: 16 стъпки
Използване на Sonar, Lidar и Computer Vision на микроконтролери за подпомагане на хора със зрителни увреждания: 16 стъпки

Видео: Използване на Sonar, Lidar и Computer Vision на микроконтролери за подпомагане на хора със зрителни увреждания: 16 стъпки

Видео: Използване на Sonar, Lidar и Computer Vision на микроконтролери за подпомагане на хора със зрителни увреждания: 16 стъпки
Видео: Part 1 - Tom Swift and his Electric Runabout Audiobook by Victor Appleton (Chs 1-12) 2024, Юли
Anonim
Използване на Sonar, Lidar и Computer Vision на микроконтролери за подпомагане на хора със зрителни увреждания
Използване на Sonar, Lidar и Computer Vision на микроконтролери за подпомагане на хора със зрителни увреждания

Искам да създам интелигентна „бастун“, която да помогне на хората със зрителни увреждания много повече от съществуващите решения. Бастунът ще може да уведомява потребителя за предмети отпред или отстрани, като вдига шум в слушалките за съраунд звук. Бастунът също ще има малка камера и LIDAR (Light Detection and Ranging), така че да може да разпознава обекти и хора в стаята и да уведомява потребителя с помощта на слушалките. От съображения за безопасност слушалките няма да блокират целия шум, тъй като ще има микрофон, който може да филтрира всички ненужни звуци и да задържи клаксоните и хората да говорят. И накрая, системата ще има GPS, така че да може да дава указания и да показва на потребителя къде да отиде.

Моля, гласувайте за мен в конкурсите за микроконтролер и фитнес на открито!

Стъпка 1: Преглед на проекта

Преглед на проекта
Преглед на проекта
Преглед на проекта
Преглед на проекта
Преглед на проекта
Преглед на проекта

Според Световния достъп за слепи физическото движение е едно от най -големите предизвикателства за слепите хора. Пътуването или просто ходенето по претъпкана улица може да бъде много трудно. Традиционно единственото решение беше използването на общоизвестната „бяла бастун“, която се използва предимно за сканиране на околната среда чрез удряне на препятствията в близост до потребителя. По -добро решение би било устройство, което може да замени зрящия асистент, като предоставя информация за местоположението на препятствията, така че слепият човек да може да излезе в непозната среда и да се чувства в безопасност. По време на този проект беше разработено малко устройство, работещо с батерии, което отговаря на тези критерии. Устройството може да открие размера и местоположението на обекта с помощта на сензори, които измерват позицията на обектите спрямо потребителя, предават тази информация на микроконтролер и след това я преобразуват в аудио, за да предоставят информация на потребителя. Устройството е построено с помощта на налични търговски LIDAR (откриване и обхват на светлината), SONAR (звукова навигация и обхват) и технологии за компютърно виждане, свързани с микроконтролери и програмирани да осигуряват необходимия звуков изход за информация чрез слушалки или слушалки. Технологията за откриване е вградена в „бяла бастун“, за да покаже на другите състоянието на потребителя и да осигури допълнителна безопасност.

Стъпка 2: Основни изследвания

Основни изследвания
Основни изследвания
Основни изследвания
Основни изследвания
Основни изследвания
Основни изследвания
Основни изследвания
Основни изследвания

През 2017 г. Световната здравна организация съобщи, че в света има 285 милиона хора с увредено зрение, от които 39 милиона са напълно слепи. Повечето хора не мислят за проблемите, с които хората с увредено зрение се сблъскват всеки ден. Според Световния достъп за слепи физическото движение е едно от най -големите предизвикателства за слепите хора. Пътуването или просто ходенето по претъпкана улица може да бъде много трудно. Поради това много хора със зрителни увреждания предпочитат да доведат зрящ приятел или член на семейството, за да се ориентират в новите среди. Традиционно единственото решение беше използването на общоизвестната „бяла бастун“, която се използва предимно за сканиране на околната среда чрез удряне на препятствията в близост до потребителя. По -добро решение би било устройство, което може да замени зрящия асистент, като предоставя информация за местоположението на препятствията, така че слепият човек да може да излезе в непозната среда и да се чувства в безопасност. NavCog, сътрудничество между IBM и университета Carnegie Mellon, се опитаха да разрешат проблема, като създадоха система, която използва Bluetooth маяци и смартфони, за да помогне. Решението обаче беше тромаво и се оказа много скъпо за мащабни внедрявания. Моето решение решава това, като елиминира всяка нужда от външни устройства и използва глас, който да насочва потребителя през целия ден (Фигура 3). Предимството на технологията, вградена в „бяла бастун“, е, че тя сигнализира останалата част от света за състоянието на потребителя, което причинява промяна в поведението на околните хора.

Стъпка 3: Изисквания за проектиране

Изисквания към дизайна
Изисквания към дизайна

След като проучих наличните технологии, обсъдих възможните решения с специалистите по зрението относно най-добрия подход за подпомагане на хората с увредено зрение да се ориентират в заобикалящата ги среда. Таблицата по -долу изброява най -важните функции, необходими, за да може някой да премине към моето устройство.

Функция - описание:

  • Изчисление - Системата трябва да осигури бърза обработка на обменяната информация между потребителя и сензорите. Например, системата трябва да може да информира потребителя за препятствия отпред, които са на поне 2 метра разстояние.
  • Покритие - Системата трябва да предоставя услугите си на закрито и на открито, за да подобри качеството на живота на хората с увредено зрение.
  • Време - Системата трябва да работи както през деня, така и през нощта.
  • Обхват - Обхватът е разстоянието между потребителя и обекта, който системата ще открие. Идеалният минимален обхват е 0,5 m, докато максималният обхват трябва да бъде повече от 5 m. По -нататъшните разстояния биха били още по -добри, но по -предизвикателни за изчисляване.
  • Тип обект - Системата трябва да открие внезапната поява на обекти. Системата трябва да може да различава разликата между движещи се обекти и статични обекти.

Стъпка 4: Инженерно проектиране и избор на оборудване

Инженерно проектиране и избор на оборудване
Инженерно проектиране и избор на оборудване
Инженерно проектиране и избор на оборудване
Инженерно проектиране и избор на оборудване
Инженерно проектиране и избор на оборудване
Инженерно проектиране и избор на оборудване

След като разгледах много различни компоненти, реших да избера части, избрани от различните категории по -долу.

Цена на избрани части:

  • Zungle Panther: $ 149.99
  • LiDAR Lite V3: $ 149.99
  • LV-MaxSonar-EZ1: $ 29,95
  • Ултразвуков сензор - HC -SR04: $ 3,95
  • Raspberry Pi 3: $ 39.95
  • Arduino: $ 24.95
  • Kinect: $ 32.44
  • Floureon 11.1v 3s 1500mAh: $ 19.99
  • LM2596HV: $ 9,64

Стъпка 5: Избор на оборудване: Метод на взаимодействие

Избор на оборудване: Метод на взаимодействие
Избор на оборудване: Метод на взаимодействие
Избор на оборудване: Метод на взаимодействие
Избор на оборудване: Метод на взаимодействие

Реших да използвам гласовия контрол като метод за взаимодействие с устройството, защото наличието на множество бутони на бастун може да бъде предизвикателство за хора с увредено зрение, особено ако някои функции изискват комбинация от бутони. С гласово управление потребителят може да използва предварително зададени команди за комуникация с бастуна, което намалява потенциалните грешки.

Устройство: плюсове --- минуси:

  • Бутони: Няма грешка в командата при натискане на десния бутон --- Може да е трудно да се гарантира, че правилните бутони са натиснати
  • Гласово управление: Лесно, защото потребителят може да използва предварително зададени команди --- Неправилното произношение може да причини грешки

Стъпка 6: Избор на оборудване: Микроконтролер

Избор на оборудване: Микроконтролер
Избор на оборудване: Микроконтролер
Избор на оборудване: Микроконтролер
Избор на оборудване: Микроконтролер
Избор на оборудване: Микроконтролер
Избор на оборудване: Микроконтролер

Устройството използва Raspberry Pi поради ниската си цена и достатъчна процесорна мощност за изчисляване на картата на дълбочината. Intel Joule би бил предпочитаният вариант, но цената му би удвоила цената на системата, което не би било идеално за това устройство, което е разработено, за да осигури по -ниска цена за потребителите. Arduino беше използван в системата, защото може лесно да получи информация от сензори. BeagleBone и Intel Edison не бяха използвани поради ниското съотношение цена / производителност, което е лошо за тази система с ниска цена.

Микроконтролер: плюсове --- минуси:

  • Raspberry Pi: Има достатъчно процесорна мощ за намиране на препятствия и има вграден WiFi/Bluetooth --- Няма много опции за получаване на данни от сензори
  • Arduino: Лесно получаване на данни от малки сензори. т.е. LIDAR, Ultrasonic, SONAR и др. --- Няма достатъчно процесорна мощ за намиране на препятствия
  • Intel Edison: Може бързо да обработва препятствия с бърз процесор --- Изисква допълнителни части за разработчици, за да функционира за системата
  • Intel Joule: Има двойна скорост на обработка на всеки от микроконтролерите на потребителския пазар досега --- Много висока цена за тази система и трудна за взаимодействие с GPIO за взаимодействие със сензори
  • BeagleBone Black: Компактен и съвместим със сензори, използвани в проекта, като се използва входен изход за общо предназначение (GPIO) --- Няма достатъчно процесорна мощ за ефективно намиране на обекти

Стъпка 7: Избор на оборудване: Сензори

Избор на оборудване: Сензори
Избор на оборудване: Сензори
Избор на оборудване: Сензори
Избор на оборудване: Сензори
Избор на оборудване: Сензори
Избор на оборудване: Сензори

Използва се комбинация от няколко сензора, за да се постигне висока точност на местоположението. Kinect е основният сензор поради количеството площ, което може да сканира за препятствия наведнъж. LIDAR, което означава LIght Detection and Ranging, е метод за дистанционно наблюдение, който използва светлина под формата на импулсен лазер за измерване на разстояния от мястото, където сензорът е до обектите бързо; този сензор се използва, тъй като може да проследява зона до 40 метра (m) и тъй като може да сканира под различни ъгли, може да открие дали стъпките вървят нагоре или надолу. Сензорите за навигация и измерване на звука (SONAR) и ултразвуковите сензори се използват като резервно проследяване в случай, че Kinect пропусне полюс или удар в земята, който би представлявал опасност за потребителя. Сензорът 9 степени на свобода се използва за проследяване в каква посока е изправен потребителят, така че устройството да може да съхранява информацията за по -висока точност, насочвайки следващия път, когато човек върви на същото място.

Сензори: плюсове --- минуси:

  • Kinect V1: Може да проследява 3D обекти с --- Само една камера за откриване на обкръжението
  • Kinect V2: Има 3 инфрачервени камери и червена, зелена, синя, дълбочинна (RGB-D) камера за високо прецизно откриване на 3D обекти --- Може да се нагрее и може да се нуждае от охлаждащ вентилатор и е по-голям от другите сензори
  • LIDAR: Лъч, който може да проследява местоположения на разстояние до 40 м --- Трябва да бъде позициониран към обекта и може да гледа само в тази посока
  • SONAR: Лъч, който може да проследява 5 м разстояние, но в далечен обхват --- Малки предмети като пера могат да задействат сензора
  • Ултразвук: Има обхват до 3 m и е много евтин --- Разстоянията понякога могат да бъдат неточни
  • Сензор за 9 степени на свобода: Добър за определяне на ориентацията и скоростта на потребителя --- Ако нещо пречи на сензорите, изчисленията на разстоянието могат да бъдат изчислени неправилно

Стъпка 8: Избор на оборудване: Софтуер

Избор на оборудване: Софтуер
Избор на оборудване: Софтуер
Избор на оборудване: Софтуер
Избор на оборудване: Софтуер
Избор на оборудване: Софтуер
Избор на оборудване: Софтуер

Избраният софтуер за първите няколко прототипа, изградени със сензора Kinect V1, беше Freenect, но не беше много точен. При преминаването към Kinect V2 и Freenect2 резултатите от проследяването бяха значително подобрени поради подобреното проследяване, тъй като V2 има HD камера и 3 инфрачервени камери, за разлика от една камера на Kinect V1. Когато използвах OpenNi2 с Kinect V1, функциите бяха ограничени и не можех да контролирам някои от функциите на устройството.

Софтуер: плюсове --- минуси:

  • Freenect: Има по-ниско ниво на контрол за контрол на всичко --- Поддържа само Kinect V1
  • OpenNi2: Може лесно да създава данни от облака от точки от информационния поток от Kinect --- Поддържа само Kinect V1 и няма поддръжка за контрол на ниско ниво
  • Freenect2: Има по-ниско ниво на управление за сензорната лента --- Работи само за Kinect V2
  • ROS: Операционна система, идеална за програмиране на функциите на камерата --- Трябва да се инсталира на бърза SD карта, така че софтуерът да работи

Стъпка 9: Избор на оборудване: Други части

Избор на оборудване: Други части
Избор на оборудване: Други части
Избор на оборудване: Други части
Избор на оборудване: Други части

Литиево -йонните батерии са избрани поради това, че са леки, с голям капацитет на захранване и могат да се презареждат. Вариантът 18650 на литиево -йонната батерия има цилиндрична форма и перфектно се вписва в прототипа на бастуна. Първият прототип бастун е изработен от PVC тръба, тъй като е куха и намалява теглото на бастуна.

Стъпка 10: Разработка на системата: Създаване на хардуер Част 1

Разработка на система: Създаване на хардуер Част 1
Разработка на система: Създаване на хардуер Част 1
Разработка на система: Създаване на хардуер Част 1
Разработка на система: Създаване на хардуер Част 1
Разработка на система: Създаване на хардуер Част 1
Разработка на система: Създаване на хардуер Част 1

Първо трябва да разглобим Kinect, за да го направим по -лек и така, че да се побере вътре в бастуна. Започнах с премахването на целия външен корпус от Kinect, тъй като използваната пластмаса тежи много. След това трябваше да отрежа кабела, за да може да се премахне основата. Взех проводниците от показания на снимката конектор и ги запоях към usb кабел със сигнални проводници, а другите две връзки бяха за входното захранване 12V. Тъй като исках вентилаторът вътре в бастуна да работи с пълна мощност, за да охлади всички останали компоненти, отрязах конектора на вентилатора от Kinect и свързах 5V от Raspberry Pi. Направих и малък адаптер за проводника LiDAR, така че да може да се свързва директно към Raspberry Pi без никакви други системи между тях.

Случайно запоих бялата жица към черната, така че не гледайте изображенията за електрически схеми

Стъпка 11: Разработка на системата: Създаване на хардуер Част 2

Разработка на системата: Създаване на хардуер Част 2
Разработка на системата: Създаване на хардуер Част 2
Разработка на система: Създаване на хардуер Част 2
Разработка на система: Създаване на хардуер Част 2
Разработка на системата: Създаване на хардуер Част 2
Разработка на системата: Създаване на хардуер Част 2
Разработка на системата: Създаване на хардуер Част 2
Разработка на системата: Създаване на хардуер Част 2

Създадох регулатор, за да осигуря захранване на всички устройства, които изискват 5V като Raspberry Pi. Настроих регулатора, като поставих метър на изхода и настроих резистора така, че регулаторът да осигурява 5.05V. Поставих го малко по -високо от 5V, защото с течение на времето напрежението на батерията намалява и леко влияе на изходното напрежение. Направих и адаптер, който ми позволява да захранвам до 5 устройства, които изискват 12V от батерията.

Стъпка 12: Разработване на системата: Програмиране на системата Част 1

Разработка на системата: Програмиране на системата Част 1
Разработка на системата: Програмиране на системата Част 1
Разработка на системата: Програмиране на системата Част 1
Разработка на системата: Програмиране на системата Част 1
Разработка на системата: Програмиране на системата Част 1
Разработка на системата: Програмиране на системата Част 1

Една от най -предизвикателните части на тази система е програмирането. Когато за първи път накарах Kinect да играе с него, инсталирах програма, наречена RTAB Map, която взема потока от данни от Kinect и го преобразува в облак от точки. С облака от точки той създаде 3D изображение, което може да се завърти, така че да се види дълбочината на всички обекти. След като поиграх с него известно време и коригирах всички настройки, реших да инсталирам някакъв софтуер на Raspberry Pi, за да мога да видя потока от данни от Kinect. Последните две изображения по-горе показват какво може да произвежда Raspberry Pi при около 15-20 кадъра в секунда.

Препоръчано: