Kazalo:
- Korak: Materiali in orodja
- Korak: Zgradite avto
- Korak: Spajkanje vezja
- 4. korak: Namestite odvisnosti na vdelani sistem
- 5. korak: Nastavitev statičnega naslova IP
- 6. korak: Naložite kodo v Arduino
- Korak 7: Priključite vezje in računalnik na avto
- 8. korak: Nastavite okolje VR
- 9. korak: Zaženite vse skupaj
Video: RC avtomobil, ki ga nadzira virtualna resničnost: 9 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Ste si kdaj želeli, da bi vas skrčili in upravljali plovilo, kot sta Innerspace ali Fantastic Voyage? No, mislim, da je to tako blizu, kot boste prišli kmalu!
Tukaj je smola:
Avtomobil z daljinskim upravljalnikom v resničnem življenju, pilotiran z ukazne konzole navidezne resničnosti. To pomeni, da na slušalke VR pripnete slušalko VR, obrnete stikalo na avtomobilu RC in nato pilotirate iz VR z video posnetki v živo naravnost v obraz.
Izvedel sem nekaj stvari, ki jih lahko nadzirate v avtomobilu VR.
- Kolesa
- Rog
- Luči
Vsi ti imajo v VR -ju nekakšen gumb ali ročico, ki jo lahko obrnete ali preklopite za vožnjo avtomobila.
Za celoten repo in več informacij si oglejte moj Github in mojo spletno stran!
Korak: Materiali in orodja
Mehanski:
Komplet šasije s štirikolesnim pogonom
Električno:
- Kodirnik kolesa
- 3S 1300mAh baterija
- Arduino Uno
- Motorni ščit Arduino
- Piezo električni zvočni signal
- Majhna LED
- Priključki XT60
- Boost / Buck Converter
Računalnik:
- Vsak vgrajen računalniški sistem: Raspberry Pi, Jetson Nano itd.
- USB kamera (po možnosti - kamera 180 stopinj)
Orodja / Dodatno:
- Spajkalnik
- Nekaj nastavitev VR - imam Oculus Rift
- Multimeter
Korak: Zgradite avto
Šasija za avto je zelo enostavna za izdelavo. Motorje morate samo pritrditi na glavno ploščo prek jezičkov, ki vam jih dajo. Ko namestite kolesa in motorje, boste potrebovali tudi nekaj za pritrditev kamere na sprednji del avtomobila.
Za montažo sem uporabil kartonsko škatlo, v katero je prišla kamera. Izrezal sem veliko obliko L in izrezal luknjo, v kateri bo fotoaparat temeljito prebodel. Po tem lahko preprosto vstavite fotoaparat in na zadnji strani postavite nekaj traku, da ostane na svojem mestu. Če želite, lahko tudi zdaj vstavite luknje za žaromete ali pa to storite pozneje pri merjenju dolžine žice.
Dajalnik koles morate pritrditi tudi na eno od koles. Ni važno kateri, postavil sem ga na zadnje levo kolo. Magnetni disk morate postaviti na dejansko gred kolesa, dajalnik pa mora biti pritrjen na avto poleg njega. Je precej dojemljiv, zato mu ni treba biti čisto na vrhu, ampak čim bližje. Enkoder sem zavaroval s trakom in kravato na zadrgo. Dajalnik je tisto, kar bomo uporabili za merjenje hitrosti našega avtomobila.
Korak: Spajkanje vezja
Ta del je precej dolgočasen, vendar ni zapleten. Če sledite sliki in izmerite vse, preden odrežete žico, ni tako slabo.
Medtem ko to počnete, morate kalibrirati tudi pretvornik, ki oddaja pravilno napetost. Raspberry Pi in Jetson Nano imata 5V, vendar je baterija pri 11.1V. Zato moramo paziti, da ne prepražimo naše elektronike. To naredite tako, da baterijo priključite na vhodno stran pretvornika. Ko je baterija priključena, z multimetrom izmerite izhodno stran pretvornika. Z majhnim izvijačem z ravno glavo zavrtite potientiometer na pretvorniku, dokler izhodna napetost ni 5 V. Ko je izhod pravilen, vam ne bo treba več obračati potientiometra.
4. korak: Namestite odvisnosti na vdelani sistem
Tu ni preveč dela, a vseeno neverjetno pomembno.
Najprej se povežite z usmerjevalnikom, ki ga boste uporabljali, da se bo lahko odslej samodejno povezal.
Nato odprite terminal in vnesite naslednje:
sudo apt posodobitev
sudo apt namestite strežnik openssh
sudo apt namestite python-pip pip namestite numpy pip namestite opencv-python pip namestite pyzmq
Ko so te stvari nameščene, se moramo prepričati, da jih ne glede na vrata, v katera je priključen arduino, vedno prepoznamo. Tako pišemo tako imenovana pravila UDEV. To so pravila za vaš operacijski sistem, ki urejajo, kaj se zgodi, ko priključite stvari. Želimo identificirati arduino, ko je priključen, in mu dati ime za dostop do njega. To ime bo "arduino_0". Za to bomo uporabili notranjo serijsko številko arduina, da jo identificiramo.
udevadm info -a -n /dev /ttyUSB1 | grep '{serial}' | glava -n1
To bo izpljunilo vrednost serijske številke, kopirajte to vrednost.
Nato moramo urediti (ali ustvariti, če ne obstaja) datoteko, imenovano "99-usb-serial.rules". Ta datoteka se nahaja na naslednji poti datoteke /etc/udev/rules.d/99-usb-serial.rules. Kot sem že omenil, če ta datoteka ne obstaja, jo preprosto ustvarite in prilepite v naslednjo vrstico z vrednostjo VALUE_FROM_ABOVE, zamenjano z vašo vrednostjo od prej.
SUBSYSTEM == "tty", ATTRS {serial} == "VALUE_FROM_ABOVE", SYMLINK+= "arduino_0"
To operacijskemu sistemu pove, da ga vsakič, ko vidi to posebno serijsko številko, pokliče arduino_0.
Nazadnje morate tukaj prenesti pushArucoVideoPullCommands.py in ga postaviti na lahko dostopno mesto. Za vašega uporabnika bi priporočil domači imenik, saj bomo tam končali, ko bomo kasneje SSH vstavili v vgrajeni sistem.
5. korak: Nastavitev statičnega naslova IP
Zdaj je del, ki ga imajo vsi radi, naslavljanje IP. Da bi ta projekt deloval, mora koda vedeti, kam poslati slike in nadzorne ukaze, kar pomeni, da naše naprave potrebujejo statični IP.
Obstaja veliko načinov za dodelitev vaše naprave statičnemu IP -ju, a ker imamo usmerjevalnik, ki povezuje našo zemeljsko postajo in vgrajen sistem, ga lahko uporabimo za preprosto podajanje določenih naslovov IP.
Pomaknite se do skrbniškega razdelka usmerjevalnika, običajno (za večino usmerjevalnikov) to storite tako, da odprete spletni brskalnik in pojdite na "192.168.1.1". Od vas se bo zahtevalo, da se prijavite, tipično standardno uporabniško ime in geslo za večino usmerjevalnikov pa je "admin".
Ko ste tam, se pomaknite do nečesa, kar omenja "strežnik DHCP". To je postopek, ki se izvaja na vašem usmerjevalniku in spremlja, katere naprave so z njim povezane z naslovom MAC, ki je vedno stalen. Želimo izbrati naprave, ki so nam pomembne približno, računalnik zemeljske postaje in vgrajen sistem ter jih dodajte v razdelek rezerviranih odjemalcev, kar jim bo dalo statični IP, kadar koli so povezani s tem usmerjevalnikom.
Prepričajte se, da ste IP vdelanega sistema nastavili na 192.168.1.122 IP zemeljske postaje lahko nastavite na karkoli.
6. korak: Naložite kodo v Arduino
Če želite naložiti kodo arduino, moramo najprej namestiti knjižnico za delo s ščitom motorja.
V Arduino IDE pojdite na Sketch-> Include Library-> Manage Libraries … Nato poiščite Adafruit Motor Shield Library. Namestite to knjižnico, nato kodo naložite v svoj arduino, nič drugega ne bi bilo potrebno.
Korak 7: Priključite vezje in računalnik na avto
Zdaj, ko je vezje zgrajeno, je čas, da vse postavite na avto. Ne bom lagal, veliko teh stvari se le drži na traku, ker je bilo to tisto, kar sem najlažje hitro udaril skupaj. Kot rečeno, ima vgrajene montažne luknje, kot je prikazano na zgornji sliki.
Večino stvari je precej preprosto pustiti sedeti nekje na vrhu avtomobila, zato ne skrbite, če ni veliko prostora.
8. korak: Nastavite okolje VR
Ta razdelek bo videti nekoliko drugače, odvisno od tega, kakšno nastavitev VR imate. Ne glede na to sem za razvoj te programske opreme uporabil SteamVR, zato jo boste morda morali namestiti.
Dokler uporabljate SteamVR, se morajo kontrole prilagoditi različnim krmilnikom. Kontrolnike sem preslikal v »Dejanja«, ne nujno v gumbe, zato se bo teoretično prilagodil vsem.
Prenesti morate in razpakirati datoteko s svetom build Unity in biti pripravljeni na zagon datoteke VR_Bot.exe.
9. korak: Zaženite vse skupaj
Torej, zdaj, ko imamo nastavljen avto in zemeljsko postajo, ki je priklopljena in pripravljena za odhod, kako bomo dejansko vodili tega slabega fanta? No, z vidika zemeljske postaje je vse, kar morate storiti, zagnati datoteko VR_Bot.exe, ki smo jo videli prej.
Hkrati boste morali v vgrajeni sistem priključiti baterijo, da se samodejno zažene in poveže z usmerjevalnikom. Ko se zažene, vanj vstavite SSH. Za dostop do tega boste potrebovali nekakšen terminal na zemeljski postaji, priporočam GitBash.
SSH pomeni Secure Shell in je protokol za varen dostop do oddaljenih sistemov. V našem primeru nam bo omogočil dostop do vdelanega sistema s kopenske postaje. Kliknite tukaj, če želite izvedeti več.
Vedeti morate uporabniško ime, s katerim ste nastavili vgrajeni sistem. Privzeto uporabniško ime za malino pi je 'pi' in geslo 'malina'.
Ko je nameščen, odprite terminal in vnesite naslednje:
ssh {Uporabniško ime vdelanega sistema}@192.168.1.122
To bo odprlo terminal v vgrajenem sistemu.
Ko ste tam, morate samo izvesti skript python, ki smo ga kopirali prej.
python /path/to/pushArucoVideoPullCommands.py
Ko to storite, bo vgrajeni sistem začel črpati slike in prejemati ukaze do in iz zemeljske postaje.
Potem lahko začnete voziti in se zabavati!
Priporočena:
Navidezna resničnost na Raspberry Pi z BeYourHero !: 19 korakov (s slikami)
Navidezna resničnost na Raspberry Pi z BeYourHero !: Dobrodošli v " Be Your Hero " Upam, da ste pripravljeni za vstop v naslednjo generacijo potopitve v virtualno resničnost! Ta projekt vam bo omogočil popoln nadzor nad kretnjami katerega koli virtualnega junaka, ki vam je všeč, s preprostim nizom poceni naprav, ki uporabljajo
Dodatna resničnost Vuforia 7 Zaznavanje talne ravnine .: 8 korakov
Dodatna resničnost Vuforia 7 Detection Ground Plane: Vuforijin SDK za razširjeno resničnost za Unity 3D uporablja ARCore in ARKit za zaznavanje zemeljskih ravnin v AR. Današnja vadnica bo uporabila domačo integracijo v Unity za izdelavo aplikacije AR za Android ali IOS. Avto bo padel z neba na zemljo
DIY pametna očala za razširjeno resničnost z uporabo Arduina: 7 korakov
DIY pametna očala za razširjeno resničnost z uporabo Arduina: Ker tehnologija hitro raste in se vključuje v vse vidike življenja ljudi, so oblikovalci in razvijalci poskušali ljudem zagotoviti prijetnejšo izkušnjo s tehnologijo. Eden od tehnoloških trendov, ki si olajšajo življenje, je nošenje
Naredimo aplikacijo za razširjeno resničnost za MEMES !: 8 korakov
Naredimo aplikacijo za razširjeno resničnost za MEMES !: V tem navodilu bomo izdelali aplikacijo za razširjeno resničnost za Android in IOS v Unity3D, ki za iskanje memov uporablja Googlov API. V Unityju bomo uporabili zaznavanje talne ravnine Vuforia, tako da bo ta mobilna aplikacija delovala za
DIY video igra, ki jo nadzira gibanje glave (razširjena resničnost): 4 koraki
DIY video igra, ki jo nadzira gibanje glave (razširjena resničnost): Želim vam pokazati, kako enostavno je v današnjem času izdelati lastno igro, ki jo je mogoče nadzorovati s premikanjem telesa. Potrebovali boste le prenosni računalnik s spletno kamero in nekaj programiranja. Če nimate prenosnega računalnika in spletne kamere ali če ne veste, kako programirati, jo