Tartalomjegyzék:

Ugrás mozgással vezérelt távoli keresési és ártalmatlanítási robot: 5 lépés
Ugrás mozgással vezérelt távoli keresési és ártalmatlanítási robot: 5 lépés

Videó: Ugrás mozgással vezérelt távoli keresési és ártalmatlanítási robot: 5 lépés

Videó: Ugrás mozgással vezérelt távoli keresési és ártalmatlanítási robot: 5 lépés
Videó: FRIDERIKUSZ MOST: Milyen lesz a közeli és távoli jövő? I., 2007. /// Friderikusz Archív 149. 2024, Július
Anonim
Image
Image

A Leap Motion #3D Jam -be való belépésem részeként izgatottan vártam, hogy megépítsem ezt a vezeték nélküli gesztusokkal vezérelt Search/Rescue Robotot a Raspberry Pi alapján. Ez a projekt bemutatja és minimalista példával szolgál arra, hogy a vezeték nélküli 3D kézmozdulatok hogyan használhatók fizikai dolgok irányítására és interakciójára.

Mivel ez a projekt a népszerű WebIOPi IoT keretrendszert használja a Raspberry Pi -n, nagyon könnyen kibővíthető, és jellemzően bármely Raspberry Pi -vel összekapcsolható érzékelő/hardver/elektronika vezérlésére és illesztésére szolgál.

Néhány lehetséges forgatókönyv, amelyet elképzelésem szerint készítő társaim használhatnak, ezt a projektet alapkeretként építhetik fel:

1. Távoli gesztussal működő bomba -ártalmatlanító robot (esetleg OWI karral stb.)

2. Távoli sebészeti beavatkozás orvos által

3. Gesztusvezérelt interaktív művészeti kiállítások vagy oktatási tartalom

4. Végtelen más lehetőségek/integrációk (a képzeletem korlátozza:))

1. lépés: Áttekintés

A WebIOPi keretrendszer megértése
A WebIOPi keretrendszer megértése

Ez a projekt lehetővé teszi a felhasználó számára, hogy interaktív módon vezérelje a robotot 3D kézmozdulatok segítségével a számítógéphez csatlakoztatott ugrómozgáson keresztül.

A Robot fedélzetén található Raspberry Pi rendelkezik egy USB webkamerával is, amely élő videót közvetít a felhasználónak, amely látható a webböngészőben. A weboldalba ágyazott LeapMotion JavaScript könyvtár kézmozdulatokat dolgoz fel, és vezérlőjeleket küld vissza a Robotnak, amely ennek megfelelően mozog.

A Raspberry Pi a roboton Hotspot -ként (AP mód) van konfigurálva a hozzá csatlakoztatott USB WiFi hardverkulcs segítségével. Ez lehetővé teszi, hogy számítógépeink/eszközeink közvetlenül kapcsolódjanak a Raspberry Pi -hez, és egy weboldalon keresztül vezérelhessék. A Raspberry Pi konfigurálható kliens módban való működésre is, ahol vezeték nélkül csatlakozik a WiFi útválasztó hozzáférési pontjához, amelyhez a számítógép/eszközök már csatlakoznak.

