Professional Documents
Culture Documents
INTELIGENTE
sanzp@icc.uji.es
NDICE
TEMA I PRELIMINARES
BIBLIOGRAFA
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-2
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Perspectiva Histrica
Situacin Actual
Prospeccin de Futuro
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-6
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
aislada, sino que forma parte de un proceso global, donde intervienen la gestin, el
diseo, la fabricacin, el control de calidad, etc., de forma interconectada.
Por otra parte, los nuevos mbitos de implantacin de robots (espacial, servicios,
etc.), constituyen un reto permanente, y cualquier avance sustancial en estos
nuevos dominios revierte sobre los dems.
Conforme la tecnologa avanza, se incorporan al robot nuevas posibilidades,
fundamentalmente a partir de la percepcin de su entorno, cada vez ms potente y
sofisticada, favoreciendo e impulsando nuevas capacidades, como la toma de
decisiones de alto nivel, propiciada por tcnicas propias de la IA. La prueba ms
evidente del enorme progreso de la robtica, reside en el hecho de que se est
implantando robots en reas absolutamente impensables hace bien poco, como por
ejemplo, para asistencia en operaciones quirrgicas, incluso a distancia
(telesurgering), o su uso, cada vez mayor, en nuevos sectores de la industria
alimentaria, farmacolgica, etc.
Es interesante, comentar la existencia de algunos proyectos de investigacin que
estn, actualmente, en vanguardia, y que preparan una generacin de robots y
sistemas robotizados, en general, muy por delante de lo conseguido hasta ahora.
Por ejemplo, el denominado proyecto ISAC (Intelligent Soft Arm Control) [ISAC,
97], vase la figura 1, desarrollado en la Universidad de Vanderbilt (EEUU), y
dirigido al sector de servicios (hospitales, domstico, asistencia a discapacitados
etc.). Estos proyectos tienen un inters per se, en el sentido de que ponen a
prueba la tecnologa punta existente, integrndola en un sistema nico, para
alcanzar un objetivo realmente complejo. En el caso particular de ISAC, el objetivo
puede ser dar de comer a alguien, mediante un brazo manipulador antropomorfo
y dotado de visin, y que se comunica con el robot mediante una interfaz basada en
voz.
S en un principio el entorno se adaptaba al robot, estructurndolo de forma que
facilitara su implantacin para resolver una tarea, ahora la tendencia es la
contraria, es decir, que el robot se adapte al entorno, en la medida que la tecnologa
lo permita.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-7
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-8
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-9
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Pedro J Sanz
Campus de Riu Sec, Castelln
Diciembre de 2006
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-10
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
TEMA I PRELIMINARES
Objetivos:
1.1. Qu es un Robot?
Definicin 3: Una mquina que puede ser programada para realizar una gran variedad
de tareas, del mismo modo que un ordenador es un circuito electrnico que puede
ser programado para llevar a cabo diferentes tareas. (Segn [McKerrow, 86]).
Comprense las definiciones anteriores con una pequea muestra de distintos robots actuales,
cada uno adaptado al contexto de la aplicacin para la que ha sido diseado, en las tablas 1.1,
y 1.2.
Seguramente, sera ms acertado definir el robot con arreglo a las especificaciones para las
que ha sido diseado. Por ejemplo, hoy en da, se trabaja en un tipo de robot llamado robot
de servicios, el cual puede considerarse como un estadio intermedio en la evolucin desde el
robot industrial hasta el futuro robot humanoide [ECAI2000], vase la tabla 1.1. Dichos
robots han de ser manipuladores mviles, dotados de interfaces avanzadas hombre-robot,
capaces de soportar comunicacin prxima al lenguaje natural, y de desarrollar tareas
complejas de manera autnoma en entornos reales (i.e., 3D, dinmicos, no estructurados, etc.,
es decir, con incertidumbre mxima).
1.2. Qu es la Robtica?
Observacin:
En lo que sigue centraremos nuestro estudio en aquellos robots dotados de
capacidad de manipulacin de su entorno, es decir, en el denominado robot
manipulador, con independencia de si son mviles o estticos.
El Manipulador
Constituye la estructura mecnica del robot. Conjunto de barras
conectadas por pares cinemticos de modo que constituyan una cadena
cinemtica abierta.
Los Sensores
Internos
Informan a la unidad de control acerca del estado en el que se encuentra el
manipulador, relativo al sistema de referencia del robot tales como los ngulos
de sus articulaciones, fuerza o presin en el elemento terminal, etc.
Informacin Propioceptiva.
Externos
Informan a la unidad de control acerca del entorno del robot y de la posicin
del robot relativa al entorno. Informacin Exteroceptiva.
La Unidad de Control
Funciones bsicas:
Iniciacin y finalizacin del movimiento de los componentes individuales
del manipulador en una secuencia de puntos especificados.
Almacenamiento en su memoria de datos acerca de la posicin y secuencia
de movimientos
Permite al robot interactuar con el entorno por medio de sensores.
Tipos (por orden creciente de complejidad):
Secuenciadores.
Sistemas Lgicos Neumticos.
Secuenciadores Electrnicos.
Microordenadores.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-13
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Capacidad de Carga.
Mxima masa que puede movilizar bajo cualquier configuracin de su
estructura mecnica.
Movilidad.
Se determina por el n de Grados de Libertad (o ejes) del Robot.
Espacio de Trabajo.
Regin del Espacio compuesta por todos los puntos que pueden ser
alcanzados por el final del brazo del robot (brida o TCP 0), sin considerar el
elemento terminal.
Un parmetro a tener en cuenta ser el Grado de Redundancia (o
accesibilidad).
Agilidad.
Se mide, fundamentalmente, por dos parmetros: la velocidad mxima y las
aceleraciones y deceleraciones mximas.
Precisin y Repetitividad.
La precisin de un robot es su capacidad para posicionar el elemento
terminal en un punto arbitrario predeterminado de su espacio de trabajo.
La repetitividad es la medida de la habilidad del robot para situar su
elemento terminal en un mismo punto repetidas veces.
Entorno de Trabajo.
La aplicacin concreta o el entorno de trabajo al que se destine un robot,
influir en las caractersticas de su propio diseo.
1497 Leonardo da Vinci. Primer estudio serio sobre un posible robot antropomorfo.
1801 Telar de J. Jacquard. Origen de las mquinas programables.
1818 Frankenstein de M. Shelley. Anlisis de posibles consecuencias de una mquina
construda a semejanza del hombre.
1921 Robot, Karel Capek. Introduce en su famosa obra de teatro dicho concepto.
1942 Robtica, Isaac Asimov. Introduce esta palabra, as como las tres famosas leyes.
1948 Cybernetics, Wiener (MIT). Acua este concepto de ciberntica, que analiza
las causas y los efectos del control en el hombre y en la mquina.
1954 Era de la Robtica, Devol.
1956 UNIMATION, Engelberger. Creador de la primera empresa de robots industriales.
1960 I. A., McCarthy (MIT). Acua dicho trmino (Inteligencia Artificial).
1965 Coordinacin Ojo-Mano, Minsky (MIT). Desarrolla el primer sistema completo.
1968 Robot mvil, (Stanford). Primer robot autnomo (Shakey).
1970 Stanford Robot Arm.
1971 Robtica declarada de inters nacional (Japn, JIRA)
1975 Robot Institute of America
1976 NASA Viking 1 y 2. Sondas americanas que alcanzan la superficie de Marte.
1977 ASEA B. B. Robotics (ABB)
1978 PUMA (Programmable Universal Assembly), de Unimation, es desarrollado para
la General Motors.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-14
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Primera Generacin
Los robots industriales, llamados clsicos. Utilizan un lenguaje de
programacin por guiado/gestual/textual. Funcionan en modo autmata
programable. No utilizan informacin externa que les permita conocer su entorno
o sus movimientos relativos a dicho entorno.
Segunda Generacin
Estos robots estn dotados de sensores que les permiten obtener informacin
de si mismos y de su entorno. Por ej., sern capaces de localizar y reconocer
piezas gracias a la visin, o bien detectar un obstculo gracias a detectores de
proximidad, o bien realizar un ensamblado midiendo las fuerzas que se
desarrollan durante su ejecucin e intentando anularlas mediante movimientos
adecuados, etc.
Tercera Generacin
Est en fase de investigacin. Intenta potenciar al mximo la capacidad de
percepcin, utilizando para ello los logros conseguidos por los diferentes
paradigmas de la Inteligencia Artificial. Pretende hacer uso extensivo de la
comprensin del lenguaje natural, de la interpretacin visual del entorno,
mediante visin 3D, color, texturas etc.., de la capacidad de aprendizaje y de una
completa interrelacin que le permita elaborar sus propios planes para alcanzar los
objetivos que el mismo construir a partir de ciertas directrices iniciales, en un
mundo totalmente dinmico y cambiante.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-15
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Suecia 60 9% 5.911
Alemania 58 9% 56.175
EEUU 35 7% 65.198
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-16
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Objetivos:
Usar dichas herramientas para Modelar las Relaciones Espaciales entre las
Ligaduras del Manipulador.
2.1.1. Preliminares
Se requiere un mtodo para especificar donde est el objeto relativo a la mano del
robot, y un modo de controlar el movimiento de dicha mano.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-17
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Parmetros
de los
elementos
Angulos de las
articulaciones Cinemtica Posicin y orientacin
q1(t),...,qn(t) directa del elemento terminal
Parmetros
de los
elementos
1 0 0 0 1 0 0 px
0 cos sen 0 0 1 0 py
Tx, = Ttras =
0 sen cos 0 0 0 1 pz
0 0 0 1 0 0 0 1
r r
p xyz = Tpuvw
n x sx ax px
n py
r r r r
sy ay n s a p
T= =
y
nz sz az pz 0 0 0 1
0 0 0 1
Cinemt. Directa
Espacio de R Espacio
TH
Articulaciones R
Cartesiano
TH-1
(qi) x,y,z, ,,
Cinemt. Inversa
Una vez establecido el sist. de coord. de D-H para cada elemento se procede a encontrar la
transformacin homognea: i-1Ai, que representa la relacin existente entre dos
articulaciones consecutivas del manipulador. De la figura 2.2, empleando {Hi-X' Y' Z'} como
sistema de referencia intermedio, se llega a:
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-20
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
donde la matriz RTH, describe la posicin y orientacin del elemento terminal (H) con
respecto a un sistema de referencia ligado a la base del manipulador (R). En el contexto de la
robtica industrial lo habitual sern dos tipos bsicos de articulaciones, cada una asociada con
un slo grado de libertad, o bien de rotacin o bien prismtica. En el primer caso (rotacin), la
matriz RTH correspondiente ser:
cos i cos i sen i sen i sen i ai cos i
sen cos i cos i sen i cos i ai sen i
i
0 sen i cos i di
0 0 0 1
0 sen i cos i di
0 0 0 1
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-21
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Lo que implica,
= -sin-1(xz), = sin-1(yz/cos()), = sin-1(xy/cos())
Observacin:
Se observa que la suma C()+S(), elimina la divisin por cero y
minimiza imprecisiones. Esta solucin es menos eficiente que la
anterior, pero es ms ROBUSTA.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-23
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Existencia de soluciones
Est directamente relacionada con el Espacio de Trabajo del manipulador.
Podemos distinguir entre:
a) Espacio de Trabajo Diestro. Volumen del espacio que el robot puede alcanzar con su
TCP 0, en cualquier orientacin.
b) Espacio de Trabajo Alcanzable. Volumen del espacio que el robot puede alcanzar con
su TCP 0, en, al menos, una orientacin.
En el interior del espacio de trabajo alcanzable habr dos posibles orientaciones del TCP 0.
Mientras que en los bordes de dicho espacio solo existir una determinada orientacin.
Observacin: Cuando un manipulador posee menos de 6 grados de libertad, no puede alcanzar
determinados puntos de su entorno, que requieren posiciones y orientaciones
imposibles para l. Especificado el sist. de coord. asociado a un punto "objetivo", un
problema interesante a resolver por estos manipuladores ser: Cul es el punto
alcanzable ms cercano al objetivo?. O Est dicho punto en el E. de T. Alcanzable?.
S se encuentra que el sist. de coord. del TCP-0, con la posicin y orientacin deseadas
est dentro del E. de T. Alcanzable implica que existe al menos una solucin.
Soluciones Mltiples
El hecho de que un manipulador posea mltiples soluciones puede causar problemas
debido a que el sistema tiene que ser capaz de elegir una.
Ejemplo.- Suponiendo el manipulador del ejemplo anterior, se observa el problema de la
solucin multiple., en este caso, codo arriba codo abajo, (vase la figura
siguiente).
(1) y (2) implican que, en general, se necesita calcular todas las soluciones posibles.
Un mtodo de solucin
No existe un algoritmo general que pueda emplearse para resolver un sistema de
ecuaciones no lineales.
Lo primero ser definir QUE constituye la "solucin" de un manipulador dado.
Podemos dividir todas las posibles estrategias propuestas para encontrar solucin en:
3 Soluciones en Forma Cerrada
4 Soluciones Numricas
Observacin:
Un resultado reciente en cinemtica es: Todos los sistemas con articulaciones
prismticas y de revolucin que tengan un total de seis grados de libertad a lo
largo de una cadena de elementos simples en serie es resoluble.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-25
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
La gran mayora de los robots comerciales tienen una u otra de las siguientes condiciones
suficientes que hacen posible la solucin del brazo en forma cerrada:
1.- Tres ejes de articulacin adyacentes se intersectan en un punto. (e.g., PUMA,
Stanford).
2.- Tres ejes de articulacin adyacentes son paralelos entre s. (e.g., ASEA,
MINIMOVER).
Una Aproximacin Heurstica para buscar la solucin en Forma Cerrada
Recordemos Qu es lo que se requiere para abordar la construccin de un modelo
cinemtico de un manipulador cualquiera:
Se trata de expresar las variables de articulacin en trminos de las variables que describen
el espacio cartesiano. Vamos a dar un mtodo heurstico para buscar soluciones a partir de la
ecuacin general de transformacin del manipulador. Pero
CUIDADO!!, dicho mtodo no garantiza la existencia de solucin, y
adems algunas soluciones encontradas pueden ser redundantes.
py l2 S1C2
= 1 = atan2(py, px)
px l2 C1 C2
Para resolver 2 podramos utilizar la expresin para pz, pero el resultado incluira un
arcsin, y esto origina imprecisiones. Hay que buscar una solucin ms robusta en trminos
de atan2. Para ello hacemos:
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-26
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
A11 RTH = A2
XxC1 + XyS1 YxC1 + YyS1 ZxC1 + ZyS1 pxC1 + pyS1 C2 S2 0 l2C2
Xz Yz Zz pz d1 S2 C2 0 l2 S2
=
XxS1 XyC1 YxS1 YyC1 ZxS1 ZyC1 pxS1 pyC1 0 0 1 0
0 0 0 1 0 0 0 1
7 Adaptado de [McKerrow,91]
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-27
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Vamos a ver un caso prctico de uso del algoritmo ant. para encontrar la solucin general
de una manipulador de dos articulaciones 2R (plano), definido por la tabla de parmetros de
D-H:
a d
1 0 a1 0
2 0 a2 0
En ste caso, no hay elementos con una sola variable de articulacin, y premultiplicar o
postmultiplicar no servir de nada. As que habr que escoger dos expresiones y utilizar
identidades trigonomtricas para simplificarlas:
px = l1C1 + l2C12
py = l1S1 + l2S12
pz = 0
Las ecs. para px y py , son del tipo descrito como "class5"8. Obraremos en consecuencia, y
operando se llega a:
p x 2 + p y 2 l 2 1 l2 2
p x 2 + p y 2 = l 2 1 + l2 2 + 2 l1l2 C2 C2 =
2 l1l2
Objetivo:
Calcular una trayectoria en el Espacio de Articulaciones a partir de la
trayectoria (localizacin, velocidad y aceleracin) en el Espacio Cartesiano. As
pues, se requieren Transformaciones Cinemticas Inversas para computar
velocidades y aceleraciones de las articulaciones.
Observacin:
Cuando se controla el movimiento con un ordenador, las seales de
realimentacin son ledas a intervalos discretos de tiempo. S se lee una seal de
velocidad, se asume que sta permanece cte. hasta la prxima lectura. Si se lee un
valor para la posicin o el desplazamiento, entonces la velocidad media es el
desplazamiento durante el intervalo de muestreo. Por lo que la medida y control
del movimiento diferencial es anlogo a la medida y control de la velocidad.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-29
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
dx = J dq
Veloc. E. de Veloc. E.
Articulaciones Cartesiano
(qi) x,y,z, ,,
-1
dq = J dx
Nota: El mismo enfoque puede utilizarse para calcular la transformacin entre las velocidades de
articulacin y las velocidades lineales y angulares de cualquier punto del manipulador.
d x d x1 d x2 d x3 d x4 d x5 d x6 dq J
1 J12 J13 J14 J15 J16 dq1
d
d y 2 d y3 d y 4 d y5 d y6 dq J
11
d y y1 2 21 J 22 J 23 J 24 J 25 J 26 dq2
d d
d z 2 d z3 d z 4 d z5 d z6 dq3 J31 J32 J33 J34 J35 J36 dq3
z = z1 =
x x1 x2 x3 x4 x5 x6 dq4 J 41 J 42 J 43 J 44 J 45 J 46 dq4
y 2 y3 y4 y5 y6 dq5 J51 J52 J53 J54 J55 J56 dq5
y y1
z
z 2 z3 z 4 z5 z 6 dq6 J 61 J62 J63 J 64 J65 J66 dq6
z1
Observaciones:
dx = dx1 dq1 + dx2 dq2 + dx3 dq3 + dx4 dq4 + dx5 dq5 + dx6 dq6
es la componente x del movimiento diferencial del elemento terminal en funcin del
movimiento diferencial de las articulaciones,
y es la componente y del movimiento angular del elemento terminal en funcin del
movimiento diferencial de las articulaciones,
dx1 = J11 = x / q1
es la derivada parcial de la componente x de la posicin del elemento terminal con
respecto a la variable de articulacin 1,
y6= J56
es la derivada parcial de la componente y de la orientacin del elemento terminal con
respecto a la variable de articulacin 6,
OJO!, el Jacobiano obtenido se define respecto al sistema de referencia, "frame 0". Para
hallar el Jacobiano con respecto al elemento terminal, haremos:
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-30
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Esta ecuacin describe el movimiento cartesiano del elemento terminal como una
funcin del movimiento diferencial de la articulacin n.
Algoritmo [Paul,81], para encontrar el Jacobiano del Manipulador con respecto al Sist. de
Ref. del Elemento Terminal.
1.- Empezar en la articulacin 1, donde n=1,
1
E
1 = R TE 0 1 R TE
d 0 TE = R Tn 1n 1 n n 1 TE dq n = R TR 0 1 R TE dq1
= 0 1 A1 L AE dq n
n 1
y, TE = R TE = A1 L AE
2.- Obtener la 1 columna del Jacobiano, el vector asociado al movimiento diferencial para la
articulacin 1, (n=1); los elementos de 01.
Caso 1: Articulacin de Revolucin:(rotacin diferencial alrededor del eje z)
J1 = x p y p z p x y z
Donde, debido a que x=y=0, se obtiene,
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-31
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
E
x
x p = = J 1n = n 1x y n 1 p x n 1x x n 1 p y = 0 x y 0 p x 0 x x 0 p y
n
y
E
y p = = J 2 n = n 1y y n 1 p x n 1y x n 1 p y = 0 y y 0 p x 0 y x 0 p y
n
E
x
z p = = J 3n = n 1z y n 1 p x n 1z x n 1 p y = 0 z y 0 p x 0 z x 0 p y
n
E
x E
y E
z
x = = J 4 n = n 1x z ; y = = J 5n = n 1y z ; z = = J 6 n = n 1z z
n n n
Caso 2: Articulacin Prismtica:(traslacin diferencial a lo largo del eje z)
J1 = d x d y d z 0 0 0
Donde, debido a que dx=dy=0, y los ngulos entre los ejes son fijos,
E
x
dx = = J 1n = n 1x z = 0 x z
d n
E
y
dy= = J 2 n = n 1y z = 0 y z
d n
E
z
dz = = J 3n = n 1z z = 0 z z
d n
E
x E y E z
= = = 0 = J 4 n = J 5n = J 6 n
d n d n d n
3.- A continuacin, para calcular el vector asociado al movimiento diferencial para la 2
articulacin, (n=2) obtenemos la transf. diferencial de coord. para la articulacin n,
premultiplicando la transf. diferencial de coord. para la articulacin n-1 (la articulacin
anterior) por la inversa de An-1.
n 1
TE = An 1 1n 2 TE = An L AE 1TE = A1 10 TE = A2 L AE
4.- Repetir el paso 3 hasta calcular todas las columnas del Jacobiano, una para cada
articulacin.
0 0 1 0 0 1
0 x 0 p 0x 0 p 1 x 1p 1x 1p l S 0
E
J = 0 y 0 x 0 x 0 y 1 y 1 x 1 x 1 y = 1 2
y y px yx py y y px yx py l1 C2 + l2 l2
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-32
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Este resultado es el mismo que el Jacobiano con referencia al elemento terminal, obtenido
aplicando clculo diferencial.
Singularidades
La mayora de manipuladores poseen configuraciones donde el Jacobiano es singular, esto
es, no tiene inversa. Cuando un manipulador est en una configuracin singular, pierde uno
o ms grados de movilidad, lo cual, para un manip. 6 grados de movilidad corresponde a
una prdida de grados de libertad, lo que supone que existirn ciertas direcciones cartesianas
inalcanzables por el elemento terminal.
Tipos: (1) Singularidad interna al espacio de trabajo.
(2) Singularidad en la frontera del espacio de trabajo.
Ligaduras de Obstculo
Si No
Fuera de Lnea Fuera de Lnea
Si Libre de Colisin
Planificacin del Camino Planificacin del Camino
en Lnea [+] en Lnea [+]
Ligaduras del Seguimiento del Camino Seguimiento del Camino
Camino
No Control Posicional [+] Control Posicional
Obstculo en Lnea
Deteccin y Evitacin
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-33
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Observacin: Desde el pto. de vista del anlisis de Control, el movimiento de un brazo se suele
efectuar en dos fases de control distintas:
Sensores
y Estimadores
Interface
t = t + t;
H(t) = donde debera estar en el instante t la mano del manipulador;
Q[H(t)] = solucin correspondiente de la articulacin para H(t);
S t = tf, entonces salir;
ir a bucle;
Por lo que adems del clculo de la funcin de trayectoria de la mano del manipulador H(t) en
cada intervalo de control, necesitamos convertir las posiciones cartesianas en sus
correspondientes soluciones de articulacin, Q[H(t)]. La funcin H(t) indica la posicin
deseada de la mano del manipulador en el instante t.
Objetivos:
Introducir al alumno en el campo de la sensorizacin de robots, comprendiendo
los principios fsicos subyacentes.
Estudiar los dos tipos de informacin sensorial existentes: la interna y la
externa.
Describir algoritmos capaces de procesar, con un determinado fin, los datos de
entrada de un sistema de visin.
Enlazar brevemente con la problemtica asociada al reconocimiento de formas.
Describir su problemtica en el campo de la Visin Artificial, mediante casos
prcticos.
Poner de manifiesto las complejidades que entraa la construccin de un
Clasificador Eucldeo.
Investigadores como Dario [Dario, 89] plantearon en su da un dilema que sigue siendo
actual en la automatizacin industrial de nuestros das: cundo se debera incorporar
informacin sensorial a los sistemas robotizados reduciendo, en consecuencia, el grado de
estructuracin del entorno de trabajo?, y cundo se debera prescindir de dicha informacin,
incrementando la estructuracin del campo de operaciones?.
Dario responde sugiriendo que podemos distinguir dos extremos en el campo de aplicacin
o dominio de los robots industriales:
A. Tareas cuyas prioridades son: alta velocidad y precisin absoluta en la posicin.
Caractersticas tpicas de las cadenas de produccin o ensamblado a gran escala.
B. Tareas ms sofisticadas, necesitadas de informacin sensorial. Tpica de la
produccin o ensamblado de pequeos lotes.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-36
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Llegado este punto interesa recordar algunas reflexiones de Russell [Russell, 48] al hilo de
la percepcin y el ordenador. Este plantea preguntas como: podra un ordenador, con
suficiente conocimiento de la estructura de determinado cerebro, predecir la respuesta
muscular a un estmulo dado utilizando las leyes de la fsica y la qumica?; O la intervencin
de la mente es un eslabn esencial para conectar un antecedente fsico (el estmulo) con una
consecuencia fsica (un movimiento corporal)?. La experiencia demuestra que existen reflejos
en los que la respuesta es automtica y no controlada por la volicin.
Fase de Tratamiento.
- Abarca aspectos muy diversos (correccin de distorsiones, eliminacin de ruido,
segmentacin y extraccin de caractersticas etc. ) de importancia variable en
funcin de: (1) Tipo, cantidad y calidad de la informacin suministrada por la 1
fase, y (2) Requisitos de la 3 fase.
9 Es decir, menos vulnerable a posibles errores de posicionamiento, derivados del calibrado, modelo cinemtico, etc.
10 Suponiendo que la capacidad de adaptacin sea un indicador de un cierto grado de inteligencia.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-37
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Fase de Interpretacin.
- Es la de mayor dificultad del proceso.
Entorno
ADQUISICION
Representacin
Cuantitativa
TRATAMIENTO
Representacin
Simblica
INTERPRETACION
Descripcin
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-38
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
contornos de los objetos, prescindiremos de toda aquella informacin que no sea relevante al
respecto (e.g. texturas, color, etc.).
De acuerdo con otros investigadores [Horn, 86], podemos afirmar que estamos todava
muy lejos de poder conseguir un sistema de visin "universal", que funcione bien con
independencia del contexto y de los objetivos a alcanzar. Por el contrario, la mayor parte de
los sistemas de visin tienen un alcance bastante limitado, resolviendo nicamente aquella
aplicacin concreta para la que fueron diseados bajo unas determinadas condiciones
iniciales. No obstante, se estn empezando a crear las bases necesarias para construir mdulos
que solucionen reas acotadas del proceso de visin con la idea de lograr una aproximacin
cada vez mayor a un sistema de visin "universal" (o de propsito general). Estos mdulos
exigirn adaptaciones mnimas a problemas especficos cualesquiera. Un mdulo de visin,
tpico en robtica, habr de capturar la escena y entregar a la salida una representacin
simblica formada por cada uno de los contornos de los objetos que en ella aparezcan as
como una serie de descriptores asociados (vase la figura 3.2). En dicha figura se representan
dos mdulos bsicos: adquisicin y anlisis. En adquisicin englobaremos la problemtica de
la iluminacin, la captura por el sistema de visin utilizado (cmara CCD ms tarjeta
digitalizadora). Mientras que en anlisis abarcaremos las etapas de segmentacin, extraccin
de contornos, clculo de momentos y extraccin de caractersticas basadas en los momentos.
Dejando el preprocesado (filtros, etc.), para un nivel intermedio entre ambas etapas.
Iluminacin
Adquisicin Anlisis
Imagen Contornos y
Descriptores
Figura 3.2. Adaptada de [Horn, 86]. Diagrama de bloques de un mdulo de visin genrico.
Puntualicemos:
La visin, se puede definir como la habilidad de reconocer objetos a partir de la luz
reflejada por los mismos en una imagen, mediante el consiguiente procesado de sta.
El ojo humano focaliza la luz en la retina, donde los elementos receptores (conos y
bastones) recogen la intensidad y longitud de onda de la luz. A continuacin sta
informacin se pasa al cerebro, el cual lo interpreta como una escena procediendo a
identificar los objetos de la misma.
Una imagen digitalizada es el resultado de realizar un muestreo equidistanciado y una
cuantificacin (sampling & quantization) a una imagen real o continua.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-39
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
El punto (2) est relacionado, bsicamente, con los dispositivos fsicos necesarios para
capturar la imagen utilizando una cmara; digitalizarla a continuacin mediante la tarjeta
diseada al efecto; y ubicarla, finalmente, en la memoria del ordenador, como una matriz de
pxeles. Las cmaras se encargan de enfocar y depositar la imagen de la escena tomada sobre
un sensor electrnico, que transforma las variaciones luminosas en elctricas para
transmitirlas, posteriormente al ordenador.
Elementos fundamentales:
1) Objetivo.- Sistema ptico, formado por un conjunto de lentes, que proyecta la
imagen sobre el sensor de forma adecuada.
2) Sensor.- Transforma las seales luminosas en elctricas.
Negro
Tiempo
Anchura de pixel
Figura 3.3. Las clulas de una fila de la matriz del sensor proporcionan una informacin
elctrica correspondiente a una lnea de la imagen:
Slido, conformada por una matriz de elementos fotosensibles, la intensidad de cada uno
de ellos se obtiene mediante un circuito electrnico que los va explorando, de izquierda a
derecha y de arriba abajo. La seal obtenida es la SEAL DE VIDEO!.
(x,y)
y Imagen
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-41
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Teselaciones y Mtricas
Nota: Las teselaciones triangular y hexagonal no presentan dificultades en cuanto a conectividad (e.g.,
la 3-conectividad para triangulos). Sin embargo la DISTANCIA puede ser ms dificil de
calcular en stas que en las matrices de rectngulos!!.
Def.- Distancia. En general una distancia d es una mtrica:
(1) d (xr, yr ) = 0 xr = yr
(2) d (xr, yr ) = d ( yr, xr )
(3) d (xr, yr ) + d ( yr, zr ) d (xr, zr )
Para matrices cuadradas con espaciado unidad entre pixels, podemos usar cualquiera de
las mtricas siguientes para 2 pixels, (x1,y1), (x2,y2):
Eucldea : d e ( x , y ) = ( x1 x 2 ) + ( y1 y 2 )
r r 2 2
4 - Distancia : d 4 ( x , y ) = x1 x 2 + y1 y 2
r r
8 - Distancia : d 8 ( x , y ) = max{ x1 x 2 , y1 y 2 }
r r
4-Distancia: Los pixels cuya distancia D4 a (x,y) sea menor o igual que un valor dado r
forman un rombo centrado en (x,y). Ejemplo, D4 2 a (x,y), da lugar a la siguiente
configuracin de distancias constante:
2
2 1 2
2 1 0 1 2
2 1 2
2
8-Distancia: Los pixels cuya distancia D8 a (x,y) sea menor o igual que un valor dado r
forman un cuadrado centrado en (x,y). Ejemplo, D8 2 a (x,y), da lugar a la siguiente
config. de dist. cte:
2 2 2 2 2
2 1 1 1 2
2 1 0 1 2
2 1 1 1 2
2 2 2 2 2
Nota: Se puede hacer tambin que h opere sobre un conjunto de imgenes (e.g., la suma pixel a pixel
de k-imgenes para la reduccin de ruido).
Mscaras de Convolucin
(plantillas, ventanas filtros)
Def.- Una mscara es una matriz bidimensional cuyos coeficientes se eligen de forma que
podamos detectar una propiedad dada para una imagen.
Se utiliza para las llamadas "operaciones" en entorno de vecindad:
-Reduccin de Ruido
-Para obtener niveles de imagen variables
-Para hacer apreciaciones de textura
-Para obtener el esqueleto de un objeto
w1 w2 w3
(x-1,y-1) (x-1,y) (x-1,y+1)
w4 w5 w6
(x,y-1) (x,y) (x,y+1)
w7 w8 w9
(x+1,y-1) (x+1,y) (x+1,y+1)
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-44
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
-1 -1 -1
-1 8 -1
-1 -1 -1
Filtros PASA-ALTO
Consisten en hacer resaltar el permetro de los distintos objetos que componen la imagen. Se
basan en el clculo del gradiente. En esencia, se trata de comparar los pixels de una imagen
con sus vecinos:
f(x,y) f(x+1,y)
f(x,y+1) f(x+1,y+1)
f(x,y) f(x+1,y)
f(x,y+1) f(x+1,y+1)
Observacin:
En ambos casos, el clculo del gradiente es proporcional a la diferencia entre los
niveles de gris de pixels adyacentes.### Un valor alto de gradiente en pixels
asociados a las aristas de los objetos, y valores bajos en zonas con niveles de gris
prximos.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-45
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Filtros PASA-BAJO
Objetivo: Eliminacin de Ruido
Las dos Tcnicas ms utilizadas son:
1).- Filtro de MEDIA
Un pixel en la nueva imagen es el resultado de promediar los valores de los pixels
vecinos al pixel homlogo de la imagen original:
g(x,y) = [f(x-1,y)+f(x+1,y)+f(x,y-1)+f(x,y+1)]/4
No Borde
If (x,y)
Borde
0 Histograma 1
Imagen Filtrada
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-46
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Introduccin
Una vez segmentada la imgen digital de partida (etiquetados sus pxeles), el siguiente
paso es calcular un vector de caractersticas discriminantes asociadas con el contorno.
Existen dos procedimientos clsicos a la hora de calcular rasgos discriminantes de
contornos cerrados:
[1].- Basado en el clculo de momentos de una funcin bidimensional f(x,y) acotada
y cerrada en el plano x,y.
[2].- Basado en la Transformada de Forier.
1 Su nivel de gris.
2 La posicin (fila y columna) de un pxel en su contorno, llamado punto inicial (PI).
3 Una secuencia de direcciones que permiten trazar el borde externo del contorno.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-47
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
1 3 2 1
2 0 4 0
3 5 6 7
Definido un nivel de gris para el fondo de la imagen (Blanco 63, en nuestro caso), el
algoritmo hace un barrido por lneas de toda la imagen buscando puntos con un nivel de
gris distinto del indicado. Una vez encontrado tal punto (si existe), llama al algoritmo de
trazado de contorno. Cuando este termina, se contina con la bsqueda de puntos
iniciales evitndose que cualquier punto del objeto ya contorneado sea considerado
como punto inicial mediante un proceso de marcado de los puntos del contorno y un
inteligente manejo de una pila de niveles de gris (vase la figura 3.5). Ntese que el
pxel alcanzado ser un punto inicial si su atributo es izquierda (I, en la figura 3.5) y su
nivel de grs no est en la misma mitad del rango de grises que el de la ltima entrada en
la pila.
X
PI PI
barrido I R R D I D
I D I D
Y
I D I D
I R R D
"apilar" "desapilar"
Pila
negro
blanco blanco blanco
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-48
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Una primera idea puede ser almacenar cada una de las coordenadas de los puntos (pixels)
que forman parte de cada contorno. Nosotros seguiremos la idea propuesta en [Gonzalez &
Wintz, 87], y guardaremos nicamente las coordenadas de los puntos iniciales, PI, de cada
uno, con la secuencia correspondiente de direcciones asociadas a los puntos que forman
parte de dicho contorno. La implementacin de esta estructura puede realizarse utilizando
un vector cuyos elementos sern registros con tres campos: Pixc, Piyc (de tipo entero), que
representarn las coordenadas del PI de cada contorno; y un campo de tipo puntero,
listado, que apuntar a una lista cuyos nodos tendrn un nico campo de informacin, dato
(de tipo byte) que contendr el cdigo del segmento de la cadena, adems del puntero al
siguiente elemento (next). Los sucesivos contornos que se vayan detectando se
almacenarn siguiendo la estructura de la figura 3.6. Posteriormente, con el objetivo de
facilitar el razonamiento geomtrico necesario en las fases posteriores del algoritmo, esta
estructura de datos inicial del contorno, la lista dinmica, se trasvasa a un vector
dinmico11, donde se guardan las coordenadas de los puntos del contorno.
[1] [MAXCONT]
Piyc Pixc Listado
i1 j1
dato1
next1
dato2
next2
datoN
NIL
11Vase el apndice D.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-49
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
2. Barrer la imagen de izquierda a derecha y de arriba a abajo hasta encontrar un punto en el que se cambie de
zona de gris y con atributo 0. Marcar este punto como PI de este contorno.
4. Marcar el contorno en la matriz de atributos recorriendo el contorno en sentido horario aplicando las reglas
pertinentes para la asignacin de atributos a cada pxel del contorno.
regla2 :
r2 = ((1,3,1),(3,2,2),(1,2,3));
Donde, r1, representa las 64 posibilidades asociadas con las ocho direcciones de entrada y
salida (vase la figura 3.7), contempladas por el subalgoritmo de trazado de contornos, y r2,
las nueve asociadas con los tres atributos posibles (I, D y R), cuando dicho algortmo pasa por
segunda vez por el mismo pxel del contorno.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-50
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Teniendo en cuenta que las coordenadas del centroide de la funcin f(x,y) se definen como:
m10 m
x= ; y = 01
m00 m00
podremos definir los denominados momentos centrales:
pq = (x x)
p
( y y ) q f ( x, y )dxdy p, q {0,1,2, K, }
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-51
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
En nuestro caso, la funcin f(x,y) representa la intensidad de cada uno de los puntos (x,y) de
una imagen digital; por tanto, necesitamos la representacin discreta de las definiciones
anteriores [Fu et al., 88], [Maravall, 93]. Es decir,
Nx N y
m pq = x p y q f ( x, y ) p, q {0,1,2K , }
x =0 y =0
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-52
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
i
xi 0 xiJ
yi
y slo resta sumar las contribuciones de las Ny filas de cada momento de orden (p,q), para
obtener los momentos totales.
Como interesa trabajar con objetos sin restricciones (cncavos, con huecos etc.), utilizaremos
la regla delta extendida, la cual considera la posibilidad de que las contribuciones por filas de
los pxeles de la imagen est particionada en Ji secciones para cada lnea i,
Ji
m pq,i = m pq,ij
j =1
De esta manera, los mpq calculados con este mtodo se obtienen en un tiempo del orden de 30
veces menor que los calculados a partir de la definicin aplicada sobre la imagen binaria I(x,y)
del objeto,
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-53
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Nx Ny
mpq = x jp yiq I ( x j yi )
j =0 i =0
que exhibe complejidad O(Nx x Ny) O(N2); lo cual es muy conveniente para nuestros
propsitos. Podemos ver su significado en el ejemplo de la figura 3.9.
A partir de estos mpq se definen los correspondientes momentos centrales [Gonzalez & Wintz,
87]:
00 = m00 ; 10 = 01 = 0
02 = m02 ym01
11 = m11 ym10
12 = m12 2 ym11 xm02 + 2 y 2 m10
20 = m20 xm10
21 = m21 2 xm11 ym20 + 2 x 2 m01
i 2 i 4
xi xi xi xi
0 ,2 J ,2 0 ,4 J ,4
yi
xi
0 ,1 i 1 xi J ,1 xi
0 ,3 i 3 xi J ,3
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-54
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
2 La orientacin del Eje Principal, que coincide con la del eje de mnima inercia del
objeto (Imin):
1 2 11
= atan
2 20 02
dicho eje pasa por el centroide del objeto y, a partir del mismo, es trivial calcular el eje
ortogonal a l pasando por el centroide: direccin del eje de mxima inercia (Imax). Para evitar
posibles ambiguedades en el calculo de la orientacin anterior, se har uso de la funcin
"atan2" (introducida en el Tema II), que es una funcin de dos argumentos que permite
discriminar cualquier regin angular sin posibilidad de error, teniendo en cuenta el seno y el
coseno simultneamente:
1
= atan 2(211 , 20 02 )
2
Una visualiacin grfica de estos dos descriptores puede verse en la figura 3.10.
Estos dos ejes representan dos direcciones privilegiadas en el plano, de gran ayuda para
automatizar la localizacin de los objetos en una escena. Dichas direcciones pueden
visualizarse mediante la denominada "elipse de mejor ajuste" [Jain, 89], cuyos semiejes
(mayor, a, y menor, b), coinciden en direccin con los ejes de mnima y mxima inercia (Imin,
Imax) respectivamente:
20 + 02 4 211 + ( 20 02 )2
I min =
2
20 + 02 + 4 211 + ( 20 02 )2
I max =
2
I min I max
Se observa que ambas caractersticas se definen en base a los momentos centrales de segundo
orden. Puntualicemos que es adems en los momentos de menor orden donde se concentran
las principales caractersticas de la forma de un contorno cerrado [Maravall, 93].
En la figura 3.11, se visualiza un ejemplo de una imagen real (alicates) donde se muestran los
descriptores calculados, representndose adems la elipse de mejor ajuste, de forma que se
evidencia la bondad de los mismos. Obsrvese que la direccin del eje principal coincide con
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-55
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
la del momento de inercia mnimo (semieje mayor de la elipse), y la del momento de inercia
mximo, con la direccin de la recta que pasando por el centroide es ortogonal al eje principal
(semieje menor de la elipse). Tambin se observa el convenio seguido en la orientacin del eje
principal (Imax), en la esquina superior izquierda de dicha figura.
X
Eje Principal
(Imin )
Y
(x,y)
(x)
(x)
( x , y ) +
Eje Principal
(Imin )
<0
X
>0
Centroide
Y
Imax
b
a
Eje Principal
Imin
Figura 3.11. Visualizacin sobre una imagen real (alicates) de la elipse de mejor
ajuste, con sus semiejes mayor, a (Imin) y menor, b (Imax) y de los
descriptores utilizados. En este caso el valor de la orientacin de Imin es
de 47, siguiendo el convenio visualizado .
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-56
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
IMax:=((MC[2,0]+MC[0,2]+Sqrt(4*Sqr(MC[1,1])+Sqr(MC[2,0]-MC[0,2])))/2);
Ejea:=R4_pi_4*Potencia(Imax*Imax*Imax/Imin,0.125);
Ejeb:=R4_pi_4*Potencia(Imin*Imin*Imin/Imax,0.125);
El paso siguiente ser normalizar los momentos centrales, de manera que adems de ser
invariantes frente a traslaciones lo sean frente a cambios de escala:
p,q
p,q = p+q
; p,q{0,1,2,...
}; p + q{2,3,...}
1+
m0,0
2
Observaciones finales:
* El objetivo perseguido por nosotros al calcular los momentos est ms dirigido a la
discriminacin que a la reconstruccin de los contornos de los objetos.
* Podemos resumir lo visto hasta aqu diciendo que dado un objeto en forma de funcin
bidimensional f(x,y) que toma el valor unidad en su contorno y en el interior del
mismo, y el valor nulo fuera de dicha regin, se obtendr un conjunto finito de
caractersticas invariantes a traslaciones, giros y cambios de escala (u homotecias)
segn el siguiente proceso secuencial:
mp,q p,q p,q p,q
12[HuMK, 62]
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-57
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
vdeo
D/A ordenador A/D
monitor
cmara
robot
objeto
localizacin
visin
estimada
cmara
robot
objeto
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-58
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
RECONTO. RECONTO.
IMAGENES DEL HABLA
RECONOCIMIENTO
DE FORMAS
RECONOCIMIENTO RECONOCIMIENTO
GEOMTRICO SINTCTICO
SEGMENTACION EXTRACCIN DE X? X
(Aislamiento Objetos) CARACTERSTICAS
X1...Xn
BASE DE DATOS
(Diccionario)
Objetos del Universo
Eleccin y prueba de
las caractersticas
No
Bin?
S
IMPLEMENTACIN
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-59
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Una vez superada la etapa de diseo anterior, se obtiene el siguiente diagrama de bloques
de un Sistema de Reconocimiento Automtico de Formas en la fase operativa:
UNIVERSO
de Trabajo
SEGMENTACION EXTRACCIN DE
Objeto CARACTERSTICAS
Individual
X
Clasificacin
FUNCIONES de X
DISCRIMINANTES
ORDENADOR
CAMARA
ROBOT
CINTA
TRANSPORTADORA
Determinacin del
Universo de Trabajo
Eleccin y prueba de
las caractersticas
No
Hiptesis
Deterministas? Otro Clasificador
S
Clculo de los Centroides
de las Clases: Z1,Z2,...,Zn
Implementacin ffdd
(Distancia Eucldea)
Prueba del
Clasificador
IMPLEMENTACIN
+ -
XT. Z 1 X
X? T M
(1/2)Z2 . Z2
A
+ X- Xe a / fd (X) mxima
XT. Z 2 X j j
I
M
O
T
(1/2)ZN. ZN
T + -
X . ZN X
Observaciones:
El vector X a clasificar es operado en paralelo por las N funciones discriminantes,
de modo que la carga computacional de ste clasificador es igual14 a N.n productos
reales y N sumas.
X
2
1
3
+
2 fd=fd (X)-fd (X)
- 1 2
2
1
X
1
1 2
3
b).-Razonar los pros y los contras del
4 clasificador Eucldeo frente al
3
2
clasificador por regiones.
1 2
X
1
-3 -2 -1 1 2 3 4 5 + 6
-
fd
2
Regla de Decisin:
Dada una muestra (o patrn) X0 decidir i (X0 ### wi) sii D0i <= D0j ### j = 1,2,...
INICIO programa
inicializar y leer las listas de objetos de muestra (aprendidos)
seleccionar el nivel de umbralizacin
capturar una imagen
umbralizar la imagen
MIENTRAS (hay objetos en la imagen)
trazar el contorno
calcular momentos geomtricos de la superficie del objeto
calcular momentos geomtricos del contorno del objeto
calcular 14 invariantes (X vector de caractersticas)
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-62
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
escalar el vector X0
SINO
asignar X0 a la clase de mnima distancia
FIN SI
FIN MIENTRAS
FIN del programa
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-63
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Dada una muestra (o patrn) X0 decidir i (X0 ### wi) sii la clase i es la ms numerosa
entre el conjunto de K muestras ms prximas a X0
INICIO programa
inicializar y leer las listas de objetos de muestra (aprendidos)
seleccionar el nivel de umbralizacin
capturar una imagen
umbralizar la imagen
MIENTRAS (hay objetos en la imagen)
trazar el contorno
calcular momentos geomtricos de la superficie del objeto
calcular momentos geomtricos del contorno del objeto
calcular 14 invariantes (X vector de caractersticas)
escalar el vector X0
inicializar i = 1
HACER HASTA (encontar los K-vecinos ms prximos)
calcular la distancia de X0 a Xi
SI1 (i <= K)
incluir Xi en la lista de los K-vecinos ms prximos
(KNN)
SINO
SI2 (Xi es ms prximo que alguno de los KNN anteriores)
eliminar el vecino ms lejano de la lista KNN
incluir Xi en la lista KNN
FIN SI2
FIN SI1
incrementar i
FIN HACER
determinar la clase ms votada en la lista KNN
SI3 (existe un empate)
calcular la suma de las distancias a los vecinos dentro
de cada clase
SI4 (hay otro empate)
clasificar X0 aleatoriamente en alguna de las clases del
empate
SINO
clasificar X0 en la clase con menor suma
FIN SI4
SINO
clasificar X0 en la clase ms votada de la lista KNN
FIN SI3
FIN MIENTRAS
FIN del programa
Entre los diferentes aspectos a tener en cuenta para la consecucin de los objetivos
anteriores estn:
- Tcnicas de iluminacin y preprocesamiento de imgenes.
- Hardware especfico para anlisis de imgenes.
- Extraccin de caractersticas.
- Reconocimiento automtico de piezas.
Objetivos:
Introducir al alumno en el contexto de la programacin de robots.
Estudiar los diferentes tipos de lenguajes existentes.
Poner de manifiesto las dificultades inherentes a este tipo de programacin.
Vislumbrar las metas que se pretenden alcanzar en un futuro prximo. Una
primera aproximacin a los lenguajes de programacin avanzados.
NIVEL DE OBJETIVOS
_________________________________________________
NIVEL DE LOS OBJETOS O NIVEL TAREA
_________________________________________________
NIVEL DEL MANIPULADOR
_________________________________________________
NIVEL DE LAS ARTICULACIONES
ROBOT
Figura 4.1. Adaptada de [Gini et al. 85]. Descripcin esquemtica, por niveles,
de los lenguajes de programacin de robots.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-66
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
En el primer nivel, de las articulaciones, existen lenguajes como ARMBASIC y MAL que
llegan a especificar incluso los pasos de los motores internos del robot para ejecutar un
determinado movimiento.
A nivel del manipulador, los lenguajes incorporan ya la conversin entre el espacio
cartesiano y el de las articulaciones, as como tambin la posibilidad de generar determinadas
trayectorias entre puntos del espacio. Estos lenguajes son los que en la actualidad estn mas
extendidos en los robots industriales y un representante caracterstico sera VAL, desarrollado
por Unimation en la dcada de los 70, para controlar su robot PUMA.
En el siguiente nivel es donde existe un mayor esfuerzo investigador por parte de la
comunidad cientfica. Aqu se intersecta con otro tpico de gran importancia por su
repercusin en la industria: "planificacin del ensamblado". Bsicamente se pretende: a partir
de un modelo del mundo (representacin geomtrica del entorno del robot, incluido el robot),
mediante la construccin de un "planificador de tareas", traducir automticamente las
especificaciones "estado inicial/estado objetivo" (especificaciones a nivel de tarea), al cdigo
de un manipulador especfico (especificaciones a nivel de manipulador).
Fruto del esfuerzo investigador en esta lnea son los lenguajes: RAPT, desarrollado en la
Universidad de Edimburgo [Popplestone et al., 78], LAMA, desarrollado en el M.I.T.
[Lozano-Perez et al., 77], AUTOPASS, desarrollado por IBM [Lieberman et al., 77]. En la
frontera entre el nivel del manipulador y el de los objetos estara el lenguaje AL, desarrollado
en la Universidad de Stanford [Finkel et al., 74], del cual arrancan algunas ideas incorporadas
en los anteriores lenguajes.
En el nivel ms alto planteado, se sitan los lenguajes a nivel de objetivos, donde se
pretende que sea el propio robot el que cree sus planes para cada tarea que se le ordene
mediante lenguaje natural. Esto requiere un sistema capaz de: razonamiento geomtrico,
comprensin del lenguaje natural, generacin de planes, interpretacin de imgenes etc. Todo
lo cual lo hace inaccesible por el momento. Los esfuerzos investigadores se centran en la
etapa anterior, pues est claro que hasta que aquella no est resuelta de modo satisfactorio
difcilmente podremos pasar a la siguiente.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-67
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
El robot retira de una cinta transportadora aquellas piezas identificadas como defectuosas.
El robot se encuentra en espera hasta la llegada de una seal indicando la existencia de una
pieza defectuosa sobre la cinta transportadora. El robot procede entonces a parar la cinta y a
coger la pieza, depositandola en un almacen de piezas defectuosas. El propio robot se encarga
de activar de nuevo el movimiento de la cinta, una vez que la pieza ha sido cogida. Tras la
operacin, el robot vuelve a su posicin inicial y se repite de nuevo el ciclo.
El programa cuenta con una rutina principal junto con varias subrutinas especficas, adems
de la definicin de las variables correspondientes.
Programa principal (PROC main())
Comprende todas las instrucciones a ejecutarse para la realizacin de la tarea.
Primero se va a la posicin inicial de espera y se aguarda a la indicacin de que existe una
pieza defectuosa. Tras parar la cinta y coger la pieza, el robot lleva la cinta al almacn de
desechos y la deposita all. Este proceso se repite hasta que se presione un botn asociado a la
entrada digita terminar.
Rutina de ir a la posicin de espera
Se mueve al robot desde la posicin en la que se encuentre hasta la posicin de espera.
Rutina de coger la pieza de la cinta
Se coge una pieza de la cinta transportadora. Se realiza primero una aproximacin en
coordenadas angulares, movimiento coordinado en el espacio de articulaciones (trayectoria
isocrona), para ms tarde acercarse en lnea recta y con precisin a coger la pieza.
OJO-> Existen tres modos de instrucciones de movimiento: MoveC (TCP describe un crculo), MoveJ (TCP con
trayectoria articular), y MoveL(TCP describe una lnea recta).
Formato:
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-68
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
MoveJ [\Conc] ToPoint Speed [\V] \ [\T] Zone [\Z] Tool [\WObj]
PROC main()
Ir_posicion_espera;
WHILE DInput(terminar)=0 DO
IF DInput(pieza_defectuosa)=1 THEN
SetDO activar_cinta,0;
Coger_pieza
SetDO activar_cinta,1;
Dejar_pieza
Ir_posicion_espera;
ENDIF
ENDWHILE
ENDPROC
PROC Ir_posicion_espera()
MOVEJ conf_espera, VMAX,z30,herramienta
ENDPROC
PROC Coger_pieza()
MOVEJ*, VMAX,z60,herramienta
MOVEL*, V500,z20,herramienta
MOVEL*, V150,FINE,herramienta
Coger
MOVEL*, V200,z20,herramienta
ENDPROC
PROC Dejar_pieza()
MOVEJ*, VMAX,z30,herramienta
MOVEL*, V300,z30,herramienta
Dejar
ENDPROC
Definicin de Variables
PERS tooldata herramienta := [FALSE,[[97,0,223], [0.924,0,0.383,0] ],
[5[-23,0,75], [1,0,0,0],0,0,0] ]
PERS loaddata carga := [5[50,0,50], [1,0,0,0],0,0,0]
PROC Dejar()
Reset pinza ; abrir pinza
WaitTime 0.3 ; esperar 0.3 segundos
GripLoad LOAD0 ; ausencia de carga
ENDPROC
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-69
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-70
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Y P0
P1 P3
C
2
P4
P2 O1 O2
C X
1
ir a P1
ir a P2
cerrar pinza coger O1
ir a P1
ir a P3 mover O1,C1 CONTRA O2,C2
ir a P4
abrir pinza dejar O1
donde aparecen relaciones que implican restricciones espaciales (e.g. contra, coplanar, etc.)
es tpico de los lenguajes de programacin a nivel tarea como RAPT ([Popplestone et al., 78],
[Popplestone et al., 80]) o LM-GEO ([Mazer, 83]), una de cuyas metas es facilitar la
especificacin de tareas al usuario. La idea es que a partir de, nicamente, ciertas
declaraciones simblicas que definen unos estados objetivos se pueda desencadenar
automticamente la correspondiente secuencia de operaciones a nivel del manipulador.
De las tres fases bsicas de la planificacin: Modelado del Mundo, Especificacin de Tarea
y Sntesis del Programa de Manipulador, nos centraremos en la de Especificacin de Tarea.
Aqu existen tres mtodos bsicos de describir la tarea:
Gestual, utilizando el propio efector final del robot para grabar las posiciones
Por sistemas CAD
Mediante Lenguajes formales
RAPT utiliza la especificacin de tarea por secuencia de estados del modelo del mundo.
Mediante Relaciones Espaciales Simblicas, entre caractersticas de los objetos, limita sus
posibles configuraciones, intentando conseguir eliminar cualquier tipo de ambigedad.
Una limitacin importante para ste mtodo es la de que no especifica toda la informacin
necesaria para describir una operacin. Por ejemplo, [Fu et al., 88], el par necesario para
apretar un tornillo no puede ser incluido en la descripcin de estados. Una solucin alternativa
es escribir la tarea como una secuencia de operaciones simblicas con los objetos:
Especificacin de Tareas por Secuencia de Operaciones. En ello se basa AUTOPASS, que
admite sentencias como la siguiente:
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-72
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
incrementando el uso de sensores como visin, o de fuerza, con el objetivo de dotar al robot
de la percepcin necesaria para evitar errores de posicionamiento y, adems, a partir de su
integracin sensomotora, conseguir cierta capacidad reactiva y autnoma. Dejando a parte
consideraciones tcnicas, digamos para terminar que, la filosofa que subyace en los lenguajes
de programacin a nivel de tarea es que sean capaces de acercarse al mximo a la forma de
razonar del hombre, y en este sentido el hecho de utilizar relaciones espaciales simblicas, o
mecanismos similares, supone un claro progreso.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-74
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Psicologa Psicologa
Cognitiva Social
Ciencias de la
Factores
Computacin Humanos y
Ergonoma
Inteligencia
IHO
Artificial Ingeniera
Linguistica Diseo
Figura 4.3. Adaptada de [Preece et al., 94]. Disciplinas que contribuyen a la IHO.
Una de las claves del xito en la creacin de una interfaz concreta, en un determinado
contexto y para un tipo especifico de usuarios, radica en la generacin de una realimentacin
adecuada, que facilite y potencie la comunicacin, en nuestro caso: hombre-robot. Esto pasa
por la incorporacin de dispositivos de entrada/salida y un determinado estilo de interaccin,
que aproveche de forma ptima, tanto los recursos del usuario (sus habilidades en cuanto a
percepcin/comunicacin se refiere), como de la mquina: el robot, dotado o no de algn tipo
de informacin sensorial.
Algunas definiciones tiles son:
Dispositivo de entrada: Aqul que junto con un software adecuado, transforma
informacin del usuario en datos que una aplicacin del ordenador puede procesar.
Dispositivo de salida: Aqul que facilita informacin o realimentacin en forma
perceptible para el hombre.
Si nos restringimos al caso de usuarios sin discapacidades de ningn tipo, parece que un
interfaz adecuado, hombre-robot, pasa por el procesamiento del lenguaje natural que, debido a
las complejidades que presenta, representa todava una lnea abierta de investigacin. No
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-75
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Realidad Virtual
Modelizacin del robot y de su entorno a partir de los datos recogidos del mundo real.
Programacin de las acciones del robot en el mundo virtual.
Ejecucin de la tarea por el robot real y control de esta ejecucin (las ordenes de
ejecucin se dan a travs del robot virtual).
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-76
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-77
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
BIBLIOGRAFA
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-78
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
http://www.frc.ir.cmu.edu/robotics-faq
Como su nombre indica esta direccin se trata de un FAQ de robtica
(Frecuently Asked Questions), es decir, un documento donde est toda la
informacin en modo preguntas-respuestas sobre los robots, su manejo y
elementos necesarios para su construccin.
http://telerobot.mech.uwa.edu.au/java3.htm
Esta es una de las paginas ms curiosas y a la vez ms entretenidas
que hay sobre la robtica en Internet. Con nuestro ratn podemos manejar
un robot, que se encuentra en Australia, a travs del lenguaje Java.
Pulsando con el ratn el brazo mecnico y movindolo podremos observar
como el robot sigue nuestros pasos.
http://ranier.oact.hq.nasa.gov/telerobotics.html
Si hay alguna institucin que necesite robots es sin duda la NASA.
Dentro de su estructura tiene creado un programa donde se estudian las
necesidades de los viajes espaciales para crear nuevos ingenios mecnicos
que ayuden a las misiones a alcanzar los objetivos.
http://www.tiac.net/users/jfrancis/dino_top.html
Presenta un robot realizado por un estudiante. Adems de ver las
fotografas nos explica cmo lo ha hecho y qu es lo que ha necesitado, as
como los requerimientos de tensin y el procesador que controla todas las
funciones. Tambin se expone cmo se ha desarrollado la aplicacin de
control. Es prcticamente una gua de cmo construirse un robot paso a
paso.
http://www.ai.mit.edu/projects
Uno de los centros ms emblemticos sobre la tecnologa como el MIT
(Massachussetts Institute Technology) tambin est presente en el mundo de
la robtica. Desde microrobots que podemos cogerlos con la palma de la
mano hasta robots que pueden desenvolverse sin problema en cualquier
terreno, son mostrados en stas pginas por sus mismo creadores. En
especial, se presenta el proyecto denominado Cog sobre un Robot
Humanoide dirigido por Rodney Brooks, toda una autoridad en el mundo de
la robtica.
http://www.euron.org
Este es el web-site de la red europea de robtica. Dicha red funciona
desde el 2001 como red de excelencia, bajo el V Programa Marco de la Unin
Europea, y nuestra Universidad pertenece a ella desde sus inicios.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-79
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________
Es obvio que, atan2(sen(), cos()) = , y que atan2(k sen(), k cos()) = para cualquier
escalar k. Pueden seguirse una serie de propiedades interesantes de esta funcin en el apndice 1 de
[Yoshikawa, 90] dedicado enteramente a la misma. Esta funcin devuelve valores angulares
univaluados, tal que < (vase la figura 2.3). A partir de las consideraciones anteriores se ha
construido el siguiente algoritmo:
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-80