Spisu treści:

MyPetBot (bot, który podąża za tobą): 10 kroków (ze zdjęciami)
MyPetBot (bot, który podąża za tobą): 10 kroków (ze zdjęciami)

Wideo: MyPetBot (bot, który podąża za tobą): 10 kroków (ze zdjęciami)

Wideo: MyPetBot (bot, który podąża za tobą): 10 kroków (ze zdjęciami)
Wideo: Ludzie, którzy zamienili się w zwierzęta 😲🤔 2024, Lipiec
Anonim
Image
Image
MyPetBot (bot, który za Tobą podąża)
MyPetBot (bot, który za Tobą podąża)
MyPetBot (bot, który za Tobą podąża)
MyPetBot (bot, który za Tobą podąża)

Ai jest jednym z najpiękniejszych zastosowań matematyki. Jest to w zasadzie zestaw operacji na macierzach zoptymalizowanych pod kątem wyników, których szukasz. Na szczęście istnieje mnóstwo narzędzi open source, które pozwalają nam z niego korzystać.

Pomysł wpadłem na ten pomysł dawno temu, kiedy pracowałem nad wodospadem dezaktywowanym przez rzut przechodzących ludzi. Używałem czujników ultradźwiękowych i zbyt późno odkryłem, że nie działają zbyt dobrze, gdy są mokre… To nie było zabawne doświadczenie. Skończyło się na użyciu dużego przycisku, który ludzie naciskali, jeśli chcieli przejść. Wyszło dobrze, bo było gorąco i ludzie uwielbiali się moczyć, ale problem tkwił w mojej głowie… Jak wykrywać ludzi i aktywować reakcję.

Opowiadam tę historię, ponieważ chcę podkreślić, że ta zasada może być wykorzystana w wielu innych zastosowaniach! Podążanie za twarzą zabawką to tylko jedna z nich. W przypadku instalacji interaktywnych możesz zrobić wszystko. Możesz użyć modelu, aby wykryć, czy twarz się uśmiecha. Można było policzyć psy w parku. Możesz zamknąć rolety, gdy ludzie przechodzą obok. Lub… stwórz kontroler dla swojej bazy Nintendo na podstawie swojej pozycji ciała…. Możesz pobrać wiele innych modeli Ai, które robią różne rzeczy.

Istnieje kilka samouczków, jak sprawić, by wnioskowanie Ai działało z raspberry pi. Jestem tutaj, aby nauczyć Cię, jak zintegrować dziurę w samodzielną jednostkę. Jak tylko twój robot się uruchomi, uruchomi niezbędne programy.

Kieszonkowe dzieci

  • Robot paralaksowy: Wybrałem tego robota, ponieważ miałem go w pobliżu, ale każdy robot, którym można sterować za pomocą arduino, wykona pracę.
  • Raspberry pi: polecam przynajmniej raspberry pi 3B+.
  • Intel Neural Stick: Szybkość wnioskowania wzrasta z jednego na sekundę do 8. Naprawdę potrzebujesz go, jeśli chcesz zrobić Ai w Raspberry Pi.
  • Power Bank: Najłatwiejszy sposób zarządzania mocą. Działa z raspberry pi 3B+, możesz sprawdzić, czy działa z pi 4.
  • Picamera: Lubię używać picamery zamiast USB.

Krok 1: Montaż łazika

Montaż łazika
Montaż łazika
Montaż łazika
Montaż łazika
Montaż łazika
Montaż łazika

Celem samouczka jest głównie oprogramowanie, więc nie chcę zagłębiać się w szczegóły łazika. Działa z tym robotem, ale może działać naprawdę z każdym innym sprzętem. Nie musi być nawet dla łazika, możesz użyć tego do kamery z czujnikiem ruchu.

  1. Znajdź sobie pojazd kontrolowany przez Arduino.
  2. Mocno owiń do niego power bank.
  3. Ciasno zawiń do niego Raspberry Pi.
  4. Pikamerę przykleić pod niewielkim kątem do góry.
  5. Połącz wszystko razem.
  6. Voila!

Krok 2: Raspbian

raspbski
raspbski
raspbski
raspbski

Używam Raspberry Pi, ale nie ma powodu, aby nie używać innego linuxa… do Ciebie. Mógłbym wypuścić obraz typu plug and play do nagrywania karty SD, przejdę do tego, jeśli zainteresuje się wystarczająca liczba osób.

Zainstaluj Raspbian: Możesz zainstalować Raspbian Buster Lite. Nie będziemy używać pulpitu… Tylko połączenie ssh Secure Shell.

Połącz się ze swoim Pi: Najpierw możesz połączyć się ze swoim raspberry pi za pomocą połączenia Ethernet

Ustaw Wi-Fi: Teraz możesz skonfigurować połączenie bezprzewodowe

Krok 3: OtwórzVino

OtwórzVino
OtwórzVino

OpenVino to świetna biblioteka obsługiwana przez firmę Intel. Wykonali świetną robotę przy kompilacji przykładowych modeli i sprawili, że większość frameworków ai jest kompatybilna. Potrzebujesz tej biblioteki do karty Intel Neural Stick.

Instalacja Python3: Musisz zainstalować Pythona 3.

Instalacja OpenVino: Po wykonaniu tej czynności zobaczysz wiersz „[setupvars.sh] zainicjowano środowisko OpenVINO” za każdym razem, gdy połączysz się z raspberry pi.

OpenVino jest rozszerzeniem opencv. Aby to przetestować, możesz uruchomić python3 i zaimportować cv2.

wpisz do powłoki:

Python3

wpisz w Pythonie:

  • importuj cv2
  • cv2._wersja_

Ostatnia linia powinna zwracać '4.1.2-openvino' lub dowolną wersję openvino. jeśli mówi opencv, twoja instalacja nie zadziałała…

Krok 4: Pobierz kod

Pobierz kod
Pobierz kod

Najpierw instalujemy git. Wpisz do powłoki:

sudo apt-get zainstaluj git

Następnie możemy przejść do folderu Dokumenty i pobrać kod:

  • cd ~/Dokumenty/
  • git klon

Krok 5: FollowMe (Python)

Śledź mnie (Python)
Śledź mnie (Python)

To jest ta część, z którą chcesz się bawić. Zrób, jeśli podążaj za tobą! Niech się ciebie boi! Podążaj za swoim psem! Niech rozpozna wyraz twarzy !! Nękać kota!!! Cokolwiek chcesz.

Znajdziesz cztery główne foldery: Arduino, Deployment, Player i FollowMe:

Arduino: Więcej na ten temat w następnej sekcji

Wdrożenie: Tutaj umieszczam interfejs użytkownika. W tej chwili zakodowałem prosty przycisk start/stop i małą kamerę z kontrolą tylko futrzanej zabawy.

Gracz: Przeznaczony do użytku na komputerze stacjonarnym. Do przeglądania wyników bota!

FollowMe: moduł, który robi prawdziwą zabawę

Więcej szczegółów umieszczę na githubie, żeby mieć tylko jedno miejsce do aktualizacji. To jest miejsce na kod

Krok 6: Pobierz modele

Modele do wnioskowania nie są zawarte w kodzie, ponieważ są dość duże. Ale możesz znaleźć wiele przykładów wykorzystujących model OpenVino Zoo

Możesz skorzystać z narzędzia do pobierania modeli lub bezpośrednio wrzucić ten link. W moim przypadku nie mogłem użyć programu do pobierania modeli z mojej instalacji raspberry pi…

Następnie skopiuj model do folderu o nazwie Models z:

  • cd ~/Dokumenty/FollowMe
  • Modele mkdir
  • Modele cd
  • wget
  • wget

Zawsze potrzebujesz.xml i.bin.

Możesz pobrać dowolny model… Ale będziesz musiał zmienić kod. Baw się dobrze!

Krok 7: Arduino

Arduino
Arduino

Musimy pobrać kod w poprzednim kroku. Jest w nim kod dla arduino!

Kod jest przeznaczony do napędzania dwóch ciągłych serw, jeśli wybierzesz inną konfigurację, musisz zmodyfikować kod.

Zasadniczo robi dwie rzeczy. Komunikuje się z komputerem i uruchamia serwa z wybraną prędkością.

Mógłbym użyć wyjścia Raspberry Pi bezpośrednio do sterowania silnikami… ale arduino działają lepiej (mają prawdziwy generator częstotliwości). Chciałem też maksymalnie odciążyć raspberry pi, aby przyspieszyć wnioskowanie.

Krok 8: GUI

GUI
GUI
GUI
GUI

Nic nadzwyczajnego… Jeszcze. Mogę dodać inne rzeczy, takie jak podgląd na żywo lub sterowanie ruchem. Ale w międzyczasie wystarczy proste uruchomienie i zatrzymanie.

Jeśli chcesz go przetestować, musisz go uruchomić z katalogu FollowMe Level, a następnie wywołać go z python3:

  • cd ~/Dokumenty/FollowMe
  • Wdrożenie python3/FollowMe.py

Następnie możesz uzyskać dostęp do interfejsu w swojej przeglądarce, wpisując:

192.168.0.113:8000

oczywiście z właściwym adresem IP.

Dostępna jest również przeglądarka wideo z elementami sterującymi… ale nie z działającym wnioskowaniem

Wdrożenie python3/StreamVideo.py

Krok 9: Serwis

To właśnie sprawia, że Rover działa sam. Usługa to program działający w tle komputera bez użytkownika. Upewnij się, że WSZYSTKIE TWOJE ŚCIEŻKI są wartościami absolutnymi i że masz odpowiednie prawa, jeśli używasz jakichkolwiek plików, a usługa będzie działać poprawnie.

Aby uruchomić skrypt Pythona jako usługę, musisz odwołać się do skryptu w pliku usługi. Plik usługi znajduje się w kodzie pobranym z git w folderze Deployment. Nazwa to FollowMe.service.

Aby go skopiować, wpisz w powłoce:

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

Gdy po raz pierwszy kopiujesz plik, musisz zaktualizować systemctl… lub ponownie uruchomić komputer:

sudo systemctl demon-reload

A na początek:

sudo systemctl start FollowMe

Możesz także użyć poleceń stop, enable i disable. Ostatnie dwa dotyczą trwałej zmiany stanu.

Małe wyjaśnienie….

Openvino potrzebuje dodatkowych ścieżek w zmiennych systemowych, aby mógł działać. Niestety normalna instalacja nie będzie działać jako usługa. Potrzebujesz więc tego pliku do ustawienia zmiennych.

Zauważ, że moja instalacja dotyczy Pythona 3.7, dlatego istnieje zmienna, którą możesz potrzebować dostosować… Powodzenia!

Ten plik odwołuje się do skryptu Pythona w ścieżce bezwzględnej:

/home/pi/Dokumenty/FollowMe/Wdrażanie/FollowMe.py

Krok 10: To wszystko! Baw się dobrze

Uwagi? zawsze mile widziane

Zalecana: