Mundarija:

Ko'zi ojizlarga yordam berish uchun mikrokontrollerlarda Sonar, Lidar va Kompyuter Vizionidan foydalanish: 16 qadam
Ko'zi ojizlarga yordam berish uchun mikrokontrollerlarda Sonar, Lidar va Kompyuter Vizionidan foydalanish: 16 qadam

Video: Ko'zi ojizlarga yordam berish uchun mikrokontrollerlarda Sonar, Lidar va Kompyuter Vizionidan foydalanish: 16 qadam

Video: Ko'zi ojizlarga yordam berish uchun mikrokontrollerlarda Sonar, Lidar va Kompyuter Vizionidan foydalanish: 16 qadam
Video: 2023 yilda Nogironlarga qanday imtiyoz va qulayliklar yaratiladi? 2024, Iyun
Anonim
Ko'zi ojizlarga yordam berish uchun mikrokontrollerlarda Sonar, Lidar va Kompyuter Vizionidan foydalanish
Ko'zi ojizlarga yordam berish uchun mikrokontrollerlarda Sonar, Lidar va Kompyuter Vizionidan foydalanish

Men vizual nuqsonli odamlarga mavjud echimlardan ko'ra ko'proq yordam beradigan aqlli "qamish" yaratmoqchiman. Tayoq foydalanuvchini old yoki yon tomonidagi narsalar haqida atrofdagi tovushli minigarnituralarda ovoz chiqarib xabardor qilishi mumkin bo'ladi. Kamarda kichik kamera va LIDAR (nurni aniqlash va o'lchash) bo'ladi, shunda u xonadagi narsalar va odamlarni taniy oladi va minigarnituralar yordamida foydalanuvchini xabardor qiladi. Xavfsizlik nuqtai nazaridan, minigarnituralar barcha shovqinlarni to'sib qo'ymaydi, chunki keraksiz tovushlarni filtrlaydigan, avtomobil shoxi va odamlar gaplashadigan mikrofon bo'ladi. Nihoyat, tizim GPS -ga ega bo'ladi, u yo'nalish beradi va foydalanuvchiga qaerga borishni ko'rsatib beradi.

Iltimos, menga mikrokontroller va ochiq havoda fitnes tanlovlarida ovoz bering!

1 -qadam: Loyihaning umumiy ko'rinishi

Loyihaning umumiy ko'rinishi
Loyihaning umumiy ko'rinishi
Loyihaning umumiy ko'rinishi
Loyihaning umumiy ko'rinishi
Loyihaning umumiy ko'rinishi
Loyihaning umumiy ko'rinishi

Ko'zi ojizlar uchun World Access ma'lumotlariga ko'ra, jismoniy harakatlar ko'rlar uchun eng katta muammolardan biridir. Sayohat qilish yoki olomon ko'chada yurish juda qiyin bo'lishi mumkin. An'anaga ko'ra, yagona echim keng tarqalgan "oq tayoq" dan foydalanish edi, u asosan foydalanuvchining yaqinidagi to'siqlarni bosib atrofni ko'zdan kechirish uchun ishlatiladi. Ko'r odam noma'lum muhitga chiqib, o'zini xavfsiz his qilishi uchun to'siqlarning joylashuvi haqida ma'lumot berish orqali ko'rish qobiliyatli yordamchining o'rnini bosadigan qurilma yaxshiroq echim bo'ladi. Loyiha davomida ushbu mezonlarga javob beradigan batareyadan ishlaydigan kichik qurilma ishlab chiqildi. Qurilma ob'ektning o'lchamini va joylashuvini foydalanuvchiga nisbatan joylashuvini o'lchaydigan sensorlar yordamida aniqlay oladi, bu ma'lumotni mikrokontrollerga uzatadi va keyin foydalanuvchiga ma'lumot berish uchun uni audioga aylantiradi. Qurilma mavjud tijorat LIDAR (nurni aniqlash va diapazoni), SONAR (ovozli navigatsiya va diapazon), mikrokontrollerlar bilan bog'langan va eshitish vositasi yoki naushnik yordamida kerakli ovozli axborot chiqishini ta'minlaydigan kompyuter ko'rish texnologiyalari yordamida qurilgan. Aniqlash texnologiyasi boshqalarga foydalanuvchining holatini ko'rsatish va qo'shimcha xavfsizlikni ta'minlash uchun "oq tayoq" ichiga o'rnatilgan.

2 -qadam: Fon tadqiqotlari

Fon tadqiqotlari
Fon tadqiqotlari
Fon tadqiqotlari
Fon tadqiqotlari
Fon tadqiqotlari
Fon tadqiqotlari
Fon tadqiqotlari
Fon tadqiqotlari

2017 yilda Jahon sog'liqni saqlash tashkiloti ma'lumotlariga ko'ra, dunyoda 285 million ko'rish nogironi bor, ulardan 39 millioni ko'r. Ko'p odamlar ko'rish qobiliyati zaif odamlar har kuni duch keladigan muammolar haqida o'ylamaydilar. Ko'zi ojizlar uchun "World Access" ma'lumotlariga ko'ra, jismoniy harakatlar ko'rlar uchun eng katta muammolardan biridir. Sayohat qilish yoki olomon ko'chada yurish juda qiyin bo'lishi mumkin. Shu sababli, ko'rish qobiliyati zaif bo'lgan ko'p odamlar, yangi muhitda harakat qilish uchun, ko'rish qobiliyatli do'st yoki oila a'zosini olib kelishni afzal ko'rishadi. An'anaga ko'ra, yagona echim - bu keng tarqalgan "oq tayoq" dan foydalanish bo'lib, u asosan atrofdagi skanerdan foydalanuvchining yaqinidagi to'siqlarni bosib o'tishda ishlatilgan. Ko'r odam noma'lum muhitga chiqib, o'zini xavfsiz his qilishi uchun to'siqlarning joylashuvi haqida ma'lumot berib, ko'rish qobiliyatli yordamchining o'rnini bosadigan qurilma yaxshiroq echim bo'ladi. NavCog, IBM va Karnegi Mellon universiteti o'rtasidagi hamkorlik, yo'l -yo'riq ko'rsatishda Bluetooth mayoqlari va smartfonlaridan foydalanadigan tizim yaratish orqali muammoni hal qilishga urinib ko'rdi. Biroq, yechim juda og'ir edi va keng ko'lamli dasturlar uchun juda qimmatga tushdi. Mening yechimim tashqi qurilmalarga bo'lgan ehtiyojni yo'q qilish va foydalanuvchini kun bo'yi yo'naltirish uchun ovoz yordamida hal qilinadi (3 -rasm). Texnologiyani "oq qamish" ichiga joylashtirishning afzalligi shundaki, u dunyoning qolgan qismida foydalanuvchining holati to'g'risida signal beradi, bu esa atrofdagi odamlarning xatti -harakatlarini o'zgartiradi.

3 -qadam: Dizayn talablari

Dizayn talablari
Dizayn talablari

Mavjud texnologiyalarni o'rganib chiqqach, men ko'rish qobiliyatiga ega bo'lganlar bilan atrof-muhitni boshqarishga yordam berishning eng yaxshi usuli bo'yicha mumkin bo'lgan echimlarni muhokama qildim. Quyidagi jadvalda kimdir mening qurilmamga o'tishi uchun zarur bo'lgan eng muhim xususiyatlar keltirilgan.

Xususiyat - Tavsif:

  • Hisoblash - Tizim foydalanuvchi va sensorlar o'rtasida ma'lumot almashish uchun tezkor ishlov berishni ta'minlashi kerak. Masalan, tizim foydalanuvchini kamida 2 m masofada turgan to'siqlar haqida xabardor qilishi kerak.
  • Qoplama - ko'rish qobiliyati cheklangan odamlarning hayot sifatini yaxshilash uchun tizim o'z xizmatlarini yopiq va ochiq havoda taqdim etishi kerak.
  • Vaqt - tizim kunduzi ham, tungi vaqtda ham yaxshi ishlashi kerak.
  • Range - diapazon - bu foydalanuvchi va tizim aniqlaydigan ob'ekt orasidagi masofa. Ideal minimal masofa 0,5 m, maksimal diapazon esa 5 m dan oshishi kerak. Boshqa masofalar ham yaxshiroq bo'lardi, lekin hisoblash qiyinroq bo'lardi.
  • Ob'ekt turi - Tizim ob'ektlarning to'satdan paydo bo'lishini aniqlashi kerak. Tizim harakatlanuvchi ob'ektlar va statik ob'ektlar o'rtasidagi farqni ayta olishi kerak.

4 -qadam: muhandislik dizayni va uskunalarini tanlash

Muhandislik dizayni va uskunalarini tanlash
Muhandislik dizayni va uskunalarini tanlash
Muhandislik dizayni va uskunalarini tanlash
Muhandislik dizayni va uskunalarini tanlash
Muhandislik dizayni va uskunalarini tanlash
Muhandislik dizayni va uskunalarini tanlash

Ko'p turli komponentlarni ko'rib chiqib, men quyida turli toifalardan tanlangan qismlarga qaror qildim.

Tanlangan qismlarning narxi:

  • Zungle panterasi: $ 149.99
  • LiDAR Lite V3: $ 149.99
  • LV-MaxSonar-EZ1: $ 29.95
  • Ultrasonik sensor - HC -SR04: $ 3.95
  • Raspberry Pi 3: $ 39.95
  • Arduino: 24,95 dollar
  • Aloqa: $ 32.44
  • Floureon 11.1v 3s 1500mAh: $ 19.99
  • LM2596HV: 9,64 dollar

5 -qadam: uskunani tanlash: o'zaro ta'sir qilish usuli

Uskunani tanlash: o'zaro ta'sir usuli
Uskunani tanlash: o'zaro ta'sir usuli
Uskunani tanlash: o'zaro ta'sir usuli
Uskunani tanlash: o'zaro ta'sir usuli

Men ovoz bilan boshqarishni qurilma bilan ishlashning bir usuli sifatida ishlatishga qaror qildim, chunki tayoq ustida bir nechta tugmachalarga ega bo'lish ko'rish qobiliyati zaif odam uchun qiyin bo'lishi mumkin, ayniqsa ba'zi funktsiyalar tugmalar birikmasini talab qilsa. Ovozli boshqaruv yordamida foydalanuvchi tayoq bilan aloqa qilish uchun oldindan o'rnatilgan buyruqlardan foydalanishi mumkin, bu esa mumkin bo'lgan xatolarni kamaytiradi.

Qurilma: Taroziga --- Kamchiliklari:

  • Tugmalar: O'ng tugma bosilganda buyruq xatosi yo'q --- To'g'ri tugmalar bosilishini ta'minlash qiyin bo'lishi mumkin
  • Ovozli boshqaruv: Oson, chunki foydalanuvchi oldindan o'rnatilgan buyruqlardan foydalanishi mumkin --- Noto'g'ri talaffuz xatolarga olib kelishi mumkin

6 -qadam: uskunani tanlash: mikrokontroller

Uskunani tanlash: mikrokontroller
Uskunani tanlash: mikrokontroller
Uskunani tanlash: mikrokontroller
Uskunani tanlash: mikrokontroller
Uskunani tanlash: mikrokontroller
Uskunani tanlash: mikrokontroller

