Sadržaj:

RC automobil kontroliran virtualnom stvarnošću: 9 koraka
RC automobil kontroliran virtualnom stvarnošću: 9 koraka

Video: RC automobil kontroliran virtualnom stvarnošću: 9 koraka

Video: RC automobil kontroliran virtualnom stvarnošću: 9 koraka
Video: Радиоуправляемые машины,модели.Гоночный автомобиль,модель болида,игрушка для взрослых. 2024, Studeni
Anonim
Image
Image

Jeste li ikada poželjeli biti smanjeni i upravljati letjelicom poput Innerspacea ili Fantastic Voyagea? Pa, mislim da je ovo najbliže što ćete dobiti u kratkom roku!

Evo koraka:

Automobil s daljinskim upravljačem iz stvarnog života koji se upravlja s komandne konzole Virtual Reality. To znači da vežete VR slušalice, prebacite prekidač na RC automobilu, a zatim možete pilotirati iz VR -a s video feedom uživo ravno u lice.

Postoje neke stvari koje sam implementirao i koje možete kontrolirati na VR automobilu.

  1. Kotači
  2. Rog
  3. Svjetla

Svi oni imaju neku vrstu gumba ili poluge u VR -u koju možete okrenuti ili prebaciti za vožnju automobilom.

Za potpuni repo i više informacija posjetite moj Github i moju web stranicu!

Korak 1: Materijali i alati

Materijali i alati
Materijali i alati
Materijali i alati
Materijali i alati

Mehanički:

Komplet šasije s pogonom na četiri kotača

Električni:

  • Enkoder kotača
  • Baterija 3S 1300mAh
  • Arduino Uno
  • Arduino motorni štit
  • Piezo električni zujalica
  • Mala LED dioda
  • Priključci XT60
  • Pretvarač pojačanja / opadanja

Računalo:

  • Bilo koji ugrađeni računalni sustav: Raspberry Pi, Jetson Nano itd.
  • USB kamera (poželjno - kamera od 180 stupnjeva)

Alati / Dodatno:

  • Lemilica
  • Neke VR postavke - imam Oculus Rift
  • Multimetar

Korak 2: Konstruirajte automobil

Konstruirajte automobil
Konstruirajte automobil
Konstruirajte automobil
Konstruirajte automobil
Konstruirajte automobil
Konstruirajte automobil

Šasija za automobil je super laka za konstrukciju. Morate samo pričvrstiti motore na glavnu ploču putem kartica koje vam daju. Nakon što ste pričvrstili kotače i motore, trebat će vam i nešto za pričvršćivanje kamere na prednji dio automobila.

Za montažu sam upotrijebio kartonsku kutiju u kojoj je fotoaparat. Izrezao sam veliki oblik slova L i izrezao rupu za kameru da je temeljito probuši. Nakon toga kameru možete provući i staviti stražnju traku kako bi ostala na mjestu. Ako želite, sada možete staviti i rupe za farove ili to učiniti kasnije pri mjerenju duljine žice.

Također ćete morati pričvrstiti enkoder kotača na jedan od kotača. Nije važno koji, stavio sam ga na stražnji lijevi kotač. Magnetski disk morate staviti na stvarnu osovinu kotača, a koder treba pričvrstiti na automobil pored njega. Prilično je prijemčiv, pa ne mora biti na njemu, već što je moguće bliže. Enkoder sam učvrstio trakom i kravatom. Davač je ono što ćemo koristiti za mjerenje brzine našeg automobila.

Korak 3: Krugovi za lemljenje

Krugovi za lemljenje
Krugovi za lemljenje
Krugovi za lemljenje
Krugovi za lemljenje

Ovaj dio je prilično dosadan, ali nije kompliciran. Ako slijedite sliku i izmjerite sve prije nego što odrežete žicu, nije tako loše.

Dok to radite, također biste trebali kalibrirati svoj pretvarač dolara za izlaz ispravnog napona. Raspberry Pi i Jetson Nano uzimaju 5V, ali naša baterija je na 11.1V. Dakle, moramo paziti da ne ispržimo našu elektroniku. Da biste to učinili, uključite bateriju u ulaznu stranu pretvarača. Dok je baterija priključena, pomoću multimetra izmjerite izlaznu stranu pretvarača. Malim odvijačem s plosnatom glavom okrenite potientiometar na pretvaraču u napon sve dok izlazni napon ne bude 5v. Nakon što je izlaz točan, nećete više morati okretati potientiometar.

Korak 4: Instalirajte ovisnosti o ugrađenom sustavu

Instalirajte ovisnosti o ugrađenom sustavu
Instalirajte ovisnosti o ugrađenom sustavu

Ovdje nema previše posla, ali je i dalje nevjerojatno važno.

Prvo provjerite jeste li se povezali s usmjerivačem koji ćete koristiti kako bi se od sada mogao automatski povezati.

Zatim otvorite terminal i upišite sljedeće:

sudo apt ažuriranje

sudo apt install openssh-server

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

Nakon što se ove stvari instaliraju, moramo se pobrinuti da, bez obzira na to u koji je priključak arduino priključen, uvijek bude prepoznat. Dakle, pišemo ono što se naziva UDEV pravilima. Ovo su pravila za vaš operativni sustav koja određuju što se događa kada uključite stvari. Želimo identificirati arduino kada je priključen i dati mu ime za pristup. Taj će naziv biti "arduino_0". Da bismo to učinili, upotrijebit ćemo interni serijski broj arduina za njegovu identifikaciju.

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

Ovo će ispljunuti vrijednost serijskog broja, naprijed i kopirajte tu vrijednost.

Zatim moramo urediti (ili stvoriti ako ne postoji) datoteku pod nazivom "99-usb-serial.rules". Ova datoteka živi na sljedećoj putanji datoteke "/etc/udev/rules.d/99-usb-serial.rules". Kao što sam spomenuo, ako ta datoteka ne postoji, samo je stvorite i zalijepite u sljedeći redak s VALUE_FROM_ABOVE zamijenjenom vašom vrijednošću od prije.

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

To govori operativnom sustavu da ga, kad god vidi ovaj određeni serijski broj, nazove arduino_0.

Posljednje što trebate učiniti je preuzeti datoteku pushArucoVideoPullCommands.py i postaviti je na neko lako dostupno mjesto. Korisniku bih preporučio kućni direktorij, jer ćemo tu završiti kada kasnije SSH unesemo u ugrađeni sustav.

Korak 5: Postavljanje statičke IP adrese

Postavljanje statičke IP adrese
Postavljanje statičke IP adrese

Sada je dio koji svi vole, IP adresiranje. Da bi ovaj projekt funkcionirao, kôd mora znati kamo slati slike i upravljačke naredbe, a to znači da je našim uređajima potreban statički IP.

Postoji mnogo načina da svom uređaju dodijelite statički IP, ali budući da imamo usmjerivač koji povezuje našu zemaljsku stanicu i ugrađeni sustav, možemo ga koristiti za vrlo lako davanje određenih IP adresa.

Idite na administratorski odjeljak usmjerivača, obično (za većinu usmjerivača) to se radi otvaranjem web preglednika i odlaskom na "192.168.1.1". Od vas će se tražiti da se prijavite, a tipično standardno korisničko ime i lozinka za većinu usmjerivača je "admin".

Kad stignete tamo, pomaknite se do nečega što spominje "DHCP poslužitelj". Ovo je proces koji se pokreće na vašem usmjerivaču i prati koji su uređaji s njim povezani njihovom MAC adresom, koja je uvijek konstantna. Želimo odabrati uređaje do kojih nam je stalo oko računala zemaljske postaje i ugrađenog sustava te ih dodati u odjeljak rezerviranih klijenata. To će im dati statički ip kad god su spojeni na ovaj usmjerivač.

Provjerite jeste li IP ugrađenog sustava postavili na 192.168.1.122 IP zemaljske postaje može se postaviti na bilo što.

Korak 6: Prenesite kod na Arduino

Učitajte kôd na Arduino
Učitajte kôd na Arduino

Za učitavanje arduino koda moramo prvo instalirati knjižnicu za rad sa štitom motora.

Na svom Arduino IDE idite na Sketch-> Include Library-> Manage Libraries … Zatim potražite Adafruit Motor Shield Library. Instalirajte ovu knjižnicu, zatim prenesite kôd na svoj arduino, ništa drugo ne bi trebalo biti potrebno.

Korak 7: Priključite strujna kola i računalo na automobil

Priključite strujna kola i računalo na automobil
Priključite strujna kola i računalo na automobil

Sada kada je sklop izgrađen, vrijeme je da sve to stavite na automobil. Neću lagati, puno se ovih stvari samo drži trakom jer mi je to bilo najlakše spojiti se jako brzo. S tim u vezi, ugrađene su montažne rupe kako se vidi na gornjoj slici.

Većinu je stvari prilično jednostavno jednostavno ostaviti sjediti negdje na vrhu automobila, stoga, ne brinite ako nema puno prostora.

Korak 8: Postavljanje VR okruženja

Postavljanje VR okruženja
Postavljanje VR okruženja

Ovaj odjeljak će izgledati malo drugačije, ovisno o vrsti VR postavki koje imate. U svakom slučaju, za razvoj ovog softvera koristio sam SteamVR pa ćete ga možda morati instalirati.

Sve dok koristite SteamVR, kontrole bi se trebale prilagoditi različitim kontrolerima. Mape sam preslikao u "Radnje", a ne nužno u gumbe, pa će se teoretski prilagoditi svima.

Samo trebate preuzeti i raspakirati datoteku sa svijetom build Unity i biti spremni za pokretanje VR_Bot.exe.

Korak 9: Pokrenite sve zajedno

Pokreni sve zajedno
Pokreni sve zajedno
Pokreni sve zajedno
Pokreni sve zajedno

Dakle, sad kad smo postavili auto i zemaljska stanica sve spojena i spremna za polazak, kako ćemo zapravo pokrenuti ovog lošeg dječaka? S gledišta zemaljske postaje, sve što trebate učiniti je pokrenuti datoteku VR_Bot.exe koju smo vidjeli ranije.

Istodobno ćete morati umetnuti bateriju u ugrađeni sustav i omogućiti automatsko pokretanje i povezivanje s usmjerivačem. Nakon što se podigne, uključite SSH. Da biste pristupili ovome, trebat će vam neka vrsta terminala na zemaljskoj postaji, preporučujem GitBash.

SSH znači Secure Shell i to je protokol za siguran pristup udaljenim sustavima. U našem slučaju, to će nam omogućiti pristup ugrađenom sustavu sa zemaljske postaje. Kliknite ovdje za više informacija.

Morate znati korisničko ime s kojim postavljate svoj ugrađeni sustav. Za maline pi zadano korisničko ime je 'pi', a lozinka 'malina'.

Nakon instalacije otvorite terminal i upišite sljedeće:

ssh {Korisničko ime ugrađenog sustava}@192.168.1.122

Ovo će otvoriti terminal u ugrađenom sustavu.

Jednom tamo, samo trebate izvršiti python skriptu koju smo ranije kopirali.

python /path/to/pushArucoVideoPullCommands.py

Nakon što to učinite, ugrađeni sustav počet će ispumpavati slike i primati naredbe do i sa zemaljske postaje.

Tada ste dobri za početak vožnje i zabave!

Preporučeni: