Sommario:
- Passaggio 1: materiali e strumenti
- Passaggio 2: costruisci l'auto
- Passaggio 3: circuiti di saldatura
- Passaggio 4: installa le dipendenze sul sistema integrato
- Passaggio 5: configurazione dell'indirizzo IP statico
- Passaggio 6: carica il codice su Arduino
- Passaggio 7: collegare circuiti e computer all'auto
- Passaggio 8: configurazione dell'ambiente VR
- Passaggio 9: esegui tutto insieme
Video: Auto RC controllata da realtà virtuale: 9 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Hai mai desiderato essere rimpicciolito e pilotare un'imbarcazione come Innerspace o Fantastic Voyage? Bene, penso che questo sia il più vicino possibile con breve preavviso!
Ecco il passo:
Un'auto telecomandata Real-Life pilotata da una console di comando in realtà virtuale. Ciò significa che ti allacci un auricolare VR, aziona un interruttore su un'auto RC, quindi puoi pilotare dalla realtà virtuale con feed video in diretta direttamente sul tuo viso.
Ci sono tre cose che ho implementato che puoi controllare sull'auto VR.
- Ruote
- Corno
- Luci
Tutti questi hanno una sorta di pulsante o leva in VR che puoi capovolgere o cambiare per guidare l'auto.
Per il repository completo e maggiori informazioni, controlla il mio Github e il mio sito web!
Passaggio 1: materiali e strumenti
Meccanico:
Kit telaio a 4 ruote motrici
Elettrico:
- Encoder ruota
- Batteria 3S 1300mAh
- Arduino Uno
- Scudo motore Arduino
- Cicalino piezoelettrico
- LED piccolo
- Connettori XT60
- Convertitore Boost / Buck
Computer:
- Qualsiasi sistema informatico integrato: Raspberry Pi, Jetson Nano, ecc.
- Fotocamera USB (preferibile - fotocamera a 180 gradi)
Strumenti / Extra:
- Saldatore
- Alcune impostazioni VR - Ho l'Oculus Rift
- Multimetro
Passaggio 2: costruisci l'auto
Il telaio per l'auto è super facile da costruire. Hai solo bisogno di collegare i motori alla scheda principale tramite le linguette che ti danno. Dopo aver collegato le ruote e i motori, avrai anche bisogno di qualcosa per fissare la fotocamera alla parte anteriore dell'auto.
Ho usato la scatola di cartone in cui è arrivata la fotocamera per montarla. Ho ritagliato una grande forma a L e ho praticato un foro per consentire alla fotocamera di colpire a fondo. Dopodiché, puoi semplicemente inserire la videocamera e mettere del nastro adesivo sul retro per tenerla in posizione. Se lo desideri, puoi anche praticare dei fori per i fari ora o farlo in seguito quando misuri la lunghezza del cavo.
Dovrai anche collegare l'encoder della ruota a una delle ruote. Non importa quale, l'ho messo sulla ruota posteriore sinistra. È necessario posizionare il disco magnetico sull'albero effettivo della ruota e l'encoder dovrebbe essere collegato all'auto accanto ad esso. È piuttosto ricettivo, quindi non ha bisogno di essere proprio su di esso, ma il più vicino possibile. Ho fissato il mio codificatore con nastro adesivo e una fascetta. L'encoder è quello che useremo per misurare la velocità della nostra auto.
Passaggio 3: circuiti di saldatura
Questa parte è piuttosto noiosa, ma non complicata. Se segui l'immagine e misuri tutto prima di tagliare il filo, non è male.
Mentre lo fai, dovresti anche calibrare il tuo convertitore buck per emettere la tensione corretta. Il Raspberry Pi e il Jetson Nano accettano entrambi 5v, ma la nostra batteria è a 11,1v. Quindi, dobbiamo assicurarci di non friggere la nostra elettronica. Per fare ciò, collega la batteria al lato di ingresso del convertitore buck. Mentre la batteria è collegata, usa il multimetro per misurare il lato di uscita del convertitore buck. Usa un piccolo cacciavite a testa piatta per girare il potenziometro sul convertitore buck fino a quando la tensione di uscita è 5v. Una volta che l'output è corretto, non dovrai più girare il potenziometro.
Passaggio 4: installa le dipendenze sul sistema integrato
Non c'è molto da fare qui, ma è comunque incredibilmente importante.
Innanzitutto, assicurati di connetterti al router che utilizzerai in modo che possa connettersi automaticamente d'ora in poi.
Quindi, apri un terminale e digita quanto segue:
sudo apt update
sudo apt install openssh-server
sudo apt install python-pip pip install numpy pip install opencv-python pip install pyzmq
Una volta installate queste cose, dobbiamo assicurarci che, indipendentemente dalla porta a cui è collegato l'arduino, venga sempre riconosciuto. Quindi, scriviamo le cosiddette regole UDEV. Queste sono regole per il tuo sistema operativo che governano cosa succede quando colleghi le cose. Vogliamo identificare l'arduino quando è collegato e dargli un nome per accedervi. Quel nome sarà "arduino_0". Per fare ciò, utilizzeremo il numero di serie interno di arduino per identificarlo.
udevadm info -a -n /dev/ttyUSB1 | grep '{serial}' | testa -n1
Questo sputerà un valore per il numero di serie, vai avanti e copia quel valore.
Dobbiamo quindi modificare (o creare se non esiste) un file chiamato "99-usb-serial.rules". Questo file risiede nel seguente percorso file "/etc/udev/rules.d/99-usb-serial.rules". Come ho detto, se quel file non esiste, crealo e incollalo nella riga seguente con VALUE_FROM_ABOVE sostituito con il tuo valore di prima.
SUBSYSTEM=="tty", ATTRS{serial}=="VALUE_FROM_ABOVE", SYMLINK+="arduino_0"
Questo dice al sistema operativo che ogni volta che vede questo specifico numero di serie di chiamarlo arduino_0.
L'ultima cosa da fare qui è scaricare pushArucoVideoPullCommands.py e metterlo in un posto facilmente accessibile. Consiglierei la home directory per il tuo utente, poiché è lì che andremo a finire quando in seguito faremo SSH nel sistema embedded.
Passaggio 5: configurazione dell'indirizzo IP statico
Ora è la parte che tutti amano, l'indirizzamento IP. Perché questo progetto funzioni, il codice deve sapere dove inviare immagini e comandi di controllo, e ciò significa che i nostri dispositivi hanno bisogno di un IP statico.
Esistono molti modi per assegnare al tuo dispositivo un IP statico, ma, poiché abbiamo un router che collega la nostra stazione di terra e il sistema integrato, possiamo usarlo per fornirci indirizzi IP specifici molto facilmente.
Passa alla sezione di amministrazione del tuo router, in genere (per la maggior parte dei router) questo viene fatto aprendo un browser web e andando a "192.168.1.1". Ti verrà chiesto di accedere e il nome utente e la password standard tipici per la maggior parte dei router è "admin".
Una volta lì, vai a qualcosa che menziona "Server DHCP". Questo è un processo che viene eseguito sul tuo router e tiene traccia di quali dispositivi sono collegati ad esso tramite il loro indirizzo MAC, che è sempre costante. Vogliamo selezionare i dispositivi che ci interessano circa, il computer della stazione di terra e il sistema embedded e aggiungerli alla sezione client riservata, in modo da fornire loro un IP statico ogni volta che sono connessi a questo router.
Assicurati di impostare l'IP del sistema integrato su 192.168.1.122 L'IP della stazione di terra può essere impostato su qualsiasi cosa.
Passaggio 6: carica il codice su Arduino
Per caricare il codice arduino, dobbiamo prima installare una libreria per lavorare con lo scudo del motore.
Sul tuo IDE Arduino, vai su Sketch->Include Library->Manage Libraries… Quindi, cerca Adafruit Motor Shield Library. Installa questa libreria, quindi carica il codice sul tuo arduino, non dovrebbe essere richiesto nient'altro.
Passaggio 7: collegare circuiti e computer all'auto
Ora che il circuito è stato costruito, è ora di mettere tutto sulla macchina. Non ho intenzione di mentire, molte di queste cose sono semplicemente trattenute con il nastro perché è quello che è stato più facile per me da schiaffeggiare insieme molto velocemente. Detto questo, ha i fori di montaggio montati come mostrato nell'immagine sopra.
La maggior parte delle cose è abbastanza facile da lasciare da qualche parte sopra l'auto, quindi non preoccuparti se non c'è molto spazio.
Passaggio 8: configurazione dell'ambiente VR
Questa sezione avrà un aspetto leggermente diverso a seconda del tipo di configurazione VR che hai in corso. In ogni caso, ho utilizzato SteamVR per sviluppare questo software, quindi potrebbe essere necessario installarlo.
Finché utilizzi SteamVR, i controlli dovrebbero adattarsi a controller diversi. Ho mappato i controlli su "Azioni" non necessariamente sui pulsanti, quindi, in teoria, si adatterà a tutti.
Devi solo scaricare e decomprimere il file con il build Unity world ed essere pronto per eseguire VR_Bot.exe.
Passaggio 9: esegui tutto insieme
Quindi, ora che abbiamo la configurazione dell'auto e la stazione di terra collegata e pronta per l'uso, come gestiamo questo ragazzaccio? Bene, dal punto di vista della Ground Station, tutto ciò che devi fare è eseguire il file VR_Bot.exe che abbiamo visto in precedenza.
Allo stesso tempo, sarà necessario collegare la batteria al sistema integrato e farlo avviare automaticamente e connettersi al router. Una volta avviato, SSH al suo interno. Per accedervi, avrai bisogno di una sorta di terminale sulla stazione di terra, consiglio GitBash.
SSH sta per Secure Shell ed è un protocollo per accedere ai sistemi remoti in modo sicuro. Nel nostro caso, ci darà accesso al sistema integrato dalla stazione di terra. Clicca qui per saperne di più.
Devi conoscere il nome utente con cui hai configurato il tuo sistema embedded. Per Raspberry Pi il nome utente predefinito è "pi" e la password "raspberry".
Una volta installato, apri un terminale e digita quanto segue:
ssh {nome utente del sistema incorporato}@192.168.1.122
Questo aprirà un terminale nel sistema integrato.
Una volta lì, devi solo eseguire lo script Python che abbiamo copiato in precedenza.
python /path/to/pushArucoVideoPullCommands.py
Dopo averlo fatto, il sistema integrato inizierà a pompare immagini e a ricevere comandi da e verso la stazione di terra.
Allora sei a posto per iniziare a guidare e divertirti!
Consigliato:
Realtà virtuale su Raspberry Pi con BeYourHero!: 19 passaggi (con immagini)
Realtà virtuale su Raspberry Pi con BeYourHero!: Benvenuto in "Be Your Hero" progetto!Spero che tu sia pronto per entrare nella prossima generazione di immersione nella realtà virtuale!Questo progetto ti darà il pieno controllo gestuale di qualsiasi eroe virtuale che ti piace con un semplice set di dispositivi economici che utilizzano se
Gioco pronto per la realtà virtuale in soggiorno con Linux: 4 passaggi
Livingroom VR Ready Gaming con Linux: introduzioneVolevo creare un impianto di gioco per la realtà virtuale e il social gaming nel mio soggiorno. Sono un fan di Linux e della comunità open source, quindi la domanda era "Linux può fare la realtà virtuale?", Linux è un sistema operativo di gioco molto capace - in gran parte grazie a Win
Rimbalzare! Gioco di realtà virtuale con Arduino e acclerometro: 9 passaggi
Rimbalzare! Gioco di realtà virtuale utilizzando Arduino e l'accelerometro: in questo tutorial creeremo un gioco di realtà virtuale utilizzando Arduino e l'accelerometro
Creazione di un'interfaccia utente curva in Unity per la realtà virtuale: 4 passaggi
Creazione di un'interfaccia utente curva in Unity per la realtà virtuale: se stai cercando una soluzione semplice e gratuita per creare un'interfaccia utente curva per la tua applicazione di realtà virtuale o gioco VR, sei nel posto giusto. In questo blog imparerai a creare un elemento dell'interfaccia utente curvo in unity utilizzando le estensioni dell'interfaccia utente di Unity
Cuffie per realtà virtuale-Google Cardboard: 4 passaggi
Cuffie per realtà virtuale-Google Cardboard: Ciao ragazzi, ecco un semplice tutorial su come realizzare Google Cardboard, un auricolare per realtà virtuale fatto in casa. Sarà dolorosamente conviviale guardare un film horror in questo auricolare. Anche il video sulle montagne russe sarà un'esperienza indimenticabile. Attenzione