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, Juli
Anonim
Image
Image

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

Evo koraka:

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

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

  1. Točkovi
  2. Rog
  3. Svjetla

Svi oni imaju neku vrstu dugmeta ili ručice u VR -u koje 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čno:

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

Računar:

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

Alati / Dodatno:

  • Lemilica
  • Nekoliko VR postavki - imam Oculus Rift
  • Multimetar

Korak 2: Konstruišite automobil

Construct Car
Construct Car
Construct Car
Construct Car
Construct Car
Construct Car

Šasija za automobil je super laka za konstrukciju. Morate samo priključiti motore na glavnu ploču preko jezičaka 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 kamera. Izrezao sam veliki oblik slova L i izrezao rupu za kameru da je temeljito probuši. Nakon toga možete samo provući kameru i staviti neku traku sa stražnje strane kako bi ostala na mjestu. Ako želite, sada možete staviti i rupe za farove ili to učiniti kasnije pri mjerenju dužine žice.

Također ćete morati pričvrstiti enkoder kotača na jedan od kotača. Nije važno koji, stavio sam ga na zadnji lijevi kotač. Morate staviti magnetni disk 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. Osigurao sam enkoder trakom i kravatom. Enkoder je ono što ćemo koristiti za mjerenje brzine našeg automobila.

Korak 3: Krugovi za lemljenje

Lemni krugovi
Lemni krugovi
Lemni krugovi
Lemni krugovi

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

Dok to radite, također biste trebali kalibrirati svoj pretvarač u vrijednosti za izlaz ispravnog napona. Raspberry Pi i Jetson Nano i troše 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. Upotrijebite mali odvijač s plosnatom glavom da biste okrenuli potientiometar na konverteru sve dok izlazni napon ne bude 5v. Nakon što je izlaz ispravan, više nećete morati okretati potientiometar.

Korak 4: Instalirajte zavisnosti na ugrađeni sistem

Instalirajte zavisnosti na ugrađenom sistemu
Instalirajte zavisnosti na ugrađenom sistemu

Nema tu previše posla, ali je i dalje nevjerovatno važno.

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

Zatim otvorite terminal i upišite sljedeće:

sudo apt update

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 koji port je arduino priključen, uvijek bude prepoznat. Dakle, pišemo ono što se naziva UDEV pravila. Ovo su pravila za vaš operativni sistem koja uređuju šta se dešava kada uključite stvari. Želimo identifikovati arduino kada je priključen i dati mu ime za pristup. To ime će biti "arduino_0". Da bismo to učinili, upotrijebit ćemo interni serijski broj arduina da ga identificiramo.

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

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

Zatim moramo urediti (ili stvoriti ako ne postoji) datoteku pod nazivom "99-usb-serial.rules". Ova datoteka se nalazi 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 ranije.

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

Ovo govori operativnom sistemu da kad god vidi ovaj specifični serijski broj da ga nazove arduino_0.

Posljednje što ovdje trebate učiniti je preuzeti pushArucoVideoPullCommands.py i postaviti ga na lako dostupno mjesto. Korisniku bih preporučio početni direktorij, jer ćemo tu završiti kada kasnije SSH unesemo u ugrađeni sistem.

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, kod mora znati kamo slati slike i kontrolne 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čku IP adresu, ali budući da imamo usmjerivač koji povezuje našu zemaljsku stanicu i ugrađeni sistem, 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, idite na nešto što spominje "DHCP server". Ovo je proces koji se pokreće na vašem usmjerivaču i prati koji su uređaji povezani s njim putem njihove MAC adrese, koja je uvijek konstantna. Želimo odabrati uređaje do kojih nam je stalo o računaru zemaljske stanice i ugrađenom sistemu, te ih dodati u odjeljak rezerviranih klijenata. Ovo će im dati statički ip kad god su spojeni na ovaj usmjerivač.

Uvjerite se da ste IP ugrađenog sistema postavili na 192.168.1.122 IP zemaljske stanice se može postaviti na bilo šta.

Korak 6: Otpremite kôd na Arduino

Otpremite kôd na Arduino
Otpremite kôd na Arduino

Da bismo učitali arduino kôd, moramo prvo instalirati biblioteku 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 biblioteku, a zatim otpremite kôd na svoj arduino, ništa drugo ne bi trebalo biti potrebno.

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

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

Sada kada je kolo izgrađeno, vrijeme je da sve to stavite na automobil. Neću lagati, mnoge ove stvari se samo drže trakom jer mi je to bilo najlakše da se ošamarimo na brzinu. S tim u vezi, ugrađene su montažne rupe kao što se vidi na gornjoj slici.

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

Korak 8: Postavite VR okruženje

Podesite VR okruženje
Podesite VR okruženje

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

Sve dok koristite SteamVR, kontrole bi se trebale prilagoditi različitim kontrolerima. Mape sam preslikao u "Akcije", 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 je spojena i spremna za polazak, kako ćemo zapravo pokrenuti ovog lošeg dječaka? Pa, sa stajališta zemaljske stanice, sve što trebate učiniti je pokrenuti datoteku VR_Bot.exe koju smo vidjeli ranije.

Istovremeno, morat ćete priključiti bateriju na ugrađeni sistem i omogućiti automatsko pokretanje i povezivanje s usmjerivačem. Nakon što se podigne, SSH u nju. Da biste pristupili ovome, trebat će vam neka vrsta terminala na zemaljskoj stanici, preporučujem GitBash.

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

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

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

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

Ovo će otvoriti terminal u ugrađenom sistemu.

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

python /path/to/pushArucoVideoPullCommands.py

Nakon što to učinite, ugrađeni sistem će početi ispumpavati slike i primati naredbe do i sa zemaljske stanice.

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

Preporučuje se: