You are on page 1of 80

INTRODUCCIN A LA ROBTICA

INTELIGENTE

Pedro Jos Sanz Valero

sanzp@icc.uji.es

Dep. legal: CS-369-2006


PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

NDICE

PRLOGO LA ERA DE LA ROBTICA

TEMA I PRELIMINARES

TEMA II EL ROBOT MANIPULADOR


2.1. Localizacin espacial
2.2. Cinemtica de posicin
2.3. Cinemtica del movimiento
2.4. Control del movimiento

TEMA III SISTEMAS DE PERCEPCIN ROBTICA


3.1. Generalidades del proceso de percepcin
3.2. Introduccin a la percepcin artificial
3.3. La percepcin visual
3.4. La visin artificial
3.5. Introduccin al reconocimiento de formas

TEMA IV COMUNICACIN HOMBRE-ROBOT


4.1 Aspectos diferenciales de la programacin de robots
4.2 Clasificacin de los lenguajes de programacin
4.3 Lenguajes de programacin a nivel tarea
4.4 Interfaces avanzadas

BIBLIOGRAFA

APNDICE 1 LA ROBTICA EN EL CIBERESPACIO

APNDICE 2 LA FUNCIN atan2

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-2
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

PRLOGO LA ERA DE LA ROBTICA

Aunque los antecedentes de la robtica se remontan muy atrs en el tiempo, Grecia


clsica e incluso antes, su verdadero motor de desarrollo no llega hasta la aparicin
de los microprocesadores, que en definitiva acabarn constituyendo su cerebro, ya en
la dcada de los setenta. As pues, la aparicin de los primeros robots industriales
comerciales dista tan solo una treintena de aos en el tiempo. Siendo el reto actual, el
mismo que potenci su origen, acercar el robot al hombre, para hacerle ms grata su
existencia. Marcando su evolucin, la tecnologa disponible en cada momento de la
historia.
Sea como fuere, parece ser que el destino de la humanidad est cada vez ms ligado a
la robtica, y por tanto, nada ni nadie puede inhibirse de esta realidad social, de ah la
proliferacin de congresos, cursos y, en general, planes de estudio de Universidades
en los que, cada vez ms, se incluyen asignaturas relacionadas directa o
indirectamente con la robtica. Seguramente en un futuro cercano har falta, incluso,
una especializacin mayor que puede dar lugar a titulaciones especficas en esta
materia, como en su da ocurriera con otras disciplinas (e.g. mecnica, electrnica,
informtica, etc.).
Para entender mejor los intereses que la sociedad demanda en lo referente al campo
de la Robtica, y, por tanto, las complejidades inherentes a dicha disciplina, ser
conveniente que hagamos una pequea reflexin histrica de su evolucin.

Perspectiva Histrica

En el desarrollo de la robtica tal y como la entendemos hoy, existen una pluralidad


de intereses y tecnologas diferentes que hace que sea muy difcil establecer una
secuencia lgica y consistente de eventos descubrimientos en los que apoyarse.
No obstante, se pueden establecer algunas lneas maestras para esclarecer el
progreso de este campo, teniendo en cuenta que las incorporaciones cientfico-
tecnolgicas se suceden a cada momento.
Ya en la antigua Grecia, con Hern de Alejandra (85 d.C.), aparecen los primeros
automatismos dirigidos a ahorrar esfuerzo en diferentes tareas. De hecho, la
palabra autmata deriva del trmino griego automatos. La tecnologa empleada
era hidrulica y mecnica, fundamentalmente. A medida que los medios
tecnolgicos fueron progresando, mejoraron igualmente las posibilidades y
prestaciones, desde los mecnicos, en los ingenios de L. Da Vinci (1499), pasando
por los mecanismos de relojera, incorporados por J. De Vaucanson (1738), llegando
finalmente, al clebre telar de Jacquard (1801), que admita programacin mediante
tarjetas perforadas, fraguando de manera incipiente, la gnesis de la revolucin
informtica que habra de venir.
Ya en nuestro siglo, N. Wiener, acu el trmino ciberntica [Wiener, 48], para
designar el estudio unificado del control y la comunicacin en los animales y las
mquinas. Siendo la famosa tortuga de W.G. Walter, uno de los primeros ingenios
en utilizar esta tecnologa analgica, denominada ciberntica.
Conforme la industria nuclear fue expandindose, a raz de la segunda guerra
mundial, surge otro campo impulsor de la robtica moderna, sin duda, el de los
telemanipuladores, iniciado por R.C. Goerz, en 1948, en el Argonne National
Laboratory (EEUU)] que, mediante una arquitectura maestro-exclavo, permitan
manipular a distancia materiales radiactivos.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-3
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

Casi al mismo tiempo, para automatizar determinadas tareas en la industria,


aparece la primera mquina de control numrico, desarrollada en el MIT1 (EEUU),
durante 1952.
Y con este panorama, tremendamente simplificado, se llega a la aparicin del
primer robot industrial, por G.C. Devol, en 1954. [Fu et al., 88]:
La clave de este dispositivo (Robot) era el uso de un ordenador en
conjuncin con un manipulador para producir una mquina que
poda ser enseada para realizar una variedad de tareas de forma
automtica.

La primera empresa productora de robots fue Unimation (Universal Automation,


Devol y Engelberger, 1958) que instal su primer robot en la General Motors,
incorporndolo a su sistema de produccin, en 1961.
Casi desde su inicio, los ingenieros e investigadores en el campo de la robtica,
fueron conscientes de que la flexibilidad, conducta adaptativa, capacidad de
reaccin ante situaciones imprevistas, en definitiva, el trabajo en entornos
denominados no-estructurados, estaba ligado a capacidades perceptivas que
posibilitaran la realimentacin sensorial en los movimientos del robot. Ello produjo
un ingente esfuerzo investigador en este sentido, desde los sensores tctiles (Ernst,
1962) y de presin (Tomovic y Boni, 1962), hasta el denominado Remote Center
Compliance (RCC, Nevins et al., 1974), pasando por la visin (e.g. sistema ojo-
mano de M. Minsky, en el MIT, 1965). Puntualicemos, que algunos trabajos de esta
poca, como el denominado SRI2 vision system, desarrollados en Stanford, en la
dcada de los setenta [Agin & Duda, 75], han sido fuentes de inspiracin de
sistemas industriales actuales.
En 1960, J. McCarthy, en el MIT, acua el trmino Inteligencia Artificial,
encargndose sus discpulos ms sobresalientes, Minsky, Newell y Simon, de
difundir los beneplcitos que esta nueva rama del saber deparaba. Incluyendo, el
razonamiento automtico, los sistemas expertos, y, como no, la Robtica.
Entusiasmados con las nuevas herramientas de planificacin y razonamiento
automtico que la IA promova, se disea en la Universidad de Stanford (1969), el
primer robot mvil controlado por visin, Shakey. En realidad, la caracterstica
ms singular de este robot era que su control se realizaba fundamentalmente por
medio de programas de razonamiento (de hecho, el planificador era STRIPS,
desarrollado por Nilsson et al.). En palabras de H. Moravec [Moravec, 93]:
Shakey era impresionante como concepto pero digno de compasin
cuando se mova

El estrepitoso fracaso de Shakey, puso de manifiesto que trasladar a una mquina


el razonamiento lgico de alto nivel era ms sencillo, que incorporar habilidades
sensomotoras [Churchland & Sejnowski, 92], en contra de lo que se pensaba
inicialmente. Siguiendo un diseo de arriba hacia abajo, se le haba dado
prioridad al razonamiento sobre la percepcin y la movilidad. Precisamente este
fracaso, y otros que le siguieron, obligaron a volver la vista atrs y retomar viejos
conceptos provenientes de la ciberntica, que segua el enfoque contrario de abajo
hacia arriba, apareciendo un primer intento, proveniente del MIT, en los

1 Massachusetts Institute of Technology


2 Stanford Research Institute
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-4
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

denominados robots insectoides de R. A. Brooks [Brooks, 86], y su arquitectura


de subsumcin.
Finalmente, ya prcticamente en nuestros das, se hace patente el principio de la
denominada robtica inteligente, preconizado por investigadores como M. Brady
[Brady, 85]:
Conexin inteligente entre percepcin y accin
La leccin que parece desprenderse de todo lo anterior es que si bien, en un
principio la robtica presagiaba un rpido progreso, haciendo un uso creciente de
realimentacin sensorial, para el control de sus acciones, e incorporando los nuevos
avances en la teora del control, en el diseo mecnico, en la electrnica, en la
tecnologa informtica y, sobre todo, en las potentes herramientas (al menos,
potencialmente) que ofreca la IA, esto no ha sido as. De hecho, la Robtica est
constituyendo un autntico reto para todas estas reas y tecnologas. Lo cul, tiene
como contrapartida, un mayor esfuerzo investigador y, en general, de recursos
humanos y materiales, hacia lneas de investigacin que logren hacer avanzar la
Robtica, como la sociedad demanda.

Situacin Actual

Como ya se apunt, al principio de ste captulo, el mejor cerebro que en la


actualidad puede incorporar un robot est basado en la tecnologa digital y,
normalmente est constituido por un conjunto de microprocesadores que ayudan a
paralelizar los procesos que de forma concurrente requiere llevar a cabo un robot
actual en el transcurso de su tarea.
Si el primer robot industrial se incorpor a procesos reales de produccin, a
principios de los sesenta, no fue hasta finales de los setenta y principios de los
ochenta, cuando los robots industriales se consolidaron como herramienta
significativa en la industria. Y esto ha sido as, fundamentalmente por dos razones
[Regh, 97]: fue en dicho periodo cuando su rendimiento laboral (cociente entre el coste
econmico y la productividad) se hizo asequible, y adems, se incorpor el
microprocesador, desarrollado por Intel Corporation en 1971. Siendo el robot
Cincinnati Milacron T3 (The Tomorrow Tool), diseado por R. Hohn en 1973, el
primero que hace uso de dicha tecnologa.
Es paradjico constatar, siguiendo a Regh [Regh, 97], que aunque inicialmente la
gnesis de los robots industriales comerciales se debi a empresas de EEUU, en la
actualidad entre las empresas ms relevantes la nica no japonesa es ABB, de Suecia.
Por tanto la hegemona absoluta en este terreno de la robtica industrial la ostenta
Japn, muy por delante de cualquier otro pas en el mundo, incluyendo EEUU. Y esto
es as, no slo en produccin, sino tambin en explotacin. Segn datos de la CEE a
partir del estudio World Industrial Robots de 1997, dado a conocer en Ginebra,
Japn posee la mitad del parque mundial de robots industriales, siendo el incremento
en todo el mundo del 11%, y en Espaa del 37%.
Seguramente, lo anterior, est relacionado con el hecho de que, ya en 1971, la
Robtica, se declara de inters nacional en Japn, crendose al mismo tiempo, la
primera asociacin al respecto (JIRA), por delante de los EEUU, que lo hicieron hacia
1975, fundando el denominado Robot Institue of America. Japn se convirti desde
este momento en el principal receptor de la tecnologa Robtica y, ha sido slo
cuestin de tiempo, el que se haya hecho con el parque mundial de robots,
implantados y, de fabricacin de los mismos.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-5
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

Relativo al impacto de los robots en el mercado laboral, conviene observar las


conclusiones del estudio citado anteriormente (World Industrial Robots), que apunta
la idea de la necesidad de incrementar la tecnologa de la robotizacin en cualquier
proceso de produccin para poder competir, rechazando de esta manera la relacin
causa-efecto entre el incremento de la robotizacin y el despido de los trabajadores.
No obstante, conviene recordar algunas otras ideas al respecto para no precipitar las
conclusiones. Cuando se justifica la implantacin de robots?:
N. W. Clapp, (1982) nicamente en aquellas tareas donde el hombre acta como
un robot y no el robot como un hombre.
M. Minsky, (1985) (a menudo) sobre la base de conseguir una ganancia neta en
productividad que redunda en beneficio de toda la sociedad,
aunque esto signifique la prdida de empleo y dignidad para
unos pocos.

Este, en resumen, es un tema muy serio y, sin embargo, en el que los


investigadores en cualquiera de los aspectos que aglutina la robtica, no suelen
reparar. Pero alguien tendr que plantear este asunto con seriedad, sino se quiere
que la sociedad, afectada cada vez en mayor medida con la lacra del paro, ejerza un
movimiento involucionista sobre esta nueva tecnologa que hay que poner al
servicio de la humanidad, y no de unos pocos.
Por otra parte, los dominios o campos de aplicacin donde existen robots
implantados actualmente, son cada vez ms numerosos:
Conquista del Espacio
Industria en General
Laboratorios
Manipulacin en Entornos Peligrosos
Agricultura
Educacin
Asistencia a Discapacitados
Seguridad y Defensa
Sector Servicios

Pudiendo clasificarse, de forma general en [Barrientos et al., 97]:


Consolidados. Donde los robots estn implantados hace aos y forman parte
intrnseca de los procesos que automatizan. Bsicamente,
aplicaciones industriales (e.g. soldadura, ensamblado,
paletizacin, pintura, alimentacin de mquinas, carga y
descarga, etc. ).

No-Consolidados. Son los dominios de reciente aplicacin de los robots. Algunos


como el sector espacial, con ms experiencia que otros. No
obstante, los ms novedosos constituyen el incipiente sector de
servicios (e.g. ciruga, ayuda a discapacitados, etc.).

Prospeccin de Futuro

En el mbito industrial, se camina hacia soluciones integrales [Rehg, 97], vase


CAD/CAM/CAE/CIM, etc., donde el robot no se plantea nunca como solucin

__________________________________________________________________________________________
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.

Figura 1. Imagen extrada de shogun.vuse.vanderbilt.edu, mostrando el


denominado Soft Arm en accin. El usuario interacciona con
dicho sistema a partir de rdenes verbales.

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-7
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

Esta filosofa de trabajo, llevada al extremo, retoma el antiguo espritu renacentista


(Leonardo y otros) del robot antropomorfo. Pero, surge aqu una cuestin:
Existe realmente necesidad de que un robot adopte nuestra apariencia?. O, dicho
de otro modo:
Cul es la autntica razn del empeo en construir un robot humanoide?. Es
decir, no slo queremos una mquina capaz de imitar el comportamiento humano,
sino adems, que se le parezca fielmente: Por qu?.
La respuesta es compleja, porque son complejos los intereses que mueven la
robtica desde su inicio. Y, no solamente existen distintas respuestas que defienden
este intento, sino que cuenta con autnticos detractores tambin. Veamos dos
posibles razones a favor del robot humanoide:
Brooks, que dirige en la actualidad el denominado proyecto Cog [Brooks,
97], en el MIT (EEUU), defiende la tesis de que hasta el momento, en la
comunicacin hombre-robot, no se han tenido en cuenta las necesidades
psicolgicas del hombre, que permitan la integracin del robot, como uno ms
en su entorno emocional. De tal suerte, que sino se considera al robot como a
un igual, este se ver imposibilitado de progresar en sus capacidades de
comunicacin pseudo-humanas, quedando, en consecuencia, muy limitadas sus
posibilidades de aprendizaje.
Engelberger, retoma la idea de Asimov, de conseguir un robot plenamente
autnomo al servicio del hombre [Engelberger, 95]. Defendiendo la idea de que
los robots del futuro sern por necesidad antropomrficos. El mundo del
hombre est diseado por y para el hombre, si queremos que una mquina lo
comparta, necesitar desplazarse, percibir, comunicarse y, en definitiva,
comportarse como un ser humano.

El proyecto Cog (vase la figura 2), no busca una solucin a un problema


concreto, sino que intenta integrar toda la tecnologa punta disponible actualmente,
para ver hasta donde somos capaces de llegar en el desarrollo de un robot
humanoide. Y, como es lgico, existen otros proyectos similares en el mundo (e.g.
The Japanese Humanoid Project, Universidad de Waseda, en Japn), persiguiendo
la misma idea. Incluso empresas como Honda, han lanzado ya un primer prototipo
de robot humanoide, vase la figura 3, realmente espectacular, capaz de andar con
sus dos piernas, subir y bajar escaleras, manipular con sus dos brazos, etc.

Figura 2. Imagen extrada de www.ai.mit.edu El responsable del proyecto


Cog, Rodney Brooks y su obra.

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-8
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

No obstante, en honor a la verdad lo anterior es ms un golpe de efecto que otra


cosa, e incluso, hay quien opina que estos intentos ms que adelantar, atrasan el
progreso autntico y bien consolidado de la robtica, pues (afirman sus
detractores), conviene seguir paso a paso, no haciendo uso de atajos ni
derroches humanos y materiales que pueden suponer una prdida de credibilidad
en la sociedad, al no conseguir los ambiciosos resultados propuestos.
Lo que parece estar fuera de toda duda es que si bien en un principio la industria
ha sido el principal motor de desarrollo de la Robtica, y hasta la fecha, la mayora
de robots implantados en diferentes sectores, son de este tipo, existen otras reas
como la espacial, militar, minera, etc., que estn potenciando robots autnomos
mviles, muy sofisticados.
Ahora bien, por desgracia para los robots humanoides, en palabras de Moravec
[Moravec, 93], lo que peor hacen los ordenadores y, por ende los robots, son las
cosas ms naturales para los seres humanos: ver, or, manipular objetos, aprender
idiomas y razonar con sentido comn. Esta dicotoma las mquinas hacen bien
cosas que a los humanos nos resultan muy difciles, mientras que hacen mal las
cosas que nos resultan ms fciles es una ayuda enorme para resolver el
problema de construir una mquina inteligente.
Uno de los grandes inconvenientes para el progreso eficaz de la robtica, parece ser
la falta de comunicacin entre los diferentes grupos que investigan y desarrollan en
los diferentes campos de la Robtica. Precisamente el carcter interdisciplinar per
se, inherente a esta ciencia, est impidiendo que avance ms deprisa. Las nuevas
ciencias de la complejidad [Pagels, 91], constituyen un primer paso hacia la
resolucin de problemas interdisciplinares que afectan a los sistemas complejos,
como el cerebro humano o la prediccin meteorolgica. Un esfuerzo anlogo debiera
emprenderse con relacin a la robtica inteligente.

Figura 3. Imagen extrada de www.honda.co.jp. Prototipo del robot


humanoide, P2, fabricado por Honda.

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-9
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

Segn Moravec [Moravec, 93], El autntico avance de los robots se producir


cuando se consiga crear un robot multiuso, vlido tanto en la fbrica como en el
hogar. Digamos que lo vaticinado por Moravec, que afirmaba que en el plazo de diez
aos existira un robot multiuso para el hogar, ayudando en las tareas domsticas,
no se ha cumplido. Pero, seguramente no le faltaba razn al afirmar que el mercado
potencial de los robots crecera enormemente si se alcanzara un cierto nivel de
utilidad general.
Finalmente, podemos concluir con las ideas de Minsky [Minsky, 94], al respecto del
futuro de la robtica, quien afirma que anlogamente a como ha ocurrido en el
campo de los ordenadores, que su entrada en las casas ha sido decisiva para su
increble desarrollo, una incipiente entrada del robot en el mbito domstico sera
igualmente determinante para su impulso definitivo. En cierta medida lo que
realmente est ocurriendo hasta ahora es que se estn automatizando
determinadas tareas (fregaplatos, lavadora, etc. ), e incluso se construyen casas
inteligentes, pero en realidad no existe un agente autnomo que realice dichas
tareas de forma completa. Este agente ser el robot domstico.
Quizs no nos damos cuenta pero el robot mvil de juguete de nuestros hijos pueda
ser un precursor de lo que se avecina. No hace mucho, algunas estrategias que
incorporan estos juguetes eran piezas preciadas en los laboratorios de vanguardia
de todo el mundo, e incluso se han creado nuevas arquitecturas como la de Sony,
denominada OPEN-R, incorporada a su robot mascota, vase la figura 4, que
pueden significar un paso acertado para el futuro robot de servicios.

Figura 4. Imagen extrada de www.sony.co.jp. Prototipo del robot perro


AIBO de Sony.

Resumiendo: Cul es el objetivo de esta introduccin a la denominada


Robtica Inteligente?

Con los pies en la tierra, despus de la perspectiva de futuro abierta en este


prlogo, el autor, desde una cierta experiencia en la materia que nos ocupa,
pretende ofrecer, al futuro ingeniero informtico, los conocimientos bsicos que le
permitan abordar proyectos avanzados en el campo de la Robtica, tales como la
percepcin artificial o la comunicacin hombre-robot, fundamentalmente.

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:

Introducir al alumno en el campo de la Robtica


Definiciones Previas
Perspectiva Histrica

Dar una visin de conjunto a partir de aspectos claves como:


Campos del Conocimiento con los que se relaciona
Su Interaccin con la Sociedad Actual y Tendencias Futuras

1.1. Qu es un Robot?

Definicin 1: Un aparato mecnico que se parece y hace el trabajo de un ser humano.


(Segn el Oxford English Dictionary).

Definicin 2: Un manipulador reprogramable y multifuncional concebido para


transportar materiales, piezas, herramientas, o dispositivos especiales a travs de
movimientos programados variables para llevar a cabo tareas diversas. (Segn el
Robot Institute of America/ [Schlussel, 85]). Mediatizado por antecesores como
Teleoperadores y CNC3.

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]).

Definicin 4: Un agente artificial, activo, cuyo entorno es el mundo fsico. (Segn


[Rusell & Norvig, 96]).

Definicin 5: Un robot inteligente es una criatura mecnica que puede funcionar de


manera autnoma. (Segn [Murphy, 2000]).

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).

3mquinasde control numrico programables


__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-11
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

Robot Industrial Robot de Servicios Robot Humanoide

Tabla 1.1. Tres estadios fundamentales en la evolucin de la Robtica actual.

Robot Espacial Habitacin Inteligente Robot Mascota


(J.P.L., NASA) (Universidad de Tokio) (AIBO de SONY)

Tabla 1.2. Tres aplicaciones no industriales de nuestros das.

1.2. Qu es la Robtica?

Definicin 1: Es la conexin inteligente entre percepcin y accin. [Brady, 85].

Definicin 2: Es la disciplina que involucra [McKerrow, 86]:


a) el diseo, fabricacin, control, y programacin de robots;
b) el uso de robots para resolver problemas;
c) el estudio de los procesos de control, sensores y algoritmos usados en
humanos, animales y mquinas; y
d) la aplicacin de estos procesos de control y algoritmos al diseo de robots.

1.3. Campos de Estudio de la Robtica

Cinemtica Control Percepcin


Dinmica Sensores Arquitectura
Planificacin de Sistemas Lenguajes de Programacin Inteligencia
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-12
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

1.4. Componentes y Estructura de los Robots

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.

Bsicamente, podemos hablar de cuatro componentes:


El Manipulador
Los Sensores
La Unidad de Control
La Unidad de Conversin de Potencia

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.

La Unidad de Conversin de Potencia


Proporciona la Energa necesaria a los Actuadores del Manipulador

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-13
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

1.5. Especificaciones de un Robot

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.

1.6. Perspectiva Histrica


Se incluye a continuacin una breve cronologa, donde el autor recoge algunos de los
momentos considerados de mayor impacto sobre la materia que nos ocupa:

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
_______________________________________________________________________________________________________________

1980s Robots mviles, se potencia la cominicacin hombre-robot mediante visin, voz,


etc.
1990s Espacio (e.g. NASA Sojourner), hacia el robot de servicios (e.g. proyecto robot
humanoide), etc.
2000s 1er Congreso Internacional sobre Robots humanoides [Humanoids2000,
MIT], Creacin de EURON (Red Europea de Robtica), Web Robotics, etc.

1.7. Generaciones de Robots

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.

1.8. Expansin Industrial de los Robots


Extrado de AER (Asociacin Espaola de Robtica, 1996). Se muestra a continuacin la
densidad de robots, es decir, el n de robots por cada 10.000 trabajadores de la industria,
y el ndice de paro, de los pases ms significativos al respecto.

Pas Densidad de robots ndice de Paro N de Robots

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-15
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

Japn 250 3% 413.578

Suecia 60 9% 5.911

Alemania 58 9% 56.175

Italia 55 12% 25.096

EEUU 35 7% 65.198

Francia 33 12% 14.376

Espaa 22 22% 5.346

RESUMEN T-I. Aspectos Clave:

Un robot puede descomponerse en un conjunto de subsistemas funcionales:


mecnicos, elctricos, sensores, software, procesos, planificacin y control.
El subsistema de software permite integrar todos los subsistemas del robot.
Un brazo articulado emula las principales caractersticas de un brazo humano pero, a
diferencia del brazo humano, cada articulacin posee solo un grado de libertad.
Los manipuladores pueden clasificarse conforme a la geometra de su espacio de
trabajo, el cual es consecuencia de las articulaciones usadas en su construccin:
Cartesianas, cilndricas, polares o de revolucin.
El movimiento de un robot puede describirse en cuatro sistemas de coordenadas
diferentes: motor, articulaciones, universal y herramienta.
Los grados de libertad de un objeto son el n de movimientos independientes que
puede realizar respecto a un sistema de referencia. Un max. de 6 para un sist.
Cartesiano: 3 traslacionales y 3 rotacionales.
El grado de movilidad de un robot es el n de articulaciones independientes que
posee.
En el desarrollo de cualquier aplicacin real con robots, una parte de tiempo
importante se destina a la tarea del diseo de garras especficas para dicha
aplicacin.
El mejor software no puede impedir los posibles problemas causados por un diseo
mecnico inadecuado.

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-16
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

TEMA II EL ROBOT MANIPULADOR

Objetivos:

Desarrollar Herramientas para Modelar las Relaciones Geomtricas entre


Objetos usando Sistemas de Coordenadas y Transformaciones Homogneas.

Usar dichas herramientas para Modelar las Relaciones Espaciales entre las
Ligaduras del Manipulador.

Calcular Posicin y Orientacin del elemento terminal a partir de valores


medidos de los ngulos de las articulaciones (modelo Directo) y estimar los
ngulos de las articulaciones requeridos para situar al elemento terminal en
la localizacin deseada del espacio (modelo Inverso).

Extender el modelo Cinemtico del Manipulador para incluir el tiempo.

2.1 LOCALIZACIN ESPACIAL

2.1.1. Preliminares

Manipulacin es la habilidad en el manejo y el tratamiento de objetos: levantarlos,


moverlos, fijar unos a otros y trabajarlos con herramientas (taladros, fresas, etc.).

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.

La gente usa una combinacin de realimentacin visual, tctil y de posicionamiento


del brazo cuando coge un objeto.
La mayora de robots calculan la posicin de su mano usando un modelo cinemtico
de su brazo.

En la figura 2.1 se muestra la problemtica relativa a la solucin de los problemas cinemtico


directo e inverso, respectivamente.

Abordaremos esta problemtica haciendo uso de:

lgebra Matricial y Razonamiento Geomtrico

__________________________________________________________________________________________
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

Angulos de las Cinemtica


articulaciones inversa
q1(t),...,qn(t)

Figura 2.1. Representacin esquemtica de los problemas cinemticos directo e inverso.

2.1.2. Coordenadas Homogneas y Matriz de Transformacin

En un espacio tridimensional, un vector de posicin p = (px, py, pz)T se representa por


un vector ampliado p = (wpx, wpy, wpz, w)T en la representacin en coord. homogneas. Las
coord. fsicas se relacionan con las homogneas como:
px = wpx / w, py = wpy / w, pz = wpz / w
La matriz de transformacin homognea es una matriz 4 x 4 que transforma un vector
de posicin expresado en coord. homogneas desde un sistema de coord. a otro. En general se
representa:
R3 3 P3 1 rotacin traslacin
T = =
F1 3 1 1 perspectiva escalado

Ejemplo de rotacin pura: Ejemplo de traslacin pura:

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

Los elementos de la diagonal principal de una matriz de transf. homognea producen


escalado local y global.

2.1.3. Interpretacin Geomtrica de las M. de T.Homogneas


En general, una M.de T. Homognea para un espacio tridimensional y en el contexto de
robtica, se representar:
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-18
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

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

Una matriz de transf. homognea geomtricamente representa la localizacin4 de un


sistema de coordenadas ligado al cuerpo, con respecto a un sistema de coord. de referencia.
En general la inversa de una matriz de transformacin homognea se puede representar
como:
r r
n x n y n z n T p n T p
r r
1 s x s y s z s T p R3T 3 sT p
T = =
a x a y a z a T pr r
a T p

0 0 0 1 0 0 0 1

2.1.4. Transformacin Homognea Compuesta


Reglas a seguir:
1) Inicialmente ambos sistemas de coordenadas son coincidentes, lo que implica que
la matriz de transformacin homognea ser la identidad, I4, de orden 4 x 4.
2) S el sistema de coord. rotante OUVW est rotando/trasladndose respecto de uno
de los ejes principales del sistema OXYZ, entonces premultiplicar la matriz de
trans. homognea previa (resultante) por una matriz de traslacin/rotacin bsica
apropiada
3) S el sistema de coord. rotante OUVW est rotando/trasladndose respecto de su
propio eje principal, entonces postmultiplicar la matriz de trans. homognea
previa (resultante) por una matriz de rotacin/traslacin bsica apropiada

2.1.5. Grafo de una Transformacin


El problema de localizar un objeto se puede descomponer en dos etapas:
1) Describir el objeto respecto de un sist. de coordenadas solidario con l.
2) Describir el sist. de coordenadas del objeto mediante una transformacin del sist. de
referencia.
Estas transformaciones pueden visualizarse a partir del llamado grafo de la
transformacin, ideado por Paul [Paul, 81]. Se trata de un grafo cerrado, lo que implica que
cualquier transformacin puede describirse en trminos del resto de transformaciones del
grafo.

4 Localizacin = posicin + orientacin


__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-19
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

2.2 CINEMTICA DEL MANIPULADOR

Cinemtica: Establece las relaciones entre las posiciones, velocidades y aceleraciones


de las ligaduras de un manipulador.

Observacin (Clasificacin de los Manipuladores):


Partimos de la hiptesis de que la conexin entre elementos (las articulaciones) tienen
solamente un grado de libertad. Con esta restriccin son de inters dos tipos de
articulaciones: De Revolucin (permiten la rotacin respecto de un eje) y Prismticas
(permiten el deslizamiento a lo largo de un eje). Un manipulador, considerado como una
combinacin de elementos y articulaciones, con el primer elemento conectado a la base y el
ltimo conteniendo la "mano", se puede clasificar por el tipo de articulaciones y su orden
(desde la base hasta la mano). Ej. el robot PUMA ser del tipo 6R, y el brazo de Stanford
ser 2R-P-3R.

2.2.1 CINEMTICA DE POSICIN

Bsicamente, los dos problemas a resolver en la cinemtica de posicin se pueden resumir en


la figura siguiente:

Cinemt. Directa
Espacio de R Espacio
TH
Articulaciones R
Cartesiano
TH-1
(qi) x,y,z, ,,
Cinemt. Inversa

2.2.1.1. La Representacin de Denavit-Hartenberg [1955]


La representacin de D-H de un elemento rgido depende de cuatro parmetros geomtricos
asociados con cada elemento (vase la figura 2.2):

ai (li): Longitud de la normal comn HiOi


di: Distancia del origen Oi-1 al punto Hi
i: ngulo entre los ejes Zi-1 y Zi, medido alrededor de Xi en sentido positivo
i: ngulo entre el eje Xi-1 y la normal comn HiOi, medido alrededor de Zi-1 en
sentido positivo

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:

i-1A = Trans(z',di) Rot(z',i) Trans(xi,ai) Rot(xi,i)


i

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-20
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

Figura 2.2. Relacin entre sistemas de referencia adyacentes.

Un manipulador con n grados de libertad (n articulaciones), se modelar con n+1 sistemas


de referencia. Considerando las n transformaciones consecutivas sobre la secuencia de barras
adyacentes, se podr obtener la localizacin del elemento terminal con respecto a la base del
robot, es decir:
RT = 0A 1A , , n-1A
H 1 2 n

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

Y, para las prismticas:


cos i cos i sen i sen i sen i 0
sen cos i cos i sen i cos i 0
i

0 sen i cos i di

0 0 0 1

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-21
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

2.2.1.2 Problema Cinemtico Directo


Algoritmo5 de Resolucin del Problema Cinemtico Directo
1.- Mover el manipulador a su posicin cero.
2.- Asignar un Sist. de Coord. a cada elemento ("link").
3.- Describir las posiciones y orientaciones entre elementos con los parmetros de D-H
correspondientes.
4.- Construir las matrices A que relacionan dichos elementos.
5.- Calcular a partir de aqu la matriz asociada a la transformacin del manipulador:
RT .
H
r r r r
x y z p
6.- Plantear la Ecuacin: TH =
R

0 0 0 1

Para obtener coordenadas cartesianas en trminos de coordenadas de articulacin. En general,


se cumplir: RTH = Tposicin Trotacin

Transformacin de Orientacin General


Problemas que plantea el movimiento de un manipulador en cualquier direccin del espacio
tridimensional:
1.- Los ngulos de orientacin son difciles de evaluar, debido a que los elementos de
la matriz contendrn trminos con mltiples ngulos.
2.- No resulta fcil visualizar la orientacin de un vector general. Lo que implica que el
proceso de descomposicin en las tres rotaciones bsicas ser difcil.

De 1 y 2, se plantea resolver la Transformacin de Orientacin "RPY" (Roll,Pitch, Yaw)


General:
RT = Trans(p ,p ,p ) RPY(,,) = Trans(p ,p ,p Rot(z,) Rot(y,) Rot(x,)
H x y z x y z)

Lo que implica,
= -sin-1(xz), = sin-1(yz/cos()), = sin-1(xy/cos())

Estas soluciones plantean problemas debido a imprecisiones en el clculo de las funciones


transcendentes sin y cos. Por lo que introduciremos la funcin: atan2, (vase Apndice 2).
As pues, para obtener las ecuaciones anteriores en trminos de la funcin atan2, hacemos:

RT =Trans(p ,p ,p Rot(z,) Rot(y,) Rot(x,)


H x y z)

Rot-1(z,) Trans-1(px,py,pz) RTH = Rot(y,) Rot(x,)

Y se llega a la ecuacin matricial siguiente,

5 Adaptado de [McKerrow, 91]


__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-22
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

XxC ( ) + XyS ( ) YxC ( ) + YyS ( ) ZxC ( ) + ZyS ( ) 0


XyC ( ) XxS ( ) YyC ( ) YxS ( ) ZyC ( ) ZxS ( ) 0

Xz Yz Zz pz

0 0 0 1
C ( ) S ( ) S ( ) S ( )C ( ) 0
0 C ( ) S ( ) 0
=
S ( ) C ( ) S ( ) C ( )C ( ) 0

0 0 0 1
donde igualando trminos se obtiene:
= atan2(Xy,Xx)
= atan2(-Xz,XxC()+XyS())
= atan2(Yz,Zz)

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
_______________________________________________________________________________________________________________

2.2.1.3. Problema Cinemtico Inverso

Se trata de resolver un sistema de ecuaciones no lineales, y habr que plantearse:


1.- La existencia o no de soluciones
2.- El que existan soluciones mltiples
3.- Un mtodo general para buscar la solucin

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.

Lo anterior implica que el Espacio de Trabajo Diestro es un subconjunto del Espacio de


Trabajo Alcanzable.

Ejemplo6.- Supongamos un manipulador de dos articulaciones, 2R planar, caracterizado por


l1 y l2 .
Si l1 = l2 Implica que el espacio de trabajo L2
alcanzable ser un disco de radio 2l1. El
espacio de trabajo diestro constar de un L1
nico punto, el origen.
Si l1 l2 Implica que el espacio de trabajo
alcanzable ser un disco anular de radio
exterior l1 + l2 y radio interior l1 - l2. Y el
espacio de trabajo diestro no existir.

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).

6 Adaptado de [Craig, 89]


__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-24
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

(1) Un posible criterio de eleccin sera el


de la solucin ms prxima. En la figura,
para pasar del pto. A al B, una buena
eleccin (en ausencia de obstculos), sera
L2 la solucin que minimiza los valores de
A
las articulaciones que es preciso mover. Se
L1 eligira la configuracin superior (codo
B arriba). Esto sugiere que un argumento
de entrada a nuestro Prob. Cinemtico
Obstculo Inverso, podra ser la posicin actual del
manipulador.
(2) Pero, y si hay que evitar obstculos?.
En el ejemplo anterior implicara la
eleccin de la configuracin inferior
(codo abajo).

(1) y (2) implican que, en general, se necesita calcular todas las soluciones posibles.

El n de soluciones depende del n de articulaciones del manipulador, pero teniendo en


cuenta que es funcin tambin de los parmetros de D-H asociados (i, ai, y di para una
articulacin de revolucin), y del rango permitido de movimiento de las articulaciones.

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.

DEF.- Un manipulador se considerar resoluble SI las variables de articulacin pueden


determinarse mediante un algoritmo que permite determinar todos los conjuntos de
variables de articulacin asociados con una posicin y orientacin dadas [Roth, 75].

Podemos dividir todas las posibles estrategias propuestas para encontrar solucin en:
3 Soluciones en Forma Cerrada
4 Soluciones Numricas

Nos centraremos exclusivamente en el primer tipo:


Mtodos Algebrico s
Soluciones en Forma Cerrada
Mtodos Geomtrico s

En este contexto "forma cerrada" significa un mtodo de solucin basado en expresiones


analticas o en la solucin de un polinomio de grado 4, de manera que clculos no iterativos
sean suficientes para llegar a una solucin.

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
_______________________________________________________________________________________________________________

Pero CUIDADO!, esto es un resultado numrico. Slo en casos especiales se


podr resolver analticamente para los robots de seis articulaciones

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.

Para ver en que consiste, veamos primero un ejemplo.

Ejemplo.- Vamos a ilustrar la heurstica de la cinemtica inversa buscando la solucin general


para el manipulador de 2 articulaciones (no plano) definido por la tabla de
parmetros de D-H:
a d
1 /2 0 d1
2 0 a2 0

C1C2 C1S2 S1 l2C1C2 Xx Yx Zx px


S1C2 S1S2 C1 l2S1C2 Xy Yy Zy py
R
TH = =
S2 C2 0 d1 + l2S2 Xz Yz Zz pz

0 0 0 1 0 0 0 1

A partir de aqu podemos encontrar 1 dividiendo las expresiones para py y px.


Observemos que podramos calcular 1en trminos de Xy y Xx, pero esto ha de evitarse
siempre que sea posible, pues siempre ser menos eficiente que buscar soluciones en
trminos de pi. Se llega a :

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

pxC1 + pyS1 = l2C2 pz d1 = l2 S2 2 = atan2(pz d1, pxC1 + pyS1)

Algoritmo7.- Enfoque Heurstico para la Resolucin del Problema Cinemtico Inverso:


1.- Igualar la Matriz de Transformacin General a la Matriz de Transformacin del
Manipulador.
2.- Examinar ambas matrices con vistas a encontrar:
elementos que contengan slo una variable de articulacin.
pares de elementos que al ser divididos llevarn a una expresin que sea funcin
de una sola variable de articulacin. En particular, buscar divisiones cuyo
resultado sea funcin de atan2.
elementos, o combinaciones de elementos, que puedan simplificarse usando
identidades trigonomtricas.
3.- Habiendo seleccionado un elemento, igualarlo al correspondiente elemento en la otra
matriz para construir una ecuacin. Resolver esta ecuacin para encontrar una
descripcin de una variable de articulacin en trminos de los elementos de la matriz
de transformacin general.
4.- Repetir el paso 3 hasta que todos los elementos identificados en el paso 2 hayan sido
usados.
5.- S cualquiera de las soluciones encontradas posee inprecisiones, resultados indefinidos
o redundantes (debido a trminos en senos, cosenos etc.), guardarlas aparte y buscar
mejores soluciones. Soluciones en trminos del vector p conducirn a soluciones ms
eficientes que en trminos de los vectores x, y, z, porque encontrar los trminos
asociados a dichos vectores puede involucrar la resolucin de ecuaciones complejas,
mientras que la posicin deseada en el espacio del manipulador es conocida.
6.- S restan por encontrar ms variables de articulacin, premultiplicando ambos lados de
la ecuacin matricial por la inversa de la matriz A para la primera variable de
articulacin, se obtiene un nuevo conjunto de elementos matriciales equivalente.
7.- Repetir los pasos 2 al 6 hasta encontrar solucin para todas las variables de articulacin,
o hasta acabar de premultiplicar (o postmultiplicar) las matrices A requeridas.
8.- S no se logra encontrar una solucin adecuada para una variable de articulacin, elegir
una de las descartadas en el paso 5, tomando buena nota de las regiones que puedan
darnos problemas.
9.- S no puede encontrarse una solucin para una variable de articulacin en trminos de
los elementos de la matriz de transf. del manipulador, puede ser que el manipulador no
pueda alcanzar la posicin y orientacin especificadas, lo que implica que la posicin
est fuera del espacio de trabajo del manipulador. Adems, soluciones tericas pueden
no ser fsicamente alcanzables a causa de lmites mecnicos en el rango de variacin
asociado a las variables de articulacin.

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

El primer paso, es plantear la ecuacin:


C12 S12 0 l1C1 + l2C12 Xx Yx Zx px
S12 C12 0 l1S1 + l2S12 Xy Yy Zy py
R
TH = =
0 0 1 0 Xz Yz Zz pz

0 0 0 1 0 0 0 1

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

Y de aqu obtenemos el seno y el ngulo:


S2 = 1 C2 2 2 = atan2(S 2 , C2 )
Hemos encontrado una solucin REDUNDANTE!.

