Roadshow da IoT da Intel ou realidade virtual no mundo real
De 27 a 28 de junho de 2015, uma maratona hacker foi organizado pela Intel, onde o SenseDrive projeto ficou em segundo lugar. Durante a apresentação, nossa equipe olhou um pouco para o futuro e demonstrou como expandir as capacidades humanas, mergulhando em um espaço virtual conectado à Internet das coisas.

Um pouco de fundo
Tudo começou com a conferência DevCon 2015 , onde me familiarizei com os recursos da tecnologia RealSense e, durante o hackathon noturno, tive a sorte de avaliar os recursos da câmera e do RealSense SDK. Meu primeiro desejo foi conectar a câmera aos óculos de realidade virtual para ver minhas mãos "virtuais". No entanto, não consegui encontrar programadores gratuitos do Unity e designers 3D naquele hackathon. Portanto, depois de nos unirmos a um cara do Vietnã, conseguimos estudar o SDK e os recursos de trabalhar com a câmera o suficiente para demonstrar um programa simples que ajuda os programadores a carregar os olhos e garante que o programador não "brinque" com isso. Eu também aprendi que em uma semana em São Petersburgo haverá outro hackathon usando essa tecnologia.Então, agora eu já tinha uma semana para me preparar. Fiquei interessado na minha ideia pelo colega Dmitry Postilgu, que esboçou uma interface tridimensional mãos-livres para o Windows Phone no Unity. E, naquele momento, eu estava desenvolvendo a capacidade de transferir dados sobre a posição das mãos em um smartphone.Essa tarefa não foi trivial, pois o RealSense requer um processador muito poderoso e USB 3.0, que por razões óbvias estavam ausentes em nosso smartphone. Eu tive que escrever um plug-in para o Unity, que implementa um servidor no telefone e um aplicativo cliente para PC que transfere pacotes de dados processados para o telefone, o que nos permitiu “conectar” várias câmeras a futuros óculos virtuais ao mesmo tempo para determinar com mais precisão a posição das mãos.O resultado foi uma arquitetura bastante flexível na qual não houve diferença perceptível para o Unity: se os dados da câmera vão direto (no caso em que o aplicativo é implantado em um PC) ou via Wi-Fi (no caso em que o aplicativo é implantado em um smartphone). Olhando para o futuro, foi essa arquitetura que nos salvou durante a apresentação no último hackathon.A semana acabou sendo muito pouco tempo para criarmos um protótipo de mãos virtuais, pois estávamos envolvidos no projeto em nosso tempo livre a partir do trabalho principal. Eles escreveram o projeto mesmo à noite, enquanto viajavam de trem de Minsk a São Petersburgo. Como resultado, conquistamos o primeiro lugar .
Também no segundo hackathon, descobri o próximo Intel IoT Roadshow em um mês e conheci Maxim Massalsky da Robot Kitchen- Laboratório de Robótica de Minsk. Com ele, decidimos finalmente unir o mundo virtual e o real.Para demonstrar esses recursos, Maxim montou um robô com uma câmera em movimento, que conectamos à placa Intel Edison no hackoton. Maxim lançou o Wi-Fi e transmitiu um fluxo de vídeo da câmera do robô para a rede. Desenvolvemos um sistema de comandos de controle e nos tornamos um robô no qual você pode "se mudar" da realidade virtual.O robô transmite o que vê através da câmera de vídeo: o fluxo da câmera lançada na Intel Edison diretamente nos óculos virtuais, e a realidade virtual transfere a posição da cabeça e o comando das "alavancas de controle" virtuais para o robô. Conseguimos criar um "efeito de presença" nos óculos do usuário na cabine de controle do avatar do robô. Ao mesmo tempo, o usuário não só podia usar as mãos (sem mouse, teclado ou fios) para indicar aonde o robô deveria ir, mas também virar a cabeça para os lados, enquanto o robô obedientemente executava a mesma coisa girando a câmera.Um avatar de robô é, obviamente, ótimo, mas não está totalmente claro o que é bom. Portanto, um robô não foi suficiente para nós. Mesmo antes do hackathon, tivemos uma pequena sessão de brainstorming para descobrir como transmitir melhor e mais claramente a utilidade da tecnologia ao júri. Não havia necessidade de procurar exemplos por um longo tempo; havia muitos (alguns deles podem ser encontrados na descrição do projeto), mas não há muito o que fazer em 24 horas, por isso foi decidido escolher dois tipos:- Desligar um aparelho elétrico (afinal, ninguém quer que sua casa queime porque o ferro ou o fogão foram interrompidos às pressas quando foi ligado);
- . , , , :) , , … , - .
O econômico Maxim trouxe consigo vários servos e relés, e o resto foi decidido procurar no local.Como um aparelho elétrico que pode queimar um apartamento, usamos uma chaleira elétrica. Com isso, fomos ajudados por Evgeny Tkachevsky, um cara da Video Wings que estava interessado em nosso projeto e ele trouxe uma chaleira de casa na manhã do segundo dia.O alimentador de gatos foi projetado em papel em um trem a caminho de São Petersburgo, um modelo de computador foi desenhado e impresso em uma impressora 3D assim que chegou. Mas com a busca pelo gato, tudo ficou mais complicado. Como não havia gatos nas proximidades do local, pegamos emprestado um ursinho de pelúcia de um dos especialistas da Intel.
Devo dizer que o projeto despertou grande interesse, mesmo na fase de testes. Ainda assim, não é todo dia que você vê um programador com os olhos fechados em uma caixa branca, agitando as mãos na frente de um laptop e parado ao lado de um robô em um suporte, girando as rodas para frente e para trás e acenando com a cabeça ... Alguns espectadores tiveram até a sorte de se testar como um motorista de robô.
Apresentação
Infelizmente, no momento da apresentação, a Internet estava completamente, não era mais possível falar sobre qualquer transferência de dados sobre a posição das mãos e, mais ainda, sobre a transmissão de vídeo em fluxo contínuo da câmera do robô. Nos últimos segundos antes do lançamento, foi decidido descarregar o fluxo de dados o máximo possível, deixando apenas os comandos de controle do robô e desatando completamente os óculos virtuais. Tivemos que demonstrar a versão para PC do projeto, na qual era impossível virar a cabeça e ver através dos olhos de um robô. Só podíamos controlar o robô, o bule e o alimentador com a ajuda de mãos virtuais, observando por cima dos ombros os movimentos do robô, a chaleira desligando e a comida vazando. E, finalmente, para aqueles que desejam, nos oferecemos para medir os óculos e nos sentir pelo menos por um momento no mundo virtual.
Por que realidade virtual?
Infelizmente, devido a dificuldades técnicas, não conseguimos transmitir a idéia principal do projeto - como o controle do mundo virtual é diferente de apenas clicar nos botões da tela com o mouse . E tudo é realmente simples, é mais conveniente para alguém clicar no mouse, alguém para cutucar um dedo na tela, alguém para escrever no console, a realidade virtual possibilita a interação com o mundo real usando ações e gestos familiares ao corpo humano, o que permite executar várias ações ao mesmo tempo familiares a uma pessoa.
Por exemplo, na implementação atual, você pode fazer o robô ir direto com uma mão, girá-lo levemente para a direita com a outra e virar a cabeça e ver o que acontece à esquerda. Certamente, muitos motoristas tiveram que segurar o volante com uma mão, falar ao telefone com a outra e olhar periodicamente para o lado para ver se havia algum pedestre na curva. É o mesmo aqui. Bem, como um bônus no mundo virtual, uma pessoa pode ter "além da capacidade", como super-heróis. Por exemplo, para mudar de um robô para uma chaleira ou um alimentador, fiz passes com as mãos, o que levou ao movimento de objetos tridimensionais neste mundo, como os Jedi ... Havia uma ideia de liberar a bola de fogo da minha mão e, assim, desligar o robô, mas decidi que era demais.Isso não é liberdade? Liberdade de movimento, liberdade de pensamento, liberdade de ação, liberdade de fantasia ...Mas isso não é tudo. Nem sempre é conveniente para uma pessoa controlar sozinho um objeto complexo. A implementação atual do projeto permite que várias pessoas gerenciem simultaneamente várias partes do mesmo dispositivo. Você não precisa ir longe para obter exemplos. Dois usuários podem se conectar ao tanque do robô, um controlará o movimento do tanque na superfície e o segundo neste momento girará a torre do tanque e terá acesso para controlar o focinho. Imagine como seria um jogo de batalha de tanques com sua implementação ?!Do ponto de vista da produção, agora não há necessidade de gastar muito dinheiro na fabricação de teclados, mouses, joysticks ou outros manipuladores adequados. Basta desenhar um painel de controle e carregá-lo no mundo virtual. E sua aparência depende apenas da imaginação e de necessidades específicas.Qual é o próximo?
No hackathon, nosso objetivo era demonstrar as possibilidades oferecidas pela simbiose da Internet de coisas, robôs e realidade virtual. Agora estamos na fase de orientação do projeto e enquanto as seguintes áreas estão surgindo:- Desenvolvimento de um robô controlado simultaneamente por várias pessoas, protótipo de um robô tanque;
- Adicionando suporte para plataformas Android e IOS no projeto atual;
- Desenvolvimento de um avatar de robô completo, capaz de pegar itens e transmitir uma imagem estéreo de dois olhos;
- SDK . ;
- ;
- , , . .
Source: https://habr.com/ru/post/pt382109/
All Articles