← Índice del curso

Robótica y Automatización · Tema 5

Sensores propioceptivos y exteroceptivos

El robot necesita saber qué pasa en su cuerpo y qué ocurre a su alrededor. Vamos a distinguir esas dos fuentes de información, entender qué puede demostrar cada lectura y combinar observaciones sin confundir una estimación con la realidad.

01 · Punto de partida

Primero la pregunta, después el sensor

Ya tenemos una arquitectura de robot, un entorno de programación y un plan de alimentación. Ahora empieza el bloque de sensores. La primera decisión no es qué componente comprar, sino qué información necesita cada comportamiento.

Para detenerse ante una pared, el robot necesita observar el obstáculo. Para mantener la velocidad de sus ruedas, necesita observar el giro. Para anticipar una pérdida de alimentación, necesita medir su batería. Son preguntas diferentes y ninguna lectura responde automáticamente a todas.

Llamamos propiocepción a la información sobre el estado del propio robot y exterocepción a la información sobre el entorno. Esta distinción aparece en el capítulo de sensores de Elements of Robotics. Nos sirve para detectar qué parte de la situación todavía estamos suponiendo en vez de medir.

02 · Mirar hacia adentro

Medir el propio robot

Un sensor propioceptivo aporta información sobre movimiento, configuración o estado interno. Permite responder preguntas como «¿cuánto giró el eje?», «¿dónde está la articulación?» o «¿qué esfuerzo eléctrico está demandando el motor?».

Ejemplos de observación del estado del robot.
SensorQué observaUsoQué no demuestra por sí solo
Encoder en una ruedaGiro del eje donde está instaladoEstimar velocidad y recorridoDesplazamiento sin patinamiento
Sensor angular de articulaciónÁngulo relativo entre piezasControlar postura de un brazoPosición exacta del extremo sin un modelo geométrico
Sensor de corriente de motorCorriente en su ramaDetectar esfuerzo anormalCausa única del esfuerzo ni fuerza exacta sin modelo
Medición de bateríaTensión o corriente del packSupervisar alimentaciónPorcentaje exacto de carga solo con una lectura de tensión
Sensor térmico del driverTemperatura en su ubicaciónReducir esfuerzo ante calentamientoTemperatura de todas las partes del robot
GiroscopioVelocidad angular del cuerpo sensorEstimar cambios de orientaciónÁngulo absoluto sin deriva al integrar indefinidamente

Los sensores inerciales suelen incluirse en este grupo cuando describen el movimiento del robot. Un acelerómetro mide fuerza específica; su lectura también permite observar efectos de la gravedad según la orientación. No entrega directamente posición ni una inclinación inequívoca durante cualquier movimiento. Lo estudiaremos con más detalle en el tema 8.

La ubicación importa: un encoder antes de una caja reductora observa otro eje que uno instalado en la rueda. Para convertir entre ambos hay que conocer la transmisión y considerar holguras o deslizamientos.

03 · Mirar hacia afuera

Medir el entorno

Un sensor exteroceptivo observa objetos, superficies, señales o contactos externos. Puede detectar una pared, una marca en el suelo, una pieza o una referencia para orientarse.

Ejemplos de observación del entorno.
SensorObservaciónUsoLimitación típica
Sensor de distanciaRespuesta de un objeto en su zona de detecciónSeparación respecto de un obstáculoMaterial, geometría, alcance y zonas ciegas
Reflectivo de líneaLuz reflejada por una pequeña zona del sueloSeguir una marcaAltura, iluminación y reflectancia del fondo
CámaraImagen de su campo de visiónReconocer referencias y objetosOclusión, iluminación y procesamiento
Bumper de contactoContacto externo que lo accionaDetectar colisiónSolo informa después del contacto y en su zona
Sensor de fuerza en una pinzaInteracción con la piezaRegular el agarreDirección, montaje y calibración de la fuerza

Un sensor frontal que no detecta objetos no certifica que todo el espacio esté libre. Puede haber un obstáculo lateral, una superficie difícil de detectar o un hueco por debajo del haz. La decisión debe respetar qué región del entorno está siendo observada.

04 · Vocabulario

Clasificaciones que se cruzan

Propioceptivo y exteroceptivo clasifican qué se observa. Hay otros ejes de clasificación que no deben confundirse con ese criterio.

Activo o pasivo

En percepción robótica, un sensor activo emite energía de sondeo y observa su respuesta, como el ultrasonido o un reflectivo con emisor. Uno pasivo observa energía disponible, como una cámara sin iluminación propia. «Pasivo» no significa que su electrónica no consuma electricidad.

Contacto o sin contacto

Un bumper necesita interacción física. Un sensor óptico puede observar a distancia. Ambos pueden medir el entorno; la diferencia determina cuándo y cómo aparece la información.

También distinguimos interfaces analógicas y digitales. Esa clasificación describe la salida del dispositivo, no la exactitud de su información. Un módulo digital puede entregar una distancia con mucho error; una señal analógica bien adquirida puede ser útil y repetible.

Un mismo dispositivo puede participar en tareas diferentes. En casos fronterizos es más productivo escribir «mide el contacto de la pinza con la pieza» que discutir una etiqueta. La descripción explícita revela qué información llega al controlador.

05 · Del dato al significado

De la señal a la estimación

Un sensor no suele entregar toda la información que necesita el comportamiento. Entre la señal y la decisión hay conversiones y supuestos.

Cadena de percepción de una rueda El encoder produce cuentas. La conversión entrega vueltas del eje. Un modelo con radio y rodadura sin deslizamiento estima el recorrido. La decisión usa ese recorrido, pero debe considerar que el modelo puede fallar. Señal720 cuentasConversión2 vueltasModelo37,7 cm estimadosDecisióncomparar con objetivoSupuestos: 360 cuentas por vuelta de rueda, radio de 3 cmy rodadura recta sin deslizamiento

Si el encoder entrega 360 cuentas efectivas por vuelta de rueda y observamos 720 cuentas, estimamos dos vueltas. Con un radio de 3 cm:

vueltas = cuentas / cuentas_por_vuelta
sencoder = 2 · π · radio · vueltas ≈ 37,7 cm

La conversión de cuentas a giro y la estimación del avance son pasos diferentes. Aunque el giro esté bien medido, el desplazamiento puede ser menor si la rueda patina. La introducción a odometría de Modern Robotics explica cómo estimar movimiento desde ruedas y por qué los errores se acumulan.

«360 cuentas por vuelta» debe incluir la forma de conteo y el eje de referencia. No mezcles pulsos de ficha, flancos de cuadratura y vueltas del motor antes de la reducción. El tema 9 desarrolla esos detalles.

06 · Evaluar una medición

Calidad y límites de una medida

La cantidad de cifras que muestra una lectura no determina cuánto debemos confiar en ella. Conviene separar varias propiedades:

Propiedades distintas que afectan la utilidad de un sensor.
PropiedadPreguntaEjemplo
Rango¿Dónde está especificado su funcionamiento?No usar una distancia fuera de alcance como una medida fiable
Resolución¿Qué cambio pequeño distingue o representa?Una cuenta de encoder o un paso de lectura
Exactitud¿Qué tan cerca queda de una referencia fiable?Indicar 52 cm ante una referencia de 50 cm
Precisión o repetibilidad¿Qué tan agrupadas quedan lecturas repetidas?52,0; 52,1; 52,0 cm puede ser repetible y tener sesgo
Sesgo¿Hay un desplazamiento sistemático?Sumar aproximadamente 2 cm en una condición calibrada
Ruido¿Cuánto fluctúa la observación?Lecturas que varían aunque el objeto permanezca quieto
Campo de observación¿Qué zona realmente observa?Detectar el frente sin observar los laterales

Promediar puede reducir ciertas fluctuaciones, pero no elimina automáticamente un sesgo. También agrega retardo y puede ocultar cambios rápidos. La calibración compara con referencias y ajusta una conversión dentro de condiciones conocidas; no convierte un sensor en válido para cualquier superficie o temperatura.

Un ensayo sencillo usa varias distancias conocidas, lecturas repetidas y distintas condiciones relevantes. Guardá resultados y separá dispersión de error sistemático. Que el sensor repita un número no demuestra que ese número sea correcto.

07 · Un dato situado

Tiempo, ubicación y validez

Una lectura debe describir qué se midió, en qué unidades, dónde y cuándo. El registro puede incluir:

sensor: distancia_frontal
valor_cm: 42.0
valida: verdadero
instante_adquisicion_ms: 1500
referencia: frente del sensor, eje longitudinal del robot

Si el sensor está 5 cm por detrás del paragolpes y mide 20 cm hacia una pared frontal plana, quedan aproximadamente 15 cm desde el paragolpes. Comparar la lectura con un margen definido desde otro punto introduce un error geométrico.

La fecha también importa. A los 1600 ms, la medida anterior tiene 100 ms. A 40 cm/s, el robot podría haber avanzado 4 cm durante ese intervalo. La latencia de adquisición y el período de lectura deben entrar en el análisis de reacción.

Dos sensores adquiridos en momentos diferentes pueden describir situaciones diferentes. Antes de comparar sus números, comprobá validez, antigüedad, intervalo y referencia espacial. En este tema usaremos un modelo estático para aislar esas ideas.

08 · Contrastar evidencia

Dos observaciones del mismo movimiento

Imaginá un robot que avanza recto hacia una pared fija. El encoder permite estimar recorrido desde el giro. Un sensor frontal permite estimarlo desde la reducción de distancia a la misma pared:

sexterno = distancia_inicial − distancia_final
residuo = sencoder − sexterno

Si el encoder estima 37,7 cm y la distancia pasa de 120 a 89,8 cm, el segundo método estima unos 30,2 cm. La diferencia es de aproximadamente 7,5 cm. Ambas observaciones no son coherentes con el modelo de rodadura perfecta.

Eso no demuestra una única causa. Puede existir patinamiento, radio mal calibrado, cambio de orientación, movimiento de la pared o error de distancia. El residuo señala una inconsistencia para investigar; no identifica automáticamente al sensor defectuoso.

Combinar sensores puede aportar información complementaria. Como ejemplo real, la documentación de odometría de iRobot Create 3 distingue sensores crudos de estimaciones combinadas y describe una estimación de deslizamiento que usa varios sensores.

No vamos a promediar directamente cuentas de encoder y centímetros. Primero convertimos a magnitudes comparables y declaramos los supuestos. Una fusión que calcule una estimación conjunta requiere además modelos de error y tiempos compatibles; aquí nos limitamos a contrastar evidencia.

09 · Código ejecutable

Comparar sensores con Python

El ejemplo simula un recorrido recto con radio de 3 cm y dos vueltas. Un deslizamiento didáctico del 20 % significa que el avance es el 80 % del recorrido ideal. El sesgo se aplica solo a la lectura final: representa un cambio de error entre las dos observaciones.

Probalo en el navegador. Podés editar y ejecutar el ejemplo. Python se descarga con Pyodide la primera vez y requiere conexión. No usa hardware real.

from math import pi

radio_cm = 3.0
cuentas_por_vuelta = 360
cuentas = 720
distancia_inicial_cm = 120.0
umbral_residuo_cm = 5.0

recorrido_encoder = 2 * pi * radio_cm * cuentas / cuentas_por_vuelta

casos = [
    ("ideal", 0.00, 0.0),
    ("deslizamiento", 0.20, 0.0),
    ("error final", 0.00, 6.0),
    ("errores que se compensan", 0.20, -6.0),
]

for nombre, deslizamiento, sesgo_final in casos:
    avance_real = recorrido_encoder * (1 - deslizamiento)
    distancia_final = distancia_inicial_cm - avance_real + sesgo_final
    recorrido_externo = distancia_inicial_cm - distancia_final
    residuo = recorrido_encoder - recorrido_externo
    alerta = abs(residuo) > umbral_residuo_cm
    print(f"{nombre}: encoder={recorrido_encoder:.1f} cm; "
          f"externo={recorrido_externo:.1f} cm; "
          f"residuo={residuo:.1f} cm; alerta={alerta}")

Resultados: residuos de 0,0; 7,5; 6,0 y 1,5 cm, respectivamente. Con umbral de 5 cm aparecen alertas en los casos segundo y tercero. En el cuarto hay errores, pero se compensan parcialmente y no activan la alerta.

Un sesgo constante de +6 cm presente tanto en la lectura inicial como en la final se cancelaría en la resta. El código modela un error distinto en la lectura final, no una compensación general de calibración.

10 · Exploración interactiva

Laboratorio: lo que dice la rueda y lo que dice la pared

Modificá el giro de la rueda, el deslizamiento y el error de la lectura final. El laboratorio genera una posición real para el modelo, pero el algoritmo solo compara encoder y distancia. La pared está fija a 120 cm del punto inicial del sensor y el robot mantiene orientación recta.

Observación interna y referencia externa

Constantes: 360 cuentas por vuelta, distancia inicial de 120 cm, edad máxima de 100 ms y umbral del residuo de 5 cm.

Encoder · recorrido estimado—
Distancia · recorrido estimado—
Residuo con signo—
Avance real del modelo—

Ajustá los controles para comparar las observaciones.

Datos observados y referencia simulada.
DatoValor
Cuentas del encoder—
Distancia final medida—
Edad y validez de la lectura final—

El modelo no incluye ruido aleatorio, giros, aceleración ni frenado. El radio es conocido e igual en la simulación y en el cálculo. Si la medida final falta o está vencida, el algoritmo no calcula residuo: conserva la distinción entre «sin discrepancia» y «sin comparación disponible».

Recorrido guiado

  1. Con los valores iniciales, ambos métodos estiman 37,7 cm y el residuo es 0. La distancia final es 82,3 cm.
  2. Subí la pérdida de avance al 20 %: el encoder sigue en 37,7 cm, pero el avance real y el externo quedan en 30,2 cm. El residuo de 7,5 cm activa la alerta.
  3. Con esa pérdida, fijá el error final en −6 cm: el externo estima 36,2 cm y el residuo baja a 1,5 cm. No hay alerta aunque las observaciones tengan errores.
  4. Restablecé y fijá el error final en +6 cm: aparece un residuo de 6 cm sin deslizamiento. La discrepancia no identifica una causa única.
  5. Elegí medida vencida y después sin respuesta: el residuo deja de estar disponible. La falta de datos no confirma el modelo del encoder.
  6. Restablecé y llevá las vueltas a cero: no hay avance y los recorridos son cero. Agregá un error final de +6 cm: el sensor externo aparenta un recorrido de −6 cm, aunque el modelo no se movió.

11 · Método de trabajo

Diseñar un conjunto de sensores

La elección parte de decisiones y fallos que querés observar. Para el vehículo del curso podemos construir esta matriz:

De la pregunta del comportamiento a la medida necesaria.
PreguntaMedida candidataTipoRespuesta ante dato ausente
¿La rueda mantiene su velocidad?Encoder y tiempo transcurridoPropioceptivoNo asumir que la orden se está cumpliendo
¿Hay un objeto delante?Distancia frontalExteroceptivoSolicitar parada si no hay otra observación suficiente
¿La línea sigue debajo?Reflectancia del sueloExteroceptivoPasar al comportamiento de línea perdida
¿La alimentación permite continuar?Tensión bajo carga y supervisión del sistemaPropioceptivoAplicar la política de energía definida
  1. Escribí la pregunta y la condición que debe disparar una acción.
  2. Definí magnitud, referencia espacial, rango y calidad necesarios.
  3. Calculá la antigüedad máxima que puede tolerar esa decisión.
  4. Comprobá montaje, alimentación e interfaz disponibles.
  5. Probá límites, condiciones difíciles y pérdida de lectura.
  6. Registrá supuestos: qué se mide directamente y qué se estima.

Más sensores no garantizan mejor percepción. Pueden compartir fallos, observar mal una región o competir por tiempo de lectura. La información adicional debe resolver una necesidad concreta y tener un tratamiento explícito cuando falla.

12 · Comprensión

Confusiones frecuentes

«Propioceptivo significa que está adentro de la carcasa»

La clasificación depende de la magnitud observada. Una cámara interna que mira el exterior sigue aportando información del entorno. Un sensor externo que mide una articulación puede aportar estado propio.

«El encoder mide centímetros recorridos»

Mide eventos asociados al giro. Los centímetros se estiman usando conteo, transmisión, radio y un modelo de contacto con el suelo. Una rueda que patina rompe parte de ese modelo.

«Una lectura digital es exacta»

Digital describe cómo se representa o transmite la información. No elimina sesgo, ruido, latencia ni errores del fenómeno físico medido.

«Si dos sensores coinciden, el resultado es verdadero»

Pueden compartir un error o tener errores que se compensan. La coincidencia es evidencia condicionada por los modelos y referencias, no una garantía universal.

«Sin respuesta significa que no hay nada»

Significa que falta una observación utilizable. Puede haber una causa ambiental o una falla. La respuesta del comportamiento debe definirse, sin convertir la ausencia en una distancia inventada.

«Promediar siempre mejora el control»

Puede reducir cierto ruido, pero agrega retardo y no corrige necesariamente un sesgo. Evaluá la respuesta temporal y el error que querés reducir antes de aplicar un filtro.

13 · Práctica guiada

Predecí antes de comprobar

1. Clasificar por lo observado

Clasificá: encoder de rueda, sensor de línea, tensión de batería, bumper frontal y sensor de ángulo de una articulación. ¿Un final de carrera siempre pertenece al mismo grupo?

Ver solución

Encoder, batería y ángulo de articulación aportan estado propio. Línea y bumper aportan información del entorno. Un final de carrera puede observar un límite interno o un contacto externo: hay que describir su función en el montaje.

2. Recorrido desde cuentas

Una rueda de radio 3 cm entrega 360 cuentas efectivas por vuelta. Se registran 1080 cuentas. ¿Qué recorrido estima la rodadura ideal?

Ver solución

Son 1080 / 360 = 3 vueltas. El recorrido ideal es 2 × π × 3 × 3 ≈ 56,5 cm. Es una estimación de avance, no una prueba de que no haya patinado.

3. Detectar una inconsistencia

El encoder estima 50 cm y la distancia a una pared fija pasa de 100 a 60 cm. Con umbral de residuo de 5 cm, ¿hay alerta? ¿Podés afirmar que patinó?

Ver solución

El recorrido externo es 40 cm; el residuo es 50 − 40 = 10 cm. Hay alerta porque su magnitud supera 5 cm. No basta para afirmar patinamiento: también hay que revisar calibración, referencia, orientación y validez de las medidas.

4. Precisión y exactitud

Una referencia está a 30 cm y el sensor informa 33,0; 33,1 y 33,0 cm. ¿Qué problema sugerís investigar?

Ver solución

Las lecturas están agrupadas, pero alejadas de la referencia. Hay buena repetibilidad en esa condición y un posible sesgo de unos +3 cm. Promediarlas no elimina ese desplazamiento sistemático.

5. Una lectura vieja

El robot avanza a 30 cm/s y una lectura tiene 200 ms de antigüedad. ¿Cuánto podría haber avanzado desde la adquisición? ¿Podés tratar la distancia como actual?

Ver solución

30 × 0,2 = 6 cm. La antigüedad puede ser relevante para la decisión. No se debe tratar como actual sin considerar movimiento, latencia y tolerancias del comportamiento.

6. Elegir observaciones complementarias

Querés que una pinza cierre sobre una pieza sin exceder su recorrido ni apretarla demasiado. ¿Qué dos preguntas diferentes necesita responder?

Una solución posible

Necesita conocer la configuración o límite de cierre y la interacción con la pieza. Un sensor de posición y uno de fuerza o contacto aportan evidencias complementarias. La corriente puede ayudar a estimar esfuerzo, pero no se convierte en fuerza exacta sin considerar motor, transmisión y fricción.

14 · Síntesis

Ideas para recordar

  • Los sensores propioceptivos describen el estado del robot; los exteroceptivos observan el entorno y sus interacciones.
  • La función y la magnitud observada definen la clasificación, no el lugar de la carcasa donde está el sensor.
  • Señal, magnitud convertida y estado estimado son niveles diferentes de información.
  • Resolución, exactitud, repetibilidad, sesgo, ruido y rango no significan lo mismo.
  • Una medida necesita unidades, referencia, validez y tiempo de adquisición.
  • El encoder observa giro; convertirlo en desplazamiento requiere supuestos de geometría y rodadura.
  • Una discrepancia entre sensores permite investigar, pero no identifica por sí sola una causa.
  • Diseñá las observaciones desde las preguntas del comportamiento y probá también datos ausentes o vencidos.

¿Listo para el tema 6?

Antes de avanzar, elegí un robot y escribí tres preguntas sobre su estado propio y tres sobre su entorno. Proponé una medida para cada una y explicá qué todavía tendrías que suponer para tomar una decisión.

En el próximo tema estudiamos sensores de distancia: ultrasonido, infrarrojos y tiempo de vuelo, con sus alcances, ruido y zonas ciegas.