Tutorial · Principiante · 18 min de lectura

Sensores ultrasónicos frente a tiempo de vuelo (ToF) en robótica

Compara sensores de distancia acústicos (ultrasonido) y fotónicos (ToF láser): ventajas, zonas ciegas, calibración, filtrado y montaje para evitar colisiones.

Un sensor de distancia le da a un robot algo que un bumper no puede darle: tiempo para reaccionar antes del contacto. No sustituye al bumper — un interruptor de contacto atrapa la pata de silla negra, el cristal y el obstáculo a la altura equivocada que todo sensor de distancia se pasa por alto. Dos opciones económicas habituales son el sonar ultrasónico y el tiempo de vuelo óptico (ToF). Ambos informan de distancia, pero interactúan de forma distinta con las superficies. Elegir solo por el alcance máximo anunciado produce una evitación de obstáculos frágil.

La pregunta útil es: ¿qué sensor da medidas válidas para los objetivos, la iluminación, la geometría, la tasa de actualización y la distancia de frenado de este robot?

Entiende cómo mide cada sensor

Un sensor ultrasónico emite una ráfaga de sonido por encima del oído humano y mide el tiempo del eco. La distancia es aproximadamente la mitad del tiempo de viaje de ida y vuelta multiplicada por la velocidad del sonido. La división por dos tiene en cuenta el viaje hasta el objetivo y de regreso.

Un sensor de tiempo de vuelo óptico emite luz infrarroja modulada y estima la distancia a partir de la señal que vuelve. Dispositivos como la familia VL53 contienen la temporización y el procesado de señal internamente y normalmente exponen los resultados por I²C.

Sus modos de fallo son distintos:

  • El sonido puede rebotar fuera de objetivos inclinados, blandos, estrechos o absorbentes acústicamente.
  • Varios sensores ultrasónicos pueden oírse entre sí salvo que se disparen con un calendario controlado.
  • Los sensores ópticos pueden tener problemas con objetivos de baja reflectancia, infrarrojo ambiente intenso, diafonía de la cubierta de cristal, u objetivos fuera de su campo de visión.
  • Ninguno de los dos tipos sabe automáticamente si un resultado es fiable; usa los datos de estado y calidad de señal cuando estén disponibles.
Comparación de dos huellas de sensor de distancia. El sensor superior emite un cono ancho que se abre unos treinta grados, con un obstáculo pequeño redondeado dentro del cono pero fuera de la línea central, marcado como lo que se informa en vez de la pared de detrás. El sensor inferior emite un haz estrecho de unos dos grados y medio que llega a la misma pared como un punto pequeño.
Las mismas palabras —«sensor de distancia»— para dos huellas muy distintas. El cono informa de lo más cercano en cualquier punto de su interior; el punto informa de un único sitio y se pasa el resto. Descargar SVG

Elige a partir de la escena y del lazo de control

Los módulos ultrasónicos son útiles cuando el coste importa, los objetivos son razonablemente amplios, y un haz acústico más ancho es aceptable. Pueden detectar objetos transparentes que les dan guerra a algunos métodos ópticos. Su haz también puede informar de una pared cercana que no está directamente delante del robot.

Los módulos ToF son compactos, tienen temporización controlable en muchos dispositivos, y pueden dar una región de interés más estrecha. Varios sensores I²C idénticos pueden necesitar pines de shutdown o una secuencia de asignación de dirección. El sol fuerte y las superficies oscuras hay que probarlos en la plataforma real.

Antes de comprar hardware, escribe cuatro requisitos:

  1. Distancia mínima y máxima útil.
  2. Periodo de actualización requerido.
  3. El obstáculo más pequeño que hay que detectar.
  4. El peor objetivo y entorno: tela negra, cristal, pared inclinada, sol o tráfico cruzado.

Después compara esos requisitos con la hoja de datos del fabricante, no con un resumen de un marketplace.

Monta para la medida que necesitas

Pon el eje de medición donde el robot necesite información de holgura, no simplemente donde encaje una ménsula. Un sensor alto en el chasis puede no ver obstáculos bajos; uno demasiado bajo puede ver reflejos del suelo o la mecánica de las ruedas. Mantén el bumper y el chasis fuera del campo de visión.

Para dirección reactiva, las medidas frontal-izquierda, frontal-centro y frontal-derecha son más informativas que un único haz hacia delante. Sin embargo, tres sensores no tienen que disparar simultáneamente. Programa los pings ultrasónicos por separado y deja tiempo suficiente para que los ecos se apaguen.

El montaje rígido importa. La vibración cambia la dirección de apunte y el movimiento del cable puede corromper conexiones marginales. Si un sensor óptico va detrás de una ventana protectora, sigue el procedimiento de calibración de diafonía del fabricante para ese apilado mecánico exacto.

Calibra el offset y prueba la repetibilidad

Coloca un blanco grande y plano perpendicular al sensor a varias distancias medidas con precisión a lo largo del rango de trabajo. Captura al menos 50 lecturas en cada punto. Registra:

  • distancia media o mediana informada;
  • dispersión, como mínimo/máximo o desviación típica;
  • número de lecturas con estado inválido;
  • condiciones ambientales y material del blanco.

Una diferencia casi constante es un offset y puede corregirse después de entender su causa. Un error que cambia con la distancia necesita un modelo mejor o un rango de confianza más estrecho. No ajustes una curva compleja a una ménsula suelta o a una alimentación mala.

Para un módulo ToF, ejecuta la calibración de offset especificada antes de la de diafonía. Guarda los datos de calibración y cárgalos al arrancar si la API del dispositivo lo exige. Recalibra después de cambiar la cubierta o la geometría de montaje.

Filtra las lecturas inválidas antes de suavizar

Trata un timeout, un código fuera de rango o un estado de baja calidad como inválido —no como cero centímetros. El cero puede ordenar una parada de emergencia, así que convertir errores de comunicación en cero crea un comportamiento inseguro.

Una mediana de las tres o cinco últimas muestras válidas rechaza picos aislados sin promediarlos dentro de la señal de control:

if (measurement.valid) {
  window.push(measurement.distanceMm);
  if (window.size() > 5) window.popOldest();
  filteredDistance = median(window);
}

Un filtro paso bajo da una visualización más suave pero añade retardo. El tutorial de filtrado de sensores explica ese intercambio. Conserva el valor crudo y el estado de validez en los registros para que el filtrado no oculte un sensor que está fallando.

Convierte la distancia en una regla de frenado segura

La evitación de obstáculos tiene que tener en cuenta el movimiento. Un umbral útil incluye la distancia de frenado, el retardo de medición, el retardo de cómputo y actuador, y un margen:

stopThreshold = speed² / (2 × deceleration) + speed × delay + margin

Mide la deceleración alcanzable en la superficie real en vez de suponerla — es el límite de tracción µg, no nada que decidan los motores, y la aritmética desarrollada está aquí. A mayor velocidad el término de frenado crece con la velocidad al cuadrado, así que un umbral fijo de 15 cm no es igual de seguro a cualquier orden.

Usa histéresis para evitar el temblor: entra en el estado de parado por debajo de un umbral y reanuda solo por encima de un umbral mayor. Exige un número pequeño de lecturas válidas consistentes para la dirección normal, mientras conservas una respuesta intencionadamente conservadora ante un obstáculo cercano creíble.

Valida los objetivos difíciles

Construye una matriz de pruebas con una pared plana, una pared inclinada, un poste estrecho, tela oscura, un panel transparente y un obstáculo en movimiento. Prueba cerca del rango mínimo, cerca del umbral de frenado previsto y cerca del rango máximo de operación. Repite bajo luz interior y bajo sol si el robot va a ver ambas.

Mide la tasa de detección y la latencia, no solo la distancia media. Un sensor que es preciso el 90 % del tiempo pero se congela periódicamente medio segundo puede ser inaceptable para un robot rápido.

Diagnostica los fallos habituales

  • Desvío constante en todas partes: verifica el punto de referencia físico y luego aplica la calibración del fabricante.
  • Lecturas ultrasónicas cortas y aleatorias: busca diafonía, ruido eléctrico o ecos tardíos de estructuras cercanas.
  • Las lecturas ToF empeoran detrás de una ventana: haz la calibración de offset y de diafonía para ese material de cubierta.
  • El robot oscila cerca de una pared: añade histéresis y reduce el retardo del filtro antes de reajustar la dirección.
  • Detecta paredes pero se pasa por las patas de silla: la geometría del haz y el montaje no cubren el objetivo requerido.
  • Se para demasiado tarde solo a alta velocidad: la lógica de umbral ignora la distancia de frenado y la latencia.

Usa el Obstacle Avoidance Simulator para experimentar con el alcance, el campo de visión, la dirección y la distancia de frenado antes de pasar los umbrales al hardware.

Explora el grafo

Forma parte de estos montajes

Proyectos y rutas de aprendizaje que incluyen este tutorial.

Lecturas adicionales

Referencias