Para encontrar 1 hacemos:


p y ( l1 + l2 C2 ) S1 + l2 S2 C1 tan( 1 ) + l2 S2 / ( l1 + l2 C2 )
= =
p x ( l1 + l2 C2 ) C1 l2 S2 S1 1 tan( 1 )( l2 S2 / ( l1 + l2 C2 ))
Y operando se llega a:
1 = atan2( p y , p x ) atan2(l 2 S2 , l1 + l2 C2 )
Que sigue siendo una solucin redundante.

8Vase [McKerrow, 91]


__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-28
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

2.2.2 CINEMTICA DEL MOVIMIENTO


Def.- Camino ("path") es la secuencia de puntos en el espacio que describe por donde
tiene que ir el elemento terminal del manipulador, fijados los ptos. inicial y final.
Def.- Trayectoria es un camino con restricciones temporales, esto es, incluye velocidad y
aceleracin, as como la localizacin de cada punto a lo largo del camino.
Observacin:
Una estrategia de control usual, es calcular el cambio en las variables de
articulacin requerido para alcanzar la localizacin final, controlando los motores
de las articulaciones de manera que todas las articulaciones alcancen sus valores
finales al mismo tiempo ("Joint Interpolated Motion").

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.

Un paralelismo: Movimiento de Acomodacin vs Movimiento Diferencial


Los Movimientos de Acomodacin, en el hombre, estn relacionados con el
uso de realimentacin de la informacin sensorial (vista, tacto...) para realizar
movimientos precisos y tienen un paralelismo con el llamado Movimiento
Diferencial en robtica. Por ej., cuando se utiliza un sistema de visin para
monitorizar la localizacin del elemento terminal. Para usar esta informacin ,
debemos de ser capaces de controlar el movimiento diferencial del robot.

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.

Jacobiano del Manipulador

Def.- Dado un manipulador de n articulaciones, el Jacobiano asociado a dicho manipulador,


representa la transformacin instantnea entre el vector n-dimensional de velocidades
de las articulaciones y el vector de 6 dimensiones conteniendo las velocidades
lineales y angulares del elemento terminal. El jacobiano ser por tanto una matriz 6 x
n.

Anlogamente al esquema visto para la cinemtica de posicin, veamos ahora,


grficamente, el esquema asociado a la cinemtica del movimiento:

__________________________________________________________________________________________
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.

En particular, veamos la representacin para un manipulador de 6 articulaciones:


D = JDq = ( J 1 , J 2 , J 3 , J 4 , J 5 , J 6 ) Dq

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,

Veamos a continuacin dos estrategias de evaluacin del Jacobiano:

Clculo por Diferenciacin


El Jacobiano de cualquier manipulador puede calcularse por diferenciacin de su
transformacin cinemtica directa. Este mtodo puede resultar dificultoso para un
manipulador con 6 grados de libertad, pero para uno de dos resulta bastante simple:

Ejemplo.- Sup. el manipulador planar de dos articulaciones, se obtiene:


x l1C1 + l2C12 dx l1S1 l2 S12 l2 S12 d1
y = l S + l S dy = l C + l C
l2C12 d 2
1 1 2 12 1 1 2 12

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
_______________________________________________________________________________________________________________

1 C S12 l1 S1 l 2 S12 l 2 S12 l1 S 2 0


0
J = 0 Rot 3 3 J 3J = 0 Rot 3 0 J = 12 =
S12 C12 l1C1 + l 2 C12 l 2 C12 l1C 2 + l 2 l 2

Anlogamente podemos calcular J-1, y se obtiene:


d 1 1 l2C12 l2 S12 dx
d = l l S
l1S1 l2 S12 dy
2 1 2 2 l1C1 l2C12

Clculo mediante Coordenadas Homogneas


Vamos a estudiar el algoritmo desarrollado por [Paul, 81], no por ser el ms eficiente,
sino porque hace uso de las coord. homogneas y por tanto es consistente con la
formulacin matemtica que hemos utilizado.
En un manipulador, un cambio diferencial en la localizacin del elemento terminal es
una funcin de la transf. del movimiento diferencial con respecto a l: d R TE = R TE E
Para simplificar el anlisis, consideremos el movimiento diferencial de slo una
articulacin. La transformacin del movimiento diferencial (E) se divide en dos partes:
E
= E n dq n , un movimiento diferencial en coord. de articulacin (dqn)
multiplicado por una transformacin diferencial desde la articulacin n al sistema de coord.
del elemento terminal (En)
Para transformar el movimiento de articulacin desde el sist. de ref. ligado a la misma
("frame n-1") al asociado con el elemento terminal (E), reescribimos la ec. ant. como:
E
n = n 1TE 1 n 1 n n 1 TE , donde n-1n es una transf. de movimiento diferencial,
correspondiente a una unidad de rotacin diferencial alrededor del eje z, s la articulacin n
es de revolucin, y a una unidad diferencial de traslacin a lo largo del eje z, s la
articulacin n es prismtica.
Y sustituyendo en , se obtiene:
1
d R TE = R TE n 1 TE n 1 n n 1 TE dq n = R Tn 1n 1 n n 1 TE dq n =
= A1 L An 1n 1 n An L AE dq n

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

Ahora calcularemos la segunda columna del Jacobiano sustituyendo los elementos de la


transf. diferencial de coord. en las ecs. vistas en el pto. 2, segn se trate de una articulacin
prismtica o de revolucin.

4.- Repetir el paso 3 hasta calcular todas las columnas del Jacobiano, una para cada
articulacin.

Ejemplo1.- Apliquemos el algoritmo al manipulador planar de dos articulaciones (de


revolucin):
A partir de la Transf. cinemtica directa,
C12 S12 l1 C1 + l2 C12 C2 S2 l2 C2
0
TE = S12 C12 l1 S1 + l2 S12 ; TE = S2 C2 l2 S2
1

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.

Ejemplo2.- Apliquemos el algoritmo, ahora, al manipulador planar de dos articulaciones


(prismticas):
1 0 0 0 1 0 0 0
0 0 1 0 xz 1
x z 0 0
0 1 d2 1 0 0 E
0
TE = ; TE = J = 0 yz 1
y z = 1 0
0 1 0 d1 0 0 1 d2
0 zz 1
z z 0 1

0 0 0 1 0 0 0 1

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.

Ejemplo.- Manipulador de dos articulaciones 2R planar, visto en la seccin 2.2.1.3.


Como el det(J) = l1 l2 sin2 = 0 implica que 2 = 0 , es decir, exhibe dos
singularidades en la frontera de su espacio de trabajo: Cuando el brazo est
completamente retrado (0) y cuando se encuentra completamente extendido ().

2.3 CONTROL DEL MOVIMIENTO: CONCEPTOS BSICOS

En el movimiento de un manipulador interesa conocer la posible existencia de obstculos


en su camino (ligaduras de obstculo) y si el elemento terminal debe recorrer un camino
especificado (ligaduras del camino). La combinacin de stas dos ligaduras combinadas dan
lugar a cuatro modelos de control posibles:

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

As pues, el problema de Control de un Manipulador se puede dividir en dos


subproblemas (1) Planificacin del Movimiento (o trayectoria) y, (2) Control del
Movimiento. Nos centraremos exclusivamente en (2).

__________________________________________________________________________________________
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:

I).- Control del Movimiento de Aproximacin. El brazo se mueve desde una


localizacin inicial, hasta la localizacin final deseada, a lo largo de una
trayectoria planificada.
II).- Control del Movimiento Fino. El elemento terminal interacciona dinmicamente
con el objeto utilizando informacin de la realimentacin sensorial para
completar la tarea.

Diagrama de Bloques del Control bsico del Robot:


Interrupciones

Planificacin Controlador Manipulador Entorno


de Trayectoria

Sensores
y Estimadores

Interface

Considerando el control del robot como un problema de seguimiento de trayectoria, el


control del movimiento se puede clasificar en 3 grandes categoras:
1.- Controles de Movimiento de la Articulacin
2.- Controles con Movimiento resuelto (control en el espacio cartesiano)
3.- Controles Adaptativos

Control del Movimiento en el Espacio de Articulaciones


Algoritmo bsico para generar puntos de consigna de la trayectoria de la articulacin:
t = t0;
bucle : Esperar hasta el prximo intervalo de control;
t = t + t;
h(t) = donde debera estar en el instante t la posicin de la articulacin del
manipulador;
S t = tf entonces salir;
,
ir a bucle;

donde t es el perodo de muestreo de control para el manipulador. Por lo tanto, el clculo


consiste en una funcin de trayectoria (o planificacin de trayectoria), h(t) que se modifica
en cada intervalo de control.

Control del Camino Cartesiano


Algoritmo bsico para generar puntos de consigna de la trayectoria del camino
cartesiano:
t = t0;
bucle : Esperar hasta el prximo intervalo de control;
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-34
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

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.

RESUMEN T-II. Aspectos Clave:


Redundancia y Degeneracin
Def.- La redundancia aparece cuando existe ms de una solucin a la Transformacin
Cinemtica Inversa. El n de soluciones posibles es 2n, siendo n el n de
redundancias.
Observacin: S el n de soluciones es mayor que el n de variables de articulacin implica
que el manipulador puede no tener solucin utilizando el Algortmo dado
anteriormente, por lo que debern imponerse restricciones.
Observacin: La existencia de ciertas funciones matemticas en la solucin a la
Transformacin Cinemtica Inversa, indica la existencia de redundancias en un
manipulador. (e.g., la raiz cuadrada y el coseno, pues no discriminan el "signo")
Def.- La degeneracin aparece cuando existen un n infinito de configuraciones para
alcanzar una posicin. Una configuracin degenerada es cualquier configuracin
del manipulador donde el control sobre uno o ms grados de libertad se pierde.(e.g.,
Mueca donde existen articulaciones con al menos dos ejes colineales)
Precisin del Modelo Cinemtico
Depende de la precisin, repetibilidad, y resolucin
Def.- La Precisin es la diferencia entre posicin real actual y la requerida.
La Repetibilidad es la variacin en la localizacin real actual cuando el
manipulador mueve repetidamente el TCP a la misma localizacin deseada.
La Resolucin es la mnima distancia garantizada para el movimiento del TCP.
Observacin: Las causas de imprecisin se agrupan en dos tipos de parmetros:1) No-
Geomtricos (e.g., resolucin de encoders, errores de transmisin en engranajes,
etc.). 2) Del Modelo Geomtrico (parmetros de D-H del modelo cinemtico).
Eficiencia de las Soluciones Cinemticas
La eficiencia del modelo cinemtico de un manipulador se mide usualmente en
funcin del n de operaciones de adicin, producto y llamadas a funciones
transcendentes requeridas para resolver el modelo.
Un camino es una secuencia de puntos en el espacio.
Una trayectoria es un camino con restricciones temporales.
El Jacobiano del manipulador es una matriz de elementos diferenciales, utilizada para
transformar velocidades desde el espacio de articulaciones al cartesiano.
Cuando el determinante del Jacobiano es cero, el Jacobiano no posee inversa, y el
manipulador se encuentra en una configuracin singular.
En una singularidad, el control del movimiento en alguna direccin cartesiana es
fsicamente imposible. Las singularidades aparecen cuando existe alineacin de ejes de
articulaciones, y en la frontera del espacio de trabajo del manipulador.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-35
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

TEMA III SISTEMAS DE PERCEPCIN ROBTICA

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.

3.1 GENERALIDADES DEL PROCESO DE PERCEPCIN

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.

En A interesa estructurar al mximo el entorno, evitando el uso de manos sofisticadas y


sensores. Por contra, B justifica el coste adicional que supone el uso de sensores y la prdida
de estructuracin. En conclusin, el uso de sensores estar justificado en aquellas aplicaciones
en las que la calidad prime sobre la velocidad como nico parmetro a contemplar.

Al margen de justificaciones como la anterior para el empleo o no de sensores, digamos


que stos tienen inters per se, en el sentido de que son ingredientes intrnsecos del proceso de
percepcin, siendo sta la va obligada para alcanzar la conexin inteligente entre percepcin
y accin, que es como se ha definido la denominada "robtica inteligente" [Brady, 84].

En general, la percepcin artificial, segn Mackerrow [Mackerrow, 91], intenta capacitar al


robot para realizar tareas complejas, adaptarse a posibles variaciones de su entorno (ambiente
no estructurado) y afrontar situaciones imprevistas. Se trata de un problema difcil, cuya

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-36
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

solucin requiere la aportacin de diferentes campos del conocimiento y, en su forma general,


exigir la utilizacin de herramientas tecnolgicas an no disponibles.
Para comprender mejor donde residen las dificultades podemos buscar un paralelismo con
la percepcin visual humana. Para una revisin bibliogrfica sobre el tema ver el trabajo de
Zucker [Zucker, 81]. El mecanismo de percepcin visual humano funciona como una cadena
en la cual, a partir de un cierto estmulo (la luz), capturado por un receptor (la retina), se
produce una determinada respuesta. Dicha respuesta, generalmente, requiere una
interpretacin previa de la escena iluminada que provoc el estmulo, y sta a su vez puede
depender del contexto, de la experiencia cognoscitiva anterior y de los objetivos que se
persigan. Por tanto, la interpretacin de una sensacin no puede basarse nicamente en la
informacin contenida en la misma. Requiere la cooperacin de otras fuentes de informacin
(experiencia, contexto, objetivos, etc.).

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.

Subyacente en las observaciones de Russell est la idea del movimiento de acomodacin


versus el balstico. En el ser humano, el primero hace uso de cierto mecanismo de
realimentacin sensorial, mientras que el segundo se relaciona con los movimientos reflejos.
El origen de la traslacin de estos conceptos, en especial el de realimentacin, a los sistemas
de control de los robots, se debe a Wiener [Wiener, 48]. La realimentacin sensorial en los
sistemas robotizados, permite cerrar el bucle de control, dando lugar a los denominados
sistemas servocontrolados, si la informacin sensorial utilizada es propioceptiva. Si adems,
se utiliza realimentacin de informacin exteroceptiva (e.g. visual o tctil), se conseguir una
adaptabilidad respecto a la posicin y una potencial capacidad de reaccin, logrando que el
sistema robotizado sea mucho ms robusto9 e inteligente10.
De modo esquemtico (vase la figura 3.1) el proceso de percepcin se puede dividir en
tres fases [Mackerrow, 91]:
Fase de Adquisin.
- Depende del tipo de percepcin de que se trate.

- Las disciplinas relevantes aqu sern la electrnica y ciertos campos especficos de


la Fsica.

- Su aportacin a la siguiente fase ser, en general, una representacin matricial


cuantitativa y digitalizada de la informacin ambiental adquirida.

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
_______________________________________________________________________________________________________________

- Las tcnicas de base utilizadas son, hasta cierto punto, independientes de la


naturaleza de la informacin procesada. En general corresponden al conjunto de
mtodos reunidos bajo el nombre de "procesado digital de seales".

- La salida de sta fase ser una representacin simblica de la informacin.

Fase de Interpretacin.
- Es la de mayor dificultad del proceso.

- Representa, fundamentalmente, la aportacin de la I.A. y de las tcnicas del


Reconocimiento de Formas en su doble vertiente de decisin terica y sintctica.

- El resultado ser una descripcin precisa y completa del entorno de inters.

Entorno

ADQUISICION

Representacin
Cuantitativa

TRATAMIENTO

Representacin
Simblica

INTERPRETACION
Descripcin

Figura 3.1. Diagrama de bloques del proceso de percepcin

3.2 VISIN ARTIFICIAL: ADQUISICIN Y ANLISIS


3.2.1. Preliminares
Como ya se coment en el punto 3.1, al hilo de la percepcin visual, hay que resaltar la
importancia de la experiencia cognoscitiva previa en la interpretacin de una imagen [Ferrat
et al., 86]. Una persona no ve niveles de gris caprichosamente repartidos en una superficie
bidimensional, ni tampoco ve contornos, ni saltos bruscos de intensidad, ni ninguna otra
caracterstica definida numricamente sobre una matriz. Lo que una persona realmente ve son
objetos tridimensionales con los que ha sido familiarizado en el transcurso de su vida. He aqu
la diferencia entre sensacin y percepcin. La sensacin es la informacin captada por
nuestros receptores; la percepcin incluye adems la interpretacin dada a esa informacin
gracias a la experiencia previa obtenida en situaciones semejantes. Adems, el contexto ayuda
a eliminar posibles ambigedades. Otro factor a tener en cuenta es el principio gestltico de
que "el todo es ms que la suma de las partes". Un ejemplo evidente de ello se observa a partir
de la existencia de propiedades como la simetra, que slo pueden ser captadas a nivel global
y desaparecen en cuanto se analiza localmente la imagen. Por ltimo, destacar que los
objetivos que se persigan tendrn una influencia decisiva en el diseo del mecanismo de
percepcin implementado. Por ejemplo, si se requiere razonar a partir de la forma de los

__________________________________________________________________________________________
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

Escena Representacin Representacin


Cuantitativa Simblica
Posible
Realimentacin

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
_______________________________________________________________________________________________________________

3.2.2. Adquisicin de la imagen

Este problema es de importancia crucial para poder garantizar que el procesamiento de la


imagen, a realizar posteriormente, ser satisfactorio. Podemos considerar tres aspectos
fundamentales [Davies, 90]:
(1) El esquema de iluminacin empleado.
(2) La tecnologa utilizada en la captura y digitalizacin de las imgenes.
(3) La teora bsica subyacente al proceso de muestreo (e.g. el teorema de muestreo
[Astrm & Wittenmark, 88]).

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.

Segn el sensor existen, bsicamente dos tipos de cmaras:


1.- De tubo (e.g. Vidicn)
2.- De estado slido (e.g. CCD)

Elementos bsicos de una cmara de Estado Slido:


1.- Fotodiodos
2.- Dispositivos de Acoplamiento de Carga CCD
3.- Dispositivos de Inyeccin de Carga CID

2.- Dispositivos de Acoplamiento de Carga CCD (vase la fig. 3.3)


Producen una carga elctrica proporcional a la intensidad luminosa que incide sobre ellos.
Cada clula fsica proporciona una informacin puntual de la luz que recibe (el elemento
bsico de la imagen se denomina pixel picture element). Cada pixel proporcionar una
seal elctrica comprendida entre un mximo (pto. blanco en la imagen), y un mnimo
(pto. negro no iluminado). Entre estos dos extremos existirn infinitos valores que
representan los infinitos niveles de gris.
Pulso
N columnas Elctrico
Blanco
pixel
M filas

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:

Una lnea de la imagen se compondr de un n de seales elctricas equivalentes al n de


columnas de la matriz. Relativo a la exploracin de la imagen, en una cmara de Estado
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-40
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

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!.

3.2.3. Anlisis de la imagen

Def.-Imagen bidimensional, f(x,y), que representa el resultado de un muestreo ms una


cuantizacin de intensidad o nivel de gris.

El resultado de digitalizar la imagen continua f(x,y), espacialmente y en amplitud, ser lo


que llamaremos una Imagen Digital:
f (0,0) f (1,0) L f ( N 1,0)
f (0,1) f (1,1) L f ( N 1,1)
f ( x, y )
M M M M

f (0, N 1) f (1, N 1) L f ( N 1, N 1)

Normalmente se definen: N=2n, y G=2m (n de niveles de gris). Luego, el n, b, de bits


requeridos para contener una imagen digitalizada ser: b=N x N x m

Relaciones Bsicas entre Pixels: Conectividad

Dado un pixel, p, de coord. (x,y) se tiene:

Def.- N4(p) 4-vecinos de p {(x+1,y),(x-1,y),(x,y+1),(x,y-1)}

Def.- N8(p) u 8-vecinos de p {N4(p)+[(x+1,y+1),(x+1,y-1),(x-1,y+1),(x-1,y-1)]}

Observacin: Se utiliza el convenio ,


x

(x,y)

y Imagen

Def.- Conectividad-4 Dos pixels p y q estn 4-conectados si q est en el conjunto N4(p).

Def.- Conectividad-8 Dos pixels p y q estn 8-conectados si q est en el conjunto N8(p).

Def.- Conectividad-m (conectividad mixta) Dos pixels p y q estn m-conectados si:


1) q est en el conjunto N4(p),

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-41
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

2) q est en el conjunto ND(p) y N4(p) N4(q) es el conjunto vacio. (Este es el


conjunto de los pixels que son 4-vecinos de p y q)
Def.- Camino desde el pixel p de coord. (x0,y0), hasta el pixel q, de coord (xn,yn)
(x0,y0),(x1,y1),,(xn,yn). Donde los (xi,yi) son adyacentes a (xi-1,yi-1), con 1 i n, y n es
la longitud del camino. Se pueden definir 4-caminos, 8-caminos etc., dependiendo del tipo
de adyacencia usada.

La def. anterior constituye tambin la def. de conectividad: Diremos que p y q estn


conectados si un camino (cadena de puntos) de p a q, en el sentido anterior.

Teselaciones y Mtricas

Def.- Teselacin Patrn en el que se divide el plano

Ejemplos de diferentes Teselaciones del plano:

Rectangular Triangular Hexagonal

Observacin: Aunque las teselaciones rectangulares son universalmente aceptadas en visin


artificial, poseen un problema estructural conocido como PARADOJA DE LA
CONECTIVIDAD:
Dado un pixel en una teselacin rectngular, Cmo
deberamos definir los pixels a los que est conectado?
Hemos visto que dos mtodos comunes sern la 4-conectividad y la 8-conectividad.

Visualizacin de la denominada paradoja de la conectividad para teselaciones


rectngulares:

a) Un pixel central y sus 4- b) Un pixel central y sus 8- c) Conectividad ambiga


vecinos vecinos

La fig. c) muestra un objeto obscuro con un agujero, sobre un fondo blanco.

S usamos 4-conectividad, la fig. consistir en 4 piezas desconectadas El agujero


queda separado del objeto.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-42
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

S usamos 8-conectividad, la fig. quedar conectada en una pieza El agujero ahora


formar parte del objeto (conectado al borde).

Esta paradoja conlleva complicaciones para muchos algortmos geomtricos.

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

Observacin: Las distancias D4 y D8 pueden considerarse en trminos de la existencia o


no de un camino de conexin entre los dos pixels implicados, ya que la definicin
de stas distancias involucra slo a las coordenadas de stos puntos.

Preprocesados Bsicos de la Imagen: Filtros


Bsicamente existen dos mtodos de tratar/filtrar una imagen:
(1) Mtodos en el Dominio de la Frecuencia
(2) Mtodos en el Dominio del Espacio
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-43
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

(1) Mtodos en el Dominio de la Frecuencia


Estas tcnicas conllevan un alto coste computacional, por lo que su uso es todava
infrecuente en el campo de la robtica, por su necesidad de trabajar en tiempo real.
(2) Mtodos en el Dominio del Espacio
Def.- Las funciones de Preprocesamiento en el dominio espacial se pueden expresar como:
g(x,y) = h[f(x,y)]
donde, f(x,y)imagen de entrada; g(x,y)imagen obtenida (preprocesada); hoperador en f,
def. sobre el entorno de vecindad de (x,y)

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).

Las tcnicas en el dominio espacial usadas ms frecuentemente:

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

Fig.- Una Mscara 3 x 3 General:

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)

A partir de aqu, se obtiene:


h[f(x,y)] = w1 f(x-1,y-1)+w2 f(x-1,y)+w3 f(x-1,y+1)+w4 f(x,y-1)+w5 f(x,y)+w6
f(x,y+1)+w7 f(x+1,y-1)+w8 f(x+1,y)+w9 f(x+1,y+1)

Ejemplo.- Mscara para detectar puntos aislados:

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-44
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

-1 -1 -1

-1 8 -1

-1 -1 -1

Observacin: En General, el Preproceso debe de cumplir 2 funciones:

a) Codificacin y Aproximacin; para reducir la cantidad de informacin.


b) Filtrado, Restauracin y/ Realce; para eliminar ruidos, compensar la degradacin
debida a la compresin de la informacin y/ mejorar la calidad de la
representacin.

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)

Gradiente de Roberts.- Se trata de una mejora del anterior:

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.

Ejemplo.- Resultados de aplicar el gradiente de Roberts:

Imagen Original Imagen Resultante

__________________________________________________________________________________________
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

2).- Filtro de MEDIANA (Pasa Banda)


Aqu se reemplaza el valor de gris de cada pixel por el valor de mediana (No
media!) de los valores de gris de los pixeles vecinos.

Binarizacin mediante Umbral


En sntesis, un esquema del proceso de segmentacin de una imagen, I(x,y), basado en
umbralizar el histograma de la imagen original filtrada, If(x,y), puede seguirse en el esquema
siguiente:
Filtro
I(x,y) Extraccin If (x,y) Ib (x,y)
Umbralizacin
de Bordes
Imagen Original
Histograma
Gradiente
Laplaciana
Etc...

Ejemplo. Se representa, a continuacin, una imagen filtrada, If(x,y), en la que aparecen


claramente resaltados los bordes de los objetos. El histograma asociado presenta dos lbulos,
uno correspondiente a los pxeles de borde (menor) y el otro relativo al resto de pxeles de la
imagen.:

No Borde
If (x,y)
Borde

0 Histograma 1

Imagen Filtrada
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-46
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

La umbralizacin del histograma de la imagen filtrada producir una imagen binaria


Ib(x,y) tal que:
1 sii (x, y) borde
Ib( x, y ) =
0 sii (x, y) resto

Procesado de Imgenes a Nivel Intermedio


1.- Introduccin.
2.- Segmentacin mediante Seguimiento de Contornos.
3.- Descriptores: Invariantes Geomtricos.

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.

Como paso previo a la aplicacin de alguno de estos dos procedimientos es preciso


codificar el contorno, cerrado, de cada objeto.

Segmentacin mediante Seguimiento de Contornos.

El algoritmo utilizado es una variante del algoritmo de codificacin de contornos mediante


cdigos de cadena descrito en [Gonzalez & Wintz, 87], el cual reduce la imagen
pseudobinaria, obtenida en el paso anterior (segmentacin), a una lista de contornos,
unvocamente determinados mediante la especificacin de:

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.

Un cdigo de cadena puede representar un contorno mediante una secuencia de segmentos


rectos de longitud y direccin especfica, como por ejemplo el cdigo 4 u 8-direccional de la
figura 4.6. Supondremos en lo que sigue una teselacin rectangular del espacio, por otra parte
la ms utilizada con diferencia, en el procesamiento digital de imgenes. Es importante
puntualizar que los cdigos de direcciones representados en la figura 3.4. definen una relacin
de vecindad, es decir, el cdigo 4-direccional da lugar a la 4-conectividad, y el 8-direccional a
la 8-conectividad. Para evitar ambigedades hay que fijar a priori uno de los dos. En nuestro
caso, elegimos 8-conectividad por ser la que mejor se adapta a las representaciones de los
contornos digitalizados y ser ms compacta que la 4-conectividad. Tengamos en cuenta que la
consideracin de un mayor nmero de direcciones no mejora la precisin de la cuantizacin
de una curva [Saghri & Freeman, 81].

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-47
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

1 3 2 1

2 0 4 0

3 5 6 7

Figura.3.4. Representacin grfica del cdigo 4-direccional (izquierda) y 8-


direccional (derecha), de Freeman.
El algoritmo utilizado se basa en dos subalgoritmos:

(1)Subalgoritmo de bsqueda de puntos iniciales (PI).

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.

(2)Subalgoritmo de trazado de un contorno (T).

Desde el punto inicial de un contorno (que establecemos como el de mnima coordenada


"y" del objeto) se utiliza la regla clsica de "atravesar un laberinto girando siempre en
el mismo sentido" (supondremos sentido horario, en nuestro caso).

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

Figura.3.5. Representacin grfica del esquema de trabajo del algoritmo de


"bsqueda de puntos iniciales". Se observa la deteccin de dos puntos
iniciales, uno para cada contorno, cumpliendo la caracterizacin dada
por el subalgortmo correspondiente (1).

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-48
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

Cuestin-1: Cmo podemos almacenar los contornos? (vase la figura 3.6).

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

Figura 3.6. Cada contorno se almacena, guardando las coordenadas. de su


punto inicial, PI, y creando una Lista a partir de ste que guarde
las direcciones de los sucesivos puntos del contorno que
encontramos a partir de dicho punto inicial.

Cuestin-2: Cmo procederemos a una bsqueda exhaustiva de todos los contornos?:

Representaremos (en el programa), la A por un cero, la I por un uno, la D por un dos y la R


por un tres. Empezaremos creando una matriz de atributos de las mismas dimensiones que la
imagen. Se inicializa a cero (A). Y la recorreremos punto a punto. Al comienzo estaremos en
un rea de unos, es decir fuera de todo objeto. Cuando encontramos un cero ste ser un
punto inicial (PI). Entonces llamamos al procedimiento T que busca el contorno a partir de
dicho punto. Cuando acaba lo recorremos de principio a fin aplicando la siguiente regla:

11Vase el apndice D.
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-49
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

S el punto tiene un atributo A (no se ha pasado anteriormente por l) aplicamos la regla 1


(vista posteriormente). S por el contrario el punto ya tiene un atributo aplicaremos la 2 regla
(vista posteriormente).
Cada vez que pasemos de una zona a otra (de nivel de gris 0 a 1 o viceversa) lo indicaremos
con una variable Booleana (en general, se utilizar una pila, vase la figura 3.5). Los puntos
iniciales (PI) coinciden con el paso de un nivel al siguiente. El algoritmo termina cuando se
han utilizado todos los puntos de la imagen.

A continuacin se expone la estrategia seguida para implementar el algoritmo de seguimiento


de contornos, teniendo en cuenta 8-conectividad:

Entrada: Array de niveles de gris (imagen pseudo-binarizada). Umbral: T0


Salida: Lista de contornos (PI, Codificacin de Freeman y atributo de objeto o hueco)
Pasos:
1. Partir del punto superior izquierda de la imagen y suponer a ste perteneciente al fondo
(z > T0).

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.

3. Trazar el contorno de la regin detectada:

Inicializar valores del contorno y empezar por PI


repetir
repetir
mirar el pxel correspondiente segn la regla de la figura 3-7
Si z est al otro lado de T0 en el rango de grises entonces
avanzar a la siguiente direccin de salida posible segn la figura 3-7
hasta encontrar un pxel con z en el mismo lado del rango de grises
O volver a la direccin de llegada sin haberlo conseguido.
si se encuentra un pxel con z en el mismo lado del rango de grises entonces
Asignar la direccin de salida que se dirige hacia l desde el punto de entrada
si no
Se trata de un contorno de un solo punto
hasta Llegar de nuevo a PI

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.

5. Repetir 2, 3 y 4 hasta llegar a la esquina inferior derecha de la pantalla.

Finalmente, lo relativo a las Reglas de Asignacin de Atributos explcitamente sera:


regla1 :
r1 = ((3,3,3,0,2,2,2,2),(1,1,1,1,0,3,3,3),
(1,1,1,1,3,0,3,3),(1,1,1,1,3,3,0,3),
(1,1,1,1,3,3,3,0),(0,3,3,3,2,2,2,2),
(3,0,3,3,2,2,2,2),(3,3,0,3,2,2,2,2));

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
_______________________________________________________________________________________________________________

Figura 3.7. Regla de salida en funcin de la entrada a cada pxel.


En resumen, una curva digital cerrada C queda representada por una secuencia de N puntos de
coordenadas enteras:
C = { pi = (xi,yi), i = 1,...,N }
donde pi+1 es un 8-vecino de pi (mdulo N), puede expresarse mediante un punto inicial PI =
(x0,y0) y un cdigo de cadena de Freeman que se explicita como una sucesin de N vectores
{ci, i=1,...,N}, donde
ci = pi 1 pi
y cada vector ci es codificado mediante el valor de un entero ci [0,7] (siendo ci(/4) el
ngulo entre cada vector y el eje x).

Descriptores: Invariantes Geomtricos.


En general, dada una imagen representada por una funcin arbitraria representativa de los
niveles de gris en cada imagen, f(x,y), se define el momento de orden (p,q), mpq como

m pq = x
p
y q f ( x, y )dxdy p, q {0,1,2, K , }

Si dicha funcin, f(x,y), es acotada (como siempre ocurre en el caso de imgenes digitales)
existir un conjunto nico de momentos generales asociados que la describen y viceversa
[Duda & Hart, 73], [Maravall, 93]. Este resultado explica el porqu de la importancia de los
descriptores basados en el clculo de momentos en el rea de reconocimiento de formas, con
vistas a construir vectores de caractersticas, etc. En el presente trabajo, estos momentos
geomtricos sern utilizados para calcular el centroide, la orientacin de la forma estudiada y
las magnitudes de los semiejes principales de la elipse de mejor ajuste de los objetos de
inters.

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

para los momentos geomtricos, y


Nx Ny
pq = ( x x ) p ( y y ) q f ( x, y ) p, q {0,1,2K , }
x =0 y =0

para los centrales.


En el caso de una imagen binaria, la funcin f(x,y) es una funcin acotada que toma valores
distintos de cero nicamente en el contorno de los objetos presentes en ella y en su interior.
Para caracterizar una forma mediante un conjunto de momentos se puede optar por dos
aproximaciones: (1) Considerar la funcin definida exclusivamente en el conjunto de puntos
que definen su contorno; (2) Establecer el campo de existencia de dicha funcin en el
conjunto de puntos del contorno del objeto ms su interior.
Los momentos geomtricos que se obtienen a partir del contorno, aunque lo caracterizan
adecuadamente, sufren el defecto de ser muy sensibles al ruido y a pequeas variaciones en la
forma de un contorno. Por contra, los basados en el contorno ms su interior presentan una
mayor robustez [Maravall, 93]. Nosotros seguiremos este segundo enfoque.
Zakaria [Zakaria et al., 87] propuso un mtodo llamado regla delta en el que los momentos
geomtricos totales se calculan sumando las contribuciones de cada una de las lneas de las
que est compuesto el objeto sometido a estudio. Para ello basta con conocer la posicin de
los puntos del contorno, lo que reduce la complejidad a un orden lineal con el nmero de
puntos del mismo, ver figura 3.8.
Este mtodo ser el utilizado cuando calculemos los mpq, pues es sencillo de implementar y
fcilmente generalizable para tratar objetos con agujeros, concavidades arbitrarias e imgenes
no binarias, aspectos estos no contemplados en el trabajo original [Zakaria et al., 87]. El
mtodo integral [Dai et al., 92] tambin es eficiente y sencillo, pero sus ventajas respecto a la
regla delta residen fundamentalmente en su implementacin para el clculo a partir del
cdigo de cadena de un contorno y este aspecto no contempla la posibilidad de objetos con
agujeros internos.
Se ha desarrollado un algoritmo basado en la regla delta que lo extiende para alcanzar estos
objetivos de generalizacin necesarios para nuestras formas (con agujeros y concavidades
arbitrarias) [Sanz et al., 94].

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-52
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

i
xi 0 xiJ

yi

Figura 3.8. Interpretacin geomtrica de la regla delta original. Se observa


la contribucin de la fila yi, correspondiente a i = xi xi + 1.
J 0

A partir de la definicin para la regla delta original:


Ny
m pq = m pq ,i p, q {0,1,2,L}
i =0
se obtienen los siguientes momentos de hasta orden dos:
m00,i = i
m01,i = i yi = m00,i yi
m02,i = i yi2 = m01,i yi
m10,i = i xi0 + (i2 i)/2
m11,i = m10,i yi
m12,i = m11,i yi
m20,i = i xi02 + 2xi0(i2 i)/2 + i3/3 i2/2 + i/6
m21,i = m20,i 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

Puntualicemos que los momentos centrales sern invariantes a traslaciones, al definirse


relativos al centroide de la forma y no a coordenadas absolutas. Es interesante recordar que
existen un conjunto de momentos, denominados "invariantes de Hu" [Hu, 62] que son
invariantes a traslaciones, rotaciones y cambios de escala. Estas combinaciones no lineales de
los momentos pq son de importancia crucial como descriptores en el rea de reconocimiento
de formas. No obstante, no se requiere su uso para los objetivos aqu planteados.

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

Figura 3.9. Interpretacin geomtrica de la regla delta extendida. Se observa la contribucin de


la fila yi, correspondiente a i1 + i2 + i3 + i4.

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-54
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

Extraccin de caractersticas basadas en los momentos.


Dos descriptores fundamentales sern:
1 El centro de masas o Centroide de la funcin de distribucin de intensidades:
m m
x = 10 ; y = 01
m00 m00

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

calculndose el mdulo de dichos semiejes a partir de:


18 18
4 I3 4 I3
a = ( ) max
14
; b = ( ) min
14

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 )

Figura 3.10. Interpretacin geomtrica de los descriptores utilizados: centroide y


orientacin () del Eje Principal. Obsrvese el convenio seguido para
dicha orientacin.

<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 .

Con la sintaxis de Pascal, lo visto para la elipse de mejor ajuste se escribe:


IMin:=((MC[2,0]+MC[0,2]-Sqrt(4*Sqr(MC[1,1])+Sqr(MC[2,0]-MC[0,2])))/2);

__________________________________________________________________________________________
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);

Podemos completar ste conjunto de descriptores geomtricos, considerando el


denominado "esparcimiento":
Spread:=(IMin+IMax)/Sqr(mpq[0,0]);
Y la elongacin:
Elong:=IMin/IMax;

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

Con la sintaxis de Pascal:


MC[0,2]:=MC[0,2]/Sqr(mpq[0,0]);
MC[0,3]:=MC[0,3]/Potencia(mpq[0,0],5/2);
MC[1,1]:=MC[1,1]/Sqr(mpq[0,0]);
MC[1,2]:=MC[1,2]/Potencia(mpq[0,0],5/2);
MC[2,0]:=MC[2,0]/Sqr(mpq[0,0]);
MC[2,1]:=MC[2,1]/Potencia(mpq[0,0],5/2);
MC[3,0]:=MC[3,0]/Potencia(mpq[0,0],5/2);

Teniendo en cuenta lo anterior, se demuestra12 la existencia de siete momentos invariantes


("de Hu"), i, a traslaciones, rotaciones y cambios de escala, definidos a partir de los
momentos centrales normalizados:(Sintaxis de Pascal)
MomInvar[1]:=MC[2,0]+MC[0,2];
MomInvar[2]:=Sqr(MC[2,0]-MC[0,2])+4*Sqr(MC[1,1]);
MomInvar[3]:=Sqr(MC[3,0]-3*MC[1,2])+Sqr(3*MC[2,1]-MC[0,3]);
MomInvar[4]:=Sqr(MC[3,0]+MC[1,2])+Sqr(MC[2,1]+MC[0,3]);
MomInvar[5]:=(MC[3,0]-3*MC[1,2])*(MC[3,0]+MC[1,2])*(Sqr(MC[3,0]+MC[1,2])-
3*Sqr(MC[2,1]+MC[0,3]))+(3*MC[2,1]-
MC[0,3])*(MC[2,1]+MC[0,3])*(3*Sqr(MC[3,0]+MC[1,2])-
Sqr(MC[2,1]+MC[0,3]));
MomInvar[6]:=(MC[2,0]-MC[0,2])*(Sqr(MC[3,0]+MC[1,2])-
Sqr(MC[2,1]+MC[0,3]))+4*MC[1,1]*(MC[3,0]+MC[1,2])*(MC[2,1]+MC[0,3]);
MomInvar[7]:=(3*MC[2,1]-MC[3,0])*(MC[3,0]+MC[1,2])*(Sqr(MC[3,0]+MC[1,2])-
3*Sqr(MC[2,1]+MC[0,3]))+(3*MC[1,2]-
MC[3,0])*(MC[2,1]+MC[0,3])*(3*Sqr(MC[3,0]+MC[1,2])-
Sqr(MC[2,1]+MC[0,3]));

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
_______________________________________________________________________________________________________________

Digamos para finalizar que,

1) Ser un problema prctico a resolver en cada aplicacin especfica el n de estos


invariantes a considerar como elementos finales del vector de caracterticas. Y
2) En la obtencin del subconjunto de momentos invariantes discriminantes se comienza
siempre desde los momentos de menor a mayor orden. Esto es as porque es en los
momentos de menor orden donde estn concentradas las principales caractersticas de la
forma de un contorno cerrado.

Ejemplo prctico: "Sistema de Coordinacin Ojo-Mano".-


Desde el punto de vista de la visin por ordenador:

vdeo
D/A ordenador A/D

monitor
cmara
robot
objeto

Desde el punto de vista del control del manipulador, mediante realimentacin


visual:
realimentacin controlador
-
de la + del robot
localizacin
localizacin
de referencia

localizacin
visin
estimada
cmara
robot
objeto

En general, digamos que el problema planteado de "coordinacin ojo-mano", sigue siendo


en la actualidad una lnea abierta de investigacin activa. Tengamos en cuenta que entran en
juego muchos factores como son:

1).- Los relacionados con el calibrado del conjunto del sistema.


2).- Los asociados al control del manipulador (posicional, de trayectorias, etc.) y su
comunicacin con los mdulos de visin.
3).- La estrategia seguida por los algoritmos de visin para extraer la informacin necesaria
en tiempo real.
4).- Recuperacin de la profundidad del objeto (mediante laser, luz estructurada, etc.)

3.3 RECONOCIMIENTO DE FORMAS: INTRODUCCIN

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-58
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

A continuacin representamos, de modo grfico, la ubicacin en el contexto de la


Inteligencia Artificial (IA), de la disciplina conocida como "Reconocimiento de Formas":
INTELIGENCIA ARTIFICIAL

RECONOCIMIENTO LENGUAJE SISTEMAS ...


DE FORMAS NATURAL EXPERTOS

RECONTO. RECONTO.
IMAGENES DEL HABLA

La cual a su vez, se puede descomponer en dos vertientes:

RECONOCIMIENTO
DE FORMAS

RECONOCIMIENTO RECONOCIMIENTO
GEOMTRICO SINTCTICO

En general, un posible diagrama de bloques de un Sistema de Reconocimiento Automtico


de Formas, sera:
UNIVERSO

SEGMENTACION EXTRACCIN DE X? X
(Aislamiento Objetos) CARACTERSTICAS

X1...Xn
BASE DE DATOS
(Diccionario)
Objetos del Universo

De modo esquemtico, las etapas del diseo de un Sistema de Reconocimiento Automtico


de Formas sern:
Determinacin del
Universo de Trabajo

Eleccin y prueba de
las caractersticas

Diseo y prueba de las


funciones discriminantes

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

Ejemplo13.- Un posible sistema robotizado para la seleccin de frutas.

ORDENADOR

CAMARA

ROBOT

CINTA
TRANSPORTADORA

La distribucin en el plano de las tres clases del Ejemplo anterior:


X2
1 (intensidad fr."rojo")
+ + Fresas
+
+ ++ + Naranjas Melones
*
******* X1
0 (permetro)

Propiedades a tener en cuenta en la eleccin y prueba de las caractersticas:


1.- Poder discriminante
2.- Fiabilidad
3.- Incorrelacin
4.- Tiempo de computo aceptable
5.- Economa de medios

3.3.1 El Clasificador Eucldeo


Fase de diseo del Clasificador Eucldeo:

13 Ver [Maravall, 93]


__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-60
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

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

Fase operativa del Clasificador Eucldeo:


T
(1/2)Z 1. Z 1

+ -
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.

Ejercicio 1: Demostrar que fd(X) = X2-2, para la distribucin biclase siguiente,

14 Suponiendo que la dimensin del vector de caractersticas es n y que existen N clases.


__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-61
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

X
2


1
3

+
2 fd=fd (X)-fd (X)
- 1 2

2
1

X
1
1 2

Ejercicio 2: Sea la distribucin multiclase siguiente,


X
2

1
6 fd a).-Encontrar las funciones de
- 1
decisin asociadas al clasificador
+
5
Eucldeo.
4

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

Clasificacin (Estrategia de la Distancia Mnima)

Regla de Decisin:

Dada una muestra (o patrn) X0 decidir i (X0 ### wi) sii D0i <= D0j ### j = 1,2,...

Procedimiento operativo clasificador Distancia Mnima [UPV, 91]:

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

calcular la distancia a todas las muestras de todas las clases


SI (existe un empate)
asignar X0 aleatoriamente a alguna de las clases del empate

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
_______________________________________________________________________________________________________________

Clasificacin (Estrategia de los K Vecinos ms Prximos)

Regla de Decisin:(K-Nearest Neighbor)

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

Procedimiento operativo clasificador "K-Vecinos ms Prximos" [UPV, 91]:

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

3.3.1 Aplicacin Prctica: Sistema de Visin Industrial SRI15.


15 Ver [Klafter et al. 89]
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-64
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

Se trata de un sistema de visin desarrollado en la dcada de los 70 en el "Stanford


Research Institute" (EEUU). Ha tenido una importancia crucial en la implantacin de sistemas
de visin en diferentes entornos industriales, as como una gran influencia en el campo de
investigacin en robtica, e.g. diseo del lenguaje RAIL16. Los algoritmos SRI tenan como
objetivos fundamentales:
- La clasificacin de objetos.
- La manipulacin robotizada de piezas y materiales.
- La inspeccin visual de piezas.

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.

RESUMEN T-III. Aspectos Clave:

La Percepcin Artificial constituye un elemento crucial en el desarrollo de la Robtica


actual. Imprescindible para llevar a cabo Tareas Complejas en Entornos No-Estructurados.
An cuando para los seres vivos, incluso los no inteligentes, la percepcin es algo
inmediato y aparentemente sencillo, resulta extraordinariamente complicada y dificil
mediante ordenador.
Tanto la Electrnica y el Procesado Digital de Imgenes, como un conjunto de Tcnicas
agrupadas bajo el nombre genrico de I.A., suponen una aportacin decisiva a la
resolucin de ste problema que, sin embargo, dista mucho de estar resuelto de una forma
General.

16 Desarrollado por Automatix, Inc (Massachustts)


__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-65
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

TEMA IV COMUNICACIN HOMBRE-ROBOT

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.

4.1 ASPECTOS DIFERENCIALES DE LA PROGRAMACIN DE ROBOTS

Qu circunstancias hacen diferentes los lenguajes de programacin de robots del


resto?

El entorno en que acta el robot generalmente no puede describirse


en trminos puramente cuantitativos.
Se necesita poder incluir condiciones no usuales, tales como la
prevencin de colisiones.
Las acciones del robot estn sujetas a imprecisiones que pueden dar
lugar a incidentes que el programa debe ser capaz de tratar.
Ciertas informaciones sensoriales del sistema pueden ser no slo
difciles de procesar en tiempo real sino tambin ambiguas.

4.2 CLASIFICACIN DE LOS LENGUAJES DE PROGRAMACIN DE ROBOTS

Una posible clasificacin de los lenguajes de programacin en robtica, puede hacerse


estableciendo niveles, segn se adapten en mayor o menor medida al lenguaje natural del
hombre o al robot. Esto se observa mejor en la figura 4.1.

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.

4.3 LENGUAJES DE PROGRAMACIN A NIVEL ROBOT

Los lenguajes de programacin a nivel manipulador o nivel robot constituyen los


denominados lenguajes industriales, puesto que es para dichos robots para lo que se han
diseado. Veremos solo dos ejemplos recientes de dichos lenguajes: RAPID, desarrollado por
la multinacional sueca ABB a partir de 1994, y V+, desarrollado por Adept Technology en
1989.
4.3.1 Lenguaje de Programacin RAPID

Los programas desarrollados en RAPID se denominan tareas e incluyen el programa en s


junto con varios mdulos de sistema, que contienen rutinas y datos de tipo general,
independientes del programa pero que pueden ser utilizados por l en cualquier momento. A
su vez, el programa puede ser dividido en varios mdulos, uno de los cuales ha de ser el
principal. Cada uno de estos mdulos contiene submdulos de datos, adems de diversas
rutinas de ejecucin.

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-67
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

La definicin de mdulos se realiza especificando su nombre y sus atributos, como por


ejemplo que se trata de un mdulo del sistema (SYSMODE) o que no se puede modificar
(VIEWONLY).
Existen tres tipos diferentes de rutinas o subprogramas posibles:
Procedimiento: Rutina que no devuelve ningn valor y se utiliza como una
instruccin.
Funcin: Rutina que devuelve un dato de tipo especfico y que se utiliza como una
expresin.
Rutina TRAP: Rutinas que se asocian a interrupciones y se ejecutan cuando stas se
activan. No pueden llamarse nunca de forma explcita.

Ejemplo [Barrientos et al., 97] Seleccin de piezas defectuosas

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]

VAR signaldo pinza ;seal de activacin de pinza


VAR signaldo activar_cinta ;seal de activacin de cinta
VAR signaldi pieza_defectuosa ;seal de activacin de pieza defectuosa
VAR signaldi terminar ;seal de terminar programa

PERS robtarget conf_espera := [[600,500,225], [1,0,0,0], [1,1,0,0] ,


[9E9, 9E9, 9E9, 9E9, 9E9, 9E9] ]

Rutinas de control de la pinza


PROC Coger()
Set pinza ; cerrar pinza
WaitTime 0.3 ; esperar 0.3 segundos
GripLoad carga ; seal de pieza cogida
ENDPROC

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
_______________________________________________________________________________________________________________

Tipos de datos: atmicos y registros.


Declaracin de datos: Constantes (CONS), Variables (VAR) y Persistentes (PERS)-> se
trata de variables en las que cada vez que se cambia su valor durante la ejecucin del
programa, tambin se cambia el valor de su inicializacn.
Estructuras predefinidas: (ejemplos)
Tooldata: Especifica las caractersticas de una herramienta.
Campos: robhold: define si el robot tiene la herramienta o no.
tframe: sistema de coordenadas de la herramienta.
tload: dato tipo loaddata.
Loaddata: Especifica la carga colocada en la mueca del robot.
Campos: mass: peso de la carga en kilogramos.
cog: centro de gravedad de la carga.
aom: orientacin de los ejes de inercia en el centro de gravedad
expresada como cuaternios.
ix,iy,iz: momentos de inercia de la carga (kg m2).
Robtarget: define la localizacin del robot y de los ejes externos.
Campos: trans: desplazamiento en x,y,z del sistema de coordenadas.
rot: rotacin del sistema de coordenadas como cuaternios.
robconf: configuracin del robot (cf1,cf4,cf6 y cfx).
extax: posicin de los ejes externos.

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-70
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

4.4 LENGUAJES DE PROGRAMACIN A NIVEL TAREA

El concepto de robot inteligente incluye la capacidad de recibir instrucciones de alto nivel


expresadas como "comandos" para realizar una tarea general, trasladando dichas instrucciones
a un conjunto de acciones que deben ejecutarse para llevar a cabo dicha tarea. Ser consciente
de su entorno y capaz de tomar decisiones acerca de sus acciones basadas, en parte, en la
interpretacin de dicho entorno.
Un ejemplo sencillo que pone de manifiesto el significado de lo dicho, puede observarse en
la figura 4.2, donde se representan dos alternativas para programar una tarea sencilla de coge
y deja. La primera, a la izquierda, representa la programacin usual, denominada de "nivel
robot", que requiere especificar cada una de las acciones del mismo (programacin explcita),
e.g. cada posicin distinta a alcanzar es una accin diferente a tener en cuenta. Si se requiere
encapsular diferentes movimientos en unas pocas acciones, estamos obligados a integrar
informacin sensorial que permita disparar de forma automtica dichas acciones, en nuestro
caso, de manipulacin (parte derecha de la figura), lo cual necesita, adems, de una
representacin del modelo del mundo (programacin orientada al modelo o implcita). El tipo
de declaraciones simblicas:

mover objeto 1, caracterstica 1 contra objeto 2, caracterstica 2.

Y P0

P1 P3

C
2
P4
P2 O1 O2

C X
1

Programacin explcita. Programacin implcita.


(nivel de manipulador) (nivel tarea)

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

Figura 4.2. Adaptada de [Koutsou 81]. Alternativas en la programacin de una tarea


simple de "coge y deja". En la parte izquierda se observan las instrucciones
necesarias para ejecutar la tarea a nivel de manipulador, orientada a las
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-71
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

acciones. En la parte derecha, su equivalente en versin de nivel tarea,


orientada al objeto (modelo del mundo).

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

Donde existen a su vez dos lneas bsicas de ataque del problema:

Especificacin por Secuencia de Estados


Especificacin por Secuencia de Operaciones

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:

DRIVE IN tornillo AT cabeza_tornillo SUCH THAT TORQUE IS EQ 12,0 IN-


LBS USING destornillador

Que se emplearan para describir la operacin de apretar un tornillo, con un determinado


"torque" par, para el caso del ejemplo planteado anteriormente.
Tanto en RAPT como en AUTOPASS se hace uso de las llamadas Relaciones Espaciales
Simblicas, pero es en el primer lenguaje en el que se lleva su filosofa hasta sus ltimas
consecuencias. La cual consiste bsicamente en:

1) Definir un sistema de coordenadas para los objetos y sus caractersticas.


2) Definir las ecuaciones de los parmetros de configuracin del objeto para
cada una de las relaciones espaciales entre caractersticas.
3) Combinar las ecuaciones para cada objeto.
4) Resolver las ecuaciones para la configuracin de parmetros de cada
objeto.

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-72
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

La filosofa subyacente en lenguajes dirigidos a objetos, como RAPT, es conseguir que la


persona que programa el robot sea capaz de describir lo que quiere realizar, en trminos que
sean naturales para l, en lugar de los naturales al robot. Por tanto, en este tipo de lenguajes, l
describir como los diferentes objetos se relacionan unos con otros, en varias situaciones y no
necesitar describir explcitamente el camino que el manipulador habr de seguir.
Los objetos son modelados en trminos de las caractersticas de su superficie (planos,
cilindros, agujeros, esferas, aristas, esquinas y puntos) y de aqu los distintos pasos en un
proceso de ensamblado son programados como Relaciones Espaciales , que son creadas para
ser sostenidas entre caractersticas de los objetos, y como movimientos de objetos relativos a
caractersticas. Las relaciones espaciales son conceptos como "against", "coplanar", "aligned",
"fits", "parallel". Los movimientos pueden ser cualificados como movimiento
perpendicular a cierta superficie, o giro alrededor de un eje. Ya que la programacin se
realiza simblicamente con referencia a caractersticas de cuerpos, y no explcitamente
usando la geometra real de los cuerpos, es posible escribir programas generales que podrn
ser usados en gran variedad de formas y tamaos de los objetos. Por ejemplo, uno puede
describir un programa general que permita a un manipulador coger un objeto de cualquier
sitio y ponerlo donde sea, en una relacin particular con otro objeto. Esta accin de "coge" y
"deja", puede generalizarse a una macro generalizada. Esto quiere decir, que un programador
puede describir una librera de macros, que pueden ser reutilizadas en una gran variedad de
contextos. Una vez que el trabajo duro de describir los objetos, el espacio de trabajo y el
manipulador son dados, y una vez que la librera de macros de manejo y ensamblado han sido
escritas, la descripcin real de una tarea, puede ser muy simple. Ya que las manipulaciones
han sido descritas simblicamente, correcciones, extensiones y revisiones son tarea fcil para
el programador.
El esfuerzo investigador realizado en el campo de la robtica para crear modelos
computacionales que permitan simular los conceptos geomtricos relativos a la planificacin
del ensamblado, derivan en dos grandes grupos: aquellos que tienen una representacin
interna del modelo del mundo en el que existen, y los que no la tienen. Actualmente la
mayora de los lenguajes utilizados en la prctica, corresponden a la segunda categora ("nivel
del manipulador"). Por otra parte, se estn desarrollando en la actualidad varios sistemas que
admiten representacin interna, como los ya mencionados RAPT y AUTOPASS.
Una cierta ventaja de RAPT sobre AUTOPASS, es que el primero solo necesita modelos
parciales de los cuerpos, de forma que en las descripciones de los objetos solo se describen
aquellas caractersticas que son relevantes para el manejo y posicionamiento de los objetos.
Esto es una ventaja obvia para aquellos cuerpos que poseen una geometra compleja. Por
contra, la descripcin completa de los objetos puede ser una parte tediosa en la descripcin
del ensamblado (e.g. descripcin de partes en AUTOPASS). Sin embargo tiene la desventaja
de que al ser descripciones parciales de los objetos, no permiten la incorporacin de aspectos
referidos a la planificacin de trayectorias libres de colisiones, y comprobacin de errores en
los planes de ensamblado.
Resumiendo, quedan por resolver muchos problemas, entre los ms importantes: la
planificacin del agarre, la del movimiento y adems, la planificacin en la recuperacin de
errores, debidos a imprecisiones en los modelos cinemticos, etc. que conllevan incertidumbre
en el posicionamiento, etc. En la actualidad no existe ningn lenguaje a nivel de tarea que no
est todava en fase de investigacin. Por ejemplo, se est trabajando en la creacin de una
interfaz entre RAPT y un sistema de modelado slido. Esto significa que la descripcin inicial
de los cuerpos ser mucho ms fcil y que RAPT podr integrarse en sistemas de fabricacin
que usen el modelador para descripcin de partes y fabricacin. As mismo, se est
__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-73
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
_______________________________________________________________________________________________________________

4.4 INTERFACES AVANZADAS

El cerebro del robot sabemos que es un ordenador, y por tanto la problemtica de la


interfaz con el robot est muy ligada a la de aqul.
Durante los aos setenta surgi el concepto de "interfaz de usuario", tambin denominado
"interfaz hombre-mquina". Dicho trmino considera los aspectos cruciales del sistema
(ordenador), para el contacto requerido con el usuario, lo cual supone: un lenguaje de entrada
para el usuario, un lenguaje de salida para la mquina, y un protocolo para la interaccin. Ms
recientemente, a mediados de los ochenta, aparece el concepto de "interaccin hombre
ordenador" (IHO), el cual va ms all de la sola consideracin del diseo del interfaz,
teniendo en cuenta todos aquellos aspectos que intervienen, directa o indirectamente, en la
interaccin entre usuarios y ordenadores. La complejidad asociada al concepto IHO puede
seguirse en la figura 4.3.

Psicologa Psicologa
Cognitiva Social
Ciencias de la
Factores
Computacin Humanos y
Ergonoma
Inteligencia
IHO
Artificial Ingeniera

Linguistica Diseo

Filosofa Sociologa Antropologa

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
_______________________________________________________________________________________________________________

obstante, una primera aproximacin al problema lo constituyen sistemas de reconocimiento


del habla, restringidos a una serie determinada de palabras y, normalmente, con entrenamiento
previo de cada sujeto que las emite. De hecho, estn apareciendo ya algunos paquetes de
software comercial que incorporan estas posibilidades.
Otra gran lnea de actuacin se abre a travs de un nuevo concepto denominado "realidad
virtual", vase la figura 4.4. Digamos para simplificar que la diferencia crucial entre realidad
virtual y sntesis de imagen sin ms, radica en la posibilidad de "inmersin" que brinda una
interfaz generada con esta nueva tecnologa. Lo cul, obviamente, requiere dispositivos
especiales, ms o menos sofisticados (cascos, guantes, etc.).

Realidad Virtual

Recrear la realidad Recrear modelos Interaccin con


simblicos el mundo real

Figura 4.4. Posibles dimensiones o ejes de la Realidad Virtual.

El control de robots a distancia constituye el medio privilegiado de intervencin en los


medios llamados hostiles (interior de una central nuclear, fondos marinos, etc.): es lo que
habitualmente se denomina "telecomando". En la actualidad, las tcnicas de realidad virtual
vienen a completar el arsenal de las que se utilizan en telecomando.
Con las tcnicas de telecomando un operador humano situado en una sala de control dirige
un robot esclavo, ms o menos alejado, segn las informaciones tomadas por distintos
sensores (cmara, telmetros, sensores de esfuerzo, etc.). Mediante la manipulacin de un
rgano de generacin y de realimentacin cinestsica, llamado brazo de control. Las tcnicas
de realidad virtual permiten, entre otras cosas, preparar por simulacin un encadenamiento de
las tareas que hay que efectuar antes de realizarlas efectivamente. Puesto que al poner en
marcha procesos complejos, las acciones del robot ya estn en gran parte preprogramadas, se
integran fases automticas durante las cuales el operador supervisa la accin del robot, y otras
en las que el control est compartido. Se habla entonces de "teleasistencia". Este concepto fue
introducido a principios de los 80 por los equipos de investigacin del programa nacional
francs "Automatismo y robtica avanzada" (ARA)-Telemando [Andr & Fournier, 87]. Con
l, se desmarcaban de otros conceptos: el de "telepresencia", explotado principalmente por los
japoneses (bajo el que subyace nicamente la inmersin del operador en el entorno esclavo), y
el de "telesupervisin" utilizado por los norteamericanos (slo relacionado con el
encadenamiento de acciones automticas).
Con el nuevo enfoque introducido por la teleasistencia, una misin consiste en una
sucesin rpida de secuencias cortas que se componen de tres fases:

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
_______________________________________________________________________________________________________________

De esta forma se evita que se produzcan diferencias muy grandes entre lo


que se est programando y lo que realmente se ejecuta. Incluso mediante la
inclusin de sensores de realimentacin tctil y cinestsicos, se puede permitir al
operador humano experimentar las mismas sensaciones que produce esta
realimentacin en el mundo virtual.
En concreto, en el contexto de la robtica, las tcnicas de realidad virtual son susceptibles
de cumplir dos funciones principales:

Simulacin. Mediante esta funcin se ofrece la posibilidad de desconectar el robot


distante y sustituirlo por un simulador. Lo que permite programar una tarea, ensayar
nuevas tcnicas de control, y tambin entrenar a los operadores. Un simulador de este
tipo debe incluir elementos geomtricos (forma y configuracin del robot), cinemticos
(velocidad del robot), y dinmicos (inercia del robot), con el fin de aproximar todo lo
posible el comportamiento del simulador al de un robot real. Se habla en este caso de
telecomando virtual.
Interfaz. Un entorno virtual puede servir como interfaz entre el operador y el robot
durante la ejecucin de una tarea para manipular el robot y supervisar sus acciones.

Resumiendo, en la actualidad los primeros simuladores dinmicos ya permiten simular en


tiempo real ciertos tipos de interaccin entre un robot distante y su entorno. Sin embargo,
estos instrumentos, generalmente muy simples, no pueden todava pretender simular de
manera realista fenmenos fsicos. Con el tiempo, el desarrollo de arquitecturas paralelas de
ms rendimiento y un anlisis en profundidad de las necesidades de modelos dinmicos
permitirn que en un futuro no lejano puedan realizarse verdaderos telemandos virtuales que
ofrecern al hombre la posibilidad de explorar entornos cada vez ms lejanos.

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-77
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

BIBLIOGRAFA

[Barrientos et al., 97]Barrientos A, Pein LF, Balaguer C, Aracil R. Fundamentos de


Robtica. McGraw-Hill. 1997.
[Dai et al., 92] Dai M, Baylou P, Najim M. An Efficient Algorithm for Computation of Shape
Moments from Run-Length Codes or Chain Codes. Pattern Recognition, vol. 25(10),
pp. 1119-1128. 1992.
[Davies, 90] Davies ER. Machine vision: theory, algorithms, practicalities. Academic Press Ltd.
1990.
[[Duda & Hart, 73] Duda RO, Hart PE. Pattern, clasiffication and scene analysis. John Wiley & Sons.
1973.
[Ferrat et al., 86] Ferrat G et al. Robtica Industrial. Marcombo, S.A. 1986.
[Freeman, 61] Freeman H. On the encoding of arbitrary geometric configurations. IRE Trans.
Electronic Computers, vol. EC-10(2): 260-268. 1961.
[Fu et al., 88] Fu, Gonzlez & Lee. "Robtica: Control, Deteccin, Visin e Inteligencia",
McGraw Hill Ed. 1988.
[Gini et al., 85] Gini & Gini. "ROBOTIQUE, contrle, programmation, interaction avec
l'environnement", Ed Masson, Paris. 1985.
[Gonzalez & Wintz, 87] Gonzalez RC, Wintz P. Digital Image Processing. 2 Ed., Addison-Wesley,
Reading, Massachussets. 1987.
[Groan & Verbeek, 78] Groan FCA, Verbeek PW. Freeman-code probabilities of object boundary quantized
contours. Comput. Vision, Graphics, Image Processing, vol. 7. pp. 301-402. 1978.
[Horn, 86] Horn BKP. Robot Vision. The MIT Press. 1986.
[Hu, 62] Hu MK. Visual Pattern Recognition by Moment Invariants. IRE Trans. Information
Theory, vol. IT-8: 179-87. 1962.
[Imai & Iri, 86] Imai H, Iri M. Computational Geometric Methods for Polygonal Approximations of
a Curve. Computer Vision, Graphics and Image Processing, vol. 36: 31-41. 1986.
[Jain, 89] Jain AK. Fundamentals of Digital Image Processing. Prentice Hall, Englewood
Cliff. pp. 391-394. 1989.
[Klafter et al., 89] Klafter, Chmielewski & Negin. "Robotic engineering: an integrated approach".
Prentice Hall. 1989.
[Maravall, 93] Maravall. "Reconocimiento de Formas y Visin Artificial", RA-MA. 1993.
[McKerrow, 91] McKerrow. "Introduction To Robotics", Addison_Wesley P.C. 1991.
[Pal & Pal, 93] Pal NK, Pal SK. A review on image segmentation techniques. Pattern Recognition,
vol. 26(9): 1277-1294. 1993.
[Pavlidis, 78] Pavlidis T. A review of algorithms for shape analysis. Comput. Graph. Imag.
Processing, vol. 7: 243-258. 1978.
[Pratt, 91] Pratt WK. Digital Image Processing. J. Wiley and Sons, New York. 1991.
[Preece et al., 94] Preece J. et al. Human-Computer Interaction. Addisson-Wesley, Reading (GB),
1994.
[Proffit & Rosen, 79] Proffit D, Rosen D. Metrication errors and coding efficiency of chain-encoding
schemes for the representation of lines and edges. Comp. Graph. Image Processing,
10: 318-32. 1979.
[Saghri & Freeman, 81] Saghri JA, Freeman H. Analysis of the Precision of Generalized Chain Codes for the
Representation of Planar Curves. IEEE Trans. Pattern Anal. Mach. Intell. vol.
PAMI-3(5), pp. 533-539. 1981.
[Sanz et al., 94] Sanz PJ, Iesta JM, Buendia M, Sarti MA. A Fast and Precise Way for Computation
of Moments for Morphometry in Medical Images. Proceedings of the V Int.
Symposium on Biomedical Engineering, pp. 99-100. Santiago de Compostela,
Spain, Sept. 1994.
[UPV, 91] "Apuntes MASTER CAD/CAM", ETSII, U.Politcnica de Valencia. 1991.
[Zakaria et al., 87] Zakaria MF, Vroomen LI, Zsombor-Murray PJA, van Kessel JMHM. Fast
Algorithm for the Computation of Moment Invariants. Pattern Recog., 20(6): 639-
643. 1987.

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-78
PJSV ROBTICA INTELIGENTE
_______________________________________________________________________________________________________________

APNDICE 1. La Robtica en el Ciberespacio

En este anexo se le ofrecen al lector algunas direcciones de Web en


relacin con el proyecto aqu presentado, las cuales llevan incorporadas
adems, links que le permitirn ir a otras pginas dedicadas a la robtica.

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
_______________________________________________________________________________________________________________

APNDICE 2. La funcin atan2


La funcin atan2 fue introducida por primera vez en el contexto de la robtica por Paul [Paul, 81]
en relacin con el problema del modelado cinemtico de los manipuladores. Dichos modelos
cinemticos, en especial el inverso, requieren la evaluacin de funciones trascendentes (senos,
cosenos, etc.) en sus ecuaciones correspondientes, las cuales pueden dar lugar a imprecisiones e
indeterminaciones. La causa principal, tratada en detalle por algunos autores [Mckerrow, 91], reside
en el hecho de que al evaluar una determinada orientacin, , en el espacio, se utiliza una funcin con
un nico argumento (e.g. cos() = cos()). Sin embargo, considerando la regin: < , a partir
del conocimiento de sen() y cos(), es obvio que existe una solucin nica para el valor del ngulo
asociado. Precisamente la funcin atan2 provee un medio de expresar dicha solucin extendiendo la
funcin atan() a dos argumentos de entrada. En consecuencia, la funcin atan2 es una funcin escalar
de dos argumentos escalares tal que [Yoshikawa, 90],
atan2(a, b) = arg (b + j a)
donde a y b son dos nmeros reales, j es la unidad imaginaria, y arg representa el argumento de un
nmero complejo.

Figura 2.3. Valores posibles del argumento para atan2(y,x).

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:

Funcin atan2(y,x: Real): Real;


Variables
aux : Real;
Inicio
Si (x = 0) (y = 0) Entonces atan2 0
Sino
Si (abs(x) < epsilon) Entonces
Si (y 0.0) Entonces atan2 / 2.0
Sino atan2 / 2.0
Sino
aux arctan(y/x);
Si x < 0.0 Entonces
Si y 0.0 Entonces aux aux +
Sino aux aux ;
FinSi;
atan2 aux
FinSino;
Fin;

__________________________________________________________________________________________
Dep. legal: CS-369-2006
Pg-80