Obsah:
- Krok 1: Přehled
- Krok 2: Sestavení projektu
- Krok 3: Pokyny k sestavení/zapojení
- Krok 4: Porozumění rozhraní WebIOPi Framework
- Krok 5: Spuštění projektu
Video: Robot pro dálkové vyhledávání a likvidaci skoku pohybem: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
V rámci svého vstupu do hry Leap Motion #3D Jam jsem byl nadšený, že jsem mohl postavit tento bezdrátový vyhledávací/záchranný robot ovládaný gesty na základě Raspberry Pi. Tento projekt ukazuje a poskytuje minimalistický příklad toho, jak lze bezdrátová 3D gesta rukou použít k ovládání a interakci s fyzickými věcmi.
Vzhledem k tomu, že tento projekt využívá populární rámec WebIOPi IoT na Raspberry Pi, lze jej velmi snadno rozšířit o ovládání a rozhraní obvykle jakéhokoli senzoru/hardwaru/elektroniky, které lze propojit s Raspberry Pi.
Některé možné scénáře, které si představuji, kolegové Tvůrci mohou použít tento projekt jako svůj základní rámec, na kterém mohou stavět:
1. Robot na likvidaci bomb na dálku ovládaný gesty (možná pomocí OWI paže atd.)
2. Dálková chirurgická operace u lékaře
3. Interaktivní výstavy umění nebo vzdělávací obsah ovládané gesty
4. Nekonečné další možnosti/integrace (jsem omezen svou představivostí:))
Krok 1: Přehled
Tento projekt umožňuje uživateli interaktivně ovládat robota pomocí 3D ručních gest pomocí funkce Leap Motion připojené k počítači.
Raspberry Pi na palubě robota má také webovou kameru USB, která streamuje živé video zpět k uživateli, které lze vidět ve webovém prohlížeči. Knihovna JavaScript LeapMotion vložená do této webové stránky zpracovává gesta rukou a odesílá řídicí signály zpět do robota, který se podle toho pohybuje.
Raspberry Pi na robotu je nakonfigurován jako hotspot (režim AP) pomocí USB WiFi dongle, který je k němu připojen. To umožňuje našim počítačům/zařízením přímo se připojit k Raspberry Pi a ovládat je prostřednictvím webové stránky. Raspberry Pi lze také nakonfigurovat tak, aby fungovalo v klientském režimu, přičemž se bezdrátově připojuje k AP routeru WiFi, ke kterému jsou již připojeny počítače/zařízení.
Tento projekt je založen na WebIOPi (https://webiopi.trouch.com/), což je populární rámec IoT pro Raspberry Pi. Pomocí přiložené sady Weaved IoT Kit (nebo přesměrování portů na routeru) lze tento robot dálkově ovládat a/nebo přijímat data z jakékoli části světa.
Pro stavbu projektu byly použity následující komponenty:
- Raspberry Pi B (100% dopředu kompatibilní s Raspberry Pi B+)
- Webová kamera Logitech USB (mizivá 1,3 megapixelu)
- L293D IC ovladače motoru a Breakout Shield
- USB WiFi dongle pro Raspberry Pi
- USB power banka pro Raspberry Pi
- Externí 4V/1,5A baterie pro pohon robotických motorů
Krok 2: Sestavení projektu
Instalace WebIOPi, psaní vlastního kódu a konfigurace webové kamery:
Pokyny k instalaci WebIoPi, základy rámce a mnoho příkladů jsou k dispozici na stránce projektu zde:
Aby funkce LeapMotion integrované na webové stránce mohly spouštět akce GPIO na Raspberry Pi, použili jsme makra, jejichž podrobnosti naleznete zde:
Také jsem napsal několik poznámek pro začátek o výše uvedeném procesu, které lze nalézt v příloze.
Instalace a konfigurace webové kamery
Používáme MJPG-Streamer, abychom mohli streamovat video z Raspberry Pi zpět do Prohlížeče prostřednictvím webové kamery USB připojené k Pi. Chcete-li, aby MJPG-Streamer fungoval na Raspberry Pi, postupujte podle pokynů uvedených zde a
Konfigurace Raspberry Pi jako AP/Hotspot
Chcete-li nastavit Raspberry Pi jako Hostpot, postupujte podle zde uvedených pokynů: https://elinux.org/RPI-Wireless-Hotspot. Statickou IP adresu Raspberry Pi jsem nakonfiguroval jako 192.168.42.1, což bychom zadali do prohlížeče, jakmile se Pi spustí do režimu AP.
Služba WebIOPi, MJPG-Streamer a WiFi hotspot byly nakonfigurovány tak, aby se při spuštění automaticky spouštěly, což nám umožňuje přímo otevřít webový prohlížeč a připojit se k robotu po jeho spuštění. Soubor rc.local dostupný v repo se používá ke spuštění webové kamery při spuštění.
Krok 3: Pokyny k sestavení/zapojení
4 GPIO Raspberry Pi, konkrétně GPIO 9, 11, 23 a 24, jsou připojeny k IC ovladače ovladače L293D, který pohání motory odpovídajícím způsobem po přijetí požadavků na makro z webové stránky obsluhované rámcem Webiopi. USB WiFi dongle a USB Logitech Webcam jsou připojeny ke 2 USB portům dostupným na Raspberry Pi. Power Power 5V 4000 Mah napájí Pi. K pohonu motorů slouží olověná baterie 4V 1,5A.
Poznámka: Protože maximální výstupní proud powerbanky, který jsem použil, byl neuvěřitelně 1000 Mah, musel jsem k pohonu motorů použít externí olověnou baterii. Pokud máte energetickou banku, která dává> = 2000 mAh, můžete přímo pohánět motory z 5V kolejnice na Pi (nedoporučoval bych to však pro motory hladové po energii)
Níže jsou stručně popsány 3 klíčové podsekce projektu LeapMotion Javascript API, WebIOPi a MJPG-Streamer a jejich základní fungování/nastavení.
Krok 4: Porozumění rozhraní WebIOPi Framework
Frontend, který je zobrazen v prohlížeči, je napsán v HTML (Filename: index.html) & Javascript, zatímco backend, který pohání GPIO, je napsán v Pythonu (Filename: script.py). Podrobné poznámky k vytvoření vlastní aplikace WebApp na základě rámce WebIOPi jsou připojeny jako poznámky v úložišti Bitbucket.
Vlastní makra definovaná ve skriptu Pythonu lze spustit ze souboru HTML.
Např: webiopi (). CallMacro ("go_forward"); Toto je vlastní volání makra go_forward definovaného ve skriptu Pythonu, které zpracovává proces převádění obou motorů vpřed.
Hierarchie adresářů, kde jsou soubory uloženy na Pi, je zobrazena na přiloženém obrázku.
Složka Robot obsahuje tyto podsložky:
- html: obsahující index.html
- python: obsahující script.py
- mjpg-streamer-r63: obsahující soubory sestavení a spustitelný soubor pro spuštění webové kamery
MJPG-Streamer: Živý stream videa z webové kamery USB běží ve výchozím nastavení na portu 8080 Pi. Chcete -li stream zobrazit ručně, po zapnutí webové kamery přejděte v prohlížeči na stránku RASPBERRYPI_IP: 8080.
Kód LeapMotion:
Fragmenty kódu z příkladů uvedených v sadě LeapMotion SDK byly vloženy do souboru index.html. Soubor LeapMotion leap.js musí být přidán do složky html v adresáři projektu na Raspberry Pi.
Parametr palmPosition odeslaný LeapMotion se používá k určení, které makro se spustí na Raspberry Pi.
Krok 5: Spuštění projektu
Jednoduše zapněte Raspberry Pi a počkejte přibližně minutu. Uvidíte nový hotpsot RaspberryPi. Připojte se k tomuto hotspotu a otevřete v prohlížeči tuto statickou IP adresu: 192.168.42.1:8000. 8000 je výchozí port WebIOPi.
Raspberry Pi lze také nakonfigurovat tak, aby se připojovalo k místní WiFi síti jako in clien, místo aby se zobrazovalo jako hotspot. Poté byste měli určit dynamickou IP přiřazenou routeru Raspberry Pi a poté ji v prohlížeči spustit, abyste si mohli hrát s robotem.
Pokud potřebujete pomoc nebo dotazy ohledně projektu, můžete zanechat komentář. Šťastný skok!
Byly připojeny celé zdrojové kódy. Pokud potřebujete pomoc s jakoukoli částí stavby projektu, můžete zanechat komentář. Šťastný skok!
Doporučuje:
Vyhledávání Google na ESP32: 7 kroků
Vyhledávání Google na ESP32: V tomto tutoriálu vám ukážu, jak provádět vyhledávání Google pomocí ESP32. Samotný výsledek není příliš užitečný, protože výsledky hledání jsou v sériovém monitoru v počítači, ale je to skvělá věc a ukázat sílu ESP32. Kód může
IRduino: Dálkové ovládání Arduino - napodobte ztracené dálkové ovládání: 6 kroků
IRduino: Dálkové ovládání Arduino - napodobte ztracené dálkové ovládání: Pokud jste někdy ztratili dálkový ovladač pro váš televizor nebo DVD přehrávač, víte, jak frustrující je chodit k němu, hledat a používat tlačítka na samotném zařízení. Někdy tato tlačítka ani nenabízejí stejné funkce jako dálkové ovládání. Přijmout
Jednoduchý robot s automatickým pohybem pomocí IC Arduino a L293d: 6 kroků
Jednoduchý automatický pohybující se robot pomocí Arduino a L293d IC: Toto je základní robot obsluhovaný arduinem a dělá to, že se ve výchozím kódu jen toulá a sleduje kruhovou cestu, ale můžete kód snadno změnit. Je to jednoduchý projekt, který může postavit kdokoli … Takže pokud si
Robot pro likvidaci bomb (Termenatör): 13 kroků (s obrázky)
Robot pro likvidaci bomb (Termenatör): Vlastnosti:* Podporovány bezpilotní prostředky* Robotické rameno (6směrné)* Hořící laserový systém* Kamerový systém (3 kamery)* Sledovací systém stínění brýlí Google* Vrtný systém* V závislosti na vrtacím systému , hadí kamera endoskopie * Ha
Užitečné dávkové vyhledávání souborů: 6 kroků
Užitečné dávkové vyhledávání souborů: Dobrý den, toto je můj první pokyn. takže pokud jsem udělal chybu, pokračujte snadno. Udělal jsem jednoduchý dávkový vyhledávač souborů, který mi pomůže najít soubory, které potřebuji ve své džungli na pevném disku. Tato dávka je mnohem rychlejší než standardní vyhledávání v systému Windows (okna, ale