Sisukord:

Hüppega juhitav kaugotsingu- ja utiliseerimisrobot: 5 sammu
Hüppega juhitav kaugotsingu- ja utiliseerimisrobot: 5 sammu

Video: Hüppega juhitav kaugotsingu- ja utiliseerimisrobot: 5 sammu

Video: Hüppega juhitav kaugotsingu- ja utiliseerimisrobot: 5 sammu
Video: Hüppega labajalg 2024, November
Anonim
Image
Image

Leap Motion #3D Jam'i sissekande osana olin põnevil, et ehitasin selle juhtmevaba žestiga juhitava otsingu-/päästeroboti Raspberry Pi põhjal. See projekt näitab ja pakub minimalistlikku näidet selle kohta, kuidas traadita 3D -käeliigutusi saab kasutada füüsiliste asjade juhtimiseks ja nendega suhtlemiseks.

Kuna see projekt kasutab Raspberry Pi populaarset WebIOPi IoT raamistikku, saab seda väga hõlpsalt laiendada, et juhtida ja liidestada tavaliselt mis tahes andurit/riistvara/elektroonikat, mida saab Raspberry Pi -ga liidestada.

Mõned võimalikud stsenaariumid, mida ma kavandan, võivad kaastegijad kasutada seda projekti oma alusraamistikuna, et tugineda:

1. Kaugliigutusega pommide kõrvaldamise robot (kasutades võib -olla OWI -kätt jne)

2. Kirurgiline kaugoperatsioon arsti poolt

3. Žestidega juhitavad interaktiivsed kunstinäitused või hariv sisu

4. Lõputud muud võimalused/integratsioonid (olen piiratud oma kujutlusvõimega:))

1. samm: ülevaade

WebIOPi raamistiku mõistmine
WebIOPi raamistiku mõistmine

See projekt võimaldab kasutajal interaktiivselt robotit 3D -käeliigutuste abil arvutiga ühendatud hüppe abil juhtida.

Roboti pardal oleval Raspberry Pi-l on ka USB-veebikaamera, mis edastab otsevideot kasutajale tagasi, mida saab veebibrauseris näha. Sellele veebisaidile manustatud LeapMotioni JavaScripti teek töötleb käeliigutusi ja saadab juhtimissignaalid robotile tagasi, mis seejärel vastavalt liigub.

Robotil olev Raspberry Pi on sellega ühendatud USB WiFi -dongli abil konfigureeritud levialaks (AP -režiim). See võimaldab meie arvutitel/seadmetel otse Raspberry Pi -ga ühenduse luua ja veebisaidi kaudu juhtida. Raspberry Pi saab konfigureerida töötama ka kliendirežiimis, kus see ühendub juhtmevabalt WiFi -ruuteri AP -ga, millega arvuti/seadmed on juba ühendatud.

See projekt põhineb WebIOPi -l (https://webiopi.trouch.com/), mis on Raspberry Pi jaoks populaarne IoT -raamistik. Kasutades kaasasolevat Weaved IoT komplekti (või ruuteri pordi edastamise kaudu), saab seda robotit kaugjuhtida ja/või vastu võtta andmeid mis tahes maailma otsast.

Projekti koostamisel kasutati järgmisi komponente:

  1. Raspberry Pi B (100% ettepoole ühilduv Raspberry Pi B+-ga)
  2. Logitechi USB veebikaamera (vähene 1,3 -megapiksline)
  3. L293D mootorijuhi IC ja kaitsekilp
  4. USB WiFi -dongle Raspberry Pi jaoks
  5. USB toitepank Raspberry Pi jaoks
  6. Väline 4V/1,5A aku robotmootorite juhtimiseks

2. samm: projekti koostamine

WebIOPi installimine, kohandatud koodi kirjutamine ja veebikaamera seadistamine:

WebIoPi installijuhised, raamistiku põhitõed ja palju näiteid on saadaval projekti lehel siin:

Veebilehele manustatud LeapMotion -funktsioonide käivitamiseks Raspberry Pi -s käivitame GPIO -toimingud, oleme kasutanud makrosid, mille üksikasjad leiate siit:

Olen kirjutanud ka ülaltoodud protsessi kohta mõned märkmed, mis on lisatud.

Veebikaamera installimine ja seadistamine

Me kasutame MJPG-Streamerit, et voogesitada videovoogu Raspberry Pi-st tagasi brauserisse Pi-ga ühendatud USB-veebikaamera kaudu. Palun järgige siin https://blog.miguelgrinberg.com/post/how-to-build-… toodud juhiseid seadistamiseks ja koostamiseks, et MJPG-Streamer Raspberry Pi kallal tööle saada.

Raspberry Pi seadistamine AP/levialaks

Raspberry Pi hostpotiks seadistamiseks järgige siin toodud juhiseid: https://elinux.org/RPI-Wireless-Hotspot. Ma seadistasin Raspberry Pi staatilise IP -aadressiks 192.168.42.1, mille me brauserisse sisestame, kui Pi käivitub AP -režiimi.

WebIOPi, MJPG-Streamer ja WiFi leviala teenus on konfigureeritud automaatselt käivituma käivitamisel ja see võimaldab meil otse veebibrauseri avada ja pärast käivitamist robotiga ühenduse luua. Repos saadaolevat rc.local faili kasutatakse veebikaamera käivitamisel käivitamisel.

3. samm: ehituse/juhtmestiku juhised

4 Raspberry Pi GPIO -d, nimelt GPIO 9, 11, 23 ja 24, on ühendatud L293D mootorijuhi IC -ga, mis juhib mootoreid vastavalt pärast makropäringute saamist veebisaidilt, mida teenindab Webiopi raamistik. USB WiFi dongle ja USB Logitechi veebikaamera on ühendatud Raspberry Pi -s saadaolevate 2 USB -pordiga. 5V 4000 Mah võimsuspank varustab Pi -d põhitoitega. Mootorite käitamiseks kasutatakse 4V 1,5A pliiakut.

Märkus: Kuna kasutatud toitepanga maksimaalne väljundvool oli 1000 Mah, siis pidin mootorite käitamiseks kasutama välist pliiakku. Kui teil on toitepank, mis annab> = 2000Mah, saate mootoreid otse Pi 5V rööbastelt juhtida (ma ei soovita seda võimsuse näljaste mootorite puhul)

Allpool on lühidalt välja toodud projekti LeapMotion Javascript API, WebIOPi ja MJPG-Streamer kolm peamist alajaotist ning nende põhitööd/seadistust.

4. samm: WebIOPi raamistiku mõistmine

Brauseris kuvatav kasutajaliides on kirjutatud HTML -is (failinimi: index.html) ja JavaScriptis, samas kui GPIO -sid käivitav taustaprogramm on kirjutatud Pythonis (failinimi: script.py). Üksikasjalikud märkused kohandatud WebAppi loomise kohta WebIOPi raamistiku alusel on lisatud märkmetena Bitbucket repos.

Pythoni skriptis määratletud kohandatud makrosid saab käivitada HTML -failist.

Nt: webiopi (). CallMacro ("go_forward"); See on kohandatud kutse makrole go_forward, mis on määratletud Pythoni skriptis, mis tegeleb mõlema mootori edasiliikumise protsessiga.

Lisatud pildil on näidatud kataloogi hierarhia, kuhu failid Pi -le salvestatakse.

Robotikaust sisaldab järgmisi alamkaustu:

  • html: sisaldab indeksit.html
  • python: sisaldab script.py
  • mjpg-streamer-r63: sisaldab koostamisfaile ja käivitatavat faili veebikaamera käitamiseks

MJPG-voogesitus: USB-veebikaamera otsevideo voog töötab vaikimisi Pi-pordis 8080. Voo käsitsi vaatamiseks liikuge pärast veebikaamera sisselülitamist brauseris aadressile RASPBERRYPI_IP: 8080.

LeapMotioni kood:

Koodilõigud LeapMotion SDK -s toodud näidetest lisati faili index.html. Fail LeapMotion leap.js tuleb lisada Raspberry Pi projekti kataloogi html -kausta.

LeapMotioni saadetud parameetrit palmPosition kasutatakse selleks, et määrata, milline makro Raspberry Pi -l käivitada.

Samm: projekti käivitamine

Lülitage lihtsalt Raspberry Pi sisse ja oodake umbes minut. Näete, et ilmub uus hotpott RaspberryPi. Ühendage selle levialaga ja avage brauseris see staatiline IP -aadress: 192.168.42.1:8000. 8000 on WebIOPi vaikeport.

Raspberry Pi saab konfigureerida ka ühenduse loomiseks kohaliku WiFi -võrguga kliendina, selle asemel, et kuvada leviala. Seejärel peate määrama ruuteri poolt Raspberry Pi -le määratud dünaamilise IP ja seejärel vajutama seda brauseris, et robotiga ringi mängida.

Kui vajate abi või kui teil on projekti kohta küsimusi, võite jätta kommentaari. Head hüpet!

Lisatud on kõik lähtekoodid. Kui vajate abi mõne hoone osa osas, võite jätta kommentaari. Head hüpet!

Soovitan: