Cómo un robot decide qué hacer ante una puerta cerrada
Pip se encuentra con una puerta cerrada
Pip es un pequeño robot del tamaño de una caja de zapatos. Tiene dos ruedas de goma, un parachoques redondo en la parte delantera y dos pequeños "ojos" redondos sobre el parachoques que en realidad son sensores. Su trabajo hoy es llevar una caja de crayones desde la cocina hasta la sala de arte al final del pasillo.

A mitad del pasillo, Pip llega rodando hasta una puerta. La puerta está cerrada. Pip se detiene con su parachoques a unos centímetros de la madera y espera.

Tú sabrías qué hacer de inmediato. Podrías empujar la puerta, tocar o dar la vuelta pasando por otra habitación. Pip no puede hacer nada de eso a menos que alguien le haya indicado cómo. Un robot no tiene ideas propias ni adivina de la manera en que lo hace la gente. Todo lo que hace proviene de instrucciones que una persona escribió de antemano, además de los pequeños datos que capta sobre el mundo que lo rodea.
Así que la verdadera pregunta es qué le dijeron a Pip que hiciera en un momento como este. Al final de esta clase podrás responderlo por ti mismo y aprenderás a predecir los movimientos de Pip antes de que ocurran.
Un programa le dice a un robot qué hacer a continuación
Un programa es una lista de pasos exactos que un robot sigue uno por uno, en orden. Ya conoces algo similar. Una receta para hacer panqueques dice que debes romper los huevos, agregar la leche, revolver y luego verter la mezcla en la sartén. Si viertes antes de revolver, obtendrás panqueques con grumos.

El programa de Pip para el viaje de los crayones se parece mucho a una receta.
- Recoge la caja de crayones.
- Gira para mirar hacia el pasillo.
- Avanza 10 pasos.
- Gira a la izquierda.
- Avanza 5 pasos.
- Deja la caja en el suelo.
Pip hace exactamente lo que dice cada paso, ni más ni menos. Eso hace que los robots sean muy confiables, y también hace que parezca un poco tontos cuando la lista tiene un error.
Imagina que alguien borra el paso 1 por accidente. Pip aún gira, avanza y vuelve a girar, y luego "deja" con cuidado una caja que nunca recogió. Los crayones siguen en la mesa de la cocina. Pip nunca se da cuenta, porque nada en su programa dice que deba comprobarlo.
El orden importa igual de mucho. Si los pasos 3 y 4 intercambian sus lugares, Pip gira primero a la izquierda y luego avanza 10 pasos, directo contra la pared de la cocina. Cada paso era correcto, pero el orden era incorrecto, por lo que todo el viaje salió mal. Las personas que escriben programas pasan mucho tiempo buscando errores como estos. Incluso tienen un nombre para ellos, bugs (errores), que significa fallas ocultas en un programa.

- Versión del programa
- Receta correcta
- Pasos 3 y 4 intercambiados
- Cuadrícula de la habitación vista desde arriba con Pip, una pared y una mesa
- Listo
- Ejecutar programa
- Reiniciar
- Recoge la caja de crayones
- Gira hacia el pasillo
- Avanza rodando 10 pasos
- Gira a la izquierda
- Avanza rodando 5 pasos
- Deja la caja
- Ejecutando
- Objetivo alcanzado
- ¡Colisión con la pared!
- Pared
- Mesa
Los sensores de impacto notan cuando se toca algo
Un programa por sí solo dejaría a Pip ciego. Para averiguar qué sucede a su alrededor, un robot utiliza sensores, que son piezas que detectan algo sobre el mundo, como un toque, un sonido o el nivel de brillo. El dato que un sensor le entrega al robot se llama entrada (o input), que simplemente significa información que entra.
El sensor más sencillo es el sensor de impacto. El parachoques delantero de Pip es una tira curva de plástico sobre un resorte diminuto. Detrás de él hay un pequeño interruptor, como el botón de un timbre. Cuando el parachoques choca contra algo, retrocede unos milímetros y presiona el interruptor. El interruptor envía un pequeño mensaje al cerebro de Pip: "Tequé algo".
- Esquema de corte de un sensor de contacto: un parachoques comprime un resorte y presiona un microinterruptor, lo que envía una señal a la placa de circuitos
- CLIC
- PIP
- mm
Es posible que hayas visto esto en acción en casa. Una aspiradora robot que limpia la cocina rueda debajo de la mesa hasta que su parachoques toca la pata de una silla. Clac. El interruptor hace clic, la aspiradora se detiene, gira un poco y prueba con una nueva dirección. Puede tocar la misma silla tres veces antes de encontrar una salida, pero sigue avanzando sin quedarse nunca atascada empujando contra la pata.

Un sensor de impacto solo le informa al robot sobre algo después de que ya lo ha tocado. Eso funciona para la pata blanda de una silla. No es tan útil cuando lo que está adelante es el pie de una persona o un florero de vidrio, y por eso muchos robots también llevan un sensor que puede sentir lo que hay adelante sin tocarlo.
Los sensores de distancia rebotan sonido y luz para ver hacia adelante
Un sensor de distancia le indica a un robot cuánto espacio libre hay frente a él. Los dos "ojos" redondos de Pip son en realidad uno de estos: un sensor ultrasónico. Un ojo emite un pitido rápido de sonido demasiado agudo para que las personas lo escuchen, y el otro ojo escucha el eco.
El truco funciona como gritar en un gimnasio grande y vacío. Cuando la pared está lejos, tu eco tarda un momento en regresar. Cuando la pared está cerca, regresa casi de inmediato. El sensor de Pip mide el tiempo del eco, y eso le indica a Pip a qué distancia está la pared. Los murciélagos encuentran insectos en la oscuridad de una manera muy similar.
- Sensor ultrasónico que envía ondas de sonido hacia una barrera de madera y recibe ondas de eco
- Sensor ultrasónico de distancia
- Distancia a la barrera
- cm
- Viaje redondo del eco
- ms
- Posición de la barrera
- Distancia de la barrera en centímetros
- Pip
- Pulso
- Eco
Algunos robots usan luz en lugar de sonido. Un sensor infrarrojo emite un haz de luz invisible y mide cuánta cantidad de este rebota. Un objeto cercano refleja mucha luz y uno lejano refleja muy poca.
Muchos robots de juguete usan esto. Coloca tu mano frente a uno y, a medida que tu palma se acerque, el sensor verá cada vez menos espacio vacío. Cuando el espacio se vuelve demasiado pequeño, el juguete retrocede, como si fuera tímido. Nunca te tocó porque "vio" que tu mano se acercaba.

Así es como Pip se detuvo a unos centímetros de la puerta cerrada en lugar de chocar contra ella. Su sensor de sonido notó que el espacio se reducía y dio la orden de que "algo está muy cerca".
Los sensores de luz siguen caminos en el suelo
Algunos sensores apuntan hacia abajo en lugar de hacia adelante. Un sensor de luz mide el brillo de la superficie que se encuentra debajo de él. Un suelo blanco refleja mucha luz y una línea negra gruesa refleja muy poca.
Un coche seguidor de líneas usa esto para conducir a lo largo de un camino dibujado en papel. Imagina una hoja de cartulina blanca con una línea curva negra hecha con marcador, y un pequeño coche con un sensor de luz mirando hacia abajo en la parte delantera. Mientras el sensor ve oscuridad, el coche está sobre la línea y sigue rodando. Cuando la línea se curva y el sensor de repente ve un blanco brillante, el coche sabe que se ha desviado y gira hasta encontrar la línea oscura nuevamente.

Avanza dando pequeños movimientos, hacia la izquierda, luego hacia la derecha y otra vez hacia la izquierda, pero sigue la línea en todo su recorrido. Los robots en algunos grandes almacenes se dirigen de la misma manera, siguiendo franjas o marcas en el suelo para llevar cajas al estante correcto.
- Sensor izquierdo
- Sensor derecho
- Oscuro
- Brillante
Pip también tiene un sensor de luz. Debajo de su panza, vigila la cinta azul que marca el camino hacia la clase de arte. Pip también tiene un pequeño micrófono, que es un sensor de sonido, para poder escuchar un sonido como el de un golpe. Cada sensor nota solo un tipo de cosa, por lo que un robot que necesita saber muchas cosas lleva varios.
Si ocurre esto, entonces haz aquello
Los sensores le entregan datos al robot, y el programa convierte esos datos en acciones. La parte del programa que elige es una decisión, un momento en el que el robot escoge entre dos acciones según lo que sea verdad. Los programadores escriben las decisiones como reglas de tipo si-entonces.
Una regla de tipo si-entonces funciona como una regla que sigues camino a la escuela. Si la luz del semáforo está en rojo, entonces detente. De lo contrario, cruza caminando. Compruebas un hecho y ese hecho determina tu acción.
Los robots de reparto que circulan por las aceras en algunas ciudades usan reglas exactamente así. Cuando uno de ellos llega a un cruce, su programa comprueba el semáforo y los coches que lo rodean. Si el camino no está libre, espera en el bordillo. Si no, cruza rodando. Nadie pulsa un botón por él cada vez, porque la regla se escribió de antemano y está lista siempre que el robot llega a un cruce.

El programa de Pip también tiene reglas. Aquí tienes tres de ellas.
- Si se presiona el parachoques, retrocede un poco.
- Si hay algo a menos de 10 centímetros, detente. De lo contrario, sigue avanzando.
- Si el suelo debajo de mí es azul, sigue la cinta.
Intenta predecir el próximo movimiento de Pip con estas reglas. Pip avanza por el pasillo y un gato se cruza justo en frente, muy cerca. Pip se detiene porque la regla de distancia así lo indica. Ahora el gato se aleja y el camino de en frente vuelve a estar despejado. Pip avanza porque la parte de "de lo contrario" de la regla es ahora la que se cumple.
- El robot Pip y un obstáculo en el piso de un pasillo
- cm
- De lo contrario
- Seguir avanzando
- Si la distancia < 10 cm
- Detener
- Distancia al obstáculo
- Distancia al obstáculo en centímetros
- DETENERSE
Los robots revisan sus reglas una y otra vez, muchas veces por segundo. Así es como logran reaccionar con tanta rapidez cuando algo cambia.
Juntarlo todo para despejar el pasillo
Ahora podemos observar a Pip frente a la puerta cerrada, momento a momento. Cada robot repite el mismo ciclo de tres partes, llamado percibir, pensar, actuar. Percibe el mundo, piensa al revisar sus reglas y luego actúa. Después, vuelve a empezar el ciclo.
Percibir. El sensor de sonido de Pip emite su pitido y el eco regresa de inmediato. La entrada es "hay algo a 3 centímetros".
Pensar. Pip revisa sus reglas. Algo a menos de 10 centímetros significa detenerse. Una segunda regla escrita para las puertas indica que si el camino sigue bloqueado, Pip debe emitir dos pitidos y esperar.
Actuar. Pip se detiene y emite dos pitidos.
Antes de seguir leyendo, adivina qué pasa después. Una niña en el salón de arte escucha los pitidos y abre la puerta.
- El robot Pip frente a una puerta cerrada
- 1. Detectar: Obstáculo a 3 cm
- 2. Pensar: Demasiado cerca para avanzar, emitir un pitido pidiendo ayuda
- 3. Actuar: ¡La puerta se abre!
El bucle empieza de nuevo de inmediato. Pip detecta, y esta vez el eco tarda mucho más en regresar, por lo que el camino está despejado. Pip piensa, y la regla "si no, sigue rodando" ahora se cumple. Pip actúa y atraviesa la puerta rodando. Su sensor de luz encuentra la cinta azul al otro lado, así que sigue la cinta hasta la mesa y deja la caja de crayones, que es el paso 6 de su programa.

Pip nunca tuvo una sola idea ingeniosa propia. Tenía un programa con pasos en el orden correcto, sensores que detectaban la puerta y la cinta, y reglas de condición (si-entonces) que convertían cada nuevo dato en el movimiento correcto. Todos los robots que conoces, desde la aspiradora bajo tu mesa hasta un robot de reparto en el bordillo, funcionan con esas mismas tres cosas.
Fuentes
Fuentes audiovisuales
Preguntas frecuentes
¿Qué es un programa en un robot?
Un programa es una lista de pasos exactos que un robot sigue uno por uno, en orden. Pip hace exactamente lo que dice cada paso, ni más ni menos, lo que lo hace muy confiable pero también un poco tonto cuando la lista tiene un error.
¿Cómo sabe un robot que hay una pared o un obstáculo delante sin tocarlo?
Un sensor de distancia le indica cuánto espacio libre hay frente a él. El sensor ultrasónico emite un pitido de sonido y escucha el eco: si la pared está cerca, el eco regresa casi de inmediato. Así Pip se detuvo a unos centímetros de la puerta cerrada.
¿Qué diferencia hay entre un sensor de impacto y un sensor de distancia?
Un sensor de impacto solo informa al robot sobre algo después de que ya lo ha tocado, como el parachoques que presiona un interruptor. Un sensor de distancia, en cambio, detecta lo que hay adelante sin tocarlo, midiendo el tiempo del eco o la luz reflejada.
¿Cómo sigue un robot una línea negra en el suelo?
Un sensor de luz apunta hacia abajo y mide el brillo de la superficie. Un suelo blanco refleja mucha luz y una línea negra refleja muy poca, así que el coche sabe que se ha desviado cuando ve blanco y gira hasta encontrar la línea oscura.
¿Por qué un robot no puede decidir por sí solo qué hacer ante una puerta cerrada?
Un robot no tiene ideas propias ni adivina como lo hace la gente. Todo lo que hace proviene de instrucciones que una persona escribió de antemano, además de los pequeños datos que capta sobre el mundo que lo rodea.
