Obsah:

MyPetBot (robot, který vás sleduje): 10 kroků (s obrázky)
MyPetBot (robot, který vás sleduje): 10 kroků (s obrázky)

Video: MyPetBot (robot, který vás sleduje): 10 kroků (s obrázky)

Video: MyPetBot (robot, který vás sleduje): 10 kroků (s obrázky)
Video: MORTAL KOMBAT WILL DESTROY US 2024, Červenec
Anonim
Image
Image
MyPetBot (robot, který vás sleduje)
MyPetBot (robot, který vás sleduje)
MyPetBot (robot, který vás sleduje)
MyPetBot (robot, který vás sleduje)

Ai je jednou z nejkrásnějších aplikací matematiky. Je to v podstatě spousta operací s maticemi optimalizovaných tak, aby odpovídaly výsledku, který hledáte. Naštěstí existuje spousta open source nástrojů, které nám umožňují toho využít.

Původně jsem měl tuto myšlenku už dávno, když jsem pracoval na vodopádu deaktivovaném házením lidí. Používal jsem ultrazvukové senzory a příliš pozdě jsem zjistil, že když jsou mokré, příliš nefungují … Nebyl to zábavný zážitek. Nakonec jsme použili velké tlačítko, které by lidé stiskli, kdyby chtěli projít. Ukázalo se to dobře, protože bylo horko a lidé rádi vlhli, ale problém zůstal v mé hlavě … Jak detekovat lidi a aktivovat reakci.

Vyprávím tento příběh, protože chci poukázat na to, že tento princip lze použít pro spoustu dalších aplikací! Sledování tváře hračkou je jen jedním z nich. Pro interaktivní instalace můžete dělat cokoli. Pomocí modelu můžete zjistit, zda se obličej usmívá. Mohli byste spočítat počet psů v parku. Když kolem procházejí lidé, můžete zatáhnout žaluzie. Nebo … vytvořte ovladač pro vaši základnu nintendo podle polohy vašeho těla…. Můžete si stáhnout mnoho dalších modelů Ai, které dělají jakýkoli druh věcí.

Existuje několik návodů, jak zajistit, aby Ai inference fungovala s malinovým pi. Jsem tu, abych vás naučil, jak provést integraci otvorů do samostatně fungující jednotky. Jakmile se váš robot spustí, spustí potřebné programy.

Zásoby

  • Paralaxní robot: Vybral jsem si tohoto robota, protože jsem ho měl položeného, ale práci zvládne každý robot, který lze ovládat arduinem.
  • Raspberry pi: Doporučuji alespoň malinový pi 3B+.
  • Intel Neural Stick: Inferenční frekvence se pohybuje od jedné za sekundu do 8. Opravdu ji potřebujete, pokud chcete dělat Ai na malinovém pi.
  • Power Bank: Nejjednodušší způsob správy napájení. Funguje s malinou pi 3B+, možná budete chtít zkontrolovat, zda funguje s pi 4.
  • Picamera: Rád používám picameru místo USB.

Krok 1: Sestava roveru

Sestava Rover
Sestava Rover
Sestava Rover
Sestava Rover
Sestava Rover
Sestava Rover

Pointa tutoriálu je hlavně o softwaru, takže nechci příliš zabíhat do detailů roveru. Funguje to s tímto robotem, ale může to fungovat opravdu s jakýmkoli jiným hardwarem. Nemusí to být ani pro rover, můžete to použít pro kameru se snímačem pohybu.

  1. Najděte si vozidlo ovládané Arduino.
  2. Pevně k němu zabalte powerbanku.
  3. Pevně k němu zabalte malinový pí.
  4. Lepte pikameru pod mírným úhlem směrem nahoru.
  5. Propojte vše dohromady.
  6. Voila!

Krok 2: Raspbian

Raspbian
Raspbian
Raspbian
Raspbian

Používám malinový pi, ale není důvod nepoužívat jiný linux … záleží na vás. Mohl bych uvolnit plug and play obrázek pro vypálení sd karty, k tomu se dostanu, pokud bude mít zájem dost lidí.

Nainstalujte Raspbian: Můžete nainstalovat Raspbian Buster Lite. Nebudeme používat stolní počítač … Pouze připojení ssh Secure Shell.

Připojte se k vašemu Pi: Nejprve se můžete k malinovému pi připojit pomocí ethernetového připojení

Nastavení Wi -Fi: Nyní můžete nakonfigurovat bezdrátové připojení

Krok 3: OpenVino

OpenVino
OpenVino

OpenVino je skvělá knihovna podporovaná společností Intel. Odvedli skvělou práci při kompilaci vzorových modelů a učinili většinu ai frameworku kompatibilními. Tuto knihovnu potřebujete pro Intel Neural Stick.

Instalace Pythonu 3: Musíte nainstalovat python 3.

Instalace OpenVino: Jakmile to bude hotové, uvidíte řádek „[setupvars.sh] Prostředí OpenVINO inicializováno“pokaždé, když se připojíte k Raspberry Pi.

OpenVino je rozšířením opencv. Chcete -li to vyzkoušet, můžete spustit python3 a importovat cv2.

zadejte do shellu:

python3

zadejte do pythonu:

  • importovat cv2
  • cv2._ verze_

Poslední řádek by měl vrátit '4.1.2-openvino' nebo jakoukoli verzi openvino. pokud if říká opencv, vaše instalace nefungovala …

Krok 4: Stáhněte si kód

Stáhněte si kód
Stáhněte si kód

Nejprve nainstalujeme git. Zadejte do shellu:

sudo apt-get install git

Poté se můžeme přesunout do složky Dokumenty a stáhnout kód:

  • cd ~/Dokumenty/
  • git clone

Krok 5: FollowMe (Python)

FollowMe (Python)
FollowMe (Python)

Toto je část, se kterou chcete hrát. Udělejte, pokud vás následují! Ať se tě bojí! Následujte svého psa! Rozpoznejte výrazy tváře !! Pronásledujte svou kočku !!! Cokoli chceš.

Najdete zde čtyři hlavní složky: Arduino, Deployment, Player a FollowMe:

Arduino: Více o tom v další části

Nasazení: Zde jsem umístil uživatelské rozhraní. Právě teď jsem zakódoval jednoduché tlačítko start/stop a malý prohlížeč kamer s ovládáním, což je prostě zábava.

Přehrávač: Má být použit ve vašem stolním počítači. Za kontrolu výstupu robota!

FollowMe: Modul, který dělá skutečnou zábavu

Na github dám více podrobností, aby bylo možné aktualizovat pouze jedno místo. Toto je místo pro kód

Krok 6: Stáhněte si modely

Modely pro odvození nejsou v kódu zahrnuty, protože jsou poměrně velké. Ale můžete najít spoustu příkladů pomocí OpenVino model Zoo

Můžete použít model downloader nebo jít přímo hodit tento odkaz. V mém případě jsem nemohl použít model downloader z mé instalace Raspberry Pi …

Potom zkopírujte model do složky s názvem Modely s:

  • cd ~/Dokumenty/FollowMe
  • Modely mkdir
  • CD modely
  • wget
  • wget

Vždy potřebujete.xml a.bin.

Můžete si stáhnout libovolný model, který chcete … Ale budete muset změnit kód. Bavte se!

Krok 7: Arduino

Arduino
Arduino

V předchozím kroku musíme stáhnout kód. Kód pro arduino je v něm!

Kód je určen k pohonu dvou nepřetržitých serv, pokud jste zvolili jinou konfiguraci, musíte kód upravit.

V zásadě to dělá dvě věci. Komunikuje s počítačem a aktivuje serva zvolenou rychlostí.

Mohl bych nám dát výstup malinového pi přímo k ovládání motorů … ale arduino funguje lépe (Mají skutečný frekvenční generátor). Také jsem chtěl co nejvíce vyložit malinový pi, aby byl závěr rychlejší.

Krok 8: GUI

GUI
GUI
GUI
GUI

Nic fantastického … Přesto. Mohl bych přidat další věci, jako je živé zobrazení nebo ovládání pohybu. Mezitím ale stačí jednoduchý start a stop.

Pokud ho chcete otestovat, musíte jej spustit z adresáře FollowMe Level a poté jej zavolat z python3:

  • cd ~/Dokumenty/FollowMe
  • nasazení python3/FollowMe.py

Poté se k rozhraní v prohlížeči dostanete zadáním:

192.168.0.113:8000

samozřejmě se správnou IP adresou.

K dispozici je také prohlížeč videa s ovládacími prvky … ale ne s pracovním závěrem

nasazení python3/StreamVideo.py

Krok 9: Služba

Díky tomu Rover funguje sám. Služba je program běžící na pozadí počítače bez uživatele. Ujistěte se, že VŠECHNY VAŠE CESTY jsou absolutní a že máte správná práva, pokud používáte jakékoli soubory a služba poběží dobře.

Chcete -li spustit skript pythonu jako službu, musíte na skript odkazovat v souboru služby. Servisní soubor je v kódu staženém z gitu ve složce Deployment. Název je FollowMe.service.

Chcete -li jej zkopírovat, zadejte do shellu následující:

sudo cp ~/Documents/FollowMe/Deployment/FollowMe.service/etc/systemd/system/

Při prvním kopírování souboru potřebujete aktualizovat systemctl … nebo restartovat:

sudo systemctl daemon-reload

A začít:

sudo systemctl start FollowMe

Můžete také použít příkazy zastavit, povolit a zakázat. Poslední dva jsou pro trvalou změnu stavu.

Malé vysvětlení….

Aby Openvino fungovalo, potřebuje v systémových proměnných nějaké další cesty. Běžná instalace bohužel nebude fungovat jako služba. Tento soubor tedy potřebujete k nastavení proměnných.

Všimněte si, že moje instalace je pro python 3.7, proto existuje proměnná, kterou budete možná muset upravit … Hodně štěstí!

Tento soubor odkazuje na skript pythonu v absolutní cestě:

/home/pi/Documents/FollowMe/Deployment/FollowMe.py

Krok 10: To je ono! Bavte se

Komentáře? vždycky vítán

Doporučuje: