VicoVR - as sutilezas do desenvolvimento de um controlador russo para realidade virtual móvel
O 3DiVi lançou recentemente seu projeto VicoVR no local de crowdfunding IndieGoGo, onde planeja arrecadar US $ 75.000.
Minhas perguntas foram respondidas pelo diretor técnico do 3DiVi, Andrey Valik.
O VicoVR é um sensor para realidade virtual móvel. Podemos dizer que este é um sensor 3D com processamento embutido de mapas de profundidade, que transfere dados prontos via Bluetooth para um smartphone ou qualquer outro dispositivo, transferindo seu corpo para a realidade virtual.Conte-nos mais sobre o produto.
Na parte do hardware, o sensor consiste em um sensor 3D (usamos o módulo OEM Orbbec) e um controlador para processar o mapa de profundidade recebido do sensor e transmitir dados para o smartphone.O software consiste em duas partes:firmware, que roda no controlador do sensor. Aqui, o principal valor é o software que nosso middleware contém para processar mapas de profundidade, selecionar segmentos de pessoas, selecionar esqueletos e reconhecer gestos. Desenvolvemos middleware há mais de quatro anos.A parte do cliente, que é executada em um smartphone, na verdade recebe dados e os transfere para o aplicativo principal.Assim, removemos o processamento pesado do mapa de profundidade do smartphone, liberando todos os seus recursos para trabalhar com VR. Trabalhamos duro e continuamos trabalhando para reduzir a latência no processamento e transmissão de dados. Muito trabalho foi feito para otimizar e compactar dados ao transmitir via Bluetooth.Quais são seus objetivos ao iniciar uma campanha de crowdfunding?
Estabelecemos dois objetivos:- sondar o mercado e descobrir o interesse das pessoas em uma solução semelhante para Mobile VR.
- coletar encomendas e arrecadar fundos para iniciar a produção de sensores.

Qual é a diferença do Microsoft Kinect?
O princípio físico do sensor é o mesmo, mas todo o processamento do mapa de profundidade é transferido para o próprio sensor. Assim, liberamos o dispositivo host do processamento de mapas de profundidade e reconhecimento de gestos, deixando todos os recursos para a aplicação final. Além disso, temos uma interface sem fio para se comunicar com o dispositivo host.Também nos concentramos em otimizar nosso middleware para plataformas ARM, que são mais eficientes em termos de energia do que as soluções de desktop, mais baratas e mais compactas, o que nos permite processar dados em tempo real no controlador interno. Além disso, a Microsoft não posiciona o Kinect como um sensor para aplicativos de RV.E por que você decidiu se concentrar na realidade virtual móvel?
Vemos o futuro na realidade virtual móvel, e não nas soluções VR de desktop.As vantagens da plataforma VR móvel sobre as soluções VR de desktop pesadas são as seguintes:- barato
- falta de fios
- atualização contínua de smartphones e aproximação gradual de seus recursos às soluções de desktop
- aumento da participação no mercado de aplicativos para jogos móveis
No momento, o Google lançou o anúncio de uma plataforma de software para realidade virtual móvel Daydream. Esta plataforma será lançada neste outono e, de fato, será a próxima atualização do Android para smartphones compatíveis com essa plataforma.Essa plataforma aproximará a qualidade da realidade virtual móvel da qualidade das soluções de desktop em termos de minimização de atrasos e conforto. O VicoVR será um ótimo complemento para o Daydream ...Você conduziu todo o desenvolvimento ou recorreu a empresas de terceiros?
O design da carcaça do sensor foi desenvolvido para nós pela Innozen Design, e o resto é por conta própria.Para hardware, recebemos suporte da Samsung - eles estavam interessados em nosso projeto e, como resultado, criamos um controlador em um processador Exynos.
Produção e montagem onde acontecerá?
A produção e montagem serão realizadas na China e Taiwan. A montagem final, o teste e a embalagem serão realizados na Foxconn em Taiwan. Esta empresa está consolidando a produção da maioria dos sensores 3D no mercado. Para projetos iniciantes como o nosso, eles produzem os primeiros lotes de teste em Taiwan na empresa-mãe e, à medida que o volume de produção aumenta, eles o transferem para outros países.As placas de circuito impresso são fabricadas, montadas e testadas em Taiwan pelos parceiros da Foxconn. As peças da caixa são fabricadas na China.Conte-nos sobre os primeiros protótipos.
Começamos com protótipos usando sensores Asus Xtion e placas de depuração Odroid U3, a primeira demonstração foi feita no MWC em março de 2015. Depois disso, começamos a desenvolver nosso controlador. Em outubro de 2015, a primeira revisão do protótipo já foi lançada em nosso controlador. Até o momento, sem um caso, na forma de uma placa separada
Em dezembro, eles fizeram um caso e uma segunda revisão do controlador, reuniram a primeira amostra e o demonstraram na CES 2016. No momento, a terceira revisão do controlador com um coprocessador está sendo testada para autorizar a conexão com o iOS, aparentemente esta é a revisão final, que entrará em produção em massa se não houver problemas com as certificações de compatibilidade eletromagnética.Fizemos dois modelos de casos, um de uma liga de zinco e alumínio, o segundo contém elementos parcialmente plásticos por mais barato. No momento, estamos testando ambos.Que dificuldades você enfrentou no processo de design? O que passou por mudanças significativas?
Havia todos os tipos de dificuldades, é bom quando estão, caso contrário, seria chato viver :) A primeira dificuldade que encontramos foi a busca de fabricantes russos que podem fazer uma placa de circuito impresso de complexidade tão complexa quanto a nossa.A complexidade tecnológica da placa é determinada pelos componentes utilizados - estes são chips no pacote BGA: PMIC com um passo de 0,4 mm e SoC (Samsung Exynos) com um passo de 0,5 mm. Esses casos envolvem o uso de placas de circuito impresso HDI (High Density Interconnection) PCB com uma alta densidade de interconexões.Esta tecnologia utiliza vias cegas e enterradas. Sua peculiaridade reside no fato de que eles não são executados em toda a placa de circuito impresso, mas apenas na profundidade de várias camadas. Os furos “cegos” conectam uma das camadas externas às internas (executadas por um laser) e os “ocultos” conectam a topologia entre as camadas internas, eles não têm acesso às camadas externas (dependendo do diâmetro e profundidade, são executados por laser ou perfuração convencional) .Esses tipos de orifícios impõem uma limitação à espessura dos dielétricos - a profundidade do orifício não pode exceder seu diâmetro. A espessura dielétrica entre as camadas de metalização, por sua vez, afeta a configuração dos caminhos de alta velocidade (no nosso caso, é DDR3). Com um dielétrico fino, esses caminhos devem ter uma largura pequena (no nosso caso, até 79 μm) para garantir a impedância necessária. Além disso, é necessária uma pequena largura de condutores para produzir as conexões entre os blocos Exynos - temos 65 mícrons. As lacunas entre os elementos de topologia na área de rastreio do Exynos e a RAM são as mais graves e atingem 65 mícrons.Para placas HDI, é típica a introdução de vários ciclos de metalização de furos, preenchendo as cavidades dos micro-furos (para a implementação das chamadas vias empilhadas via - compostas). Tudo isso, juntamente com o tamanho pequeno da topologia, requer tolerâncias mais rígidas sobre o posicionamento relativo das camadas, os processos de prensagem de materiais dielétricos finos, os processos de ataque químico e deposição de cobre na folha e a aplicação de um revestimento de acabamento nas pastilhas de contato.Um dos fabricantes da Federação Russa concordou em executar o trabalho necessário, mas depois começou a apresentar requisitos para refazer a placa de circuito impresso para reduzir a complexidade, fizemos várias iterações, que levaram quase 2 meses, e, como resultado, decidimos entrar em contato diretamente com os fabricantes chineses. A primeira placa de circuito protótipo foi fabricada na China e, em seguida, a Foxconn nos recomendou seu parceiro de PCB em Taiwan.Instalação de placas de circuito impresso para protótipos e testes durante o desenvolvimento, fazemos em Chelyabinsk no Technocom.Depois, houve problemas com a compra de embalagens para protótipos. Por exemplo, alguns componentes que foram recomendados no devkit da Samsung simplesmente não são entregues na Rússia.Canção separada com liberação alfandegária e picking. Por exemplo, a alfândega liberou um lote de sensores Orbbec por quase um mês.Provavelmente, iremos à China para fazer o próximo desenvolvimento de ferro, onde você poderá reduzir o tempo de desenvolvimento pela metade, apesar da atual “tendência” de substituição de importações e transferência de produção para a Rússia.Como resultado, eles primeiro aumentaram o U-Boot na memória interna do processador e, depois de duas semanas, iniciaram o DDR, até encontrarem na descrição de três mil e meia páginas uma fácil menção de registros especiais de proteção de memória e, pelo método de cutucada científica, encontraram a configuração necessária :)Em seguida, carregaram o kernel e montar uma distribuição mínima baseada no ubuntu.Depois, houve uma longa luta com o controlador bluetooth-wifi e seu firmware.No momento, todos os problemas urgentes de caráter de ferro foram resolvidos, demonstramos sensores em várias exposições. O desenvolvimento está no campo da otimização de software para o nosso hardware.
Conte-nos sobre o recheio, qual processador você usa etc.?
- O processador é usado pela variante Samsung Exynos HEXA 5260 SCP, ou seja, sem memória DDR instalada nele.
- RAM também é Samsung DDR3 dual channel 1GB
- EMMC também é Samsung 4GB
- Módulo Bluetooth-WiFi AP6210.
Como o design foi desenvolvido?
Para o desenvolvimento do design, eles primeiro se voltaram para uma empresa russa, receberam esboços e, de alguma forma, não conseguiram.Em seguida, fomos recomendados pela Innozen Design, recebemos deles esboços de três opções e mais gostamos do conceito Power Crystal.
Agora, exatamente no que você está trabalhando?
Agora estamos trabalhando na otimização de software. Para maximizar os recursos do processador e reduzir o tempo de processamento. Além disso, estão em andamento trabalhos para melhorar a qualidade da esqueletização.Atenção especial merece o desenvolvimento de aplicativos e abordagens de gerenciamento em realidade virtual. No momento, mais de 10 aplicativos foram desenvolvidos para o nosso sensor e VR móvel, alguns são feitos por nós mesmos, outros são nossos parceiros. Você precisa procurar maneiras convenientes, intuitivas e simples de interagir com a RV.O principal problema que os usuários enfrentam é a náusea, agora você pode encontrar o termo doença de realidade virtual. Isso acontece devido à inconsistência de movimentos na RV com movimentos na vida real, ou melhor, nem mesmo movimentos, mas acelerações que atuam no aparelho vestibular humano.Muitos escrevem que isso é muito afetado pelo atraso na transmissão de movimentos e movimentos para a tela do capacete VR. Há quase dois anos, desenvolvemos e testamos várias aplicações para VR com movimentos ativos, que são monitoradas por nosso sensor e concluímos que existem 2 tipos de movimentos em VR:rotação da cabeça. Em nossa experiência, eles devem ser trabalhados rapidamente, com um atraso mínimo, o que, em princípio, é resolvido pelo fato de serem processados no smartphone com base em seus sensores ou com base em sensores de capacete, por exemplo, GearVR. A recentemente anunciada plataforma Google Daydream reduzirá ainda mais esse atraso. É esse atraso que é muito crítico para o conforto em VR, porque sempre há acelerações aqui e você não pode prescindir delas.Deslocamentos lineares. Esses movimentos não são muito críticos, desde que muitas vezes as acelerações estejam ausentes ou sejam coordenadas com as ações humanas. Existem duas opções para evitar o desconforto na RV durante movimentos lineares:Eliminar a aceleração. É possível excluir acelerações - por exemplo, jogos como corredores movendo-se em uma direção a uma velocidade constante ou apenas jogando no lugar sem se mover, ou usando o teletransporte para mover-se em VR.A coordenação dos movimentos humanos na vida real e na RV. Se o cérebro humano recebe informações conflitantes dos órgãos da visão e do aparelho vestibular, surgem náuseas e sensações desconfortáveis. Em nossa experiência, se os movimentos na realidade (provenientes do aparelho vestibular) são consistentes com os movimentos na RV (provenientes dos órgãos da visão), o cérebro compensa facilmente o atraso entre eles e não há sensações desagradáveis. Assim, o principal é transferir movimentos do mundo real para o virtual, embora com um pequeno atraso, da melhor maneira possível. E, tanto quanto possível, para excluir acelerações não previstas em VR.Somos constantemente confrontados com a tarefa de melhorar a qualidade do reconhecimento do esqueleto para reduzir erros de transmissão.Quais são seus planos para o futuro?
Os planos imediatos são coletar um número suficiente de pré-encomendas para a campanha de crowdfunding e iniciar a produção. Até o final do ano, tudo está bem programado1. EVT (Teste de validação de engenharia) 03/2016 - 05/2016, já estamos no final desta fase.- Teste e correção de PCB - Fabricação demoldes- Desenvolvimento de bancos de teste para produção- Montagem de 15 amostras de EVT para teste- Produção de devkits para desenvolvedores2. DVT (Teste de validação de projeto) 05/2016 - 07/2016-Correção de PCB - Correção de imprensa -form- produção de 20 amostras de DTV- início dos procedimentos de certificação, FCC, CE, Laser3. Teste de validação do produto 07/2016 - 09/2016- montagem e teste de 100 amostras de PVT- conclusão da certificação, FCC, CE, Laser4. MP - 11/2016, o primeiro volume 5000pcs.lançamento da produção do primeiro lote de 5000 peças.
No final deste ano, já será necessário iniciar o desenvolvimento da próxima geração do controlador utilizando um novo processador e um novo sensor. Temos ofertas da Asus para usar seu novo módulo de sensor 3D no futuro, e a Samsung apresentou propostas para novas linhas de processadores e também estamos ansiosos pelo lançamento da plataforma Google Daydream para portar nosso SDK e aplicativos.Source: https://habr.com/ru/post/pt394279/
All Articles