Table des matières:
- Étape 1: Matériaux et outils
- Étape 2: Construire une voiture
- Étape 3: Circuits de soudure
- Étape 4: Installer les dépendances sur le système embarqué
- Étape 5: Configurer l'adresse IP statique
- Étape 6: Téléchargez le code sur Arduino
- Étape 7: Fixez les circuits et l'ordinateur à la voiture
- Étape 8: Configurer l'environnement VR
- Étape 9: Exécutez tout ensemble
Vidéo: Voiture RC contrôlée par réalité virtuelle : 9 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
Avez-vous déjà voulu être réduit et piloter un vaisseau comme Innerspace ou Fantastic Voyage ? Eh bien, je pense que c'est aussi proche que vous allez l'être à court préavis !
Voici le pitch:
Une voiture télécommandée Real-Life pilotée depuis une console de commande de Réalité Virtuelle. Cela signifie que vous attachez un casque VR, actionnez un interrupteur sur une voiture RC, puis pouvez piloter à partir de la VR avec un flux vidéo en direct directement sur votre visage.
Il y a des choses que j'ai implémentées que vous pouvez contrôler sur la voiture VR.
- roues
- Corne
- Lumières
Tous ces éléments ont une sorte de bouton ou de levier en VR que vous pouvez basculer ou basculer pour conduire la voiture.
Pour le repo complet et plus d'informations, consultez mon Github et mon site Web !
Étape 1: Matériaux et outils
Mécanique:
Kit châssis 4 roues motrices
Électrique:
- Encodeur de roue
- Batterie 3S 1300mAh
- Arduino Uno
- Bouclier de moteur Arduino
- Avertisseur piézo-électrique
- Petite LED
- Connecteurs XT60
- Convertisseur Boost / Buck
Ordinateur:
- Tout système informatique embarqué: Raspberry Pi, Jetson Nano, etc.
- Caméra USB (de préférence - caméra à 180 degrés)
Outils / Supplément:
- Fer à souder
- Quelques configurations VR - J'ai l'Oculus Rift
- Multimètre
Étape 2: Construire une voiture
Le châssis de la voiture est super facile à construire. Il vous suffit d'attacher les moteurs à la carte principale via les onglets qu'ils vous donnent. Après avoir fixé les roues et les moteurs, vous aurez également besoin de quelque chose pour fixer la caméra à l'avant de la voiture.
J'ai utilisé la boîte en carton dans laquelle l'appareil photo est venu pour le monter. J'ai découpé une grande forme en L et j'ai fait un trou pour que la caméra puisse bien pousser. Après cela, vous pouvez simplement insérer la caméra à travers et mettre du ruban adhésif à l'arrière pour la maintenir en place. Si vous le souhaitez, vous pouvez également percer des trous pour vos phares maintenant, ou le faire plus tard lorsque vous mesurez la longueur du fil.
Vous devrez également attacher l'encodeur de roue à l'une des roues. Peu importe lequel, je l'ai mis sur la roue arrière gauche. Vous devez placer le disque magnétique sur l'arbre réel de la roue et l'encodeur doit être fixé à la voiture à côté. C'est assez réceptif, donc il n'a pas besoin d'être juste là-dessus, mais aussi près que possible. J'ai sécurisé mon encodeur avec du ruban adhésif et une attache zippée. L'encodeur est ce que nous allons utiliser pour mesurer la vitesse de notre voiture.
Étape 3: Circuits de soudure
Cette partie est assez fastidieuse, mais pas compliquée. Si vous suivez l'image et mesurez tout avant de couper votre fil, ce n'est pas trop mal.
Pendant que vous faites cela, vous devez également calibrer votre convertisseur abaisseur pour produire la tension correcte. Le Raspberry Pi et le Jetson Nano prennent tous les deux 5v, mais notre batterie est à 11,1v. Nous devons donc nous assurer de ne pas faire frire nos appareils électroniques. Pour ce faire, branchez votre batterie sur le côté entrée du convertisseur buck. Pendant que la batterie est branchée, utilisez votre multimètre pour mesurer le côté sortie du convertisseur abaisseur. Utilisez un petit tournevis à tête plate pour tourner le potentiomètre sur le convertisseur abaisseur jusqu'à ce que la tension de sortie soit de 5v. Une fois la sortie correcte, vous n'aurez plus à tourner le potentiomètre.
Étape 4: Installer les dépendances sur le système embarqué
Pas trop à faire ici, mais toujours incroyablement important.
Tout d'abord, assurez-vous de vous connecter au routeur que vous utiliserez afin qu'il puisse se connecter automatiquement à partir de maintenant.
Ensuite, ouvrez un terminal et tapez ce qui suit:
mise à jour sudo apt
sudo apt installer openssh-server
sudo apt installer python-pip pip installer numpy pip installer opencv-python pip installer pyzmq
Une fois ces éléments installés, nous devons nous assurer que, quel que soit le port sur lequel l'arduino est branché, il est toujours reconnu. Ainsi, nous écrivons ce qu'on appelle des règles UDEV. Ce sont des règles pour votre système d'exploitation qui régissent ce qui se passe lorsque vous branchez des choses. Nous voulons identifier l'arduino lorsqu'il est branché et lui donner un nom pour y accéder. Ce nom sera "arduino_0". Pour ce faire, nous utiliserons le numéro de série interne de l'arduino pour l'identifier.
udevadm info -a -n /dev/ttyUSB1 | grep '{série}' | tête -n1
Cela va cracher une valeur pour le numéro de série, allez-y et copiez cette valeur.
Il faut alors éditer (ou créer s'il n'existe pas) un fichier nommé "99-usb-serial.rules". Ce fichier réside dans le chemin de fichier suivant "/etc/udev/rules.d/99-usb-serial.rules". Comme je l'ai mentionné, si ce fichier n'existe pas, créez-le et collez-le dans la ligne suivante en remplaçant VALUE_FROM_ABOVE par votre valeur précédente.
SUBSYSTEM=="tty", ATTRS{serial}=="VALUE_FROM_ABOVE", SYMLINK+="arduino_0"
Cela indique au système d'exploitation que chaque fois qu'il voit ce numéro de série spécifique, il doit l'appeler arduino_0.
La dernière chose à faire ici est de télécharger le pushArucoVideoPullCommands.py et de le placer dans un endroit facilement accessible. Je recommanderais le répertoire personnel de votre utilisateur, car c'est là que nous nous retrouverons lorsque nous nous connecterons ultérieurement au système intégré SSH.
Étape 5: Configurer l'adresse IP statique
C'est maintenant la partie que tout le monde aime, l'adressage IP. Pour que ce projet fonctionne, le code doit savoir où envoyer les images et les commandes de contrôle, ce qui signifie que nos appareils ont besoin d'une adresse IP statique.
Il existe de nombreuses façons d'attribuer une adresse IP statique à votre appareil, mais, comme nous avons un routeur reliant notre station au sol et notre système embarqué, nous pouvons l'utiliser pour nous donner des adresses IP spécifiques très facilement.
Accédez à la section admin de votre routeur, généralement (pour la plupart des routeurs), cela se fait en ouvrant un navigateur Web et en allant à "192.168.1.1". Il vous demandera de vous connecter, et le nom d'utilisateur et le mot de passe standard typiques pour la plupart des routeurs sont "admin".
Une fois là-bas, accédez à quelque chose qui mentionne « serveur DHCP ». Il s'agit d'un processus qui s'exécute sur votre routeur et garde une trace des périphériques qui y sont connectés par leur adresse MAC, qui est toujours constante. Nous voulons sélectionner les périphériques qui nous intéressent. environ, l'ordinateur de la station au sol et le système embarqué, et ajoutez-les à la section client réservée. Cela leur donnera une adresse IP statique chaque fois qu'ils seront connectés à ce routeur.
Assurez-vous de définir l'IP du système embarqué sur 192.168.1.122. L'IP de la station au sol peut être définie sur n'importe quoi.
Étape 6: Téléchargez le code sur Arduino
Pour télécharger le code arduino, nous devons d'abord installer une bibliothèque pour travailler avec le bouclier moteur.
Sur votre IDE Arduino, allez dans Sketch->Include Library->Manage Libraries… Ensuite, recherchez Adafruit Motor Shield Library. Installez cette bibliothèque, puis téléchargez le code sur votre arduino, rien d'autre ne devrait être requis.
Étape 7: Fixez les circuits et l'ordinateur à la voiture
Maintenant que le circuit est construit, il est temps de tout mettre sur la voiture. Je ne vais pas mentir, beaucoup de ces trucs sont juste maintenus avec du ruban adhésif parce que c'est ce qui était le plus facile pour moi de gifler très rapidement. Cela étant dit, le a des trous de montage comme on le voit dans l'image ci-dessus.
La plupart des choses sont assez faciles à laisser s'asseoir quelque part sur le dessus de la voiture, alors ne vous inquiétez pas s'il n'y a pas beaucoup d'espace.
Étape 8: Configurer l'environnement VR
Cette section sera un peu différente selon le type de configuration VR que vous avez en cours. Quoi qu'il en soit, j'ai utilisé SteamVR pour développer ce logiciel, vous devrez donc peut-être l'installer.
Tant que vous utilisez SteamVR, les commandes doivent s'adapter aux différents contrôleurs. J'ai mappé les contrôles sur "Actions" pas nécessairement sur des boutons, donc, en théorie, cela s'adaptera à tout le monde.
Il vous suffit de télécharger et de décompresser le fichier avec le build Unity world et d'être prêt à exécuter le VR_Bot.exe.
Étape 9: Exécutez tout ensemble
Alors, maintenant que nous avons la configuration de la voiture et que la station au sol est branchée et prête à partir, comment pouvons-nous réellement diriger ce mauvais garçon? Eh bien, du point de vue de la station au sol, tout ce que vous avez à faire est d'exécuter le fichier VR_Bot.exe que nous avons vu plus tôt.
Dans le même temps, vous devrez brancher la batterie sur le système intégré, et la faire démarrer automatiquement et se connecter à votre routeur. Une fois qu'il est démarré, connectez-vous en SSH. Pour y accéder, vous aurez besoin d'une sorte de terminal sur la station au sol, je recommande GitBash.
SSH signifie Secure Shell et c'est un protocole permettant d'accéder en toute sécurité aux systèmes distants. Dans notre cas, cela nous donnera accès au système embarqué depuis la station au sol. Cliquez ici pour en savoir plus.
Vous devez connaître le nom d'utilisateur avec lequel vous avez configuré votre système embarqué. Pour raspberry pi, le nom d'utilisateur par défaut est « pi » et le mot de passe « raspberry ».
Une fois installé, ouvrez un terminal et tapez ce qui suit:
ssh {nom d'utilisateur du système intégré}@192.168.1.122
Cela ouvrira un terminal dans le système embarqué.
Une fois là-bas, il vous suffit d'exécuter le script python que nous avons copié précédemment.
python /chemin/vers/pushArucoVideoPullCommands.py
Après cela, le système embarqué commencera à pomper des images et à recevoir des commandes vers et depuis la station au sol.
Vous êtes alors prêt à commencer à conduire et à vous amuser !
Conseillé:
Système de suivi des mouvements de la tête pour la réalité virtuelle : 8 étapes
Système de suivi des mouvements de la tête pour VR : Je m'appelle Sam KODO. Dans ce tuto, je vais vous apprendre étape par étape comment utiliser les capteurs Arduino IMU pour créer un système de suivi de la tête pour la VR. Dans ce projet, vous aurez besoin de : - Un écran LCD HDMI :https://www.amazon.com/Elecrow-Capacitive-interfac…- Un
Réalité virtuelle sur Raspberry Pi avec BeYourHero ! : 19 étapes (avec photos)
Réalité virtuelle sur Raspberry Pi avec BeYourHero ! : Bienvenue sur "Be Your Hero" projet ! J'espère que vous êtes prêt à entrer dans la prochaine génération d'immersion en réalité virtuelle ! Ce projet vous donnera un contrôle gestuel total de n'importe quel héros virtuel que vous aimez avec un ensemble simple d'appareils peu coûteux utilisant se
Rebondir ! Jeu de réalité virtuelle utilisant Arduino et accéléromètre : 9 étapes
Rebondir ! Jeu de réalité virtuelle utilisant Arduino et accleromètre : dans ce tutoriel, nous allons créer un jeu de réalité virtuelle utilisant Arduino et accleromètre
Création d'une interface utilisateur incurvée dans Unity pour la réalité virtuelle : 4 étapes
Création d'une interface utilisateur incurvée dans Unity pour la réalité virtuelle : Si vous recherchez une solution simple et gratuite pour créer une interface utilisateur incurvée pour votre application de réalité virtuelle ou votre jeu VR, vous êtes au bon endroit. Dans ce blog, vous apprendrez à créer un élément d'interface utilisateur incurvé dans l'unité à l'aide des extensions d'interface utilisateur Unity
Casque de Réalité Virtuelle-Google Cardboard : 4 Étapes
Casque de réalité virtuelle-Google Cardboard : Salut les gars, voici un tutoriel simple sur la façon de créer Google Cardboard, un casque de réalité virtuelle fait maison. Ce sera extrêmement convivial de regarder un film d'horreur dans ce casque. La vidéo sur les montagnes russes sera également une expérience inoubliable. Attention