Turinys:

Virtualios realybės valdomas RC automobilis: 9 žingsniai
Virtualios realybės valdomas RC automobilis: 9 žingsniai

Video: Virtualios realybės valdomas RC automobilis: 9 žingsniai

Video: Virtualios realybės valdomas RC automobilis: 9 žingsniai
Video: WRC Generations REVIEW: Now That's What I Call RALLY! 2024, Liepa
Anonim
Image
Image

Ar kada nors norėjote susitraukti ir išbandyti tokį laivą kaip „Innerspace“ar „Fantastic Voyage“? Na, aš manau, kad tai yra taip arti, kaip jūs ketinate gauti per trumpą laiką!

Štai aikštelė:

„Real-Life“nuotolinio valdymo automobilis, valdomas iš „Virtual Reality“valdymo pulto. Tai reiškia, kad prisisegiate VR ausines, perjungiate RC automobilio jungiklį, tada galite išbandyti VR iš tiesioginio vaizdo įrašo tiesiai į veidą.

Yra jūsų įdiegtų dalykų, kuriuos galite valdyti „VR Car“.

  1. Ratai
  2. Ragas
  3. Šviesos

Visa tai turi tam tikrą mygtuką arba svirtį VR, kurią galite apversti arba perjungti, kad galėtumėte vairuoti automobilį.

Norėdami gauti visą repo ir daugiau informacijos, apsilankykite mano „Github“ir mano svetainėje!

1 žingsnis: medžiagos ir įrankiai

Medžiagos ir įrankiai
Medžiagos ir įrankiai
Medžiagos ir įrankiai
Medžiagos ir įrankiai

Mechaninis:

Keturių ratų pavaros važiuoklės komplektas

Elektros:

  • Ratų kodavimo įrenginys
  • 3S 1300mAh baterija
  • Arduino Uno
  • „Arduino“variklio skydas
  • Pjezo elektrinis garsinis signalas
  • Mažas šviesos diodas
  • XT60 jungtys
  • „Boost / Buck“keitiklis

Kompiuteris:

  • Bet kokia įterpta kompiuterinė sistema: Raspberry Pi, Jetson Nano ir kt.
  • USB kamera (pageidautina - 180 laipsnių kamera)

Įrankiai / papildoma:

  • Lituoklis
  • Kai kurios VR sąrankos - turiu „Oculus Rift“
  • Multimetras

2 žingsnis: sukonstruokite automobilį

Konstruoti automobilį
Konstruoti automobilį
Konstruoti automobilį
Konstruoti automobilį
Konstruoti automobilį
Konstruoti automobilį

Automobilio važiuoklę labai lengva sukonstruoti. Jums tiesiog reikia pritvirtinti variklius prie pagrindinės plokštės per skirtukus, kuriuos jie jums suteikia. Kai pritvirtinsite ratus ir variklius, jums taip pat reikės kažko, kad pritvirtintumėte fotoaparatą prie automobilio priekio.

Jai pritvirtinti naudoju kartoninę dėžę, kurią atnešė fotoaparatas. Iškirpau didelę L formą ir išpjoviau skylę fotoaparatui, kad jis gerai įsmeigtų. Po to galite tiesiog prakišti fotoaparatą ir įdėti juostą į galą, kad ji liktų vietoje. Jei norite, dabar taip pat galite įkišti skyles priekiniams žibintams arba tai padaryti vėliau, kai išmatuosite laido ilgį.

Taip pat prie vieno iš ratų turėsite pritvirtinti ratų kodavimo įrenginį. Nesvarbu, kurį, padėjau ant galinio kairiojo rato. Magnetinį diską turite uždėti ant tikrojo rato veleno, o kodavimo įrenginys turėtų būti pritvirtintas prie automobilio šalia jo. Jis yra gana imlus, todėl jis neturi būti tiesiai ant jo, bet kuo arčiau. Užkodinau kodavimo priemonę juostele ir užtrauktuku. Koderis yra tai, ką mes naudosime savo automobilio greičiui matuoti.

3 žingsnis: litavimo grandinės

Lituoklių grandinės
Lituoklių grandinės
Lituoklių grandinės
Lituoklių grandinės

Ši dalis yra gana varginanti, bet ne sudėtinga. Jei sekate paveikslėlį ir prieš pjaustydami laidą viską išmatuokite, tai nėra labai blogai.

Kai tai darote, taip pat turėtumėte kalibruoti savo „Buck“keitiklį, kad išvestumėte teisingą įtampą. „Raspberry Pi“ir „Jetson Nano“įjungia 5 V įtampą, tačiau mūsų baterija yra 11,1 V. Taigi, turime įsitikinti, kad nekepame savo elektronikos. Norėdami tai padaryti, prijunkite akumuliatorių prie „Buck“keitiklio įvesties pusės. Kol akumuliatorius įjungtas, naudokite savo multimetrą, kad išmatuotumėte išvesties pusę. Naudokite mažą atsuktuvą plokščiu galvute, kad pasuktumėte keitiklio potientiometrą, kol išėjimo įtampa bus 5 V. Kai išvestis bus teisinga, jums nebereikės pasukti potientiometro.

4 veiksmas: įdiekite priklausomybes įterptinėje sistemoje

Įdiekite priklausomybes įterptinėje sistemoje
Įdiekite priklausomybes įterptinėje sistemoje

Čia nėra per daug ką nuveikti, bet vis tiek nepaprastai svarbu.

Pirmiausia įsitikinkite, kad prisijungiate prie maršrutizatoriaus, kurį naudosite, kad jis nuo šiol galėtų prisijungti automatiškai.

Tada atidarykite terminalą ir įveskite:

sudo apt atnaujinimas

sudo apt install openssh-server

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

Įdiegę šiuos dalykus, turime įsitikinti, kad, nesvarbu, prie kurio prievado yra prijungtas arduino, jis visada bus atpažįstamas. Taigi, mes rašome vadinamąsias UDEV taisykles. Tai yra jūsų operacinės sistemos taisyklės, reglamentuojančios, kas nutinka, kai prijungiate daiktus. Mes norime atpažinti „arduino“, kai jis prijungtas, ir suteikti jam pavadinimą, kad galėtumėte jį pasiekti. Šis pavadinimas bus „arduino_0“. Norėdami tai padaryti, mes naudosime vidinį arduino serijos numerį, kad jį identifikuotume.

udevadm info -a -n /dev /ttyUSB1 | grep '{serijinis}' | galva -n1

Tai išskirs serijos numerio vertę, eikite į priekį ir nukopijuokite šią vertę.

Tada turime redaguoti (arba sukurti, jei jo nėra) failą, pavadintą „99-usb-serial.rules“. Šis failas yra tokiame failo kelyje „/etc/udev/rules.d/99-usb-serial.rules“. Kaip minėjau, jei to failo nėra, tiesiog sukurkite jį ir įklijuokite į šią eilutę su VALUE_FROM_ABOVE, pakeista jūsų verte iš anksčiau.

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

Tai nurodo operacinei sistemai, kad kai ji pamato šį konkretų serijos numerį, vadinti jį arduino_0.

Paskutinis dalykas, kurį reikia padaryti, yra atsisiųsti „pushArucoVideoPullCommands.py“ir įdėti ją lengvai pasiekiamoje vietoje. Aš rekomenduočiau savo vartotojui namų katalogą, nes ten mes atsidursime vėliau, kai SSH prisijungsime prie įterptosios sistemos.

5 veiksmas: nustatykite statinį IP adresą

Nustatykite statinį IP adresą
Nustatykite statinį IP adresą

Dabar tai dalis, kuri patinka visiems, IP adresavimas. Kad šis projektas veiktų, kodas turi žinoti, kur siųsti vaizdus ir valdymo komandas, o tai reiškia, kad mūsų įrenginiams reikia statinio IP.

Yra daug būdų, kaip priskirti jūsų įrenginiui statinį IP, tačiau, kadangi turime maršrutizatorių, jungiantį mūsų antžeminę stotį ir įterptąją sistemą, galime jį naudoti, kad mums būtų labai lengva suteikti konkrečius IP adresus.

Eikite į savo maršrutizatoriaus administratoriaus skyrių, paprastai (daugumai maršrutizatorių) tai daroma atidarius žiniatinklio naršyklę ir einant į „192.168.1.1“. Jis paprašys jūsų prisijungti, o tipiškas standartinis vartotojo vardas ir slaptažodis daugumai maršrutizatorių yra „admin“.

Kai būsite ten, eikite į kažką, kuriame minimas „DHCP serveris“. Tai procesas, kuris veikia jūsų maršrutizatoriuje ir stebi, kokie įrenginiai yra prijungti prie jo pagal jų MAC adresą, kuris visada yra pastovus. Norime pasirinkti mums rūpimus įrenginius apie antžeminį stoties kompiuterį ir įterptąją sistemą ir pridėkite juos prie rezervuoto kliento skyriaus. Tai suteiks jiems statinį IP, kai jie bus prijungti prie šio maršrutizatoriaus.

Įsitikinkite, kad įterptosios sistemos IP nustatėte į 192.168.1.122. Antžeminės stoties IP gali būti nustatytas bet koks.

6 veiksmas: įkelkite kodą į „Arduino“

Įkelkite kodą į „Arduino“
Įkelkite kodą į „Arduino“

Norėdami įkelti arduino kodą, pirmiausia turime įdiegti biblioteką, kad galėtume dirbti su variklio skydu.

„Arduino IDE“eikite į Eskizas-> Įtraukti biblioteką-> Tvarkyti bibliotekas … Tada ieškokite „Adafruit Motor Shield Library“. Įdiekite šią biblioteką, tada įkelkite kodą į savo arduino, nieko daugiau nereikės.

7 veiksmas: pritvirtinkite grandinę ir kompiuterį prie automobilio

Prijunkite grandinę ir kompiuterį prie automobilio
Prijunkite grandinę ir kompiuterį prie automobilio

Dabar, kai grandinė pastatyta, atėjo laikas viską įdėti į automobilį. Aš nesiruošiu meluoti, daugelis šių dalykų yra tiesiog prilaikomi juosta, nes tai man buvo lengviausia greitai suplakti. Be to, jis turi montavimo angas, kaip parodyta aukščiau esančiame paveikslėlyje.

Daugelį dalykų yra gana paprasta tiesiog leisti sėdėti kažkur automobilio viršuje, todėl nesijaudinkite, jei nėra daug vietos.

8 veiksmas: nustatykite VR aplinką

Nustatykite VR aplinką
Nustatykite VR aplinką

Šis skyrius atrodys šiek tiek kitaip, atsižvelgiant į tai, kokia VR sąranka vyksta. Bet kokiu atveju aš naudoju „SteamVR“kurdamas šią programinę įrangą, todėl gali tekti ją įdiegti.

Kol naudojate „SteamVR“, valdikliai turėtų prisitaikyti prie skirtingų valdiklių. Valdiklius susiejau su „Veiksmais“, nebūtinai mygtukais, todėl teoriškai jis bus pritaikytas visiems.

Jums tereikia atsisiųsti ir išpakuoti failą naudojant „Unity“pasaulį ir būti pasirengusiam paleisti VR_Bot.exe.

9 veiksmas: paleiskite viską kartu

Vykdykite viską kartu
Vykdykite viską kartu
Vykdykite viską kartu
Vykdykite viską kartu

Taigi, dabar, kai turime automobilio sąranką, o antžeminė stotis yra prijungta ir paruošta eiti, kaip mes iš tikrųjų valdysime šį blogą berniuką? Na, iš „Ground Station“pusės, viskas, ką turite padaryti, paleiskite VR_Bot.exe failą, kurį matėme anksčiau.

Tuo pačiu metu turėsite prijungti akumuliatorių prie įterptosios sistemos, automatiškai paleisti ir prisijungti prie maršrutizatoriaus. Kai jis bus paleistas, į jį įveskite SSH. Norėdami tai pasiekti, jums reikės kažkokio terminalo antžeminėje stotyje, rekomenduoju „GitBash“.

SSH reiškia „Secure Shell“ir yra protokolas, leidžiantis saugiai pasiekti nuotolines sistemas. Mūsų atveju tai suteiks mums prieigą prie įterptosios sistemos iš antžeminės stoties. Norėdami sužinoti daugiau, spustelėkite čia.

Turite žinoti vartotojo vardą, kuriuo nustatėte įterptąją sistemą. Raspberry pi numatytasis vartotojo vardas yra „pi“, o slaptažodis - „avietė“.

Įdiegę atidarykite terminalą ir įveskite:

ssh {Įterptosios sistemos vartotojo vardas}@192.168.1.122

Tai atvers įterptosios sistemos terminalą.

Kai ten pateksite, jums tiesiog reikia įvykdyti „python“scenarijų, kurį nukopijavome anksčiau.

python /path/to/pushArucoVideoPullCommands.py

Kai tai padarysite, įterptinė sistema pradės siurbti vaizdus ir gauti komandas į antžeminę stotį ir iš jos.

Tuomet gerai pradėti vairuoti ir linksmintis!

Rekomenduojamas: