1 puntos por GN⁺ 2023-11-13 | 1 comentarios | Compartir por WhatsApp

D-POINT: un lápiz digital con seguimiento óptico-inercial

  • D-POINT es un stylus digital de código abierto que logra entrada 6DoF (seis grados de libertad) usando seguimiento por cámara y medición inercial.
  • Ofrece baja latencia, sensibilidad a la presión y precisión submilimétrica; puede usarse sobre cualquier superficie plana y es compatible con webcams de consumo.
  • Este proyecto forma parte de una tesis de licenciatura en ingeniería eléctrica, y su autor espera que al publicar el código y los archivos de diseño como código abierto resulte útil para otras personas.

Diseño

  • Los componentes principales del stylus se fabrican con impresión 3D e incluyen un sensor de fuerza, una batería de ion-litio recargable por USB-C y una placa de desarrollo basada en Arduino para Bluetooth y la lógica.
  • Para la estimación visual de pose, en la parte trasera del stylus se colocan 8 marcadores ArUco impresos.

Estimación visual de pose (VPE)

  • El proceso de VPE consta de 4 etapas principales:
    1. Detección de marcadores: se detectan las esquinas de cada marcador ArUco en el stylus usando OpenCV.
    2. Corrección de rolling shutter: se estima y corrige el efecto del rolling shutter sobre las posiciones observadas de las esquinas usando un modelo simple de movimiento 2D.
    3. Perspective-n-Point (PnP): a partir de estas posiciones de las esquinas, se estima la pose del stylus respecto a la cámara usando el algoritmo PnP.
    4. Transformación de coordenadas: usando la pose calibrada del stylus con respecto a la cámara y a la superficie de dibujo, se calcula la posición y orientación de la punta del stylus respecto a la superficie de dibujo.

Fusión inercial

  • Se usa un filtro de Kalman extendido (EKF) para fusionar las estimaciones de VPE con los datos inerciales del acelerómetro y giroscopio, y se refinan las estimaciones en tiempo real con el algoritmo Rauch-Tung-Striebel (RTS).
  • Para considerar la latencia temporal de los frames de la cámara, se usa un algoritmo de actualización de medición con tiempo negativo.
  • El EKF está implementado con NumPy y Numba, y al usar mediciones inerciales reduce de forma importante la latencia frente al uso exclusivo de la cámara, además de mejorar la precisión y la tasa de reporte en movimientos rápidos.

Opinión de GN⁺

  • D-POINT presenta nuevas posibilidades para el stylus digital mediante un alto nivel técnico y un diseño innovador.
  • Al ofrecerse como código abierto, brinda a las personas interesadas en la tecnología la oportunidad de usarlo y mejorarlo libremente.
  • Esta tecnología es compatible con webcams de consumo y puede usarse sobre cualquier superficie plana, por lo que podría cumplir un papel importante en mejorar la experiencia de usuario.

1 comentarios

 
GN⁺ 2023-11-13
Comentarios de Hacker News
  • Admiración por el proyecto

    "Es un proyecto realmente genial. Hizo realidad algo que yo solo había imaginado. Cuando jugaba Elite: Dangerous, usaba HOTAS (acelerador y joystick operados con las manos) y pedales, pero sentía que podía haber una mejor forma de controlar la nave espacial. Lo que yo quería era mover un modelo de nave en la mano y que la nave del juego se moviera de la misma manera. Este proyecto parece hacer posible algo así. El empuje podría controlarse de forma similar con la otra mano. Estos modelos de entrada nuevos o extraños son realmente sorprendentes, y con una capacidad así la imaginación puede volar libremente."

  • Valor académico del proyecto

    "Este proyecto fue parte de una tesis de licenciatura en ingeniería eléctrica. ¡De un estudiante de pregrado! Si no sacó la nota más alta con este proyecto, entonces no existe la justicia."

  • Una reflexión interesante sobre el futuro de las webcams

    "Es interesante el uso de la webcam. Me pregunto si llegará un futuro en el que la webcam tradicional única de ~78° FOV sea reemplazada por webcams duales (estéreo) tipo ojo de pez. Esas webcams permitirían nuevas interacciones de UX (incluidos gestos con seguimiento ocular), nuevas interacciones con periféricos (como este stylus, o volantes para juegos de carreras), y captura 3D de 180° para videollamadas mucho más flexibles, incluida la presencia en VR. Se está acercando la idea de poder usar todo el espacio 3D frente a la pantalla de la computadora como método de entrada, y la forma en que se usan las webcams se siente como un paso en esa dirección."

  • Reconocimiento de la técnica de compensación de rolling shutter

    "La compensación de rolling shutter está bastante genial, y me pregunto si ya sabían desde el principio que sería un problema, o si se dieron cuenta solo después de construir el sistema."

  • Un enfoque creativo sobre los dispositivos de entrada

    "Me impresiona especialmente la tecnología híbrida. Al explorar 'teclado de laptop... forma de la mano, stylus 3D, touch', se me ocurrieron algunas ideas. Si se le agregaran botones, podría convertirse en un mouse 3D, aunque la cobertura de la cámara podría ser un problema. El cuerpo de una laptop está mayormente vacío (la batería también podría hacerse delgada), y sería posible escribir sosteniendo un stylus con marcadores. Una punta grande podría deslizarse suavemente sobre un teclado ThinkPad y ofrecer espacio para sensores de fuerza menos densos y marcadores adicionales en la punta. Un cable plano de silicón delgado podría ser muy flexible, y yo solo tendría que conectar el stylus a un Arduino. También me pregunto cómo un sensor inercial reconocería algo como un clicker metálico."

  • Entusiasmo por los controladores 6DOF y elogio al aspecto de software del proyecto

    "¡Me encantan los 6DOF! Es un gran trabajo de hardware y visión por computadora para pose, pero dibujar una superficie de software que puede rotar es casi aún más impresionante. Esto podría usarse junto con algún tipo de control de interfaz física de usuario, y podría ser algo como un deslizador con los dedos para lograr el mismo efecto. Parece un buen proyecto para desarrollar habilidades de resolución de problemas. ¡Bien hecho, bravo!"

  • Admiración por el proyecto y un ejemplo práctico del uso del filtro de Kalman

    "Es un proyecto muy genial. La documentación ayuda. ¡Es un buen ejemplo práctico del uso de un filtro de Kalman!"

  • Admiración por el proyecto y deseo de construirlo personalmente

    "¡Es un proyecto realmente impresionante! Me encanta, de verdad quiero intentar construir uno."

  • Posibles aplicaciones en robótica/VR y preguntas técnicas

    "¡Está buenísimo! También podría ser útil para robótica/VR. ¿Qué tal el seguimiento de una sola mano usando una webcam? Pregunta: ¿se puede rastrear la presión usando giroscopio + acelerómetro? ¿Al menos un 'tap'? Otra pregunta: ¿cuánto cuesta? En particular, ¿cuánto cuesta el sensor de presión?"

  • Curiosidad por el seguimiento externo con cámara y cierta decepción tecnológica

    "El seguimiento externo con cámara es una idea genial en la que no había pensado. Es una pena que no haya habido un buen trabajo para replicar de forma barata la tecnología Lighthouse que usan Valve/HTC."