Qurilma Raspberry Pi -dan past narx va chuqurlik xaritasini hisoblash uchun etarli ishlov berish quvvati tufayli foydalangan. Intel Joule afzal qilingan variant bo'lar edi, lekin uning narxi tizim narxini ikki barobarga oshirgan bo'lar edi, bu esa foydalanuvchilar uchun arzonroq variantni taqdim etish uchun ishlab chiqilgan. Arduino tizimda ishlatilgan, chunki u ma'lumotni sensorlardan osongina olishi mumkin. BeagleBone va Intel Edison narx -navo nisbati past bo'lgani uchun ishlatilmadi, bu past narxli tizim uchun yomon.

Mikrokontroller: Taroziga-Kamchiliklari:

  • Raspberry Pi: to'siqlarni topish uchun etarli ishlov berish quvvatiga ega va Wi-Fi/Bluetooth o'rnatilgan-Sensorlardan ma'lumotlarni qabul qilish uchun ko'p imkoniyatlar yo'q.
  • Arduino: kichik sensorlardan ma'lumotlarni osongina olish. ya'ni. LIDAR, Ultrasonik, SONAR va boshqalar-To'siqlarni topish uchun ishlov berish kuchi etarli emas
  • Intel Edison: Tez protsessor yordamida to'siqlarni tezda hal qila oladi --- Tizim ishlashi uchun qo'shimcha ishlab chiqaruvchi qismlari kerak bo'ladi
  • Intel Joule: hozirgi kunga qadar iste'mol bozoridagi har qanday mikrokontrolderni qayta ishlash tezligi ikki baravar ko'p-bu tizim uchun juda yuqori narx va sensor bilan o'zaro aloqa qilish uchun GPIO bilan ishlash qiyin.
  • BeagleBone Black: Umumiy maqsadli kirish chiqishi (GPIO) yordamida loyihada ishlatiladigan datchiklar bilan ixcham va mos keladi-ob'ektlarni samarali topish uchun ishlov berish quvvati etarli emas.

7 -qadam: uskunani tanlash: sensorlar

Uskunani tanlash: sensorlar
Uskunani tanlash: sensorlar
Uskunani tanlash: sensorlar
Uskunani tanlash: sensorlar
Uskunani tanlash: sensorlar
Uskunani tanlash: sensorlar

O'rnatishning yuqori aniqligini olish uchun bir nechta sensorlarning kombinatsiyasi ishlatiladi. Kinect - bu asosiy sensor, chunki u bir vaqtning o'zida to'siqlarni qidirishi mumkin bo'lgan maydon. LIDAR - LIght Detection and Ranging degan ma'noni anglatadi, bu masofadan zondlash usuli bo'lib, u nurni impulsli lazer shaklida ishlatib, sensor joylashgan joydan masofani o'lchaydi; Sensor ishlatiladi, chunki u 40 metr (m) gacha bo'lgan masofani kuzatishi mumkin va u turli burchaklarda skanerlashi mumkin, shuning uchun har qanday qadam yuqoriga yoki pastga ketayotganini aniqlay oladi. SOund Navigatsiya va Ranging (SONAR) va Ultrasonik datchiklar, agar Kinect foydalanuvchiga xavf tug'dirishi mumkin bo'lgan qutbni yoki zarbani o'tkazib yuborsa, zaxira kuzatuvi sifatida ishlatiladi. 9 darajali erkinlik sensori foydalanuvchining qaysi tomonga qaraganini kuzatish uchun ishlatiladi, shunda qurilma keyingi safar o'sha joyda yurganida ma'lumotni aniqroq boshqarishi mumkin.

Sensorlar: afzalliklari-kamchiliklari

  • Kinect V1: Atrofni aniqlash uchun faqat bitta kamera yordamida 3D ob'ektlarni kuzatishi mumkin
  • Kinect V2: 3 ta infraqizil kamerasi va yuqori aniqlikdagi 3D obyektlarni aniqlash uchun qizil, yashil, ko'k, chuqurlik (RGB-D) kamerasi bor-Isishi mumkin va sovutish foniy kerak bo'lishi mumkin va boshqa sensorlardan kattaroq
  • LIDAR: 40 m masofadagi joylarni kuzatib turadigan nur-ob'ektga qarab joylashishi kerak va faqat shu tomonga qarashi mumkin.
  • SONAR: 5 m masofada, lekin uzoq masofada kuzatiladigan nur-tuklar kabi kichik narsalar sensorni ishga tushirishi mumkin.
  • Ultrasonik: 3 m gacha bo'lgan masofaga ega va juda arzon --- masofalar vaqti-vaqti bilan noto'g'ri bo'lishi mumkin
  • 9 darajali erkinlik sensori: foydalanuvchining yo'nalishi va tezligini sezish uchun yaxshi-agar biror narsa datchiklarga xalaqit bersa, masofani hisoblashni noto'g'ri hisoblash mumkin.

8 -qadam: Uskunani tanlash: dasturiy ta'minot

Uskunani tanlash: dasturiy ta'minot
Uskunani tanlash: dasturiy ta'minot
Uskunani tanlash: dasturiy ta'minot
Uskunani tanlash: dasturiy ta'minot
Uskunani tanlash: dasturiy ta'minot
Uskunani tanlash: dasturiy ta'minot

Kinect V1 sensori bilan qurilgan dastlabki prototiplar uchun tanlangan dasturiy ta'minot Freenect edi, lekin unchalik aniq emas edi. Kinect V2 va Freenect2 -ga o'tishda kuzatuv natijalari sezilarli yaxshilandi, chunki V2 HD kamerasi va Kinect V1 -dagi bitta kameradan farqli o'laroq 3 infraqizil kameraga ega. OpenNi2 ni Kinect V1 bilan ishlatganimda, funktsiyalar cheklangan edi va men qurilmaning ba'zi funktsiyalarini boshqara olmadim.

Dasturiy ta'minot: Taroziga-Kamchiliklari:

  • Freenect: Hamma narsani boshqarish uchun past darajadagi boshqaruv darajasiga ega --- Faqat Kinect V1-ni qo'llab-quvvatlaydi
  • OpenNi2: Kinect ma'lumot oqimidan nuqtali bulutli ma'lumotlarni osongina yaratishi mumkin --- Faqat Kinect V1-ni qo'llab-quvvatlaydi va past darajadagi boshqaruvni qo'llab-quvvatlamaydi.
  • Freenect2: Sensor paneli uchun pastroq boshqaruv darajasiga ega --- Faqat Kinect V2 uchun ishlaydi
  • ROS: kamera funktsiyalarini dasturlash uchun ideal bo'lgan operatsion tizim --- dasturiy ta'minot ishlashi uchun tezkor SD-kartaga o'rnatilishi kerak.

9 -qadam: Uskunani tanlash: Boshqa qismlar

Uskunani tanlash: Boshqa qismlar
Uskunani tanlash: Boshqa qismlar
Uskunani tanlash: Boshqa qismlar
Uskunani tanlash: Boshqa qismlar

Lityum -ionli batareyalar engil, yuqori quvvatli va qayta zaryadlanuvchi bo'lgani uchun tanlangan. Lityum -ionli batareyaning 18650 varianti silindrsimon shaklga ega va qamish prototipiga juda mos keladi. Birinchi tayoq tayog'i PVX trubadan yasalgan, chunki u ichi bo'sh va qamishning og'irligini kamaytiradi.

10 -qadam: Tizimni ishlab chiqish: uskunani yaratish 1 -qism

Tizimni ishlab chiqish: uskunani yaratish 1 -qism
Tizimni ishlab chiqish: uskunani yaratish 1 -qism
Tizimni ishlab chiqish: uskunani yaratish 1 -qism
Tizimni ishlab chiqish: uskunani yaratish 1 -qism
Tizimni ishlab chiqish: uskunani yaratish 1 -qism
Tizimni ishlab chiqish: uskunani yaratish 1 -qism

Birinchidan, biz Kinectni yengilroq qilishimiz uchun uni qismlarga ajratishimiz kerak, shunda u qamish ichiga joylashadi. Men Kinect -dan tashqi korpusni olib tashlashdan boshladim, chunki ishlatilgan plastmassaning og'irligi juda ko'p. Keyin men kabelni kesib tashlashim kerak edi, shunda taglik chiqariladi. Men simlarni rasmda ko'rsatilgan ulagichdan oldim va ularni signal simlari bo'lgan usb kabelga lehimladim, qolgan ikkita ulanish esa 12V kirish quvvati uchun. Men tayoq ichidagi fanat boshqa komponentlarni sovutish uchun to'liq quvvat bilan ishlashini xohlaganim uchun, men fanatni Kinect -dan uzib qo'ydim va Raspberry Pi -dan 5V sim o'tkazdim. Men LiDAR simiga kichik adapter qildim, shunda u Raspberry Pi -ga boshqa tizimlarsiz to'g'ridan -to'g'ri ulanishi mumkin edi.

Men tasodifan oq simni qora simga lehimlab qo'ydim, shuning uchun simlar sxemasi uchun rasmlarga qaramang

11 -qadam: Tizimni ishlab chiqish: uskunani yaratish 2 -qism

Tizimni ishlab chiqish: uskunani yaratish 2 -qism
Tizimni ishlab chiqish: uskunani yaratish 2 -qism
Tizimni ishlab chiqish: uskunani yaratish 2 -qism
Tizimni ishlab chiqish: uskunani yaratish 2 -qism
Tizimni ishlab chiqish: uskunani yaratish 2 -qism
Tizimni ishlab chiqish: uskunani yaratish 2 -qism
Tizimni ishlab chiqish: uskunani yaratish 2 -qism
Tizimni ishlab chiqish: uskunani yaratish 2 -qism

Men Raspberry Pi kabi 5V talab qiladigan barcha qurilmalarni quvvat bilan ta'minlash uchun regulyator qismini yaratdim. Men regulyatorni chiqishga hisoblagich qo'yib, rezistorni 5,05V kuchlanish bilan ta'minlaydigan qilib sozladim. Men buni 5V dan biroz balandroq qo'ydim, chunki vaqt o'tishi bilan batareya quvvati pasayadi va chiqish voltajiga ozgina ta'sir qiladi. Men shuningdek, batareyadan 12V quvvat talab qiladigan 5 ta qurilmani quvvatlantirishga imkon beradigan adapter qildim.

12 -qadam: Tizimni ishlab chiqish: tizimni dasturlash 1 -qism

Tizimni ishlab chiqish: tizimni dasturlash 1 -qism
Tizimni ishlab chiqish: tizimni dasturlash 1 -qism
Tizimni ishlab chiqish: tizimni dasturlash 1 -qism
Tizimni ishlab chiqish: tizimni dasturlash 1 -qism
Tizimni ishlab chiqish: tizimni dasturlash 1 -qism
Tizimni ishlab chiqish: tizimni dasturlash 1 -qism

Bu tizimning eng qiyin qismlaridan biri bu dasturlashdir. Men Kinect -ni birinchi marta o'ynaganimda, men RTAB Map deb nomlangan dasturni o'rnatdim, u Kinect -dan ma'lumotlar oqimini oladi va uni nuqtali bulutga aylantiradi. Bulutli nuqta yordamida u aylantirilishi mumkin bo'lgan 3D tasvirni yaratdi, shuning uchun barcha ob'ektlar qayerda joylashganligini ko'ring. Bir muncha vaqt o'ynab, barcha sozlamalarni to'g'rilab bo'lgach, men Kinect -dan ma'lumotlar oqimini ko'rishim uchun Raspberry Pi -ga dastur o'rnatishga qaror qildim. Yuqoridagi oxirgi ikkita rasmda Raspberry Pi sekundiga taxminan 15-20 kadr ishlab chiqarishi mumkin.

Tavsiya: