O nascimento do conceito de Realidade Remota
A história do nosso projeto "louco" começou há três anos, quando, enquanto pensava nas perspectivas futuras do desenvolvimento da indústria de jogos, minha amiga Lesha disse: "Imagine um futuro no qual pessoas na forma de entretenimento de qualquer parte do mundo operem robôs reais em um campo de jogos como" avatares. ”

A ideia inicialmente nos pareceu bastante interessante e não difícil de implementar. Imediatamente nos sentamos em busca de projetos semelhantes e ficamos surpresos ao descobrir que ninguém havia feito algo assim. Pareceu estranho, porque a ideia estava literalmente "na superfície". Encontramos muitos vestígios de projetos de prototipagem amadores na forma de um chassi com uma câmera baseada em Arduino, mas ninguém levou nenhum projeto à sua conclusão lógica. Mais tarde, superando dificuldades e problemas aparentemente intermináveis, entendemos o motivo da falta de análogos, mas inicialmente a idéia parecia extremamente simples e rapidamente implementada para nós.
Na semana seguinte, dedicamos ao desenvolvimento do conceito. Imaginamos dezenas de variedades de robôs com diferentes capacidades e centenas de intervalos de jogos, entre os quais os jogadores podem se mover instantaneamente através do "teleporte". Qualquer um que quisesse, com base em nossa "decisão", teve a oportunidade de construir seu próprio campo de treinamento em várias escalas.
Decidimos imediatamente que esses pensamentos se encaixam mais no conceito de atração de entretenimento, em vez de jogo de computador. As pessoas adoram entretenimento e querem algo novo, e sabíamos o que lhes oferecer. Como em qualquer negócio, a questão do retorno veio à tona imediatamente, porque, à primeira vista, parece que nosso modelo físico é limitado pelo número de robôs. Mas multiplicando os robôs por 24 horas e o preço de uma hora de 5 a 10 dólares, as dúvidas desapareceram. O modelo financeiro não era Klondike, mas valeu a pena mesmo com 10% de carga.
Muito rapidamente, o nome de um novo conceito apareceu em nossa mente: Realidade Remota, por analogia com Realidade Virtual e Realidade Aumentada.

Como o resto dos "experimentadores", em primeiro lugar, pegamos a máquina no controle de rádio, colocamos uma câmera Wi-Fi chinesa nela, instalamos a placa Arduino e nosso robô "foi". Pedimos ao nosso amigo dos EUA que se conectasse à máquina de escrever via Internet. Ele foi capaz de andar pelo escritório e ficamos encantados. Atrasos no controle e no fluxo de vídeo em alguns segundos não nos pareciam um problema.
A partir deste momento, dividimos nosso trabalho em duas áreas:
- modelagem e construção de um campo de jogo
- desenvolvimento e criação de robôs e sistemas de controle
Gullivers na cidade de Pripyat
Vou começar minha história com um campo de treinamento. Nós entendemos que as pessoas tinham que tocar em algum lugar. O local deve ser mundialmente famoso, "misterioso" e descomplicado na implementação técnica. Passando por muitas opções, de repente surgiu a idéia de Chernobyl. A zona de Chernobyl atendeu a todos os nossos requisitos e, o mais importante, todas as possíveis falhas e danos futuros no campo de jogo podem ser atribuídos ao posto do apocalipse.
Tendo encontrado uma sala com uma área de 200 metros quadrados, começamos a trabalhar, que finalmente durou dois anos. Pintamos as ruas e as texturas das casas, criamos modelos tridimensionais de edifícios, incluindo pisos internos. Depois, cortam tudo do aglomerado e do compensado, montam edifícios de centenas de peças diferentes.

Tentamos recriar, com a maior precisão possível, todas as texturas de Pripyat, "espionando" nos mapas do Google. Obviamente, o tamanho da sala não nos permitiu criar tudo exatamente, e não queríamos perder os detalhes, portanto, por exemplo, tivemos que mover o NPP de Chernobyl para mais perto de Pripyat.
É difícil calcular quantas centenas de pranchas, dezenas de folhas de madeira compensada, painéis de fibras e outros "consumíveis" que gastamos. Nos últimos três meses, literalmente rastejamos de quatro com pincéis e tintas, decorando casas e pisos. Queríamos o máximo de detalhes. A escala da cidade era 1:16 e as casas com 9 andares eram aproximadamente no nível do peito do adulto. Estar nesta cidade nos sentimos como verdadeiros gigantes.

Um pouco sobre nós
Então provavelmente é hora de falar sobre a nossa equipe. Inicialmente, tínhamos apenas dois amigos de engenheiro. Pensando no projeto, entendemos que seria difícil encontrar um investidor para uma idéia tão "aventureira" e decidimos fazer tudo pelo nosso dinheiro. Durante o trabalho, muitas pessoas nos ajudaram. Alguém é livre, alguém que contratamos para ajudar.

Um bom exemplo de trabalho em equipe foi a história da impressão 3D. Montamos nossa impressora e imprimimos as peças pela primeira vez por conta própria, até chegarmos à conclusão de que você não pode ser especialista em tudo. A impressão nos levou muito tempo, as partes eram grandes e um casamento inesperado no final da impressão estragou todos os nossos planos. Como resultado, encontramos um especialista em impressão 3D “estreito” que mais tarde se tornou parte de nossa equipe. Tendo compartilhado nossos sonhos, ele nos ajudou a criar corpos robóticos simplesmente à custa do plástico.
Coletando robôs, não poderíamos ficar sem a ajuda de um turner. Um de nossos amigos nos ajudou com isso. As obras no aterro frequentemente exigiam soluções não padronizadas e complexas. Tivemos muita sorte em conhecer os funcionários que também nos ajudaram ativamente nesses assuntos.
O projeto teve muita sorte com o designer, o artista, seu talento foi inestimável.



Para economizar o máximo possível na construção da arena de jogos, tivemos que fazer quase tudo sozinhos. Mas, além de um grande campo de treinamento, havia também uma parte técnica ...
Derrotar o atraso do vídeo
Certamente questões sobre a implementação de engenharia do projeto serão mais interessantes para você do que a descrição do nosso "planejamento urbano".
Voltemos ao momento em que, como você se lembra, colocamos a câmera no “carrinho” e conseguimos controlá-la. Depois disso, chegou a hora de escolher o hardware e a tecnologia para criar nossos robôs. Aqui a primeira surpresa nos esperava: depois de passar por uma dúzia de câmeras, não conseguimos um atraso de sinal no qual seria confortável controlar o robô pela Internet. Tudo foi complicado no tempo que levou para encomendar amostras de câmeras na China e testá-las.

Queríamos criar o sistema de controle do robô completamente no navegador, sem qualquer "download do nosso maravilhoso cliente" e players Flash desatualizados. Isso reduziu significativamente a lista de tecnologias e câmeras que os suportam. Experimentamos por muito tempo a transmissão de um fluxo de vídeo no formato MJPEG, mas no final abandonamos essa idéia. Esses experimentos nos custam seis meses a perder. Até montamos completamente os cinco primeiros robôs e lançamos testes abertos para todos, mas ...
Testes ao vivo mostraram a incapacidade do roteador de processar uma enorme transmissão de vídeo no ar de vários robôs no formato MJPEG, assim que tentamos otimizar a resolução da imagem. O fluxo de vídeo de um robô não pode ter menos de 20 a 30 Mbit, o que impossibilitou a operação simultânea estável dos 20 robôs planejados por nós. Além disso, não conseguimos encontrar uma solução de transmissão de som pronta sem demora. Isso levou ao fato de termos que procurar novamente a tecnologia adequada para nossas tarefas.
Como resultado, nossa escolha se estabeleceu no WebRTC. Isso nos garantiu a transmissão de imagens e sons de vídeo com um atraso de apenas 0,2 segundos.

Então é hora de simular e montar robôs. Para depender menos de fornecedores externos, imprimimos todos os detalhes de nossos bots em uma impressora 3D. Isso nos permitiu criar o modelo mais compacto do robô e colocar de maneira ideal todos os componentes eletrônicos e baterias poderosas dentro.
Sistema de energia
A próxima pergunta estava relacionada à fonte de alimentação, porque realmente queríamos trocar as baterias o mínimo possível. Depois de passar por muitas opções prontas, instalamos nossa própria bateria, montada a partir de elementos da Panasonic 18650B. Uma tensão de bateria de 17 volts e uma capacidade de 6800 mAh possibilitou que nossos robôs viajassem por 10 a 12 horas com uma única carga.

Durante os experimentos, matamos com êxito cem elementos, porque queríamos usar a capacitância dos elementos ao máximo e a tensão no final da descarga caiu muito rapidamente e nosso simples indicador de tensão, montado em um divisor, nem sempre fornecia leituras precisas. Porém, no final, aumentamos o limite para a tensão mínima permitida de 2,5 volts para 3,2, além de definirmos um microcircuito para controle preciso da tensão e os casos de "morte" da Panasonic cessaram.
Como carregadores, escolhemos os dispositivos iMax B6, populares entre os modeladores, com a opção de carregar no modo de balanceamento de elementos. "Matamos" algumas baterias devido à calibração inadequada de cópias chinesas do iMax B6. Conectamos cinco latas e as carregamos no modo de balanceamento. No final da carga, a tensão total da bateria foi verificada sem quebrá-la em células, mas, na verdade, um banco não estava totalmente carregado e "morreu" primeiro.
Motores para robôs
Certamente muitos de vocês se perguntaram: por que 17 volts? A resposta está nos motores. Os motores são a segunda parte do nosso "tormento chinês" depois de escolher as câmeras. Examinamos muitos motores diferentes. Para nosso horror, quase todos eles tinham um pequeno recurso e rapidamente falharam. Após 3-4 meses, durante os experimentos, conseguimos encontrar um fabricante de motores "normais" em termos de confiabilidade, mas ainda não havia solução final.

Em uma máquina convencional, a transmissão desempenha um papel fundamental na transferência de potência do motor para as rodas. Nós não tínhamos. Ao reduzir a tensão nos motores, reduzimos com sucesso a velocidade do robô, mas ao mesmo tempo sua energia foi perdida e nossos "tanques" não puderam girar lentamente. Logo resolvemos esse problema.
Ah, eu disse que a palavra é "tanchiki".
Por que os "tanques"?
Por que exatamente os "tanques"? A resposta é simples. Se adicionarmos à câmera um atraso desconhecido no canal da Internet, alguns residentes da Austrália poderão controlar confortavelmente apenas algo relativamente lento. Esse foi o primeiro argumento a favor da escolha de tanques, e o segundo argumento, que finalmente nos convenceu, consistia em um controle confortável do robô. Uma pessoa se acostumou clicando na “seta” à direita para esperar o robô virar para a direita, e sem lagartas era impossível fazer isso, porque apenas os tanques estavam girando “no lugar”. Também ficamos felizes com a esperada “super capacidade de cross-country”. Depois de encomendar uma caixa de esteiras de borracha na China, começamos a imprimir "rolos de rodas" sob as esteiras.

Os primeiros testes quebraram nossos sonhos em pedacinhos, as lagartas frequentemente voavam do tanque ao atingir obstáculos baixos. Tendo estudado o básico da mecânica de tanques e tendo tentado diferentes tensionadores e rodas auxiliares, ainda não resolvemos esse problema. Eu tive que me separar das lagartas. Como os robôs já estavam impressos e montados, tivemos que procurar uma solução rápida e descomplicada, mas uma coisa: boas rodas com piso de borracha. E como você liga no local que pergunta? Nós "saímos" vinculando os dois eixos com uma tira fina de uma impressora 3D. Em geral, temos um robô de rodas com tração nas quatro rodas e uma rotação no lugar.

Coração robô
Já falamos sobre a maioria dos elementos do nosso robô e não falamos nada sobre o componente mais importante.

Nosso bot foi baseado no mini computador Raspberry Pi no sistema operacional Linux e em um software especialmente desenvolvido que permite que o robô se comunique com o servidor. O Raspberry Pi funciona em conjunto com nossa placa de monitoramento e controle. A placa inclui um microcontrolador, um driver de motor, chips de processamento de sinais de vários sensores e um módulo para controle preciso da tensão da bateria. Para facilitar a montagem, implementamos absolutamente todas as conexões periféricas em conectores separados.

Como mencionei anteriormente, muitas vezes tivemos que alterar os componentes quando nos deparamos com problemas imprevistos. Também aconteceu desta vez. Inicialmente, montamos os primeiros robôs no Orange Pi, para economizar dinheiro. No futuro, tivemos que substituí-los por um Raspberry Pi 2 B. Mas esse não foi o fim. Logo, novamente tivemos que substituir este mini computador por uma versão do Raspberry Pi 3 B +, que possuía um módulo de 5 GHz a bordo do Wi-Fi. Mas mais sobre isso mais tarde.
Configuração de Wi-Fi
O próximo problema que nos esperava era o canal de rádio Wi-Fi. Nós aprendemos sobre isso apenas iniciando os testes imediatamente 10 robôs em movimento. Nosso aterro sanitário estava localizado em um porão fechado e a "reflexão" das paredes de concreto armado era simplesmente terrível. Os comandos de controle foram bons, mas o fluxo de vídeo "diminuiu bastante", quando um dos robôs saiu para o canto mais distante da sala.
A transição de 2,4 GHz para 5 GHz nos ajudou a lidar com o carregamento do canal. Mas as dificuldades não terminaram aí. Se o robô dobrasse uma esquina, o sinal cairia abaixo de -80 dBm e os freios acionariam. Finalmente, resolvemos o problema instalando uma antena setorial com recepção diversificada e aumentando a potência do transmissor para meio watt. Obviamente, o roteador teve que ser "escolhido" no segmento de soluções de negócios com um processador poderoso.
Vale ressaltar que, em vez de aumentar a potência, tentamos por um longo tempo configurar o modo de roaming “sem costura” com base na solução Ubiquity, mas, infelizmente, o módulo Wi-Fi que precisávamos “recusou” para suportá-lo, mas o iPhone funcionou perfeitamente, movendo-se entre vários pontos de acesso.


Depois de coletar “dez” robôs e lançar o servidor de monitoramento e controle, em novembro de 2018, fomos ao Kickstarter com o projeto Isotopium Chernobyl . Nem percebemos que dezenas de milhares de pessoas experimentariam nosso jogo em breve.
Leia sobre o nosso futuro artigo e por que quase encerramos o projeto em nosso próximo artigo: Jogo online com modelos de RC controlados pela Internet