Ez a projekt a WebIOPi -n (https://webiopi.trouch.com/) alapul, amely a Raspberry Pi népszerű IoT keretrendszere. A mellékelt Weaved IoT Kit használatával (vagy a port továbbítás útválasztón keresztül) ez a robot távolról vezérelhető és/vagy adatokat fogadhat a világ bármely részéről.

A projekt építéséhez a következő elemeket használták:

  1. Raspberry Pi B (100% előre kompatibilis a Raspberry Pi B+-val)
  2. Logitech USB webkamera (csekély, 1,3 megapixeles)
  3. L293D motorvezérlő IC és kitörési pajzs
  4. USB WiFi hardverkulcs a Raspberry Pi számára
  5. USB Power Bank a Raspberry Pi számára
  6. Külső 4V/1,5A akkumulátor a robotmotorok meghajtásához

2. lépés: Projekt felépítése

A WebIOPi telepítése, egyéni kód írása és a webkamera beállítása:

A WebIoPi telepítési utasításai, a keretrendszer alapjai és sok példa megtalálható a projekt oldalán itt:

Annak érdekében, hogy a weboldalba ágyazott LeapMotion funkciók GPIO -műveleteket indítsanak el a Raspberry Pi -n, makrókat használtunk, amelyek részletei itt találhatók:

Írtam néhány kezdő megjegyzést is a fenti folyamatról, amelyek csatolva találhatók.

Webkamera telepítése és konfigurálása

Az MJPG-Streamert használjuk annak érdekében, hogy a Raspberry Pi-ből származó videócsatornát a Pi-re csatlakoztatott USB-webkamerán keresztül továbbítsuk a böngészőbe. Kérjük, kövesse az itt https://blog.miguelgrinberg.com/post/how-to-build-… megadott beállítási és építési utasításokat, hogy az MJPG-Streamer működjön a Raspberry Pi-n.

A Raspberry Pi konfigurálása AP/hotspotként

A Raspberry Pi Hostpot beállításához kövesse az itt található utasításokat: https://elinux.org/RPI-Wireless-Hotspot. A Raspberry Pi statikus IP -jét 192.168.42.1 -re állítottam be, amit be kell írnunk a böngészőbe, amint a Pi AP üzemmódba lép.

A WebIOPi, az MJPG-Streamer és a WiFi hotspot szolgáltatás úgy lett konfigurálva, hogy automatikusan fusson a rendszerindításkor, és ez lehetővé teszi számunkra, hogy közvetlenül nyissunk meg egy webböngészőt, és csatlakozzunk a robothoz, miután elindult. A repóban elérhető rc.local fájl használható a webkamera indításkor történő futtatására.

3. lépés: Építési/bekötési utasítások

A Raspberry Pi 4 GPIO -ja, nevezetesen a GPIO 9, 11, 23 és 24, az L293D Motor Driver IC -hez van csatlakoztatva, amely ennek megfelelően hajtja a motorokat, miután megkapta a makrókéréseket a Webiopi keretrendszer által kiszolgált weboldaltól. Az USB WiFi hardverkulcs és az USB Logitech webkamera a Raspberry Pi 2 USB -portjához van csatlakoztatva. Egy 5V 4000 Mah teljesítményű bank szolgáltatja a Pi fő áramellátását. A motorok meghajtásához 4V 1,5A ólomakkumulátort használnak.

Megjegyzés: Mivel a használt powerbank maximális kimeneti árama kicsi 1000 Mah volt, a motorok meghajtásához külső ólom -sav akkumulátort kellett használnom. Ha olyan energiabankja van, amely> = 2000Mah -ot ad, akkor közvetlenül vezérelheti a motorokat a Pi 5V -os sínjéről (ezt azonban nem javaslom erőfeszítéssel éhes motorokhoz)

Az alábbiakban röviden bemutatjuk a LeapMotion Javascript API, a WebIOPi és az MJPG-Streamer projekt 3 kulcsfontosságú alszakaszát, valamint azok alapvető működését/beállítását.

4. lépés: A WebIOPi keretrendszer megértése

A böngészőben megjelenő kezelőfelület HTML (Fájlnév: index.html) és Javascript nyelven van írva, míg a GPIO -kat hajtó háttérrendszer Python (Fájlnév: script.py) nyelven íródott. A részletes megjegyzések a WebIOPi keretrendszeren alapuló egyéni WebApp létrehozásáról jegyzetként vannak csatolva a Bitbucket repóban.

A Python -parancsfájlban meghatározott egyéni makrók aktiválhatók a HTML -fájlból.

Pl.: webiopi (). CallMacro ("go_forward"); Ez egy egyéni hívás a Python szkriptben definiált go_forward makróhoz, amely kezeli mindkét motor előrehaladási folyamatát.

A csatolt képen megjelenik a könyvtárhierarchia, ahol a fájlok a Pi -n tárolódnak.

A Robot mappa a következő almappákat tartalmazza:

  • html: index.html tartalmaz
  • python: tartalmazza a script.py fájlt
  • mjpg-streamer-r63: tartalmazza a build fájlokat és a webkamera futtatásához futtatható fájlt

MJPG-Streamer: Az USB-webkameráról származó élő videófolyam alapértelmezés szerint a Pi 8080-as portján fut. A stream manuális megtekintéséhez navigáljon a RASPBERRYPI_IP: 8080 címre a böngészőben, miután bekapcsolta a webkamerát.

LeapMotion kód:

A LeapMotion SDK -ban található példák kódrészleteit az index.html fájlba ágyaztuk be. A LeapMotion leap.js fájlját hozzá kell adni a Raspberry Pi projektkönyvtárának html mappájához.

A LeapMotion által küldött palmPosition paraméter határozza meg, hogy melyik makrót kell aktiválni a Raspberry Pi -n.

5. lépés: A projekt futtatása

Egyszerűen kapcsolja be a Raspberry Pi -t, és várjon körülbelül egy percet. Látni fogja a RaspberryPi új forró edényét. Csatlakozzon ehhez a hotspothoz, és nyissa meg ezt a statikus IP -címet a böngészőben: 192.168.42.1:8000. A 8000 a WebIOPi alapértelmezett portja.

A Raspberry Pi konfigurálható úgy is, hogy csatlakozzon a helyi Wi -Fi hálózathoz, mint kliens, nem pedig hotspotként jelenik meg. Ezután meg kell határoznia a Raspberry Pi -nek az útválasztó által hozzárendelt dinamikus IP -t, majd nyomja meg a böngészőben, hogy játsszon a Bot -tal.

Ha segítségre van szüksége, vagy kérdése van a projekttel kapcsolatban, megjegyzést írhat. Boldog ugrást!

A teljes forráskódot csatoltuk. Megjegyzést írhat, ha segítségre van szüksége a projekt bármely részében. Boldog ugrást!

Ajánlott: