La naissance du concept de réalité à distance
L'histoire de notre projet «fou» a commencé il y a trois ans lorsque, tout en réfléchissant aux perspectives d'avenir du développement de l'industrie du jeu, mon ami Lesha a déclaré: «Imaginez un avenir dans lequel des personnes sous forme de divertissement de n'importe quelle partie du monde utiliseront de vrais robots sur un terrain de jeu comme« avatars. "

L'idée nous a d'abord paru assez intéressante et pas difficile à mettre en œuvre. Nous nous sommes immédiatement assis à la recherche de projets similaires et avons été surpris de constater que personne n'avait rien fait de tel. Cela semblait étrange, car l'idée était littéralement «en surface». Nous avons trouvé de nombreuses traces de projets de prototypage amateur sous la forme d'un châssis avec une caméra basée sur Arduino, mais personne n'a mené à terme un projet. Plus tard, surmontant des difficultés et des problèmes apparemment sans fin, nous avons compris la raison du manque d'analogues, mais au départ, l'idée nous a semblé extrêmement simple et rapidement mise en œuvre.
La semaine prochaine, nous avons consacré au développement du concept. Nous avons imaginé des dizaines de variétés de robots avec différentes capacités et des centaines de gammes de jeu, entre lesquelles les joueurs peuvent se déplacer instantanément à travers le "téléport". Quiconque le souhaitait, sur la base de notre «décision», a eu la possibilité de construire son propre terrain d'entraînement au jeu à différentes échelles.
Nous avons immédiatement décidé que ces pensées s'inscrivaient davantage dans le concept d'une attraction de divertissement plutôt que d'un jeu informatique. Les gens aiment le divertissement et veulent quelque chose de nouveau, et nous savions quoi leur offrir. Comme dans toute entreprise, la question du retour sur investissement a immédiatement refait surface, car à première vue, il semble que notre modèle physique soit limité par le nombre de robots. Mais multipliant les robots par 24 heures et le prix d'une heure de 5 à 10 dollars, les doutes ont disparu. Le modèle financier n'était pas le Klondike, mais il a payé même à 10% de charge.
Très rapidement, le nom d'un nouveau concept est apparu dans notre tête: la réalité à distance, par analogie avec la réalité virtuelle et la réalité augmentée.

Comme le reste des "expérimentateurs", tout d'abord, nous avons pris la machine sur la radiocommande, mis une caméra Wi-Fi chinoise dessus, installé la carte Arduino et notre robot "est parti". Nous avons demandé à notre ami américain de se connecter à la machine à écrire via Internet. Il a pu faire le tour de notre bureau et nous avons été ravis. Les retards de contrôle et de flux vidéo en quelques secondes ne nous ont pas semblé un problème.
À partir de ce moment, nous avons divisé notre travail en deux domaines:
- modélisation et construction d'un terrain de jeu
- développement et création de robots et systèmes de contrôle
Gullivers dans la ville de Pripyat
Je vais commencer mon histoire avec un terrain d'entraînement. Nous avons compris que les gens devaient jouer quelque part. L'endroit doit être mondialement connu, «mystérieux» et simple dans la mise en œuvre technique. En passant par de nombreuses options, nous avons soudainement eu l'idée de Tchernobyl. La zone de Tchernobyl a répondu à toutes nos exigences et, plus important encore, toutes les pannes futures possibles et les dommages au terrain de jeu pourraient être attribués au poste d'apocalypse.
Après avoir trouvé une pièce d'une superficie de 200 mètres carrés, nous nous sommes mis au travail, qui a finalement duré deux ans. Nous avons peint les rues et les textures des maisons, créé des modèles tridimensionnels de bâtiments, y compris les planchers intérieurs. Ensuite, ils ont tout découpé dans des panneaux de particules et du contreplaqué, assemblé des bâtiments à partir de centaines de pièces différentes.

Nous avons tenté de recréer, le plus fidèlement possible, toutes les textures de Pripyat, en "espionnant" sur Google maps. Bien sûr, la taille de la pièce ne nous permettait pas de tout créer exactement et nous ne voulions pas manquer les détails, par exemple, nous avons dû déplacer la centrale nucléaire de Tchernobyl plus près de Pripyat.
Il est difficile de calculer le nombre de centaines de planches, de dizaines de feuilles de contreplaqué, de panneaux de fibres et d'autres "consommables" que nous avons dépensés. Au cours des trois derniers mois, nous avons littéralement rampé à quatre pattes avec des pinceaux et des peintures, décorant des maisons et des sols. Nous voulions le maximum de détails. L’échelle de la ville s’est avérée être de 1:16 et les maisons de 9 étages étaient à peu près au niveau de la poitrine de l’adulte. En étant dans cette ville, nous nous sentions comme de vrais géants.

Un peu de nous
Alors il est probablement temps de parler de notre équipe. Au départ, nous n'avions que deux amis ingénieurs. En pensant au projet, nous avons compris qu'il serait difficile de trouver un investisseur pour une idée aussi «aventureuse» et nous avons décidé de tout faire pour notre argent. Pendant le travail, beaucoup de gens nous ont aidés. Quelqu'un est libre, quelqu'un que nous avons engagé pour obtenir de l'aide.

L'histoire de l'impression 3D est un bon exemple de travail d'équipe. Nous avons assemblé notre imprimante et imprimé les pièces pour la première fois par nos propres moyens, jusqu'à ce que nous soyons arrivés à la conclusion que vous ne pouvez pas être un spécialiste de tout. L'impression nous a pris beaucoup de temps, certaines parties des pièces étaient grandes et un mariage inattendu à la fin de l'impression des pièces a gâché nos plans. En conséquence, nous avons trouvé un spécialiste de l'impression 3D «étroit» qui est devenu plus tard une partie de notre équipe. Ayant partagé nos rêves, il nous a aidés à fabriquer des corps robotiques simplement au prix du plastique.
Collectionnant des robots, nous ne pourrions pas nous passer de l'aide d'un tourneur. Un de nos amis nous a aidés. Les travaux de construction au site d'enfouissement nécessitaient souvent des solutions non standard et complexes, nous avons eu la chance de rencontrer les gars qui nous ont aussi activement aidés dans ces dossiers.
Le projet a eu beaucoup de chance avec le designer, l'artiste, son talent était inestimable.



Pour économiser le plus possible sur la construction de l'arène de jeu, nous avons dû presque tout faire nous-mêmes. Mais en plus d'un grand terrain d'entraînement, il y avait aussi une partie technique ...
Vaincre le retard vidéo
Les questions de la mise en œuvre technique du projet vous seront sûrement plus intéressantes que la description de notre «urbanisme».
Revenons au moment où, comme vous vous en souvenez, nous avons placé l'appareil photo sur le «chariot» et avons pu le contrôler. Suite à cela, il était temps de choisir le matériel et la technologie pour créer nos robots. Ici, la première surprise nous attendait: après avoir traversé une douzaine de caméras, nous ne pouvions pas atteindre un retard de signal auquel le contrôle du robot via Internet serait confortable. Tout était compliqué par le temps qu'il a fallu pour commander des échantillons de caméras en Chine et les tester.

Nous voulions rendre le système de contrôle du robot complètement dans le navigateur sans «télécharger notre merveilleux client» et les lecteurs Flash obsolètes. Cela a considérablement réduit la liste des technologies et des caméras qui les prennent en charge. Nous avons longtemps expérimenté la transmission d'un flux vidéo au format MJPEG, mais finalement nous avons abandonné cette idée. Ces expériences nous ont coûté six mois à perdre. Nous avons même assemblé complètement les cinq premiers robots et lancé des tests ouverts pour tout le monde, mais ...
Des tests en direct ont montré l'incapacité du routeur à traiter un énorme flux vidéo en direct de plusieurs robots au format MJPEG, dès que nous avons essayé d'optimiser la résolution de l'image. Le flux vidéo d'un robot ne pouvait pas être inférieur à 20-30 Mbit, ce qui rendait impossible le fonctionnement stable et simultané des 20 robots prévus par nous. De plus, nous n'avons pas pu trouver sans délai une solution de transmission du son prête à l'emploi. Cela a conduit au fait que nous devions rechercher à nouveau la technologie adaptée à nos tâches.
En conséquence, notre choix s'est porté sur WebRTC. Cela nous a assuré la transmission des images vidéo et du son avec un retard de seulement 0,2 seconde.

Ensuite, il est temps de simuler et d'assembler des robots. Pour dépendre moins des fournisseurs externes, nous avons imprimé tous les détails de nos robots sur une imprimante 3D. Cela nous a permis de créer le modèle le plus compact du robot et de placer de manière optimale toute l'électronique et les batteries puissantes à l'intérieur.
Système d'alimentation
La question suivante concernait l'alimentation, car nous voulions vraiment changer les piles le moins possible. Après avoir parcouru de nombreuses options prêtes à l'emploi, nous nous sommes installés sur notre propre batterie, assemblée à partir d'éléments du Panasonic 18650B. Une tension de batterie de 17 volts et une capacité de 6800 mAh ont permis à nos robots de voyager pendant 10-12 heures avec une seule charge.

Au cours des expériences, nous avons réussi à «tuer» une centaine d'éléments, car nous voulions utiliser la capacité des éléments au maximum, et la tension à la fin de la décharge a chuté très rapidement et notre simple indicateur de tension, monté sur un diviseur, n'a pas toujours donné des lectures précises. Mais à la fin, nous avons augmenté le seuil de la tension minimale admissible de 2,5 volts à 3,2, plus nous avons mis un microcircuit pour un contrôle précis de la tension et les cas de «mort» Panasonic ont cessé.
En tant que chargeurs, nous avons choisi les appareils iMax B6, qui sont populaires parmi les modélisateurs, avec la possibilité de charger en mode d'équilibrage des éléments. Nous avons «tué» certaines batteries en raison d'un étalonnage incorrect des copies chinoises de l'iMax B6. Nous avons connecté cinq canettes et les avons chargées en mode d'équilibrage. À la fin de la charge, la tension totale de la batterie a été vérifiée sans la casser en cellules, mais en fait une batterie n'était pas complètement chargée et "morte" en premier.
Moteurs pour robots
Beaucoup d'entre vous se sont sûrement posé la question: pourquoi 17 volts? La réponse réside dans les moteurs. Les moteurs sont la deuxième partie de notre «tourment chinois» après le choix des caméras. Nous avons examiné de nombreux moteurs différents. À notre horreur, presque tous avaient une petite ressource et ont rapidement échoué. Après 3-4 mois, lors des expérimentations, nous avons réussi à trouver un fabricant de moteurs «normaux» en termes de fiabilité, mais il n'y avait toujours pas de solution définitive.

Dans une machine conventionnelle, la transmission joue un rôle clé dans le transfert de puissance du moteur aux roues. Nous ne l’avions pas. En réduisant la tension sur les moteurs, nous avons réussi à réduire la vitesse du robot, mais en même temps sa puissance a été perdue et nos «réservoirs» ne pouvaient pas tourner lentement. Bientôt, nous avons résolu ce problème.
Oh, j'ai dit que ce mot était "tanchiki".
Pourquoi les "tanks"?
Pourquoi exactement les "tanks"? La réponse est simple. Si nous ajoutons au retard de la caméra un retard de canal Internet inconnu, alors certains résidents d'Australie ne pourront contrôler confortablement que quelque chose de relativement lent. C'était le premier argument en faveur du choix des chars, et le deuxième argument, qui nous a finalement convaincus, consistait en une maîtrise confortable du robot. Une personne s'y est habituée en cliquant sur la «flèche» à droite pour attendre que le robot se tourne vers la droite, et sans chenilles c'était impossible à faire, car seuls les chars tournaient «en place». Nous étions également satisfaits de la «capacité de super-cross» attendue. Après avoir commandé une boîte de chenilles en caoutchouc en Chine, nous avons commencé à imprimer des "roues-rouleaux" sous les chenilles.

Les tout premiers tests ont brisé nos rêves en éclats, les chenilles ont souvent volé hors du réservoir lors de l'atteinte d'obstacles bas. Après avoir étudié les bases de la mécanique des chars et essayé différents tendeurs et roues auxiliaires, nous n'avons toujours pas résolu ce problème. J'ai dû me séparer des chenilles. Comme les robots étaient déjà imprimés et assemblés, nous devions chercher une solution rapide et simple, mais c'était une chose - de bonnes roues avec une bande de roulement en caoutchouc. Et comment tournez-vous à l'endroit que vous demandez? Nous "sommes sortis" en reliant les deux axes avec une fine sangle d'une imprimante 3D. En général, nous avons eu un robot à roues avec traction intégrale et une rotation en place.

Coeur de robot
Nous avons déjà parlé de la plupart des éléments de notre robot et n'avons rien dit sur le composant le plus important.

Notre bot était basé sur le mini-ordinateur Raspberry Pi sous Linux OS et un logiciel spécialement développé qui permet au robot de communiquer avec le serveur. Le Raspberry Pi fonctionne en conjonction avec notre carte de surveillance et de contrôle. La carte comprend un microcontrôleur, un pilote de moteur, des puces de traitement du signal provenant de divers capteurs et un module pour un contrôle précis de la tension de la batterie. Pour faciliter le montage, nous avons mis en place absolument toutes les connexions périphériques sur des connecteurs séparés.

Comme je l'ai mentionné plus tôt, nous avons souvent dû changer de composants lorsque nous étions confrontés à des problèmes imprévus. C'est arrivé cette fois aussi. Dans un premier temps, nous avons assemblé les premiers robots sur l'Orange Pi, pour économiser de l'argent. À l'avenir, nous devions les remplacer par un Raspberry Pi 2 B. Mais ce n'était pas la fin. Nous avons rapidement dû remplacer ce mini-ordinateur par une version du Raspberry Pi 3 B + qui avait un module 5 GHz à bord du WiFi. Mais plus à ce sujet plus tard.
Configuration Wi-Fi
Le prochain problème qui nous attendait était la chaîne radio Wi-Fi. Nous ne l'avons appris qu'en démarrant les tests immédiatement 10 robots en mouvement. Notre site d'enfouissement était situé dans un sous-sol clos et la «re-réflexion» des murs en béton armé était tout simplement terrible. Les commandes de contrôle se sont bien déroulées, mais le flux vidéo a "ralenti" de manière extravagante, lorsqu'un des robots est parti pour le coin le plus éloigné de la pièce.
La transition de 2,4 GHz à 5 GHz nous a aidés à faire face au chargement des canaux. Mais les difficultés ne s'arrêtent pas là. Si le robot roulait dans un coin, le signal tombait en dessous de -80 dBm et les freins se mettaient en marche. Enfin, nous avons résolu le problème en installant une antenne sectorielle avec réception en diversité et en augmentant la puissance de l'émetteur à un demi-watt. Bien sûr, le routeur devait être «récupéré» du segment des solutions d'entreprise avec un processeur puissant.
Il convient de mentionner qu'au lieu d'augmenter la puissance, nous avons essayé pendant longtemps de configurer le mode d'itinérance "transparent" basé sur la solution Ubiquity, mais hélas, le module Wi-Fi dont nous avions besoin "refusé" pour le prendre en charge, mais l'iPhone fonctionnait parfaitement, se déplaçant entre plusieurs points d'accès.


Après avoir collecté «dix» robots et lancé le serveur de surveillance et de contrôle, nous nous sommes rendus en novembre 2018 à Kickstarter avec le projet Isotopium Chernobyl . Nous ne savions même pas que des dizaines de milliers de personnes essaieraient bientôt notre jeu.
Découvrez notre futur article et pourquoi nous avons presque fermé le projet dans notre prochain article: Jeu en ligne avec des modèles RC contrôlés via Internet
