Indholdsfortegnelse:

Virtual Reality Controlled RC Car: 9 trin
Virtual Reality Controlled RC Car: 9 trin

Video: Virtual Reality Controlled RC Car: 9 trin

Video: Virtual Reality Controlled RC Car: 9 trin
Video: First Person View VR RC Car Racing!! 2024, November
Anonim
Image
Image

Har du nogensinde ønsket at blive krympet og prøve et håndværk som Innerspace eller Fantastic Voyage? Jeg tror, det er så tæt på, at du kommer med kort varsel!

Her er banen:

En Real-Life fjernbetjeningsbil blev piloteret fra en Virtual Reality-kommandokonsol. Det betyder, at du spænder på et VR -headset, vender en switch på en RC -bil og derefter kan pilotere fra VR med live videofeed direkte til dit ansigt.

Der er dig ting, som jeg implementerede, som du kan styre på VR -bilen.

  1. Hjul
  2. Horn
  3. Lys

Alle disse har en slags knap eller håndtag i VR, som du kan vende eller skifte for at køre bilen.

For den fulde repo og mere information, tjek min Github og mit websted!

Trin 1: Materialer og værktøjer

Materialer og værktøjer
Materialer og værktøjer
Materialer og værktøjer
Materialer og værktøjer

Mekanisk:

Chassis -sæt med 4 hjul

Elektrisk:

  • Hjulkoder
  • 3S 1300mAh batteri
  • Arduino Uno
  • Arduino motorskærm
  • Piezo elektrisk summer
  • Lille LED
  • XT60 -stik
  • Boost / Buck -konverter

Computer:

  • Ethvert integreret computersystem: Raspberry Pi, Jetson Nano osv.
  • USB -kamera (foretrækkes - 180 graders kamera)

Værktøj / Ekstra:

  • Loddekolbe
  • Nogle VR -opsætninger - jeg har Oculus Rift
  • Multimeter

Trin 2: Konstruer bil

Byg bil
Byg bil
Byg bil
Byg bil
Byg bil
Byg bil

Chassiset til bilen er super let at konstruere. Du skal bare vedhæfte motorerne til hovedkortet via de faner, de giver dig. Når du har monteret hjul og motorer, skal du også bruge noget til at fastgøre kameraet foran på bilen.

Jeg brugte papkassen, som kameraet kom i, til at montere den. Jeg skar en stor L -form ud og skar et hul til, at kameraet kunne stikke grundigt. Derefter kan du bare slippe kameraet igennem og lægge tape på bagsiden for at holde det på plads. Hvis du vil, kan du også sætte huller i dine forlygter nu også, eller gøre det senere, når du måler trådlængden.

Du skal også vedhæfte hjulkoderen til et af hjulene. Det er ligegyldigt hvilket, jeg satte det på det bageste venstre hjul. Du skal sætte magnetskiven på hjulets egentlige aksel, og encoderen skal være fastgjort til bilen ved siden af den. Det er temmelig modtageligt, så det behøver ikke at være lige ved det, men så tæt som muligt. Jeg sikrede min encoder med tape og et lynlås. Encoderen er det, vi vil bruge til at måle hastigheden på vores bil.

Trin 3: Loddekredsløb

Loddekredsløb
Loddekredsløb
Loddekredsløb
Loddekredsløb

Denne del er ret kedelig, men ikke kompliceret. Hvis du følger billedet og måler alt, før du klipper din ledning, er det ikke så slemt.

Mens du gør dette, skal du også kalibrere din buck -konverter for at udsende den korrekte spænding. Raspberry Pi og Jetson Nano tager begge 5v ind, men vores batteri er på 11,1v. Så vi skal sørge for, at vi ikke steger vores elektronik. For at gøre dette skal du tilslutte dit batteri til indgangssiden af bukkomformeren. Mens batteriet er tilsluttet, skal du bruge dit multimeter til at måle output -siden af bukkomformeren. Brug en lille flad skruetrækker til at dreje potentiometeret på bukkomformeren, indtil udgangsspændingen er 5v. Når output er korrekt, behøver du ikke længere at dreje potentiometeret.

Trin 4: Installer afhængigheder på det integrerede system

Installer afhængigheder på det integrerede system
Installer afhængigheder på det integrerede system

Ikke for meget at gøre her, men stadig utrolig vigtigt.

Først skal du sørge for at oprette forbindelse til den router, du vil bruge, så den automatisk kan oprette forbindelse fra nu af.

Åbn derefter en terminal og indtast følgende:

sudo apt opdatering

sudo apt installerer openssh-server

sudo apt install python-pip pip install numpy pip install opencv-python pip install pyzmq

Når disse ting er installeret, skal vi sikre os, at uanset hvilken port arduinoen er tilsluttet, bliver den altid genkendt. Så vi skriver det, der kaldes UDEV -regler. Dette er regler for dit operativsystem, der styrer, hvad der sker, når du tilslutter ting. Vi vil identificere arduinoen, når den er tilsluttet, og give den et navn for at få adgang til den ved. Dette navn vil være "arduino_0". For at gøre dette vil vi bruge arduinoens interne serienummer til at identificere det.

udevadm info -a -n /dev /ttyUSB1 | grep '{serial}' | hoved -n1

Dette vil spytte en værdi for serienummeret ud, fortsæt og kopier denne værdi.

