Innholdsfortegnelse:
- Trinn 1: Materialer og verktøy
- Trinn 2: Bygg bil
- Trinn 3: Loddekretser
- Trinn 4: Installer avhengigheter på det innebygde systemet
- Trinn 5: Konfigurer statisk IP -adresse
- Trinn 6: Last opp kode til Arduino
- Trinn 7: Fest krets og datamaskin til bilen
- Trinn 8: Sett opp VR -miljø
- Trinn 9: Kjør alt sammen
Video: Virtual Reality Controlled RC Car: 9 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Har du noen gang ønsket å bli krympet og prøve et håndverk som Innerspace eller Fantastic Voyage? Jeg tror dette er så nært som du kommer på kort varsel!
Her er banen:
En bil fra Real-Life fjernkontroll som ble pilotert fra en kommando-konsoll i Virtual Reality. Dette betyr at du setter på et VR -headset, snur en bryter på en RC -bil og deretter kan pilotere fra VR med live videofeed rett til ansiktet ditt.
Det er deg ting jeg implementerte som du kan kontrollere på VR -bilen.
- Hjul
- Horn
- Lys
Alle disse har en slags knapp eller spak i VR som du kan snu eller bytte for å kjøre bilen.
For full repo og mer informasjon, sjekk ut min Github og nettstedet mitt!
Trinn 1: Materialer og verktøy
Mekanisk:
Chassis -sett med fire hjul
Elektrisk:
- Hjulkoder
- 3S 1300mAh batteri
- Arduino Uno
- Arduino motorskjerm
- Piezo elektrisk summer
- Liten LED
- XT60 -kontakter
- Boost / Buck -omformer
Datamaskin:
- Ethvert innebygd datasystem: Raspberry Pi, Jetson Nano, etc.
- USB -kamera (å foretrekke - 180 graders kamera)
Verktøy / Ekstra:
- Loddejern
- Noen VR -oppsett - jeg har Oculus Rift
- Multimeter
Trinn 2: Bygg bil
Chassiset til bilen er superenkelt å konstruere. Du trenger bare å feste motorene til hovedkortet via fanene de gir deg. Etter at du har festet hjulene og motorene, trenger du også noe for å feste kameraet foran på bilen.
Jeg brukte pappkassen som kameraet kom med for å montere den. Jeg kuttet ut en stor L -form og skar et hull for kameraet å stikke grundig. Etter det kan du bare sette kameraet igjennom og sette tape på baksiden for å holde det på plass. Hvis du vil, kan du også sette hull i frontlysene dine nå også, eller gjøre det senere når du måler ut lengden på ledningen.
Du må også feste hjulkoderen til et av hjulene. Det spiller ingen rolle hvilken, jeg satte den på venstre bakhjul. Du må sette magnetskiven på selve akselen på hjulet, og koder skal festes til bilen ved siden av den. Det er ganske mottagelig, så det trenger ikke å være rett på det, men så nært som mulig. Jeg sikret koderen min med tape og et glidelås. Koderen er det vi skal bruke til å måle hastigheten på bilen vår.
Trinn 3: Loddekretser
Denne delen er ganske kjedelig, men ikke komplisert. Hvis du følger bildet og måler alt før du kutter tråden, er det ikke så ille.
Mens du gjør dette, bør du også kalibrere bukkomformeren for å levere riktig spenning. Raspberry Pi og Jetson Nano tar begge 5v i, men batteriet vårt er på 11,1v. Så vi må sørge for at vi ikke steker elektronikken vår. For å gjøre dette, koble batteriet til inngangssiden til bukkomformeren. Mens batteriet er plugget inn, må du bruke multimeteret til å måle utgangssiden til bukkomformeren. Bruk en liten skrutrekker til å skru potensiometeret på bukkomformeren til utgangsspenningen er 5v. Når utgangen er riktig, trenger du ikke å snu potensiometeret lenger.
Trinn 4: Installer avhengigheter på det innebygde systemet
Ikke for mye å gjøre her, men likevel utrolig viktig.
Sørg først for at du kobler til ruteren du skal bruke, slik at den kan koble til automatisk fra nå av.
Deretter åpner du en terminal og skriver inn følgende:
sudo apt oppdatering
sudo apt installer openssh-server
sudo apt install python-pip pip install numpy pip install opencv-python pip install pyzmq
Når disse tingene er installert, må vi sørge for at den, uansett hvilken port arduinoen er koblet til, alltid blir gjenkjent. Så vi skriver det som kalles UDEV -regler. Dette er regler for operativsystemet som styrer hva som skjer når du kobler til ting. Vi vil identifisere arduinoen når den er plugget inn, og gi den et navn for å få tilgang til den. Det navnet vil være "arduino_0". For å gjøre dette, bruker vi arduinoens interne serienummer for å identifisere det.
udevadm info -a -n /dev /ttyUSB1 | grep '{serial}' | hode -n1
Dette vil spytte ut en verdi for serienummeret, fortsett og kopier den verdien.
Vi må deretter redigere (eller opprette hvis den ikke eksisterer) en fil som heter "99-usb-serial.rules". Denne filen lever i følgende filbane "/etc/udev/rules.d/99-usb-serial.rules". Som jeg nevnte, hvis den filen ikke eksisterer, er det bare å lage den og lime den inn på følgende linje med VALUE_FROM_ABOVE erstattet med verdien din fra før.
SUBSYSTEM == "tty", ATTRS {serial} == "VALUE_FROM_ABOVE", SYMLINK+= "arduino_0"
Dette forteller operativsystemet at når det ser dette spesifikke serienummeret for å kalle det arduino_0.
Det siste du må gjøre her er å laste ned pushArucoVideoPullCommands.py og legge den til et lett tilgjengelig sted. Jeg vil anbefale hjemmekatalogen for brukeren din, da det er der vi vil ende opp når vi SSH inn i det innebygde systemet senere.
Trinn 5: Konfigurer statisk IP -adresse
Nå er delen alle liker, IP -adressering. For at dette prosjektet skal fungere, må koden vite hvor du skal sende bilder og kontrollkommandoer til, og det betyr at enhetene våre trenger en statisk IP.
Det er mange måter å tilordne enheten din en statisk IP på, men fordi vi har en ruter som kobler bakkestasjonen og det innebygde systemet vårt, kan vi bruke det til å gi oss spesifikke IP -adresser veldig enkelt.
Naviger til ruterens admin -seksjon, vanligvis (for de fleste rutere) gjøres dette ved å åpne en nettleser og gå til "192.168.1.1". Den vil be deg om å logge på, og det vanlige standard brukernavnet og passordet for de fleste rutere er "admin".
Når du er der, navigerer du til noe som nevner 'DHCP -server'. Dette er en prosess som kjører på ruteren din og holder oversikt over hvilke enheter som er koblet til den med deres MAC -adresse, som alltid er konstant. Vi vil velge enhetene vi bryr oss om om, bakkestasjonsdatamaskinen og det innebygde systemet, og legg dem til i den reserverte klientseksjonen. Dette vil gi dem en statisk ip når de er koblet til denne ruteren.
Sørg for at du har angitt det innebygde systemets IP til 192.168.1.122 Jordstasjonens IP kan settes til hva som helst.
Trinn 6: Last opp kode til Arduino
For å laste opp arduino -koden må vi først installere et bibliotek for å jobbe med motorskjermen.
Gå til Sketch-> Inkluder bibliotek-> Administrer biblioteker på Arduino IDE … Søk deretter etter Adafruit Motor Shield Library. Installer dette biblioteket, og last deretter opp koden til din arduino, ingenting annet bør være nødvendig.
Trinn 7: Fest krets og datamaskin til bilen
Nå som kretsen er bygget, er det på tide å sette alt på bilen. Jeg kommer ikke til å lyve, mange av disse tingene blir bare holdt på med tape fordi det var det som var lettest for meg å slå sammen veldig fort. Når det er sagt, har den monterte monteringshull som vist på bildet ovenfor.
De fleste tingene er ganske enkle å bare la sitte et sted på toppen av bilen, så ikke bekymre deg hvis det ikke er mye plass.
Trinn 8: Sett opp VR -miljø
Denne delen kommer til å se litt annerledes ut, avhengig av hva slags VR -oppsett du har på gang. Uansett brukte jeg SteamVR til å utvikle denne programvaren, så du må kanskje installere den.
Så lenge du bruker SteamVR, bør kontrollene tilpasse seg forskjellige kontrollere. Jeg har kartlagt kontrollene til "Handlinger", ikke nødvendigvis knapper, så i teorien vil det tilpasse seg alle.
Du trenger bare å laste ned og pakke ut filen med build Unity -verdenen og være klar til å kjøre VR_Bot.exe.
Trinn 9: Kjør alt sammen
Så nå som vi har satt opp bilen og bakkestasjonen er koblet til og klar til å gå, hvordan driver vi egentlig denne dårlige gutten? Fra bakkestasjonens synspunkt, alt du trenger å gjøre for å kjøre VR_Bot.exe -filen vi så fra tidligere.
Samtidig må du koble batteriet til det innebygde systemet og la det starte automatisk opp og koble til ruteren din. Når den er startet opp, SSH inn i den. For å få tilgang til dette trenger du en slags terminal på bakkestasjonen, jeg anbefaler GitBash.
SSH står for Secure Shell og er en protokoll for sikker tilgang til eksterne systemer. I vårt tilfelle vil det gi oss tilgang til det innebygde systemet fra bakkestasjonen. Klikk her for å lære mer.
Du må vite brukernavnet som du konfigurerte det innebygde systemet ditt med. For bringebær pi er standard brukernavn 'pi' og passord 'bringebær'.
Når den er installert, åpner du en terminal og skriver inn følgende:
ssh {Innebygd systems brukernavn}@192.168.1.122
Dette åpner en terminal i det innebygde systemet.
Når du er der, trenger du bare å utføre python -skriptet vi kopierte over tidligere.
python /path/to/pushArucoVideoPullCommands.py
Etter at du har gjort det, vil det innebygde systemet begynne å pumpe ut bilder og motta kommandoer til og fra bakkestasjonen.
Da er du god til å begynne å kjøre og ha det gøy!
Anbefalt:
Virtual Reality på Raspberry Pi With BeYourHero !: 19 trinn (med bilder)
Virtual Reality on Raspberry Pi With BeYourHero !: Velkommen til " Be Your Hero " prosjekt! Jeg håper du er klar til å gå inn i neste generasjon Virtual Reality nedsenking! Dette prosjektet gir deg full gestkontroll av enhver virtuell helt du liker med et enkelt sett med billige enheter som bruker se
Hopp tilbake! Virtual Reality -spill ved hjelp av Arduino & Acclerometer: 9 trinn
Hopp tilbake! Virtual Reality Game Using Arduino & Acclerometer: I denne opplæringen skal vi lage et Virtual Reality -spill ved hjelp av Arduino og Acclerometer
Virtual Reality Headset-Google Cardboard: 4 trinn
Virtual Reality Headset-Google Cardboard: Hei Gutter her er en enkel opplæring i hvordan du lager Google Cardboard, et hjemmelaget Virtual Reality Headset. Det vil være smertefullt å se en skrekkfilm i dette headsettet. Også rutsjebane Ride -video vil også bli en uforglemmelig opplevelse. Advarsel
Virtual Reality -drakt ved bruk av Arduino: 7 trinn (med bilder)
Virtual Reality Suit Using Arduino: Jeg har laget dette prosjektet for å spille vanlige dataspill i full VR. Dette prosjektet emulerer bevegelsene dine til å trykke eller holde inne tastene på tastaturet Eksempel- når du går fremover, blir handlingen med å trykke på 'w' emulert. Jeg har emu
Lag dine egne virtual reality -briller: 4 trinn
Lag dine egne virtual reality-briller: Materialer:- Skoskrin i papp- Saks / X-Acto kniv- 2 45 mm bikonvekse linser- 4 strimler med borrelås- Gluestick