Мазмұны:

Көзі нашар көретіндерге микроконтроллерлерде Sonar, Lidar және Computer Vision қолдану: 16 қадам
Көзі нашар көретіндерге микроконтроллерлерде Sonar, Lidar және Computer Vision қолдану: 16 қадам

Бейне: Көзі нашар көретіндерге микроконтроллерлерде Sonar, Lidar және Computer Vision қолдану: 16 қадам

Бейне: Көзі нашар көретіндерге микроконтроллерлерде Sonar, Lidar және Computer Vision қолдану: 16 қадам
Бейне: Көзі нашар көретіндерге арналған кітапхана 2024, Қараша
Anonim
Көзі нашар көретіндерге көмектесу үшін микроконтроллерлерде Sonar, Lidar және Computer Vision қолдану
Көзі нашар көретіндерге көмектесу үшін микроконтроллерлерде Sonar, Lidar және Computer Vision қолдану

Мен көру қабілеті бұзылған адамдарға қолданыстағы шешімдерден гөрі көмектесе алатын интеллектуалды «таяқ» жасағым келеді. Таяқ пайдаланушыға көлемді дыбыс түріндегі құлаққапта шу шығару арқылы пайдаланушылардың алдында немесе бүйірінде орналасқан объектілер туралы хабарлауға мүмкіндік алады. Таяқта кішкентай камера мен LIDAR (Жарықты анықтау мен ауыстырып қосу) болады, ол бөлмедегі заттарды және адамдарды тани алады және құлаққапты қолдану арқылы пайдаланушыға хабар береді. Қауіпсіздік мақсатында құлаққаптар барлық шуды бөгемейді, өйткені микрофон болады, ол қажет емес дыбыстарды сүзіп, автомобильдің дыбысы мен адамдармен сөйлесуге мүмкіндік береді. Ақырында жүйеде GPS болады, ол бағыт береді және пайдаланушыға қайда бару керектігін көрсетеді.

Маған микроконтроллер мен ашық ауада фитнес байқауында дауыс беруіңізді өтінемін!

1 -қадам: Жобаға шолу

Жобаға шолу
Жобаға шолу
Жобаға шолу
Жобаға шолу
Жобаға шолу
Жобаға шолу

Дүниежүзілік соқырларға қол жетімділік бойынша, физикалық қозғалыс зағип жандар үшін ең үлкен қиындықтардың бірі болып табылады. Саяхаттау немесе адамдар көп жүретін көшеде жүру өте қиын болуы мүмкін. Дәстүр бойынша жалғыз шешім - қолданушыға жақын кедергілерге тап болу арқылы айналаны сканерлеу үшін қолданылатын «ақ таяқты» қолдану. Соқыр адам белгісіз ортаға шығып, өзін қауіпсіз сезінуі үшін кедергілердің орналасуы туралы ақпарат беру арқылы көретін көмекшіні алмастыратын құрылғы жақсы шешім болады. Бұл жоба барысында осы критерийлерге сәйкес келетін батареямен жұмыс істейтін шағын құрылғы жасалды. Құрылғы объектінің қолданушыға қатысты орнын өлшейтін сенсорлар көмегімен объектінің өлшемі мен орнын анықтай алады, бұл ақпаратты микроконтроллерге жібереді, содан кейін оны пайдаланушыға ақпарат беру үшін оны дыбысқа түрлендіреді. Құрылғы LIDAR (Light Detection and Ranging), SONAR (Sound Navigation and Ranging) коммерциялық коммерциялық технологиялары мен микроконтроллерлерге қосылған компьютерлік көру технологияларының көмегімен жасалған және құлаққаптар мен құлаққаптар арқылы қажетті дыбыстық ақпаратты шығаруды қамтамасыз ету үшін бағдарламаланған. Анықтау технологиясы басқаларға қолданушының жағдайын көрсету және қосымша қауіпсіздікті қамтамасыз ету үшін «ақ таяққа» енгізілген.

2 -қадам: фондық зерттеулер

Фондық зерттеулер
Фондық зерттеулер
Фондық зерттеулер
Фондық зерттеулер
Фондық зерттеулер
Фондық зерттеулер
Фондық зерттеулер
Фондық зерттеулер

2017 жылы Дүниежүзілік денсаулық сақтау ұйымы әлемде 285 миллион нашар көретін адамдар бар екенін хабарлады, олардың 39 миллионы мүлдем соқыр. Көптеген адамдар көру қабілеті нашар адамдар күн сайын кездесетін мәселелер туралы ойламайды. Дүниежүзілік соқырларға қол жетімділік бойынша, физикалық қозғалыс зағип жандар үшін ең үлкен қиындықтардың бірі болып табылады. Саяхаттау немесе адамдар көп жүретін көшеде жүру өте қиын болуы мүмкін. Осыған байланысты, көру қабілеті бұзылған көптеген адамдар жаңа ортаны табуға көмектесу үшін көретін досын немесе отбасы мүшесін алып келуді жөн көреді. Дәстүрлі түрде жалғыз шешім - қолданушыға жақын кедергілерге тап болу арқылы айналаны сканерлеу үшін қолданылатын «ақ таяқты» қолдану болды. Соқыр адам белгісіз ортаға шығып, өзін қауіпсіз сезінуі үшін кедергілердің орналасуы туралы ақпарат беру арқылы көретін көмекшіні алмастыратын құрылғы жақсы шешім болады. NavCog, IBM мен Карнеги Меллон Университетінің ынтымақтастығы, Bluetooth маяктары мен смартфондарын пайдаланатын жүйені құру арқылы мәселені шешуге тырысты. Алайда, шешім қиын болды және ауқымды іске асыру үшін өте қымбат болды. Менің шешімім сыртқы құрылғыларға қажеттілікті жою арқылы және пайдаланушыны күні бойы бағыттау үшін дауысты қолдану арқылы шешіледі (3 -сурет). Технологияның «ақ таяққа» енуінің артықшылығы - бұл әлемнің қалған бөлігінде пайдаланушының жағдайы туралы сигнал береді, бұл айналадағы адамдардың мінез -құлқының өзгеруіне әкеледі.

3 -қадам: Дизайнға қойылатын талаптар

Дизайн талаптары
Дизайн талаптары

Қол жетімді технологияларды зерттегеннен кейін мен көру қабілеті нашар адамдарға қоршаған ортаны басқаруға көмектесудің ең жақсы әдісі бойынша мүмкін болатын шешімдерді талқыладым. Төмендегі кестеде біреу менің құрылғыма ауысуы үшін қажет ең маңызды мүмкіндіктер берілген.

Ерекшелігі - Сипаттама:

  • Есептеу - Жүйе пайдаланушы мен сенсорлар арасындағы ақпарат алмасу үшін жылдам өңдеуді қамтамасыз етуі керек. Мысалы, жүйе пайдаланушыға кемінде 2 м қашықтықта тұрған кедергілер туралы хабарлауы керек.
  • Қамту - жүйе нашар көретін адамдардың өмір сүру сапасын жақсарту үшін өз қызметтерін үйде де, сыртта да ұсынуы қажет.
  • Уақыт - жүйе күндізгі уақытта, түнгі уақытта да жақсы жұмыс істеуі керек.
  • Ауқым - диапазон - бұл жүйе анықтайтын пайдаланушы мен объект арасындағы қашықтық. Ең жақсы диапазон - 0,5 м, ал максималды диапазон - 5 м. Басқа қашықтықтар одан да жақсы болар еді, бірақ есептеу қиынырақ болар еді.
  • Нысан түрі - жүйе объектілердің кенеттен пайда болуын анықтауы керек. Жүйе қозғалатын объектілер мен статикалық объектілер арасындағы айырмашылықты ажырата білуі керек.

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
  • Байланыс: $ 32.44
  • Floureon 11.1v 3s 1500mAh: $ 19.99
  • LM2596HV: $ 9.64

5 -қадам: Жабдықты таңдау: Өзара әрекеттесу әдісі

Жабдықты таңдау: өзара әрекеттесу әдісі
Жабдықты таңдау: өзара әрекеттесу әдісі
Жабдықты таңдау: өзара әрекеттесу әдісі
Жабдықты таңдау: өзара әрекеттесу әдісі

Мен құрылғыны өзара әрекеттесудің әдісі ретінде дауысты басқаруды қолдануды шештім, өйткені таяқшада бірнеше түймелердің болуы нашар көретін адамдарға қиын болуы мүмкін, әсіресе кейбір функцияларға түймелердің тіркесімі қажет болса. Дауысты басқарудың көмегімен пайдаланушы таяқпен байланысу үшін алдын ала орнатылған командаларды қолдана алады, бұл ықтимал қателерді азайтады.

Құрылғы: Артықшылықтары --- Кемшіліктері:

  • Түймелер: Оң жақ батырманы басқанда командалық қате болмайды --- Дұрыс түймелердің басылғанына көз жеткізу қиын болуы мүмкін
  • Дауысты басқару: Оңай, себебі пайдаланушы алдын ала орнатылған командаларды қолдана алады --- Дұрыс айтылмау қателерді тудыруы мүмкін

6 -қадам: жабдықты таңдау: микроконтроллер

Жабдықты таңдау: микроконтроллер
Жабдықты таңдау: микроконтроллер
Жабдықты таңдау: микроконтроллер
Жабдықты таңдау: микроконтроллер
Жабдықты таңдау: микроконтроллер
Жабдықты таңдау: микроконтроллер

Құрылғы Raspberry Pi -ді төмен бағамен және тереңдіктің картасын есептеу үшін жеткілікті өңдеу қуатымен пайдаланды. Intel Joule таңдаулы нұсқа болар еді, бірақ оның бағасы жүйенің құнын екі есеге арттырар еді, бұл қолданушылар үшін арзанырақ опцияны қамтамасыз ету үшін жасалған құрылғыға сәйкес келмейді. Ардуино жүйеде қолданылды, себебі ол сенсорлардан ақпаратты оңай алады. BeagleBone және Intel Edison бағасы мен өнімділіктің төмен қатынасына байланысты қолданылмады, бұл төмен баға жүйесі үшін нашар.

Микроконтроллер: Артықшылықтары --- Кемшіліктері:

  • Raspberry Pi: кедергілерді табу үшін өңдеу қабілеті жеткілікті және WiFi/Bluetooth қосылған-сенсорлардан деректерді алудың көптеген нұсқалары жоқ
  • Arduino: Кішкене сенсорлардан деректерді оңай алыңыз. яғни. LIDAR, Ультрадыбыстық, SONAR және т.б.-Кедергілерді табу үшін өңдеу қуаты жеткіліксіз
  • Intel Эдисон: жылдам процессор көмегімен кедергілерді тез өңдей алады-жүйеге жұмыс істеу үшін қосымша әзірлеуші бөліктерін қажет етеді
  • Intel Joule: тұтыну нарығында кез келген микроконтроллерлердің өңдеу жылдамдығы екі есе жоғары-бұл жүйе үшін өте жоғары баға және сенсорлық өзара әрекеттесу үшін GPIO-мен өзара әрекеттесу қиын.
  • BeagleBone Black: Жалпы мақсатты кіріс шығысы (GPIO) көмегімен жобада қолданылатын сенсорлармен ықшам және үйлесімді-объектілерді тиімді табу үшін өңдеу қуаты жеткіліксіз.

7 -қадам: Жабдықты таңдау: датчиктер

Жабдықты таңдау: датчиктер
Жабдықты таңдау: датчиктер
Жабдықты таңдау: датчиктер
Жабдықты таңдау: датчиктер
Жабдықты таңдау: датчиктер
Жабдықты таңдау: датчиктер

Орналасудың жоғары дәлдігін алу үшін бірнеше сенсорлардың комбинациясы қолданылады. Kinect - негізгі сенсор, себебі ол бір уақытта кедергілерді іздей алады. LIDAR - LIght Detection and Ranging - бұл сенсор орналасқан объектілерден қашықтықты өлшеу үшін импульсті лазер түріндегі жарықты қолданатын қашықтықтан зондтау әдісі; бұл сенсор пайдаланылады, себебі ол 40 метр (м) дейінгі қашықтықты қадағалай алады және әр түрлі бұрыштарда сканерлейтіндіктен, ол кез келген қадамдардың жоғары немесе төмен бара жатқанын анықтай алады. SOund навигациясы мен ауқымы (SONAR) және ультрадыбыстық сенсорлар, егер Kinect пайдаланушыға қауіп төндіретін жерге тірек немесе соққы жіберіп алса, резервтік бақылау ретінде қолданылады. 9 дәрежелі бостандық сенсоры пайдаланушы қай бағытта тұрғанын бақылау үшін пайдаланылады, осылайша құрылғы ақпаратты сол жерде келесі рет жүргенде жоғары дәлдікте бағыттау үшін сақтай алады.

Датчиктер: Артықшылықтары --- Кемшіліктері:

  • Kinect V1: Айналаны анықтау үшін тек бір камерамен 3D нысандарын бақылай алады
  • Kinect V2: 3 инфрақызыл камера мен жоғары дәлдіктегі 3D нысанды анықтауға арналған Қызыл, Жасыл, Көк, Тереңдігі (RGB-D) камерасы бар-Қыздыруға болады және салқындатқыш желдеткіш қажет болуы мүмкін және басқа сенсорларға қарағанда үлкен
  • LIDAR: 40 м қашықтықтағы орындарды бақылай алатын сәуле-объектіге қарай орналасуы керек және тек сол жаққа қарай алады
  • SONAR: 5 м қашықтықта жүре алатын сәуле, бірақ алыс қашықтықта-қауырсын сияқты ұсақ заттар сенсорды іске қосады.
  • Ультрадыбыстық: 3 м дейін диапазонға ие және өте қымбат емес-қашықтықтар кейде дәл болмауы мүмкін
  • 9 бостандық сенсорының дәрежесі: пайдаланушының бағыты мен жылдамдығын сезінуге жақсы --- Егер сенсорларға кедергі келтіретін нәрсе болса, қашықтықты дұрыс есептемеуге болады.

8 -қадам: жабдықты таңдау: бағдарламалық қамтамасыз ету

Жабдықты таңдау: БҚ
Жабдықты таңдау: БҚ
Жабдықты таңдау: бағдарламалық қамтамасыз ету
Жабдықты таңдау: бағдарламалық қамтамасыз ету
Жабдықты таңдау: бағдарламалық қамтамасыз ету
Жабдықты таңдау: бағдарламалық қамтамасыз ету

Kinect V1 сенсорымен жасалған алғашқы бірнеше прототиптер үшін таңдалған бағдарламалық жасақтама Freenect болды, бірақ ол дәл емес еді. Kinect V2 мен Freenect2 -ге ауысқанда, бақылау нәтижелері айтарлықтай жақсарды, себебі V2 -де HD камерасы мен Kinect V1 -дегі бір камерадан айырмашылығы 3 инфрақызыл камерасы бар. Мен OpenNi2 -ді Kinect V1 -мен қолданған кезде, функциялар шектеулі болды және мен құрылғының кейбір функцияларын басқара алмадым.

Бағдарламалық қамтамасыз ету: Артықшылықтары --- Кемшіліктері:

  • Freenect: Барлығын басқаруға арналған бақылаудың төменгі деңгейі бар --- Тек Kinect V1 қолдайды
  • OpenNi2: Kinect ақпарат ағынынан нүктелік бұлтты деректерді оңай құра алады-тек Kinect V1-ді қолдайды және төменгі деңгейдегі басқаруды қолдамайды.
  • Freenect2: сенсорлық жолақты басқарудың төменгі деңгейі бар --- тек Kinect V2 үшін жұмыс істейді
  • ROS: Камера функцияларын бағдарламалауға ыңғайлы операциялық жүйе --- Бағдарламалық қамтамасыз ету жұмыс істеуі үшін жылдам SD картасына орнату қажет.

9 -қадам: жабдықты таңдау: басқа бөлшектер

Жабдықты таңдау: басқа бөлшектер
Жабдықты таңдау: басқа бөлшектер
Жабдықты таңдау: басқа бөлшектер
Жабдықты таңдау: басқа бөлшектер

Литий -иондық аккумуляторлар жеңіл, қуаттылығы жоғары және қайта зарядталатын болғандықтан таңдалды. Литий -ионды аккумулятордың 18650 нұсқасы цилиндрлік пішінге ие және қамыс прототипіне өте жақсы сәйкес келеді. Бірінші қамыс прототипі ПВХ құбырынан жасалған, себебі ол қуыс және қамыстың салмағын азайтады.

10 -қадам: Жүйені дамыту: аппараттық құралдарды жасау 1 -бөлім

Жүйені дамыту: аппараттық құралдарды құру 1 -бөлім
Жүйені дамыту: аппараттық құралдарды құру 1 -бөлім
Жүйені дамыту: аппараттық құралдарды құру 1 -бөлім
Жүйені дамыту: аппараттық құралдарды құру 1 -бөлім
Жүйені дамыту: аппараттық құралдарды құру 1 -бөлім
Жүйені дамыту: аппараттық құралдарды құру 1 -бөлім

Алдымен біз Kinect -ті жеңіл етіп, қамыстың ішіне сыйып кетуі үшін бөлшектеуіміз керек. Мен Kinect -тен барлық сыртқы корпусты алып тастай бастадым, себебі қолданылатын пластиктің массасы көп. Содан кейін мен негізді алып тастау үшін кабельді кесуге тура келді. Мен сымдарды суретте көрсетілген қосқыштан алып, сигналдық сымдары бар USB кабеліне дәнекерледім, ал қалған екі қосылым 12 В кіріс қуатына арналған. Мен таяқшаның ішіндегі желдеткіштің барлық басқа компоненттерді салқындату үшін толық қуатта жұмыс істеуін қалағандықтан, мен желдеткішті Kinect -тен ажыратып, Raspberry Pi -ден 5В сымды жалғадым. Мен LiDAR сымына шағын адаптер жасадым, ол басқа жүйелерсіз тікелей Raspberry Pi -ге қосыла алады.

Мен кездейсоқ ақ сымды қара сымға дәнекерледім, сондықтан сымдар схемасына арналған суреттерге қарамаңыз

11 -қадам: Жүйені дамыту: аппараттық құралдарды жасау 2 -бөлім

Жүйені дамыту: аппараттық құралдарды құру 2 -бөлім
Жүйені дамыту: аппараттық құралдарды құру 2 -бөлім
Жүйені дамыту: аппараттық құралдарды құру 2 -бөлім
Жүйені дамыту: аппараттық құралдарды құру 2 -бөлім
Жүйені дамыту: аппараттық құралдарды құру 2 -бөлім
Жүйені дамыту: аппараттық құралдарды құру 2 -бөлім
Жүйені дамыту: аппараттық құралдарды құру 2 -бөлім
Жүйені дамыту: аппараттық құралдарды құру 2 -бөлім

Мен Raspberry Pi сияқты 5В қажет барлық құрылғыларға қуат беру үшін реттегіш бөлігін жасадым. Мен реттегішті шығысқа есептегіш қойып, резисторды реттегіш 5,05 В беретін етіп реттеу арқылы реттедім. Мен оны 5В -тан сәл жоғары қойдым, себебі уақыт өте келе батарея кернеуі төмендейді және шығыс кернеуіне аздап әсер етеді. Мен сондай -ақ батареядан 12В қажет 5 құрылғыға дейін қуат алуға мүмкіндік беретін адаптер жасадым.

12 -қадам: Жүйені әзірлеу: Жүйені бағдарламалау 1 -бөлім

Жүйені дамыту: Жүйені бағдарламалау 1 -бөлім
Жүйені дамыту: Жүйені бағдарламалау 1 -бөлім
Жүйені дамыту: Жүйені бағдарламалау 1 -бөлім
Жүйені дамыту: Жүйені бағдарламалау 1 -бөлім
Жүйені дамыту: Жүйені бағдарламалау 1 -бөлім
Жүйені дамыту: Жүйені бағдарламалау 1 -бөлім

Бұл жүйенің ең қиын бөліктерінің бірі - бағдарламалау. Мен Kinect -ті ойнауға алғаш рет қол жеткізген кезде, мен Kinect -тен деректер ағынын алатын және оны нүктелік бұлтқа айналдыратын RTAB Map деп аталатын бағдарламаны орнаттым. Бұлтты нүктенің көмегімен ол айналдыруға болатын 3D кескінін жасады, сондықтан барлық объектілердің орналасқан жерінің тереңдігін қараңыз. Онымен біраз ойнап, барлық параметрлерді реттегеннен кейін, мен Kinect -тен деректер ағынын көруге мүмкіндік беру үшін Raspberry Pi -ге кейбір бағдарламалық жасақтаманы орнатуды шештім. Жоғарыдағы соңғы екі суретте Raspberry Pi секундына 15-20 кадрға дейін не шығара алатыны көрсетілген.

Ұсынылған: