Les deux révisions précédentes
Révision précédente
Prochaine révision
|
Révision précédente
|
wiki:projet:lunettes_vr [2015/10/13 08:17] drenaux [Documents et Datasheets] |
wiki:projet:lunettes_vr [2016/09/11 10:59] (Version actuelle) |
====== VR (site en construction) ====== | ====== Casque de réalité virtuelle ====== |
| |
Date de début : 09/2015\\ | Date de début : 09/2015\\ |
Porteur de projet [[:wiki:utilisateurs:drenaux|Demir Renaux]] (contact : [[demirrenaux@hotmail.com|demirrenaux@hotmail.com]])\\ | Porteur de projet [[:wiki:utilisateurs:drenaux|Demir Renaux]] (contact : [[demirrenaux@hotmail.com|demirrenaux@hotmail.com]])\\ |
Suivi par [[:wiki:utilisateurs:matthiasblanc| Matthias Blanc]] (contact : [[matthias_blanc@yahoo.fr|matthias_blanc@yahoo.fr]]) | Suivi par [[http://pmclab.fr/index.php/contacts/1-arthur-hennequin|Arthur Hennequin]] |
| |
Head-Mounted Display (écran monté sur la tête, ou visiocasque). Un écran est placé devant les yeux de l'utilisateur de manière à occuper entièrement son champs visuel. | Head-Mounted Display (écran monté sur la tête, ou visiocasque). Un écran est placé devant les yeux de l'utilisateur de manière à occuper entièrement son champs visuel. |
===== Journal de bord ===== | ===== Journal de bord ===== |
| |
==== État du 10/09/2015 ==== | ==== Objectifs actuels ==== |
| |
{{http://i.imgur.com/NlHR7XT.png?direct&}} | Nous avons réussi à transmettre des données d'orientation de l'Arduino au PC par le port Serial. Cependant, les mouvements enregistrés par l'ordinateur sont peu continus. |
| |
__Explication__: L'ordinateur utilise l'entrée clavier/souris pour mettre à jour l'image du simulateur. Les sorties HDMI et USB de l'ordinateur sont connectées au circuit HDMI-MIPI DSI. Ce circuit convertit le signal HDMI en signal vidéo MIPI DSI (protocole utilisé par les écrans de smartphones), et l'envoie à l'écran. Il alimente énergétiquement l'écran, qui affiche l'image envoyée depuis l'ordinateur. | * Identifier le problème de continuité des données d'orientation |
| * Transmettre des données de changement de position. |
| * Optionnel: Utiliser le protocole SPI au lieu du protocole I2C |
| * Optionnel (♦♦): Transmettre les données de position par USB sans utiliser l'Arduino (c'est-à-dire, créer un circuit qui fasse l'interface entre la sortie USB du casque et l'accéléromètre) |
| * Optionnel (♦♦♦): Savoir mesurer l'orientation et position du casque à partir du calcul de distances de points placés sur le casque. |
| |
==== Objectifs actuels ==== | === Objectifs actuels (obsolète depuis 30/10/2015) === |
| |
* Être à l'aise avec l'utilisation avancée d'Arduino et libraries | * Être à l'aise avec l'utilisation avancée d'Arduino et libraries |
* Faire contrôler avec Arduino l'accéléromètre par SPI | * Faire contrôler avec Arduino l'accéléromètre par SPI |
* Finalement, transmettre les données de l'accéléromètre par USB, en réduisant au maximum la latency, et en maximisant le nombre d'updates par seconde | * Finalement, transmettre les données de l'accéléromètre par USB, en réduisant au maximum la latency, et en maximisant le nombre d'updates par seconde |
| |
| ==== Avancée du 01/11/2015 ==== |
| * [[:wiki:projet:lunettes_vr:cv_head_tracking|Utilisation d'opencv pour estimer la position de l'utilisateur]] |
| |
| ==== Avances du 30/10/2015 ==== |
| |
| * On réussit à faire marcher un MPU-6050 (!= 6500) en I2C |
| * On transmet des quaternions en flottants de 32 bits par le port sérial, contenant les données du gyroscope. |
| * Les quaternions sont lus par le PC, et le simulateur d'Arthur met à jour l'image de l'environnement virtuel. |
| |
| ==== Avances du 24/10/2015 ==== |
| |
| * Séance d'essai de l'accéléromètre MPU-6500 |
| * Transmission de données Arduino -> PC avec le port serial |
| * Essai de câblage de l'accéléromètre |
| * Essai d'utilisation de la librairie SPI de l'Arduino |
| |
| ==== Avances du 09/10/2015 ==== |
| |
| * Nous avons trouvé la liste des registres de l'accéléromètre MPU-6500. |
| * Nous avons lu la documentation de l'accéléromètre pour déterminer le pin-out de notre accéléromètre: |
| * VCC: Entrée de tension. On prévoit de connecter la sortie 3.3V de l'Arduino dessus. |
| * GND: Terre |
| * SCL: Horloge des données SPI, controlée par l'Arduino. |
| * SDA: Data Input de l'accéléromètre. |
| * XDA: Pour le magnètomètre, qu'on n'utilisera pas. |
| * XCL: Pour le magnètomètre, qu'on n'utilisera pas. |
| * ADO: Data Output de l'accéléromètre. |
| * NCS: Chip Select de l'accéléromètre. |
| |
| ==== État du 10/09/2015 ==== |
| |
| {{http://i.imgur.com/NlHR7XT.png?direct&}} |
| |
| __Explication__: L'ordinateur utilise l'entrée clavier/souris pour mettre à jour l'image du simulateur. Les sorties HDMI et USB de l'ordinateur sont connectées au circuit HDMI-MIPI DSI. Ce circuit convertit le signal HDMI en signal vidéo MIPI DSI (protocole utilisé par les écrans de smartphones), et l'envoie à l'écran. Il alimente énergétiquement l'écran, qui affiche l'image envoyée depuis l'ordinateur. |
| |
===== Calcul du débit de données, pixel clock ===== | ===== Calcul du débit de données, pixel clock ===== |
===== Documents et Datasheets ===== | ===== Documents et Datasheets ===== |
| |
* Accéléromètre: [[http://store.invensense.com/datasheets/invensense/MPU_6500_Rev1.0.pdf|Invensense MPU-6500]] [http://www.bt2000.co.uk/datasheets/invensense/RM-MPU-6500A-00.pdf|Liste de registres] | * Accéléromètre: [[http://store.invensense.com/datasheets/invensense/MPU_6500_Rev1.0.pdf|Invensense MPU-6500]] [[http://www.bt2000.co.uk/datasheets/invensense/RM-MPU-6500A-00.pdf|Liste de registres]] |
| * FPGA MIPI DSI <> HDMI [[https://hackaday.io/project/364-mipi-dsi-display-shieldhdmi-adapter|https://hackaday.io/project/364-mipi-dsi-display-shieldhdmi-adapter]] |
| * [[http://www.electricstuff.co.uk/nanohack.html|R.E. of iPod Nano V6 MIPI LCD - Mike's Electric Stuff]] |
| * [[http://doc-ok.org/?p=1138|Explication sur le fonctionnement du head tracking de l'occulus]] |
| |