Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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
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.
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(Xt1z1:t1, a1:t), desde el estado actual P(Xtz1: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(Xt1z1:t1, a1:t) P(zt1Xt1) P(X t1xt, at) P(xtz1: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(Xtz1: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(Xt1xt, at) se
MODELO DE llama el modelo transicional o modelo de movimiento, y P(zt1Xt1) 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
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(ztxt ) 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(ztxt ) 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(Xtz1: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(Xtz1: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
(a)
(b)
(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)
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
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
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
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.
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.
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
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
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
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
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.
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.
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
retroceder, elevar
sí
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.
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.
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
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
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
robot
rango
del sensor
objetivo
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.