Taula de continguts:

Cotxe RC controlat per realitat virtual: 9 passos
Cotxe RC controlat per realitat virtual: 9 passos

Vídeo: Cotxe RC controlat per realitat virtual: 9 passos

Vídeo: Cotxe RC controlat per realitat virtual: 9 passos
Vídeo: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Desembre
Anonim
Image
Image

Alguna vegada heu volgut deixar-vos reduir i pilotar una embarcació com Innerspace o Fantastic Voyage? Bé, crec que això és tan a prop com ho faràs amb poc temps.

Aquí teniu el camp:

Un cotxe de control remot de la vida real pilotat des d’una consola de comandes de realitat virtual. Això vol dir que us col·loqueu els auriculars VR, activeu un interruptor en un cotxe RC i, a continuació, podeu pilotar-lo des de la realitat virtual amb alimentació de vídeo en directe directament a la vostra cara.

Hi ha coses que he implementat que podeu controlar al VR Car.

  1. Rodes
  2. Banya
  3. Llums

Tots ells tenen algun tipus de botó o palanca en realitat virtual que podeu girar o canviar per conduir el cotxe.

Per obtenir la reposició completa i més informació, consulteu el meu Github i el meu lloc web.

Pas 1: materials i eines

Materials i eines
Materials i eines
Materials i eines
Materials i eines

Mecànica:

Kit de xassís de 4 rodes motrius

Elèctric:

  • Codificador de rodes
  • Bateria 3S 1300mAh
  • Arduino Uno
  • Escut del motor Arduino
  • Zumbador elèctric piezoelèctric
  • LED petit
  • Connectors XT60
  • Convertidor Boost / Buck

Ordinador:

  • Qualsevol sistema informàtic incrustat: Raspberry Pi, Jetson Nano, etc.
  • Càmera USB (preferible: càmera de 180 graus)

Eines / Extra:

  • Soldador
  • Alguna configuració de realitat virtual: tinc l'Oculus Rift
  • Multímetre

Pas 2: construeix un cotxe

Construeix el cotxe
Construeix el cotxe
Construeix el cotxe
Construeix el cotxe
Construeix el cotxe
Construeix el cotxe

El xassís del cotxe és molt fàcil de construir. Només cal que connecteu els motors a la placa principal mitjançant les pestanyes que us proporcionen. Després d’haver connectat les rodes i els motors, també necessitareu alguna cosa per fixar la càmera a la part frontal del cotxe.

Vaig utilitzar la caixa de cartró on entrava la càmera per muntar-la. Vaig retallar una forma de L gran i vaig tallar un forat perquè la càmera es fes a fons. Després, només podeu introduir la càmera a la ranura i posar una mica de cinta a la part posterior per mantenir-la al seu lloc. Si voleu, també podeu introduir forats als fars ara o fer-ho més endavant quan mesureu la longitud del fil.

També haureu de connectar el codificador de rodes a una de les rodes. No importa quin, el vaig posar a la roda esquerra posterior. Heu de col·locar el disc magnètic a l’eix real de la roda i el codificador s’ha d’adossar al cotxe que hi ha al costat. És bastant receptiu, de manera que no cal que hi estigui ben ajustat, sinó el més a prop possible. Vaig assegurar el meu codificador amb cinta adhesiva i una corbata amb cremallera. El codificador és el que farem servir per mesurar la velocitat del nostre cotxe.

Pas 3: Circuits de soldadura

Circuits de soldadura
Circuits de soldadura
Circuits de soldadura
Circuits de soldadura

Aquesta part és bastant tediosa, però no complicada. Si seguiu la imatge i mesureu-ho tot abans de tallar-vos el cable, no està gens malament.

Mentre ho feu, també haureu de calibrar el convertidor de Buck per obtenir la tensió correcta. El Raspberry Pi i el Jetson Nano ocupen 5v, però la nostra bateria és d’11,1v. Per tant, ens hem d’assegurar que no fregim els nostres aparells electrònics. Per fer-ho, connecteu la bateria a la part d’entrada del convertidor Buck. Mentre la bateria estigui endollada, utilitzeu el multímetre per mesurar el costat de sortida del convertidor. Utilitzeu un petit tornavís de cap pla per girar el potiòmetre del convertidor de pes fins que la tensió de sortida sigui de 5v. Un cop la sortida sigui correcta, ja no haurà de girar el potiòmetre.

Pas 4: instal·leu dependències al sistema incrustat

Instal·leu dependències al sistema incrustat
Instal·leu dependències al sistema incrustat

No hi ha massa coses per fer aquí, però encara és increïblement important.

En primer lloc, assegureu-vos de connectar-vos al router que utilitzeu perquè pugui connectar-se automàticament a partir d’ara.

A continuació, obriu un terminal i escriviu el següent:

actualització sudo apt

sudo apt install openssh-server

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

Un cop instal·lades aquestes coses, ens hem d’assegurar que, independentment del port a què estigui connectat l’arduino, sempre es reconegui. Per tant, escrivim les anomenades regles UDEV. Aquestes són les regles del vostre sistema operatiu que regulen el que passa quan connecteu les coses. Volem identificar l'arduino quan està connectat i donar-li un nom per accedir-hi. Aquest nom serà "arduino_0". Per fer-ho, utilitzarem el número de sèrie intern de l’arduino per identificar-lo.

informació udevadm -a -n / dev / ttyUSB1 | grep '{serial}' | cap -n1

Això escopirà un valor per al número de sèrie, continuar i copiar aquest valor.

Després hem d’editar (o crear si no existeix) un fitxer anomenat "99-usb-serial.rules". Aquest fitxer es troba al camí següent del fitxer "/etc/udev/rules.d/99-usb-serial.rules". Com he esmentat, si aquest fitxer no existeix, només cal que el creeu i enganxeu a la línia següent amb VALUE_FROM_ABOVE substituït pel vostre valor anterior.

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

Això indica al sistema operatiu que, sempre que veu aquest número de sèrie específic, el cridarà arduino_0.

L'últim que cal fer aquí és descarregar el pushArucoVideoPullCommands.py i posar-lo en algun lloc fàcilment accessible. Recomanaria el directori inicial per al vostre usuari, ja que és aquí on acabarem quan més tard entrem a SSH al sistema incrustat.

Pas 5: configureu l'adreça IP estàtica

Configureu l'adreça IP estàtica
Configureu l'adreça IP estàtica

Ara és la part que tothom estima, l'adreça IP. Perquè aquest projecte funcioni, el codi ha de saber a on enviar imatges i comandes de control, cosa que significa que els nostres dispositius necessiten una IP estàtica.

Hi ha moltes maneres d’assignar una adreça IP estàtica al vostre dispositiu, però, com que tenim un encaminador que connecta la nostra estació de terra i el sistema incrustat, podem utilitzar-la per proporcionar-nos adreces IP específiques molt fàcilment.

Aneu a la secció d'administració del vostre enrutador, normalment (per a la majoria d'encaminadors) es fa obrint un navegador web i anant a "192.168.1.1". Us demanarà que inicieu la sessió i el nom d’usuari i la contrasenya estàndard típics de la majoria d’encaminadors són “administrador”.

Un cop allà, aneu a alguna cosa que mencioni "Servidor DHCP". Es tracta d'un procés que s'executa al vostre enrutador i que fa un seguiment de quins dispositius hi estan connectats mitjançant la seva adreça MAC, que sempre és constant. Volem seleccionar els dispositius que ens interessen sobre l’ordinador de l’estació de terra i el sistema incrustat i afegiu-los a la secció de client reservat. Això els proporcionarà una IP estàtica sempre que estiguin connectats a aquest enrutador.

Assegureu-vos d’establir l’IP del sistema incrustat a 192.168.1.122.

Pas 6: pengeu codi a Arduino

Pengeu codi a Arduino
Pengeu codi a Arduino

Per carregar el codi arduino, primer hem d’instal·lar una biblioteca per treballar amb el blindatge del motor.

Al vostre IDE Arduino, aneu a Sketch-> Inclou biblioteca-> Gestiona biblioteques … A continuació, cerqueu Adafruit Motor Shield Library. Instal·leu aquesta biblioteca i, a continuació, pengeu el codi al vostre arduino, no caldria res més.

Pas 7: connecteu els circuits i l'ordinador al cotxe

Connecteu circuits i ordinadors al cotxe
Connecteu circuits i ordinadors al cotxe

Ara que el circuit està construït, és hora de posar-ho tot al cotxe. No vaig a mentir, moltes d'aquestes coses només es mantenen amb cinta, perquè això és el que més em va resultar més fàcil de donar a cops. Dit això, ha instal·lat forats de muntatge tal com es veu a la imatge superior.

La majoria de les coses són bastant fàcils de deixar-se asseure en algun lloc del cotxe, així que no us preocupeu si no hi ha molt espai.

Pas 8: configureu l'entorn VR

Configuració de l'entorn VR
Configuració de l'entorn VR

Aquesta secció tindrà un aspecte diferent segons el tipus de configuració de realitat virtual que tingueu. En qualsevol cas, he utilitzat SteamVR per desenvolupar aquest programari, de manera que és possible que hàgiu d'instal·lar-lo.

Mentre feu servir SteamVR, els controls s’han d’adaptar a diferents controladors. He assignat els controls a "Accions" no necessàriament a botons, de manera que, en teoria, s'adaptaran a tothom.

Només cal que descarregueu i descomprimiu el fitxer amb el build Unity world i que estigueu a punt per executar VR_Bot.exe.

Pas 9: executeu-ho tot junt

Executeu-ho tot junt
Executeu-ho tot junt
Executeu-ho tot junt
Executeu-ho tot junt

Per tant, ara que tenim la configuració del cotxe i l'estació terrestre connectada i llesta per començar, com fem funcionar aquest noi dolent? Bé, des del punt de vista de l'Estació Terrestre, tot el que heu de fer és executar el fitxer VR_Bot.exe que vèiem anteriorment.

Al mateix temps, haureu d’endollar la bateria al sistema incrustat i fer que s’engegui automàticament i es connecti al router. Un cop arrencat, introduïu-hi SSH. Per accedir-hi, necessitareu algun tipus de terminal a l’estació terrestre. Us recomano GitBash.

SSH significa Secure Shell i és un protocol per accedir de manera segura a sistemes remots. En el nostre cas, ens donarà accés al sistema incrustat des de l’estació terrestre. Feu clic aquí per obtenir més informació.

Heu de conèixer el nom d’usuari amb què heu configurat el sistema incrustat. Per a raspberry pi, el nom d'usuari per defecte és "pi" i la contrasenya "raspberry".

Un cop instal·lat, obriu un terminal i escriviu el següent:

ssh {nom d’usuari del sistema incrustat }@192.168.1.122

Això obrirà un terminal al sistema incrustat.

Un cop allà, només heu d’executar l’escriptura python que hem copiat anteriorment.

python /path/to/pushArucoVideoPullCommands.py

Després de fer això, el sistema incrustat començarà a bombejar imatges i a rebre ordres des de i cap a l'estació terrestre.

Aleshores ets bo començar a conduir i a divertir-te!

Recomanat: