Un proyecto open source aparca el Steam Controller en su base de carga con visión por computador y hápticos

Fuentes: Steam Controller Auto-Charge: an open-source app that docks the controller into its magnetic puck via optical flow

Steam Controller Auto-Charge es una aplicación web de código abierto que guía de forma autónoma un Steam Controller hasta su base de carga magnética. Combina visión por computador basada en flujo óptico con telemetría a través de WebHID para localizar el mando, orientarlo hacia la puck de carga y confirmar que la conexión magnética se ha realizado con éxito.

El sistema utiliza OpenCV.js para rastrear puntos seleccionados por el usuario sobre el controlador y la base, empleando el algoritmo de Lucas-Kanade (calcOpticalFlowPyrLK) en una cámara cenital. Mediante WebHID se conecta de forma nativa al Steam Controller de Triton, monitoriza el Report 67 y dispara pulsos hápticos asimétricos a 70 Hz en los actuadores resonantes lineales (LRA) duales del dispositivo para dirigirlo. A menos de 150 píxeles de la base, la frecuencia de los pulsos se reduce un 50% para suavizar el acoplamiento magnético. Además, intercepta el Report ID 121 (0x79) para confirmar la carga y muestra en pantalla el porcentaje de batería y el voltaje por celda en milivoltios.

El proyecto incorpora detección de obstáculos con una red neuronal convolucional escrita en Rust y compilada a WebAssembly, ejecutada en un Web Worker para no bloquear el bucle principal de seguimiento. La aplicación está construida en Vue 3 y se distribuye bajo licencia MIT. Su única dependencia de compilación es Nix, lo que permite instalarla en Windows, macOS y Linux con un único comando. Para utilizarla se necesita un navegador basado en Chromium con soporte de WebHID y una cámara cenital apuntando al escritorio.