Talaan ng mga Nilalaman:

Kinokontrol ng Virtual Reality RC Car: 9 Mga Hakbang
Kinokontrol ng Virtual Reality RC Car: 9 Mga Hakbang

Video: Kinokontrol ng Virtual Reality RC Car: 9 Mga Hakbang

Video: Kinokontrol ng Virtual Reality RC Car: 9 Mga Hakbang
Video: 35 видео со страшными призраками: мегасборник 2023 года [V1] 2024, Nobyembre
Anonim
Image
Image

Nais mo na bang mabawasan at piloto ng isang bapor tulad ng Innerspace o Fantastic Voyage? Sa gayon, sa palagay ko ito ay malapit na malapit nang mapansin mo!

Narito ang pitch:

Isang kotseng remote control ng Real-Life na naka-pilote mula sa isang Virtual Reality command console. Nangangahulugan ito na mag-strap ka sa isang VR Headset, I-flip ang isang switch sa isang RC Car, pagkatapos ay maaaring mag-pilot mula sa VR na may live na feed ng video diretso sa iyong mukha.

Mayroong mga bagay na ipinatupad ko na maaari mong makontrol sa VR Car.

  1. Mga gulong
  2. Horn
  3. Mga ilaw

Ang lahat ng ito ay mayroong ilang uri ng pindutan o pingga sa VR na maaari mong i-flip o lumipat upang himukin ang kotse.

Para sa buong repo at higit pang impormasyon, tingnan ang aking Github at ang aking website!

Hakbang 1: Mga Materyales at Tool

Mga Materyales at Kasangkapan
Mga Materyales at Kasangkapan
Mga Materyales at Kasangkapan
Mga Materyales at Kasangkapan

Mekanikal:

4 Wheel Drive Chassis Kit

Elektrikal:

  • Wheel Encoder
  • 3S 1300mAh Baterya
  • Arduino Uno
  • Arduino Motor Shield
  • Piezo Electric Buzzer
  • Maliit na LED
  • Mga Konektor ng XT60
  • Palakasin / Buck Converter

Computer:

  • Anumang naka-embed na system ng computer: Raspberry Pi, Jetson Nano, atbp.
  • USB Camera (mas mabuti - 180 degree camera)

Mga tool / Dagdag:

  • Panghinang
  • Ilang Pag-setup ng VR - Mayroon akong Oculus Rift
  • Multimeter

Hakbang 2: Bumuo ng Kotse

Bumuo ng Kotse
Bumuo ng Kotse
Bumuo ng Kotse
Bumuo ng Kotse
Bumuo ng Kotse
Bumuo ng Kotse

Ang chassis para sa kotse ay napakadaling maitayo. Kailangan mo lamang ikabit ang mga motor sa pangunahing board sa pamamagitan ng mga tab na ibinibigay sa iyo. Matapos mong ikabit ang mga gulong at motor, kakailanganin mo rin ng isang bagay upang ilakip ang camera sa harap ng kotse.

Ginamit ko ang karton na kahon na pinasok ng camera upang mai-mount ito. Pinutol ko ang isang malaking L na hugis at gupitin ang isang butas para ma-poke ng mabuti ang camera. Pagkatapos nito, maaari mo lamang i-slot ang camera sa pamamagitan, at maglagay ng ilang tape sa likuran upang mapanatili itong nasa lugar. Kung nais mo, maaari mo ring ilagay ang mga butas para sa iyong mga headlight ngayon din, o gawin iyon sa paglaon kapag sinusukat ang haba ng kawad.

Kakailanganin mo ring ikabit ang encoder ng gulong sa isa sa mga gulong. Hindi alintana kung alin, inilagay ko ito sa kaliwang gulong. Kailangan mong ilagay ang magnetic disk sa aktwal na baras ng gulong, at ang encoder ay dapat na nakakabit sa kotse sa tabi nito. Ito ay medyo madaling tanggapin, kaya't hindi ito kailangan na agad, ngunit mas malapit hangga't maaari. Sinigurado ko ang aking encoder sa tape at isang zip tie. Ang encoder ang gagamitin namin upang masukat ang bilis ng aming sasakyan.

Hakbang 3: Mga Solder Circuit

Mga Solder Circuits
Mga Solder Circuits
Mga Solder Circuits
Mga Solder Circuits

Ang bahaging ito ay medyo nakakapagod, ngunit hindi kumplikado. Kung susundin mo ang larawan, at sukatin ang lahat bago mo putulin ang iyong kawad, hindi ito masyadong masama.

Habang ginagawa mo ito, dapat mo ring i-calibrate ang iyong buck converter upang mai-output ang tamang boltahe. Ang Raspberry Pi at Jetson Nano ay parehong tumatanggap ng 5v, ngunit ang aming baterya ay nasa 11.1v. Kaya, kailangan nating tiyakin na hindi natin iprito ang aming electronics. Upang magawa ito, isaksak ang iyong baterya sa input side ng buck converter. Habang naka-plug in ang baterya, gamitin ang iyong multimeter upang masukat ang bahagi ng output ng buck converter. Gumamit ng isang maliit na flat-head screwdriver upang i-on ang potientiometer sa buck converter hanggang sa ang output voltage ay 5v. Kapag tama ang output, hindi mo na kailangang i-on ang potientiometer.

Hakbang 4: I-install ang Mga Depensyon sa naka-embed na System

I-install ang Mga Depensyon sa naka-embed na System
I-install ang Mga Depensyon sa naka-embed na System

Hindi masyadong magagawa dito, ngunit hindi kapani-paniwalang mahalaga.

Una, tiyaking nakakakonekta ka sa router na iyong gagamitin upang awtomatiko itong makakonekta mula ngayon.

Pagkatapos, buksan ang isang terminal at i-type ang sumusunod:

sudo apt update

sudo apt i-install ang openssh-server

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

Kapag na-install na ang mga bagay na ito, kailangan naming tiyakin na, hindi mahalaga kung anong port ang arduino ay naka-plug in, palagi itong kinikilala. Kaya, nagsusulat kami ng tinatawag na mga patakaran sa UDEV. Ito ang mga patakaran para sa iyong operating system na namamahala sa kung ano ang nangyayari kapag na-plug mo ang mga bagay. Nais naming makilala ang arduino kapag naka-plug in ito, at bigyan ito ng isang pangalan upang ma-access ito ng. Ang pangalang iyon ay "arduino_0". Upang magawa ito, gagamitin namin ang panloob na serial number ng arduino upang makilala ito.

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

Lalabas nito ang isang halaga para sa serial number, sige at kopyahin ang halagang iyon.

Kailangan naming i-edit (o likhain kung wala ito) isang file na tinatawag na "99-usb-serial.rules". Ang file na ito ay nakatira sa sumusunod na file path na "/etc/udev/rules.d/99-usb-serial.rules". Tulad ng nabanggit ko, kung wala ang file na iyon, likhain lamang ito at i-paste sa sumusunod na linya na pinalitan ng VALUE_FROM_ABOVE ang iyong halaga mula dati.

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

Sinasabi nito sa operating system na tuwing nakikita nito ang tukoy na serial number na ito upang tawagan itong arduino_0.

Ang huling bagay na dapat gawin dito ay i-download ang pushArucoVideoPullCommands.py at ilagay ito sa isang lugar na madaling ma-access. Inirerekumenda ko ang direktoryo sa bahay para sa iyong gumagamit, dahil doon kami magtatapos kapag nag-SSH kami sa naka-embed na system sa paglaon.

Hakbang 5: Pag-setup ng Static IP Address

Pag-set up ng Static IP Address
Pag-set up ng Static IP Address

Ngayon ang bahaging mahal ng lahat, ang pagtugon sa IP. Upang gumana ang proyektong ito, kailangang malaman ng code kung saan magpapadala ng mga imahe at makontrol ang mga utos, at nangangahulugan ito na ang aming mga aparato ay nangangailangan ng isang static IP.

Maraming mga paraan upang italaga ang iyong aparato ng isang static IP, ngunit, dahil mayroon kaming isang router na kumokonekta sa aming ground station at naka-embed na system, maaari namin itong magamit upang bigyan kami ng tukoy na tukoy na mga IP address.

Mag-navigate sa seksyon ng admin ng iyong router, karaniwang (para sa karamihan sa mga router) ginagawa ito sa pamamagitan ng pagbubukas ng isang web browser at pagpunta sa "192.168.1.1". Hihilingin sa iyo na mag-sign in, at ang karaniwang karaniwang username at password para sa karamihan ng mga router ay "admin".

Kapag nandoon, mag-navigate sa isang bagay na binabanggit ang 'DHCP Server . Ito ay isang proseso na tumatakbo sa iyong router at sinusubaybayan kung anong mga aparato ang nakakonekta dito sa pamamagitan ng kanilang MAC Address, na palaging pare-pareho. Nais naming piliin ang mga aparato na pinapahalagahan namin tungkol sa, ang ground station computer at naka-embed na system, at idagdag ang mga ito sa seksyon ng nakareserba na kliyente. bibigyan sila ng isang static ip tuwing nakakonekta sila sa router na ito.

Tiyaking itinakda mo ang IP ng Embedded System sa 192.168.1.122Ang IP ng istasyon ng lupa ay maaaring itakda sa anumang bagay.

Hakbang 6: Mag-upload ng Code sa Arduino

Mag-upload ng Code sa Arduino
Mag-upload ng Code sa Arduino

Upang mai-upload ang arduino code, kailangan muna naming mag-install ng isang silid-aklatan upang gumana kasama ang kalasag ng motor.

Sa iyong Arduino IDE, pumunta sa Sketch-> Isama ang Library-> Pamahalaan ang Mga Aklatan … Pagkatapos, maghanap para sa Adafruit Motor Shield Library. I-install ang library na ito, pagkatapos ay i-upload ang code sa iyong arduino, wala nang iba pa ang kinakailangan.

Hakbang 7: Ikabit ang Circuitry & Computer sa Kotse

Ikabit ang Circuitry & Computer sa Kotse
Ikabit ang Circuitry & Computer sa Kotse

Ngayon na binuo ang circuit, oras na upang ilagay ang lahat sa kotse. Hindi ako magsisinungaling, maraming mga bagay na ito ay gaganapin lamang sa tape dahil iyon ang pinakamadali para sa akin na mabilis na sampalin. Sinabi na, nilagyan ng mga butas ng tumataas na tulad ng nakikita sa imahe sa itaas.

Karamihan sa mga bagay ay medyo madali upang pabayaan lamang na umupo sa isang lugar sa tuktok ng kotse, kaya, huwag mag-alala kung walang maraming puwang.

Hakbang 8: I-setup ang Kapaligiran ng VR

I-setup ang Kapaligiran ng VR
I-setup ang Kapaligiran ng VR

Ang seksyon na ito ay magiging hitsura ng isang litte naiiba depende sa kung anong uri ng pag-setup ng VR ang iyong nangyari. Anuman ang kaso, ginamit ko ang SteamVR upang paunlarin ang software na ito, kaya maaaring kailanganin mong i-install iyon.

Hangga't gumagamit ka ng SteamVR, ang mga kontrol ay dapat na umangkop sa iba't ibang mga Controller. Na-map ko ang mga kontrol sa "Mga Pagkilos" na hindi kinakailangan na mga pindutan, kaya, sa teorya, ito ay babagay para sa lahat.

Kailangan mo lamang i-download at i-unzip ang file gamit ang build Unity world at maging handa na patakbuhin ang VR_Bot.exe.

Hakbang 9: Patakbuhin Lahat ng Magkasama

Patakbuhin Tayong Lahat
Patakbuhin Tayong Lahat
Patakbuhin Tayong Lahat
Patakbuhin Tayong Lahat

Kaya, ngayong nakuha na namin ang pag-set up ng kotse, at ang ground station lahat ay naka-hook at handa nang pumunta, paano namin talaga tatakbo ang masamang batang ito? Kaya, mula sa pananaw ng Ground Station, ang kailangan mo lang gawin ito patakbuhin ang file na VR_Bot.exe na nakita natin mula kanina.

Sa parehong oras, kakailanganin mong i-plug ang baterya sa Embedded System, at awtomatiko itong mag-boot at kumonekta sa iyong router. Kapag na-boot na ito, SSH dito. Upang ma-access ito, kakailanganin mo ng ilang uri ng terminal sa ground station, inirerekumenda ko ang GitBash.

Ang SSH ay nangangahulugang Secure Shell at ito ay isang protokol para sa pag-access ng ligtas ng mga system. Sa aming kaso, bibigyan kami ng access sa Embedded System mula sa Ground Station. Mag-click dito upang matuto nang higit pa.

Kailangan mong malaman ang username kung saan mo na-setup ang iyong naka-embed na system. Para sa raspberry pi's ang default username ay 'pi' at password 'raspberry'.

Kapag na-install na, buksan ang isang terminal at i-type ang sumusunod:

ssh {Username ng naka-embed na System}@192.168.1.122

Bubuksan nito ang isang terminal sa Embedded System.

Kapag nandiyan, kailangan mo lang ipatupad ang script ng sawa na kinopya natin nang mas maaga.

python /path/to/pushArucoVideoPullCommands.py

Matapos mong gawin iyon, magsisimulang mag-pump ng mga imahe ang Embedded System at makatanggap ng mga utos papunta at mula sa ground station.

Magaling ka nang magsimula sa pagmamaneho at magsaya!

Inirerekumendang: