VicoVR: las sutilezas del desarrollo de un controlador ruso para realidad virtual móvil

3DiVi presentó recientemente su proyecto VicoVR en el lugar de crowdfunding IndieGoGo, donde planea recaudar $ 75,000.


Mis preguntas fueron respondidas por el director técnico de 3DiVi, Andrey Valik.


VicoVR es un sensor para realidad virtual móvil. Podemos decir que este es un sensor 3D con procesamiento de mapas de profundidad incorporado, que transfiere datos ya preparados a través de Bluetooth a un teléfono inteligente o cualquier otro dispositivo, transfiriendo así su cuerpo a la realidad virtual.



Cuéntanos más sobre el producto.


En la parte de hardware, el sensor consta de un sensor 3D (utilizamos el módulo OEM de Orbbec) y un controlador para procesar el mapa de profundidad recibido del sensor y transmitir datos al teléfono inteligente.

El software consta de dos partes:
firmware, que se ejecuta en el controlador del sensor. Aquí, el valor principal es el software que contiene nuestro middleware para procesar mapas de profundidad, seleccionar segmentos de personas, seleccionar esqueletos y reconocer gestos. Llevamos más de cuatro años desarrollando middleware.

La parte del cliente, que se ejecuta en un teléfono inteligente, en realidad recibe datos y los transfiere a la aplicación superior.

Por lo tanto, eliminamos el procesamiento pesado del mapa de profundidad del teléfono inteligente, liberando todos sus recursos para trabajar con VR. Hemos trabajado duro y seguimos trabajando para reducir la latencia en el procesamiento y la transmisión de datos. Se ha trabajado mucho para optimizar y comprimir datos cuando se transmite por Bluetooth.

¿Cuáles son tus objetivos al comenzar una campaña de crowdfunding?


Nos fijamos 2 objetivos:
  • investigue el mercado y descubra el interés de las personas en una solución similar para Mobile VR.
  • recolectar pedidos anticipados y recaudar fondos para comenzar la producción de sensores.




¿Cuál es la diferencia de Microsoft Kinect?


El principio físico del sensor es el mismo, pero todo el procesamiento del mapa de profundidad se transfiere al sensor mismo. Por lo tanto, liberamos al dispositivo host del procesamiento de mapas de profundidad y el reconocimiento de gestos, dejando todos los recursos para la aplicación final. Además, tenemos una interfaz inalámbrica para comunicarnos con el dispositivo host.

También nos enfocamos en optimizar nuestro middleware para plataformas ARM, que son más eficientes energéticamente que las soluciones de escritorio, más baratas y más compactas, lo que nos permite procesar datos en tiempo real en el controlador incorporado. Además, Microsoft no posiciona a Kinect como un sensor para aplicaciones de realidad virtual.

¿Y por qué decidiste enfocarte en la realidad virtual móvil?


Vemos el futuro en la realidad virtual móvil y no en las soluciones de realidad virtual de escritorio.

Las ventajas de la plataforma VR móvil sobre las soluciones VR de escritorio de peso pesado son las siguientes:

  • baratura
  • falta de cables
  • actualización continua de teléfonos inteligentes y la aproximación gradual de sus capacidades a las soluciones de escritorio
  • creciente cuota de mercado de aplicaciones de juegos móviles




Por el momento, Google ha lanzado el anuncio de una plataforma de software para realidad virtual móvil Daydream. Esta plataforma se lanzará este otoño y, de hecho, será la próxima actualización de Android para teléfonos inteligentes que admitan esta plataforma.
Esta plataforma acercará la calidad de la realidad virtual móvil a la calidad de las soluciones de escritorio en términos de minimizar los retrasos y la comodidad. VicoVR será una gran adición a Daydream ...

¿Realizaste todo el desarrollo o recurriste a empresas de terceros?


El diseño de la carcasa del sensor fue desarrollado para nosotros por Innozen Design, y el resto es todo por nosotros mismos.
Para el hardware, recibimos soporte de Samsung: estaban interesados ​​en nuestro proyecto y, como resultado, creamos un controlador en un procesador Exynos.



Producción y montaje ¿dónde pasará?


La producción y el montaje se realizarán en China y Taiwán. El ensamblaje final, las pruebas y el empaque se llevarán a cabo en Foxconn en Taiwán. Esta compañía está consolidando la producción de la mayoría de los sensores 3D en el mercado. Para proyectos iniciales como el nuestro, producen los primeros lotes de prueba en Taiwán en la empresa matriz y luego, a medida que aumenta el volumen de producción, lo transfieren a otros países.
Las placas de circuito impreso son fabricadas, ensambladas y probadas en Taiwán por socios de Foxconn. Las piezas de la carcasa están hechas en China.

Cuéntanos sobre los primeros prototipos.


Comenzamos con prototipos con sensores Asus Xtion y placas de depuración Odroid U3, la primera demostración se realizó en el MWC en marzo de 2015. Después de eso, comenzamos a desarrollar nuestro controlador. En octubre de 2015, la primera revisión del prototipo ya se lanzó en nuestro controlador. Hasta ahora, sin un caso, en forma de una placa separada



En diciembre, hicimos el caso y la segunda revisión del controlador, reunimos la primera muestra y lo demostramos en CES 2016. En este momento, la tercera revisión del controlador con un coprocesador se está probando para autorizar la conexión a iOS, aparentemente esta es la revisión final, que entrará en producción en masa si no hay problemas con las certificaciones de compatibilidad electromagnética.

Hemos fabricado dos modelos de cajas, una de aleación de zinc y aluminio, la segunda contiene elementos parcialmente plásticos para que sean más baratos. Actualmente estamos probando ambos.

¿Qué dificultades enfrentó en el proceso de diseño? ¿Qué ha sufrido cambios significativos?


Hubo todo tipo de dificultades, es bueno cuando lo son, de lo contrario sería aburrido vivir :) La primera dificultad que encontramos fue la búsqueda de fabricantes rusos que puedan hacer una placa de circuito impreso de tanta complejidad como la nuestra.

La complejidad tecnológica de la placa está determinada por los componentes utilizados: estos son chips en el paquete BGA: PMIC con un paso de 0.4 mm y SoC (Samsung Exynos) con un paso de 0.5 mm. Estos casos implican el uso de placas de circuito impreso HDI (Interconexión de alta densidad) con una alta densidad de interconexiones.

Esta tecnología utiliza vias ciegas y enterradas. Su peculiaridad radica en el hecho de que no se realizan a través de toda la placa de circuito impreso, sino solo a la profundidad de varias capas. Los orificios "ciegos" conectan una de las capas externas a las internas (realizadas por un láser), y los "ocultos" conectan la topología entre las capas internas, no tienen acceso a las capas externas (según el diámetro y la profundidad, se realizan mediante perforación láser o convencional) .

Estos tipos de agujeros imponen una limitación en el grosor de los dieléctricos: la profundidad del agujero no puede exceder su diámetro. El grosor dieléctrico entre las capas de metalización, a su vez, afecta la configuración de las rutas de alta velocidad (en nuestro caso, es DDR3). Con un dieléctrico delgado, estos caminos deben tener un ancho pequeño (en nuestro caso, hasta 79 μm) para garantizar la impedancia requerida. Además, se requiere un pequeño ancho de conductores para generar las conexiones entre las almohadillas Exynos: tenemos 65 micras. Las brechas entre los elementos de topología en el área de rastreo Exynos y la RAM son las más severas y ascienden a 65 micras.

Para tableros HDI, la introducción de varios ciclos de metalización de agujeros, llenando las cavidades de microagujeros es típica (para la implementación de la llamada vía apilada - vías compuestas). Todo esto, junto con el pequeño tamaño de la topología, requiere tolerancias más estrictas en las posiciones relativas de las capas, los procesos de prensado de materiales dieléctricos delgados, los procesos de grabado químico y deposición de cobre en la lámina, y la aplicación de un recubrimiento de acabado en las almohadillas de contacto.

Al principio, uno de los fabricantes de la Federación de Rusia acordó llevar a cabo el trabajo necesario, pero luego comenzó a presentar los requisitos para rehacer la placa de circuito impreso para reducir la complejidad, hicimos varias iteraciones, que finalmente tomaron casi 2 meses, y como resultado decidieron contactar a los fabricantes chinos directamente. La primera placa de circuito prototipo se fabricó en China, y luego Foxconn nos recomendó su socio PCB en Taiwán.

Instalación de placas de circuito impreso para prototipos y pruebas durante el desarrollo, lo hacemos en Chelyabinsk en Technocom.

Luego hubo problemas con la compra de envases para prototipos. Por ejemplo, algunos componentes que se recomendaron en el devkit de Samsung simplemente no se entregan a Rusia.

Canción separada con despacho de aduana y picking. Por ejemplo, la aduana autorizó un lote de sensores Orbbec durante casi un mes.

Es muy probable que vayamos a China para realizar el próximo desarrollo de hierro, donde puede reducir el tiempo de desarrollo a la mitad, a pesar de la "tendencia" actual hacia la sustitución de importaciones y la transferencia de producción a Rusia.

Como resultado, primero levantaron el U-Boot en la memoria interna del procesador, luego, durante dos semanas, iniciaron el DDR, hasta que encontraron en la descripción de tres mil quinientas páginas una mención fácil de registros especiales de protección de memoria, y por el método de búsqueda científica encontraron la configuración necesaria :)
Luego, cargaron el kernel y armar una distribución mínima basada en ubuntu.
Luego hubo una larga lucha con el controlador bluetooth-wifi y su firmware.

Por el momento, todos los problemas urgentes de un personaje de hierro se han resuelto, demostramos sensores en varias exposiciones. El desarrollo está en el campo de la optimización de software para nuestro hardware.



Cuéntanos sobre el relleno, ¿qué procesador utilizas, etc.?


  • El procesador es utilizado por la variante SCP Samsung Exynos HEXA 5260, es decir, sin memoria DDR instalada.
  • RAM también es Samsung DDR3 de doble canal de 1GB
  • EMMC también es Samsung 4GB
  • Módulo Bluetooth-WiFi AP6210.


¿Cómo se desarrolló el diseño?


Para el desarrollo del diseño, primero recurrieron a una compañía rusa, recibieron bocetos y de alguna manera no lo engancharon.
Luego, Innozen Design nos recomendó, recibimos bocetos de tres opciones y nos gustó más el concepto Power Crystal.



¿Ahora exactamente en qué estás trabajando?


Ahora estamos trabajando en la optimización del software. Para maximizar los recursos del procesador y reducir el tiempo de procesamiento. Además, se está trabajando para mejorar la calidad de la esqueletización.

Especial atención merece el desarrollo de aplicaciones y enfoques de gestión en realidad virtual. En este momento, se han desarrollado más de 10 aplicaciones para nuestro sensor y VR móvil, algunas las hacemos nosotros mismos, otras son nuestros socios. Debe buscar formas convenientes, intuitivas y simples de interactuar con la realidad virtual.

El principal problema que enfrentan los usuarios es náuseas, ahora a menudo se puede encontrar el término enfermedad de realidad virtual. Esto sucede debido a la inconsistencia de los movimientos en la realidad virtual con los movimientos en la vida real, o más bien ni siquiera los movimientos, sino las aceleraciones que actúan sobre el aparato vestibular humano.

Muchos escriben que esto se ve muy afectado por el retraso en la transmisión de movimientos y movimientos a la pantalla del casco VR. Durante casi dos años, hemos estado desarrollando y probando varias aplicaciones para VR con movimientos activos, que son monitoreados por nuestro sensor y hemos llegado a la conclusión de que hay 2 tipos de movimientos en VR:

rotación de la cabeza. En nuestra experiencia, deben resolverse rápidamente, con un retraso mínimo, que en principio se resuelve por el hecho de que se procesan en el teléfono inteligente en función de sus sensores o en base a sensores de casco, por ejemplo, GearVR. La recientemente anunciada plataforma Google Daydream reducirá aún más este retraso. Este retraso es muy crítico para la comodidad en la realidad virtual, porque siempre hay aceleraciones aquí y no puedes prescindir de ellas.

Desplazamientos lineales. Estos movimientos no son muy críticos, siempre que a menudo las aceleraciones estén ausentes o coordinadas con las acciones humanas. Hay dos opciones para evitar las molestias en la realidad virtual durante los movimientos lineales:
eliminar la aceleración. Es posible excluir aceleraciones, por ejemplo, juegos como corredores que se mueven en una dirección a una velocidad constante o que simplemente juegan en su lugar sin moverse, o usan la teletransportación para moverse en realidad virtual.
La coordinación de los movimientos humanos en la vida real y en la realidad virtual. Si el cerebro humano recibe información contradictoria de los órganos de la visión y del aparato vestibular, surgen náuseas y sensaciones incómodas. En nuestra experiencia, si los movimientos en la realidad (provenientes del aparato vestibular) son consistentes con los movimientos en la realidad virtual (provenientes de los órganos de la visión), entonces el cerebro compensa fácilmente el retraso entre ellos y no hay sensaciones desagradables. Por lo tanto, lo principal es transferir los movimientos del mundo real al virtual, aunque con un ligero retraso, de la mejor manera posible. Y tanto como sea posible para excluir aceleraciones no previstas en VR.

Nos enfrentamos constantemente a la tarea de mejorar la calidad del reconocimiento de esqueletos para reducir los errores de transmisión.

¿Cuáles son tus planes para el futuro?


Los planes inmediatos son recolectar un número suficiente de pedidos anticipados para la campaña de crowdfunding y comenzar la producción. Hasta fin de año, todo está muy estrictamente programado

1. EVT (Prueba de validación de ingeniería) 03/2016 - 05/2016, ya estamos al final de esta fase.
- Pruebas y corrección de PCB
- fabricación de moldes
- desarrollo de bancos de prueba para producción
- ensamblaje de 15 muestras EVT para prueba
- producción de devkits para desarrolladores

2. DVT (Prueba de validación de diseño) 05/2016 - 07/2016
-
Corrección de PCB - corrección de prensa -forma
- producción de 20 muestras de DTV
- inicio de procedimientos de certificación, FCC, CE, láser

3. Prueba de validación del producto 07/2016 - 09/2016
- montaje y prueba de 100 muestras PVT
- finalización de la certificación, FCC, CE, Laser

4. MP - 11/2016, el primer volumen 5000pcs.
lanzamiento de la producción del primer lote de 5000 piezas.



A finales de este año, ya será necesario comenzar a desarrollar la próxima generación del controlador utilizando un nuevo procesador y un nuevo sensor. Tenemos ofertas de Asus para usar su nuevo módulo de sensor 3D en el futuro, y Samsung ha presentado propuestas para nuevas líneas de procesadores. También esperamos el lanzamiento de la plataforma Google Daydream para portar nuestro SDK y aplicaciones.

Source: https://habr.com/ru/post/es394279/


All Articles