Vi skal derefter redigere (eller oprette, hvis den ikke findes) en fil kaldet "99-usb-serial.rules". Denne fil lever i følgende filsti "/etc/udev/rules.d/99-usb-serial.rules". Som jeg nævnte, hvis den fil ikke findes, skal du bare oprette den og indsætte i følgende linje med VALUE_FROM_ABOVE erstattet med din værdi fra før.

SUBSYSTEM == "tty", ATTRS {serial} == "VALUE_FROM_ABOVE", SYMLINK+= "arduino_0"

Dette fortæller operativsystemet, at når det ser dette specifikke serienummer for at kalde det arduino_0.

Den sidste ting at gøre her er at downloade pushArucoVideoPullCommands.py og placere det et let tilgængeligt sted. Jeg vil anbefale hjemmebiblioteket til din bruger, da det er her, vi ender, når vi SSH ind i det integrerede system senere.

Trin 5: Opsætning af statisk IP -adresse

Opsætning af statisk IP -adresse
Opsætning af statisk IP -adresse

Nu er den del, som alle elsker, IP -adressering. For at dette projekt kan fungere, skal koden vide, hvor de skal sende billeder og styrekommandoer til, og det betyder, at vores enheder har brug for en statisk IP.

Der er mange måder at tildele din enhed en statisk IP, men fordi vi har en router, der forbinder vores jordstation og indlejrede system, kan vi meget let bruge den til at give os specifikke IP -adresser.

Naviger til din routers admin -sektion, typisk (for de fleste routere) gøres dette ved at åbne en webbrowser og gå til "192.168.1.1". Det vil bede dig om at logge ind, og det typiske standard brugernavn og kodeord for de fleste routere er "admin".

Når du er der, skal du navigere til noget, der nævner 'DHCP Server . Dette er en proces, der kører på din router og holder styr på, hvilke enheder der er forbundet til den via deres MAC -adresse, som altid er konstant. Vi vil vælge de enheder, vi interesserer os for om, jordstationscomputeren og det integrerede system, og tilføj dem til den reserverede klientsektion. Dette vil give dem en statisk ip, når de er forbundet til denne router.

Sørg for, at du indstiller det integrerede systems IP til 192.168.1.122 Jordstationens IP kan indstilles til alt.

Trin 6: Upload kode til Arduino

Upload kode til Arduino
Upload kode til Arduino

For at uploade arduino -koden skal vi først installere et bibliotek for at arbejde med motorskærmen.

Gå til din Arduino IDE til Skitse-> Inkluder bibliotek-> Administrer biblioteker … Søg derefter efter Adafruit Motor Shield Library. Installer dette bibliotek, og upload derefter koden til din arduino, intet andet skulle være påkrævet.

Trin 7: Slut kredsløb og computer til bilen

Sæt kredsløb og computer i bilen
Sæt kredsløb og computer i bilen

Nu hvor kredsløbet er bygget, er det tid til at sætte det hele på bilen. Jeg kommer ikke til at lyve, mange af disse ting bliver bare holdt fast med tape, fordi det var det, der var lettest for mig at slå hurtigt sammen. Når det er sagt, har den monteret monteringshuller som set på billedet ovenfor.

De fleste ting er ret let at bare lade sidde et sted oven på bilen, så bare rolig, hvis der ikke er meget plads.

Trin 8: Opsætning af VR -miljø

Opsætning af VR -miljø
Opsætning af VR -miljø

Dette afsnit kommer til at se lidt anderledes ud, afhængigt af hvilken slags VR -opsætning du har gang i. Uanset hvad, brugte jeg SteamVR til at udvikle denne software, så du skal muligvis have den installeret.

Så længe du bruger SteamVR, bør kontrolelementerne tilpasse sig forskellige controllere. Jeg har kortlagt kontrollerne til "Handlinger" ikke nødvendigvis knapper, så i teorien vil det tilpasse sig alle.

Du skal bare downloade og pakke filen ud med build Unity -verdenen og være klar til at køre VR_Bot.exe.

Trin 9: Kør det hele sammen

Kør det hele sammen
Kør det hele sammen
Kør det hele sammen
Kør det hele sammen

Så nu hvor vi har fået bilen opsat, og jordstationen alle er tilsluttet og klar til at gå, hvordan kører vi egentlig denne dårlige dreng? Fra Ground Stationens synspunkt er alt hvad du skal gøre for at køre VR_Bot.exe -filen, vi så fra tidligere.

På samme tid skal du tilslutte batteriet til det integrerede system og få det til automatisk at starte og oprette forbindelse til din router. Når det er startet op, skal du SSH ind i det. For at få adgang til dette skal du bruge en slags terminal på jordstationen, jeg anbefaler GitBash.

SSH står for Secure Shell, og det er en protokol til sikker adgang til fjernsystemer. I vores tilfælde vil det give os adgang til det integrerede system fra jordstationen. Klik her for at lære mere.

Du skal kende det brugernavn, du konfigurerede dit integrerede system med. For hindbær pi er standard brugernavn 'pi' og adgangskode 'hindbær'.

Når den er installeret, skal du åbne en terminal og indtaste følgende:

ssh {Embedded System's brugernavn}@192.168.1.122

Dette åbner en terminal i det integrerede system.

Når du er der, skal du bare udføre det python -script, vi kopierede tidligere.

python /path/to/pushArucoVideoPullCommands.py

Når du har gjort det, begynder det integrerede system at pumpe billeder ud og modtage kommandoer til og fra jordstationen.

Du er da god til at begynde at køre og have det sjovt!

Anbefalede: