Мазмуну:

Leap Motion башкарылган алыстан издөө жана утилдештирүү роботу: 5 кадам
Leap Motion башкарылган алыстан издөө жана утилдештирүү роботу: 5 кадам

Video: Leap Motion башкарылган алыстан издөө жана утилдештирүү роботу: 5 кадам

Video: Leap Motion башкарылган алыстан издөө жана утилдештирүү роботу: 5 кадам
Video: ФИНАЛ СЕЗОНА + DLC #4 Прохождение HITMAN 2024, Июль
Anonim
Image
Image

Leap Motion #3D Jam үчүн киришимдин бир бөлүгү катары, Raspberry Piге негизделген бул зымсыз жаңсоолор менен башкарылган Search/Rescue роботун курууга абдан кубандым. Бул долбоор зымсыз 3D кол жаңсоолорун физикалык нерселерди көзөмөлдөө жана өз ара аракеттенүү үчүн кантип колдонсо болоорунун минималисттик мисалын көрсөтөт жана көрсөтөт.

Бул долбоор Raspberry Piде популярдуу WebIOPi IoT алкагын колдонгондуктан, аны Raspberry Pi менен туташтырууга мүмкүн болгон ар кандай сенсорлорду/жабдууларды/электрониканы башкаруу жана интерфейске жайылтууга болот.

Мен ойлогон кээ бир мүмкүн болгон сценарийлер жаратуучулар бул долбоорду негизи катары колдонушу мүмкүн:

1. Алыстан жаңсоолор менен башкарылган бомбаны жок кылуу роботу (балким OWI колун ж.б. колдонуп)

2. Дарыгердин алыстан хирургиялык операциясы

3. Жаңсоонун көзөмөлүндөгү интерактивдүү көргөзмөлөр же билим берүүчү мазмун

4. Чексиз башка мүмкүнчүлүктөр/интеграция (мен фантазиям менен чектелгенмин:))

1 -кадам: Обзор

WebIOPi алкагын түшүнүү
WebIOPi алкагын түшүнүү

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

Роботтун Raspberry Pi-де USB веб-камерасы бар, ал веб-браузерде колдонуучуга түз видео кайтарат. Бул Webpageге камтылган LeapMotion JavaScript китепканасы кол жаңсоолорун иштетет жана көзөмөл сигналдарын кайра роботко жөнөтөт, ал ошого жараша жылат.

Роботтогу Raspberry Pi ага туташкан USB WiFi донглинин жардамы менен Hotspot (AP режими) катары конфигурацияланган. Бул биздин ЖК/Түзмөктөргө Raspberry Pi менен түз байланышууга жана веб -баракча аркылуу башкарууга мүмкүндүк берет. Raspberry Pi дагы кардар режиминде иштөө үчүн конфигурацияланса болот, анда ал PC/Түзмөктөр буга чейин туташып турган 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 Motor Driver IC жана Breakout Shield
  4. Raspberry Pi үчүн USB WiFi Dongle
  5. Raspberry Pi үчүн USB Power Bank
  6. Тышкы 4V/1.5A Батареясы роботторду башкаруу үчүн

2 -кадам: Долбоорду түзүү

WebIOPi орнотуу, бажы кодун жазуу жана вебкамераны конфигурациялоо:

WebIoPi орнотуу көрсөтмөлөрү, негиздердин негиздери жана көптөгөн мисалдар бул жерде долбоордун бетинде жеткиликтүү:

LeapMotion функцияларын веб -баракчага жайгаштыруу үчүн Raspberry Pi боюнча GPIO аракеттерин иштетүү үчүн, биз деталдары бул жерде жайгашкан макростарды колдонгонбуз:

Мен ошондой эле жогоруда айтылган процесстин башталышына байланыштуу жазууларды жаздым, алар тиркелет.

Веб -камераны орнотуу жана конфигурациялоо

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

Raspberry Pi'ни AP/Hotspot катары конфигурациялоо

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 -кадам: Build/Wiring Instructions

Raspberry Piнин 4 GPIOs, тактап айтканда GPIO 9, 11, 23 & 24 L293D Motor Driver IC менен туташкан, алар Webiopi алкагы тейлеген веб -баракчадан макро сурамдарды алгандан кийин моторлорду ошого жараша айдайт. USB WiFi түйүнү жана USB Logitech веб -камерасы Raspberry Piдеги 2 USB портуна туташкан. 5V 4000 Mah Power банкы Pi'ге негизги күчтү берет. Моторлорду башкаруу үчүн 4V 1.5A коргошун кислотасы батареясы колдонулат.

Эскертүү: Мен колдонгон кубат банкынын максималдуу чыгаруу агымы 1000 Мах болгон үчүн, моторлорду айдаш үчүн тышкы Коргошун кислотасы батареясын колдонууга туура келди. Эгерде сизде> = 2000Mah берген кубат банкы бар болсо, анда сиз моторлорду 5В темир жолунан Пи аркылуу айдай аласыз (мен муну кубаттуу ач моторлорго сунуштабайт элем)

LeapMotion Javascript API, WebIOPi жана MJPG-Streamer долбоорунун 3 негизги бөлүмдөрү жана алардын негизги иштөө/орнотуулары төмөндө кыскача баяндалган.

4 -кадам: WebIOPi алкагын түшүнүү

Браузерде көрсөтүлгөн алдыңкы бет HTML (Filename: index.html) & Javascript менен жазылган, ал эми GPIOдорду башкаруучу backend Python (Filename: script.py) менен жазылган. WebIOPi алкагынын негизинде ыңгайлаштырылган WebAppты түзүү боюнча деталдуу эскертмелер Bitbucket репосундагы эскертмелер катары тиркелет.

Python скриптинде аныкталган бажы макростары HTML файлынан иштетилиши мүмкүн.

Мисалы: webiopi (). CallMacro ("go_forward"); Бул Python скриптинде аныкталган go_forward макросуна болгон чалуу, ал моторлорду алдыга карай жылдыруу процессин башкарат.

Файлдар Piде сакталган каталогдун иерархиясы тиркелген сүрөттө көрсөтүлгөн.

Робот папкасында бул суб-папкалар бар:

  • html: index.html камтылган
  • python: скрипт камтылган.py
  • mjpg-streamer-r63: веб-камераны иштетүү үчүн түзүлүүчү файлдарды камтыйт

MJPG-Streamer: USB веб-камерасынан Live Video агымы демейки боюнча Пи 8080 портунда иштейт. Агымды кол менен көрүү үчүн, веб -камераны күйгүзгөндөн кийин браузерде RASPBERRYPI_IP: 8080ге өтүңүз.

LeapMotion коду:

LeapMotion SDKда берилген мисалдардан алынган код үзүндүлөрү index.html файлына камтылган. LeapMotion'дун leap.js файлы Raspberry Piдеги проект каталогундагы html папкасына кошулушу керек.

LeapMotion тарабынан жөнөтүлгөн palmPosition параметри Raspberry Piде кайсы макросту иштетүүнү аныктоо үчүн колдонулат.

5 -кадам: Долбоорду иштетүү

Жөн гана Raspberry Pi'ди күйгүзүңүз жана болжол менен бир мүнөт күтө туруңуз. Сиз жаңы hotspot RaspberryPi көрсөтүлүшүн көрөсүз. Бул түйүнгө туташыңыз жана браузерде бул статикалык IP дарегин ачыңыз: 192.168.42.1:8000. 8000 WebIOPiтин демейки порту.

Raspberry Pi ошондой эле жергиликтүү WiFi тармагына туташуу чекити катары көрсөтүлбөстөн, клен катары туташуу үчүн конфигурацияланышы мүмкүн. Сиз андан кийин Роутер тарабынан Raspberry Piге дайындалган динамикалык IPди аныктап, анан Бот менен ойноо үчүн Браузерге тийишиңиз керек.

Эгер сизге жардам керек болсо же долбоорго байланыштуу суроолор болсо, комментарий калтырсаңыз болот. Бактылуу секирик!

Бардык баштапкы коддор тиркелди. Долбоордун кайсы бир бөлүгүнө жардам керек болсо, комментарий калтырсаңыз болот. Бактылуу секирик!

Сунушталууда: