ShramkoGSFPV

Simulador FPV de código abierto · licencia MIT

Vuela un dron FPV por escaneos 3D reales, directamente en tu navegador

ShramkoGSFPV convierte los escaneos Gaussian Splatting de SuperSplat en lugares por los que puedes volar: rates y PID al estilo Betaflight, paredes contra las que te estrellas de verdad y tu propia emisora por USB o sticks táctiles. Sin instalar nada.

Volar ya, sin instalar

Funciona mejor en Chrome o Edge de escritorio con WebGPU.

  • WebGPU y PlayCanvas
  • Rates contrastados con Betaflight 4.5.1
  • Colisión por barrido de vóxeles
  • Licencia MIT

01Cómo funciona

Tres pasos del escaneo al aire

Sin cuenta y sin descargas. La escena llega en streaming directamente de SuperSplat a tu navegador.

  1. 01

    Elige un escaneo

    Empieza con uno de los escaneos de Andrii o pega el enlace de cualquier escena pública de SuperSplat.

  2. 02

    Conecta tus mandos

    Enchufa una emisora EdgeTX en modo joystick USB (WebHID), usa un mando de consola o vuela con sticks táctiles.

  3. 03

    Calibra, arma y vuela

    Mueve los sticks una vez para calibrar, arma con el acelerador abajo del todo, como en un dron de verdad, y a volar.

02Por qué se siente real

Un dron que se comporta como el que tienes en las manos

Un modelo de vuelo propio, con cuatro motores, un mezclador y un PID de rates, que vuela dentro de la geometría real del escaneo.

  • Las paredes son sólidas

    En cada paso de la física se hace un barrido del cuerpo del dron contra los datos de colisión en vóxeles del escaneo, así que un dron rápido no puede colarse por una pared fina entre dos fotogramas.

  • Un choque es un choque

    Si golpeas algo con fuerza, el dron da vueltas y suelta piezas. Si rozas una pared con suavidad, se desliza a lo largo de ella.

  • Tus rates, al dígito

    Las curvas de rates Betaflight, Actual, KISS y Raceflight coinciden hasta el último dígito con Betaflight 4.5.1 compilado.

  • Repeticiones fiables

    Los vuelos se graban como entradas de los sticks y se reproducen de forma determinista: las mismas entradas dan siempre el mismo vuelo.

  • La gravedad es un ajuste

    Tierra, Luna, Marte o gravedad cero. En la Luna el mismo dron se vuelve nerviosísimo; el interruptor «mantener la relación empuje-peso» lo doma.

Dron por defecto

Clase BetaFPV Pavo20 Pro, 3S

Cada cifra indica de dónde sale.

Distancia entre ejes
93,7 mmfabricante
Motores
LAVA 1104 7200KVfabricante
Peso
70,1 g · 108 g con O3medido por Oscar Liang
Relación empuje-peso
>5:1dato del fabricante
Peso de la batería
≈ 45 gestimación
Tamaño de los ductos
≈ 30 mm de radioestimación

«Clase» significa que las cifras siguen especificaciones y mediciones públicas. BetaFPV no respalda este preset.

03Cifras en vivo

Publicamos nuestras propias cifras porque nadie más publica las suyas.

Cada cifra se lee del archivo de evidencias del repositorio al compilar esta web. Si falta una medición, la compilación falla.

Curvas de rates frente a Betaflight 4.5.1

1880 points, max error 0 deg/s

Método
compiled Betaflight 4.5.1 rate functions vs our re-implementation
Fecha
2026-09-24

Atravesar paredes

0 wall pass-throughs in 200,000 straight passes

Método
swept test at 1 ms ticks vs independent resampling oracle; speeds 5, 10, 15, 25, 34.39 m/s; 3 real scans + 2 cm synthetic wall
Fecha
2026-09-24

Distancia a la pared, Pavo20 Pro

Pavo20 Pro body stops 47.2 mm (median) beyond its own size from walls on the 5 cm voxel collision of scene 39e63ce9

Método
swept approach along 200 directions from 12 points
Fecha
2026-09-24

Latencia stick-pantalla

Limitada por la pantalla

La pantalla de prueba funciona a 30 Hz, así que este resultado lo limita la pantalla y no el simulador. Lo publicamos, pero no es un criterio de aprobación.

La latencia del stick al fotón con una cámara aún no se ha medido.

Frecuencia de salida
28,2 Hz
Mediana
252,5 ms
Percentil 95
295,4 ms
Suelo con página en blanco
65,4 ms
Condiciones:
DaVinci Resolve open on the same GPU (22.4 of 24.5 GB VRAM in use, GPU 20-52 %)
Método:
SendInput F13 (QPC) -> first Desktop Duplication frame whose marker shows that input; stock Chrome, fresh profile; N=220 per mode
Fecha:
2026-09-24

Los valores y métodos se citan tal como aparecen en el archivo de evidencias, en inglés. Archivo de evidencias actualizado el 2026-09-24.

Todas las evidencias en GitHub

04Escaneos de Andrii

Empieza por un lugar real

Tres escaneos de Andrii Shramko que puedes volar y compartir libremente bajo CC BY 4.0.

05Compatible con tu emisora

Qué funciona hoy con tu emisora

Una tabla honesta: nada figura como probado si no lo está, y por ahora eso significa emulación o una emisora simulada.

  • Navegador: Chrome / Edge, escritorio

    Entrada: Emisora EdgeTX (RadioMaster TX16S, Boxer, Pocket, Zorro) como joystick USB mediante WebHID

    Estado: Aún sin probar con hardware real; probado con una emisora EdgeTX simulada

  • Navegador: Chrome / Edge, escritorio

    Entrada: Mando de consola

    Estado: Aún sin probar con hardware real

  • Navegador: Chrome / Edge, escritorio

    Entrada: Mando DJI usado como mando de juego

    Estado: Sin probar

  • Navegador: Safari, iPad, Android

    Entrada: Sticks táctiles

    Estado: Probado en emulación

  • Navegador: Firefox

    Entrada: Emisora o mando

    Estado: Solo para ver escenas: las emisoras necesitan Chrome o Edge (sin WebHID)

¿Tienes una emisora EdgeTX? Un breve informe de prueba ayuda muchísimo: usa el formulario de contacto de abajo o abre una incidencia en GitHub.

06Por qué es mejor

Cómo se compara

Datos a septiembre de 2026. «Desconocido» significa que no pudimos comprobarlo.

Comparativa de ShramkoGSFPV con el visor de SuperSplat, las demos FPV de splats en el navegador y los simuladores FPV clásicos, septiembre de 2026
CaracterísticaShramkoGSFPVPasear por el visor de SuperSplatDemos FPV de splats en el navegador (p. ej., SplatFPV)Simuladores FPV clásicos (mapas fijos)
Lugares escaneados realesCualquier escena pública de SuperSplatSí, de archivo en archivoNo, mapas fijos
Modelo del dron4 motores, mezclador, PID de ratesNinguno: una cámara que camina o vuelaFiltro de rates de primer ordenCompleto
Tus propios ratesBetaflight, Actual, KISS, RaceflightNo aplicaRate máximo fijo más expo
Al chocar con una paredChoque y vueltas de campanaSe desliza por ellaSe para o se deslizaChoque
Origen de la colisiónOctree de vóxeles de SuperSplat, test de barridoOctree de vóxeles de SuperSplatReconstruida al cargar, test de puntosMallas hechas a mano
Entrada de emisoraEdgeTX por WebHID, mando, táctilMandoGamepad APIJoystick USB
Cifras de pruebas publicadasSí, ver Cifras en vivodesconocidodesconocidodesconocido
InstalaciónNingunaNingunaNinguna
Código fuenteMITMITDependeCerrado

Los simuladores clásicos siguen siendo el sitio para entrenar carreras en circuitos hechos a medida. Este proyecto va de volar lugares reales.

07Para tu agente de IA

Deja que tu agente de programación lo instale

Pega esto en Claude Code, Codex, Cursor o cualquier agente de programación. Instala el proyecto, ejecuta las comprobaciones y abre el simulador en local, y solo te pide contraseñas o acciones físicas.

Instrucción
Set up ShramkoGSFPV for me by following https://github.com/AndriiShramko/ShramkoGSFPV/blob/main/AGENT_SETUP.md exactly. Install, run the checks, start the simulator locally and open it in Chrome. Do not change any system settings; ask me only if a step needs my password or a physical action.

Documentación pensada para agentes

  • AGENTS.md

    reglas para los agentes de programación que trabajan en el repositorio

  • AGENT_SETUP.md

    instalación, actualización y desinstalación paso a paso

  • llms.txt

    un resumen breve del proyecto para modelos de lenguaje

08Riesgos y seguridad

Qué puede salir mal

Breve y sincero, para que nada te pille por sorpresa.

  • Los datos de las escenas pueden cambiar sin aviso

    Las escenas se cargan desde la CDN pública, pero no documentada, de SuperSplat. Puede cambiar en cualquier momento y algunas escenas podrían dejar de cargar.

  • Muchos escaneos aún no tienen datos de colisión

    En esas escenas puedes atravesar las paredes, pero no estrellarte contra ellas. Pronto llegará el cálculo de colisiones en el navegador.

  • Mareo

    Los choques y el vuelo rápido pueden marear, así que haz pausas. Los efectos nunca hacen parpadear toda la pantalla y se respeta tu ajuste de movimiento reducido.

  • Un simulador no es un vuelo real

    Practica con responsabilidad, cumple la normativa de drones de tu país y nunca vueles sobre personas.

  • Tus datos se quedan contigo

    La calibración, el historial de vuelos y los favoritos se guardan solo en tu navegador.

09Preguntas frecuentes

Lo que la gente pregunta

¿Cómo puedo volar un dron FPV por un escaneo 3D de Gaussian Splatting?

Abre ShramkoGSFPV en Chrome o Edge de escritorio, elige uno de los escaneos de Andrii o pega un enlace de SuperSplat, conecta una emisora, un mando o usa los sticks táctiles, y luego calibra, arma y vuela. No hay que instalar nada.

¿Puedo usar mi emisora RadioMaster en el navegador?

Para eso está pensado: pon una emisora EdgeTX, como la TX16S, Boxer, Pocket o Zorro, en modo joystick USB y conéctala por WebHID en Chrome o Edge. Por ahora solo se ha probado con una emisora EdgeTX simulada, no con hardware real.

¿Hay algún simulador FPV gratuito que funcione en el navegador?

Sí. ShramkoGSFPV es gratuito y de código abierto con licencia MIT. Funciona con WebGPU en Chrome o Edge de escritorio, sin descargas.

¿Qué escenas de SuperSplat puedo volar?

Cualquier escena pública de SuperSplat, por enlace o por id. Las escenas que traen datos de colisión en vóxeles tienen paredes sólidas; en el resto puedes atravesar las paredes, pero no chocar, hasta que llegue el cálculo de colisiones en el navegador.

¿Funciona en iPad o en el móvil?

Los sticks táctiles solo se han probado en emulación, todavía no en dispositivos reales, y necesitas un navegador con WebGPU. Las emisoras requieren Chrome o Edge de escritorio.

¿La física de vuelo es como la de Betaflight?

Las curvas de rates (Betaflight, Actual, KISS, Raceflight) coinciden hasta el último dígito con Betaflight 4.5.1 compilado, y un PID de rates controla cuatro motores a través de un mezclador. Es nuestro propio modelo de vuelo, no el firmware de Betaflight.

¿Me estrello contra las paredes o las atravieso?

En las escenas con datos de colisión te estrellas: en cada paso de la física se hace un barrido del cuerpo del dron contra los vóxeles, y un banco de pruebas comprueba que el vuelo rápido no atraviesa paredes. El resultado está en Cifras en vivo.

¿Es de código abierto?

Sí, con licencia MIT. El código, las mediciones y las decisiones de diseño están en GitHub. Las fórmulas de Betaflight se reimplementaron; no se copió código GPL.

10Código abierto

Licencia MIT y desarrollo a la vista de todos

El código, las mediciones y cada decisión de diseño están en GitHub. Se agradecen pull requests, informes de prueba con emisoras reales y nuevos escaneos.

Construido sobre el trabajo de otros

  • PlayCanvasMIT

    El motor que renderiza los escaneos y el visor de SuperSplat, cuyo código de colisión incluimos en el proyecto.

  • RapierApache-2.0

    Física determinista para el choque: el dron dando vueltas y sus piezas.

  • BetaflightGPL-3.0

    Las fórmulas de rates y PID se leyeron de Betaflight 4.5.1 y se reimplementaron. No se copió código GPL.

  • SplatFPVMIT

    Un experimento anterior en el navegador que demostró que el FPV entre splats es posible. No se tomó código.

11Contacto

Construyámoslo juntos

Andrii Shramko

Piloto FPV y especialista en Gaussian Splatting 3D, autor y responsable de ShramkoGSFPV.

Siempre abierto a conocer gente interesante y dispuesto a ayudar a equipos a crear proyectos increíbles.

Busco pilotos FPV, estudios de escaneo, fabricantes de drones, inversores y desarrolladores para colaborar, licenciar, integrar o financiar el proyecto. Dime quién eres con un clic.

Propuesta de colaboración

Soy…

0/500

Para enviar, indica quién eres, un correo válido y tu consentimiento.