Spisu treści:
- Krok 1: Materiały i narzędzia
- Krok 2: Zbuduj samochód
- Krok 3: Obwody lutowane
- Krok 4: Zainstaluj zależności w systemie wbudowanym
- Krok 5: Ustaw statyczny adres IP
- Krok 6: Prześlij kod do Arduino
- Krok 7: Podłącz obwody i komputer do samochodu
- Krok 8: Skonfiguruj środowisko VR
- Krok 9: Uruchom to wszystko razem
Wideo: Samochód RC sterowany wirtualną rzeczywistością: 9 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Czy kiedykolwiek chciałeś zostać zmniejszony i pilotować statek taki jak Innerspace lub Fantastic Voyage? Cóż, myślę, że to jest tak blisko, jak to możliwe w krótkim czasie!
Oto prezentacja:
Samochód zdalnie sterowany Real-Life, pilotowany z konsoli poleceń wirtualnej rzeczywistości. Oznacza to, że zakładasz zestaw słuchawkowy VR, przestawiasz przełącznik w samochodzie RC, a następnie możesz pilotować z VR z obrazem wideo na żywo prosto na twarz.
Zaimplementowałem trzy rzeczy, którymi możesz sterować w samochodzie VR.
- Koła
- klakson
- Światła
Wszystkie z nich mają jakiś przycisk lub dźwignię w VR, które można obrócić lub przełączyć, aby prowadzić samochód.
Aby uzyskać pełne repozytorium i więcej informacji, sprawdź mój Github i moją stronę internetową!
Krok 1: Materiały i narzędzia
Mechaniczny:
Zestaw podwozia z napędem na 4 koła
Elektryczny:
- Koder koła
- Bateria 3S 1300 mAh
- Arduino Uno
- Osłona silnika Arduino
- Piezoelektryczny brzęczyk
- Mała dioda LED
- Złącza XT60
- Konwerter doładowania/zwrotki
Komputer:
- Dowolny wbudowany system komputerowy: Raspberry Pi, Jetson Nano itp.
- Kamera USB (preferowana kamera 180 stopni)
Narzędzia / Dodatkowe:
- Lutownica
- Niektóre ustawienia VR - mam Oculus Rift
- Multimetr
Krok 2: Zbuduj samochód
Podwozie samochodu jest bardzo łatwe do zbudowania. Wystarczy przymocować silniki do płyty głównej za pomocą zakładek, które ci dają. Po przymocowaniu kół i silników będziesz także potrzebować czegoś do zamocowania kamery z przodu samochodu.
Do zamontowania użyłem kartonowego pudełka, w którym wszedł aparat. Wyciąłem duży kształt litery L i wyciąłem otwór, aby kamera mogła się dokładnie przebić. Następnie możesz po prostu przełożyć kamerę i przykleić taśmę z tyłu, aby utrzymać ją na miejscu. Jeśli chcesz, możesz teraz również zrobić otwory na reflektory lub zrobić to później, mierząc długość drutu.
Będziesz także musiał przymocować enkoder do jednego z kół. Nieważne które, położyłem go na tylnym lewym kole. Dysk magnetyczny należy umieścić na właściwym wale koła, a enkoder należy przymocować do samochodu obok. Jest dość chłonny, więc nie musi być na nim od razu, ale tak blisko, jak to możliwe. Zabezpieczyłem koder taśmą i opaską na suwak. Enkoder jest tym, czego użyjemy do pomiaru prędkości naszego samochodu.
Krok 3: Obwody lutowane
Ta część jest dość żmudna, ale nie skomplikowana. Jeśli podążysz za obrazem i zmierzysz wszystko przed przecięciem przewodu, nie jest tak źle.
Kiedy to robisz, powinieneś również skalibrować konwerter buck, aby wyprowadzał prawidłowe napięcie. Raspberry Pi i Jetson Nano pobierają 5 V, ale nasza bateria ma 11,1 V. Dlatego musimy się upewnić, że nie usmażymy naszej elektroniki. Aby to zrobić, podłącz baterię do wejścia konwertera buck. Gdy bateria jest podłączona, użyj multimetru, aby zmierzyć stronę wyjściową konwertera buck. Użyj małego płaskiego śrubokręta, aby obrócić potencjometr na konwerterze buck, aż napięcie wyjściowe osiągnie 5V. Gdy wyjście będzie prawidłowe, nie będziesz już musiał obracać potencjometru.
Krok 4: Zainstaluj zależności w systemie wbudowanym
Nie za dużo do zrobienia, ale nadal niezwykle ważne.
Najpierw upewnij się, że łączysz się z routerem, którego będziesz używać, aby od teraz mógł łączyć się automatycznie.
Następnie otwórz terminal i wpisz:
aktualizacja sudo apt
sudo apt install openssh-server
sudo apt zainstaluj python-pip pip zainstaluj numpy pip zainstaluj opencv-python pip zainstaluj pyzmq
Po zainstalowaniu tych rzeczy musimy się upewnić, że bez względu na port, do którego jest podłączone arduino, jest on zawsze rozpoznawany. Tak więc piszemy tak zwane zasady UDEV. Są to reguły dla twojego systemu operacyjnego, które regulują to, co dzieje się po podłączeniu rzeczy. Chcemy zidentyfikować arduino, kiedy jest podłączone, i nadać mu nazwę, aby uzyskać do niego dostęp. Będzie to nazwa „arduino_0”. Aby to zrobić, użyjemy wewnętrznego numeru seryjnego arduino, aby go zidentyfikować.
udewadm info -a -n /dev/ttyUSB1 | grep '{serial}' | głowa -n1
Spowoduje to wyplucie wartości numeru seryjnego, kontynuuj i skopiuj tę wartość.
Następnie musimy edytować (lub utworzyć, jeśli nie istnieje) plik o nazwie „99-usb-serial.rules”. Ten plik znajduje się w następującej ścieżce pliku "/etc/udev/rules.d/99-usb-serial.rules". Jak wspomniałem, jeśli ten plik nie istnieje, po prostu go utwórz i wklej w następującym wierszu z wartością VALUE_FROM_ABOVE zamienioną na twoją wartość z wcześniej.
SUBSYSTEM=="tty", ATTRS{serial}=="VALUE_FROM_ABOVE", SYMLINK+="arduino_0"
To mówi systemowi operacyjnemu, że ilekroć zobaczy ten konkretny numer seryjny, nazwać go arduino_0.
Ostatnią rzeczą do zrobienia jest pobranie pliku pushArucoVideoPullCommands.py i umieszczenie go w łatwo dostępnym miejscu. Polecam katalog domowy dla twojego użytkownika, ponieważ to tam skończymy, gdy później SSH do systemu wbudowanego.
Krok 5: Ustaw statyczny adres IP
Teraz jest to część, którą wszyscy kochają, adresowanie IP. Aby ten projekt działał, kod musi wiedzieć, dokąd wysyłać obrazy i polecenia sterujące, a to oznacza, że nasze urządzenia potrzebują statycznego adresu IP.
Istnieje wiele sposobów na przypisanie Twojemu urządzeniu statycznego adresu IP, ale ponieważ mamy router łączący naszą stację naziemną i system wbudowany, możemy go użyć, aby bardzo łatwo nadać nam określone adresy IP.
Przejdź do sekcji administratora routera, zwykle (w przypadku większości routerów) odbywa się to poprzez otwarcie przeglądarki internetowej i przejście do „192.168.1.1”. Zostaniesz poproszony o zalogowanie się, a typowa standardowa nazwa użytkownika i hasło dla większości routerów to „admin”.
Tam przejdź do czegoś, co wspomina „Serwer DHCP”. Jest to proces, który działa na routerze i śledzi, jakie urządzenia są z nim połączone za pomocą ich adresu MAC, który jest zawsze stały. Chcemy wybrać urządzenia, na których nam zależy komputera stacji naziemnej i systemu wbudowanego, a następnie dodaj je do zarezerwowanej sekcji klienta. Dzięki temu uzyskają statyczne adresy IP za każdym razem, gdy będą podłączone do tego routera.
Upewnij się, że ustawiłeś adres IP systemu wbudowanego na 192.168.1.122IP stacji naziemnej można ustawić na dowolną wartość.
Krok 6: Prześlij kod do Arduino
Aby wgrać kod arduino, musimy najpierw zainstalować bibliotekę do pracy z osłoną silnika.
W swoim Arduino IDE przejdź do Sketch->Include Library->Manage Libraries… Następnie wyszukaj Adafruit Motor Shield Library. Zainstaluj tę bibliotekę, a następnie prześlij kod do swojego arduino, nic więcej nie powinno być wymagane.
Krok 7: Podłącz obwody i komputer do samochodu
Teraz, gdy tor jest już zbudowany, nadszedł czas, aby umieścić to wszystko w samochodzie. Nie będę kłamać, wiele z tych rzeczy jest po prostu utrzymywanych na taśmie, ponieważ to było dla mnie najłatwiejsze do zrobienia, naprawdę szybko. To powiedziawszy, ma dopasowane otwory montażowe, jak widać na powyższym obrazku.
Większość rzeczy można po prostu zostawić gdzieś na dachu samochodu, więc nie martw się, jeśli nie ma dużo miejsca.
Krok 8: Skonfiguruj środowisko VR
Ta sekcja będzie wyglądać trochę inaczej w zależności od tego, jaką masz konfigurację VR. W każdym razie użyłem SteamVR do opracowania tego oprogramowania, więc może być konieczne jego zainstalowanie.
Tak długo, jak korzystasz ze SteamVR, elementy sterujące powinny dostosowywać się do różnych kontrolerów. Zmapowałem kontrolki do "Akcji", niekoniecznie przycisków, więc teoretycznie dostosuje się do wszystkich.
Wystarczy pobrać i rozpakować plik ze światem kompilacji Unity i być gotowym do uruchomienia VR_Bot.exe.
Krok 9: Uruchom to wszystko razem
Więc teraz, kiedy mamy już konfigurację samochodu i stację naziemną, wszystko podłączone i gotowe do pracy, jak właściwie mamy prowadzić tego złego chłopca? Cóż, z punktu widzenia stacji naziemnej, wystarczy uruchomić plik VR_Bot.exe, który widzieliśmy wcześniej.
W tym samym czasie będziesz musiał podłączyć baterię do systemu wbudowanego i automatycznie uruchomić go i połączyć z routerem. Po uruchomieniu uruchom SSH. Aby uzyskać do tego dostęp, potrzebujesz jakiegoś terminala na stacji naziemnej, polecam GitBash.
SSH oznacza Secure Shell i jest to protokół bezpiecznego dostępu do systemów zdalnych. W naszym przypadku da nam to dostęp do systemu wbudowanego ze stacji naziemnej. Kliknij tutaj, aby dowiedzieć się więcej.
Musisz znać nazwę użytkownika, za pomocą której skonfigurowałeś system wbudowany. W przypadku raspberry pi domyślna nazwa użytkownika to „pi”, a hasło „raspberry”.
Po zainstalowaniu otwórz terminal i wpisz:
ssh {nazwa użytkownika systemu wbudowanego}@192.168.1.122
Spowoduje to otwarcie terminala w systemie wbudowanym.
Tam wystarczy wykonać skrypt Pythona, który skopiowaliśmy wcześniej.
python /ścieżka/do/pushArucoVideoPullCommands.py
Po wykonaniu tej czynności system wbudowany zacznie pompować obrazy i odbierać polecenia do i ze stacji naziemnej.
Możesz wtedy zacząć jeździć i dobrze się bawić!
Zalecana:
DIY Arduino sterowany przez Bluetooth samochód: 6 kroków (ze zdjęciami)
DIY Arduino Bluetooth Controlled Car: Cześć przyjaciele! Nazywam się Nikolas, mam 15 lat i mieszkam w Atenach w Grecji. Dzisiaj pokażę Ci, jak zrobić 2-kołowy samochód sterowany przez Bluetooth przy użyciu Arduino Nano, drukarki 3D i kilku prostych elementów elektronicznych! Koniecznie obejrzyj moje
Jak zrobić samochód sterowany smartfonem: 5 kroków
Jak zrobić samochód sterowany smartfonem: Wszyscy uwielbiają bawić się zdalnym samochodem obsługiwanym przez smartfon. Ten film pokazuje, jak to zrobić
Samochód zdalnie sterowany z modułem komunikacyjnym NRF24L01 PA LNA: 5 kroków
Samochód zdalnie sterowany z modułem komunikacyjnym NRF24L01 PA LNA: W tym temacie chcielibyśmy podzielić się tym, jak zrobić samochód zdalnie sterowany z modułem NRF24L01 PA LNA. W rzeczywistości istnieje kilka innych modułów radiowych, takich jak moduły radiowe 433MHz, HC12, HC05 i LoRa. Ale naszym zdaniem mod NRF24L01
Samochód Bluetooth sterowany mobilnie -- Łatwy -- Prosty -- Hc-05 -- Osłona silnika: 10 kroków (ze zdjęciami)
Samochód Bluetooth sterowany mobilnie || Łatwy || Prosty || Hc-05 || Osłona silnika:… Zasubskrybuj mój kanał na YouTube… Jest to samochód sterowany przez Bluetooth, który używa modułu Bluetooth HC-05 do komunikacji z telefonem komórkowym. Możemy sterować autem za pomocą telefonu komórkowego przez Bluetooth. Istnieje aplikacja do kontrolowania ruchu samochodu
Sprzęt do telefonu z rozszerzoną rzeczywistością: 7 kroków
Sprzęt do telefonu z rozszerzoną rzeczywistością: tani, łatwy, fajny