Simulador interactivoPrincipiante

Simulador de sensores: calibración y fusión sensorial

Explore ruido, sesgo, deriva, cuantización, pérdidas y filtrado en un simulador de sensores determinista e interactivo para robótica.

Categoría
Sensores
Tiempo
60–150 min
Plataforma
Browser · Microcontroller
Esquema técnico de Simulador de sensores: calibración y fusión sensorialSAMPLE → FILTER → FUSE

01 / Empieza aquí

Introducción

Los robots actúan a partir de mediciones con retraso, sesgo, ruido e incompletas. Este proyecto hace visibles tales limitaciones. Compare la verdad terreno, muestras sin procesar y estimaciones filtradas; modifique condiciones de muestreo y aprenda cómo la calibración influye en el control posterior sin confundir un modelo educativo con un sensor específico.

Live lab / Deterministic measurement model

Robot sensor simulator

Compare a known signal with noisy absolute readings and a filtered estimate. Change one error source at a time to see what calibration can—and cannot—fix.

Browser native
This simulator compares truth, absolute samples, and the selected estimate over time. Use the controls below to run it, or read the theory and algorithm after this lab.

The main plot compares solid truth, individual absolute-sensor samples, and the thicker dashed estimate. The lower band shows signed estimation error around zero; gaps mark dropped absolute samples.

Simulation

Paused. Press Start or Step to collect samples.

Measurement
Reliability & filtering
Truth
—
Absolute
—
Estimate
—
Error
—
RMSE
—
Dropped
0

Keyboard: focus the plot, then use Space to run/pause, N to step, R to reset, and F for full screen.

Controles

Elija una señal real suave o escalonada y ajuste la frecuencia de muestreo, cuantización, ruido aleatorio, deriva, sesgo, pérdidas de lectura y memoria del filtro. Compare las lecturas directas con estimaciones de media móvil, paso bajo, mediana y filtro complementario. Los preajustes permiten recrear de manera determinista comportamientos ruidosos, sesgados o inestables.

Teoría

Todo sensor posee rango de medición, resolución, precisión, ancho de banda, latencia y modos característicos de fallo. La precisión indicada en la hoja de datos describe solo una fracción del sistema; el montaje mecánico, la temperatura, el ruido en la fuente de alimentación, las interferencias electromagnéticas y las propiedades de las superficies suelen predominar en aplicaciones reales.

La fusión sensorial funciona cuando las fuentes aportan información complementaria y sus incertidumbres se modelan de manera rigurosa. Combinar dos lecturas con sesgo sistemático no produce automáticamente la verdad. El procedimiento correcto inicia con la calibración individual, marcas de tiempo precisas, alineación de marcos de coordenadas y validación de calidad de datos.

Gráfica temporal comparando una señal suave real, muestras directas ruidosas dispersas alrededor de ella y una estimación con filtro de paso bajo. La traza filtrada atenúa casi todo el ruido pero sufre un desfase evidente respecto a la señal real durante el flanco de subida.
Un filtro de paso bajo intercambia atenuación de ruido por retardo: suaviza las muestras crudas aproximándose al valor real, pero la estimación queda rezagada en cambios bruscos. Descargar SVG

Algoritmo

  1. Asignar marca de tiempo y comprobar límites de rango a cada muestra en el límite de adquisición.
  2. Convertir unidades crudas aplicando factor de escala, sesgo (offset) y alineación geométrica de ejes.
  3. Rechazar saltos físicamente imposibles o marcarlos como inválidos en lugar de interpolar datos falsos.
  4. Aplicar el filtro digital más liviano que satisfaga el nivel de ruido admisible para la aplicación.
  5. Transformar las mediciones al marco de coordenadas común y fusionarlas según su covarianza e incertidumbre.
  6. Registrar simultáneamente las lecturas sin procesar y las filtradas para reproducir cualquier fallo de calibración.

Código fuente

Un filtro de paso bajo exponencial resulta adecuado cuando su constante temporal se calibra deliberadamente:

class LowPass:
    def __init__(self, alpha):
        self.alpha = alpha
        self.value = None

    def update(self, sample):
        if self.value is None:
            self.value = sample
        else:
            self.value += self.alpha * (sample - self.value)
        return self.value

Guarde la muestra cruda junto con el resultado filtrado. De lo contrario, un gráfico visualmente limpio puede encubrir saturaciones, pérdidas de paquetes o errores sistemáticos de calibración.

Supuestos y diferencias con el hardware físico

Este laboratorio interactivo constituye un modelo didáctico de señales, no la hoja de características de un sensor comercial específico. El ruido se genera de forma determinista (gaussiano o uniforme) con un control ajustable; una IMU o un sensor de distancia ToF real añade sesgos dependientes de la temperatura, picos no gaussianos y jitter en los buses de comunicación que este modelo sintetiza. En el simulador el muestreo es rigurosamente periódico, mientras que en un microcontrolador las variaciones del bucle y las interrupciones hacen indispensables las marcas de tiempo. Todo suavizado aporta un desfase que en un robot físico se traducirá en retraso de control; este equilibrio se analiza en detalle en el tutorial de ruido y filtrado de sensores.

Diagrama de circuito

Compruebe la tensión de bus, requisitos de resistencias pull-up, direcciones I²C y longitud máxima de cable antes de interconectar múltiples transductores.

Diagrama de bloques de un bus mixto de sensores. Un sensor analógico se conecta al controlador mediante ADC, los sensores I²C comparten líneas SDA y SCL, y un sensor SPI usa selector de chip (CS), reloj y líneas de datos. El controlador almacena un registro con marcas de tiempo.
Diversos buses convergen en un único controlador, el cual asigna marcas de tiempo a cada muestra para garantizar trazabilidad y reproducibilidad. Descargar SVG

Experimentos guiados

Los selectores de este laboratorio permiten inducir deliberadamente fallos en los sensores para comprender qué herramienta algorítmica los soluciona. Realizar este proceso de forma práctica supera con creces la lectura pasiva.

1. Demostrar que el filtrado no corrige el sesgo (bias)

Ajuste el ruido a cero y configure un sesgo evidente. Pruebe sucesivamente cada filtro: media móvil, paso bajo y mediana. Ninguno de ellos desplazará la estimación hacia el valor real, ya que todos atenúan la variabilidad y el sesgo es una desviación constante.

Luego, configure el sesgo en cero e incremente el ruido: los mismos filtros responderán con gran eficacia. Esta distinción es fundamental en instrumentación: ruido, sesgo y deriva se manifiestan de forma parecida en una gráfica pero exigen soluciones distintas, y ningún nivel de filtrado corregirá jamás un sesgo.

2. Observar cómo la media propaga un pico que la mediana descarta

Active picos anómalos o pérdidas de lectura y compare una media móvil contra una mediana con la misma longitud de ventana.

Filtro Efecto de una lectura atípica (outlier)
Media móvil de 5 Desplaza la estimación durante cinco muestras consecutivas
Mediana de 5 Se descarta íntegramente sin afectar la estimación

El ruido en sensores ultrasónicos y de tiempo de vuelo (ToF) no suele ser gaussiano: consiste en lecturas anómalas esporádicas sobre una señal mayormente estable. Ese es precisamente el caso que la media promedia de forma deficiente.

3. Cuantificar el coste del desfase temporal (lag)

Cambie a la señal de referencia escalonada y reduzca el parámetro alpha del filtro (o aumente la ventana). La estimación ganará suavidad pero responderá más tarde. Calcule el retardo observado en la gráfica:

Parámetro del filtro Retardo típico A una velocidad de 0.3 m/s representa
Mediana de 3 ~1 muestra 3 mm
Media móvil de 10 ~4.5 muestras 14 mm
Paso bajo, α = 0.1 ~9 muestras 27 mm
Paso bajo, α = 0.02 ~49 muestras 147 mm

La última fila produce una curva sumamente limpia, pero hace que el robot maniobre según la posición en que se encontraba el obstáculo hace 15 cm. Evalúe siempre el retardo en las magnitudes físicas del robot y no solo en muestras de muestreo; este es el error más frecuente al diseñar filtros en robótica.

4. Comprender las posibilidades y límites de la fusión

Configure una fuente con ruido pero sin sesgo y otra suave pero con deriva lenta; compruebe cómo la estimación complementaria extrae las mejores características de cada una. Luego, aplique a ambas fuentes un mismo sesgo y observe cómo la estimación fusionada lo asimila idénticamente.

La fusión explota la independencia estadística de los errores. Un error de modo común persiste intacto, razón por la cual la calibración debe preceder siempre a la etapa de fusión sensorial.

Qué debería observar

Configuración Señal cruda Filtro óptimo Justificación
Ruido gaussiano, sin sesgo Dispersión simétrica Media móvil o paso bajo El promedio converge a la verdad
Picos atípicos esporádicos Mayormente estable, valores anómalos Mediana Rechaza valores atípicos directamente
Desplazamiento constante Agrupada pero errónea Ninguno — calibrar El filtro no detecta desplazamientos fijos
Deriva lenta Inicia correcta y diverge Ninguno — recalibrar o fusionar Requiere una referencia absoluta externa
Pérdidas de lectura (dropouts) Vacíos periódicos Mediana con retención de último valor válido Inventar datos es más perjudicial que marcar el vacío
Cuantización Escalones discretos Ninguno — limitación del ADC Filtrar escalones agrega retardo, no información

Aplicación en hardware físico

Este laboratorio didáctico Un sensor físico real
El muestreo es rigurosamente periódico Las variaciones del bucle y las interrupciones hacen indispensables las marcas de tiempo
El ruido se genera de forma uniforme o gaussiana Picos no gaussianos y deriva térmica del sesgo
La referencia real está disponible para contrastar No se dispone de la referencia absoluta, exigiendo calibración con patrones
Las pérdidas de lectura son explícitas Una lectura errónea puede asemejarse a un dato verosímil
Un único sensor simulado a la vez Múltiples buses, diferentes velocidades y problemas de sincronización

El método práctico ante un sensor físico es directo: mantener el sensor estático ante un estímulo patrón conocido, registrar varios millares de muestras con sus marcas de tiempo y graficar tanto la serie temporal como su histograma. El histograma es la herramienta más reveladora y comúnmente olvidada: el ruido gaussiano produce una campana normal, mientras que las interferencias y lecturas atípicas crean colas ensanchadas, requiriendo filtros radicalmente distintos. El procedimiento completo se describe en el tutorial de ruido, sesgo y filtrado de sensores.

Lista de hardware

Componentes

  • Microcontrolador o computadora de placa reducida
  • Uno o más sensores digitales o analógicos
  • Referencias de calibración conocidas
  • Alimentación regulada estable y niveles lógicos correctos
  • Conexión de registro para experimentos reproducibles

Explora el grafo

Dónde se usa este simulador

Los proyectos, rutas de aprendizaje y tutoriales que se basan en este laboratorio.

Sigue construyendo

Descargar recursos

Usa estas referencias de la página mientras trabajas en el proyecto. Los paquetes descargables del proyecto se añadirán solo cuando se publiquen su código fuente y su versión.

Preguntas comunes

Preguntas frecuentes

¿Una señal más suave es siempre una señal mejor?

No. Un filtrado excesivo puede eliminar movimientos útiles e introducir retardos. Elija un filtro según el espectro de ruido, el tiempo de respuesta requerido y las decisiones de control que consumen la medición.

¿Cuál es la diferencia entre sesgo (bias) y ruido?

El sesgo es una desviación repetible y sistemática respecto al valor real, mientras que el ruido varía de muestra a muestra. La calibración puede estimar el sesgo; promediar o filtrar puede atenuar el ruido aleatorio pero nunca corregirá un sesgo desconocido.

¿Qué es la deriva del sensor y en qué se diferencia del sesgo?

El sesgo es un desplazamiento fijo que se mide una vez y se resta. La deriva (drift) es un cambio gradual en dicho desplazamiento a lo largo del tiempo, causado comúnmente por temperatura o envejecimiento de componentes, por lo que una calibración inicial deja de concordar con la realidad. Por eso las operaciones prolongadas requieren recalibración periódica o una referencia absoluta de corrección.

¿Qué filtro conviene usar: media móvil, paso bajo o mediana?

La media móvil y el filtro de paso bajo exponencial atenúan el ruido gaussiano, intercambiando capacidad de respuesta por suavidad mediante su ventana o constante temporal. El filtro de mediana es superior ante picos espurios y pérdidas de lectura (dropouts), pues unos pocos valores aberrantes no alteran el valor central. Emplee siempre el filtro más ligero que cumpla los requisitos de control.

¿Cuánto retardo introduce el filtrado?

Todo filtro de suavizado introduce un desfase respecto a la señal real, y a mayor suavizado, mayor retardo: un filtro de paso bajo con una constante temporal grande atenúa más ruido pero queda rezagado ante cambios rápidos. Represente siempre la estimación filtrada junto con las muestras directas y la referencia real para evaluar el desfase antes de acoplarlo a un lazo de control.

¿Qué es la fusión sensorial y cuándo resulta realmente útil?

La fusión combina múltiples sensores en una única estimación, y solo funciona cuando los sensores aportan información complementaria y su incertidumbre se modela con rigor. Combinar dos mediciones sesgadas no genera la verdad. Un filtro complementario, por ejemplo, confía en un sensor a altas frecuencias y en otro a bajas frecuencias; comience calibrando, registrando marcas de tiempo y alineando marcos de referencia antes de fusionar.

¿Por qué cada muestra debe incluir una marca de tiempo (timestamp)?

Las muestras rara vez llegan a intervalos estrictamente uniformes, y los algoritmos de fusión y filtrado asumen conocer el instante exacto de medición. Las marcas de tiempo permiten detectar fluctuaciones (jitter), alinear flujos de datos de distintos buses y descartar lecturas obsoletas. Guardar lecturas sin procesar junto a las procesadas permite reproducir anomalías como saturación, pérdidas o errores de calibración.

Lecturas adicionales

Referencias

Fuentes autorizadas para profundizar más allá del modelo educativo acotado de este simulador.