El nacimiento del concepto de realidad remota
La historia de nuestro proyecto "loco" comenzó hace tres años cuando, mientras pensaba en las perspectivas futuras del desarrollo de la industria del juego, mi amiga Lesha dijo: "Imagine un futuro en el que las personas en forma de entretenimiento de cualquier parte del mundo operen robots reales en un campo de juego como" avatares ".

La idea inicialmente nos pareció bastante interesante y no difícil de implementar. Inmediatamente nos sentamos en busca de proyectos similares y nos sorprendió descubrir que nadie había hecho algo así. Parecía extraño, porque la idea era literalmente "en la superficie". Encontramos muchos rastros de proyectos de prototipos de aficionados en forma de chasis con una cámara basada en Arduino, pero nadie ha llevado ningún proyecto a su conclusión lógica. Más tarde, superando dificultades y problemas aparentemente interminables, entendimos la razón de la falta de análogos, pero inicialmente la idea nos pareció extremadamente simple y rápidamente implementada.
La próxima semana nos dedicamos al desarrollo del concepto. Nos imaginamos docenas de variedades de robots con diferentes capacidades y cientos de rangos de juego, entre los cuales los jugadores pueden moverse instantáneamente a través del "teletransporte". Cualquiera que quisiera, sobre la base de nuestra "decisión", tuvo la oportunidad de construir su propio campo de entrenamiento de varias escalas.
Inmediatamente decidimos que estos pensamientos encajan más en el concepto de una atracción de entretenimiento, en lugar de un juego de computadora. A la gente le encanta el entretenimiento y quiere algo nuevo, y sabíamos qué ofrecerles. Como en cualquier negocio, el problema de la recuperación de la inversión surgió de inmediato, porque a primera vista parece que nuestro modelo físico está limitado por la cantidad de robots. Pero al multiplicar los robots por 24 horas y el precio de una hora de 5-10 dólares, las dudas desaparecieron. El modelo financiero no era Klondike, pero valió la pena incluso con una carga del 10%.
Muy rápidamente, el nombre de un nuevo concepto apareció en nuestra cabeza: Realidad remota, por analogía con Realidad virtual y Realidad aumentada.

Al igual que el resto de los "experimentadores", en primer lugar, tomamos la máquina en el control de radio, le pusimos una cámara Wi-Fi china, instalamos la placa Arduino y nuestro robot "se fue". Le pedimos a nuestro amigo de EE. UU. Que se conectara a la máquina de escribir a través de Internet. Pudo pasear por nuestra oficina y quedamos encantados. Las demoras en el control y la transmisión de video en unos pocos segundos no nos parecieron un problema.
Desde este momento, hemos dividido nuestro trabajo en dos áreas:
- modelado y construcción de un terreno de juego
- Desarrollo y creación de robots y sistemas de control.
Gullivers en la ciudad de Pripyat
Comenzaré mi historia con un campo de entrenamiento. Entendimos que la gente tenía que jugar en algún lado. El lugar debe ser mundialmente famoso, "misterioso" y sin complicaciones en la implementación técnica. Al pasar por muchas opciones, de repente se nos ocurrió la idea de Chernobyl. La zona de Chernobyl cumplió con todos nuestros requisitos, y lo más importante, todas las posibles averías futuras y daños en el terreno de juego podrían atribuirse a la publicación del apocalipsis.
Después de encontrar una habitación con un área de 200 metros cuadrados, nos pusimos a trabajar, que finalmente duró dos años. Pintamos las calles y las texturas de las casas, creamos modelos tridimensionales de edificios, incluidos los pisos internos. Luego cortaron todo de aglomerado y madera contrachapada, ensamblaron edificios de cientos de partes diferentes.

Intentamos recrear, con la mayor precisión posible, todas las texturas de Pripyat, "espiando" en los mapas de Google. Por supuesto, el tamaño de la sala no nos permitió crear todo exactamente, y no queríamos perder los detalles, por lo tanto, por ejemplo, tuvimos que acercar la central nuclear de Chernobyl a Pripyat.
Es difícil calcular cuántos cientos de tableros, decenas de láminas de madera contrachapada, tableros de fibra y otros "consumibles" gastamos. Durante los últimos tres meses, literalmente nos hemos arrastrado a cuatro patas con pinceles y pinturas, decorando casas y pisos. Queríamos el máximo detalle. La escala de la ciudad resultó ser 1:16 y las casas de 9 pisos de altura estaban aproximadamente al nivel del cofre del adulto. Estando en esta ciudad nos sentimos como verdaderos gigantes.

Un poco sobre nosotros
Entonces, probablemente sea hora de hablar sobre nuestro equipo. Inicialmente, solo teníamos dos amigos ingenieros. Pensando en el proyecto, entendimos que sería difícil encontrar un inversionista para una idea tan "aventurera" y decidimos hacer todo por nuestro dinero. Durante el trabajo, muchas personas nos ayudaron. Alguien es libre, alguien que contratamos por ayuda.

Un buen ejemplo de trabajo en equipo fue la historia de la impresión 3D. Armamos nuestra impresora e imprimimos las piezas por primera vez por nuestra cuenta, hasta que llegamos a la conclusión de que no puede ser un especialista en todo. La impresión nos llevó mucho tiempo, partes de las piezas eran grandes y un matrimonio inesperado al final de la impresión de piezas arruinó todos nuestros planes. Como resultado, encontramos un especialista en impresión 3D "estrecho" que luego se convirtió en parte de nuestro equipo. Habiendo compartido nuestros sueños, nos ayudó a hacer cuerpos robóticos simplemente a costa del plástico.
Recolectando robots, no podríamos prescindir de la ayuda de un tornero. Uno de nuestros amigos nos ayudó con esto. El trabajo de construcción en el vertedero a menudo requería soluciones complejas y no estándar, tuvimos mucha suerte de conocer a los muchachos que también nos ayudaron activamente en estos asuntos.
El proyecto tuvo mucha suerte con el diseñador, el artista, su talento fue invaluable.



Para ahorrar tanto como sea posible en la construcción del campo de juego, tuvimos que hacer casi todo nosotros mismos. Pero además de un gran campo de entrenamiento, también había una parte técnica ...
Derrotando Video Delay
Seguramente las preguntas sobre la implementación de ingeniería del proyecto serán más interesantes para usted que la descripción de nuestra "planificación urbana".
Volvamos al momento en que, como recordará, colocamos la cámara en el "carro" y pudimos controlarla. Después de esto, llegó el momento de elegir el hardware y la tecnología para crear nuestros robots. Aquí la primera sorpresa nos estaba esperando: después de pasar por una docena de cámaras, no pudimos lograr un retraso de señal con el que sería cómodo controlar el robot a través de Internet. Todo fue complicado por el tiempo que tardó en pedir muestras de cámaras en China y probarlas.

Queríamos hacer que el sistema de control del robot estuviera completamente en el navegador sin ningún tipo de "descarga nuestro maravilloso cliente" y reproductores Flash obsoletos. Esto redujo significativamente la lista de tecnologías y cámaras que las admiten. Experimentamos durante mucho tiempo con la transmisión de una transmisión de video en formato MJPEG, pero al final abandonamos esta idea. Estos experimentos nos costaron seis meses para perder. Incluso ensamblamos completamente los primeros cinco robots y lanzamos pruebas abiertas para todos, pero ...
Las pruebas en vivo mostraron la incapacidad del enrutador para procesar una gran transmisión de video por aire desde varios robots en formato MJPEG, tan pronto como intentamos optimizar la resolución de la imagen. La transmisión de video de un robot no podía hacerse a menos de 20-30 Mbit, lo que hacía imposible la operación simultánea estable de los 20 robots planeados por nosotros. Además, no pudimos encontrar una solución de transmisión de sonido lista para usar sin demora. Esto llevó al hecho de que tuvimos que buscar nuevamente la tecnología adecuada para nuestras tareas.
Como resultado, nuestra elección se basó en WebRTC. Esto nos aseguró la transmisión de imágenes de video y sonido con un retraso de solo 0.2 segundos.

Entonces es hora de simular y ensamblar robots. Para depender menos de proveedores externos, imprimimos todos los detalles de nuestros bots en una impresora 3D. Esto nos permitió crear el modelo más compacto del robot y colocar de manera óptima todos los componentes electrónicos y las potentes baterías en su interior.
Sistema de potencia
La siguiente pregunta estaba relacionada con la fuente de alimentación, porque realmente queríamos cambiar las baterías lo menos posible. Después de pasar por muchas opciones ya preparadas, nos instalamos en nuestra propia batería, ensamblada a partir de elementos de la Panasonic 18650B. Un voltaje de batería de 17 voltios y una capacidad de 6800 mAh hicieron posible que nuestros robots viajen durante 10-12 horas con una sola carga.

Durante los experimentos, "matamos" con éxito cien elementos, porque queríamos usar la capacitancia de los elementos al máximo, y el voltaje al final de la descarga cayó muy rápidamente y nuestro indicador de voltaje simple, montado en un divisor, no siempre dio lecturas precisas. Pero al final, elevamos el umbral para el voltaje mínimo permitido de 2.5 voltios a 3.2, además establecimos un microcircuito para un control preciso del voltaje y los casos de “muerte” de Panasonic cesaron.
Como cargadores, elegimos los dispositivos iMax B6, que son populares entre los modeladores, con la opción de cargar en el modo de equilibrio de elementos. "Matamos" algunas de las baterías debido a una calibración incorrecta de las copias chinas del iMax B6. Conectamos cinco latas y las cargamos en modo de equilibrio. Al final de la carga, se verificó el voltaje total de la batería sin dividirla en celdas, pero de hecho un banco no estaba completamente cargado y "murió" primero.
Motores para robots
Seguramente muchos de ustedes se han hecho la pregunta: ¿por qué 17 voltios? La respuesta está en los motores. Los motores son la segunda parte de nuestro "tormento chino" después de elegir cámaras. Repasamos muchos motores diferentes. Para nuestro horror, casi todos tenían un pequeño recurso y fallaron rápidamente. Después de 3-4 meses, durante los experimentos, logramos encontrar un fabricante de motores "normales" en términos de confiabilidad, pero aún no había una solución final.

En una máquina convencional, la transmisión juega un papel clave en la transferencia de potencia del motor a las ruedas. No lo teníamos. Al reducir el voltaje en los motores, redujimos con éxito la velocidad del robot, pero al mismo tiempo se perdió su potencia y nuestros "tanques" no pudieron girar lentamente. Pronto resolvimos este problema.
Oh, dije que esa palabra es "tanchiki".
¿Por qué son los "tanques"?
¿Por qué exactamente los "tanques"? La respuesta es simple. Si agregamos al retraso de la cámara un retraso desconocido del canal de Internet, entonces algunos residentes de Australia podrán controlar cómodamente solo algo relativamente lento. Este fue el primer argumento a favor de elegir tanques, y el segundo argumento, que finalmente nos convenció, consistió en un control cómodo del robot. Una persona se acostumbró haciendo clic en la "flecha" a la derecha para esperar a que el robot gire a la derecha, y sin orugas era imposible hacerlo, porque solo los tanques giraban "en su lugar". También estábamos contentos con la esperada "capacidad súper cross-country". Habiendo pedido una caja de orugas de goma en China, comenzamos a imprimir "ruedas-rodillos" debajo de las orugas.

Las primeras pruebas rompieron nuestros sueños en pedazos, las orugas a menudo volaban desde el tanque al golpear obstáculos bajos. Después de estudiar los conceptos básicos de la mecánica del tanque y de haber probado diferentes tensores y ruedas auxiliares, aún no resolvimos este problema. Tuve que separarme de las orugas. Como los robots ya estaban impresos y ensamblados, tuvimos que buscar una solución rápida y sin complicaciones, pero era una cosa: buenas ruedas con una banda de rodadura de goma. ¿Y cómo giras en el lugar que preguntas? "Salimos" uniendo los dos ejes con una correa delgada de una impresora 3D. En general, tenemos un robot con ruedas con tracción total y una rotación en su lugar.

Corazón robot
Ya hemos hablado sobre la mayoría de los elementos de nuestro robot y no hemos dicho nada sobre el componente más importante.

Nuestro bot se basó en la mini computadora Raspberry Pi en el sistema operativo Linux y en un software especialmente desarrollado que permite que el robot se comunique con el servidor. La Raspberry Pi funciona en conjunto con nuestra placa de monitoreo y control. La placa incluye un microcontrolador, un controlador de motor, chips de procesamiento de señal de varios sensores y un módulo para un control preciso del voltaje de la batería. Para facilitar el montaje, hemos implementado absolutamente todas las conexiones periféricas en conectores separados.

Como mencioné anteriormente, a menudo tuvimos que cambiar componentes cuando nos enfrentamos a problemas imprevistos. Sucedió esta vez también. Inicialmente, ensamblamos los primeros robots en el Orange Pi, para ahorrar dinero. En el futuro, tuvimos que reemplazarlos con una Raspberry Pi 2 B. Pero este no fue el final. Pronto tuvimos que reemplazar esta mini computadora con una versión de Raspberry Pi 3 B + que tenía un módulo de 5 GHz a bordo del WiFi. Pero más sobre eso más tarde.
Configuración de Wi-Fi
El siguiente problema que nos esperaba era el canal de radio Wi-Fi. Aprendimos sobre esto solo al comenzar las pruebas inmediatamente con 10 robots en movimiento. Nuestro vertedero estaba ubicado en un sótano cerrado y la "reflexión" de los muros de hormigón armado fue simplemente terrible. Los comandos de control funcionaron bien, pero la transmisión de video se desaceleró violentamente, cuando uno de los robots se fue al rincón más alejado de la habitación.
La transición de 2.4 GHz a 5 GHz nos ayudó a hacer frente a la carga del canal. Pero las dificultades no terminaron ahí. Si el robot conducía por una esquina, la señal caía por debajo de -80 dBm y los frenos comenzaron. Finalmente, resolvimos el problema instalando una antena sectorial con recepción de diversidad y elevando la potencia del transmisor a medio vatio. Por supuesto, el enrutador tuvo que ser "recogido" del segmento de soluciones comerciales con un procesador potente.
Vale la pena mencionar que, en lugar de aumentar la potencia, intentamos durante mucho tiempo configurar el modo de itinerancia "sin interrupciones" basado en la solución Ubiquity, pero, por desgracia, el módulo Wi-Fi que necesitábamos "rechazó" para admitirlo, pero el iPhone funcionó perfectamente, moviéndose entre varios puntos de acceso.


Habiendo recogido "diez" robots y lanzado el servidor de monitoreo y control, en noviembre de 2018 fuimos a Kickstarter con el proyecto Isotopium Chernobyl . Ni siquiera nos dimos cuenta de que decenas de miles de personas probarían nuestro juego pronto.
Lea sobre nuestro futuro artículo y por qué casi cerramos el proyecto en nuestro próximo artículo: Juego en línea con modelos RC controlados a través de Internet
