Está en la página 1de 52

2ª Edición 2ª Edición

La primera edición de Inteligencia Artificial: Un Enfoque Moderno se ha convertido en un clásico de la

Inteligencia Artificial
literatura sobre la IA. Ha sido adoptado por 600 universidades de 60 países y ha recibido elogios por ser
una síntesis definitiva de este campo. Se ha dicho por ejemplo que:

“La publicación de este libro de texto fue un avance importante, no sólo para la enseñanza en el campo
de la IA, sino también por el punto de vista unificado que introduce. Incluso, los expertos encuentran
que todos los capítulos realizan importantes incursiones en la investigación de este campo.” _Prof.
Thomas Dietterich (Estado de Oregón)
“Es simplemente magnífico. El libro que siempre he estado esperando… es como la Biblia de la IA para
la próxima década.” _Prof. Gerd Brewka (Viena)
“Un logro maravilloso, un libro verdaderamente precioso.” _Prof. Selmer Bringsjord (RPI)
Un Enfoque Moderno
2ª Edición “Es un gran libro, con una profundidad y una amplitud increíbles, y muy bien escrito. Sé que todas las

Un Enfoque Moderno
Inteligencia Artificial
personas que lo han utilizado en sus clases han disfrutado con él.” _Prof. Haym Hirsh (Rutgers)
“Me ha impresionado profundamente esa calidad sin precedentes al presentar el campo de la IA con
Un Enfoque Moderno
Russell • Norvig
Inteligencia Artificial

una imagen coherente, equilibrada, extensa y profunda. Se va a convertir en el libro de texto estándar
durante los próximos años.” _Prof. Wolfgang Bibel (Darmstadt)
“¡Es magnífico! Está bien escrito, tiene una estructura muy buena, y disfruta de toda la cobertura
informativa que debería conocer todo estudiante de IA.” _Prof. Martha Pollack (Michigan)
“Excepcional… Las descripciones son verdaderamente claras y legibles, y su estructura es excelente;
los ejemplos son motivadores y su cobertura informativa es académica y profunda. Va a dominar su
campo durante un tiempo por méritos propios.” _Prof. Nils Nilsson (Stanford)
“El mejor libro de que disponemos por ahora… Es casi tan bueno como el que escribimos Charniak y yo,
pero más actualizado. (De acuerdo, lo admitiré, puede que incluso sea mejor que nuestro libro.)” _Prof.
Drew McDermott (Yale)
“Un informe magistral de gran alcance en el campo de la Inteligencia Artificial que iluminará a
profesores, así como a alumnos.” _Dr. Alan Kay

“Este es el libro que me hizo amar la IA.” _Alumno (Indonesia)

En la segunda edición, todos los capítulos se han reescrito de forma extensa. Se ha introducido material
nuevo y elocuente para abarcar áreas tales como la satisfacción de las limitaciones, gráficos de
planificaciones, agentes de Internet, inferencia de probabilística exacta, técnicas Monte Carlo de la
cadena Marlon, filtros Kalman, métodos de aprendizaje de conjuntos, aprendizaje estadístico, modelos
de lenguajes naturales probabilísticos, robótica probabilística y aspectos éticos de la IA.

El libro tiene un soporte variado de recursos en línea (online) incluyendo códigos fuente, figuras,
diapositivas para clase, un directorio de 800 enlaces con la IA en la Web y un grupo de debate en línea
(online). Toda esta información se encuentra disponible en:

aima.cs.berkeley.edu

LibroSite es una página web asociada al libro, con una gran variedad de recursos y material
adicional tanto para los profesores como para estudiantes. Apoyos a la docencia, ejercicios
de autocontrol, enlaces relacionados, material de investigación, etc., hacen de LibroSite el
complemento académico perfecto para este libro. Russell
www.librosite.net/russell Norvig
ISBN 978-84-205-4003-0

Stuart Russell
www.pearsoneducacion.com 9 788420 540030 Peter Norvig
25 Robótica

Donde los agentes están dotados de efectores físicos para hacer sus travesuras.

25.1 Introducción
ROBOTS Los robots son agentes físicos que realizan tareas mediante la manipulación física del
mundo. Para realizar dichas tareas están equipados con efectores como piernas, ruedas,
EFECTOR
articulaciones y pinzas. Los efectores tienen un único propósito: transmitir fuerzas físi-
cas al entorno1. Los robots también están equipados con sensores, que les permiten per-
SENSOR
cibir el entorno. Hoy en día, los robots utilizan diversos tipos de sensores, incluyendo
cámaras y ultrasonidos para medir el entorno, y giroscopios y acelerómetros para me-
dir el propio movimiento del robot.
La mayoría de los robots actuales se basan en una de las siguientes tres categorías.
MANIPULADORES Manipuladores, o brazos robóticos están físicamente anclados en su lugar de trabajo,
por ejemplo en una línea de ensamblaje o en la estación espacial internacional. El mo-
vimiento de los robots manipuladores normalmente requiere un desplazamiento en ca-
dena de las articulaciones para posicionar a los efectores en cualquier lugar del entorno
de trabajo. Los manipuladores son los robots industriales más extendidos con más de un
millón de unidades instaladas en el mundo. Algunos manipuladores móviles se utilizan
en hospitales para asistir a cirujanos. Pocos fabricantes de coches pueden sobrevivir sin
robots manipuladores, incluso algunos robots manipuladores se utilizan para crear ilus-
traciones y cuadros originales.

1
En el Capítulo 2 nosotros hablamos sobre los actuadores, no sobre efectores. Un actuador es una línea de
control que transmite un comando a un efector; el efector es el dispositivo físico en sí mismo.
1024 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

ROBOTS MÓVILES La segunda categoría son los robots móviles. Los robots móviles se desplazan por
su entorno utilizando ruedas, piernas o mecanismos similares. Estos han utilizado para
distribuir comidas en hospitales, mover contenedores a los muelles de carga y tareas si-
milares. No hace mucho hemos encontrado un ejemplo de robot móvil: el NAVLAB,
ULV vehículo terrestre sin tripulación (unmanned land vehicle, ULV) capaz de realizar un
desplazamiento autónomo para la navegación por autopistas. Otros tipos de robots mó-
AAV viles incluyen los vehículos aéreos sin tripulación (unmanned air vehicles, UAV), uti-
lizados frecuentemente para tareas de vigilancia, fumigación y operaciones militares; los
AUV vehículos submarinos sin tripulación (autonomous underwater vehicles, AUV) se
usan en exploración del fondo marino, paseos planetarios, como el robot Sojourner
mostrado en la Figura 25.1(a).
El tercer tipo es un híbrido: un robot móvil equipado con manipuladores. Esto incluye
ROBOTS a los robots humanoides, cuyo diseño se asemeja al torso humano. La Figura 25.1(b) mues-
HUMANOIDES
tra dos de estos robots, los dos construidos por Honda Corp., en Japón. Los robots híbri-
dos pueden aplicar sus efectores en un campo más amplio que los robots anclados pero las
tareas son más complejas porque no tienen la rigidez que el anclaje proporciona.
El campo de la robótica también incluye prótesis artificiales (labios, orejas, ojos…),
entornos inteligentes (como una casa equipada con sensores y efectores), y sistemas mul-
ticuerpo, cuando la acción robótica se lleva a cabo mediante la cooperación de un en-
jambre de pequeños robots.
Los robots reales normalmente suelen hacer frente a ambientes que sólo son obser-
vables parcialmente, estocásticos, dinámicos y continuos. Algunos de estos ambientes
son a la vez secuenciales y multiagente. Los observados parcialmente y los estocásticos
son el resultado de interactuar con un entorno grande y complejo. El robot no puede ver

(a) (b)

Figura 25.1 (a) NASA’s Sojourner, un robot móvil explorando la superficie de Marte en julio de
1997. (b) Robots Humanoides P3 y Asimo de la casa Honda.
ROBÓTICA 1025

alrededor de las esquinas, y las órdenes de movimiento están sujetas a la incertidumbre


generada por el deslizamiento y la fricción de los engranajes. Además el obstinado
mundo real rechaza operar más rápido que el tiempo real. En un entorno simulado, es
posible utilizar algoritmos sencillos (como el algoritmo Q-learning descrito en el Ca-
pítulo 21) para aprender en unas pocas horas de proceso realizando millones de prue-
bas. En un entorno real dichas pruebas tardarían años en realizarse. Además los fallos
con un robot real pueden ser peligrosos, cosa que en un sistema simulado no pasa. Los
sistemas robóticos prácticos necesitan que se incorpore conocimiento inicial sobre el
robot, el ambiente físico y las tareas que el robot realizará para que el robot pueda apren-
der de manera rápida y segura.

25.2 Hardware robótico


Hasta ahora en este libro se ha comentado la arquitectura de agente (sensores, efectores
y procesadores) y por tanto nos hemos concentrado en el programa de agentes. El éxi-
to de los robots reales depende como mínimo de que el diseño de los sensores y los efec-
tores sean apropiados para la tarea a realizar.

Sensores
SENSORES PASIVOS Los sensores son la interfaz perceptual entre el robot y su entorno. Los sensores pasi-
vos, como las cámaras, son observadores verídicos del entorno: capturan las señales que
SENSORES ACTIVOS son generadas por otras fuentes en el entorno. Los sensores activos, como un sónar, emi-
ten energía dentro del entorno. Se basa en el hecho de que esta energía será reflejada y
devuelta al sensor. Los sensores activos suelen proporcionar más información que los
pasivos pero a expensas de un mayor consumo y con el peligro de causar interferencias
cuando se usan múltiples sensores al mismo tiempo. Sean activos o pasivos los senso-
res se pueden dividir en tres tipos, dependiendo de si determina distancias a objetos, imá-
genes del entorno o propiedades del robot en sí mismo.
ESCÁNERES
DE RANGO Muchos robots móviles hacen uso de escáneres de rango, se trata de sensores que
miden la distancia a objetos cercanos. Uno de los más comunes es el sensor de sónar,
SENSOR DE SÓNAR
también conocido como transductor ultrasónico. Los sensores de sónar emiten ondas de
sonido direccionales, que son reflejadas por objetos, haciendo que parte del sonido
vuelva al sensor. El tiempo y la intensidad de la señal de retorno proporcionan información
sobre la distancia a los objetos cercanos. Los sónares submarinos son la tecnología ele-
gida por los AUVs. En tierra, los sónares se utilizan principalmente en rangos cercanos
para evitar colisiones, debido a su limitada resolución angular. Las alternativas al sónar
incluyen el radar (utilizado principalmente en aviación) y el láser. Un escáner de rango
basado en láser se muestra en la Figura 25.2.
Algunos sensores de rango miden distancias cortas o muy cortas. Entre ellos se in-
SENSORES TÁCTILES cluyen los sensores táctiles como las antenas2, interruptores y piel sintética sensible al

2
Nota del traductor: pequeñas antenas sensibles como las de los insectos, del original «whiskers».
1026 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

(a) (b)

Figura 25.2 (a) El escáner de rango SICK LMS basado en Láser, un popular sensor de rango para
robots móviles. (b) Lectura de rango obtenida con un sensor montado horizontalmente, proyecta-
da en un mapa de entorno de dos dimensiones.

SISTEMA DE tacto. Al otro lado del espectro nos encontramos con GPS (sistema de posicionamien-
POSICIONAMIENTO
GLOBAL (GPS) to global), el cual mide la distancia a una serie de satélites que emiten señales de pulso.
Actualmente hay docenas de satélites en órbita cada uno transmitiendo señales en dos
frecuencias diferentes. Los receptores de GPS pueden recuperar la distancia a los saté-
lites analizando los retardos de fase de la señal. Mediante la triangulación de la señal
desde múltiples satélites los receptores de GPS pueden determinar la localización ab-
GPS DIFERENCIALES soluta en la tierra con unos pocos metros de error. Los GPS diferenciales incluyen un
segundo grupo de receptores con conocimiento de la localización, proporcionando una
exactitud milimétrica en condiciones ideales. Desafortunadamente, los GPS no funcio-
nan en interiores ni bajo el agua.
SENSORES DE La segunda clase importante de sensores son los sensores de imagen, las cámaras
IMAGEN
que nos proporcionan imágenes del entorno y, utilizando las técnicas de visión por com-
putador del Capítulo 24, aplican diversos modelos y extraen características del entorno.
La visión estereoscópica es particularmente importante en robótica porque puede cap-
turar información de profundidad; aunque su futuro es incierto ya que se están desarro-
llando nuevas tecnologías de rango con funcionamiento satisfactorio.
SENSORES La tercera clase importante son los sensores perceptores, los cuales informan al ro-
PERCEPTORES
bot de su propio estado. Para medir exactamente la configuración de una articulación ro-
DECODIFICADORES bótica, los motores están normalmente equipados con decodificadores de ejes que
DE EJES
cuentan las revoluciones de los motores con pequeños incrementos. En un brazo de ro-
bot dichos decodificadores pueden proporcionar medidas exactas sobre cualquier perío-
do de tiempo. En un robot móvil los decodificadores informan de las vueltas de las ruedas,
ODOMETRÍA estas vueltas pueden ser utilizadas como medidas para la odometría (la medida de la
distancia recorrida). Desafortunadamente las ruedas tienden a patinar o frenar de ma-
nera que la odometría sólo es exacta para desplazamientos muy cortos. Fuerzas exter-
ROBÓTICA 1027

nas, corrientes marinas para los AUV’s y el viento para los UAV incrementan la incer-
SENSORES tidumbre de su posicionamiento. Los sensores inerciales, como los giroscopios, nos pue-
INERCIALES
den ayudar pero no pueden evitar la inevitable acumulación de incertidumbre respecto
a la posición del robot.
Otros aspectos importantes del estado del robot son medidos por los sensores de fuer-
SENSORES DE
FUERZA Y TORSIÓN za y torsión. Estos son indispensables cuando los robots manejan objetos frágiles u ob-
jetos cuya forma y localización son desconocidos. Imagine un robot manipulador de una
tonelada manipulando un destornillador con una bombilla. Los sensores de fuerza pro-
porcionan al robot el sentir cómo de fuerte se está agarrando la bombilla y el sensor de
torsión cómo de fuerte la está girando. Los buenos sensores pueden medir fuerzas en tres
dimensiones y giros en los tres ejes.

Efectores
Los efectores son el medio por el cual los robots se mueven y cambian la forma de sus
cuerpos. Para entender el diseño de los efectores, nos ayudará primero hablar del mo-
vimiento y de la forma de manera abstracta, utilizando el concepto de grados de liber-
GRADOS DE LIBERTAD tad. Nosotros contamos los grados de libertad como cada dirección independiente del
robot en la cual uno o varios de sus efectores se puedan mover. Por ejemplo un brazo rí-
gido de robot como un robot de tipo AUV que tenga seis grados de libertad, tres de los
ESTADO CINEMÁTICO
cuales (x, y, z) lo localizan en el espacio y tres más son su orientación angular conoci-
O POSE das como desvío, balanceo y cabeceo (yaw, roll y pitch). Estos seis grados definen su
ESTADO DINÁMICO
estado cinemático o pose del robot. El estado dinámico del robot incluye una dimen-
sión adicional para evaluar el cambio cinemático de cada dimensión.
Para cuerpos no rígidos, hay grados adicionales de libertad dentro del robot. Por ejem-
plo en un brazo humano el codo tiene un grado de libertad (se puede flexionar en una
dirección) y la muñeca tiene tres grados de libertad (se puede mover de arriba abajo, de
lado a lado y también puede rotar). Las articulaciones de los robots tienen uno, dos o
tres grados de libertad cada una. Seis grados de libertad son los mínimos requeridos para
poner un objeto, como una mano, en una posición determinada con una orientación de-
ARTICULACIONES DE
terminada. El brazo mostrado en la Figura 25.3(a) tiene exactamente seis grados de li-
REVOLUCIÓN bertad, creado con cinco articulaciones de revolución que generan movimiento
ARTICULACIÓN
rotacional y una articulación prismática que genera desplazamiento lateral. Se puede
PRISMÁTICA verificar que el brazo humano en su totalidad tiene más de seis grados de libertad con
un simple experimento: ponga su mano en la mesa, dese cuenta de que aún tiene liber-
tad para rotar su codo sin cambiar la configuración de su mano. Los manipuladores que
tienen más grados de libertad que los requeridos para poner un objeto en un lugar de-
terminado son más fáciles de controlar que los robots que sólo tienen el mínimo núme-
ro de grados de libertad.
Para los robots móviles los grados de libertad no son necesariamente los mismos que
el número de elementos actuadores. Considere, por ejemplo, su coche: se puede mover
hacia delante y hacia atrás y puede girar, otorgándole dos grados de libertad. En con-
traste, la cinemática de un coche es tridimensional: en una superficie abierta, uno pue-
de fácilmente mover un coche a cualquier punto (x, y) en cualquier orientación (véase
1028 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

P
R R

R R

θ
R
(x, y)

(a) (b)

Figura 25.3 (a) El manipulador de Standford, un brazo de robot con cinco articulaciones de re-
volución (R) y una articulación prismática (P), para un total de seis grados de libertad. (b) Movi-
miento de un vehículo no holonómico con cuatro ruedas y dirección delantera.

GRADOS EFECTIVOS Figura 25.3(b)). Así pues el coche tiene tres grados efectivos de libertad pero sólo dos
DE LIBERTAD
grados controlables de libertad. Se llama robot no holonómico a aquel que tenga mas
GRADOS grados de libertad efectivos que controlables y holonómico si tienen el mismo número.
CONTROLABLES
Los robots holonómicos son más fáciles de controlar (sería más fácil aparcar un coche
NO HOLONÓMICO que se pueda mover de lado además de hacia delante y hacia atrás) pero los robots ho-
lonómicos son más complejos mecánicamente. La mayoría de los brazos robóticos son
holonómicos al igual que la mayoría de los robots móviles son no holonómicos.
Para los robots móviles, existen un cierto número de mecanismos de movimiento,
IMPULSIÓN incluyendo ruedas, orugas y piernas. Los robots de impulsión diferencial poseen dos
DIFERENCIAL
ruedas independientes (u orugas), una a cada lado, como en un tanque militar. Si ambas
ruedas se mueven a la misma velocidad el robot se mueve en línea recta. Si se mueven
en direcciones opuestas el robot gira sobre sí mismo. Una alternativa es la conducción
CONDUCCIÓN sincronizada, en la cual cada rueda se puede mover y rotar en su propio eje. Esto pue-
SINCRONIZADA
de fácilmente llevar al caos, si no se limita que todas las ruedas siempre apunten a la mis-
ma dirección y se muevan a la misma velocidad. Tanto la impulsión diferencial como la
conducción sincronizada son no holonómicas. Algunos robots más caros utilizan ma-
nejadores holonómicos, los cuales utilizan normalmente tres o más ruedas que pueden
ser movidas y orientadas independientemente.
Las piernas robóticas, contrariamente a las ruedas, pueden manejarse por terreno
abrupto. No obstante las piernas son notoriamente lentas en superficies planas además
de ser mecánicamente difíciles de construir. Los investigadores en robótica han tratado
de diseñar robots desde una hasta múltiples piernas. Los robots con piernas pueden ca-
minar, correr, saltar (como se puede ver en el robot de la Figura 25.4(a)). Este robot es
DINÁMICAMENTE
ESTABLE dinámicamente estable, es decir, puede permanecer vertical mientras camina. Un ro-
bot que pueda permanecer vertical sin mover sus piernas se llama estáticamente esta-
ESTÁTICAMENTE
ESTABLE ble. Un robot es estáticamente estable si su centro de gravedad está encima del polígono
que une sus piernas.
Otros tipos de robots móviles utilizan una gran cantidad de mecanismos diferentes
para desplazarse. Los vehículos de remolque normalmente utilizan propulsores o turbi-
nas. Los dirigibles robóticos se basan en efectos termodinámicos que los mantienen a
ROBÓTICA 1029

Figura 25.4 (a) Uno de los robots con piernas de Marc Raibert. (b) Robot AIBO de Sony.

flote. Los vehículos autónomos submarinos normalmente utilizan propulsores similares


a los usados en submarinos.
Por sí solos los sensores y efectores no hacen un robot. Un robot completo también
MOTOR ELÉCTRICO necesita una fuente de energía para hacer funcionar sus efectores. El motor eléctrico es
ACTUACIÓN
el mecanismo más popular para la manipulación y la locomoción pero la actuación neu-
NEUMÁTICA mática, utilizando gas comprimido y la actuación hidráulica, utilizando fluidos pre-
ACTUACIÓN
surizados, también tienen sus nichos de aplicación. La mayoría de los robots también
HIDRÁULICA tienen medios para la comunicación digital como una red inalámbrica. Por último tiene
que haber un cuerpo para ensamblar las diferentes piezas del robot.

25.3 Percepción robótica


La percepción es el proceso por el cual los sensores del robot elaboran un mapa del en-
torno utilizando una determinada representación interna. La percepción es complicada
porque en general los sensores tienen ruido y el entorno es parcialmente observable, im-
predecible y dinámico. En general una buena representación interna ha de tener tres pro-
piedades: tiene que contener la información suficiente para que el robot tome las
decisiones apropiadas, tiene que estar estructurada para que se pueda actualizar efi-
cientemente y tiene que ser natural, es decir, las variables internas han de corresponder
con estados en el mundo real.
1030 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

En el Capítulo 15, nosotros decimos que los filtros de Kalman, HMMs, y las redes
Bayesianas dinámicas pueden representar las transiciones y los modelos de sensores a
partir de entornos observables, y nosotros describimos los algoritmos para actualizar los
estados de creencia (la distribución de la probabilidad a posteriori en el entorno de las
variables de estado). Algunos modelos dinámicos de redes de Bayes para este proceso
se muestran en el Capítulo 15. Para los problemas de robótica normalmente se incluyen
las acciones ya realizas por el robot como variables observadas (véase Figura 17.9). La
Figura 25.5 muestra la notación utilizada en este capítulo: Xt es el estado del entorno
(incluyendo el robot) en el instante t, Zt es la observación recibida en el instante t, y At
es la acción realizada después de recibir la observación.
La tarea de filtrar, o actualizar la creencia de estados, es esencialmente la misma
que se ha descrito en el Capítulo 15. Hay que computar la nueva creencia del estado,
P(Xt1z1:t1, a1:t), desde el estado actual P(Xtz1:t, a1:t1) y la nueva observación zt1.
Las principales diferencias son que (1) estamos condicionados explícitamente por las ac-
ciones, así como por las observaciones, y (2) ahora nos enfrentamos a variables conti-
nuas y no discretas. Así, nosotros modificamos el filtrado recursivo de la Ecuación 15.3
para utilizar integración en vez de suma:
P(Xt1z1:t1, a1:t)  P(zt1Xt1)  P(X t1xt, at) P(xtz1:t, a1:t1) dxt. (25.1)
La ecuación establece que el valor posterior a las variables de estado X en el instante de
tiempo t  1 es calculado recursivamente a partir del estado correspondiente estimado
un instante de tiempo antes. Este cálculo incluye la acción previa at y la actual medida
zt1. Por ejemplo, si nuestra meta es desarrollar un robot que juegue al fútbol, Xt1 pue-
de ser la localización de la pelota con respecto al robot. El posterior P(Xtz1:t, a1:t1) es
la probabilidad de distribución en todos los estados que capturan qué sabemos de las
medidas realizadas por el sensor. La Ecuación (25.1) nos dice cómo obtener recursiva-
mente esta localización, incrementando las medias de los sensores (por ejemplo, con
imágenes) y los comandos de movimiento del robot. La probabilidad P(Xt1xt, at) se
MODELO DE llama el modelo transicional o modelo de movimiento, y P(zt1Xt1) es el modelo
MOVIMIENTO
del sensor.

At−2 At−1 At

Xt−1 Xt Xt+1

Zt−1 Zt Zt+1

Figura 25.5 La percepción de un robot puede ser vista como una inferencia temporal de secuencias
de acciones y medidas, como se ilustra en esta red dinámica de Bayes.
ROBÓTICA 1031

LOCALIZACIÓN Localización
La localización es un ejemplo genérico de percepción robótica. Es el problema de de-
terminar dónde están las cosas. La localización es uno de los problemas más relevantes
de la percepción robótica debido a que el conocimiento sobre dónde están las cosas es
el núcleo principal para una satisfactoria interacción física. Por ejemplo, los manipu-
ladores del robot deben saber la localización de los objetos que han de manipular. Los
robots navegadores deben saber dónde están para poder encontrar las localizaciones
requeridas.
El problema de la localización viene dado en tres formas con dificultad incremen-
PROBLEMA
DE SEGUIMIENTO,
tal. Si la posición inicial del objeto es conocida, entonces la localización es un proble-
TRACKING ma de seguimiento (tracking). Los problemas de seguimiento se caracterizan por una
incertidumbre limitada. Más difícil es el problema de la localización global, en el cual
LOCALIZACIÓN
GLOBAL la posición inicial del objeto es desconocida. La localización global se convierte en el
problema de seguimiento una vez que el objeto de interés ha sido localizado, este tam-
bién incluye fases en las que el robot tiene que manejar incertidumbre. Para terminar noso-
tros podemos ser malos con nuestro robot y «secuestrar» el objeto que está intentando
localizar. La localización en las condiciones anteriores es conocida como el problema
PROBLEMA del secuestro. El secuestro se utiliza normalmente para probar lo robusta que es una téc-
DEL SECUESTRO
nica de localización bajo condiciones extremas.
Para simplificar, asumamos que el robot se mueve lentamente en un plano y que se
le da un mapa exacto del entorno. La posición de dicho móvil se define por sus dos co-
ordenadas cartesianas con los valores x, y, y la orientación , como se ilustra en la Fi-
gura 25.6(a). (Obsérvese que se han excluido las correspondientes velocidades, por lo
que es un modelo cinemático en vez de uno dinámico.) Si ordenados dichos valores en
un vector, entonces cualquier estado particular está dado por Xt  (xt, yt, t).
En la aproximación cinemática, cada acción consiste es una especificación «instan-
tánea» de dos velocidades, una velocidad transaccional vt y una velocidad rotacional wt.
Para pequeños intervalos t, un modelo determinístico de movimiento de dicho robot
viene dado por:

 
vtt cos t
X t1  f (Xt, vt , wt)  Xt  vtt sen t
wtt


at

La notación X se refiere a un estado determinístico de predicción. Por supuesto, los ro-


bots físicos son algo impredecibles. Éste está normalmente modelado usando una dis-
tribución gaussiana con media f (Xt, vt , wt) y una covarianza x. (Véase el Apéndice A
para la definición matemática).

P(Xt1Xt , vt , wt )  N(X t1, x)

Después, nosotros necesitamos un modelo de sensor. Se considerarán dos clases de mo-


delos de sensor. La primera asume que el sensor detecta características estables y reco-
MARCADORES nocibles del entorno, llamadas marcadores. Para cada marcador se informa de su rango
y capacidad. Supóngase que el estado del robot es xt  (xt, yt, t) y se detecta un mar-
1032 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

␻t ⌬t
xi, yi,

␪ t⫹1
h(xt)
vt ⌬t Z1 Z2 Z3 Z4
Xt⫹1

␪t

xt
(a) (b)

Figura 25.6 (a) Un modelo simplificado de cinemática para un robot móvil. El robot se muestra
como un círculo con una marca mostrando la dirección a la que mira el robot. Las posiciones y las
orientaciones en t y t  1 se muestran, con las actualizaciones dadas por vtt y wtt respectivamente.
También se muestra un marcador en (xi, yi) observado en el instante t. (b) El modelo del escanea-
dor de rango. Dos posibles poses del robot se muestran para una medida de rango dada
(z1, z2, z3, z4). Es mucho más probable que la pose de la izquierda genere el modelo del escaneador
de rango que la pose de la derecha.

cador cuya localización es conocida como (xt , yt ). Sin ruido, el rango y la capacidad
pueden calcularse por simple geometría (véase la Figura 25.6(a)). La predicción exac-
ta del rango e intensidad observadas sería:

 

(xt  xi
)2  (y
t  yi)
2

z t  h(xt)  yi  yt
arctan    t
xi  xt
Otra vez, el ruido distorsiona nuestras medidas. Para simplificar, podemos suponer un
ruido gaussiano con covarianza z
P(ztxt )  N(z t, z)
Un modelo diferente de sensor es a menudo más apropiado para los sensores de rango
de la clase mostrada en la Figura 25.2. Dichos sensores producen un vector de valores
zt  (z1 , ..., zM ), con intensidad fijada por el robot, dada una posición xt, siendo z j el
rango de la j-ésima dirección desde xt al obstáculo más cercano. Como antes, se utili-
zará ruido gaussiano. Normalmente asumimos que los errores para las diferentes direc-
ciones de medida son independientes y tienen distribución idéntica, con lo que tenemos:
M 2.
P(ztxt )    e(zjz j )/2
j1

La Figura 25.6(b) muestra un ejemplo de un escáner de cuatro haces y dos posibles po-
siciones del robot, una de la cual es supuestamente producida por la observación del
escáner y la otra no. Comparando el modelo del escáner de rango con el modelo del
ROBÓTICA 1033

marcador, podemos ver que el modelo del escáner de rango tiene la ventaja de que no
es necesario identificar el marcador antes de que el escáner pueda ser interpretado; de
hecho, en la Figura 25.6(b), el robot hace frente a una pared sin rangos distintivos. Por
otra parte, si hay un marcador distintivo éste nos puede ayudar a localizarnos inme-
diatamente.
En el Capítulo 15 se describe el filtro de Kalman, que representa la creencia de un
estado como una única función multivariada de Gauss, y el filtro de partículas, que re-
presenta el estado de creencia de una colección de partículas que corresponden a esta-
dos. Los algoritmos modernos de localización usan una o dos representaciones de la
creencia del robot P(Xtz1:t , a1:t1).
LOCALIZACIÓN La localización utilizando filtrado de partículas se llama localización de Monte-Car-
DE MONTE-CARLO
lo o MCL. El algoritmo MCL es esencialmente idéntico al algoritmo de filtrado de par-
tículas mostrado en la Figura 15.15. Todo lo que necesitamos es proporcionar el modelo
apropiado de movimiento y modelo del sensor. La Figura 25.7 nos muestra una versión
utilizando el modelo del escáner de rango. El funcionamiento del algoritmo se ilustra
en la Figura 25.8 donde el robot localiza su posición dentro de un edificio de oficinas.
En la primera imagen las partículas están uniformemente distribuidas basadas en el co-
nocimiento a priori, indicando la incertidumbre global sobre la posición del robot. En
la segunda imagen, el primer conjunto de medidas hace que las partículas se agrupen en
áreas de alta creencia a posteriori. En la tercera hay suficientes medidas para que todas
las partículas estén en una posición determinada.
El filtro de Kalman es otra manera de localizar. Un filtro de Kalman representa la
creencia a posterior P(Xtz1:t , a1:t1) con una gaussiana. La media de esta gaussiana se
denota por t y su covarianza t. El problema principal con la creencia gaussiana es que

función LOCALIZACIÓN-MONTE-CARLO(a, z, N, modelo, mapa) devuelve un conjunto de muestras


entradas: a, la orden previa de movimiento del robot
z, un escáner de rango con M lecturas, de z1 a zM
N, el número de muestras a ser mantenidas
modelo: un modelo probabilista del entorno con posición inicial P(X0),

modelo de movimiento P(X1X0, A0) y rango del sensor con ruido P(ZZ).
mapa: un mapa en dos dimensiones del entorno
estática: S, un vector de muestras de tamaño N, inicialmente generado por P(X0)
variables locales: W, un vector de pesos de tamaño N
para i  1 hasta N hacer
S[i] ; muestra de P(X1X0  S[i], A0  a)
W[i] ; 1
para j  1 hasta M hacer
z ; RANGO-EXACTO( j, S[i], mapa)
W[i] ; W[i] · P(Z  zjZ  z )
S ; MUESTRA-PONDERADA-CON-REEMPLAZAMIENTO(N, S, W)
devolver S

Figura 25.7 Algoritmo de localización de Monte-Carlo usando un modelo de escáner de rango


con ruido independiente.
1034 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

Posición del robot

(a)

Posición del robot

(b)

Posición del robot

(c)

Figura 25.8 Algoritmo de localización Monte-Carlo, un filtro de partículas para localización mó-
vil de robots. Arriba: inicialmente incertidumbre global. Centro: incertidumbre después de nave-
gar por el pasillo. Bajo: incertidumbre después de entrar en una oficina distintiva.
ROBÓTICA 1035

~
Xt1 Xt1 f(Xt , at)  f( t , at)  Ft (Xt  t)
f (Xt , at ) f(Xt , at)

t1 f (t , at ) ~
t1 f(t , at)
t1

Xt Xt
t t
t t
(a) (b)

Figura 25.9 Ilustración unidimensional de un modelo lineal de movimiento: (a) Función f, y la


proyección de una media t y un intervalo de covarianza (basado en t) dentro del tiempo t1. (b)
La versión lineal es la tangente de f en t. La proyección de media t es correcta. No obstante, la
covarianza proyectada t1 difiere de t1.

sólo se garantiza para modelos lineales f y modelos de medidas lineales h. Para mode-
los f y h no lineales el resultado de actualizar el filtro normalmente no es una gaussia-
LINEALIZACIÓN na. Así, los algoritmos que utilizan el filtro de Kalman para localización linealizan el
movimiento y los modelos de los sensores. La linealización es una aproximación local
de una función no lineal por una función lineal. La Figura 25.9 ilustra el concepto de
la linealización para un modelo (unidimensional) de movimiento del robot. En al iz-
quierda se representa un modelo no lineal de movimiento f(xt, at) (el control de at se
omite en este grafo ya que no es representativo para la linealización). En la derecha, esta
función se aproxima por una función lineal f(xt, at). Esta función lineal es tangente a f
en el punto t, la media de nuestro estado estimado en el instante de tiempo t. Dicha li-
EXPANSIÓN
DE TAYLOR nealización se llama Expansión de Taylor (de primer grado). Un filtro de Kalman que
linealiza f y h vía expansiones de Taylor se llama filtro de Kalman extendido o (EKF).
La Figura 25.10 muestra una secuencia de estimaciones de un robot sobre el que fun-
ciona el algoritmo de localización basado en un filtro de Kalman. Cuando se mueve el
robot, la incertidumbre de su localización se incrementa, como se muestra en el tama-

Robot

Marcador

Figura 25.10 Ejemplo de localización utilizando el filtro extendido de Kalman. Los movimien-
tos del robot en una línea recta. Conforme progresa su incertidumbre se incrementa gradualmen-
te, como se ilustra por las elipses de error. Cuando se observa un marcador con una posición
conocida la incertidumbre se reduce.
1036 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

ño de sus elipses de error. El error disminuye conforme va detectando el marcador. El


error finalmente se incrementa otra vez cuando el robot pierde dicho marcador. Los al-
goritmos EKF funcionan correctamente si los marcadores se identifican fácilmente. En
otro caso, la distribución a posteriori puede ser multimodal como en la Figura 25.8(b).
El problema de la necesidad de conocimiento de la identificación de marcadores es un
ejemplo del problema de asociación de datos discutido al final del Capítulo 15.

Generación de mapas
Hasta ahora hemos discutido el problema de la localización de un único objeto. En ro-
bótica habitualmente se intenta localizar muchos objetos. El ejemplo clásico de dicho
problema es la construcción de mapas mediante robots. Imagine un robot al cual no se
le da un mapa del entorno. El robot ha de construirse su propio mapa. Claramente los
humanos hemos desarrollado habilidades para realizar mapas, desde lugares pequeños
hasta del mundo entero. Por tanto un problema a abordar por la robótica es diseñar al-
goritmos para que los robots puedan hacer lo mismo.
LOCALIZACIÓN Y
En la literatura, a la generación de mapas mediante robots muchas veces se le de-
MAPEADO
SIMULTÁNEO
nomina localización y mapeado simultáneo, abreviado como SLAM. No sólo el ro-
bot ha de ser capaz de construir el mapa, lo debe hacer sin ningún conocimiento sobre
dónde está. SLAM es uno de los problemas principales de la robótica. Considerare-
mos la versión en la cual el entorno es fijo. Esto es suficientemente complicado; aun
así es mucho más complejo cuando el entorno puede cambiar mientras que el robot se
mueve.
Desde una perspectiva estadística, la generación de mapas es un problema de infe-
rencia Bayesiano, como la localización. Si denotamos el mapa por M y la posición del
robot en el tiempo t por Xt como anteriormente, podemos rescribir la Ecuación (25.1)
para incluir el mapa a posteriori:
P(Xt1, M  z1:t1, a1:t)  P(zt1  Xt1, M)  P(X
t1 ,  xt, at) P(xt, M  z1:t, a1:t1) dxt
Esta ecuación nos trae buenas noticias: la distribución condicional necesita incorporar
acciones y medidas que son esencialmente las mismas que en el problema de la locali-
zación del robot. La advertencia principal es que el nuevo espacio de estados (el espacio
de todas las poses del robot y todos los mapas) tiene muchas dimensiones. Imagine que
quiere representar un edificio entero de manera fotográfica. Esto posiblemente requeri-
ría cientos de millones de números. Cada número sería una variable aleatoria y contri-
buiría a la enorme dimensión del espacio de estados. Lo que hace este problema aún más
difícil es el hecho de que el robot no tiene por qué saber cómo de grande es el entorno.
Así la dimensión de M tiene que ser ajustada dinámicamente durante el mapeado.
Probablemente el método más utilizado para el problema SLAM es el EKF. Este
usualmente se combina con un modelo de detección de marcadores y requiere que to-
dos los marcadores sean distinguibles. En la sección anterior la estimación a posteriori
se representó utilizando una Gaussiana con una media t y covarianza t. En la aproxi-
mación del EKF al problema SLAM, la estimación posterior es otra vez gaussiana pero
ahora la media t es un vector mucho más grande. Comprende no sólo la pose del ro-
ROBÓTICA 1037

bot sino también la localización de todas las características (o marcadores) en el mapa.


Si hay n marcadores, este vector sería de dimensión 2n  3 (mantiene dos valores para
especificar la localización y tres para la posición del robot). Consecuentemente, la ma-
triz t es de dimensiones (2n  3) por (2n  3). Posee la siguiente estructura:

t  
XX

XM
XM
MM  (25.2)

Aquí XX es la covarianza de la pose del robot, la cual también la encontramos en el con-
texto de la localización. XM es una matriz de tamaño 3
2n que expresa la correlación
entre características del mapa y las coordenadas del robot. Para terminar, MM es la ma-
triz de tamaño 2n
2n que especifica la covarianza característica en el mapa, incluyendo
todos los pares de correlaciones. La memoria requerida para los algoritmos EKF es cua-
drática en n, el número de características del mapa y el tiempo de actualización es tam-
bién cuadrático respecto a n.
Antes de introducirnos en detalles matemáticos, vamos a estudiar la solución del al-
goritmo EKF gráficamente. La Figura 25.11 muestra un robot en un entorno con ocho
marcadores, ordenados en dos filas de cuatro marcadores cada uno. Inicialmente, el ro-
bot no sabe dónde están localizados. Supondremos que cada marcador será de un color
distinto, y el robot será capaz de detectar cuál es cuál. El robot empieza en una locali-
zación bien definida hacia la derecha, pero gradualmente pierde certeza de dónde está.
Esto se indica por las elipses de error de la Figura 25.11(a), las cuales aumentan cuan-
do el robot se mueve hacia delante. Mientras se mueve el robot, detecta el rango y la dis-
tancia de los marcadores cercanos, y esas observaciones hacen que el robot estime la
posición de los mismos. Naturalmente, la incertidumbre de dicha estimación está unida
a la incertidumbre de localización del robot. La Figura 25.11(b) y (c) ilustra la creencia
del robot mientras se mueve cada vez más lejos en su entorno.
Un detalle importante de esas estimaciones (el cual no es obvio a partir de nuestra
representación gráfica) es el hecho de que se mantiene una única Gaussiana para todas
las estimaciones. Las elipses de error en la Figura 25.11 son proyecciones de esa Gaus-
siana en subespacios del robot y las coordenadas de los marcadores. Esta Gaussiana mul-
tivariada mantiene posteriormente correlaciones entre todas las estimaciones. Esta
observación es importante para entender qué ocurre en la Figura 25.11(d). Aquí el ro-
bot observa un marcador previamente detectado. Como resultado, su incertidumbre dis-
minuye drásticamente al igual que la incertidumbre del conjunto de marcadores. Esto
es una consecuencia del hecho de que las estimaciones del robot y los marcadores es-
tán íntimamente correlacionadas con la Gaussiana posterior. Encontrar conocimiento so-
bre una variable (aquí la pose del robot) automáticamente reduce la incertidumbre en todas
las otras.
El algoritmo EKF para generación de mapas se asemeja al algoritmo EKF de loca-
lización de la sección previa. La diferencia principal estriba en las variables de los mar-
cadores añadidas a posteriori. El modelo de movimiento para los marcadores es trivial:
no se mueven. La función f, por lo tanto, es la función identidad para esas variables. La
función de medida es esencial al igual que en el caso anterior. La única diferencia es que
la función Jacobiana Ht en la ecuación de actualización de EKF se obtiene no sólo con
respecto a la posición del robot sino también respecto a la localización de los marcado-
1038 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

(a) (b)

(c) (d)

Figura 25.11 EKF aplicado al problema de generación de mapas robóticos. El camino del robot
se muestra en línea discontinua y su estimación de posición en elipses sombreadas. Ocho marca-
dores distinguibles de posición desconocida se muestran como puntos pequeños, y sus estimado-
res de localización se muestran como elipses blancas. En (a)-(c) la incertidumbre del robot se va
incrementando así como la incertidumbre de encontrarse un marcador. En (d) el robot detecta el
primer marcador de nuevo y la incertidumbre de todos los marcadores disminuye gracias a que las
estimaciones están correlacionadas.

res que son observados en el tiempo t. Las ecuaciones EKF resultantes son incluso más
horrorosas que las indicadas anteriormente por lo cual se omitirán aquí.
No obstante, hay otras dificultades que hemos ignorado: el hecho de que el tamaño
del mapa M sea desconocido. Por lo tanto el número de elementos en la estimación fi-
nal t y t son desconocidos. Se tiene que determinar dinámicamente si el robot descu-
ROBÓTICA 1039

bre nuevos marcadores. La solución a este problema es directa; si el robot descubre un


nuevo marcador, añade un nuevo elemento a la información a posteriori. Inicializando
la varianza de este nuevo elemento a un valor muy elevado, el resultado a posterior es
el mismo que si el robot hubiera conocido la existencia del marcador con antelación.

Otros tipos de percepción


No toda la percepción robótica versa sobre la localización y la generación de mapas. Los
robots también reciben la temperatura, olores, señales acústicas, etc. Muchas de estas
cantidades se pueden estimar probabilísticamente, como la localización y la generación
de mapas. Todo lo que se necesita para dichos estimadores son las distribuciones de pro-
babilidad condicionada que describan la relación entre las medidas y los estados de las
variables.
No obstante, no todos los sistemas de percepción robótica se basan en representa-
ciones probabilísticas. En efecto, mientras que el estado interno de todos nuestros ejem-
plos tienen una interpretación física clara, esto no tiene por qué ser el caso. Por ejemplo,
imagine un robot con piernas que intenta levantar una pierna por encima de un obstáculo.
Suponga que el robot usa una regla por la cual inicialmente mueve la pierna a una altu-
ra baja y luego la sube cada vez más alto si la altura anterior resulta en una colisión con
este obstáculo. ¿Diríamos que la altura de la pierna es una representación de alguna can-
tidad física en el mundo? Puede ser, pero se relaciona con la altura y lo escarpado del
obstáculo. No obstante podemos pensar en la altura de la pierna como una variable au-
xiliar del controlador del robot, desprovisto de significado físico directo. Dicha repre-
sentación es común en robótica y para algunos problemas funciona correctamente.
La robótica claramente tiende a representaciones con semánticas bien definidas. Las
técnicas probabilísticas, en muchos casos, superan a otras aproximaciones de problemas
perceptuales como localización y generación de mapas. No obstante, las técnicas esta-
dísticas algunas veces son demasiado incómodas y soluciones más sencillas pueden ser
efectivas en la práctica. El mejor profesor para decidir qué aproximación tomar, es la pro-
pia experiencia trabajando con robots reales.

25.4 Planear el movimiento


En robótica, las decisiones últimamente incluyen el movimiento de efectores. El movi-
MOVIMIENTO PUNTO
A PUNTO miento punto a punto consiste en situar al robot o a sus efectores en una posición de-
terminada. Un reto aún mayor es el problema del movimiento obediente, en el cual un
MOVIMIENTO
OBEDIENTE robot se desplaza mientras está en contacto físico con un obstáculo. Un ejemplo de mo-
vimiento obediente es un robot que manipula un destornillador con una bombilla o un
robot que pone una caja encima de una mesa.
Empezaremos encontrando una buena representación en la cual los problemas de pla-
nificación puedan ser descritos y solucionados. Resulta que el espacio de configuración
(el espacio de los estados del robot definido por la localización, orientación y ángulos
1040 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

de las articulaciones) es un lugar mejor para trabajar que el espacio original en tres di-
PLANIFICACIÓN DE
TRAYECTORIAS
mensiones. El problema de planificación de trayectorias consiste en encontrar un ca-
mino de una configuración a otra configuración del espacio. Hemos encontrado varias
versiones del problema de planificación en este libro; en robótica, la característica prin-
cipal de la planificación es que requiere espacios continuos. La literatura en planifica-
ción distingue un conjunto de técnicas diferentes específicamente creadas para encontrar
caminos en un espacio continuo de dimensión alta. Las aproximaciones más comunes
se conocen como descomposición en celdas y esqueletización. Cada una reduce el pro-
blema continuo de planificación en la búsqueda sobre un grafo discreto mediante la iden-
tificación de algunos estados canónicos y caminos entre el espacio libre. En esta sección
se asume que el movimiento es determinístico y la localización del robot es exacta. Las
secciones siguientes relajarán esas condiciones.

Espacio de configuración
El primer paso hacia la solución del problema es encontrar una representación apropia-
da para el problema. Empezaremos con una simple representación para un problema sen-
cillo. Considere el brazo de robot mostrado en la Figura 25.12(a). Tiene dos articulaciones
que se mueven independientemente. Moviendo las articulaciones altera las coordenadas
(x, y) del codo y de la pinza. (El brazo no puede moverse en la dirección de z.) Esto su-
giere que la configuración puede ser descrita por una coordinación cuatro-dimensional:
(xe, ye) para la localización del codo relativa al entorno y (xg, yg) para la localización de
la pinza. Obviamente, estas cuatro coordenadas caracterizan el estado del robot. Ellas
ÁREA DE TRABAJO constituyen lo que se conoce como representación del área de trabajo, en la que las coor-
denadas del robot se especifican con el mismo sistema de coordenadas que los objetos
que busca para manipular (o evitar). La representación del área de trabajo está bien adap-
tada para la comprobación de colisiones, especialmente si el robot y todos los objetos
se pueden representar por modelos poligonales simples.
El problema con la representación del área de trabajo es que no todas las coorde-
nadas de dicha área son realmente alcanzables, incluso con la ausencia de obstáculos.
RESTRICCIONES DE
UNIÓN Eso es así debido a las restricciones de unión en el espacio para alcanzar las coorde-
nadas del área de trabajo. Por ejemplo, la posición del codo (xe, ye) y de la pinza (xg,
yg) distan siempre una distancia fija, porque están unidas por un brazo rígido. Un pla-
nificador de movimiento de un robot definido sobre un área de trabajo con coordena-
das se enfrenta al problema de generar soluciones que soporten dichas limitaciones. Esto
es particularmente difícil porque el espacio de estados es continuo y las limitaciones
no son lineales.
ESPACIO DE
CONFIGURACIÓN Resulta más fácil planificar con una representación del espacio de configuración.
En vez de representar el estado del robot por las coordenadas cartesianas de sus ele-
mentos, representamos su estado por la configuración de sus articulaciones. Nuestro ro-
bot de ejemplo tiene dos articulaciones. Por lo tanto, podemos representar su estado con
dos ángulos s y e para la articulación del hombro y del codo respectivamente. En
ausencia de obstáculos, un robot puede situarse en cualquier posición del área de
trabajo. En particular, cuando se planifica un determinado camino se puede simplemente
ROBÓTICA 1041

conectar la configuración actual y la de la meta por una línea recta. En el siguiente ca-
mino, el robot debería cambiar sus articulaciones a velocidad constante, hasta que se
alcance la meta.
Desafortunadamente, el espacio de configuración tiene sus problemas. La tarea de
un robot normalmente se expresa mediante coordenadas del área del trabajo, no en co-
ordenadas del espacio de configuración. Por ejemplo podremos querer que un robot mue-
va su efector final a una cierta coordenada del área de trabajo, posiblemente con una
especificación de su orientación. Esto lleva a la pregunta de cómo convertir las coorde-
nadas del área de trabajo en las del espacio de trabajo. En general la inversa de este pro-
blema, transformar configuraciones del espacio de coordenadas en coordenadas del área
de trabajo es simple: incluye una serie de transformaciones obvias del espacio de coor-
denadas. Estas transformaciones son lineales para las articulaciones prismáticas y tri-
gonométricas para articulaciones de revolución. Esta cadena de transformaciones de
coordenadas es conocida como cinemática, un término que encontramos en la discu-
sión sobre los robots móviles.
El problema inverso de calcular la configuración del robot cuya localización de los
efectores se especifica en coordenadas del área de trabajo es conocido como cinemáti-
CINEMÁTICA INVERSA ca inversa. Calcular la cinemática inversa es normalmente difícil sobre todo para robots
con muchos grados de libertad. En particular la solución es pocas veces única. Por
ejemplo nuestro brazo de robot tiene dos configuraciones distintas con las cuales las pin-
zas llegan a las mismas coordenadas del área de trabajo como se muestra en la figura.
En general, este brazo de robot de dos articulaciones está entre cero y dos solucio-
nes de cinemática inversa para cada conjunto de coordenadas del área de trabajo. La ma-
yoría de los robots industriales tienen infinitas soluciones. Para ver cómo puede ser esto
posible, simplemente imagine que añadimos una tercera articulación de revolución a nues-
tro robot de ejemplo, una cuyo eje rotacional sea paralelo a una de las articulaciones ya
existentes. En dicho caso podemos alcanzar la localización (pero no la orientación) de
la pinza fija y rotar sus articulaciones internas, para la mayoría de las configuraciones
del robot. Con unas pocas articulaciones más (¿cuántas?) podemos obtener el mismo efec-
to mientras se mantiene la orientación constante. Hemos visto ya un ejemplo de esto en
el «experimento» de colocar su mano en el escritorio y mover su codo. La restricción
cinemática de la posición de la mano es insuficiente para determinar la configuración
del codo. En otras palabras, la cinemática inversa del ensamblaje hombro-brazo posee
un número infinito de soluciones.
El segundo problema con las representaciones del espacio de configuración se en-
cuentra en los obstáculos que pueden existir en el área de trabajo del robot. Nuestro ejem-
plo en la Figura 25.12(a) muestra varios de estos obstáculos, incluyendo un obstáculo
colgante que se introduce en el interior del área de trabajo del robot. En el área de tra-
bajo, estos obstáculos tienen formas geométricas simples. Pero, ¿qué aspecto tienen en
el espacio de configuración?
La Figura 25.12(b) muestra el espacio de configuración para nuestro robot de ejem-
plo, bajo la configuración específica de obstáculos mostrada en la Figura 25.12(a). El
ESPACIO LIBRE
espacio de configuración puede ser descompuesto en dos subespacios: el espacio de to-
das las configuraciones que el robot puede alcanzar, comúnmente llamado espacio li-
ESPACIO OCUPADO bre, y el espacio de las configuraciones inalcanzables, llamado espacio ocupado. El área
1042 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

mesa

elb

shou mesa
elb obstáculo
vertical

pared
izquierda

shou

(a) (b)

Figura 25.12 (a) Representación del área de trabajo de un brazo robótico con dos grados de li-
bertad. El área de trabajo es una caja con un obstáculo plano colgando del techo. (b) El espacio de
configuración del mismo robot. Sólo las regiones blancas en el espacio son configuraciones libres
de colisión. El punto en este diagrama se corresponde con la configuración del robot mostrada a la
izquierda.

blanca en la Figura 25.12(b) se corresponde al espacio libre. Todas las demás regiones
se corresponden con espacio ocupado. El sombreado diferente del espacio ocupado se
corresponde con los distintos objetos en el área de trabajo del robot; la región negra que
rodea el espacio libre por entero son las configuraciones en las que el robot colisiona
consigo mismo. Es fácil ver que valores extremos para los ángulos del hombro o el codo
pueden causar un choque de este tipo. Las dos regiones ovales a ambos lados del robot
corresponden a la mesa donde el robot está montado. Similarmente, la tercera región
oval corresponde a la pared izquierda. Por último, el objeto más interesante en el espa-
cio de configuración es un simple obstáculo vertical entorpeciendo el área de trabajo
del robot. Este objeto en el espacio de configuración tiene una forma extraña: es alta-
mente no lineal e incluso en algunos lugares cóncava. Con una pequeña cantidad de ima-
ginación el lector reconocerá la forma de la pinza en el extremo superior izquierdo.
Recomendamos al lector parar por un momento y estudiar este importante diagrama. ¡La
forma de este obstáculo no es del todo obvia! El punto en el interior de la Figura
25.12(b) marca la configuración del robot, como muestra la Figura 25.12(a). La Figu-
ra 25.13 representa tres configuraciones adicionales, tanto en el espacio de configura-
ción como en el área de trabajo. En la configuración «conf-1», la pinza circunda el
obstáculo vertical.
En general, incluso si el área de trabajo del robot se representa por polígonos pla-
nos, la forma del espacio libre puede ser muy complicada. En la práctica, en consecuencia,
se suele investigar un espacio de configuración en lugar de construirlo explícitamente.
Un planificador puede generar una configuración y entonces comprobar si está en es-
ROBÓTICA 1043

conf-2

conf-1
conf-3

conf-3
conf-1
conf-2
welb

wshou

(a) (b)

Figura 25.13 Tres configuraciones del robot, mostradas en el área de trabajo y el espacio de con-
figuración.

pacio libre aplicando la cinemática del robot y entonces comprobar si se producen co-
lisiones en las coordenadas del área de trabajo.

Métodos de descomposición en celdas


DESCOMPOSICIÓN EN Nuestra primera aproximación a la planificación de rutas utiliza descomposición en cel-
CELDAS
das, esto es, descompone el espacio libre en un número finito de regiones continuas, lla-
madas celdas. Estas regiones tienen la importante propiedad de que el problema de
planificación de rutas en una región simple puede ser resuelta de forma simple (por ejem-
plo, moviéndose en línea recta). El problema de planificación de rutas se transforma en-
tonces en un problema de búsqueda en un grafo discreto, muy parecido a los problemas
de búsqueda mostrados en el Capítulo 3.
La descomposición en celdas más simple consiste en una rejilla regular. La Figura
25.14(a) muestra una descomposición en una rejilla cuadriculada del espacio y una ruta
solución que es óptima para este tamaño de rejilla. Hemos utilizado también un som-
breado en escala de grises para indicar el valor de cada celda de la rejilla de espacio li-
bre, por ejemplo, el coste del camino más corto desde la celda hasta el objetivo. (Estos
valores pueden ser calculados de una forma determinista mediante el algoritmo de VA-
LUE-ITERATION dado en la Figura 17.4.) La Figura 25.14(b) muestra la trayectoria co-
rrespondiente en el área de trabajo del brazo.
Esta descomposición tiene la ventaja de que es extremadamente fácil de implemen-
tar, pero sufre dos limitaciones. Primero, sólo podemos trabajar con espacios de confi-
guración de poca dimensionalidad, ya que el número de celdas de la rejilla crece
1044 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

goal

inicio

objetivo
inicio

(a) (b)

Figura 25.14 (a) Función de valor y ruta encontrada para una aproximación de rejilla discreta de
celdas del espacio de configuración. (b) La misma ruta visualizada en coordenadas del área de tra-
bajo. Observe cómo el robot dobla su codo para evitar la colisión con el obstáculo vertical.

exponencialmente con d, el número de dimensiones. Segundo, existe el problema de qué


hacer con las células «mixtas», esto es, que no se encuentran por entero ni en espacio
libre ni en espacio ocupado. Una solución que incluya una celda de este tipo puede que
no sea una solución real, porque puede no haber forma de cruzar la celda en la direc-
ción deseada mediante una línea recta. Esto puede hacer el planificador de rutas imper-
fecto. Por otra parte, si hacemos que sólo las celdas completamente libres puedan ser
usadas, el planificador sería incompleto, ya que se puede dar el caso de que las únicas
rutas al objetivo deban ir a través de celdas mixtas, especialmente si el tamaño de la cel-
da es comparable a los pasillos o los espacios libres en el espacio.
Hay dos formas de modificar el método de descomposición en celdas para evitar estos
problemas. Lo primero es permitir una subdivisión adicional de las celdas mixtas
(quizás usando celdas con un tamaño que sea la mitad del original). Esto puede repetir-
se recursivamente hasta que se encuentre una ruta que atraviese únicamente celdas li-
bres. (Por supuesto, el método sólo funciona si hay una forma de saber si una celda es
una celda mixta, que es fácil sólo si los límites del espacio de configuración tienen des-
cripciones matemáticas relativamente simples.) Este método es completo a condición de
que haya un límite en el pasillo más pequeño a través del cual la solución deba pasar. A
pesar de que se centra la mayoría del esfuerzo computacional en las áreas más difíciles
dentro del espacio de configuración, sigue fallando el escalado en problemas de alta di-
mensionalidad porque cada división recursiva de una celda crea 2d celdas más peque-
ñas. Una segunda forma de obtener un algoritmo completo es insistir en una
DESCOMPOSICIÓN
EXACTA EN CELDAS descomposición exacta en celdas del espacio libre. Este método debe permitir que las
celdas tengan formas irregulares de tal modo que estén en contacto con los límites del
ROBÓTICA 1045

espacio libre, pero las formas deben ser todavía «simples» en el sentido de que debería
ser fácil calcular una travesía para cada celda libre. Esta técnica requiere algunas ideas
geométricas algo avanzadas, así que no entraremos en más detalle.
Examinando la solución mostrada en la Figura 25.14(a), podemos ver dificultades
adicionales que tienen que ser resueltas. Primero, se puede observar que la ruta contie-
ne esquinas arbitrariamente agudas; un robot moviéndose a una velocidad finita no po-
dría ejecutar una ruta de este tipo. Por otra parte, la ruta es muy cercana al obstáculo.
Cualquiera que haya conducido un coche sabe que una plaza de aparcamiento con un
milímetro de espacio en cada lado no es realmente una plaza de aparcamiento; por la mis-
ma razón, preferiríamos rutas solución que fueran robustas a pequeños errores de mo-
vimiento.
Querríamos maximizar la distancia a los obstáculos mientras se minimiza la longi-
CAMPO DE POTENCIAL tud de la ruta. Esto puede ser conseguido introduciendo un campo de potencial. Un cam-
po de potencial es una función definida sobre el espacio de estados, cuyo valor crece con
la distancia al obstáculo más cercano. La Figura 25.15(a) muestra un campo de poten-
cial de este tipo (cuanto más oscuro sea el estado de configuración, más cercano estará
a un obstáculo). Cuando se usa en la planificación de rutas, este campo de potencial se
transforma en un término de coste adicional en la optimización. Esto introduce un cam-
bio interesante. Por una parte, el robot busca minimizar la longitud del camino hasta el
objetivo. Por otra parte, trata de mantenerse alejado de los obstáculos mediante la mi-
nimización de la función de potencial. Con el peso apropiado entre los dos objetivos, la
ruta resultante puede parecerse a la mostrada en la Figura 25.15(b). Esta figura también
muestra la función derivada de la función de coste combinada, calculada de nuevo me-
diante iteración de valores. Claramente, la ruta resultante es más larga, pero también es
más segura.

inicio objetivo

(a) (b)

Figura 25.15 (a) Un campo de potencial repulsivo empuja al robot lejos de los obstáculos. (b)
La ruta encontrada mediante la minimización simultánea de la longitud de la ruta y el potencial.
1046 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

Métodos de esqueletización
La segunda principal familia de algoritmos de planificación de rutas está basada en la
ESQUELETIZACIÓN idea de la esqueletización. Estos algoritmos reducen el espacio libre del robot a una re-
presentación unidimensional, para la cual el problema de planificación es más fácil. Esta
representación de menor dimensionalidad es llamada esqueleto del espacio de confi-
guración.
DIAGRAMA DE La Figura 25.16 muestra una esqueletización de ejemplo: es un diagrama de Vo-
VORONOI
ronoi del espacio libre (el conjunto de todos los puntos que son equidistantes de dos o
más obstáculos). Para hacer planificación de rutas con un diagrama de Voronoi, el ro-
bot primero cambia su configuración presente a un punto en el grafo de Voronoi. Es fá-
cil demostrar que esto siempre puede ser conseguido mediante un movimiento en línea
recta en el espacio de configuración. Después, el robot sigue el diagrama de Voronoi has-
ta que alcanza el punto más cercano a la configuración objetivo. Finalmente, el robot deja
el diagrama de Voronoi y se mueve al objetivo. Otra vez, el paso final implica movimiento
en línea recta en el espacio de configuración.
De esta forma, el problema original de planificación de rutas se reduce a encontrar
una ruta en el diagrama de Voronoi, que es generalmente unidimensional (excepto en
casos no genéricos) y tiene varios puntos finitos donde tres o más curvas unidimensio-
nales intersectan. De esta manera, encontrar el camino más corto en el diagrama de Vo-
ronoi es un problema de búsqueda en un grafo discreto del tipo de los mostrados en los
Capítulos 3 y 4. Según el diagrama de Voronoi puede no darnos el camino más corto, pero
las rutas resultantes tienden a maximizar el espacio libre. La desventaja principal de las
técnicas basadas en diagramas de Voronoi es que son difíciles de aplicar a espacios de

(a) (b)

Figura 25.16 (a) El diagrama de Voronoi es un conjunto de puntos equidistantes a dos o más obs-
táculos en el espacio de configuración. (b) Un itinerario probabilístico, compuesto de 400 puntos
elegidos al azar en espacio libre.
ROBÓTICA 1047

configuración de dimensiones más altas, y que tienden a inducir desvíos innecesariamente


grandes cuando el espacio de configuración es muy abierto. Además, computar el dia-
grama de Voronoi puede ser difícil, específicamente en el espacio de configuración, don-
de la forma de los obstáculos puede ser compleja.
Una alternativa a los diagramas de Voronoi es el itinerario probabilístico, una
ITINERARIO
aproximación basada en esqueletización que ofrece más rutas posibles, y además fun-
PROBABILÍSTICO ciona mejor con los espacios abiertos. La Figura 25.16(b) muestra un ejemplo de itine-
rario probabilístico. El grafo es creado generando aleatoriamente un gran número de
configuraciones, y descartando aquellas que no caigan en espacio libre. Entonces, uni-
mos un par de nodos cualquiera por un arco si es «fácil» alcanzar un nodo desde el otro,
por ejemplo, por una línea recta en espacio libre. El resultado de todo esto es un grafo
aleatorio en el espacio libre del robot. Si añadimos las configuraciones de inicio y ob-
jetivo del robot a este grafo, la planificación de ruta se traduce en la búsqueda en un gra-
fo discreto. Teóricamente, esta aproximación es incompleta, ya que la mala elección de
puntos aleatorios puede dejarnos sin ninguna ruta desde el inicio hasta el objetivo. Es
posible limitar la probabilidad de fallo a partir del número de puntos generado y ciertas
propiedades geométricas del espacio de configuración. También es posible dirigir la ge-
neración de puntos hacia áreas donde una búsqueda parcial sugiera que una buena ruta
puede ser encontrada, trabajando bidireccionalmente desde las posiciones de inicio y fi-
nal. Con estas mejoras, la planificación por itinerario probabilístico tiende a adaptarse
mejor a espacios de configuración altamente dimensionados que muchas de las técni-
cas alternativas de planificación de rutas.

25.5 Planificar movimientos inciertos


Ninguno de los algoritmos de planificación de movimientos expuestos hasta ahora tie-
ne en cuenta una de las características clave de los problemas en robótica: la incerti-
dumbre. En robótica, la incertidumbre proviene de la observabilidad parcial del entorno
y de los efectos estocásticos (o no modelados) de las acciones del robot. Los errores pue-
den también provenir del uso de algoritmos de aproximación como el filtrado de partí-
culas, que no provee al robot con un estado de creencia exacto incluso si la naturaleza
estocástica del entorno se modela perfectamente.
La mayoría de los robots de hoy en día usan algoritmos determinísticos para la toma
de decisiones, como los algoritmos de planificación de rutas explicados hasta ahora. Para
ESTADO MÁS
PROBABLE
ello, es una práctica común extraer el estado más probable de la distribución de esta-
dos producida por el algoritmo de localización. La ventaja de esta aproximación es pu-
ramente computacional. Planificar rutas mediante espacios de configuración es todavía
un problema desafiante; podría ser peor si tuviéramos que trabajar con una distribución
de probabilidad plena sobre los estados. Ignorar la incertidumbre de esta manera fun-
ciona correctamente cuando la incertidumbre es pequeña.
Desafortunadamente, ignorar la incertidumbre no siempre funciona. En algunos
problemas la incertidumbre del robot es simplemente demasiado grande. Por ejemplo,
¿cómo podríamos usar un planificador de rutas determinista para controlar un robot mó-
1048 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

vil que no tiene idea de dónde está? En general, si el estado real del robot no es uno iden-
tificado por la regla de máxima probabilidad, el control resultante será subóptimo. De-
pendiendo de la magnitud del error esto puede llevar a toda una serie de efectos
indeseables, como colisiones con obstáculos.
El campo de la robótica ha adoptado una gama de técnicas para acomodarse a la in-
certidumbre. Algunas se derivan de los algoritmos dados en el Capítulo 17 para la toma
de decisiones bajo incertidumbre. Si el robot sólo se enfrenta a la incertidumbre en su
estado de transición, pero este estado es plenamente observable, el problema es mode-
lado mejor como un proceso de Decisión de Markov, o MDP. La solución para un MDP
es una política óptima, que le dice al robot qué hacer en cada posible estado. De esta
forma, puede manejar todos los tipos de errores de movimiento, mientras que una solu-
ción única obtenida mediante un planificador determinístico sería mucho menos robus-
FUNCIONES DE
NAVEGACIÓN
ta. En robótica, las políticas son normalmente llamadas funciones de navegación. La
función mostrada en la Figura 25.14(a) puede ser convertida en una de estas funciones
de navegación simplemente siguiendo el gradiente.
Como en el Capítulo 17, la observabilidad parcial hace el problema mucho más com-
plicado. El problema de control del robot resultante es un MDP observable parcial-
mente, o POMDP. En estas situaciones, el robot normalmente mantiene un estado de
creencia interno, como los discutidos en el Apartado 25.3. La solución a un POMDP es
una política definida sobre el estado de creencia del robot. Dicho de otra forma, la en-
trada a la política es una distribución de probabilidad entera. Esto permite al robot ba-
sar sus decisiones no sólo en lo que conoce, sino también en lo que no. Por ejemplo, si
no se tiene certeza sobre un estado crítico variable, se puede racionalmente invocar una
ACCIÓN DE RECOGIDA
DE INFORMACIÓN
acción de recogida de información. Esto es imposible en el marco del MDP, ya que
los MDPs asumen observabilidad plena. Desafortunadamente, las técnicas que resuel-
ven POMDPs de forma exacta son inaceptables para la robótica, no hay técnicas cono-
cidas para espacios continuos. La discretización normalmente produce POMDPs que son
demasiado grandes para ser manejados por técnicas conocidas. Todo lo que podemos ha-
cer es intentar mantener la menor incertidumbre posible; por ejemplo, la heurística de
NAVEGACIÓN COSTERA navegación costera requiere que el robot permanezca cerca de marcadores conocidos
para decrementar su incertidumbre de posicionamiento. Esto, además, decrementa gra-
dualmente la incertidumbre de la obtención de nuevos marcadores que están cercanos,
lo que permite al robot explorar más territorio.

Métodos robustos
ROBUSTOS La incertidumbre puede ser también manejada utilizando los así llamados métodos ro-
bustos en lugar de los métodos probabilísticos. Un método robusto es aquel que asume
una cantidad limitada de incertidumbre en cada aspecto del problema, pero que no asig-
na probabilidades a los valores en el interior del intervalo permitido. Una solución ro-
busta es una que funciona sin importar cuáles son los valores actuales, siempre que se
encuentren dentro del intervalo asumido. Una forma extrema de método robusto es la
aproximación de planificación conformista dada en el Capítulo 12, produce planes que
funcionan sin ningún tipo de información sobre el estado.
ROBÓTICA 1049

PLANIFICACIÓN DE Aquí vemos un método robusto que es utilizado para la planificación de movimiento
MOVIMIENTO
CERTERO certero (fine-motion planning o FMP) en tareas de ensamblaje de robots. La planifica-
ción de movimiento certero implica mover un brazo robótico en una gran proximidad a
un objeto estático del entorno. La principal dificultad con la planificación de movimiento
certero es que los movimientos requeridos y las características relevantes del entorno son
muy pequeños. A estas escalas tan pequeñas, el robot es incapaz de medir o controlar
su posición de forma precisa y puede también no tener certeza sobre la forma del en-
torno; asumiremos que estas incertidumbres están todas limitadas. Las soluciones a los
problemas de FMP serán típicamente planes condicionales o políticas que hagan uso de
información de los sensores durante la ejecución y garantizan su buen funcionamiento
en todas las situaciones consistentes con los límites asumidos de incertidumbre.
Un plan de movimiento certero consiste en una serie de movimientos cautelosos.
Cada movimiento cauteloso consiste en (1) un comando de movimiento y (2) una con-
dición de terminación, que es un predicado sobre el valor de los sensores del robot, y
retorna verdadero para indicar el final del movimiento cauteloso. Los comandos de mo-
vimiento son típicamente movimientos amoldables que permiten al robot deslizarse si
el comando de movimiento pudiera causar colisión con un obstáculo. Como un ejem-
plo, la Figura 25.17 muestra una configuración espacial en dos dimensiones con un es-
trecho agujero vertical. Podría ser el espacio de configuración para la inserción de una
clavija rectangular en un agujero que es ligeramente más grande. Los comandos de mo-
vimiento son velocidades constantes. Las condiciones de terminación son el contacto con
la superficie. Para modelar la incertidumbre en el control, asumimos que en lugar de mo-
ver en la dirección indicada, el movimiento real del robot permanece en el cono Cv. La
figura muestra qué pasaría si ordenáramos una velocidad hacia abajo desde la región de
inicio s. Debido a la incertidumbre en la velocidad, el robot podría moverse a cualquier
lugar dentro de la región cónica, posiblemente dirigiéndose hacia el agujero, pero más
probablemente situándose en algún lado del mismo. Debido a que el robot no sabría en-
tonces en qué lado del agujero se encuentra, no sabría en qué dirección moverse.

Cv
Configuración inicial

Región de v
movimiento

Figura 25.17 Un entorno en dos dimensiones, cono de incertidumbre de velocidad, y región de


posibles movimientos del robot. La velocidad buscada es v, pero con incertidumbre la velocidad
real podría estar en cualquier lugar de Cv, resultando en una configuración final en cualquier lugar
de la región de movimiento, lo que significa que no podríamos saber si hemos acertado en el agu-
jero o no.
1050 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

Una estrategia más sensata se muestra en las Figuras 25.18 y 25.19. En la Figura 25.18,
el robot deliberadamente se mueve hacia uno de los lados del agujero. La orden de mo-
vimiento se muestra en la figura, y la condición de terminación es el contacto con al-
guna superficie. En la Figura 25.19, se da una orden de movimiento que causa que el
robot se deslice a lo largo de la superficie y hacia el agujero. Esto asume que se utilice
una orden de movimiento correcta. Debido a que todas las posibles velocidades en la re-
gión de movimiento son hacia la derecha, el robot se desplazará hacia la derecha siem-
pre que se encuentre en contacto con una superficie horizontal. Se deslizará hacia el límite
vertical inferior derecho del agujero cuando lo toque, porque todas las posibles veloci-
dades relativas a una superficie vertical van hacia abajo. Se seguirá moviendo hasta que
alcance la parte inferior del agujero, debido a que esa es su condición de terminación.
A pesar de la incertidumbre en el control, todas las posibles trayectorias del robot ter-
minan en contacto con la parte inferior del agujero, a menos que irregularidades en la
superficie causen que el robot quede atascado en algún lugar.
Como podría imaginarse, el problema de construir planes de movimiento certero no
es trivial; de hecho, es mucho más complicado que la planificación con movimientos exac-
tos. Podemos o bien elegir un número fijo de valores discretos para cada movimiento o

Cv
configuración
inicial
v
región de
movimiento

Figura 25.18 La primera orden de movimiento y la región resultante de posibles movimientos


del robot. No importa cuál sea el error, nosotros sabemos que la configuración final será a la iz-
quierda del agujero.

Cv
v
región de
movimiento

Figura 25.19 La segunda orden de movimiento y la región de posibles movimientos. Incluso con
error, a la larga llegaremos al agujero.
ROBÓTICA 1051

bien utilizar la geometría del entorno para elegir direcciones que den comportamientos
cualitativamente diferentes. Un planificador de movimiento certero toma como entrada
una descripción del espacio de configuración, el ángulo del cono de incertidumbre de la
velocidad, y una especificación de qué estímulos son posibles para la terminación (con-
tacto con la superficie en este caso). Produciría un plan condicional multipaso o una po-
lítica de éxito garantizado, si dicho plan existiera.
Nuestro ejemplo asume que el planificador tiene un modelo exacto del entorno, pero
es posible permitir un error acotado en este modelo como se indica a continuación. Si
el error puede ser descrito en términos de parámetros, estos parámetros pueden ser aña-
didos como grados de libertad al espacio de configuración. En el último ejemplo, si la
profundidad y la anchura del agujero fueran indeterminados, podríamos añadirlos como
dos grados de libertad en el espacio de configuración. Es imposible mover al robot en
estas direcciones en el espacio de configuración u obtener su posición directamente. Pero
estas restricciones pueden ser incorporadas cuando se describa el problema como un pro-
blema FMP mediante la especificación de las incertidumbres de control y sensorización.
Esto nos da un problema de planificación cuatridimensional y complejo, pero exacta-
mente las mismas técnicas de planificación pueden ser aplicadas. Hay que notar que no
muy diferente que los métodos de decisión teorética del Capítulo 17, este tipo de apro-
ximación robusta resulta en planes diseñados para resolver el peor caso, más que para
maximizar la calidad esperada de la planificación. Las planificaciones de peor caso son
óptimas en el sentido de la decisión teorética si el fallo durante la ejecución es mucho
peor que cualquier otro coste involucrado en la ejecución.

25.6 Movimiento
Hasta ahora, hemos hablado de planificar movimientos, pero no acerca de cómo moverse.
Nuestros planes (particularmente aquellos producidos por planificadores de ruta deter-
minísticos) asumen que el robot puede simplemente seguir cualquier ruta que el algo-
ritmo produce. Esto no es cierto en el mundo real. Los robots tienen inercia y no pueden
ejecutar rutas arbitrarias excepto a una baja velocidad. En la mayoría de los casos, más
que especificar posiciones, el robot trata de aplicar fuerzas. Esta sección muestra méto-
dos para calcular estas fuerzas.

Dinámica y control
El Apartado 25.2 introdujo la noción de estado dinámico, que extiende el estado cine-
mática de un robot mediante el modelado de sus velocidades. Por ejemplo, en adición
al ángulo de la articulación de un robot, el estado dinámico además captura la veloci-
dad de cambio del ángulo. El modelo de transición para la representación de un estado
dinámico incluye el efecto de las fuerzas en esta velocidad de cambio. Estos modelos
ECUACIONES
DIFERENCIALES son típicamente expresados mediante ecuaciones diferenciales, que son ecuaciones
que relacionan una cantidad (por ejemplo, un estado cinemático) con el cambio de la can-
1052 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

tidad con el tiempo (por ejemplo, velocidad). En principio podríamos haber elegido pla-
nificar el movimiento del robot usando modelos dinámicos, en lugar de nuestros mode-
los cinemáticos. Esta metodología nos llevaría a una actuación superior del robot, si
pudiéramos generar los planes. Sin embargo, el estado dinámico es más complejo que
el espacio cinemático, y la maldición de la dimensionalidad podría hacer los problemas
de planificación de movimiento intratables para todos menos para los robots más sim-
ples. Por esta razón, los sistemas robóticos reales normalmente se basan en planifica-
dores de rutas más simples.
Una técnica común para compensar las limitaciones de las planificaciones cinemá-
CONTROLADOR ticas es usar un mecanismo separado, un controlador, para mantener al robot en ruta.
Los controladores son técnicas para generar controles del robot en tiempo real utilizan-
CONTROLADOR DE do retroalimentación del entorno, así como para conseguir un objetivo de control. Si el
REFERENCIA
objetivo es mantener al robot en una ruta preplaneada, entonces es común llamarlo con-
RUTA DE REFERENCIA trolador de referencia y a la ruta ruta de referencia. Los controladores que optimizan
una función global de coste son conocidos como controladores óptimos. Las políticas
CONTROLADORES
ÓPTIMOS óptimas para los MDPs son, en efecto, los controladores óptimos.
Superficialmente, el problema de mantener el robot en una ruta pre-especificada pa-
rece ser relativamente directo. En la práctica, sin embargo, incluso este problema apa-
rentemente simple tiene sus trampas. La Figura 25.20(a) ilustra lo que puede ir mal. Lo
que se muestra es una ruta para un robot que intenta seguir una ruta cinemática. Cada
vez que se produce una desviación (ya sea por el ruido o por las restricciones en las fuer-
zas que el robot puede aplicar) el robot provee una fuerza en sentido contrario cuya mag-
nitud es proporcional a su desviación. Intuitivamente, esto puede parecer factible, ya que
las desviaciones podrían ser compensadas por una contra-fuerza para mantener al robot
en el camino. Sin embargo, como muestra la Figura 25.20(a), nuestro controlador cau-
sa que el robot vibre más bien violentamente. La vibración es el resultado de la inercia
natural del brazo robótico: una vez devuelto a su posición de referencia el robot puede
llegar más allá, lo cual induce un error simétrico de signo opuesto. La Figura 25.20(a)
muestra que esta desviación puede continuar a largo de la trayectoria completa, y que
el movimiento resultante del robot estaría lejos de ser el deseable. Claramente hay una
necesidad de un mejor control.
Para llegar a obtener un mejor controlador, describamos formalmente el tipo de con-
trolador que produjo la desviación. Los controladores que proveen una fuerza en pro-
CONTROLADOR P porción negativa al error observado son conocidos como controladores P. La letra P viene
de proporcional, indicando que el control actual es proporcional al error del manipula-
dor del robot. Más formalmente, sea y(t) la ruta de referencia, parametrizada por algún
índice t. El control at generado por un controlador P tiene la siguiente forma:
at  KP (y(t)  xt)
PARÁMETRO DE
GANANCIA Aquí xt es el estado del robot en el instante t. KP es el llamado parámetro de ganancia
del controlador que regula cuánto corrige la desviación el controlador entre el estado ac-
tual xt y el deseado y(t). En nuestro ejemplo, Kp = 1. En un primer momento, podemos
pensar que elegir un valor menor de Kp remedia el problema. Desafortunadamente este
no es el caso. La Figura 25.20(b) muestra una trayectoria para Kp = ,1, todavía descri-
biendo un comportamiento oscilatorio. Valores menores del parámetro de ganancia pue-
ROBÓTICA 1053

(a) (b) (c)

Figura 25.20 Control de brazo robótica utilizando (a) control proporcional con factor de ganan-
cia 1,0, (b) control proporcional con control de ganancia 0,1, y (c) control PD con factores de ga-
nancia 0,3 para el componente proporcional y 0,8 para el diferencial. En todos los casos el robot
trata de seguir la ruta mostrada en gris.

den simplificar la oscilación, pero no resolver el problema. De hecho, en ausencia de fric-


ción, el controlador P es esencialmente una ley de resorte; por lo tanto oscilará indefi-
nidamente alrededor de una localización objetivo fija.
Tradicionalmente, los problemas de este tipo se engloban dentro del ámbito de la
teoría de control, un campo de importancia creciente para los investigadores en IA. Dé-
cadas de investigación en este campo han llevado a un mayor número de controladores
que son superiores a la simple regla de control dada más arriba. En particular, un con-
ESTABLE trolador de referencia se dice que es estable si pequeñas perturbaciones llevan a un error
limitado entre el robot y la señal de referencia. Se dice que es estrictamente estable si
ESTRICTAMENTE
ESTABLE es capaz de retornar a su ruta de referencia a pesar de tales perturbaciones. Claramente,
nuestro controlador P parece ser estable pero no estrictamente estable, ya que no consi-
gue retornar a su trayectoria de referencia.
El controlador más simple que consigue estabilidad estricta en nuestro dominio se
CONTROLADOR PD conoce como controlador PD. La letra ‘P’ sigue viniendo de proporcional, y ‘D’ vie-
ne de derivativo. Los controladores PD son descritos por la siguiente ecuación:
(y(t)  xt)
at  KP (y(t)  xt)  KD  (25.3)
t
Como esta ecuación sugiere, los controladores PD extienden los controladores P con una
componente diferencial, que añade al valor de at un término que es proporcional a la pri-
mera derivada del error y(t)  xt con respecto al tiempo. ¿Cuál es el efecto de este tér-
mino? En general, un término de derivada amortigua el sistema que está siendo
controlado. Para verlo, consideremos una situación donde el error (y(t)  xt) cambie rá-
pidamente con el tiempo, como es el caso de nuestro controlador P indicado arriba. La
derivada de este error contrarrestará entonces el término proporcional, lo que reducirá
la respuesta global a la perturbación. Sin embargo, si el mismo error persiste y no cam-
bia, la derivada se eliminará y entones el término proporcional dominará la elección del
control.
1054 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

La Figura 25.20(c) muestra el resultado de aplicar este controlador PD a nuestro bra-


zo robótico, usando como parámetros de ganancia KP = ,3 y KD = ,8. Claramente la ruta
resultante es mucho más suave, y no muestra ninguna oscilación obvia. Como este
ejemplo sugiere, un término diferencial puede hacer estable un controlador que de otra
forma no lo sería.
En la práctica, los controladores PD también pueden fallar en determinadas cir-
cunstancias. En particular, los controladores PD pueden fallar al regular un error próxi-
mo a cero, aun en ausencia de perturbaciones externas. Esto no es obvio en nuestro
ejemplo, pero algunas veces se requiere una retroalimentación sobreproporcionada para
disminuir un error hacia cero. La solución a este problema está en añadir un tercer tér-
mino a la ley de control, basado en una integral del error a lo largo del tiempo:

at  KP (y(t)  xt)  KI  (y(t)  x ) dt  K 


t D
(y(t)  x )

t
t
(25.4)

Aquí KI es otro parámetro de ganancia más. El término Ú (y(t)  xt) dt calcula la integral
del error con el tiempo. El efecto de este término es que las desviaciones duraderas en-
tre la señal de referencia y el estado actual son corregidas. Si, por ejemplo, xt es menor
que y(t) durante un largo período de tiempo, esta integral crecerá hasta que el control
resultante at fuerza este error a reducirse. Los términos integrales, pues, aseguran que
un controlador no muestra error sistemático, con la desventaja de un aumento en el ries-
go del comportamiento oscilatorio. Un controlador con los tres términos es llamado con-
CONTROLADOR PID trolador PID. Los controladores PID son muy usados en la industria, para una gran
variedad de problemas de control.

Control del campo de potencial


Introdujimos los campos de potencial como una función de coste adicional en la plani-
ficación de movimiento del robot, pero también pueden ser usados para generar movi-
mientos del robot directamente, en conjunto con la fase de planificación de movimiento.
Para conseguirlo, debemos definir una fuerza atractiva que empuje al robot hacia su con-
figuración objetivo y un campo potencial repulsivo que empuje al robot lejos de los obs-
táculos. Este tipo de campo de potencial se muestra en la Figura 25.21. Su único mínimo
global es la configuración objetivo, y el valor es la suma de la distancia a su configura-
ción objetivo y la proximidad a los obstáculos. Ninguna planificación está involucrada
en la generación del campo de potencial mostrado en la figura. Debido a esto, los cam-
pos de potencial son muy adecuados para control en tiempo real. La Figura 25.21 mues-
tra dos trayectorias de un robot que realiza el ascenso de una elevación en el campo de
potencial, a partir de dos configuraciones iniciales diferentes. Además, optimizando las
cantidades de potencial mediante el cálculo del gradiente de potencial para la configu-
ración actual del robot. Estos cálculos normalmente son extremadamente eficientes, es-
pecialmente cuando se comparan con los algoritmos de planificación de trayectorias, los
cuales son exponenciales en la dimensionalidad del espacio de configuración (los gra-
dos de libertad).
ROBÓTICA 1055

objetivo comienzo objetivo

comienzo

(a) (b)

Figura 25.21 Control por campo de potencial. El robot asciende por un campo de potencial com-
puesto de fuerzas de repulsión obtenidas a partir de los obstáculos, y fuerzas atrayentes que co-
rresponden a la configuración objetivo. (a) Ruta con éxito. (b) Óptimo local.

El hecho de que la aproximación del campo de potencial trate de encontrar una ruta
al objetivo de esta forma tan eficiente, a pesar de largas distancias en el espacio de con-
figuración, hace surgir la pregunta de por qué es necesaria la planificación en robótica.
¿Son los campos de potencial suficientes o simplemente hemos sido afortunados en nues-
tro ejemplo? La respuesta es que ciertamente hemos sido afortunados. Los campos de
potencial tienen varios mínimos locales que pueden atrapar al robot. En este ejemplo,
el robot se aproxima al obstáculo simplemente rotando su articulación de hombro, has-
ta que queda atrapado en el lado equivocado del obstáculo. El campo de potencial no es
lo suficientemente rico para hacer al robot flexionar su codo de tal forma que el brazo
quepa bajo el obstáculo. En otras palabras, las técnicas de campo de potencial son muy
buenas para control local del robot pero todavía necesitan planificación global. Otra des-
ventaja importante de los campos de potencial es que las fuerzas que generan dependen
sólo de la posición del robot y de los obstáculos, no de la velocidad del robot. Por lo tan-
to, el control por campo de potencial realmente es un método cinemático y puede fallar
si el robot se mueve rápidamente.

Control reactivo
Hasta ahora hemos considerado decisiones de control que requieren algún modelo del
entorno para construir o bien una ruta de referencia o bien un campo de potencial. Hay
algunas dificultades con esta aproximación. Primero, los modelos que son lo suficien-
temente precisos son a menudo difíciles de obtener, especialmente en entornos complejos
o remotos, como la superficie de Marte. Segundo, incluso en los casos en los que poda-
1056 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

mos idear un modelo con la suficiente precisión, las dificultades computacionales y el


error de localización pueden hacer estas técnicas nada prácticas. En algunos casos, un
CONTROL REACTIVO diseño de agentes guiados por reflejos (el llamado control reactivo) es más apropiado.
Uno de estos ejemplos es el robot de seis piernas, o hexápodo mostrado en la Fi-
HEXÁPODO
gura 25.22(a), que tiene la tarea de andar a través de terreno abrupto. Los sensores del
robot son enormemente inadecuados para obtener modelos del terreno con la suficien-
te precisión para que cualquiera de las técnicas de planificación descritas en las seccio-
nes previas funcione. Además, incluso si añadiésemos los suficientes sensores precisos,
los doce grados de libertad (dos por cada pierna) harían del problema de planificación
de ruta resultante algo computacionalmente intratable.
Es posible, aun así, especificar un controlador directamente sin un modelo explí-
cito del entorno. (Hemos visto ya esto con el controlador PD, que era capaz de dirigir
un brazo robótico al objetivo sin un modelo explícito de la dinámica del robot; ello re-
quería, sin embargo, una ruta de referencia generada a partir de un modelo cinemáti-
co.) Para el ejemplo de nuestro robot con piernas, especificar una ley de control se
convierte en algo sorprendentemente simple en el nivel de abstracción correcto. Una
ley de control viable podría hacer moverse cada pierna en ciclos, de tal forma que par-
te del tiempo se encuentre tocando el suelo y otra parte del tiempo permanezca en el
aire. Las seis piernas deberían estar coordinadas de tal forma que tres de ellas (en ex-
tremos opuestos) estuvieran siempre en tierra para proveer de soporte físico. Este pa-
trón de control es fácilmente programable y funciona muy bien en terreno plano. En
terreno abrupto, los obstáculos pueden evitar a las piernas oscilar hacia delante. Este
problema puede ser solucionado con una regla de control extremadamente simple:
cuando el movimiento hacia delante de una pierna esté bloqueado, simplemente re-
trásala, elévala más alto, y prueba de nuevo. El controlador resultante se muestra en
la Figura 25.22(b) como un autómata finito; constituye un agente guiado por reflejos
con estado, donde el estado interno está representado por el índice del estado actual de
la máquina (de s1 a s4).

retroceder, elevar

ir adelante no
S3 ¿atorado? S4

elevar bajar

empujar
S2 S1

(a) (b)

Figura 25.22 (a) un robot hexápodo (b) Un autómata finito aumentado (AFSM o augmented fi-
nite state machine) para el control de una única pierna. Este AFSM reacciona a la retroalimenta-
ción de los sensores: si una pierna se atasca durante la fase de movimiento hacia delante, se elevará
incrementalmente.
ROBÓTICA 1057

Variantes de este simple controlador guiado por retroalimentación pueden ser en-
contradas para generar un patrón robusto para caminar, capaz de hacer maniobrar al ro-
bot a través de terreno abrupto. Claramente, dicho controlador no se ajusta a ningún
modelo, y no hace uso de deliberación o de búsqueda para generar controles. Cuando se
ejecuta un controlador de este tipo, la retroalimentación del entorno representa un papel
crucial en el comportamiento generado por el robot. El software por sí mismo no espe-
cifica qué pasará cuando el robot se coloque en el entorno. El comportamiento que sur-
ge por la interactuación entre un controlador (simple) y un entorno (complejo) es
COMPORTAMIENTO
EMERGENTE normalmente llamado comportamiento emergente. Estrictamente hablando, todos los
robots mencionados en este capítulo muestran un comportamiento emergente, debido a
que no existe modelo perfecto. Históricamente, sin embargo, el término se ha reservado
para técnicas de control que no utilizan modelos explícitos del entorno. El comportamiento
emergente es también característico de un gran número de organismos biológicos.
Técnicamente, los controladores reactivos son sólo una implementación de una po-
lítica de un MDP (o, si tienen estado interno, de un POMDP). En el Capítulo 17, en-
contrábamos diversas técnicas para generar políticas a partir de modelos del robot y su
entorno. En robótica, crear este tipo de políticas a mano es de gran importancia prácti-
ca, debido a nuestra incapacidad para formular modelos precisos. El Capítulo 21 des-
cribía métodos de refuerzo de aprendizaje para construir políticas a partir de la
experiencia. Algunos de estos métodos (como el Q-learning y métodos de búsqueda de
políticas) no requieren modelo del entorno y son capaces de generar controladores de
alta calidad para los robots, pero a costa de depender de una gran cantidad de datos de
entrenamiento.

25.7 Arquitecturas software robóticas


Una metodología para estructurar algoritmos es la llamada arquitectura software. Una
ARQUITECTURA
SOFTWARE arquitectura normalmente incluye lenguajes y herramientas para escribir programas, así
como una filosofía global de cómo los programas deben unirse.
Las arquitecturas software actuales para la robótica deben decidir cómo combinar
control reactivo y control deliberativo basado en modelos. De muchas maneras, el con-
trol reactivo y el deliberativo tienen fuerzas y debilidades ortogonales. El control reac-
tivo es guiado por sensores y apropiado para hacer decisiones de bajo nivel en tiempo
real. Sin embargo, el control reactivo raramente nos da una solución plausible a un ni-
vel global, debido a que las decisiones de control global dependen de información que
no puede ser obtenida durante el período de toma de decisiones. Para este tipo de pro-
blemas, el control deliberativo es más apropiado.
Consecuentemente, la mayoría de las arquitecturas robóticas usan técnicas reactivas
en los niveles más bajos de control con técnicas deliberativas en los niveles más altos.
Encontramos una combinación de este tipo en nuestra explicación de los controladores
PD, donde combinamos un controlador PD (reactivo) con un planificador de rutas (de-
ARQUITECTURAS liberativo). Las arquitecturas que combinan técnicas reactivas y deliberativas son nor-
HÍBRIDAS malmente llamadas arquitecturas híbridas.
1058 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

Arquitectura de subsumpción
ARQUITECTURA DE La arquitectura de subsumpción (Brooks, 1986) es una plataforma para ensamblar con-
SUBSUMPCIÓN
troladores reactivos en autómatas finitos. Los nodos de estos autómatas pueden conte-
ner chequeos para ciertas variables de sensores, en cuyo caso la ejecución del autómata
finito está condicionada por el resultado de dicho chequeo. Los arcos pueden ser eti-
quetados con mensajes que se generarán cuando se atraviesen, y que son enviados a los
motores del robot o a otros autómatas finitos. Adicionalmente, los autómatas finitos po-
seen temporizadores internos (relojes) que controlan el tiempo que se necesita para
atravesar un arco. Los autómatas resultantes son normalmente conocidos como autó-
AUTÓMATAS FINITOS
AUMENTADOS matas finitos aumentados, o AFSMs (augmented finite state machines), donde el au-
mento se refiere al uso de relojes.
Un ejemplo de un AFSM simple es el autómata de cuatro estados mostrado en la Fi-
gura 25.22(b), que genera un movimiento cíclico de las piernas de un robot hexápodo.
Este AFSM implementa un controlador cíclico, cuya ejecución mayormente no se basa
en la retroalimentación del entorno. Si la pierna queda atascada, lo cual significa que ha
fallado en ejecutar el movimiento hacia delante, el robot retrasa la pierna, la eleva un
poco más alto, y trata de realizar el movimiento hacia delante otra vez. De esta manera,
el controlador es capaz de reaccionar a contingencias surgidas de la interacción entre el
robot y su entorno.
La arquitectura de subsumpción ofrece primitivas adicionales para sincronizar
AFSMs, y para combinar valores de salida de múltiples y posiblemente conflictivos
AFSMs. De esta forma, permite al programador componer controladores más com-
plejos de forma incremental de una forma ascendente o de abajo arriba. En nuestro
ejemplo, podríamos empezar con AFSMs para piernas individuales, seguido por un
AFSMs para coordinar las múltiples piernas. Sobre esto podríamos implementar com-
portamientos de más alto nivel como un evitador de obstáculos, que podría implicar
retroceder y girar.
La idea de componer controladores robóticos a partir de AFSMs es bastante des-
concertante. Imaginemos por un momento qué difícil sería generar el mismo compor-
tamiento con alguno de los algoritmos de planificación de rutas descritos en la sección
anterior. Primero, necesitaríamos un modelo preciso del terreno. El espacio de confi-
guración del robot con seis piernas, cada una de las cuales es conducida por dos moto-
res individuales, tiene en total 18 dimensiones (12 dimensiones para las configuraciones
de las piernas, y seis para la localización y orientación del robot relativa a su entorno).
Incluso si nuestros computadores fueran lo suficientemente rápidos para encontrar ru-
tas en espacios tan sobredimensionados, deberíamos preocuparnos de efectos desagra-
dables como el robot resbalando por una cuesta. Debido a tales efectos estocásticos, una
ruta a través del espacio de configuración sería demasiado frágil, e incluso un contro-
lador PID podría no ser capaz de adaptarse a estas contingencias. En otras palabras, ge-
nerar comportamientos de movimiento deliberativamente es simplemente un problema
demasiado complejo para los algoritmos de planificación de movimiento de robots de
hoy en día.
Desafortunadamente, la arquitectura de subsumpción también tiene problemas. Pri-
mero, los AFSMs son normalmente conducidos por la entrada de los sensores en bruto,
ROBÓTICA 1059

una aproximación que funciona si los datos de los sensores son fidedignos y contienen
toda la información necesaria para la toma de decisiones, pero falla si los datos de los
sensores deben ser integrados de forma no trivial con el tiempo. Los controladores de
estilo de subsumpción han sido hasta aplicados sobre todo en tareas locales, como el se-
guimiento de una pared o moverse hacia fuentes de luz visibles. Segundo, la falta de de-
liberación hace difícil cambiar la tarea del robot. Un robot guiado por subsumpción
normalmente hace una tarea, y no tiene noción de cómo modificar sus controles para aco-
modarse a los diferentes objetivos de control (como el escarabajo del Apartado 2.2). Fi-
nalmente, los controladores de subsumpción suelen ser difíciles de entender. En la
práctica, la intrincada interacción entre docenas de AFSMs (y el entorno) está más allá
de lo que la mayoría de los programadores humanos pueden entender. Por todas estas
razones, la arquitectura de subsumpción es raramente usada en robótica comercial, a pe-
sar de su gran importancia histórica. Sin embargo, algunos de sus descendientes sí son
utilizados.

Arquitectura de tres capas


Las arquitecturas híbridas combinan reacción con deliberación. De lejos, la arquitectu-
ARQUITECTURA DE
TRES CAPAS ra híbrida más popular es la arquitectura de tres capas, que consiste en una capa re-
activa, una capa ejecutiva y una capa deliberativa.
CAPA REACTIVA La capa reactiva provee de control de bajo nivel al robot. Se caracteriza por fuerte
bucle sensor-acción. Su ciclo de decisión se encuentra normalmente en el orden de los
milisegundos.
CAPA EJECUTIVA La capa ejecutiva (o capa encadenadora) sirve como unión entre las capas reacti-
va y deliberativa. Acepta directivas de la capa deliberativa, y las encadena para la capa
reactiva. Por ejemplo, la capa ejecutiva podría manejar un conjunto de puntos de ruta
generados por un planificador de rutas deliberativo, y tomar decisiones como por ejem-
plo qué comportamiento reactivo invocar. Los ciclos de decisión en la capa ejecutiva
se encuentran normalmente en el orden del segundo de tiempo. La capa ejecutiva es tam-
bién responsable de integrar la información de los sensores en una representación in-
terna del estado. Por ejemplo, puede almacenar la localización del robot y rutinas de
mapeado.
CAPA DELIBERATIVA La capa deliberativa genera soluciones globales para tareas complejas utilizando
planificación. Debido a la complejidad computacional necesaria para la generación de
tales soluciones, su ciclo de decisión suele encontrarse en el rango de varios minutos.
La capa deliberativa (o capa planificadora) usa modelos para la toma de decisiones. Es-
tos modelos pueden ser presuministrados o aprendidos de los datos, y normalmente uti-
lizan información de estado recolectada en la capa ejecutiva.
Variantes de la arquitectura de tres capas pueden ser encontradas en la mayoría de
los sistemas software robóticos de hoy en día. La descomposición en tres capas no es
muy estricta. Algunos sistemas software robóticos poseen capas adicionales, como ca-
pas de interfaz de usuario que controlan la interacción con la gente, o capas responsa-
bles de coordinar las acciones del robot con aquellas de otros robots operando en el mismo
entorno.
1060 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

Lenguajes de programación robóticos


Algunos controladores robóticos han sido implementados con lenguajes de progra-
mación de propósito especial. Por ejemplo, varios programas para la arquitectura de
LENGUAJE DE
COMPORTAMIENTOS subsumpción han sido implementados en el lenguaje de comportamientos (behavior
language) definido por Brooks (1990). Este lenguaje es un lenguaje de control basa-
do en reglas y en tiempo real que compila controladores AFSM. Las reglas individuales
en una sintaxis parecida a Lisp son compiladas en AFSMs, y múltiples AFSMs son
integrados mediante una colección de mecanismos de paso de mensajes locales y glo-
bales.
Como ocurre con la arquitectura de subsumpción, el lenguaje de comportamientos
está limitado a AFSMs simples con una definición relativamente estrecha del flujo de
comunicación entre módulos. La investigación reciente se ha construido sobre esta idea,
llevando a un conjunto de lenguajes de programación similares en esencia al lenguaje
de comportamientos, pero más poderosos y rápidos en ejecución. Uno de estos lengua-
LENGUAJE ROBÓTICO
GENÉRICO
jes es el lenguaje robótico genérico (generic robot language o GRL, Horswill, 2000).
GRL es un lenguaje de programación funcional para programar grandes sistemas de con-
trol modulares. Como en el lenguaje de comportamientos, GRL usa autómatas finitos
como bloques básicos de construcción. Además de esto, provee un rango de construc-
tores más extenso para definir flujos de comunicación y restricciones de sincronización
entre diferentes módulos que el lenguaje de comportamientos. Los programas en GRL
son compilados en lenguajes imperativos más eficientes, como C.
Otro lenguaje de programación importante (y arquitectura asociada) para software
robótica concurrente es el sistema de planificación de acción reactiva (reactive action
plan system, o RAPS, Firby, 1994). RAPS permite a los programadores especificar ob-
jetivos, planes (o políticas parciales) asociados con estos objetivos, y condiciones bajo
las que estos planes podrían tener éxito. Fundamentalmente, RAPS también provee fa-
cilidades para manejar los fallos inevitables que se producen con los sistemas robóticos
reales. El programador puede especificar rutinas de decisión para varios tipos de fallo y
proporcionar una rutina de manejo de excepciones para cada tipo. En arquitecturas de
tres capas, RAPS es normalmente usado en la capa ejecutiva, para manejar contingen-
cias que no requieren replanificación.
Hay otros lenguajes que permiten que el razonamiento y el aprendizaje tenga lugar
en el robot. Por ejemplo, GOLOG (Levesque et al., 1997b) es un lenguaje de progra-
mación que de un modo transparente mezcla resolución deliberativa de problemas (pla-
nificación) y especificación directa de control reactivo. Los programas en GOLOG son
formulados en cálculo de situación (Apartado 10.3), con la opción adicional de opera-
dores de acción no deterministas. En adición a la especificación de un programa de con-
trol con posibles acciones no deterministas, el programador puede también tener que
proporcionar un modelo completo del robot y del entorno. Cada vez que el programa de
control alcanza un punto de elección no determinista, un planificador (en la forma de
demostrador de teoremas) es invocado para determinar qué hacer a continuación. De esta
forma, el programador puede especificar controladores parciales y confiar en planifica-
dores incorporados para formar la decisión final de control. La belleza de GOLOG está
en su integración transparente de reactividad y deliberación. A pesar de los enormes re-
ROBÓTICA 1061

querimientos de GOLOG (observabilidad plena, estados discretos, modelo completo),


GOLOG ha proporcionado control de alto nivel para una serie de robots móviles de in-
terior.
CES CES, siglas de C para sistemas empotrados (C for embedded systems), es
un lenguaje que extiende C e integra probabilidades y aprendizaje (Thrun, 2000).
Los tipos de datos en CES son distribuciones de probabilidad, permitiendo al progra-
mador calcular con información imprecisa sin el esfuerzo normalmente requerido para
implementar técnicas probabilísticas. Y lo que es más importante, CES hace posible en-
trenar el software robótico con ejemplos, muy parecido a los algoritmos de aprendizaje
descritos en el Capítulo 20. CES permite a los programadores dejar «huecos» en el có-
digo que son rellenados por funciones aprendibles, típicamente representaciones para-
métricas diferenciales como redes neuronales. Estas funciones son entonces aprendidas
inductivamente en fases de entrenamiento explícitas, donde el entrador debe especificar
el comportamiento de salida deseado. CES ha demostrado trabajar bien en dominios con-
tinuos y parcialmente observables.
ALISP Alisp (Andre y Russell, 2002) es una extensión de Lisp. ALisp permite a los pro-
gramadores especificar puntos de elección no deterministas, similarmente a los puntos
de decisión de GOLOG. Sin embargo, en lugar de confiar en un comprobador de teore-
mas para tomar las decisiones, ALisp aprende inductivamente la acción correcta mediante
aprendizaje de refuerzo. De esta manera, ALisp puede ser visto como un medio flexi-
ble para incorporar conocimiento del dominio (especialmente conocimiento acerca de
la estructura jerárquica de los comportamientos deseados) en un sistema de aprendiza-
je por refuerzo. Hasta ahora ALisp sólo ha sido aplicado a problemas robóticos en si-
mulación, pero proporciona una metodología prometedora para construir robots que
aprenden a través de la interacción con el entorno.

25.8 Dominios de aplicación


Ahora enumeraremos algunos de los dominios de aplicación principales para la tecno-
logía robótica.
Industria y agricultura. Tradicionalmente, los robots han sido utilizados en áreas
que requieren un trabajo difícil por parte de los humanos, aunque están lo suficientemente
estructuradas para ser manejadas por automatización robótica. El mejor ejemplo es la
línea de ensamblaje, donde los manipuladores de forma rutinaria realizan tareas como
ensamblar, colocar piezas, manejar materiales, soldar y pintar. En algunas de estas ta-
reas, los robots se han hecho más rentables que los trabajadores humanos.
En el exterior, algunas de las máquinas pesadas que se utilizan para cosechar, mi-
nar, o excavar la tierra han sido transformadas en robots. Por ejemplo, un proyecto re-
ciente de Carnegie Mellon ha demostrado que los robots pueden eliminar la pintura de
grandes barcos alrededor de 50 veces más rápido que las personas, y con un impacto am-
biental mucho más reducido. Prototipos de robots mineros autónomos son más rápidos
y precisos que los humanos para el transporte de mineral en minas subterráneas. Los ro-
bots han sido utilizados para generar mapas de alta precisión de minas abandonadas y
1062 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

sistemas de alcantarillado. Mientras que muchos de estos sistemas son todavía prototi-
pos, es sólo cuestión de tiempo que los robots asuman la mayoría del trabajo semi-me-
cánico llevado a cabo actualmente por los humanos.
Transporte. El transporte robótico tiene varias facetas: desde helicópteros autóno-
mos que entregan objetos a localizaciones que podrían ser difíciles de acceder por otros
medios, a sillas de ruedas automáticas que transportan gente que es incapaz de contro-
larlas por sí misma, o portadores de carga autónomos que superan a los humanos expe-
rimentados al transportar contenedores desde barcos a camiones en muelles de carga. Un
primer ejemplo de robot para transporte en el interior, o recadero, es el robot Helpmate
mostrado en la Figura 25.23(a). Este robot ha sido desplegado en docenas de hospitales
para transportar comida y otros objetos. Los investigadores han desarrollado sistemas
robóticos con forma de coche que pueden navegar autónomamente en autopistas o a tra-
vés de terreno externo a la carretera. En entornos industriales, los vehículos autónomos
son desplegados rutinariamente para transportar bienes en almacenes y entre líneas de
producción.
Algunos de estos robots requieren modificaciones en su entorno para poder realizar
sus funciones. Las modificaciones más comunes son ayudas de localización como bu-
cles inductivos en el suelo, faros activos, etiquetas de códigos de barras y satélites GPS.
Un reto abierto en robótica es el diseño de robots que puedan usar pistas naturales, en
lugar de dispositivos artificiales, para navegar, sobre todo en entornos como el océano
profundo donde no puede ser utilizado GPS.
Entornos peligrosos. Los robots han ayudado a la gente a limpiar residuos nuclea-
res, muy notablemente en Chernobyl y Three Mile Island. Los robots estuvieron presentes
tras el colapso del World Trade Center, donde entraron en estructuras aparentemente de-
masiado peligrosas para la búsqueda humana y grupos de rescate.

(a) (b)

Figura 25.23 (a) El robot Helpmate transporta comida y otros elementos médicos en docenas de
hospitales alrededor del mundo. (b) Robots quirúrgicos en la sala de operaciones (por da Vinci Sur-
gical Systems).
ROBÓTICA 1063

Algunos países han utilizado robots para transportar munición y desactivar bombas
(una tarea notablemente peligrosa). Un número de proyectos de investigación están ac-
tualmente desarrollando prototipos robóticos para limpiar campos de minas, en tierra o
por mar. La mayoría de los robots existentes para estas tareas son teleoperador, un hu-
mano los opera mediante control remoto. Proveer a este tipo de robots de autonomía es
el siguiente paso importante.
Exploración. Los robots han ido a donde nadie ha ido antes, incluyendo la superfi-
cie de Marte. (Véase Figura 25.1(a).) Los brazos robóticos asisten a los astronautas en
la colocación y recogida de satélites y la construcción de la Estación Espacial Interna-
cional. Los robots también ayudan a explorar por debajo del mar. Son rutinariamente uti-
lizados para obtener mapas de barcos hundidos. La Figura 25.24 muestra un robot
realizando un mapa de una mina de carbón abandonada, mediante un modelo 3-D de la
mina obtenido mediante sensores de rango. En 1996, un equipo de investigadores sol-
taron un robot con piernas en el cráter de un volcán activo para obtener datos importantes
DRONES para la investigación climática. Vehículos aéreos no tripulados conocidos como drones
son usados para operaciones militares. Los robots están pasando a ser herramientas muy
efectivas para recolectar información en dominios que son difíciles (y peligrosos) de ac-
ceder para la gente.
Salud. Los robots están siendo usados cada vez más para ayudar a los cirujanos en
la colocación de instrumentos cuando operan con órganos tan interrelacionados como
el cerebro, ojos y corazón. La Figura 25.23(b) muestra un sistema de este tipo. Los ro-
bots han pasado a ser herramientas indispensables en ciertos tipos de reemplazos de ca-
deras, gracias a su gran precisión. En estudios piloto, se ha comprobado que los
dispositivos robóticos reducen el riesgo de lesión cuando se realizan colonoscopias. Fue-
ra de la sala de operaciones, los investigadores han empezado a desarrollar ayudas ro-
bóticas para la gente anciana o discapacitada, como andadores robóticos inteligentes y
juguetes inteligentes que recuerdan cuándo se debe tomar la medicación.
Servicios personales. Los servicios son una aplicación reciente en el dominio de la
robótica. Los robots de servicio ayudan a los individuos a realizar tareas diarias. Los ro-
bots de servicio domésticos comercialmente disponibles incluyen aspiradoras autóno-

(a) (b)

Figura 25.24 (a) Un robot creando un mapa de una mina abandonada de carbón. (b) Un mapa
3-D de la mina obtenido por el robot.
1064 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

mas, cortacéspedes, y caddies de golf. Todos estos robots pueden navegar autónomamente
y realizar sus tareas sin ayuda humana. Algunos robots de este tipo operan en lugares
públicos, como los quioscos de información robóticos que han sido emplazados en cen-
tros comerciales y ferias de comercio, o en museos como guías turísticos. Las tareas de
servicio requieren interacción humana, y la habilidad de enfrentarse robustamente con
entornos impredecibles y dinámicos.
Entretenimiento. Los robots han comenzado a conquistar la industria de los juguetes
y del entretenimiento. Vimos el Sony AIBO en la Figura 25.4(b); este juguete robótico
en forma de perro está empezando a ser utilizado como plataforma de investigación en
los laboratorios de IA alrededor del mundo. Una tarea de IA desafiante que se estudia
FÚTBOL ROBÓTICO con esta plataforma es el fútbol robótico, una competición muy parecida al fútbol hu-
mano, pero jugado por robots móviles autónomos. El fútbol robótico provee de grandes
oportunidades para la investigación en la IA, ya que plantea toda una gama de proble-
mas prototipo para muchas otras aplicaciones robóticas más serias. Las competiciones
de fútbol robótico anuales han atraído a un gran número de investigadores de IA y aña-
dido mucha animación al campo de la robótica.
Aumento humano. Un dominio de aplicación final para la tecnología robótica es el
aumento humano. Los investigadores han desarrollado máquinas con piernas andantes
que pueden transportar gente, como si se tratara de sillas de ruedas. Varios esfuerzos de
investigación actualmente se centran en el desarrollo de dispositivos que hagan a la gen-
te andar o mover sus brazos, y proveen de fuerzas adicionales mediante añadidos extra-
esqueléticos. Si dichos dispositivos son fijados permanentemente, se podría pensar en
ellos como miembros robóticos artificiales. La teleoperación robótica implica llevar a
cabo tareas a través de largas distancias, con la ayuda de dispositivos robóticos. Una con-
figuración popular para la teleoperación robótica es la configuración maestro-esclavo,
en la cual un manipulador robótico emula el movimiento de un operador humano robó-
tico, medido a través de una interfaz táctil. Todos estos sistemas aumentan la habilidad
de la gente para interactuar con sus entornos. Algunos proyectos intentan incluso repli-
car humanos, al menos a un nivel muy superficial. Los robots humanoides están dispo-
nibles comercialmente en estos momentos gracias a varias compañías en Japón.

25.9 Resumen
El interés de la robótica se centra en los agentes inteligentes que manipulan el mundo
físico. En este capítulo, hemos aprendido los siguientes conceptos básicos sobre el hard-
ware y el software robóticos.
• Los robots están equipados con sensores para percibir su entorno y efectores con
los que pueden aplicar fuerzas físicas en su entorno. La mayoría de los robots son
o bien manipuladores anclados en posiciones fijas o robots móviles que se pue-
den mover.
• La percepción robótica trata de determinar cantidades relevantes para la decisión
a partir de los datos de los sensores. Para ello, necesitamos una representación in-
ROBÓTICA 1065

terna y un método para actualizar su representación interna a lo largo del tiempo.


Ejemplos comunes de problemas perceptuales incluyen localización y elaboración
de mapas.
• Los algoritmos de filtrado probabilístico como los filtros de Kalman y filtros de
partículas son útiles para la percepción de los robots. Estas técnicas mantienen
el estado de creencia, por ejemplo, una distribución posterior sobre las variables
de estado.
• La planificación del movimiento de un robot es normalmente hecha en el espacio
de configuración, donde cada punto especifica la localización y la orientación del
robot y los ángulos de sus articulaciones.
• Los algoritmos de búsqueda en los espacios de configuración incluyen técnicas de
descomposición en celdas, que descomponen el espacio de todas las configura-
ciones en varias celdas finitas, y técnicas de esqueletización, que proyectan espa-
cios de configuración en estructuras de menos dimensiones. El problema de
planificación de movimiento se resuelve entonces utilizando búsqueda en estas es-
tructuras más simples.
• Una ruta encontrada por un algoritmo de búsqueda puede ser ejecutada utilizan-
do dicha ruta como trayectoria de referencia para controladores PID.
• Las técnicas de campo de potencial hacen navegar a los robots mediante funcio-
nes de potencial, definidas según la distancia a los obstáculos y a la localización
objetivo. Las técnicas de campo de potencial pueden quedar estancadas en un mí-
nimo local, pero pueden generar movimiento directamente sin necesidad de pla-
nificación de rutas.
• Algunas veces, es más sencillo especificar un controlador robótico directamente,
más que derivar una ruta desde un modelo explícito del entorno. Dichos contro-
ladores pueden ser a menudo escritos como simples autómatas finitos.
• La arquitectura de subsumpción permite a los programadores componer los con-
troladores robóticos a partir de autómatas finitos interconectados, aumentados
mediante temporizadores incorporados.
• Las arquitecturas de tres capas son marcos comunes para el desarrollo de softwa-
re robótico que integre deliberación, secuenciación de subobjetivos y control.
• Existen lenguajes de programación de propósito general que facilitan el desarro-
llo de software robótico. Estos lenguajes proporcionan construcciones para desa-
rrollar software multi-hilo, para integrar directivas de control en la planificación,
y para aprender de la experiencia.

NOTAS BIBLIOGRÁFICAS E HISTÓRICAS


La palabra robot fue popularizada por el dramaturgo checo Karen Capek en su obra de
1921 R.U.R. (Rossum’s Universal Robots). Los robots, que crecían químicamente en lu-
gar de ser construidos mecánicamente, terminaron sintiendo resentimiento por sus maes-
tros y decidiendo asumir el control. Parece ser (Glanc, 1978), que de hecho fue el
hermano de Capek, Josef, quien primero combinó las palabras «robota» (trabajo obli-
gatorio) y «robotnik» (siervo) para producir «robot» en su historia corta de 1917 Opilec.
1066 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

El término robótica fue usado por primera vez por (Asimov, 1950). La robótica (bajo
otros nombres), tiene una historia mucho más larga, sin embargo. En la mitología grie-
ga, un hombre mecánico llamado Talos fue supuestamente diseñado y construido por
Hephaistos, el dios griego de la metalurgia. Se construyeron autómatas maravillosos du-
rante el siglo XVIII (El pato mecánico de Jacques Vaucanson de 1738 es un ejemplo tem-
prano) pero los comportamientos complejos que exhibían se mantenían solamente en el
avance. Posiblemente, el ejemplo más antiguo de dispositivo programable parecido a un
robot fue el telar de Jacquard (1805), descrito en el Capítulo 1.
UNIMATE El primer robot comercial fue un brazo robótico llamado Unimate, abreviatura de
universal automation. Unimate fue desarrollado por Joseph Engelberger y George De-
vol. En 1961, el primer robot Unimate se vendió a General Motors, donde fue utilizado
para fabricar tubos de televisión. 1961 fue también el año en que Devol obtuvo la pri-
mera patente en Estados Unidos relacionada con los robots. 11 años más tarde, en 1972,
Nissan Corp. fue la primera compañía que automatizó una cadena entera de ensambla-
je con robots, desarrollados por Kawasaki con robots suministrados por la compañía Uni-
mation de Engelberger y Devol. Este desarrollo inició una revolución mayor que tuvo
lugar principalmente en Japón y Estados Unidos, y que todavía continúa. Unimation re-
PUMA pitió en 1978 con el desarrollo del robot PUMA, abreviatura de Programable Universal
Machine for Assembly. El robot PUMA, inicialmente desarrollado por General Motors,
fue el estándar de facto para la manipulación robótica en las dos décadas siguientes. En
el presente, el número de robots operando se estima de un millón alrededor de todo el
mundo, más de la mitad de los cuales están instalados en Japón.
La literatura sobre la investigación en robótica puede ser dividida a grandes rasgos
en dos partes: robots móviles y manipuladores estáticos. El «tortuga»de Grey Walter,
construido en 1948, puede ser considerado el primer robot móvil autónomo, a pesar de
que su sistema de control no era programable. El «Hopkins Beast», construido en los
primeros 60 en la Universidad Johns Hopkins, era mucho más sofisticado; tenía un
hardware de reconocimiento de patrones y podía reconocer la cubierta protectora de un
enchufe estándar AC. ¡Era capaz de buscar enchufes, enchufarse en ellos, y entonces re-
cargar sus baterías! Sin embargo, el Beast tenía un repertorio limitado de habilidades.
El primer robot de propósito general fue «Shakey», desarrollado en lo que era entonces
el Stanford Research Institute (ahora SRI) al final de los 60 (Fikes y Nilsson, 1971; Nils-
son, 1984). Shakey fue el primer robot que integraba percepción, planificación y ejecu-
ción, y mucha de la investigación ulterior en IA fue influenciada por este notable logro.
Otros proyectos influyentes incluyen el Stanford Cart y el CMU Rover (Moravec, 1983).
Cox y Wilfong (1990) describe trabajo clásico en vehículos autónomos.
El campo de la construcción de mapas en robótica ha evolucionado a partir de dos
orígenes distintos. El primer hilo empezó con el trabajo de Smith y Cheeseman (1986),
que aplicó los filtros de Kalman simultáneamente a los problemas de localización y pro-
blema de construcción de mapas. Este algoritmo fue implementado por primera vez por
Moutarlier y Chatila (1989), y más tarde mejorado por Leonard y Durrant-Whyte (1992).
Dissanayake et al. (2001) describe el estado del arte. El segundo hilo comenzó con el
REJILLA DE
OCUPACIÓN desarrollo de la representación de la rejilla de ocupación para la construcción proba-
bilística de mapas, que especifica la probabilidad de que cada localización (x, y) esté ocu-
pada por un obstáculo (Moravec y Elfes, 1985). Una revisión del estado del arte en la
ROBÓTICA 1067

generación de mapas puede encontrarse en (Thrun, 2002). Kuipers y Levitt (1988) fue-
ron los primeros en proponer un mapeado topológico en lugar de métrico, motivado por
los modelos de cognición espacial humana.
Las primeras técnicas de localización del robot fueron examinadas por Borenstein
et al. (1996). A pesar de que el filtrado de Kalman era bien conocido como método de
localización en la teoría de control por décadas, la formulación probabilística general
del problema de localización no apareció en la literatura sobre IA hasta mucho después,
a través del trabajo de Tom Dean y sus compañeros (1990, 1990) y Simmons y Koenig
LOCALIZACIÓN DE
MARKOV (1995). El trabajo posterior introdujo el término de localización de Markov. La primera
aplicación en el mundo real de esta técnica fue realizada por Burgard et al. (1999), me-
diante una serie de robots que fueron desplegados en museos. La localización Monte Car-
FILTRADO DE
lo basada en filtros de partículas fue desarrollada por Fox et al. (1999) y ahora es
PARTÍCULAS DE ampliamente utilizada. El filtro de partículas Rao-Blackwellizado combina filtrado de
RAO-BLACKWELLIZED
partículas para la localización del robot con un filtrado exacto para la construcción del
mapa (Murphy y Rusell, 2001; Montemerlo et al., 2002).
La investigación en robótica móvil ha sido estimulada en la última década por dos
competiciones importantes. La competición anual de robots móviles de la AAAI empezó
en 1992. El primer ganador de la competición fue CARMEL (Congdon et al., 1992). El
progreso ha sido estable e impresionante: en la competición más reciente (2002), los ro-
bots tenían que entrar dentro del complejo de la conferencia, encontrar el camino a la
mesa de registro, registrarse para la conferencia, y dar una charla. La competición Ro-
ROBOCUP bocup, iniciada en 1995 por Kitano y compañeros (1997), se ha marcado como objeti-
vo para 2050 «desarrollar un equipo de robots humanoides totalmente autónomos que
puedan ganar al campeón del mundo humano al fútbol». El juego se desarrolla en ligas
para robots simulados, robots con ruedas de diferentes tamaños, y robots Sony Aibo de
cuatro piernas. En 2002, el evento atrajo equipos de casi 30 países diferentes y unos
100.000 espectadores.
MÁQUINAS MANO-OJO El estudio de robots manipuladores, llamados originalmente máquinas mano-ojo,
ha evolucionado en líneas bastante diferenciadas. El primer gran logro en crear una má-
quina mano ojo fue el MH-1 de Heinrich Ernst, descrito en su tesis doctoral del MIT
(Ernst, 1961). El proyecto Machine Intelligence de Edimburgo también evidenció un sis-
tema de ensamblaje impresionante basado en visión llamado FREDDY (Michie, 1972). Des-
pués de estos esfuerzos pioneros, una gran parte del trabajo se centró en algoritmos
geométricos para problemas de planificación de movimiento deterministas y enteramente
observables. La complejidad PSPACE de la planificación del movimiento de un robot se
mostró en un artículo de Reif (1979). La representación del espacio de configuración es
debida a Lozano-Perez (1983). Altamente influyentes fueron una serie de artículos de
MOTORES DE PIANO Schwartz y Shafir sobre lo que ellos llamaron problemas de motores de piano (Schwartz
et al., 1987).
La descomposición recursiva en celdas para la planificación del espacio de confi-
guración fue introducida por Brooks y Lozano-Pérez (1985) y mejorada significativa-
mente por Zhu y Latombe (1991). Los primeros algoritmos de esqueletización se basaron
GRAFOS DE
VISIBILIDAD en los diagramas de Voronoi (Rowat, 1979) y los grafos de visibilidad (Wesley y Lo-
zano-Pérez, 1979). Guibas et al. (1992) desarrollaron técnicas eficientes para calcular
los diagramas de Voronoi incrementalmente, y Choset (1996) generalizó los diagramas
1068 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

de Voronoi a problemas de planificación de movimiento mucho más amplios. La tesis


de doctorado de John Canny (1988) estableció el primer algoritmo exponencial para la
planificación de movimiento usando un método diferente de esqueletización llamado el
SILUETA algoritmo silueta. El texto de Jean-Claude Latombe (1991) cubre una variedad de apro-
ximaciones al problema de planificación de movimiento. (Kavraki et al., 1996) desarrolló
mapas de carretera probabilísticas, que son actualmente el método más efectivo. La pla-
nificación de movimiento precisa con sensorización limitada fue investigada por (Lo-
zano-Pérez et al., 1984) y Canny y Reif (1987) usando la idea de intervalo de
incertidumbre en lugar de la de incertidumbre probabilística. La navegación basada en
señales (Lazanas y Latombe, 1992) usa algunas de estas mismas ideas en el campo de
los robots móviles.
El control de robots como sistemas dinámicos (ya sea para manipulación o navega-
ción) ha generado una inmensa cantidad de literatura, la cual este capítulo apenas toca.
Los trabajos importantes incluyen una trilogía sobre control de impedancia por Hogan
(1985) y un estudio general de la dinámica del robot por Featherstone (1987). Dean and
Wellman (1991) se encuentran entre los primeros que intentaron enlazar la teoría de con-
trol y los sistemas de planificación de IA. Debemos tres libros clásicos sobre las mate-
máticas de la manipulación robótica a Paul (1981), Craig (1989) y Yoshikawa (1990).
AGARRE El área del agarre es también importante en robótica, el problema de determinar un aga-
rre estable es bastante difícil (Mason y Salisbury, 1985). El agarre eficiente requiere sen-
RETROALIMENTACIÓN
TÁCTIL sorización de toque, o retroalimentación táctil, para determinar fuerzas de contacto y
detectar deslizamiento (Fearing Hollerbach, 1985).
El control por campo de potencial, que intenta resolver la planificación de movimiento
y los problemas de control simultáneamente, fue introducido en la literatura sobre ro-
bótica por Khatib (1986). En la robótica móvil, esta idea fue vista como una solución
práctica al problema de la evitación de obstáculos, y fue más tarde extendido en un al-
HISTOGRAMAS DE
CAMPO VECTORIAL
goritmo llamado histogramas de campo vectorial por Borenstein (1991). Las funcio-
nes de navegación, la versión robótica de la política de control para los MDPs
deterministas, fueron introducidas por Koditschek (1987).
El tópico de arquitecturas software para robótica genera mucho debate. El bien co-
nocido candidato de la IA (la arquitectura de tres capas) proviene del diseño de Shakey
y es revisado por Gat (1998). La arquitectura de subsumpción es debida a Rodney Bro-
oks (1986), a pesar de que ideas similares fueron desarrolladas independientemente por
Braitenberg (1984), cuyo libro, Vehicles, describe una serie de robots simples basados
en la aproximación de comportamientos. El éxito del robot hexápodo de Brook fue se-
guido por unos cuantos proyectos. Connell, en su tesis (1989), desarrolló un robot mó-
vil capaz de recoger objetos que era plenamente reactivo. Extensiones del paradigma
basado en comportamientos en sistemas multi-robot pueden ser encontrados en (Mata-
ric, 1997) y (Parker, 1996). GRL (Horswill, 2000) y COLBERT (Konolige, 1997) abs-
traen las ideas de la robótica basada en comportamientos concurrentes en lenguajes de
control de robots. Arkin (1998) inspecciona el estado del arte.
Los autómatas situados (Rosenschein, 1985; Kaelbling y Rosenschein, 1990), des-
critos en el Capítulo 7, han sido también utilizados para el control de robots móviles en
tareas de exploración y entrega. Los autómatas situados están estrechamente relaciona-
dos con diseños basados en comportamientos en el sentido en que consisten en autómatas
ROBÓTICA 1069

finitos que rastrean aspectos del estado del entorno usando circuitería combinatoria. Mien-
tras que la aproximación basada en comportamientos acentúa la ausencia de represen-
tación explícita, los autómatas situados son construidos algorítmicamente a partir de
modelos declarativos del entorno de tal forma que el contenido representacional de cada
registro de estado está bien definido.
Existen varios buenos libros recientes sobre robótica móvil. Además de los libros
mencionados anteriormente, la colección de Kortenkamp et al. (1998) provee una visión
general de sistemas y arquitecturas de robots móviles contemporáneas. Dos textos re-
cientes de Dudek y Jenkin (2000) y Murphy (2000) cubren la robótica de un modo más
general. Un libro reciente sobre manipulación robótica escribe en la dirección de tópi-
cos avanzados como el movimiento adaptado (Mason, 2001). La mayor conferencia so-
bre robótica es la IEEE International Conference on Robotics and Automation. Las
publicaciones sobre robótica incluyen IEEE Robotics and Automation, el International
Journal of Robotics Research, y Robotic and Autonomous Systems.

EJERCICIOS
25.1 La localización de Monte Carlo está umbralizada para cualquier tamaño de mues-
tra finito (por ejemplo, el valor esperado de la localización computada por el algoritmo
difiere del valor realmente esperado) debido a la forma en que trabaja el filtrado de par-
tículas. En esta pregunta, se pide cuantificar este umbral.
Para simplificar, consideremos un mundo con cuatro posibles localizaciones para el
robot: X = {x1,x2,x3,x4}. Inicialmente, dibujamos N ≥ 1 muestras uniformemente entre es-
tas localizaciones. Como es habitual, es perfectamente aceptable si más de una muestra
se genera a partir de las localizaciones X. Sea Z la variable sensor booleana caracteri-
zada por las siguientes probabilidades condicionales:
P(z  x1)  0,8 P(¬z  x1)  0,2
P(z  x2)  0,4 P(¬z  x2)  0,6
P(z  x3)  0,1 P(¬z  x3)  0,9
P(z  x4)  0,1 P(¬z  x4)  0,9
MCL usa estas probabilidades para generar pesos de partículas, que son posteriormente
normalizadas y usadas en el proceso de remuestreo. Por simplicidad, asumamos que sólo
generamos una única nueva muestra en el proceso de remuestreo, independientemente de
N. Esta muestra puede corresponder a alguna de las cuatro localizaciones en X. De esta
forma, el proceso de muestreo define una distribución de probabilidad sobre X.
a) ¿Cuál es la distribución de probabilidad sobre X resultante para esta nueva
muestra? Responda esta pregunta de forma separada para N  1,…,10 y para
N  .
b) La diferencia entre dos distribuciones de probabilidad P y Q puede ser medida
por la divergencia KL, que se define como
KLP(P, Q)   P(xi) logP(xi)\Q(xi)
i
1070 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

¿Cuáles son las divergencias KL entre las distribuciones en (a) y la posterior ver-
dadera?
c) ¿Qué modificación en la formulación del problema (¡no en el algoritmo!) ga-
rantizaría que el estimador específico anterior no está umbralizado incluso para
valores finitos de N? Indique al menos dos de estas modificaciones (cada una
de las cuales debe ser suficiente).
25.2 Implemente la localización de Monte Carlo para un robot simulado con sensores
de rango. Un mapa de rejilla y datos de rango están disponibles en el repositorio de có-
digo de aima.cs.berkeley.edu. El ejercicio está completado si usted puede demostrar una
localización global con éxito del robot.
25.3 Considere el brazo robótico mostrado en la Figura 25.12. Asuma que el elemen-
to de la base del robot tiene 60cm de largo y que el brazo y el antebrazo miden cada uno
40cm de largo. Como se discute en el Apartado 25.4, la cinemática inversa de un robot
habitualmente no es única. Enuncie una solución explícitamente cerrada para la cine-
mática inversa de este brazo. ¿Bajo qué condiciones es la solución única?
25.4 Implemente un algoritmo para calcular el diagrama de Voronoi de un entorno 2-
D arbitrario, descrito por una matriz booleana n x n. Ilustre su algoritmo dibujando el
diagrama de Voronoi para 10 mapas interesantes. ¿Cuál es la complejidad de su algo-
ritmo?
25.5 Este ejercicio explora la relación entre el espacio de configuración y el espacio
de trabajo usando los ejemplos mostrados en la Figura 25.25.
a) Considere la configuración del robot mostrada de la Figura 25.25(a) a (c), ig-
norando el obstáculo mostrado en cada uno de los diagramas. Dibuje las confi-
guraciones del brazo correspondientes en el espacio de configuración (Pista: cada
configuración del brazo se mapea como un único punto en el espacio de confi-
guración, como se ilustra en la Figura 25.12(b).)
b) Dibuje el espacio de configuración para cada uno de los diagramas de espacio
de trabajo en Figura 25.25(a)-(c). (Pista: Los espacios de configuración com-
parten con el mostrado en la Figura 25.25(a) la región que corresponde a la auto-
colisión, pero las diferencias provienen de la falta de obstáculos circundantes y
las diferentes localizaciones de los obstáculos en estas figuras individuales.)
c) Para cada uno de los puntos negros en la Figura 25.25(e)-(f), dibuje las corres-
pondientes configuraciones del brazo robótico en el espacio de trabajo. Ignore
las regiones sombreadas en este ejercicio.
d) Los espacios de configuración mostrados en la Figura 25.25(e)-(f) han sido to-
dos generados por un único obstáculo en el espacio de trabajo (sombreado os-
curo), más las limitaciones producidas por la auto-colisión (sombreado claro).
Dibuje, para cada diagrama, el obstáculo del área de trabajo que se correspon-
de con el área oscura sombreada.
e) La Figura 25.25(d) ilustra que un obstáculo plano simple puede descomponer el
área de trabajo en dos regiones desconectadas. ¿Cuál es el máximo número de
regiones desconectadas que pueden ser creadas insertando un obstáculo plano
en un área de trabajo conectada sin obstáculos, para un robot de dos grados de
ROBÓTICA 1071

(a) (b) (c)

(d) (e) (f)

Figura 25.25 Diagramas para el Ejercicio 25.5.

libertad? Dé un ejemplo, y razone por qué no se puede crear un número mayor


de regiones desconectadas. ¿Qué ocurriría con un obstáculo no plano?
25.6 Considere el robot simplificado mostrado en la Figura 25.26. Suponga que las
coordenadas cartesianas del robot se conocen siempre, como las de su localización ob-
jetivo. Sin embargo, las localizaciones de los obstáculos son desconocidas. El robot pue-
de sensorizar obstáculos en su proximidad inmediata, como se ilustra en esta figura. Por
simplicidad, asumimos que el movimiento del robot está libre de ruido, y el espacio de
estados es discreto. La Figura 22.26 es sólo un ejemplo; en este ejercicio se requiere que
indique todos los posibles mundos de rejilla con una ruta válida desde el comienzo has-
ta la localización objetivo.
a) Diseñe un controlador deliberativo que garantice que el robot siempre alcanza
su localización objetivo cuando esto sea posible. El controlador deliberativo pue-
de memorizar medidas en forma de un mapa que está siendo obtenido mientras
el robot se mueve. Entre movimientos individuales, puede pasar cualquier tiem-
po arbitrario deliberando.
b) Ahora diseñe un controlador reactivo para la misma tarea. Este controlador no
puede memorizar medidas anteriores de los sensores (¡no puede construir un
mapa!). En lugar de ello, debe tomar todas sus decisiones basándose en medi-
1072 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO

robot

rango
del sensor

objetivo

Figura 25.26 Robot simplificado en un laberinto. Véase Ejercicio 25.6.

das actuales, que incluyen el conocimiento de su propia localización y la del ob-


jetivo. El tiempo para tomar una decisión debe ser independiente del tamaño del
entorno o del número de pasos temporales anteriores. ¿Cuál es el número má-
ximo de pasos que debe tomar el robot para llegar al objetivo?
c) ¿Cómo se comportarían sus controladores de (a) y (b) si se aplicara alguna de
las siguientes seis condiciones?: espacio de estados continuo, ruido en la per-
cepción, ruido en el movimiento, ruido en la percepción y en el movimiento, lo-
calización desconocida del objetivo (el objetivo sólo puede ser detectado cuando
se encuentre en el interior del rango de los sensores), u obstáculos móviles. Para
cada condición y para cada controlador, dé un ejemplo de una situación en la
que el robot falle (o explique por qué no puede fallar).
25.7 En la Figura 25.22(b), encontrábamos un autómata finito aumentado para el con-
trol de una pierna del robot hexápodo. En este ejercicio, el objetivo es el diseño de un
autómata finito aumentado que, cuando esté combinado con seis copias del controlador
individual para una pierna, resulte en una locomoción eficiente y estable. Para este pro-
pósito, debe aumentar el controlador para la pierna para pasar mensajes a su nuevo au-
tómata finito aumentado, y para esperar hasta que otros mensajes le lleguen. Razone por
qué su controlador es eficiente, de tal forma que no gaste energía innecesariamente (por
ejemplo, al deslizarse las piernas) y que propulse al robot a unas velocidades razona-
blemente altas. Pruebe que su controlador satisface la condición de estabilidad dada en
el Apartado 25.2.
25.8 (Este ejercicio fue por primera vez diseñado por Michael Genesereth y Nils Nils-
son. Puede ser realizado desde alumnos de primer curso hasta alumnos ya graduados.)
Los humanos están tan adaptados a tareas básicas como tomar tazas o apilar bloques,
que a menudo olvidan lo complejas que son estas tareas. En este ejercicio descubrirá
la complejidad y recapitulará los últimos 30 años de desarrollos en robótica. Primero,
elija una tarea, como construir un arco con tres bloques. Entonces, construya un robot
a partir de cuatro humanos de la siguiente forma:
ROBÓTICA 1073

Cerebro. El trabajo del cerebro es obtener un plan para conseguir el objetivo, y di-
rigir las manos en la ejecución del plan. El cerebro recibe entrada de los ojos, pero no
puede ver la escena directamente. El cerebro es el único que conoce cuál es el objetivo.
Ojos. El trabajo de los ojos es dar una breve descripción de la escena al cerebro. Los
ojos deben permanecer unos cuantos pies alejados del entorno de trabajo, y pueden pro-
porcionar descripciones cualitativas (como «Hay una caja roja que se encuentra encima
de una caja verde, que está a su lado») o descripciones cuantitativas («La caja verde está
aproximadamente dos pies a la izquierda del cilindro azul»). Los ojos también pueden
responder a preguntas del cerebro, como «¿hay algún hueco entre la mano izquierda y
la caja roja?». Si tiene una cámara de vídeo, apunte a la escena y permita a los ojos mi-
rar al visor de la cámara, pero no directamente a la escena.
Mano izquierda y mano derecha. Una persona ejecuta el papel de cada mano. Las
dos manos permanecen cerca una de la otra; la mano izquierda utiliza sólo su mano iz-
quierda, y la mano derecha utiliza sólo su mano derecha. Las manos ejecutan sólo co-
mandos simples del cerebro, por ejemplo, «mano izquierda, muévete dos pulgadas hacia
delante». No pueden ejecutar otros comandos que no sean movimientos; por ejemplo,
«toma la caja» no es algo que la mano pueda hacer. Para evitar las trampas, puede de-
jar a las manos llevar guantes, o que operen pinzas. Las manos deben tener los ojos ven-
dados. La única capacidad de sensorización que tienen es la habilidad de decir cuándo
su ruta es bloqueada por un objeto inamovible como una mesa o la otra mano. En estos
casos, pueden emitir un sonido para informar al cerebro de esta dificultad.

También podría gustarte