Intel IoT Roadshow ou réalité virtuelle dans le monde réel
Du 27 au 28 juin 2015, un hackathon a été organisé par Intel, où le projet SenseDrive a pris la deuxième place. Au cours de la présentation, notre équipe a regardé un peu vers l'avenir et a montré comment étendre les capacités humaines en plongeant dans un espace virtuel connecté à l'Internet des objets.

Un peu d'histoire
Tout a commencé avec la conférence DevCon 2015 , où j'ai d'abord fait connaissance avec les capacités de la technologie RealSense , et lors du hackathon de nuit, j'ai eu la chance d'évaluer les capacités de la caméra et du SDK RealSense. Mon premier désir était de connecter la caméra à des lunettes de réalité virtuelle afin de voir mes mains «virtuelles». Cependant, je n'ai pas pu trouver de programmeurs Unity gratuits et de concepteurs 3D à ce hackathon. Par conséquent, en faisant équipe avec un gars du Vietnam, nous avons réussi à étudier le SDK et les fonctionnalités de travailler avec la caméra suffisamment bien pour démontrer un programme simple qui aide les programmeurs à charger les yeux et s'assure que le programmeur ne «s'amuse pas» à ce sujet. J'ai également appris que dans une semaine à Saint-Pétersbourg, il y aura un autre hackathon utilisant cette technologie.Donc, maintenant j'avais déjà une semaine pour me préparer. J'ai été intéressé par mon idée par le collègue Dmitry Postilgu, qui a esquissé une interface mains libres en trois dimensions pour Windows Phone dans Unity. Et à cette époque, je développais la capacité de transférer des données sur la position des mains dans un smartphone.Cette tâche n'était pas anodine, car RealSense nécessite un processeur très puissant et USB 3.0, qui pour des raisons évidentes étaient absents de notre smartphone. J'ai dû écrire un plug-in pour Unity, qui déploie un serveur sur le téléphone et une application client pour PC qui transfère les paquets de données traités vers le téléphone, ce qui nous a permis de «connecter» plusieurs caméras à de futures lunettes virtuelles à la fois pour déterminer plus précisément la position des mains.Le résultat a été une architecture assez flexible dans laquelle il n'y avait pas de différence notable pour Unity: si les données de la caméra vont directement (pour le cas où l'application est déployée sur un PC) ou via WiFi (pour le cas où l'application est déployée sur un smartphone). Pour l'avenir, c'est cette architecture qui nous a sauvés lors de la présentation du dernier hackathon.La semaine s'est avérée être un temps très court pour avoir le temps de créer un prototype de mains virtuelles, puisque nous étions engagés dans le projet pendant notre temps libre à partir du travail principal. Ils ont écrit le projet même la nuit, en voyageant en train de Minsk à Saint-Pétersbourg. En conséquence, nous avons pris la première place .
Toujours au deuxième hackathon, j'ai découvert le prochain Intel IoT Roadshow dans un mois et j'ai rencontré Maxim Massalsky de Robot Kitchen- Laboratoire de robotique de Minsk. Avec lui, nous avons décidé d'unir enfin le monde virtuel et réel.Pour démontrer ces capacités, Maxim a assemblé un robot avec une caméra mobile, que nous avons connecté à la carte Intel Edison au hackoton. Maxim a lancé le WiFi et diffusé un flux vidéo de la caméra du robot vers le réseau. Nous avons développé un système de commandes de contrôle et nous nous sommes avérés être un robot dans lequel vous pouvez "vous déplacer" à partir de la réalité virtuelle.Le robot diffuse ce qu'il voit à travers la caméra vidéo: le flux de la caméra lancée sur Intel Edison directement dans des lunettes virtuelles, et la réalité virtuelle transfère la position de la tête et la commande des «leviers de contrôle» virtuels au robot. Nous avons réussi à créer un «effet de présence» dans les lunettes de l'utilisateur dans la cabine de contrôle de l'avatar du robot. Dans le même temps, l'utilisateur pouvait non seulement utiliser ses mains (sans souris, clavier ni fil du tout) pour indiquer où le robot devait aller, mais aussi tourner la tête sur les côtés, tandis que le robot accomplissait docilement la même chose en tournant son appareil photo.Un avatar de robot est, bien sûr, génial, mais il n'est pas entièrement clair à quel point il est bon. Par conséquent, un robot n'était pas suffisant pour nous. Même avant le hackathon, nous avons eu une petite session de brainstorming pour trouver comment mieux et plus clairement transmettre l'utilité de la technologie au jury. Il n'était pas nécessaire d'aller chercher des exemples pendant longtemps, il y en avait beaucoup (certains d'entre eux vous pouvez trouver dans la description du projet), mais peu de choses peuvent être faites en 24 heures, il a donc été décidé de choisir deux types:- Éteindre un appareil électrique (après tout, personne ne veut que sa maison brûle parce que le fer à repasser ou le poêle ont été arrêtés à la hâte quand il a été allumé);
- . , , , :) , , … , - .
L'épargne Maxim a apporté avec lui plusieurs servos et relais, le reste a été décidé de regarder sur place.En tant qu'appareil électrique pouvant brûler un appartement, nous avons utilisé une bouilloire électrique. Avec cela, nous avons été aidés par Evgeny Tkachevsky, un gars de Video Wings qui était intéressé par notre projet et il a apporté une bouilloire de la maison le matin du deuxième jour.La mangeoire pour chat a été conçue sur papier dans un train sur le chemin de Saint-Pétersbourg, un modèle informatique a été dessiné et imprimé sur une imprimante 3D dès son arrivée. Mais avec la recherche du chat, tout était plus compliqué. Il n'y avait pas de chats à proximité du lieu, nous avons donc emprunté un ours en peluche jouet à l'un des experts d'Intel.
Je dois dire que le projet a suscité un vif intérêt même au stade des tests. Pourtant, tous les jours, vous ne voyez pas un programmeur les yeux fermés dans une boîte blanche, agitant ses mains devant un ordinateur portable et debout à côté d'un robot sur un support, faisant tourner des roues d'avant en arrière et agitant la tête ... Certains téléspectateurs ont même eu la chance de se tester en tant que conducteur de robot.
Présentation
Malheureusement, au moment de la présentation, Internet fonctionnait complètement, il n'était plus possible de parler de tout transfert de données sur la position des mains, et encore plus sur la diffusion de vidéo en streaming depuis la caméra du robot. Dans les dernières secondes avant la sortie, il a été décidé de décharger le flux de données autant que possible, ne laissant que les commandes de contrôle du robot et de délier complètement les lunettes virtuelles. Nous avons dû démontrer la version PC du projet, dans laquelle il était impossible de tourner la tête et de voir à travers les yeux d'un robot. Nous ne pouvions contrôler le robot, la théière et la mangeoire qu'à l'aide de mains virtuelles, observant par-dessus l'épaule les mouvements du robot, la bouilloire s'éteignant et la nourriture débordait. Et enfin, pour ceux qui le souhaitent, nous avons proposé de mesurer des lunettes et de nous sentir au moins un instant nous-mêmes dans le monde virtuel.
Pourquoi la réalité virtuelle?
Malheureusement, en raison de difficultés techniques, nous n'avons pas pu transmettre l'idée principale du projet - en quoi le contrôle du monde virtuel est différent du simple clic sur les boutons à l'écran avec la souris . Et tout est vraiment simple, il est plus pratique pour quelqu'un de cliquer sur la souris, quelqu'un pour toucher un doigt sur l'écran, quelqu'un pour écrire dans la console, la réalité virtuelle permet d'interagir avec le monde réel en utilisant des actions et des gestes familiers au corps humain, ce qui vous permet d'effectuer plusieurs actions à la fois familières à une personne.
Par exemple, dans l'implémentation actuelle, vous pouvez faire avancer le robot d'une main, le tourner légèrement vers la droite de l'autre et tourner la tête et voir ce qui se passe à gauche. Certes, de nombreux automobilistes devaient tenir le volant d'une main, parler au téléphone de l'autre et jeter régulièrement un coup d'œil sur le côté pour voir s'il y avait un piéton béant dans le virage. C'est la même chose ici. Eh bien, en bonus dans le monde virtuel, une personne peut avoir "au-delà des capacités" comme des super-héros. Par exemple, pour passer d'un robot à une bouilloire ou à une mangeoire, j'ai fait des passes avec mes mains, ce qui a entraîné le mouvement d'objets tridimensionnels dans ce monde, comme les Jedi ... Il y avait une idée pour libérer la boule de feu de ma main et ainsi éteindre le robot, mais j'ai décidé que c'était trop.N'est-ce pas de la liberté? Liberté de mouvement, liberté de pensée, liberté d'action, liberté de fantaisie ...Mais ce n'est pas tout. Il n’est pas toujours pratique pour une personne de contrôler seul un objet complexe. L'implémentation actuelle du projet permet à plusieurs personnes de gérer simultanément plusieurs parties d'un même appareil. Vous n'avez pas besoin d'aller loin pour des exemples. Deux utilisateurs peuvent se connecter au réservoir du robot, l'un contrôlera le mouvement du réservoir à la surface, et le second à ce moment fera tourner la tourelle du réservoir et aura accès pour contrôler la bouche. Imaginez à quoi ressemblerait un jeu de combat de chars avec sa mise en œuvre?!Du point de vue de la production, il n'est désormais plus nécessaire de dépenser beaucoup d'argent pour la fabrication de claviers, souris, joysticks ou autres manipulateurs appropriés. Dessinez simplement un panneau de contrôle et chargez-le dans le monde virtuel. Et à quoi cela ressemblera ne dépend que de l'imagination et des besoins spécifiques.Et après?
Lors du hackathon, notre objectif était de démontrer les possibilités offertes par la symbiose de l'Internet des objets, des robots et de la réalité virtuelle. Maintenant, nous sommes au stade de l'orientation du projet et alors que les domaines suivants se profilent:- Développement d'un robot contrôlé simultanément par plusieurs personnes, prototype d'un robot tank;
- Ajout de la prise en charge des plates-formes Android et IOS dans le projet en cours;
- Développement d'un robot avatar à part entière, capable de prendre des objets et de diffuser une image stéréo à partir de deux yeux;
- Développer un protocole complet et un SDK pour se connecter à Internet des objets et à la réalité virtuelle. Cela permettra à tous ceux qui souhaitent connecter facilement leurs gadgets électroniques à la réalité virtuelle et, par conséquent, élargira la gamme de lunettes;
- Développement de vos propres lunettes virtuelles;
- Ajout d'une interface neuronale, qui permettra aux gens de contrôler non seulement les choses à l'aide des mouvements du corps, mais aussi par le pouvoir de la pensée. Lors du dernier hackathon, il y avait plusieurs projets utilisant une interface similaire et peut-être pouvons-nous combiner nos efforts au profit de l'humanité.
Source: https://habr.com/ru/post/fr382109/
All Articles