Агуулгын хүснэгт:

Leap Motion хяналттай алсын зайнаас хайх, устгах робот: 5 алхам
Leap Motion хяналттай алсын зайнаас хайх, устгах робот: 5 алхам

Видео: Leap Motion хяналттай алсын зайнаас хайх, устгах робот: 5 алхам

Видео: Leap Motion хяналттай алсын зайнаас хайх, устгах робот: 5 алхам
Видео: Стелс-игра, похожая на Metal Gear Solid. 👥 - Terminal GamePlay 🎮📱 🇷🇺 2024, Долдугаар сарын
Anonim
Image
Image

Leap Motion #3D Jam -д нэвтрэх ажлынхаа нэг хэсэг болох Raspberry Pi дээр суурилсан энэхүү утасгүй дохио зангаагаар удирддаг Хайлт/Аврах роботыг бүтээсэндээ баяртай байна. Энэхүү төсөл нь утасгүй 3D гар дохио зангаа ашиглан физик зүйлсийг хянах, түүнтэй харилцах талаар хамгийн энгийн жишээг харуулсан болно.

Энэ төсөл нь Raspberry Pi дээр түгээмэл хэрэглэгддэг WebIOPi IoT системийг ашигладаг тул Raspberry Pi -тай холбогдож болох аливаа мэдрэгч/техник хангамж/электроникийг хянах, интерфэйсийг хялбархан өргөжүүлэх боломжтой.

Хамтран бүтээгчид энэ төслийг үндсэн суурь болгон ашиглаж магадгүй гэж би бодож байна.

1. Алсын дохио зангаагаар ажилладаг бөмбөг устгах робот (магадгүй OWI гар гэх мэт)

2. Эмчийн зайн мэс засал

3. Дохионы хяналттай интерактив урлагийн үзмэр эсвэл боловсролын агуулга

4. Хязгааргүй бусад боломжууд/интеграци (би төсөөллөөрөө хязгаарлагддаг:))

Алхам 1: Тойм

WebIOPi Framework -ийг ойлгох
WebIOPi Framework -ийг ойлгох

Энэхүү төсөл нь компьютерт холбогдсон Leap Motion ашиглан 3D гар дохио ашиглан роботыг интерактив байдлаар удирдах боломжийг хэрэглэгчдэд олгодог.

Роботын тавцан дээрх Raspberry Pi нь USB вэбкамертай бөгөөд хэрэглэгчдэд шууд видео дамжуулдаг бөгөөд үүнийг вэб хөтөч дээрээс үзэх боломжтой. Энэхүү вэб хуудсанд оруулсан LeapMotion JavaScript номын сан нь гарын дохио зангаа боловсруулж, хяналтын дохиог робот руу буцааж илгээдэг бөгөөд үүний дагуу хөдөлдөг.

Робот дээрх Raspberry Pi нь холбогдсон USB WiFi донглегийн тусламжтайгаар халуун цэг (AP горим) хэлбэрээр тохируулагдсан болно. Энэ нь манай компьютер/төхөөрөмжийг Raspberry Pi -тэй шууд холбогдож вэб хуудсаар дамжуулан удирдах боломжийг олгодог. Raspberry Pi -ийг клиент горимд ажиллахаар тохируулж болох бөгөөд энэ нь компьютер/төхөөрөмжүүд холбогдсон WiFi чиглүүлэгчийн AP -тэй утасгүй холбогддог.

Энэхүү төсөл нь Raspberry Pi -ийн IoT -ийн түгээмэл хүрээ болох WebIOPi (https://webiopi.trouch.com/) дээр суурилсан болно. Weaved IoT иж бүрдлийг ашиглан (эсвэл чиглүүлэгч дээрх порт дамжуулах замаар) энэхүү роботыг алсаас удирдах боломжтой бөгөөд/эсвэл дэлхийн аль ч өнцгөөс мэдээлэл хүлээн авах боломжтой.

Төслийг барихад дараахь бүрэлдэхүүн хэсгүүдийг ашигласан болно.

  1. Raspberry Pi B (100% урагш Raspberry Pi B+-тэй нийцдэг)
  2. Logitech USB вэбкамер (бага хэмжээтэй 1.3 мегапиксел)
  3. L293D мотор драйвер IC ба Breakout Shield
  4. Raspberry Pi -д зориулсан USB WiFi Dongle
  5. Raspberry Pi -д зориулсан USB цахилгаан банк
  6. Робот мотор жолоодох гадаад 4V/1.5A батерей

Алхам 2: Төсөл бүтээх

WebIOPi суулгах, захиалгат код бичих, вэбкамерыг тохируулах:

WebIoPi суулгах заавар, хүрээний суурь болон олон жишээг төслийн хуудсан дээрээс авах боломжтой:

Вэб хуудсан дээр суулгагдсан LeapMotion функцуудыг авахын тулд Raspberry Pi дээрх GPIO үйлдлүүдийг өдөөх зорилгоор бид дэлгэрэнгүй мэдээллийг эндээс авсан макрог ашигласан болно:

Би мөн дээрх үйл явцын талаар зарим эхлэлийг бичиж хавсаргасан болно.

Вэбкам суурилуулах, тохируулах

Бид Raspberry Pi-ээс видео тэжээлийг Pi дээр холбогдсон USB вэб камераар дамжуулан хөтөч рүү буцааж дамжуулахын тулд MJPG-Streamer ашиглаж байна. MJPG-Streamer-ийг Raspberry Pi дээр ажиллуулахын тулд https://blog.miguelgrinberg.com/post/how-to-build-… энд заасан тохиргоо, бүтээх зааврыг дагана уу.

Raspberry Pi -ийг AP/халуун цэг болгон тохируулах

Raspberry Pi-ийг Hostpot болгон тохируулахын тулд энд өгсөн зааврыг дагана уу: https://elinux.org/RPI-Wireless-Hotspot. Би Raspberry Pi -ийн статик IP -ийг 192.168.42.1 гэж тохируулсан бөгөөд энэ нь Pi нь AP горимд шилжсэний дараа хөтөч дээр бичих болно.

WebIOPi, MJPG-Streamer болон WiFi сүлжээний цэгийг ачаалах үед автоматаар ажиллуулахаар тохируулсан бөгөөд энэ нь вэб хөтөчийг шууд нээж, ассаны дараа роботтой холбогдох боломжийг олгодог. Репо дахь rc.local файлыг вэбкамерыг ачаалах үед ажиллуулахад ашигладаг.

Алхам 3: Байгуулах/холбох заавар

Raspberry Pi -ийн 4 GPIO, тухайлбал GPIO 9, 11, 23 & 24 нь L293D мотор драйвер IC -тэй холбогддог бөгөөд энэ нь Webiopi -ийн хүрээний вэбсайтаас макро хүсэлтийг хүлээн авсны дараа хөдөлгүүрийг удирддаг. USB WiFi гогцоо болон USB Logitech вэбкамер нь Raspberry Pi дээр байдаг 2 USB портод холбогдсон байна. 5V 4000 Mah Power банк нь Pi -ийн гол хүчийг хангадаг. Моторыг жолоодоход 4В 1.5А хар тугалганы хүчлийн батерейг ашигладаг.

Тэмдэглэл: Миний ашигладаг цахилгаан банкны хамгийн их гаралтын гүйдэл нь 1000 Мах байсан тул би моторыг жолоодохын тулд гадны хар тугалганы хүчлийн батерейг ашиглах шаардлагатай болсон. Хэрэв танд> = 2000Mah өгдөг цахилгаан банк байгаа бол та моторыг 5В төмөр замаас Pi дээр шууд жолоодох боломжтой (гэхдээ үүнийг цахилгаан өлсгөлөн хөдөлгүүрт ашиглахыг зөвлөхгүй)

Төслийн LeapMotion Javascript API, WebIOPi, MJPG-Streamer-ийн 3 үндсэн дэд хэсгийг, тэдгээрийн үндсэн ажил/тохиргоог доор товч дурдлаа.

Алхам 4: WebIOPi Framework -ийг ойлгох

Хөтөч дээр харуулсан урд талын хэсэг нь HTML (Файлын нэр: index.html) & Javascript дээр бичигдсэн бол GPIO -ийг жолооддог арын хэсэг нь Python (Filename: script.py) дээр бичигдсэн байдаг. WebIOPi системд суурилсан өөрчлөн тохируулсан WebApp үүсгэх талаархи дэлгэрэнгүй тэмдэглэлийг Bitbucket репо дээр хавсаргасан болно.

Python скриптэд тодорхойлогдсон захиалгат макрог HTML файлаас идэвхжүүлж болно.

Жишээлбэл: webiopi (). CallMacro ("go_forward"); Энэ бол моторыг хоёуланг нь урагш чиглүүлэх үйл явцыг зохицуулдаг Python скриптээр тодорхойлогдсон go_forward макро руу хийх тусгай дуудлага юм.

Pi дээр файлууд хаана хадгалагдаж байгаа лавлахын шатлалыг хавсаргасан зурган дээр харуулав.

Робот фолдерт дараах дэд хавтаснууд байна:

  • html: index.html агуулсан
  • python: script.py агуулсан
  • mjpg-streamer-r63: вэбкамерыг ажиллуулах боломжтой бүтээх файлуудыг агуулсан болно

MJPG-Streamer: USB вэбкамераас шууд видео дамжуулах нь анхдагчаар Pi 8080 порт дээр ажилладаг. Дамжуулалтыг гараар үзэхийн тулд вэбкамераа асаасны дараа хөтөч дээрээ RASPBERRYPI_IP: 8080 руу очно уу.

LeapMotion код:

LeapMotion SDK -д өгсөн жишээнүүдийн кодын хэсгүүдийг index.html файлд суулгасан болно. LeapMotion -ийн leap.js файлыг Raspberry Pi дээрх төслийн лавлах дахь html хавтсанд нэмж оруулах ёстой.

LeapMotion -аас илгээсэн palmPosition параметрийг Raspberry Pi дээр ямар макро идэвхжүүлэхийг тодорхойлоход ашигладаг.

Алхам 5: Төслийг ажиллуулах

Raspberry Pi -г асаагаад ойролцоогоор нэг минут хүлээнэ үү. Та RaspberryPi -ийн шинэ халуун цэгийг харах болно. Энэ халуун цэг рүү холбогдож хөтчийн статик IP хаягийг нээнэ үү: 192.168.42.1:8000. 8000 бол WebIOPi -ийн үндсэн порт юм.

Raspberry Pi -ийг орон нутгийн WiFi сүлжээнд халуун цэг болгон харуулахын оронд клен хэлбэрээр холбохоор тохируулж болно. Дараа нь та Raspberry Pi -д чиглүүлэгчээс өгсөн динамик IP -ийг тодорхойлж, хөтөч дээр дарж Bot -ээр тоглох хэрэгтэй.

Хэрэв танд ямар нэгэн тусламж хэрэгтэй байгаа эсвэл төслийн талаар асуух зүйл байвал сэтгэгдэл үлдээж болно. Аз жаргалтай үсрэлт!

Эх кодыг бүхэлд нь хавсаргасан болно. Төслийн барилгын аль ч хэсэгт тусламж хэрэгтэй бол та сэтгэгдэл үлдээж болно. Аз жаргалтай үсрэлт!

Зөвлөмж болгож буй: