Taula de continguts:
- Pas 1: materials i eines
- Pas 2: construeix un cotxe
- Pas 3: Circuits de soldadura
- Pas 4: instal·leu dependències al sistema incrustat
- Pas 5: configureu l'adreça IP estàtica
- Pas 6: pengeu codi a Arduino
- Pas 7: connecteu els circuits i l'ordinador al cotxe
- Pas 8: configureu l'entorn VR
- Pas 9: executeu-ho tot junt
Vídeo: Cotxe RC controlat per realitat virtual: 9 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
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.
- Rodes
- Banya
- 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
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
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
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
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
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
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
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
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
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:
Sistema de seguiment del moviment del cap per a la realitat virtual: 8 passos
Sistema de seguiment del moviment del cap per a VR: el meu nom és Sam KODO. En aquest tutorial, us ensenyaré pas a pas com utilitzar els sensors Arduino IMU per construir un sistema de seguiment del cap per a VR. En aquest projecte necessitareu: - Una pantalla LCD HDMI : https: //www.amazon.com/Elecrow-Capacitive-interfac…- Un
Cotxe controlat a distància: controlat mitjançant un controlador Xbox 360 sense fils: 5 passos
Cotxe controlat a distància: controlat mitjançant controlador Xbox 360 sense fils: són instruccions per construir el vostre propi cotxe controlat a distància mitjançant un controlador Xbox 360 sense fils
Creació de la IU corba a Unity per a la realitat virtual: 4 passos
Creació d'una interfície d'usuari corba a Unity for Virtual Reality: si cerqueu una solució fàcil i gratuïta per crear una interfície d'usuari corba per a l'aplicació de realitat virtual o el joc de realitat virtual, estigueu al lloc adequat. En aquest bloc aprendreu a crear un element d’interfície d’usuari corbat en unitat mitjançant les extensions d’interfície d’usuari d’Unity
Videojoc de bricolatge controlat pel moviment del cap (realitat augmentada): 4 passos
Videojoc de bricolatge controlat pel moviment del cap (realitat augmentada): vull mostrar-vos el fàcil que és avui de fer un joc propi que es pugui controlar movent el vostre cos. Només necessitareu un ordinador portàtil amb càmera web i algunes habilitats de programació. Si no teniu un portàtil i una càmera web o si no sabeu programar, heu
Realitat virtual mòbil mitjançant processament per a Android (TfCD): 7 passos (amb imatges)
Realitat virtual mòbil mitjançant processament per a Android (TfCD): la realitat virtual (VR) és una de les noves tecnologies que poden ser interessants per als futurs productes. Té moltes oportunitats i ni tan sols necessiteu ulleres VR de cara (Oculus Rift). Pot semblar molt difícil fer-ho vosaltres mateixos, però els fonaments són