Tartalomjegyzék:

Virtuális valóság vezérelt RC autó: 9 lépés
Virtuális valóság vezérelt RC autó: 9 lépés

Videó: Virtuális valóság vezérelt RC autó: 9 lépés

Videó: Virtuális valóság vezérelt RC autó: 9 lépés
Videó: Olyan büdi tud lenni ...😂 #ferrari #sportcar #elmenyvezetes #elmenyplaza #cziganyjudit 2024, November
Anonim
Image
Image

Szerettél volna már összezsugorodni, és pilótát vezetni, mint az Innerspace vagy a Fantastic Voyage? Nos, azt hiszem, ez olyan közel van, mint rövid időn belül!

Itt a pálya:

Valós életű távirányítós autó, amelyet a Virtual Reality parancskonzolról vezéreltek. Ez azt jelenti, hogy rögzíti a VR -fejhallgatót, elfordítja a kapcsolót az RC -autón, majd közvetlenül az arcához irányíthatja a VR -t, élő videócsatornával.

Vannak olyan dolgok, amelyeket megvalósítottam, és amelyeket a VR Caron vezérelhet.

  1. Kerekek
  2. Kürt
  3. Lámpák

Mindezek rendelkeznek valamilyen gombbal vagy karral a VR -ban, amelyet elfordíthat vagy átválthat az autó vezetéséhez.

A teljes repóért és további információkért nézze meg a Github -ot és a webhelyemet!

Lépés: Anyagok és eszközök

Anyagok és eszközök
Anyagok és eszközök
Anyagok és eszközök
Anyagok és eszközök

Mechanikai:

Négykerék -meghajtású alvázkészlet

Elektromos:

  • Kerék kódoló
  • 3S 1300mAh akkumulátor
  • Arduino Uno
  • Arduino motorpajzs
  • Piezo elektromos csengő
  • Kis LED
  • XT60 csatlakozók
  • Boost / Buck konverter

Számítógép:

  • Bármilyen beágyazott számítógépes rendszer: Raspberry Pi, Jetson Nano stb.
  • USB kamera (előnyös - 180 fokos kamera)

Eszközök / Extra:

  • Forrasztópáka
  • Néhány VR beállítás - nálam van az Oculus Rift
  • Multiméter

2. lépés: Az autó építése

Autó építése
Autó építése
Autó építése
Autó építése
Autó építése
Autó építése

Az autó alvázát rendkívül könnyű megépíteni. Csak csatlakoztatnia kell a motorokat az alaplaphoz az általuk adott füleken keresztül. A kerekek és a motorok rögzítése után szüksége lesz valamire a kamera rögzítéséhez az autó elejére.

A felszereléshez a kartondobozt használtam, amelyet a kamera kapott. Kivágtam egy nagy L alakot, és egy lyukat vágtam a kamerához, hogy alaposan piszkálja. Ezt követően egyszerűen áthelyezheti a kamerát, és a hátoldalába helyezhet egy szalagot, hogy a helyén maradjon. Ha akarja, most is lyukakat készíthet a fényszórókhoz, vagy ezt később, a vezeték hosszának mérésekor.

Ezenkívül a kerék jeladóját az egyik kerékhez kell csatlakoztatnia. Teljesen mindegy melyik, a bal hátsó kerékre tettem. A mágneses lemezt a kerék tényleges tengelyére kell helyeznie, és a kódolót a mellette lévő autóhoz kell csatlakoztatni. Elég fogékony, ezért nem kell, hogy rajta legyen, de a lehető legközelebb. A kódolót szalaggal és cipzárral rögzítettem. A kódoló az, amellyel autónk sebességét mérjük.

3. lépés: Forrasztó áramkörök

Forrasztó áramkörök
Forrasztó áramkörök
Forrasztó áramkörök
Forrasztó áramkörök

Ez a rész meglehetősen unalmas, de nem bonyolult. Ha követi a képet, és mindent mér, mielőtt elvágja a drótot, akkor nem rossz.

Eközben kalibrálnia kell a Buck konverterét is, hogy a megfelelő feszültséget adja ki. A Raspberry Pi és a Jetson Nano egyaránt 5 V -ot vesz fel, de az akkumulátorunk 11,1 V -nál van. Tehát ügyelnünk kell arra, hogy ne süssük meg az elektronikánkat. Ehhez csatlakoztassa az akkumulátort a bak konverter bemeneti oldalához. Amíg az akkumulátor be van dugva, használja a multiméterét a bak konverter kimeneti oldalának mérésére. Egy kis laposfejű csavarhúzóval forgassa el a potientiométert a bak-átalakítón, amíg a kimeneti feszültség 5 V nem lesz. Ha a kimenet helyes, akkor nem kell tovább forgatnia a potenciométert.

4. lépés: A függőségek telepítése a beágyazott rendszerre

Telepítse a függőségeket a beágyazott rendszeren
Telepítse a függőségeket a beágyazott rendszeren

Itt nincs túl sok tennivaló, de hihetetlenül fontos.

Először győződjön meg arról, hogy csatlakozik a használt útválasztóhoz, hogy ezentúl automatikusan csatlakozhasson.

Ezután nyisson meg egy terminált, és írja be a következőt:

sudo apt frissítés

sudo apt install openssh-server

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

Miután ezeket a dolgokat telepítettük, meg kell győződnünk arról, hogy függetlenül attól, hogy az arduino milyen porthoz van csatlakoztatva, mindig felismerhető legyen. Tehát írunk úgynevezett UDEV szabályokat. Ezek az operációs rendszerre vonatkozó szabályok, amelyek szabályozzák, hogy mi történik, amikor csatlakoztatja a készülékeket. Szeretnénk azonosítani az arduino -t, amikor csatlakoztatva van, és nevet adni neki, hogy hozzáférhessen hozzá. Ez a név "arduino_0" lesz. Ehhez az arduino belső sorozatszámát fogjuk használni annak azonosítására.

udevadm info -a -n /dev /ttyUSB1 | grep '{sorozat}' | fej -n1

Ez kiköpi a sorozatszám értékét, és másolja ki az értéket.

Ezután szerkesztenünk kell (vagy létre kell hoznunk, ha nem létezik) egy "99-usb-serial.rules" nevű fájlt. Ez a fájl a következő "/etc/udev/rules.d/99-usb-serial.rules" elérési útvonalon található. Mint említettem, ha ez a fájl nem létezik, akkor csak hozza létre, és illessze be a következő sorba, a VALUE_FROM_ABOVE értékkel helyettesítve az előző értékkel.

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

Ez azt jelzi az operációs rendszernek, hogy amikor ezt a sorozatszámot látja, hívja arduino_0 -nak.

Az utolsó dolog, amit itt meg kell tennie, hogy letölti a pushArucoVideoPullCommands.py fájlt, és könnyen hozzáférhető helyre helyezi. Felhasználójának a saját könyvtárat javasolnám, mivel később oda kerülünk, amikor SSH -t vezetünk be a beágyazott rendszerbe.

5. lépés: Állítsa be a statikus IP -címet

Állítsa be a statikus IP -címet
Állítsa be a statikus IP -címet

Most az a rész, amit mindenki szeret, az IP -címzés. A projekt működéséhez a kódnak tudnia kell, hogy hová kell képeket és vezérlőparancsokat küldeni, és ez azt jelenti, hogy eszközeinknek statikus IP -re van szükségük.

Számos módja van annak, hogy statikus IP -t rendeljen az eszközhöz, de mivel van egy útválasztónk, amely összeköti a földi állomást és a beágyazott rendszert, nagyon könnyen használhatunk konkrét IP -címeket.

Navigáljon az útválasztó adminisztrációs részéhez, általában (a legtöbb útválasztó esetében) ez úgy történik, hogy megnyit egy webböngészőt, és megnyitja a "192.168.1.1" lehetőséget. Megkéri, hogy jelentkezzen be, és a legtöbb útválasztó tipikus szabványos felhasználóneve és jelszava az "admin".

Ha már ott van, keresse meg a „DHCP -kiszolgálót”. Ez egy folyamat, amely az útválasztón fut, és nyomon követi, hogy milyen eszközök kapcsolódnak hozzá a MAC -címük alapján, amely mindig állandó. Kiválasztjuk a számunkra fontos eszközöket körülbelül, a földi állomás számítógépét és a beágyazott rendszert, és adja hozzá őket a lefoglalt kliens szakaszhoz. Ez statikus ip -t biztosít számukra, amikor csatlakoznak ehhez az útválasztóhoz.

Győződjön meg arról, hogy a beágyazott rendszer IP -címét 192.168.1.122 értékre állította be. A földi állomás IP -je bármire beállítható.

6. lépés: Töltse fel a kódot az Arduino -ba

Töltse fel a kódot az Arduino -ba
Töltse fel a kódot az Arduino -ba

Az arduino kód feltöltéséhez először telepítenünk kell egy könyvtárat a motorpajzshoz.

Az Arduino IDE-n lépjen a Vázlat-> Könyvtár beillesztése-> Könyvtárak kezelése… menüpontra, majd keressen rá az Adafruit Motor Shield Library elemre. Telepítse ezt a könyvtárat, majd töltse fel a kódot az arduino készülékére, semmi másra nincs szükség.

7. lépés: Csatlakoztassa az áramkört és a számítógépet az autóhoz

Csatlakoztassa az áramkört és a számítógépet az autóhoz
Csatlakoztassa az áramkört és a számítógépet az autóhoz

Most, hogy az áramkör felépült, itt az ideje, hogy az egészet az autóra tegye. Nem fogok hazudni, sok mindent csak szalaggal rögzítenek, mert nekem volt a legegyszerűbb gyorsan összecsapni. Ennek ellenére a fenti szerelési lyukak vannak felszerelve, amint a fenti képen látható.

A legtöbb dolgot meglehetősen könnyű hagyni ülni valahol az autó tetején, ezért ne aggódjon, ha nincs sok hely.

8. lépés: A VR környezet beállítása

VR környezet beállítása
VR környezet beállítása

Ez a rész egy kicsit másképp fog kinézni attól függően, hogy milyen VR beállítás van folyamatban. Bármi legyen is a helyzet, a SteamVR -t használtam a szoftver fejlesztéséhez, ezért előfordulhat, hogy telepítenie kell azt.

Amíg SteamVR -t használ, a vezérlőknek alkalmazkodniuk kell a különböző vezérlőkhöz. A kezelőszerveket "Műveletek" -hez rendeltem, nem feltétlenül gombokhoz, így elméletileg mindenki számára alkalmazkodni fog.

Csak le kell töltenie és kicsomagolnia a fájlt a build Unity világával, és készen kell állnia a VR_Bot.exe futtatására.

9. lépés: Futtassa az egészet együtt

Futtassátok együtt
Futtassátok együtt
Futtassa az egészet együtt
Futtassa az egészet együtt

Nos, most, hogy megvan az autó beállítása, és a földi állomás be van kapcsolva, és készen áll az indulásra, hogyan irányítsuk ezt a rosszfiút? Nos, a földi állomás szempontjából csak annyit kell tennie, hogy futtatja a korábban látott VR_Bot.exe fájlt.

Ugyanakkor csatlakoztatnia kell az akkumulátort a beágyazott rendszerhez, és automatikusan indítania kell, és csatlakoznia kell az útválasztóhoz. Miután elindult, SSH be. Ennek eléréséhez szüksége lesz valamilyen terminálra a földi állomáson, ajánlom a GitBash -t.

Az SSH a Secure Shell rövidítése, és egy protokoll a távoli rendszerek biztonságos eléréséhez. Esetünkben hozzáférést biztosít a beágyazott rendszerhez a földi állomásról. Kattints ide hogy többet megtudj.

Tudnia kell azt a felhasználónevet, amellyel beágyazott rendszerét beállította. A raspberry pi esetében az alapértelmezett felhasználónév a „pi”, a jelszó pedig „raspberry”.

A telepítés után nyisson meg egy terminált, és írja be a következőt:

ssh {Beágyazott rendszer felhasználóneve}@192.168.1.122

Ez megnyit egy terminált a beágyazott rendszerben.

Ha már ott van, akkor csak végre kell hajtania a korábban átmásolt python -szkriptet.

python /path/to/pushArucoVideoPullCommands.py

Ezt követően a beágyazott rendszer elkezdi a képek kiszivattyúzását és a parancsok fogadását a földi állomásra.

Akkor jó elkezdeni vezetni és szórakozni!

Ajánlott: