Sie sind auf Seite 1von 241

RO BOTICA:

Control, detección, visión e inteligencia


~' o r: ./
.) '

() 11 ¡
/
I
K. S. FU
R. C. GONZALEZ
C. S. G. LEE

Traducción
SEBASTIAN DORMIDO BENCOMO
Catedrático lnfonnática y Automática
Facultad de Ciencias Físicas
UNED (Madrid)

Re,isión técnica
ANTONIO VAQUERO SANCHEZ
Catedrático Informática y Automática
Facultad de Ciencias Físicas
Universidad Complutense de Madrid

.. RO DE CORTESlJ.

McGraw-Hill
11
MADRID • BOGOTA • BUENOS AIRES • GUATEMALA• LISBOA • MEXICO
NUEVA YORK • PANAMA • SAN JUAN • SANTIAGO • SAO PAULO
AUCKLAND • HAMBURGO • LONDRES • MONTREAL
NUEVA DELHI • PARIS • SAN FRANCISCO • SINGAPUR
ST. LOUIS • SIDNEY • TOKIO • TORONTO
CONTENIDO

Prólogo xi

l. Introducción
Antecedentes 1
l.l.
Desarrollo histórico 4
1.2.
Cinemática y dinámica del brazo del robot 6
1.3. Planificación de la trayectoria y control del movimiento del manipulador 7
1.4.
Sensores del robot 9
1.5.
Lenguajes de programación de robots 10
1.6.
Inteligencia del robot 11
1.7. 11
Referencias
1.8.

2. Cinemática del brazo del robot 13

2.1. Introducción 13
2.2. El problema cinemático directo 15
2.3. El problema cinemático inverso 54
2.4. Observaciones finales 78
Referencias 79
Problemas 79

3. Dinámica del brazo del robot


3.1. Introducción
3.2. Formulación de Lagrange-Euler
3.3. Formulación de Newton-Euler
3.4. Ecuaciones de movimiento generalizadas de d'Alernbert
3.5. Observaciones finales
Referencias
Problemas
85 128
146
85 146
87 147
106
viii CONTENIDO

4. Planificación de trayectorias de un manipulador 152


4.1. Introducción 152
4.2. Consideraciones generales sobre la planificación de trayectoria 155
4.3. Trayectorias de articulación interpoladas 157
4.4. Planificación de trayectorias de caminos
cartesianos del manipulador 178
4.5. Observaciones finales 201
Referencias 201
Problemas 203

5. Control de manipuladores de robot 206


5.1. Introducción
206

5.2. Control del brazo del robot PUMA


208

5.3. Técnica del par calculado


210

5.4. Control subóptimo de tiempo mínimo


228

5.5. Control de estructura variable


232

5.6. Control por realimentación desacoplado no lineal


234

5.7. Control de movimiento resuelto


239

5.8. Control adaptativo


251

5.9. Observaciones finales


272

Referencias
273

Problemas
274
6.
Detección
275

6.1. Introducción
275
CONTENIDO ÍX

8.4. Segmentación y descripción de estructuras tridimensionales 431


8.5. Reconocimiento 440
8.6. Interpretación 456
8.7. Observaciones finales 460
Referencias 460
Problemas 462

9. Lenguajes de programación del robot 465


9.1. Introducción 465
9.2. Características de los lenguajes de nivel de robots 467
9.3. Características de los lenguajes a nivel de tarea 478
9.4. Observaciones finales 487
Referencias 489
Problemas 489

10. Inteligencia de robot y planificación de tareas 491

!O. l. Introducción 491


10.2. Búsqueda del espacio de estados 492
!0.3. Reducción del problema 502
10.4. Uso de la lógica de predicados 507
!0.5. Análisis «rneans-ends» 512
!0.6. Resolución del problema 515
!0.7. Aprendizaje del robot 523
10.8. Planificación de tareas de robot 525
10.9. Problemas básicos en la planificación de tareas 528
!0.10. Sistemas expertos e ingeniería del conocimiento 536
!O.! l. Observaciones finales 539
Referencias 540
Problemas 540

Apéndices 542
A Vectores y matrices 542
B Jacobiano del manipulador 564

Bibliografia 576
Indice 591
CAPITULO

UNO
INTRODUCCION

Una máquina puede hacer el trabajo


de cien hombres normales, pero ninguna
máquina puede hacer el trabajo
de un hombre extraordinario.
Elbert Hubbard

1.1 ANTECEDENTES.
1 ,
_ - La necesidad cada vez más resionante de aumentar la productividad y conseguir
' '... productos acabados de una calida um orrne, está hacÍendo que la industria gire
cada vez más hacia una automatización basada en computador. En el momento
actual, la mayoría de las tareas de fabricación automatizadas se realizan median-
te máquinas de uso especial diseñadas para realizar funciones predeterminadas en
un proceso de manufacturación. La inflexibilidad y generalmente el alto coste de
estas máquinas, a menudo llamadas sistemas de automatización duros, han lleva-
do a un interés creciente en el uso de robots capaces de efectuar una variedad de
funciones de fabricación en un entorno de trabajo más flexible y a un menor coste
de producción.
La palabra robot proviene de la palabra checa r_obota, que significa trabajo. El \
diccionario Webster define a un robot como «un disQositivo automático que," /
efectúa funciones ordinariamente
-
asignadas
~ a~~los seres humanos». Con esta ,. f
definición, se pueden considerar que las lavadoras son robots. Una definición
utilizada por el Robot Institute of America da una descripción más precisa de los
robots industriales: «un robot es un maní ulador reprogramable multifuncional - • ~
,
,,-
diseñado para mover materiales, piezas o dis ositivos es cializados, a través de 'I '
movimientos programados variables para la realización de una diversidad de
tareas». Ensuma, un robot es un mañipu a or reprogramable de uso general con
sensores externos que pueden efectuar diferentes tareas de montaje. Con esta
definición, un robot debe poseer inteligencia que se debe normalmente a los
algoritmos de computador asociados con su sistema de control y sensorial.
Un robot industrial es un manipulador de uso general controlado por compu-
tador que consiste en algunos elementos rígidos conectados en serie mediante
articulaciones prismáticas o de revolución. El final de la cadena está fijo a una
base soporte, mientras el otro extremo está libre y equipado con una herramienta
para manipular objetos o realizar tareas de montaje. El movimiento de las
articulaciones resulta en, o produce, un movimiento relativo de los distintos
elementos. Mecánicamente, un robot se compone de un brazo y una muñeca más
2 ROBOTICA: COSTROL, DETECCION, VISION E INTELIGENCIA

una herramienta. Se diseña para alcanzar una pieza de trabajo localizada dentro
de su volumen de trabajo. El volumen de trabajo es la esfera de influencia de un
robot cuyo brazo puede colocar el submontaje de la muñeca en cualquier punto
dentro de la esfera. El brazo generalmente se puede mover con tres grados de
libertad. La combinación de los movimientos posiciona a la muñeca sobre la
pieza de trabajo. La muñeca normalmente consta. de tres movimientos giratorios.
La combinación de estos movimientos orienta a la pieza de acuerdo a la configu-
ración del objeto para facilitar su recogida. Estos tres últimos movimientos se
denominan a menudo elevación (pitch), desviación (yaw) y giro (roll). Por tanto,
para un robot con seis articulaciones, el brazo es el mecanismo de posicionamien-
to, mientras que la muñeca es el mecanismo de orientación. Estos conceptos se
ilustran para el robot Cincinnati Milacron T3 y el robot PUMA de Unimation
que se muestran en la figura 1.1.


Barrido
del brazo

G iro

a)

Rotación de cintura 320c


J
Rotación del hombro C(r

'
Rotación del codo 270
, -
17 0i~

\ / 200'
Doblado de muñeca

Montaje de la pinza

b)

Figura 1.1 a) Robot Cincinnati Milacron T3. b) Robot de la serie PUMA 560
INTRODUCCION 3

Muchos robots industriales, que están disponibles comercialmente, se utilizan


ampliamente en tareas de fabricación y de ensamblaje, tales como manejo de
malerial, soldaduras por arco y de punto, montajes de piezas, pintura al spray,
carga y descarga de máquinas controladas numéricamente, exploraciones espa-
ciales y submarinas, investigación de brazos protésicos y en el manejo de materia- \
)es peligrosos. Estos robots caen en una de las cuatro categorías ue definen-,.
movimientos básicos (Fig. 1.2): 1

Coordenadas cartesianas ~jes lineales) (eje lo: robot RS-1 de IBM y


el robot Sigma de Olive"tti).
Coordenadas cilíndricas (dos ejes lineales y un eje rotacional) (ejemplo: robot
Versatran 600 de Prab).
Coordenadas esfé ·cas un e·e lineal y dos ejes rotacionales) (ejemplo: Unimate
2000B de Unimation Inc.).
Coordenadas de revolución articuladas (tres ejes rotacionales) (ejemplo: robot
·-· T de Cincinnati Mílacron y el PUMA de Unimation lnc.).
La mayoría de los robots industriales de hoy día, aunque están controlados
por mini y microcomputadores, son básicamente simples máquinas posicionales.

Cilíndrico

De revolución

Cartesiano o xy:

Esférico

Figura 1.2 Diversas categorías de robots.


4 ROIJOTICA: CO~TROL, DETECCIO~. VIS!O~ E l~TELIGENCIA

Ejecutan una tarea dada mediante la grabación de secuencias prerregistradas o


preprogramadas de movimientos que han sido previamente guiadas o enseñadas
por el usuario con un control de mando portátil. Más aún, estos robots están
equipados con pocos o ningún sensor externo para obtener la información vital
en su entorno de trabajo. Como resultado de esto, los robots se utilizan principal-
mente en tareas repetitivas relativamente simples. Se está dedicando un gran
esfuerzo de investigación para mejorar el rendimiento global de los sistemas
manipuladores, y un camino es a través del estudio de las diversas áreas impor-

tantes tratadas en este libro. 6 -·


1.2 DESARROLLO HISTORICO

La palabra robot se introdujo en la lengua inglesa en 1921 con el drama satírico


R.U.R. de Karel Capek (Rossum Universal Robots). En este trabajo, los robots
son máquinas que se asemejan a los seres humanos, pero que trabajan sin
descanso. Inicialmente, los robots se fabricaron como ayudas para sustituir a los
operarios humanos, pero posteriormente los robots se vuelven contra sus creado-
res, aniquilando a toda la raza humana. La obra de Capek es en gran medida
responsable de algunas de las creencias mantenidas popularmente acerca de los
mismos en nuestro tiempo, incluyendo la perfección de los robots como máqui-
nas humanoides dotadas con inteligencia y personalidades individuales. Esta
imagen se reforzó en la película alemana de robots Metropolis, de 1926, con el
robot andador eléctrico y su perro «Sparko», representada en 1939 en la Feria
Mundial de Nueva York, y más recientemente por el robot C3PO, protagonista
en la película de 1977, La Guerra de las Galaxias. Ciertamente los robots indus-
triales modernos parecen primitivos cuando se comparan con las expectativas
creadas por los medios de comunicación durante las pasadas décadas.
Los primeros trabajos que condujeron a los robots industriales de hoy día se
remontan al período que siguió inmediatamente a la Segunda Guerra Mundial.
Durante los años finales de la década de los cuarenta, comenzaron programas de
investigación en Oak Ridge y Argonne National Laboratories para desarrollar
manipuladores mecánicos controlados de forma remota para manejar materiales
radiactivos. Estos sistemas eran del tipo «maestro-esclavo», diseñados para re-
producir fielmente los movimientos de mano y brazos realizados por un operario
humano. El manipulador maestro era guiado por el usuario a través de una
secuencia de movimientos, mientras que el manipulador esclavo duplicaba a la
unidad maestra tan fidedignamente tal como le era posible. Posteriormente se
añadió la realimentación de la fuerza acoplando mecánicamente el movimiento
de las unidades maestro y esclavo de forma que el operador podía sentir las
fuerzas que se desarrollaban entre el manipulador esclavo y su entorno. A
mediados de los años cincuenta, el acoplo mecánico se sustituyó por sistemas
eléctricos e hidráulicos en manipuladores tales como el Handyman de General
Electric y el Minotaur I construido por General Milis.
El trabajo sobre manipuladores maestro-esclavo fue seguido rápidamente por
sistemas más sofisticados capaces de operaciones repetitivas autónomas. A me-
INTRODUCCION 5

diados de los años cincuenta, George C. Dcvol desarrolló un dispositivo que él


llamó «dispositivo de transferencia programada articulada», un manipulador
cuya operación podía ser programada (y, por tanto, cambiada) y que podía seguir
una secuencia de pasos de movimientos determinados por las instrucciones en el
programa. Posteriores desarrollos de este concepto por Devol y Joseph F. Engel-
berger condujo al primer robot industrial, introducido por Unimation Inc. en
1959.La clave de este dispositivo era el uso de una computadora en conjunción
con
un manipulador para producir una máquina que podía ser «enseñada» para
realizar una variedad de tareas de forma automática. Al contrario que las máqui-
nas de automatización de uso dedicado, estos robots se podían reprogramar y
cambiar de herramienta a un coste relativamente bajo para efectuar otros traba-
jos cuando cambiaban los requisitos de fabricación.
Aunque los robots programados ofrecían una herramienta de fabricación
nueva y potente, se hizo patente en los años sesenta que la flexibilidad de estas
máquinas se podían mejorar significativamente mediante el uso de una realimen-
tación sensorial. Al comienzo de esa década, H. A. Ernst [1962] publicó el
desarrollo de una mano mecánica controlada por computador con sensores
táctiles. Este dispositivo, llamado el MH-1, podía «sentir» bloques y usar esta
información para controlar la mano de manera que apilaba los bloques sin la
ayuda de un operario. Este trabajo es uno de los primeros ejemplos de un robot
capaz de conducta adaptativa en un entorno razonablemente no estructurado. El
sistema manipulativo consistía en un manipulador ANL, modelo 8, con 6 grados
de libertad, controlado por una computadora TX-0 mediante un dispositivo de
interfase. Este programa de investigación posteriormente evolucionó como parte
1
del proyecto MAC, y se le añadió una cámara de televisión para comenzar la
investigación sobre la percepción en la máquina. Durante el mismo período,
Tomovic y Boni [ 1962] desarrollaron una mano prototipo provista con un
sensor de presión que detectaba el objeto y proporcionaba una señal de realimen-
tación de entrada a un motor para iniciar uno de dos modelos de aprehensión.
Una vez que la mano estaba en contacto con el objeto, se enviaba a una computa-
dora información proporcional a su tamaño y peso mediante estos elementos
sensibles a la presión. En 1963, la American Machine y Foundry Company
(AMF) introdujo el robot comercial VERSATRAN. Comenzando en este mismo
año, se desarrollaron diversos diseños de brazos para manipuladores, tales como
el brazo Roehampton y el Edinburgh.
A finales de los años sesenta, McCarthy [1968] y sus colegas en el Stanford
Artificial Intelligence Laboratory publicaron el desarrollo de una computadora con
manos, ojos y oídos (es decir, manipuladores, cámaras de TV y micrófonos).
Demostraron un sistema que reconocía mensajes hablados, «veía» bloques distri-
buidos sobre una mesa, y los manipulaba de acuerdo con instrucciones. Durante
este período, Pieper [1968] estudió el problema cinemático de un manipulador
controlado por computadora, mientras que Kahn y Roth [1971] analizaban la
dinámica y el control de un brazo restringido utilizando control bang-bang (casi
de tiempo mínimo).
Mientras tanto, otros países (en particular Japón) comenzaron a ver el poten-
cial de los robots industriales. Ya en 1968, la compañía japonesa Kawasaki
6 RODOTICA: CONTROL, DETECCION, VISJO:-,. E INTELIGENCIA

Heavy Industries negoció una licencia con Unimation para sus robots. Uno de
los desarrollos más poco usuales en robots sucedió en 1969, cuando se desarrolló
un camión experimental por la General Electric para la Armada Americana. En
el mismo año se desarrolló el brazo Boston y al año siguiente el brazo Stanford,
que estaba equipado con una cámara y controlado por computadora. Algunos de
los trabajos más serios en robótica comenzaron cuando estos brazos se utilizaron
como robots manipuladores. Un experimento en el brazo Stanford consistía en
apilar automáticamente bloques de acuerdo con diversas estrategias. Esto era un
trabajo muy sofisticado para un robot automatizado de esa época. En 1974,
Cincinnati Milacron introdujo su primer robot industrial controlado por compu-
tadora. Lo llamó «The Tomorrow Tool» (la herramienta del mañana) o T3, que
podía levantar más de 100 libras así como seguir a objetos móviles en una linea
de montaje.
Durante los años setenta se centró un gran esfuerzo de investigación sobre el
uso de sensores externos para facilitar las operaciones manipulativas. En Stan-
ford, Bolles y Paul [ 1973], utilizando realimentación tanto visual como de fuerza,
demostraron que un brazo Stanford controlado por computadora, conectado a
una PDP-10, efectuaba el montaje de bombas de agua de automóvil. Hacia la
misma época, Will y Grossman [1975] en IBM desarrollaron un manipulador
controlado por computadora con sensores de contacto y fuerza para realizar
montajes mecánicos en una máquina de escribir de veinte piezas. Inoue [1974],
en el Artificial Intelligence Laboratory del MIT, trabajó sobre los aspectos de
inteligencia artificial de la realimentación de fuerzas. Se utilizó una técnica de
búsqueda de aterrizajes. propia ~ la navegación aérea, para realizar el posiciona-
do inicial de una tarea de montaje precisa. En el Draper Laboratory, Nevins y
colaboradores [1974] investigaron técnicas sensoriales basadas en el control
coordinado de fuerza y posición. Este trabajo desarrolló la instrumentación de un
dispositivo remote center compliance (RCC) (centro remoto de control coordina-
do de fuerza y posición) que se unió a la placa de montaje de la última articula-
ción del manipulador para cerrar el conjunto de coincidencias de piezas. Bejczy
[ 1974], en el Jet Propulsion Laboratory, desarrolló una técnica de control de par
basada en computadora sobre su brazo Stanford ampliado para proyectos de
exploración espacial. Desde entonces han sido propuestos diversos métodos para
manipuladores mecánicos.
Hoy día vemos la robótica como un campo de trabajo mucho más amplio
que el que teníamos simplemente hace unos pocos años, tratando con investiga-
ción y desarrollo en una serie de áreas interdisciplinarias, que incluyen cinemáti-
ca, dinámica, planificación de sistemas, control, sensores, lenguajes de programa-
ción e inteligencia de máquina. Estos tópicos, introducidos brevemente en las
secciones que siguen, constituyen el núcleo del material de este libro.

(i 1.3 CINEMATICA Y DIN AMICA DEL BRAZO DEL ROBOT


) ,/

"'. • ,- La cinemática del brazo del robot trata con el estudio analítico de la geometría
' 1 ~ovimiento de un brazo de robot con respecto a un sistema de coor enaaas
lNTRODuCCIOS 7

de referencia fijo sin C.Q!!_siderar las fuerzas. o momentos que originan el movi-
miento. A.fil, la ~nemática se interesa por la descripción analítica del desplaza-
miento espacial del robot comouña función del tiempo, en particular de las
relaciones en re la posición aelasvariables de articulación y la posicióny
oñentac1óñaeJ-efecror ma -del razo ael rooor.-
. -Hay dos pro6 emas fundamentales en la cinemática del robot. El primer.
problema se suele conocer c~mo el problema cinemático directo, mientras que el
seg_uílao es e --rob!eiñacinemático inverso. Como las variables indepenciien es en
ti"n robot son las variables"' e articulación, y una tarea se suele dar en términos
del sistema de coordenadas de referencia, se utiliza de manera más frecuente el
problema cinemático inverso. Denavit y Hartenberg [1955] propusieron un enfo-
que sistemático y generalizado de utilizar álgebra matricial para describir y
representar la geometría espacial de los elementos del brazo del robot con
respecto a un sistema de referencia fijo. Este método utiliza una matriz de
transformación homogénea 4 x 4 para describir la relación espacial entre dos
elementos mecánicos rígidos adyacentes y reduce el problema cinemático directo
a encontrar una matriz de transformación homogénea 4 x 4 que relaciona el
desplazamiento espacial del sistema de coordenadas de la mano al sistema de
coordenadas de referencia. Estas matrices de transformación homogéneas son
también útiles en derivar las ecuaciones dinámicas de movimiento del brazo del
robot. En general, el problema cinemático inverso se puede resolver mediante
algunas técnicas. Los métodos utilizados más comúnmente son el algebraico
matricial, iterativo, o geométrico. En el capítulo 2 se da un tratamiento detallado
{ de los problemas cinemáticos directo e inverso. '
- La dinámica del robot, por otra 2arte, trata con la formulación matemática
I
l de las ecuaciones del movirmento del brazo. Las ecuaciones c!inámicas de movI='
miento de un manipula or son un conjunto de ecuaciones matemáticas que
descrÍben la conducta dinámica del manipulador. Tales ecuaciones de movimien-
to son ut1les para simulación en computadora ae'J movimiento del brazo, el diseño
de ecuaciones de control apropiadas para el robot y la evaluación del diseño y
estructura cinemática del robot. El modelo dinámico real de un brazo se puede
obtener de leyes fisicas conocidas tales como las leyes de Newton y la mecánica
Iagrangiana. Esto conduce al desarrollo de las ecuaciones dinámicas de movi-
miento para las distintas articulaciones del manipulador en términos de los
parámetros geométricos e inerciales especificados para los distintos elementos. Se
pueden aplicar sistemáticamente enfoques convencionales como las formulacio-
nes de Lagrange-Euler y de Newton-Euler para desarrollar las ecuaciones de
movimientos del robot. En el capitulo 3 se presenta una discusión detallada de la
dinámica del brazo del robot. ~

,
1 -1.4 PLANIFICACION DE LA TRAYECTORIA (§>
Y CONTROL DEL MOVIMIENTO DEL MANIPULADOR

Con el conocimiento de la cinemática y la dinámica de un manipulador con


elementos series, sería interesante mover los actuadores de sus articulaciones para
8 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

cumplir una tarea deseada controlando al manipulador para que siga un camino
previsto. Antes de mover el brazo, es de interés saber si hay algún obstáculo
presente en la trayectoria que el robot tiene que atravesar (ligaduras de obstácu-
los) y si la mano del manipulador necesita viajar a Jo largo de una trayectoria
especificada (ligaduras de trayectoria). El problema de control de un manipulador
se puede dividir convenientemente en dos subproblemas coherentes: el subproble-
ma de planificación de movimiento (o trayectoria) y el subproblema de control
del movimiento.
La curva espacial que la mano del manipulador sigue desde una localización
inicial (posición y orientación) hasta una final se llama la trayectoria o camino. La
planificación de la trayectoria (o planificador de trayectoria) interpola y/o aproxi-
ma la trayectoria deseada por una clase de funciones polinomiales y genera una
secuencia de puntos de «consignas de control» en función del tiempo para el
control del manipulador desde la posición inicial hasta el destino. El capítulo 4
discute los distintos sistemas de planificación de trayectoria para movimientos
libres de obstáculo, así como el formalismo para describir el movimiento deseado
del manipulador en términos de la secuencia de puntos en el espacio a través de
los cuales debe pasar y la curva espacial que recorre.
CCN~L En general, el problema de control de movimientos consiste en: 1) obtener los
modelos dinámicos del manipulador, 2) utilizar estos modelos para determinar
leyes o estrategias de control para conseguir la respuesta y el funcionamiento del
sistema deseado. Como la primera parte del problema de control se discute
extensivamente en el capítulo 3, el capítulo 5 se concentra sobre la segunda parte
del problema de control. Desde el punto de vista de análisis de control, el
movimiento del brazo de un robot se suele realizar en dos fases de control
distintas. La primera es el control de movimiento de aproximación en el cual el
brazo se mueve desde una posición/orientación inicial hasta la vecindad de la
posición/orientación del destino deseado a lo largo de una trayectoria planifica-
da. El segundo es el control del movimiento fino en el cual el efector final del
brazo interacciona dinámicamente con el objeto utilizando información obtenida
a través de la realimentación sensorial para completar la tarea.
Los enfoques industriales actuales para controlar el brazo del robot tratan
cada articulación del brazo como un servomecanismo de articulación simple.
Este planteamiento modela la dinámica de un manipulador de forma inadecuada
porque desprecia el movimiento y la configuración del mecanismo del brazo de
forma global. Estos cambios en los parámetros del sistema controlado algunas
veces son bastante significativos para hacer ineficaces las estrategias de control
por realimentación convencionales. El resultado de ello es una velocidad de
respuesta y un amortiguamiento del servo reducido, limitando así la precisión y
velocidad del efector final y haciéndolo apropiado solamente para limitadas
tareas de precisión. Los manipuladores controlados de esta forma se mueven a
velocidades lentas con vibraciones innecesarias. Cualquier ganancia significativa
en el rendimiento en esta y otras áreas del control del brazo del robot requieren
la consideración de modelos dinámicos más eficientes, enfoques de control
sofisticados y el uso de arquitecturas de computadoras dedicadas y técnicas
de procesamiento en paralelo. El capítulo 5 está enfocado a deducir las leyes
INTRODUCCION 9

de control del movimiento de aproximación y las estrategias que utilizan los


modelos dinámicos analizados en el capítulo 3 para controlar eficazmente un
manipulador. @

i.s SENSORES DEL ROBOT


La utilización de mecanismos sensores externos permite a un robot interaccionar
con su entorno de una manera flexible, esto está en contraste con operaciones
preprogramadas en las cuales a un robot se le «enseña» para efectuar tareas
repetitivas mediante un conjunto de funciones programadas. Aunque esto último
es con mucho la forma más predominante de operación de los robots industriales
actuales, la utilización de tecnología sensorial para dotar a las máquinas con un
mayor grado de inteligencia al tratar con su entorno es realmente un tema de
investigación y desarrollo activo en el campo de la robótica.
La función de los sensores del robot se pueden dividir en dos categorías
principales: estado interno y estado externo. Los sensores del estado interno
tratan con la detección de variables tales como la posición de la articulación del
brazo, que se utiliza para controlar el robot. Por otra parte, los sensores de
estado externo tratan con la detección de variables tales como alcance, proximi-
dad y contacto. Los sensores externos, que se estudian en los capítulos 6 al 8, se
utilizan para guiado de robots, así como para la identificación y manejo de
objetos. El enfoque del capítulo 6 es sobre sensores de alcance, proximidad,
contacto y de fuerza-par. En los capítulos 7 y 8 se a'nalizan en detalle los sensores
y técnicas de visión. Aunque los sensores de proxirriidad, contacto y fuerza juegan
un papel significativo en la mejora del funcionamiento del robot, se reconoce que
la visión es la capacidad sensorial más potente del robot. La visión del robot se
puede definir como el proceso de extraer, caracterizar e interpretar información
de imágenes de un mundo tridimensional. Este proceso, también comúnmente
conocido como visión de máquina o de computadora, se puede subdividir en seis
áreas principales: 1) sensor, 2) preprocesamiento, 3) segmentación, 4) descripción,
5) reconocimiento, 6) interpretación.
Es conveniente agrupar estas diversas áreas de visión de acuerdo con la
sofisticación que lleva su desarrollo. Consideramos tres niveles de procesamiento:
visión de bajo, medio y alto nivel. Aunque no existen fronteras nítidas entre estas
subdivisiones, proporcionan un marco útil para categorizar los distintos procesos
que son componentes inherentes de un sistema de visión por máquina. En
nuestra discusión, trataremos los sensores y el preprocesamiento como funciones
de visión de bajo nivel. Esto nos llevará desde el propio proceso de formación de
imagen hasta compensaciones tales como reducción de ruido, y finalmente a la
extracción de características primitivas de imágenes tales como discontinuidades
en la intensidad. Asociaremos con la visión de medio nivel aquellos procesos que
extraen, caracterizan y etiquetan componentes en una imagen resultante de la
visión de bajo nivel. En términos de nuestras seis subdivisiones, trataremos la
segmentación, descripción y reconocimiento de objetos individuales como funcio-
nes de visión de medio nivel. La visión de alto nivel se refiere a procesos que
10 ROllOTICA: CONTROL. DETECCION, VJSI01' E INTELIGE:,./CIA

intentan emular el conocimiento. El material del capítulo 7 trata de los sensores,


preprocesamiento y con conceptos y técnicas necesitadas para realizar funciones
de visión de bajo nivel. Los temas de visión de los niveles superiores se estudian
en el capítulo 8.

1.6 LENGUAJES DE PROGRAMACION DE ROBOTS

Un gran obstáculo en la utilización de los manipuladores como máquinas de uso


general es la falta de comunicación eficaz y apropiada entre el usuario y el
sistema robótico, de forma que éste pueda dirigir al manipulador para cumplir
una tarea dada. Hay algunas formas de comunicarse con un robot, y los tres
grandes enfoques para lograrlo son: el reconocimiento de palabra discreta, ense-
ñar y reproducir y lenguajes de programación de alto nivel.
El estado actual del reconocimiento de la voz es bastante primitivo y general-
mente depende del orador. Pueden reconocer un conjunto de palabras discretas
de un vocabulario limitado y normalmente requiere que el usuario pare entre
palabras. Aunque es posible ahora reconocer palabras en tiempo real debido a
componentes de computadora más rápidos y algoritmos de procesamientos efi-
cientes, la utilidad del reconocimiento de palabras discretas para describir una
tarea es limitada. Más aún, requiere una gran cantidad de memoria para almace-
nar el discurso, y normalmente se necesita un período de entrenamiento para
incorporar patrones de voz con fines de reconocimiento.
El método de enseñar y reproducir lleva consigo el instruir al robot al
dirigirlo a través de los movimientos que va a realizar. Esto se suele efectuar en
los pasos siguientes: 1) dirigir al robot en movimiento lento utilizando control
manual a través de la tarea de montaje completa, siendo grabados los ángulos de
las articulaciones del robot en posiciones apropiadas con el fin de reproducir el
movimiento; 2) edición y reprodución del movimiento enseñado, y 3) si el movi-
miento enseñado es correcto, entonces el robot lo ejecuta a una velocidad apro-
piada de forma repetitiva. Este método se conoce también como guiado y es el
enfoque más comúnmente utilizado en los robots industriales de hoy día.
Un planteamiento más general para resolver los problemas de comunicación
hombre-robot es la utilización de programación de alto nivel. Los robots se
utilizan comúnmente en áreas tales como soldadura por arco, soldadura de punto
y pintura al spray. Estas tareas no requieren interacción entre el robot y el
entorno y se pueden programar fácilmente mediante guiado. Sin embargo, el uso
de robots para efectuar tareas de montajes requiere generalmente técnicas de
programación de alto nivel. Se necesita este esfuerzo porque el manipulador se
controla normalmente por una computadora, y la manera más efectiva para que los
humanos se comuniquen con las computadoras es a través de un lenguaje de
programación de alto nivel. Más aún, al utilizar programas para describir tareas
de montaje, permite a un robot efectuar trabajos diferentes simplemente ejecutan-
do el programa apropiado. Esto aumenta la flexibilidad y versatibilidad del
robot. El capítulo 9 presenta el uso de técnicas de programación de alto nivel
para lograr una comunicación efectiva con un sistema robótico.
INTRODUCCION 11

t.7 INTELIGENCIA DEL ROBOT

Un problema básico en robótica es la planificación de movimiento para resolver


alguna tarea preespecificada, y luego controlar al robot cuando ejecuta las órde-
nes necesarias para conseguir esas acciones. Aquí planificación significa decidir
un curso de acción antes de actuar. Esta parte de síntesis de acción del problema
del robot se puede lograr mediante un sistema de resolución de problemas que
logrará algún objetivo marcado, dada alguna situación inicial. Un plan es así una
representacíón de un curso de acción para lograr un objetivo dado.
La investigación sobre resolución de problemas con robots ha conducido a
muchas ideas acerca de los sistemas para la resolución de problemas en inteligen-
cia artificial. En una formulación típica de un problema de robot tenemos un
robot que está equipado con sensores y un conjunto de acciones primitivas que
puede realizar en algún mundo fácil de comprender. Las acciones del robot
cambian un estado o configuración del mundo en otro. En el «mundo de blo-
ques», por ejemplo, imaginamos un mundo de algunos bloques etiquetados
colocados en una mesa o uno sobre otro y un robot consistente en una cámara de
tele..-isióny un brazo y mano móvil que es capaz de tomar y mover bloques. En
algunas situaciones, el robot es un vehículo móvil con una cámara de TV que
efectúa tareas tales como empujar objetos de un sitio a otro en un entorno que
contiene otros objetos.
En el capítulo 10 introducimos algunos métodos básicos para la resolución de
problemas y sus aplicaciones a la planificación de robots. La discusión hace
énfasis en la resolución del problema o aspectos de planificación de un robot. Un
planificador de robot intenta encontrar una trayectoria desde nuestro mundo del
robot inicial hasta un mundo del robot final. El camino consiste en una secuencia
de operaciones que se consideran primitivas para el sistema. Una solución a un
problema podría ser la base de una secuencia correspondiente de acciones físicas
en el mundo fisico. La planificación de robots, que proporciona la inteligencia y
la capacidad de resolución de problemas a un sistema robótica, es todavía un
área de investigación muy activa. Para aplicaciones de robots en tiempo real,
necesitaremos algoritmos de planificación potentes y eficaces que se ejecutarán
por sistemas de computadoras de uso especial a alta velocidad.

1.8 REFERENCIAS

las referencias generales citadas a continuación son representativas de publica-


ciones que tratan con temas de interés en robótica y en campos relacionados. Las
referencias que se dan al final de los capítulos que siguen se clasifican según los
ternas específicos que se estudian en el texto. La bibliografía al final del libro se
Organiza en orden alfabético por autores, y contiene toda la información perti-
nente para cada referencia citada en el texto.
Algunas de las mejores revistas y actas de conferencia que de forma rutinaria
contienen artículos sobre los diversos aspectos de la robótica incluyen:
IEEE Journal o( Robotics and Automation: International Journal of Robotics
Research;
12 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

Journal of Robotic Systems; Robotica: IEEE Transactions on Systems, Man and


Cybernetics; Artificial Intelligence: IEEE Transactions on Pattern Analysis and
Machine Intelligence; Compute, Graphics, Vísion, and Jmage Processing; Procee-
dings of the International Symposium on Industrial Robots; Proceedings of the
International Joint Conference on Artificial Intel/igence; Proceedings of IEEE
International Conference on Robotics and Automation; IEEE Transactions on
Automatic Control; Mechanism and Machine Theory; Proceedings of the Society
of Photo-Optical and Jnstrumentation Engineers; ASME Journal of Mechanical
Design; ASME Journal of Applied Mechanics: ASME Journal of Dynamic
Systems, Measurement and Control: and ASME Journal of Mechanisms, Trans-
missions, and Automation in Design.
Lecturas complementarias al material de este libro se puede encontrar en los
libros de Dodd y Rossol [1979], Engelberger [1980], Paul [1981], Dorf [1983],
Snyder [1985], Lee, González y Fu [1986], Tou [1985] y Craig [1986].
C
A
P
I
T
U
L
O
DOS
/
CINEMATICA DEL BRAZO DEL ROBOT

¡Y mire cómo se agita, se pone


en marcha, se desplaza y parece
sentir una emoción vital!
Henry Wadsworth Longfellow

2.1 INTRODUCCION

Un manipulador mecánico se puede modelar como una cadena articulada en lazo


abierto con algunos cuerpos rígidos (elementos) conectados en series por una
articulación de revolución o prismática movida por actuadores. Un final de la
cadena se une a una base soporte mientras que el otro extremo está libre y unido
con una herramienta (el efector final) para manipular objetos o realizar tareas de
montaje. El movimiento relativo en las articulaciones resulta en el movimiento de
los elementos que posicionan la mano en una orientación deseada. En la mayoría
de fas aplicaciones de robótica, se está interesado en la descripción espacial del
efector final del manipulador con respecto a un sistema de coordenadas de
referencia fija.
La cinemática del brazo del robot trata con el estudio analítico de la geome-
tría del movimiento de un robot con respecto a un sistema de coordenadas de
referencia fijo como una función del tiempo sin considerar las fuerzas/momentos
que originan dicho movimiento. Así pues. trata con la descripción analítica del
desplazamiento espacial del robot como función del tiempo, en particular las
relaciones entre las variables espaciales de tipo articulación y la posición y
orientación del efector final del robot. Este capitulo se plantea dos cuestiones
fundamentales, ambas de interés teórico y práctico en la cinemática del robot:

1. Para un manipulador determinado, dado el vector de ángulos de las


articulaciones q(t) = (q1(t), qi(t), ... , q.(t)f y los parámetros geométricos
del elemento, donde n es el número de grados de libertad, ¿cuál es la
orientación y la posición del efector final del manipulador con respecto a
un sistema de coordenadas de referencia?
2. Dada una posición y orientación deseada del efector final del manipula-
dor y los parámetros geométricos de los elementos con respecto a un
sistema de coordenadas de referencia, ¿puede el manipulador alcanzar la
posición y orientación de la mano que se desea? Y si puede, ¿cuántas
configuraciones diferentes del manipulador satisfacerán la misma condi-
ción?
14 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

La primera pregunta se suele conocer como el problema cinemático directo,


mientras la segunda es el problema cinemático inverso ( o solución del brazo).
Como las variables independientes en un brazo de robot son las variables de
articulación y una tarea se suele dar en términos de las coordenadas de referencia,
el problema cinemático inverso se utiliza de forma más frecuente. En la figura 2.l
se muestra un simple diagrama de bloques que indica las relaciones entre estos
dos problemas.
Como los elementos de un brazo pueden girar y/o trasladarse con respecto a
un sistema de coordenadas de referencia, el desplazamiento espacial total del
efector final se debe a las rotaciones angulares y traslaciones angulares de los
elementos. Denavit y Hartenberg [ 1955] propusieron un método sistemático y
generalizado de utilizar álgebra matricial para describir y representar la geome-
tría espacial de los elementos de un brazo con respecto a un sistema de referencia
fijo. Este método utiliza una matriz de transformación homogénea 4 x 4 para
describir la relación espacial entre dos elementos mecánicos rígidos adyacentes y
reduce el problema cinemático directo a encontrar una matriz de transformación
homogénea 4 x 4 equivalente que relaciona el desplazamiento espacial del «siste-
ma de coordenadas» de la mano al sistema de coordenadas de referencia. Estas
matrices de transformación homogéneas son también útiles para derivar las
ecuaciones de movimiento dinámico de un brazo.
En general, el problema cinemático inverso se puede resolver por algunas
técnicas. Los métodos utilizados más comúnmente son la matriz algebraica,
métodos iterativos o geométricos. Se presentará un enfoque geométrico basado
en el sistema de coordenadas de los elementos y la configuración del manipulador
para ol:itener una solución de las articulaciones en forma cerrada para manipula-
dores simples con articulaciones giratorias. A continuación se estudiará un plan-
teamiento más general utilizando matrices homogéneas 4 x 4 para obtener una
solución de la articulación para manipuladores simples.

Parámetros
de los
elementos

Angules de Cinemática ---,... Posición y orientación


las articulaciones directa del efector final
-----.,.
q,(1) ..... q,(1)

Parámetros
de los

¡ ¡ ¡
elementos

Angulos de
Cinemática
las articulaciones -
inversa
~-----...J
q,(I) ..... q,(1)

Figura 2.1 Los problemas cinemáticos directo e inverso.


CINEMATICA DEL BRAZO DEL ROBOT 15

X
Figura 2.2 Sistemas de coordenadas de referencia y ligado al cuerpo.

2.2 EL PROBLEMA CINEMA TICO DIRECTO otz-"1=


Se utiliza álgebra" vectorial y matricial para desarrollar un método
generalizado y sistemático para describir y representar la localización de los
elementos de un brazo con respecto a un sistema de referencia fijo. Como los
elementos de un brazo pueden girar y /o trasladarse con respecto a un sistema
de coordenadas de referencia, se establecerá un sistema de coordenadas ligado
al cuerpo a lo largo
del eje de la articulación para cada elemento. El problema cinemático directo se
.reduce a_encontrar una matriz de transformáción que relaciona el sistema
de
coordenadas ligado al cuerpo al sistema de coordenadas ae referencia. Se utiliza"
üi1a matriz de rotación 3 x 3 para describir las operaciones rotacionales del
sistema ligado al cuerpo con respecto al sistema de referencia. Se utilizan enton-
ces las coordenadas homogéneas para representar vectores de posición en un
espacio tridimensional, y las matrices de rotación se ampliarán a matrices de
transformación homogénea 4 x 4 para incluir las operaciones traslacionales del
sistema de coordenadas ligado al cuerpo. Esta representación matricial de un
elemento mecánico rígido para describir la geometria espacial de un brazo fue
utilizada por primera vez por Denavit y Hartenberg [1955]. La ventaja de
utilizar la representación de elementos de Denavit-Hartenberg es su universali-
dad algorítmica para derivar las ecuaciones cinemáticas de un brazo.

2.2.1 Matrices de rotación (j) P.i~


Una matriz de rotación 3 x 3 se puede definir como una matriz de transforma-
ción que opera sobre un vector de posición en un espacio euclídeo tridimensional
y transforma sus coordenadas expresadas en un sistema de coordenadas rotado
OUVW (sistema ligado al cuerpo) a un sistema de coordenadas de referencia
OXYZ. En la figura 2.2 se dan dos sistemas de coordenadas rectangulares, uno el
• Los vectores se representan en letras minúsculas en negrita; las matrices en letras mayúsculas en
negrita.
16 ROBOTICA: CONTROL, DETECCION, YISIO"' E
INTELIGENCIA

sistema de coordenada OXYZ, con OX, OY y OZ como sus ejes de coordenadas,


y el sistema de coordenadas OUVW, con OU, OV, OW como sus ejes de coorde-
nadas. Ambos sistemas de coordenadas tienen sus orígenes coincidentes en el
punto O. El sistema de coordenadas OXYZ está fijo en el espado tridimensional
y se considera que es el sistema de referencia. El sistema de coordenadas OUVW
está girando con respecto al sistema de referencia OXYZ. Físicamente, uno puede
considerar que el sistema de coordenadas OUVW es un sistema de coordenadas
ligado al cuerpo. Esto es, está permanente y convenientemente unido al cuerpo
rígido (por ejemplo, un avión o un elemento del brazo del robot) y se mueve junto
con él. Sean (i_., í, k:) y (iu, jv, kw) los vectores unitarios a lo largo de los ejes de
coordenadas de los sistemas OXYZ y OUVW, respectivamente. Un punto p en el
espacio se puede representar por sus coordenadas con respecto a ambos sistemas
de coordenadas. Para facilitar el análisis, supondremos que p está en reposo y fijo
con respecto al sistema de coordenadas OUVW. Entonces el punto p se puede
representar por sus coordenadas con respecto al sistema de coordenadas OUVW
y OXYZ, respectivamente, como

Puvw = (p.,, p.; p.,.f y Px,z (2.2-1)

donde Px,: y Pwvw representan el mismo punto p en el espacio con respecto a


diferentes sistemas de coordenadas y el superíndice Ten los vectores y matrices
denota la operación traspuesta.
Nos gustaría encontrar una matriz R de transformación 3 x 3 que transfor-
mara las coordenadas de Pwvw a las coordenadas expresadas con respecto al
sistema de coordenadas OXYZ, después de que el sistema de coordenadas
OUVW ha sido girado. Esto es,

(2.2-2)

Obsérvese que fisicamente el punto Pwvw ha sido girado junto con el sistema de
coordenadas OUVW.
Recordando la definición de las componentes de un vector tenemos

(2.2-3)

donde Px, p, y p, representan las componentes de palo largo de los ejes OX, O Y
y OZ, respectivamente, o las proyecciones de p sobre los ejes respectivos. Así,
utilizando la definición del producto escalar y la ecuación (2.2-3),

Px = i, ' P = j.x · iwPu + i_,: · jvp •. + i_,: ' kwPw


Py = l, · P = t. · iuPw + j, · jvPv + j, ' kwPw
P, = k, ' P = k, ' iwPw + k, ' jvPv + k, ' kwPw (2.2-4)
CINEMATICA DEL BRAZO DEL ROBOT 17

l [p "
expresado en forma matricial,
J,
] [ J'.y" : i, .
jy . J, (2.2-5)
[ p,
~-
- '. " . k, .
) y · P v

•.

l
p, k, · i" k, · í, kz' k , p,.

l
Utilizando esta notación, la matriz R en la ecuación (2.2-2) está dada por

[ i, i, i, . J, i, k,
R = )y . l." t.· jv )y. k, (2.2-6)
k, · I" k, 'jv k, · k ,

Análogamente, se pueden obtener las coordenadas de Puv ..· con las coordenadas
de p..,::

n ¡ .... =
l [;:]
Puvw Qpxyz (2.2-7)

o p., = j,.. ¡~ í, • jyJ,


i•. Jv · k,k,
i•. (2.2-8)
p,. k,.. · 1.,, k,. . jy ' k., · k,

Como los productos escalares son conmutativos, se puede ver de las ecuacio-
nes (2.2-6) a (2.2-8) que

(2.2-9)

'Y QR (2.2-1 O)

donde 13 es la matriz identidad 3 x 3. La transformación en la ecuación (2.2-2) o


(2.2-7) se llama una transformación ortogonal, y como los vectores en los produc-
tos escalares son todos vectores unitarios, se llama también una transformación
ortonormal.
El interés primario en desarrollar la matriz de transformación anterior es
encontrar las matrices de rotación que representan rotaciones del sistema de
coordenadas OUVW respecto a cada uno de los tres ejes principales del sistema
de coordenadas de referencia OXYZ. Si el sistema de coordenadas OUVW se gira
un ángulo a respecto al eje OX para llegar a una nueva posición en el espacio,
entonces el punto Puvw, que tiene coordenadas (p., p.,, p,.)7 con respecto al sistema
OUVW, tendrá coordenadas diferentes (p.,,, P}~ Pzf con respecto al sistema de
referencia OXYZ. La matriz de transformación necesaria R,,.« se llama la matriz
de rotación respecto al OX con ángulo a. R,,. « se puede derivar del concepto de
rnatriz de transformación anterior, esto es,

Pxyz = R.,,.« Puvw (2.2-11)


18 Rül!OTICA: CONTROL, DETffCION. VISION E INTELIGENCIA

con i, - i., y
i, . j.
-s~n e,.] (2.2-12)
J.: L cos C1.
k, . j,,

Análogamente, las matrices de rotación 3 x 3 para rotaciones respecto al eje O


Y con ángulo <P y respecto al eje OZ con ángulo fJ son, respectivamente
(véase figura 2.3),
cos <P
O
O
I
sen
O
</Jl cos e -sen
cos ee ºJ
O (2.2-13)
'Ry . .¡. = -sen </> o cos <P R=. 6 = [ se~() O 1
[

Las matrices Rx. ,, R, . .,. y R:. 6 se llaman las matrices de rotación básicas.
Se pueden obtener otras matrices de rotación finitas a partir de estas matrices.

~ Ejemplo: Dado dos puntos a., .... = (4, 3, 2)7 y b.v,.. = (6, 2, 4)7 con respecto
' al sistema de coordenadas girado OUVW, determinar los puntos corres-
pondientes a_.y,, bxy: con respecto al sistema de coordenadas de referencia si
ha sido rotado 60º respecto del eje OZ.
i
I

º] [ l
SOLUCIÓN: ªxyz = R:. 60' a.,... Y bxy: = R,. 60º ~vw

0,500 - 0,866 4

¡- l
axy: = [ 0,~66 0,~00 ~ ~ =

4(0,5) + 3( - 0,866) + 2(0)] 0,598


= [ 4(0,866) + 3(0,5) + 2(0) = 4,964
4(0) + 3(0) + 2( 1) 2.0

bxy: = 0,500
-0.866
0,500 O
º] [6]
2 =
[ 1,268]
6,196
O 1 4 4,0
0,~66
[

Así, ax,, y bxy, son iguales a (-0,598, 4,964, 2,0)7 y (1,268, 6,196, 4,0)7,
respectivamente, cuando se expresan en términos del sistema de coordena-
das de referencia. O

Ejemplo: Si a_.y, = (4, 3, 2)7 y bx,: = (6, 2, 4)7 son las coordenadas con
respecto al sistema de coordenadas de referencia, determinar los puntos
correspondientes a.,. .,, b.,.,.. con respecto al sistema de coordenadas rotado
OUVW si ha sido girado 60º respecto del eje OZ.
CINEMATICA DEL BRAZO DEL ROBOT 19

z z

z z

1
1
1
1
u lw
-------
o V
y X

X <fJ = -90º

z
V

X 8 = 90° X

Figura 2.3 Sistemas de coordenadas en rotación.


20 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

awvw
0,500 0,866 º1] [4]
= [ - 0,866 0,500 0
o o
3 =
[ 4(0,5)
+
3(0,866)

4( - 0,866) + 3(0,5) + 2(0)


+
2(0)
l =
2 4(0) + 3(0) + 2(1)

= [- ~:~:]

;J ln [-!:I~Jj
2,0
0,500 0,866
h.,.... =
[
- o,~66 o,~oo = o

2.2.2 Matriz de rotación compuesta (Pi~


Las matrices de rotación básicas se pueden multiplicar entre sí para representar
una secuencia de rotación finita respecto del eje principal del sistema de coorde-
nadas OXYZ. Como las multiplicaciones de matrices no conmutan, es impor-
tante el orden o secuencia de realización de las rotaciones. Por ejemplo, para
desarrollar una matriz de rotación que represente una rotación de ángulo ix
respecto del eje OX seguida por una rotación del ángulo 8 respecto del eje OZ
seguida por una rotación del ángulo e respecto del eje OY, la matriz de rotación
resultante que representa estas rotaciones es

R = Ry.~R,.eR.x,o =
[ CO O SO][CO
I O so
-SO
CB
º] [1
O O
O
c« -~l =
-~</) O C<j) O O I O Six c«

=
[ coca
SB
Sé S« - C<j)S8Ca
CBCct
cosos, +
- cesa
soca] (2.2-14)
-S<j)CB S<j)S8Ca + cos« CdrCo: - S<j)S8Six

donde C<j) = cos </); S<j) sen </); CB = cos 8; =


sen 8; Ca. cos ix; Sa se = = =
= sen a. Esto es diferente de la matriz de rotación que representa una rotación de
ángulo </) respecto del eje O Y seguida por una rotación de ángulo 8 respecto del
eje OZ seguida por una rotación de ángulo ix respecto del eje OX. La matriz de

º] tq s:]
rotación resultante es
o
o
-~·[C O] -SO
C8 O O l =
R = R,.R,,R,, = [~ c«

s« Ca
s o
o O
l
1 -S<j) o C<j)

[ coco -SO COSO


= CaSBC<j) + SaS<j) O:x.CB CctSBS<j) - SixC</) ,, (2.2-15)
SctSBC<j) - Ca.S<j) SixCB SixSOS<j) + cecs
CINEMATICA DEL BRAZO DEL ROBOT 21

Además de girar respecto de los ejes principales del sistema de referencia


OXYZ, el sistema de coordenadas giratorio OUVWpuede también rotar respecto
de su propio eje principal. En este caso, la matriz de rotación resultante o
compuesta se puede obtener de las siguientes reglas simples:
1. Inicialmente ambos sistemas de coordenadas son coincidentes, de aquí
que la matriz de rotación es una matriz identidad 13 de 3 x 3.
2. Si el sistema de coordenadas giratorio OUVW está girando respecto de
uno de los ejes principales del sistema OXYZ, entonces premultiplicar la
matriz de rotación previa (resultante) por una matriz de rotación básica
apropiada.
3. Si el sistema de coordenadas rotante OUVW está girando respecto de su
propio eje principal, entonces postmultiplicar la matriz de rotación previa
(resultante) por una matriz de rotación básica apropiada.

. _ Jr
\;
Ejemplo:

_ ;..·
Encontrar la matriz de rotación resultante que representa un giro
de ángulo </> respecto del eje O Y seguido por una rotación de ángulo e
r~specto del eje O W seguido por una rotación de ángulo ex respecto del
~ ~ eje OU.

SOLUCIÓN:

t ;"
R = R, .
.¡, 9 a
= R, .
.¡, 9 a
=

m~
13 R,.. Ru. R,.. Ru.
~
o o s1][ce -se o -ºs, ]-
-[ c1 o se C()
'\
1 Ccx
-S</> o C</> O o s« c«
[ csce So S« - C<f>SeC:1. csses« + s1c,]
= se COC::r. -ces«
-S<f>C() S</>SOC::r. + C</>Sx C</>C':1. - S</>SOS::r.

Obsérvese que este ejemplo se escoge de forma que la matriz resultante es


la misma de la ecuación (2.2-14), pero la secuencia de rotación es diferente
de la que generó dicha ecuación. O

2.2.3 Matriz de rotación respecto de un eje arbitrario O~~


Algunas veces el sistema de coordenadas rotante OUVW puede girar un ángulo é

respecto de un eje arbitrario r que es un vector unitario que tiene de componentes


r~ rY y r, y que pasa a través del origen O. La ventaja es que para ciertos
movimientos angulares el sistema OUVW puede realizar una rotación alrededor
del eje r en lugar de algunas rotaciones respecto de los ejes principales de los
sistemas de coordenadas OUVWy/o OXYZ..fªra derivar esta matriz de roJació.n.
~o~_em?_~J!:imero realizar algunas rotaciones respecto de los ejes principales
~istema OXYZ para alinear el eje rcon el eie OZ. Luego hacemos la rotación
22 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

Y. V

/
/ --------------------~
- /1
/
/ <, / 1
---.. / 1
/
,,
" '----
/ / 1
/
/
1
1
l. R,.a 1 /' / 1
1
2. R,.-P 1
3. R,.•
1 " 1
1 1
4. R,.~ 1
5. K... -a

I
1
/

,. , -, jI
1 /
11 / /
1 /

----------~--1
/
1 /
s -
'
-2
-~-~-~--------
4-
2.
W

Figura 2.4 Rotación respecto de un eje arbitrario.

respecto de r con ángulo </> y giramos el eje principal del sistema OXYZ para
volver el eje r otra vez a su posición original. Con referencia a la figura 2.4, el
alineamiento del eje 02 con el eje r se puede hacer girando respecto del eje OX
con ángulo IX (el eje r está en el plano XZ), seguido por una rotación de ángulo
- f3 respecto del eje O Y (el eje r ahora se alinea con el eje 02). Después de la
rotación del ángulo </> respecto del eje OZ o eje r, invertir las secuencias de
rotaciones anteriores con sus respectivos ángulos opuestos. La matriz de rotación
resultante es

R,.<1> Rx, -:« Ry.p R,.<1> Ry. _11 R.... =


cp -S</>
o] [ O sp]
¡e~.
o o
[i C1X SIX O S</> C</>
o
;]
+S« CIX -S{J o C{J O
[cpO o1 -:P] [~
X

S{J O C{J O
o
C1X
S1X
-~·]CIX

De la figura 2.4 encontramos fácilmente que


r.
r, IX
+ ,2
COS
sen IX
Jr; + ,2
Jr;
%
%
,2
sen f3 == cos f3 Jr; + z
CINEMA TICA DEL BRAZO DEL ROBOT 23

Sustituyendo en las ecuaciones anteriores,


rxryV</> - r,S</> rxr,V</> +
(2.2-16)
,;V</> + C</> ryS</>l ryr,V</> -
ryr,V</> + rxS<I> rxS<f> r;V</> +
C</>

donde V</> = vers </> = - cos </>. Esta es una matriz de rotación muy útil.

Ejemplo: Encontrar la matriz de rotación R,. ~ que representa la rotación


·v de ángulo </> respecto del vector r = ( l, l, l )r.

SOLUCIÓN: Como el vector r no es un vector unitario, necesitamos norma-


lizarlo y encontrar sus componentes a lo largo del eje principal del sistema
OXYZ. Por tanto,
1 r,
l
= J3
'" = J r; + r; + r; = J3' r =-,
l
y J3
Sustituyendo en la ecuación (2.2-16), obtenemos la matriz R,, ~:
1
i¡3V</> + C</>
l
-S </>
/3V4> - 1
/3 V</> + J31 S</>
' J3
3V</>-
/) V</> +~: 1 S</> i¡3V</> + C</> 1/
R,.~ =

fiS</>
v3
1/3
V</> - j3 S</> 1
/3 V</> + J3l S</> i¡3V4> + C</>
o
~

2.2.4 Matriz de rotación con representación de ángulos de Euler

La representación matricial para la representación de un cuerpo rígido simplifica


muchas operaciones, pero necesita nueve elementos para describir completa-
mente la rotación de un cuerpo rígido rotante. No conduce directamente a un
conjunto completo de coordenadas generalizadas. Tal conjunto de coordenadas
generalizadas pueden describir la orientación de un cuerpo rígido rotante con
respecto a un sistema de coordenadas de referencia. Pueden ser proporcionadas
por los llamados tres ángulos de Euler </>, () y 1/1. Aunque los ángulos de Euler
describen la orientación de un cuerpo rígido con respecto a un sistema de
referencia fijo, hay muchos tipos diferentes de representaciones de ángulos de
Euler. Las tres representaciones más ampliamente utilizadas de los ángulos de
Euler se tabulan en la tabla 2.1.
la primera representación de ángulos de Euler en la tabla 2.1 se suele asociar
con el movimiento giroscópico. Esta representación se suele llamar los ángulos
24 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

Tabla 2.1 Tres tipos de representaciones de ángulos de Euler

Sistema I ángulos Sistema II ángulos Sistema III elevación,


eulerianos de Euler desviación y giro

Secuencia efJ respecto del eje OZ efJ respecto del eje OZ iJ¡ respecto del eje OX
de (} respecto del eje O U (} respecto del eje O V (} respecto del eje O Y
rotaciones iJ¡ respecto del eje O W iJ¡ respecto del eje O W efJ respecto del eje OZ

eulerianos, y corresponde a las siguientes secuencias de rotaciones (véase figu-


ra 2.5):
l. Una rotación de ángulo </> respecto del eje OZ (R,, ~).
2. Una rotación de ángulo 8 respecto del eje OU rotado (R¿ 9).
3. Finalmente, una rotación de ángulo 1/¡ respecto del eje rotado O W (R,., ,¡,),
La matriz de rotación euleriana resultante es

R~.e."' = R,.~ Ru, 9 R,.,"' =

C<f>
O
O
1
O
O
iase -~o]
j
ce
[~! ~:"' ~]
o o 1
=

C<J>Ci/¡ - S<f>COSI/¡ - C</>Si/1 - S<f>COCI/¡


J
r
1 S<f>SO (2.2-17)
= S<J>Ci/¡ + C<f>COSI/¡ -C<f>SO
- S<J>Si/¡ C<f>COCI/¡
SOS!/¡ S8Ci/¡ ce
z. w

X.U


Figura 2.5 Sistemas de ángulos eulerianos l.
CINEMATICA DEL BRAZO DEL ROBOT 25

La matriz de rotación de ángulos eulerianos anterior R.¡,, 8,"' se puede también


especificar en términos de las rotaciones respecto de los ejes principales del sistema
de coordenadas de referencia: una rotación del ángulo ,/¡ respecto del eje OZ
seguida por una rotación de ángulo 8 respecto del eje OX y finalmente una
rotación del ángulo <P respecto del eje OZ.
Con referencia a la figura 2.6, otro conjunto de representación de ángulos de
Euler (/>, () y ,/¡ corresponde a la siguiente secuencia de rotaciones:

l. Una rotación del ángulo <jJ respecto del eje OZ (R, . .¡,),
2. U na rotación del ángulo 8 respecto del eje girado O V (R•. 8).
l Finalmente una rotación de ángulo ,/¡ respecto del eje girado O W (R.... ,;),

La matriz de rotación resultante es

º] =
R.;. 8,"' = R, . .; Ru, 8 R.,.,"' = o
sol [e"'
O SI/¡ -SI/¡
C,J¡ O
o C8 O O I
- C<j)COS,J¡ - S<j)C,J¡
C<j)C8C,J¡ - S<j)S,J¡ C<j)S8]
- S<j)C8S,J¡ + C<j)C,J¡ S<j)S8 (2.2- 18)
= S<j)C8C,J¡ + C<j)S,J¡
[ SOS!/! / C8
-S8C,J¡

La matriz de rotación de ángulos de Euler anterior R.;. 8,"' se puede también


especificar en términos de las rotaciones respecto de los ejes principales del
sistema de coordenadas de referencia: una rotación de ángulo <jJ respecto del eje
OZ seguida por una rotación 8 respecto del eje O Y y finalmente una rotación de
ángulo <jJ respecto del ángulo OZ.

Z, W

V'

X, U


Figura 2.6 Sistema de ángulos eulerianos 11.
26 ROBOTICA: CONTROL, DETECCIO:s.;, VISION E INTEUGE1'CIA

Otro conjunto de representación de ángulos de Euler para la rotación se


llama giro, elevación y desviación (roll, pitch, yaw) (RPY). Esta se utiliza principal-
mente en ingeniería aeronáutica en el análisis de vehículos espaciales. Correspon-
de a las siguientes rotaciones en secuencia:
l. Una rotación de 1/¡ respecto del eje OX (Rx.,¡,)-desviación.
2. Una rotación de () respecto del eje O Y (Ry, 8)-elevación.
3. Una rotación de </> respecto del eje OZ (R,. 4i)-giro.
La matriz de rotación resultante es

[e~s: º] [
R4i,e,.¡, = R,,4> Ry,e Rx.,i, =

=
C<f>
-S~
O O
CO
1
o o
:][~ Ci/¡
o

s~s•i
O 1 -58 C8 O Si/¡

¡c~ce C<f>S8Si/¡ S</>Ci/¡ cssoc« +


=
~~-]-
S</>C8 S</>S8Si/¡ + C<f>Ci/¡ S<j)S8Ci/¡ - C<j)Si/¡
-58 C8Si/¡ C8Ci/¡
(2.2-19)

La matriz de rotación anterior R4i, 9 • .¡, para el giro, elevación y desviación se


puede especificar en términos de la rotación respecto de los ejes principales del
sistema de coordenadas de referencia y del sistema de coordenadas giratorio: una
rotación de ángulo </) respecto del eje OZ seguida por una rotación de ángulo ()
respecto del eje girado'1 O V y finalmente una rotación de ángulo respecto del eje é

girado OU (véase Figi 2.7).

¡i:2.5 Interpretación geométrica de las matrices de rotación

Es conveniente interpretar las matrices de rotación básica de forma geométrica.


Escojamos un punto p fijo en el sistema de coordenadas OUVW que sea (1, O, O)",
esto es, p.,.,.. = i•. Entonces la primera columna de la matriz de rotación represen-

Giro
4>
.: /

>------- y
Desviación Elevación

X
Figura 2.7 Giro, elevación y desviación.
CINEMATICA DEL BRAZO DEL ROBOT 27

las coordenadas de este punto con respecto al sistema de coordenadas OXYZ.


: álogarnente, escogiendo p como (0, 1, Of y (O, O, If, se puede identificar que
elementos de la segunda y tercera columna de una matriz de rotación repre-
1;
sentan )os ejes OV y OW, respectivamente, del sistema de coordenadas OUVW
con respecto al sistema de coordenadas OXYZ. Así, dado un sistema de referen-
cia oxrz y una matriz de rotación, los vectores columna de la matriz de
rotación representan los ejes principales del sistema de coordenadas OUVW con
respecto al sistema de referencia y se puede deducir la localización de todos los
ejes principales del sistema de coordenadas OUVW con respecto al sistema de
referencia. En otras palabras, una matriz de rotación geométricamente representa
los ejes principales del sistema de coordenadas rotado con respecto al sistema de
coordenadas de referencia.
Como la inversa de una matriz de rotación es equivalente a su traspuesta,
los vectores fila de la matriz de rotación representan los ejes principales del
sistema de referencia OXYZ con respecto al sistema de coordenadas rotado
OUVW. Esta interpretación geométrica de las matrices de rotación es un concep-
to importante que proporciona indicaciones en muchos problemas cinemáticos
del brazo del robot. Se dan a continuación algunas propiedades útiles de las
matrices de rotación:
t. Cada vector columna de la matriz de rotación es una representación del
vector unitario del eje rotado expresado en términos de los vectores
unitarios de los ejes del sistema de referencia, y cada vector fila es una
rep.resentación del vector unitario de los ejes de referencia expresado en
función de los vectores unitarios de los ejes rotados del sistema OUVW.
2. Como cada fila y columna es una representación de un vector unitario, la
magnitud de cada una de ellas debería ser igual a l. Esta es una propie-
dad directa de un sistema de coordenadas ortonormal. Más aún. el deter-
minante de una matriz de rotación es + 1 para un sistema de coordenadas
dextrógiro y - 1 para un sistema de coordenadas levógiro.
3. Como cada fila es una representación vectorial de vectores ortonormales,
el producto interno (producto escalar) de cada fila por cualquier otra fila
es igual a cero. Análogamente. el producto interno de cada columna por
cualquier otra columna también es igual a cero.
4. La inversa de una matriz de rotación es la traspuesta de la matriz de
rotación

donde 13 es una matriz identidad de 3 x 3.


Las propiedades 3 y 4 son especialmente útiles para comprobar los resultados de
multiplicc:lciones de matrices de rotación y para determinar un vector columna
erróneo.

Ejemplo: Si los ejes de coordenadas OU, OV y OW se fueran a girar un


ángulo ex respecto del eje OX, ¿cuál sería la representación de los ejes de
28 'lt,OBOTICA: CONTROL, DETECCION, VTSION E INTELIGENCIA

coordenadas del sistema de referencia en términos del sistema de coordena-


das rotado OUVW?

SOLUCIÓN: Los nuevos vectores unitarios de los ejes de coordenadas se


hacen i,. = (1, O, 0)7, i. = (O, 1, 0)7 y k, = (O, O, 1)7 puesto que se
expresan
en términos de ellos mismos. Los vectores unitarios originales son entonces

í, = li. + Oj. + Ok; = (1, O, 0)7


j1 = Oi, + cos exj. sen exk,.. = (O, cos ex, -sen ex)7
k, = Oi. + sen exj. + cos exkw = (O, sen ex, cos ex)7

Aplicando la propiedad 1 y considerandoo :xéstos seno


como:x filas de la matriz de
rotación, la matriz R¿ ª se puede reconstruir como

cos
- sen ex cos ex
l
que es la misma que la traspuesta de la ecuación (2.2-12). o
~~·

2.2.6 Coordenadashomogéneas y matrizde transformación


1
Come, una matriz de rotación 3 x 3 no nos da ninguna posibilidad para la
traslación y el escalado, se introduce una cuarta coordenada o componente al
vector de posición p = (px, pf p,)7 en un espacio tridimensional que lo transfor-
ma en p = (wp"' wp,. wpv w) . Decimos que el vector de posición p se expresa en
coordenadas homogéneas. En esta sección utilizamos un «circunflejo» (es decir, p)
para indicar la representación de un vector cartesiano en coordenadas homogéneas.
Posteriormente, si no existe confusión, se eliminarán estos «circunflejos». El
concepto de una representación en coordenadas homogéneas en un espacio
euclídeo tridimensional es útil para desarrollar transformaciones matriciales que
incluyan rotación, traslación, escalado y transformación de perspectiva. En gene-
ral, la representación de un vector de posición de N componentes por un vector
de (N + 1) componentes se llama representación en coordenadas homogéneas. En
una representación en coordenadas homogéneas, la representación de un vector
N-dimensional se efectúa en el espacio (N + !)-dimensionar y el vector fisico
N-dimensional se obtiene dividiendo las coordenadas homogéneas por la coorde-
nada N + 1 que es w. Así, en un espacio tridimensional, un vector de posición
p = (p"' p1, P:f se representa por un vector ampliado (wp"' wp,,. wp" wf en la
representación de coordenadas homogéneas. Las coordenadas fisicas se relacio-
nan a las coordenadas homogéneas como sigue:
w»,
Px P: =
"'
CINEMATICA DEL BRAZO DEL ROBOT 29

No existe una representación en coordenadas homogéneas única para una


representación en un espacio tridimensional. Por ejemplo, p1 = (w1p,.., w1p,.
w1p., w1)7 y p2 = (w2p,.., w2p,, w2pz, w2)7 son todas coordenadas homogéneas
representando el mismo vector de posición p = (p..., p.,, p,)7. Así se puede ver a la
cuarta componente de las coordenadas homogéneas w como un factor de escaJa.
Si esta coordenada es la unidad (w = 1), entonces las coordenadas homogéneas
transformadas de un vector de posición son las mismas que las coordenadas
fisicas del vector. J!n aplicacion~..du:obótica, este factor de escala será siempre
igual a 1, aunque se utiliza normalmente en informática gráfica como un factor de
escala universal que toma cualquier valor positivo.
La matriz de transformación homogénea es una matriz 4 x 4 que transforma ·
un vector de posición expresado en coordenadas homogéneas desde un sistema
de coordenadas hasta otro sistema de coordenadas. Una matriz de transformación
homogénea se puede considerar que consiste en cuatro submatrices:
matriz de vector de
rotación posición (2.2-20)

transformación
escalado
de perspectiva

La submatriz 3 x 3 superior izquierda representa la matriz de rotación; la


submatriz superior derecha 3 x I representa el vector de posición del origen del
sist¡ema de coordenada rotado con respecto al sistema de referencia; la submatriz
inferior izquierda 1 x 3 representa la transformación de perspectiva; y el cuarto
elemento diagonal es el factor de escala global. La matriz de transformación
homogénea se puede utilizar para explicar la relación geométrica entre el sistema
ligado al cuerpo OUVW y el sistema de coordenadas de referencia OXYZ.
Si un vector de posición p en un espacio tridimensional se expresa en coorde-
nadas homogéneas [es decir, p = (p,.., p,. Pz, 1 )7], entonces, utilizando el concepto
de matriz de transformación, una matriz de rotación 3 x 3 se puede ampliar a ·
una matriz de rotación homogénea 4 x 4 Trot para operaciones de rotación pura.
Así, las ecuaciones (2.2-12) y (2.2-13), expresadas como matrices de rotación
homogénea, se hacen

~[ c;s~ o
~]
o

~]
sen 4>

T =
[I OO cos C(
-sen C( o
x, ~ O sen C( cos C(
T,.• -sen iJ> o cos 4>
o o o o o o
-sen (} o

~]
T _ sen cos e o (2.2-21)
•. , - o
é

o 1
o o o
[oos 6
30 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

Estas matrices de rotación 4 x 4 se llaman las matrices de rotación homogéneas


básicas.
La submatriz superior derecha 3 x l de la matriz de transformación homogé-
nea tiene el efecto de trasladar el sistema de coordenadas OUVW que tiene ejes
paralelos al sistema de coordenadas de referencia OXYZ, pero cuyo origen está
en (dx, dy, dz) del sistema de coordenadas de referencia:

l
l
l O O
o l o dy
Tt,ans = O O l dz (2.2-22)
o o o l

Esta matriz de transformación 4 x 4 se llama matriz de traslación homogénea


básica.
La submatriz inferior izquierda l x 3 de la matriz de transformación homo-
génea representa la transformación de perspectiva, que es útil para visión por
computadora y la calibración de modelos de cámara tal como se presenta en el
capítulo 7. Por ahora, los elementos de esta matriz se fijan a cero para indicar la
transformación de perspectiva nula.
Los elementos de la diagonal principal de una matriz de transformación
homogénea producen escalado local y global. Los primeros tres elementos diago-
nales producen un alargamiento o escalado local, como en

(2.2-23)

Así, los valores de las coordenadas se alargan mediante los escalares a, b y e,


respectivamente. Obsérvese que las matrices de rotación básicas, T,01, no produ-
cen ningún efecto de escalado local.
El cuarto elemento diagonal produce escalado global como en

(2.2-24)

donde s > O. Las coordenadas cartesianas fisicas del vector son


X )'
P, P, z s
s s
s
w
s
= (2.2-25)
CINEMATICA DEL BRAZO DEL ROBOT 3)

Por tanto, el cuarto elemento diagonal en la matriz de transformación homogé-


nea tiene el efecto de globalmente reducir las coordenadas si s > 1 y de alargar
tas coordenadas si O < s < 1.
En resumen, una matriz de transformación homogénea 4 x 4 transforma un
vector expresado en coordenadas homogéneas con respecto al sistema de coorde-
nadas OUVW en el sistema de coordenadas de referencia OXYZ. Esto es, con
w = 1,
Px)'Z = TPuvw (2.2-26a)
y
\,· j.; "-.. ;

["·o o
Sx
ª" P,J
T
= ny
nz
Sy

Sz
ay
e,
az Pz
= [n
O
s
o o
a
~] (2.2-26b)
o 1

2.2.7 Interpretación geométrica de las matrices


de transformación homogéneas

En general, una matriz de transformación homogénea para un espacio tridimen-


sional se puede representar como en la ecuación (2.2-26b). Escojamos un punto p
ítjo en el sistema de coordenadas OUVW y expresado en coordenadas homogé-
neas como (O, O, O, 1 )7; esto es, Puvw es el origen del sistema de coordenadas
OVVW. Entonces la submatriz superior derecha 3 x I indica la posición del
origen del sistema OUVW con respecto al sistema de coordenadas de referencia
OXYZ. Escojamos el punto p como (1, O, O, 1)7; esto es, Puvw = iu. Más aún,
suponemos que los orígenes de ambos sistemas de coordenadas coinciden en un
punto O. Este tiene el efecto de hacer los elementos en la submatriz superior
derecha 3 x I un vector nulo. Entonces la primera columna (o vector n) de la
matriz de transformación homogénea representa las coordenadas del eje OU de
OUVW con respecto al sistema de coordenadas OXYZ. Análogamente, cogiendo
p como (O, l, O, 1)7 y (O, O, 1, 1)7, se puede identificar que la segunda columna (o
vector s) o la tercera columna (o vector a) de los elementos de la matriz homogé-
nea representan, respectivamente, los ejes O V y O W del sistema de coordenadas
OUVW con respecto al sistema de coordenadas de referencia. Así, dado un
sistema de referencia OXYZ y una matriz de transformación homogénea T, los
vectores columnas de la submatriz rotación representan los ejes principales del
sistema de coordenadas OUVW con respecto al sistema de coordenadas de
referencia, y se puede dibujar la orientación de todos los ejes principales del
sistema de coordenadas OUVW con respecto al sistema de coordenadas de
referencia. El vector cuarta columna de la matriz de transformación homogénea
representa la posición del origen del sistema de coordenadas OUVW con respec-
to al sistema de referencia. En otras palabras, una matriz de transformación
homogénea geométricamente representa la localizacion de un sistema de coorde-
32 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

nadas rotado (posición y orientación) con respecto a un sistema de coordenadas


de referencia.
Como la inversa de una submatriz de rotación es equivalente a su traspues-
ta, los vectores fila de una submatriz rotación representan los ejes principales del
sistema de coordenadas de referencia con respecto al sistema de coordenadas
OUVW. Sin embargo, la inversa de una matriz de. transformación homogénea no
es equivalente a su traspuesta. La posición del origen en el sistema de coordena-
das de referencia con respecto al sistema de coordenadas OUVW se puede
deducir solamente después de que se determine la inversa de la matriz de trans-
formación homogénea. En general, la inversa de una matriz de transformación
homogénea se puede encontrar que es
n" n1 n,
T-1 = S:,; Sy s, (2.2-27)
[ a, ay a,
o o o
'--
Así, de la ecuación (2.2-27), los vectores columna de la inversa de una matriz de
transformación homogénea representan los ejes principales de los ejes de referen-
cia con respecto al sistema de coordenada rotado OUVW, y la submatriz 3 x 1
superior derecha representa la posición del origen del sistema de referencia con
respecto al sistema OUVW. Esta interpretación geométrica de las matrices de
transformación homogénea es un concepto importante utilizado frecuentemente
a lo largo de este libro.

2.2.8 Matriz de transformación homogénea compuesta

Las matrices de rotación y traslación homogéneas se pueden multiplicar juntas


para obtener una matriz de transformación homogénea compuesta (la llamare-
mos la matriz T). Sin embargo, como la multiplicación de matrices no es conmu-
tativa, se debe prestar una atención cuidadosa al orden en el cual se multiplican
estas matrices. Las reglas que siguen son útiles para determinar una matriz de
transformación homogénea compuesta:

l. Inicialmente, ambos sistemas de coordenadas son coincidentes, ya que la


matriz de transformación homogénea es una matriz identidad 4 x 4, 14.
2. Si el sistema de coordenadas rotante OUVW está rotando/trasladándose
respecto de los ejes principales del sistema OXYZ, entonces premultiplicar
la matriz de la transformación homogénea previa (resultante) por una
matriz de traslación/rotación básica apropiada.
3. Si el sistema de coordenadas rotantes OUVW está rotando/trasladándose
respecto de su propio eje principal, entonces postmultiplicar la matriz de
transformación homogénea (resultante) por una matriz de rotación/trasla-
ción básica apropiada.
CINEMA TICA DEL BRAZO DEL ROBOT 33

\Ejemplo: Dos puntos aj.¿ = (4, 3, 2f y b"""' = (6, 2, 4f se trasladan a una


~ distancia de + 5 unidades a lo largo del eje OX y - 3 unidades a lo largo
~ del eje OZ. Utilizando la matriz de transformación homogénea apropiada,
determinar los nuevos puntos ªxyz y bxyz•

n
. SOLUCIÓN:
o o
J [ 9J
llxy=
~

[~ o

o 1 -f]
3
~3(l)1)
1(05)

~ = 2(1) 1(1~(-3) =
+

-:
3

o o

[~
o o

hxyz ~
1 o
o 1
o o )J • rn
Los puntos trasladados son axyz = (9, 3, - W Y bxyz = ( 11, 2, W. o
Ejemplo: Se quiere determinar una matriz T que representa una rotación de
ángulo ex respecto del eje OX, seguida por una traslación de b unidades a lo
largo del eje girado O V.

SOLUCIÓN: Este problema puede ser engañoso, pero ilustra alguna de las
componentes fundamentales de la matriz T. Se utilizarán dos métodos, uno
poco ortodoxo que es ilustrativo, y el otro ortodoxo que es más simple.
Después de la rotación T¿ ª' el eje rotado O V es (en término de los vectores
unitarios ix, t-, k, del sistema de referencia) j.. = cos cxj.v + sen cxk,; es decir.
la columna 2 de la ecuación (2.2-21). Así, una traslación a lo largo del eje
rotado O V de b unidades es biv = b cos ::xjy + b sen é'Ck,. Así la matriz T es

coso o ex

f] ~
] ::X - sen
[' o o
O I b cos ::X

[~
T = r; .r,.• = ~ ~ 1 b sen ex sen cl cos (X

O 1 o o

[~
~ o o
sen ex cos C( b sen ex
cos (X -sen e< b c~s •]
o o 1

En el método ortodoxo, siguiendo las reglas dichas anteriormente, hay que


darse cuenta que como la matriz T,.• girará el eje O Y respecto del eje O
V,
34 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

entonces la traslación a lo largo del eje O V cumplirá el mismo objetivo,


esto es,
o o

-l~ ~]l~ ~]-


T - T•• T,, o o
cos (X - sen a 1 o
sen a cos (X o 1
o o o o

,~so]
-l~
o o
cos (X -sen (X h
sen a cos (X b sen (X

o o 1 o
Ejemplo: Encontrar una matriz de transformación homogénea T que repre-
sente una rotación de ángulo '.l respecto del eje OX, seguida por una
traslación de a unidades a lo largo del eje OX, seguida por una traslación
de d unidades a lo largo del eje OZ, seguida por una rotación de ánguJo O
respecto del eje OZ.
SOLUCIÓN:
o o 1 o
-·sen (}

º ] ll
o o
sen & cos (} o
T
-B l'º ' o o
o
I
O
O
I
O
O
o 1
o o
~]-
o
o o

~H~
o o

-l~
1 o
o 1
o o
cos
sen a
o
(X -sen :x
cos (X
o ~]- º]
l
eos e = cos (X sen O sen (X sen e a cos
a sen (}
sen (} cos (X cos (} -sen :x cos O

o sen (X cos (X d
o o o 1

Hemos identificado dos sistemas de coordenadas, el sistema de coordenadas


de referencia
OUVW. Parafijo
describir y
OXYZ la elrelación
sistema del
de coordenadas móvil
desplazamiento (traslación
espacial entrey estos
rotación)
dos
sistemas de coordenadas, se utiliza una matriz de transformación homogénea
4 x 4. Las matrices de transformación homogénea tienen el efecto combinado de
rotación, traslación, perspectiva y escalado global cuando operan sobre vectores
de posición expresados en coordenadas homogéneas.
Si estos dos sistemas de coordenadas se asignan a cada elemento del brazo del
robot, por ejemplo, el elemento i - 1 y el elemento i, respectivamente, entonces el
CINEMATICA DEL BRAZO DEL ROBOT 35

sistema de coordenadas del elemento i - 1 es el sistema de coordenadas de


referencia y el sistema de coordenadas del elemento i es el sistema de coordena-
das móvil cuando se activa 'la articulación i. Utilizando la matriz T, podemos
especificar un punto p¡ en reposo en el elemento i y expresado en el sistema de
coordenadas del elemento i (u OUVW) en términos del sistema de coordenadas
del elemento i - 1 (u OXYZ) como
Pi-1 Tp¡ (2.2-28)

donde:
·.
T = matriz de transformación homogénea 4 x 4 que relaciona los dos
sistemas de coordenadas.
p¡ = vector de posición ampliado 4 x 1 (x¡, Y;, z., l)T que representa un
punto en el sistema de coordenadas del elemento i en coordenadas
homogéneas.
Pi-t = es el vector de posición ampliado 4 x 1 (x¡_1, Yi-l• Z¡_1, t¡T que
representa el mismo punto p¡ en términos del sistema de coordenadas
del elemento i - 1.

2.2.9 Elementos, articulaciones y sus parámetros ©~


Un manipulador mecánico consiste en una secuencia de cuerpos rígidos, llama-
dos elementos, conectados mediante articulaciones prismáticas o de revolución
(véase Fig. 2.8). Cada par articulación-elemento constituye un grado de libertad.

Articulación2
Elemento 1 <,

Articulacl<in !

Elemento 4

Articulac ión 6

+,

Figura 2.8 Un robot PUMA ilustrando articulaciones y elementos.


36 ROBOTICA: CONTROL, DETECCJON, YJSION E INTELIGENCIA

De aquí que para un manipulador con N grados de libertad hay N pares


articulación-elemento con el enlace O (no considerado parte del robot) unido a
una base soporte donde se suele establecer un sistema de coordenadas inercial
para este sistema dinámico, y el último elemento está unido a la herramienta. Las
articulaciones y elementos se enumeran hacia afuera desde la base; así la articula-
ción I es el punto de conexión entre el elemento 1 y la base soporte. Cada
elemento se conecta, a lo más, a otros dos, así pues no se forman lazos cerrados .
.,
En geilcral, dos elementos se conectan mediante un tipo de articulación que
tiene dos superficies deslizantes, una sobre la otra, mientras permanecen en
contacto. Unicamente son posibles seis tipos diferentes de articulaciones: de
revolución (giratoria), prismática (deslizante), cilíndrica, esférica, de tornillo y
planar (véase Fig. 2.9). De éstas, únicamente las articulaciones giratoria y prismá-
tica son comunes en los manipuladores.
Un eje de articulación se establece (para la articulación 1) en la conexión de
dos elementos (véase Fig. 2.1 O). Este eje de articulación tendrá dos normales
conectadas a él, una para cada uno de los elementos. La posición relativa de tales
elementos conectados (elemento i - 1 y elemento i) viene dada por d.; que es la
distancia medida a lo largo del eje de la articulación entre las normales. El ángulo
de articulación 8; entre las normales se mide en un plano normal al eje de la
articulación. De aquí que d, y 8; se puedan llamar la distancia y el ángulo entre los

Revolución Planar

&7
Cilindrica Prismática

Eslerica De tomiIIo

Figura 2.9 Tipos de articulaciones.


,.--...._, CINEMATICA DEL BRAZO DEL ROBOT 37
' \

Articulación i + l

8,+ l

Figura 2.10 Sistema de coordenadas de elementos y sus parámetros.

elementos adyacentes, respectivamente. Determinan la posición relativa de los


elementos vecinos.
Un elemento i (i = l, ... , 6) se conecta a lo más a otros dos elementos (por
ejemplo, el elemento i - 1 y el elemento i + l); así se establecen dos ejes de
articulación en ambos extremos de la conexión. El significado de los elementos,
desde una perspectiva cinemática, es que mantienen una configuración fija entre
sus articulaciones, que se pueden caracterizar por dos parámetros: a¡ y 1X1• El
parámetro a¡ es la distancia más corta medida a lo largo de la normal común
entre los ejes de la articulación (es decir, los ejes Z¡_ 1 y Z¡ para las articulaciones i
e i + 1, respectivamente), y IX; es el ángulo entre los ejes de articulación medidos
en un plano perpendicular a a; Así, a¡ y IX¡ se pueden llamar la longitud y el án-
gulo de torsión del elemento i, respectivamente. Determinan la estructura del ele-
mento i.
En resumen, se asocian cuatro parámetros, a.; IX¡, d, y 91, con cada elemento de
un manipulador. Si se ha establecido un convenio de signo para cada uno de
estos parámetros, entonces constituyen un conjunto suficiente para determinar
completamente la configuración cinemática de cada elemento del brazo del robot.
Obsérvese que estos cuatro parámetros van apareados: los parámetros del ele-
mento (a;, IX;) que determinan la estructura del elemento y los parámetros de la
articulación (d1, 9¡) que determinan la posición relativa de los elementos vecinos.

2.2.10 La representación de Denavit-Hartenberg

Para describir la relación traslacional y rotacional entre elementos adyacentes,


Dcnavit y Hartenberg (1955] propusieron un método matricial de establecer de
fonna sistemática un sistema de coordenadas (sistema ligado al cuerpo) para cada
elemento de una cadena articulada. La representación de Denavit-Hartenberg
(D-H) resulta en una matriz de transformación homogénea 4 x 4 que representa
38 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

cada uno de los sistemas de coordenadas de los elementos en la articulación con


respecto al sistema de coordenadas del elemento previo. Así, mediante transfor-
maciones secuenciales, el efector final expresado en las «coordenadas de la mano»
se puede transformar y expresar en las «coordenadas de base» que constituyen el
sistema inercial de este sistema dinámico.
Se puede establecer para cada elemento en sus ejes de articulación un siste-
ma de coordenadas cartesiano ortonormal (x¿ y¡, z.)", donde i = 1, 2, ... , n
(n = número de grados de libertad), más el sistema de coordenadasde la base.
Como una articulación giratoria tiene solamente un grado de libertad, cada
sistema de
coordenadas (x¿ Y;, z;) del brazo de un robot corresponde a la articulación i + 1
y está fija en el elemento i. Cuando el actuador de la articulación activa la
articulación i, el elemento i se moverá con respecto al elemento i - 1. Como el
sistema de coordenadas i-ésimo está fijo en el elemento i, se mueve junto con el
elemento i. Así pues, el sistema de coordenadas n-ésimo se mueve con la mano
(elemento n). Las coordenadas de la base se definen como el sistema de coordena-
das número O (x0, y0, z0), que también es el sistema de coordenadas inercial del
brazo. Así, para un brazo como el PUMA de seis ejes, tenemos siete sistemas de
coordenadas, que representarnos con (x0, Yo, z0), (x¿ y 1, z1), ... , (x6, Y6, z6).
Cada sistema de coordenadas se determina y establece sobre la base de tres
reglas:
1. El eje z; _ 1 yace a lo largo del eje de la articulación.
2. El eje X¡ es normal al eje Z; _ 1 y apunta hacia afuera de él.
3. El eje y¡ completa el sistema de coordenadas dextrógiro según se requiera.
Mediante estas reglas, uno es libre de escoger la lbcalización del sistema de
coordenadas O en cualquier parte de la base soporte, rllientras que el eje z0 esté a
lo largo del eje de movimiento de la primera articulación. El último sistema de
coordenadas (el n-ésimo) se puede colocar en cualquier parte de la mano, mien-
tras que el eje x, sea normal al eje z~_ 1.
La representación de D-H de un elemento rígido depende de cuatro paráme-
tros geométricos asociados con cada elemento. Estos cuatro parámetros descri-
ben completamente cualquier articulación prismática o de revolución. Refiriéndo-
nos a la figura 2.1 O, estos cuatro parámetros se definen como sigue:
O;: Es el ángulo de la articulación del eje X¡_ 1 al eje X¡ respecto del eje z;_ 1
(utilizando la regla de la mano derecha).
d; Es la distancia desde el origen del sistema de coordenadas (i - 1)-ésimo
hasta la intersección del eje z¡_ 1 con el eje X¡ a lo largo del eje z1_ 1.
a1: Es la distancia de separación desde la intersección del eje Z¡-1 con el eje
X¡ hasta el origen del sistema i-ésimo a lo largo del eje x1 ( o la distancia

más corta entre los ejes Z¡_ 1 y z1).


1X1: Es el ángulo de separación del eje z, _ 1 al eje z, respecto del eje x¡
(utilizando la regla de la mano derecha).

• (x1, Ji, z¡) realmente representan los vectores unitarios a lo largo de los ejes principales del
sistema de coordenadas i, respectivamente, pero se utilizan aquí para denotar el sistema de coordena-
das i.
CINEMATICA DEL BRAZO DEL ROBOT 39

Para una articulación giratoria, d.; a; y IX; son los parámetros de articulación
y permanecen constantes para un robot, mientras que 8¡ es la variable articula-
ción que cambia cuando el elemento i se mueve (o gira) con respecto al elemento
; - l. Para una articulación prismática, 8¡, a¡ y IX¡ son los parámetros de la
articulación y permanecen constantes para un robot, mientras que d¡ es la varia-
ble de la articulación. Para el resto de este libro, la variable de la articulación se
refiere a 8¡ (o d¡), esto es, la cantidad que varía, y los parámetros de articulación se
refieren a los restantes tres valores geométricos constantes (d;, a., et¡) para una
a~ticulación giratoria o (8;, a.; IX;) para una articulación prismática.
Con las tres reglas básicas anteriores para establecer un sistema de coordena-
das ortonormal en cada elemento y la interpretación geométrica de los paráme-
tros de la articulación y del elemento, se presenta en el algoritmo 2.1 un procedí-

r::
E
...E
§
<. ~~
!'86~
Y6 (s)

3
ll3 z6 (a)

x6 (n)

Parámetros de coordenadas de los elementos


de un robot PUMA -
Ar1icu- Rango de la
!ación ; 8¡ a;
ª· d, articulación
1 90 -90 o o -160 a +160
2 o o 431.8 mm 149,09 mm -225 a 45
3 90 90 -20,32 mm o -45 a 225
4 o -90 o 433,07 mm -110 a 170
s o 90 1
b o -100 a 100
6 o o o 56,25 mm -266 a 266

Figura 2.11 Establecimiento del sistema de coordenadas de elementos para un robot


~~ ~
40 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

Y5

Centro de la mano OH y6 (Barrido) ~z4 Z5 ---


s ------ los orígenes
(Alcance) z6~ v ,.,.,. x5 coinciden
....._\ .J X4 /---
y4 -- (d4 = ds = O)
(Elevación) x6 Z3 /,./ - -
~ 84 ,-..:.---

d6~ x3~ x2

d¡~~y2

82 >-
/,,(,/~
e,
t=z
r \"'

Yo--;--
Y f--=:
~o=X
o

Parámetros de las coordenadas


de los elementos de un robot Stanford
Articu-
lación i
8¡ a, a; d¡

1 81 = -90 -90 o d,
2 82 = -90 90 o d2
3 -90 o o d¡
4 84 = o -90 o o
s 85 = O 90 o o
6 116 = O o o dt,

Figura 2.12 Establecimiento del sistema de coordenadas de elementos para un robot


Stanford.

miento para establecer un sistema de coordenadas ortonormal consistente para


un robot Ejemplos de aplicación de este algoritmo a un robot tipo PUMA de
seis ejes y un brazo Stanford se dan, respectivamente, en las figuras 2.11 y 2.12.

Algoritmo 2.1: Asignación del sistema de coordenadas de los elementos. Dado un


brazo con n grados de libertad, este algoritmo asigna un sistema de coordenadas
ortonormal a cada elemento del brazo de acuerdo a configuraciones de brazos
similar a aquellas de la geometría del brazo humano. El etiquetado del sistema de
coordenadas comienza desde la base soporte hasta el efector final del brazo. Las
relaciones entre elementos adyacentes se pueden representar mediante una matriz
CINEMATICA DEL BRAZO DEL ROBOT 41

de transformación homogénea 4 x 4. La importancia de esta asignación es que


ayudará al desarrollo de un procedimiento consistente para derivar la solución de
la articulación tal como se presenta en secciones posteriores. (Obsérvese que la
asignación de los· sistemas de coordenadas no es única.)
01. Establecer el sistema de coordenadas de la base. Establecer un sistema
de coordenadas ortonormal dextrógiro (x0, Yo, z0) en la base soporte
con el eje z0 estando a lo largo del eje de movimiento de la articula-
ción 1 y apuntando hacia afuera del hombro del brazo del robot. Los
ejes x0 e Yo se pueden establecer convenientemente y son normales al
eje z0•
02. Inicializar y repetir. Para cada t. i = I, ... , n - l, realizar los pasos
03 a 06.
03. Establecer los ejes de la articulación. Alinear el Z¡ con el eje de movi-
miento (giratorio o deslizante) de la articulación i + l. Para robots
que tengan configuraciones de brazo levógiras, los ejes z1 y z2 están
apuntando hacia afuera del hombro y el «tronco» del brazo del robot.
04. Establecer el origen del sistema de coordenadas i-ésimo. Localizar el
origen del sistema de coordenadas i-ésimo en la intersección de los ejes
Z¡ y z, _ 1 o en la intersección de las normales comunes entre los ejes Z; y
z;_ 1 y el eje Z¡.
05. Establecer el eje X¡. Establecer X¡ = ±(z¡_ 1 x z¡)/lz;-1 x z;I o a lo
largo de la normal común entre los ejes z.; 1 y Z¡ cuando son paralelos.
06. Establecer el eje Y;· Asignar y¡ = +(z; x x¡)/lz; x x;I para completar
el sistema de coordenadas dextrógiro. (Extender si es necesario los ejes
z, y X¡ a los pasos 09 a 012.)
07. Establecer el sistema de coordenadas de la mano. Normalmente la
articulación n-ésima es de tipo giratorio. Establecer z, a lo largo de la
dirección del eje z, _ 1 y apuntando hacia afuera del robot. Establecer
x, tal que sea normal a ambos ejes z"_ 1 y z". Asignar Yn para comple-
tar el sistema de coordenadas dextrógiro. (Véase la sección 2.2.11 para
más detalle.)
08. Encontrar los parámetros de la articulación y del elemento. Para i,
i = 1, ... ,n, realizar los pasos 09 a 012
09. Encontrar d; d, es la distancia del origen del sistema de coordenadas
(i - l}-ésimo a la intersección del eje Z;- i y el eje X; a lo largo del eje
Z¡ _ 1. Es la variable de la articulación si i es prismática.
D 1 O. Encontrar a.. a¡ es la distancia de la intersección del eje Z¡ _ 1 y el eje X¡
al origen del sistema de coordenadas i-ésimo a lo largo del eje X¡.
DI l. Encontrar 81• 81 es el ángulo de rotación desde el eje X;_ 1 hasta el eje
x, respecto del eje Z¡_1• Es la variable de articulación si i es giratoria.
D 12. Encontrar 1X1• IX¡ es el ángulo de rotación desde el eje Z;- 1 hasta el eje
z1 respecto del eje X¡.
Una vez establecido el sistema · de coordenadas D-H para cada elemento,
se puede desarrollar fácilmente una matriz de transformación homogénea que
relacione el sistema de coordenadas i-ésimo con el sistema de coordenadas
42 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

(i - 1)-ésimo. Observando la figura 2.10, es obvio que ün punto r, expresado en el


sistema de coordenadas i-ésimo se puede expresar en el sistema de coordenadas
(i - 1)-ésimo como r¡_ 1 realizando las siguientes transformaciones sucesivas:
l. Girar respecto del eje Z¡- 1 un ángulo de O¡ para alinear el eje X;- 1 con el
eje X¡ (el eje X¡_ 1 es paralelo a X¡ y apunta en la misma dirección).
2. Trasladar a lo largo del eje Z¡_ 1 una distancia de d, para llevar en
coincidencia los ejes X¡_ 1 y x,
3. Trasladar a lo largo del eje x, una distancia de a, para traer en coinciden-
cia también los dos orígenes de los ejes x.
4. Girar respecto del eje X¡ un ángulo :x¡ para traer en coincidencia a los
sistemas de coordenadas.
Cada una de estas cuatro operaciones se puede expresar mediante una matriz
rotación-traslación homogénea básica y el producto de estas cuatro matrices de
transformación homogéneas básicas da una matriz de transformación homogé-
nea compuesta, i- 1 A;, conocida como la matriz de transformación D-H para
sistemas de coordenadas adyacentes i e i - l. Así,
oo o

~l l
f =
= Tz. dT,. sTx. .r; [cos 8; -sen O¡ o
=[~
11
i-1A¡
o o l

l o sen 01 cos O¡ o
o o o o o
I
o o o
l
d ~] cos (X¡ -sen tx¡

~] =
= [~ o l o
o o l
[~ sen
o
tx1 cos
o
(X¡

_
[cos 8;
sen O¡
- cos IX¡ sen O;
cos (X¡ tx¡
cos 8¡
sen :X¡ sen O;
-sen :X¡ cos 8;
a; cos
a¡ sen 8¡
8;1
- o sen
cos (X¡ d, (2.2-29)

o o o 1

Utilizando la ecuación (2.2-27) se puede encontrar la inversa de esa transforma-


ción como
-sae~

[i- 1 A¡]-1
-cos sen 8¡ cos cos 8 sen
l
[ cos 8;
sen 8; o
¡A¡-1 IX¡ (X¡ i et¡ -d¡ tx¡
sen IX¡ sen 81 - sen IX¡ cos 81 COS IX¡ -d¡ COS IX¡

o o o l
(2.2-30)

donde tx¡, a1, d, son constantes mientras que 8¡ es la variable de la articulación


para una articulación tipo revolución.
CINEMATICA DEL BRAZO DEL ROBOT 43

Para una articulación prismática, la variable articulación es d.; mientras que


: JI ,, 0.1
N . y 8¡ son constantes. En este caso, i- t A¡ se hace
- cos 11¡ sen 8¡ sen 11¡ sen 8¡

¡- i _ _ [' º '
s en
cos 11¡ cos 8¡ - sen !l¡ cos 8¡

8O¡;

fl
A¡ - T,. 9T,. dTx.11 - O
sen 11¡ cos il¡
.o o o
(2.2-31)

y su inversa es

;A¡-1
[
- cos
cos O;
11¡ sen 8¡ cos
sen
11¡

cos 8¡
o
sen é1¡
-d; ~en >;l
p-1A;]-1

cos il¡ sen 8¡ - sen !l¡ cos 8; cos a¡ -d¡ cos 11¡
o o o 1
(2.2-32)

Utilizando la matriz i - 1 A¡ se puede relacionar un punto p¡ en reposo en el


elemento i y expresado en coordenadas homogéneas con respecto al sistema
de coordenadas i en el sistema de coordenadas i - 1 establecido en el elemento
i - 1 por

(2.2-33)

donde P;- i = (x.; 1, Y;-¡,:¡_ 1, l)r y P; = (x¿ Y;, Z¡, lf.


Las. seis matrices de transformación i-
1
A; para el robot PUrytA de seis ejes
han sido determinadas sobre la base del sistema de coordenadas establecido en la
figura 2.11. Estas matrices ; - 1 A; se dan en la figura 2.13.

2.2.11 Ecuaciones cinemáticas para los manipuladores 0~1,


La matriz homogénea ºT¡ que especifica la localización del sistema de coordena-
das i-ésimo con respecto al sistema de coordenadas de la base es el producto en
cadena de matrices de transformación de coordenadas sucesivas ;- 1 A¡ y se expre-
sa como
i
ºT¡ = ºA11A2 ... i-1A¡
íl j-1A.
J
para i = 1, 2, ... .n
j= 1

[~¡ y¡

o o

~¡] = [º~¡
º~¡] (2.2-34)
44 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

cos O¡ - cos 11¡ sen (}¡ sen 11¡ sen O¡ a¡ cos O¡


i-lA; = sen O¡ cos CL¡ cos O¡ -sen 11¡ cos O¡ a¡ sen O¡

ºA1 =
[ e,S1 o
o -1o
o o
o
o
o o
o
l
o
a,c,
aiS2
d
i
l
l
o

n
o
C3

S3 o
S3

-C3
a,c,
a3S3
1 [ e,
S4 o
-S4

C4
iA3 = o l o o 3~=
o -1 o
o o o l o o o
,-
._,..,
, .:
o Ss -s6 o
s
/ 4A - s~=
s-
o o o o l
;1
l

!
[ eSs, o
o o
-Cs
o

-s, C,Si3
[ e,

a2C1 C2 + a3C1 C23


o
c6
o
o
o n 1
[ e, e,, - d2S,
S1 C23 e, a2S1 Ci + a3S1 Ci3
S1Si3 C, + di
T1 s ºA1
1Ai
iA3 = -Sn o Ci3 -a2S2 - a3Si3
o o o l
C4 Cs C6 - S4S6 -C4CsS6 - S4C6 C4Ss d6C4S5
S4 e, C6 + C4S6 -S4CsS6 + C4C6 S4Ss d6S4S
s
T2 • 3~4Ass~ = -SsC6 SsS6 Cs d6Cs + d4
o o o 1
donde C; • cos é.; S; :11! sen é.; C;¡ ,!!!! cos(6; + 6¡); S;¡ = sen(8; + 8¡),

Fipn 2.13 Matrices de transformación de coordenadas de los elementos del robot


PUMA.
CINEMATICA DEL BRAZO DEL ROBOT 45

donde:
(X¡, y¡, zJ = matriz
de orientación del sistema de coordenadas i-ésimo estable-
cido en el elemento i con respecto al sistema de coordenadas
de la base. Es la matriz particionada superior izquierda 3 x 3
de ºT¡.
p¡ = vector de posición que apunta desde el origen del sistema de
coordenadas de la base hasta el origen del sistema de coordena-
das i-ésimo. Es la matriz particionada superior derecha 3 x 1
de ºT¡.
Específicamente, para i = 6, obtenemos la matriz T, T = 0T6, que especifica la
posición y orientación del punto final del manipulador con respecto al sistema de
coordenadas de la base. Esta matriz T se utiliza tan frecuentemente en la cinemá-
tica del brazo del robot que se llama la «matriz del brazo». Considere que la
matriz T sea de la forma:

T = [~6 o
Y6 z6 ~6] [°~6 0~6]
o = [~ s
o
a
o n
=
["·
s,. a,
p.]
n, s, a, P, (2.2-35)
n, s, a, Pz
o o o 1

donde (véase Fig. 2.14):


n = vector
normal de la mano. Suponiendo una mano del tipo de mordaza
paralela que es ortogonal a los dedos del brazo del robot.
s = vector de deslizamiento de la mano. Está apuntando en la dirección del
movimiento de los dedos cuando la pinza se abre y se cierra.
a = vector de aproximación de la mano. Está apuntando en la dirección
normal a la palma de la mano (es decir, normal a la placa de montaje de
la herramienta del robot).
p = vector de posición de la mano. Apunta desde el origen del sistema de
coordenadas de la base hasta el origen del sistema de coordenadas de la
mano, que se suele localizar en el punto central de los dedos totalmente
cerrados.
Si el manipulador se relaciona a un sistema de coordenadas de referencia
mediante una transformación B y tiene una herramienta unida a la base de
montaje de la última erticulacióu descrita por H, entonces el punto final de la
herramienta se puede relacionar con el sistema de coordenadas de referencia
multiplicando las matrices B, ºT6 y H juntas como

(2.2-36)
46 ROBOTICA: CONTROL, DETECCION, VISION E

INTELIGENCIA

Figura 2.14 Sistema de coordenadas de la mano [o, s, a].

La solución cinemática directa de un manipulador de seis elementos es, por


tanto, simplemente un asunto de 1calcular T = 0 A6 mediante la multiplicación en
cadena de las seis matrices i - A¡ y evaluar cada elemento en la matriz T.
Obsérvese que la solución cinemática directa da una única matriz T para un
q = (q1, q2, ..• , q6)r y un conjunto de sistemas dé coordenadas dados, donde q¡ =

para una articulación giratoria y q¡ = d, para una articulación prismática. Las
únicas ligaduras son las acotaciones físicas de 8¡ para cada articulación del brazo
del robot. La tabla en la figura 2.11 da las ligaduras de articulación de un robot
de la serie PUMA 560 basado en el sistema de coordenadas asignado en la figu-
ra 2.11.
Habiendo obtenido todas las matrices de transformación de coordenadas
i- i A; para el brazo de un robot, la siguiente tarea es encontrar un método eficaz
de calcular T utilizando una computadora digital de uso general. El método más
eficiente es multiplicando las seis matrices i- 1 A¡ juntas manualmente y evaluando
los elementos de la matriz T explícitamente en un programa de computadora. Las
desventajas de este método son: 1) es engorroso multiplicar juntas las seis matri-
ces "' i A¡, 2) la matriz del brazo es aplicable solamente a un robot particular para
un conjunto especifico del sistema de coordenadas (no es bastante flexible). En. el
otro extremo se pueden meter las seis matrices "' 1 A¡ y permitir que la computa-
dora realice la multiplicación. Este método es muy flexible, pero con el coste de
tiempo del cálculo en cuanto que la cuarta fila de i- i A¡ consiste mayormente en
elementos nulos.
Un método que tiene ambos, cálculo rápido y flexibilidad, es multiplicar a
«mano» las tres primeras matrices ¡ - 1 A¡ para formar T1 = 03A 2
11 A 2 A3 y
A/A/
también las últimas tres matrices i- i A¡ para formar T2 = A6, que es
una tarea
relativamente directa. A continuación expresamos los elementos de T1 y T2
explícitamente en un programa y permitimos que la computadora los multiplique
para formar la matriz del brazo resultante T = T1 T2•
CINEMA TICA DEL BRAZO DEL ROBOT 47

Para un robot de la serie PUMA 560, T1 se determina de la figura 2.13 como

= =
[c,c,,
ºA3 ºA11A/A3

T, = -S, C1S23 a,C,C, + a,C,C,, - d,S,]


S,C23 C1 S1S23 ª2S1C2 + a3S1C23 + d2C1
(2.2-37)
- -S23 o C23 -a2S2 - a3S23
o o o 1

y la matriz T2 se encuentra que es

(2.2-38)

donde Cu =
cos (8¡ + 8) y S¡i sen (8¡ + 8). =
La matriz del brazo T para el robot PUMA que se muestra en la figura 2.11
se encuentra que es
(2.2-39)

donde:

nx = C1[CdC4C5C6 - S4S6) - S23S5C6] + C4S6)


- S1(S4C5C6
n, = S1[CdC4C5C6 - S4S6) - S23S5C6] + C,(S4C5C6 + C4S6) (2.2-40)
11, = -S2JCC4C5C6 - S4S6] - C23S5C6
s" = C1[ -C23(C4C5S6 + S4C6) + S23SsS6] - S1(-S4C5S6 + C4C6)
s, = S1[-C23(C4C5S6 + S4C6) + S23SsS6] + C1(-S4C5S6 + C4C6)
s, = S23(C4C5S6 + S4C6) + C23SsS6 (2.2-41)
ax "" C1(C23C4S5 + S23C5) - S1S4S5
a, = S1(C23C4S5 + S23C5) + C1S4S, (2.2-42)
a, = -S23C4S5 + C23C5
P,. = C1[d6(C23C4S5 + S23C5) + S23d4 + a3C23 + a2C2] - S1(d6S4S5 + d2)
P, = S1[d6(C23C4S5+ S23C5) + S23d4 + a3C23 + a2C2] + C1(d6S4S5 + d2)
P: = d6(C23Cs - S23C4Ss) + C23d4 - a3S23 - a2S2 (2.2-43)
48 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA
Como una comprobación, si 81 = 90º, 82 = O°, 83 Oº, 85 = Oº,
86 = Oº. entonces la matriz T es

-1 O -149,09]
921,12
O 1
o o 20,32
o o 1

que está de acuerdo con el sistema de coordenadas establecido en la figu-


ra 2.11.
De las ecuaciones (2.2-40 a 2.2-43), la matriz del brazo T requiere doce
llamadas de funciones trascendentes, cuarenta multiplicaciones y veinte sumas
si solamente calculamos la submatriz superior derecha 3 x 3 de T y el vector
normal n se encuentra del producto vectorial de (n = s x a). Más aún, si
combinamos d¿ con la longitud de la herramienta del dispositivo terminal, enton-
ces d6 = O y la nueva longitud de la herramienta se incrementará en d¿ unidades.
Esto reduce los cálculos a doce llamadas de funciones trascendentes, treinta y

-
cinco multiplicaciones y dieciséis sumas.

Ejemplo: Ha sido preparada una estación de trabajo de un robot con una


cámara de TV (véase la figura que se muestra en la página 49). La cámara
puede ver el origen del sistema de coordenadas de la base donde está unido
un robot de seis articulaciones. Puede también ver el centro de un objeto
(supuesto que es un cubo) que va a ser manipulado por el robot. Si se ha
establecido un sistema de coordenadas local en el centro del cubo, este
objeto tal como lo ve la cámara se puede representar mediante una matriz
de transformación homogénea T 1• Si el origen del sistema de coordenadas
de la base tal como lo ve la cámara se puede expresar también mediante
una matriz de transformación homogénea T2 y

OO 10 1] -1
o o -
O 1200
-1 9 O -1 ]
O 1 o o 10
1

a) ¿Cuál es la posición del centro del cubo con respecto al sistema de


coordenadas de la base?
b) Suponer que el cubo está dentro del alcance del brazo. ¿Cuál es la
matriz de orientación [n, s, a] si necesita que la pinza (o los dedos) de
la mano se alineen con el eje y del objeto y al mismo tiempo coja el
objeto desde lo alto?
CINEMA TICA DEL BRAZO DEL ROBOT 49

';r--x,
Y,/ !2 1

SOLUCIÓN:
o

-[~ T
1

= T,
o o 10 /
Cllmar•Tcubo
o -1 9 .
o o 1
y
o o
"'•""T base -- T2 -[ ~O
-1
o -1
o -1100 1
2 0

o o o 1

Para encontrar bmTcubo• utilizamos la regla de «producto en cadena»:

Utilizando la ecuación (2.2-27) para invertir la matriz T2, obtenemos la

baseT = [~
-1
~ ~ 1 [~ ~
10 1]
matriz de transformación resultante:

o 1 O
cubo O o -1 10 O O Ooo1 1
o o O 1 O O o o 1
50 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

Por tanto, el cubo está en la posición ( 11, 10, 1 )7 del sistema de coordena-
das de la base. Sus ejes x, y y z son paralelos a los ejes -y, x y z del sistema
de coordenadas de la base, respectivamente.
Para encontrar [n, s, a], hacemos uso de

o
T6
-
-
[º s
O O
a
O PJ1
donde p = (11, 10, 1)7 de la solución anterior. De la figura anterior
necesitamos el vector de aproximación a para alinear con la dirección
negativa del eje OZ del sistema de coordenadas de la base [es decir, a = (O,
O, - 1 )7]; el vector s se puede alinear en una o en otra dirección del eje y de
bmTcubo [es decir, s = ( ± 1, O, 0)7]; y el vector n se puede obtener del
producto vectorial des y a:

Hl
k j k
O O
D O -1

Por tanto, la matriz de orientación [n, s, a] se encuentra que es


O 1
~J
-1
[n, s, a] = + 1 O o o
[
o o o -1J o

2.2.12 Otras especificaciones de la localización de efector final

En secciones anteriores analizamos las traslaciones y rotaciones de cuerpos


rígidos (o elementos) e introdujimos la matriz de transformación homogénea para
describir la posición y orientación de un sistema de coordenadas del elemento.
De particular interés es la matriz del brazo 0T6 que describe la posición y
orientación de la mano con respecto al sistema de coordenadas de la base. La
submatriz superior izquierda 3 x 3 de ºT6 describe la orientación de la mano.
Esta submatriz de rotación es equivalente a ºT6• Hay otras especificaciones que se
pueden utilizar para describir la localización del efector final.

Representación del ángulo de Euler para orientación. Como se indicó en la


sección 2.2.4, esta representación matricial para la rotación de un cuerpo rígido
simplifica muchas operaciones, pero no conduce directamente a Ün conjunto
completo de coordenadas generalizadas. Tal conjunto de coordenadas generaliza-
das se puede proporcionar mediante los tres ángulos de Euler (<P, {) y t/J).
CINEMATICA DEL BRAZO DEL ROBOT 51

Utilizando la matriz de rotación con la representación de los ángulos euleria-


no como en la ecuación (2.2-17), la matriz del brazo 0T6 se puede expresar como:
C</JCt/1 S<jJCeStjJ - C</JSt/1 - S<jJCeCtjJ
°T = S<j}Ct/1 + C<jJCeStjJ -S</JSt/1 + C<jJCeCtjJ -C<j)Se p1
ssse Px]
6
[ ses» sec» Pz ce (2.2-44)
o o O I

Otra ventaja de utilizar la representación de ángulos Euler para la orientación es


que la memoria necesitada para almacenar la posición y orientación de un objeto
se reduce a un vector de seis elerr-c..tos XYZ<j)etjJ. A partir de este vector, se puede
construir la matriz del brazo 0T6 mediante la ecuación (2.2-44).

Representación de giro, elevación y desviación para la orientación. Otro conjunto


de representación de ángulos de Euler para la rotación es el giro, elevación y
des\'iáción (roll, pitch y yaw) (RPY). Otra vez, utilizando la ecuación (2.2-19), la
representación matricial de la rotación se puede utilizar para obtener la matriz del
brazo 0T6 como:

l
csce C<J>SeStjJ - S<j}Ct/J C<jJSeCtjJ + Px]
ºT _ S<j)Ce S<jJSeStjJ + C<j}Ct/J S<j}St/J S<jJSeCtjJ - P, (2._2-45)
6
- -se CeStjJ C</JSt/1 CeCtjJ Pz .
o O O 1 1
.•

Tal como se discutió en el capítulo 1, existen diferentes tipos de brazos de robot


de acuerdo al movimiento de sus articulaciones (XYZ, cilíndricas, esféricas y de
brazo artículado). Así se puede especificar la posición de la mano (p:v P,~ p=f en
otras coordenadas tales como cilíndricas o esféricas. La matriz de transformación
del brazo resultante se puede obtener por

donde ºR6
o JJ
matriz de rotación expresada en los ángulos de Euler o [n, s, a] o
(2.2-46)

(RPY).

Coorcknadas cílindricas para el subconjunto de posicionamiento. En una represen-


tación de coordenadas cilíndricas, la posición del efector final se puede especificar
por las siguientes traslaciones/rotaciones (véase Fig. 2.15):
l. Una traslación de r unidades a lo largo del eje OX (Tx.,).
2. Una rotación de ángulo :x alrededor del eje OZ (T=.,).
J. U na traslación de d unidades a lo largo del eje OZ (T=. d).
52 ROBOTICA: CONTROL, DETECCION, YISION E INTELIGENCIA

Figura 2.15 Representación del sistema de coordenadas cilíndricas.

La matriz de transformación homogénea que representa las operaciones ante-


riores se puede expresar como:

º º ºHe.
~l
-Srx o
- T, ,T, ,T,, -[~ I O O s« Ca o
Tcílindrica
O I d O o 1
O O I O o o X

X [' o o '] [e"


O I O O = Srx
-s« o
Ca o ,cal
rS«
(2.2-47)
O O I O O o 1 d
O O O I O o o 1

Como solamente estamos interesados en los vectores de posición (es decir, la cuarta
columna de Tcillndrical, la matriz de brazo 0T6 se puede obtener utilizando la
ecuación (2.2-46):

ºT 6
o
= ['O oI o -s«
,ex] [ ºR6 (2.2-48)

Ü Ü 1 d
o o o I O o o ~]
y Px = rCoc, py = rS«, P: = d.

Coordenadas esféricas para el subconjunto de posicionamiento. Podemos utilizar


también el sistema de coordenadas esféricas para especificar la posición del efector
final. Esto utiliza las siguientes traslaciones/rotaciones (véase Fig. 2.16):
l. Una traslación de r unidades a lo largo del eje OZ Cf:. J
2. U na rotación de ángulo f3 respecto del eje O Y (Ty, ¡¡),
3. Una rotación de ángulo rx respecto del eje OZ (T,.• ).
CINEMA TICA DEL BRAZO DEL ROBOT 53


figura 2.16 Representación del sistema de coordenadas esféricas.

La matriz de transformación para la operación anterior es

T,p1r = T,,aRy.{JT:,r =
lea Sa
~
-s«
Ca.
O
o
O OH
O O
I O
O I
-Sf3
O
ceO ol Sf3o
o Cf3
o o
~1
Ü

1
X

o o =s« ,c,spl
r·cp
CrxSfJ. 1

l~
1o oo
o 1
O
r ºJ _
-
Sa.Cf3
-Sf3
Ca. S':1.Sflo rSrxSf3
o
o C{J rCf3
l
(2.2-49)

1
I O

Otra vez, nuestro interés es el vector de posición con respecto al sistema de


coordenadas de la base; por tanto. la matriz del brazo ºT 6 cuyo vector de posición
se expresa en coordenadas esféricas y la matriz de orientación [n, s, a] o ángulos de

l
Euler o (RPY) se puede obtener:

l
l o o
ºT= O I O rS'rXxSf{3Jl (2.2-50)
6
Ü Ü l
rC{J
o o o l o o

donde Px
= rC'XS{3, py = rS':XS{J, P: = rC{J.

En resumen, existen algunos métodos (o sistemas de coordenadas) que se


pueden escoger para describir la posición y orientación del efector final. Para
posicionamiento, el vector de posición se puede expresar en coordenadas cartesia-
nas (p,:, Py, P:f, cilíndrica (rC':l, r Sx, d)7, o esférica (rC'XS{3, rSa.Sf3, rC{3)7. Para
describir la orientación del efector final con respecto al sistema de coordenadas de
la base, tenemos cartesianas [n. s, a], ángulos de Euler (</,, 8, 1/J) y (RPY). El
l'Csuhado de todo esto se tabula en la tabla 2.2.
54 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

Tabla 2.2 Diversas representaciones de posicionamiento/orientación

Posicionamiento Orientación
Cartesiana [n, s, a]
Cartesiana (px, r; p,)7 Angulos de Euler (<P, 8, 1/1)
Cilíndrica (rCIX, rSa, d)7 R,P, Y
Esférica (rC1XS{3, rS'Y.S{J, rC{Jf

1 O o R,p,8,.,
O
O P1
Px] T = [[n, a]
s,
º~J
[ 1 P:
Tposición = ~ ~ rol
o o o
o o O 1

2.2.13 Clasificación de los manipuladores

Un manipulador consiste en un grupo de cuerpos rígidos o elementos, con el


primero de ellos conectado a una base soporte y el último conteniendo el dispositi-
vo terminal (o herramienta). Además, cada elemento se conecta a lo más a otros
dos de manera que no se forman bucles cerrados. Hicimos la hipótesis de que la
conexión entre elementos (las articulaciones) tienen solamente un grado de libertad. ~
Con esta restricción, son de interés dos tipos de articulaciones: de revolución (o
giratorias) y prismáticas. Una articulación de revolución solamente permite la
rotación respecto de un eje, mientras que la articulación prismática permite el
deslizamiento a lo largo de un eje con ninguna rotación (deslizamiento con rota-
ción se denomina una articulación tipo tornillo). Estos elementos se conectan y se
accionan de forma tal que se fuerzan a moverse relativamente uno respecto de otro
con el fin de posicionar el efector final (una mano o herramienta) en una posición y
orientación particular.
Por tanto, un manipulador, considerado como una combinación de elementos
y de 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). Con este convenio, el robot PUMA se
puede clasificar como 6R y el brazo de Stanford como 2R-P-3R, donde R es una
articula- ción de revolución y P es una articulación prismática.

2.3 EL PROBLEMA CINEMATICO INVERSO

En esta sección se plantea el segundo problema de la cinemática del robot: la


cinemática inversa o solución del brazo para un manipulador con seis articulacio-
nes. Los robots basados en computadora se suelen controlar en el espacio de las
variables de articulación, mientras que los objetos que se manipulan se suelen
expresar en el sistema de coordenadas de mundo. Con el fin de controlar la
posición y orientación del efector final de un robot para alcanzar su objeto, es más
CINEMATICA DEL BRAZO DEL ROBOT 55

irnportante la solución cinemática inversa. En otras palabras, dada la posición y


orientación del efector final de un brazo de robot de seis ejes 0T6 y sus parámetros
de articulación y elementos, nos gustaría encontrar los ángulos de articulación
correspondientes q = (q1, q2, q3, q4, q5, q6)7 del robot de manera que pueda
p0sicionar como se desee el efector final.
En general, el problema cinemático inverso se puede resolver por diversos
métodos, tales como la transformación inversa (Paul y col. [1981]), el álgebra de
tornillo (Kohli y Soni [1975]), matrices duales (Denavit [1956]), cuatemiones
duales (Yang y Freudenstein [1964]), iterativo (Uicker y col. [1964]), y métodos
geométricos (Lee y Ziegler [1984]). Pieper [1968] presentó la solución cinemática
para cualquier manipulador con seis grados de libertad que tiene pares de revolu-
ción o prismáticos para las tres primeras articulaciones y los ejes de las articulacio-
nes de las últimas otras tres se intersectan en un punto. La solución se puede
expresar como un polinomio de cuarto grado en una incógnita y una solución en
forma cerrada para las incógnitas restantes. Pau] y col. [1981] presentaron una
t~nica transformada inversa utilizando las matrices de <transformaciones homogé-
neas 4 x 4 para resolver la solución cinemática para la misma clase de manipula-
dores simples que analizaba Pieper. Aunque la solución resultante es correcta, tiene
el problema de que no da una indicación clara sobre cómo seleccionar una
solución apropiada de las diversas soluciones posibles para una configuración de
brazo particular. El usuario a menudo necesita recurrir a su intuición para tomar
la respuesta correcta. Presentaremos el método de Pieper para resolver la solución
inversa para ángulos de Euler. Uicker y col. [1964] y Milenkovic y Huang [1983]
presentaron soluciones iterativas para la mayoría de los robots industriales. La
solución iterativa a menudo requiere más cálculos y no garantiza la convergencia a
la solución correcta especialmente en los casos singular ·y degenerado. Más aún,
como con la técnica transformada inversa, no existe indicación sobre cómo escoger
la solución correcta para una configuración de brazo particular.
Es deseable encontrar una solución del brazo en forma cerrada para los
manipuladores. Afortunadamente, la mayoría de los robots comerciales tienen
una u otra de las siguientes condiciones suficientes que hacen posible la solución
del brazo en forma cerrada:
l. Tres ejes de articulación adyacentes se interseccionan en un punto.
2. Tres ejes de articulación adyacentes son paralelos entre sí.

Ambos robots, el PUMA y el de Stanford, satisfacen la primera condición, mien-


tras que los robots ASEA y MINIMOVER satisfacen la segunda solución para
encontrar la solución en forma cerrada.
De la ecuación (2.2-39) tenemos la matriz de transformación de brazo dada
corno
s, ax. Px.] (2.3-1)
s, a, P, - o A i A 2A JA 4A sA
- 1 2 3 4 S 6

s, ª• P,
O O 1
56 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

La ecuación anterior indica que la matriz de brazo T es una función de senos y


cosenos de 81, 82, •.. , 86• Por ejemplo, para un robot PUMA, igualando los
elementos de las ecuaciones matriciales como en las ecuaciones (2.2-40) a (2.2-43),
tenemos doce ecuaciones con seis incógnitas (ángulos de las articulaciones) y estas
ecuaciones tienen funciones trigonométricas complejas. Como tenemos más ecua-
ciones que incógnitas, se puede concluir inmediatamente que existen múltiples
soluciones para un robot como el PUMA. Exploraremos dos métodos para encon-
trar la solución inversa: la técnica transformada inversa para encontrar la solución
de los ángulos de Euler, que puede también utilizarse para encontrar la solución de
las articulaciones de un robot como el PUMA, y un método geométrico que
proporciona más comprensión en resolver manipuladores simples con articulacio-
nes giratorias.

2.3.1 Técnica transformada inversa para Ia solución de ángulos de Euler

En esta sección demostraremos el concepto básico de la técnica transformada


inversa aplicándola a resolver los ángulos de Euler. La matriz de rotación 3 x 3 se
puede expresar en términos de los ángulos de Euler (e/>, 8, i/1) como en la ecuación
(2.2-17), dada por

- Ccf>Si/1 - ScpC8Cif¡ ScpS8]


Cc/>Ci/1 - ssces« - CcpS8 (2.3-2)
- Scf>Si/1 + CcpC8Cif¡
=
[
Scf>Ci/1 + Ccf>C8Sif¡ S8Cif¡
ce
S8Sif¡

Se desea encontrar el valor correspondiente de cp, 8, ¡/J. Igualando los elementos


de la ecuación matricial anterior, tenemos:

n" = Ccf>Ci/1 - ScpC8Sif¡ (2.3-3a)


ny Scf>Ci/1 + CcpC8Sif¡ (2.3-3h)
n, S8Sif¡ (2.3-3c)
S" - C <J>Si/1 - ScpC8Cif¡ (2.3-3d)
sy = -Scf>Si/1 + CcpC8Cif¡ (2.3-3e)
sz = S8Cif¡ (2.3-3/)
ScpS8 (2.3-3g)
ª"
ay -CcpS8 (2.3-3h)
a, = ce (2.3-3,)
CINEMA TICA DEL BRAZO DEL ROBOT 57

Utilizando las ecuaciones (2.3-31), (2.3-3f) y (2.3-3h), una solución a las nueve
ecuaciones anteriores es:
(} = cos - 1 (a?) (2.3-4)

1 (2.3-5)
VI = cos - ( ;~)

1) = cos - l (~;y) (2.3-6)

U solución anterior es inconsistente y mal condicionada porque:


l. La función arco coseno no se comporta bien en cuanto a su precisión en la
determinación del ángulo ya que es dependiente del valor del ángulo. Esto
es, cos ( 8) = cos ( - 8).
2. Cuando sen (8) se aproxima a cero, esto es, (} ~ Oº o (} ~ ± 180º, las
ecuaciones (2.3-5) y (2.3-6) dan soluciones imprecisas o están indefinidas.
Debemos, por tanto, encontrar un método más consistente para determinar la
solución de los ángulos de Euler y una función arco trigonométrica más consisten-
te para calcular la solución del ángulo. Con el fin de evaluar (} para - n ~ (} ~
n, se utilizará una función arco tangente, are tg2 (y, x), que devuelve tg " 1
(y/x)
ajustada al cuadrante apropiado. Se define como:

¡
para +x y +
i Oº ~ 8 ~ 90º y
i 90º ~ (} ~ 180º para -x y +y (2.3- 7)
e are tg2 ( y, x) -180º ~ (} ~ -90º para y -y
-x
-90º ~ 8 ~ oc para +x y -y

Utilizando la función arco tangente (are tg2) con dos argumentos, tendremos una
visión de la solución general propuesta por Paul y col. [1981].
En la ecuación matricial [ecuación (2.3-2)] se dan los elementos de la matriz en
el lado izquierdo, mientras que los elementos de las tres matrices del lado derecho
son incógnitas y son dependientes de q>, 8, VI· Paul y col. [1981] sugieren
premulti-
plicar la ecuación matricial anterior por su transformada inversa desconocida
sucesivamente y de los elementos de la ecuación matricial resultante determinan el
ángulo incógnita. Esto es, movemos una incógnita (por su transformada inversa)
del lado derecho de la ecuación matricial al lado izquierdo y resolvemos para la
incógnita, a continuación movemos la siguiente incógnita al lado izquierdo y
repetimos el proceso hasta que se resuelven todas las incógnitas.
Prernultiplicando la ecuz ción matricial anterior por R;: i tenemos una incógni-

~]
la (q,) en el lado izquierdo y dos incógnitas (8, VI) en el lado derecho de la ecuación
matricial, así tenemos
Sq> Cq> o
O nr s, a, O]} [nxnz s, ªx] [lÜ S(J
s, a, O C(}O ] [CVI
Ü -SVI
= O C(} -S{} CVI
SVI o
58 ROBOTICA: CONTROL, DETECCJON, VISION E INTELIGENCIA
o
C<J)sx + S<J)sy

[
C<J)nx+ Sén ;
- Sen, + C<J)n y
-S<J)sx + Ces;
-St/1
cec
s
sec»
-~e]ce
n~
(2.3-8)
Igualando los elementos (1, 3) de ambas matrices en la ecuación (2.3-8) tenemos:
(2.3-9)
que da

<J> = tg-1 ( ~:J = are tg2 (ax, -ay) (2.3-1 O)

Igualando los elementos (1, 1) y (1, 2) de ambas matrices tenemos:


(2.3-1 la)
Ct/1 = Con, + S</>n,
(2.3-1 lh)
St/1 = -C</>sx - S<J>s,

que conduce a la solución para t/1,

.t,
"I' = tg -i (St/1)
-
CiJ¡
= tg _1 (-C</>sx - S</>s,)
Cdm; + S</>n1•
= are tg2 (- C</>sx - Sos ; Cdm, + S<J>n) (2.3-12),

Igualando los elementos (2, 3) y (3, 3) de ambas matrices tenemos:

se = Soa; - C<J>a,
ce = a, (2.3-13)
que nos da la solución para e,

ull =tg _
= tg 1(S<l>ax-C<l>a>·)
= are tg2 (S</>ax-C<l>ar a:) (2.3-14)

_1 (se )
-
ce ª=
Como el concepto de la técnica transformada inversa es mover una incógnita al
lado izquierdo de la ecuación matricial a un tiempo y resolver para la incógnita.
podemos intentar resolver la ecuación matricial anterior para </>, e, iJ¡ por postmulti-
plicar dicha ecuación matricial por su transformada inversa R~.1~
o -S</> C</>
St/1
o
Ct/1
º] [ o
I O S8
CO
o 1 cOe -seO ]
CINEMATICA DEL BRAZO DEL ROBOT 59

Multiplicando las matrices tenemos:

nxCi/1-sxSi/l nxSi/l+sxCi/1 ª"']


ay
[C<j)
S<j)=
-S<j)C()
C<j)C()
S<J>SB]
- C<j)SB (2.3-15)
nyCi/1-sySi/l nySi/1 + syCi/1 a, o se ce
[
n,Cij¡ -s,Slj¡ n,Si/1 + s,Ci/1

Otra vez, igualando los elementos (3, 1) de ambas matrices en dicha ecuación
matricial, tenemos:

(2.3-16)

que da
i/1 = tg "
1
(n·) = are tg2 (n,, s,) (2.3-17)
s.
Igualando los elementos (3, 2) y (3, 3) de ambas matrices tenemos:
(2.3-18a)
se = n,Si/1 + s,Cij¡
(2.3-18b)
C() = a,

1
que nos conducen a la solución para B,
1
(n,Sij¡ + s,Cij¡, a,) (2.3-19)
ª+• = are tg2 (n,Sij¡
1
() = tg "
s,Ci/1)

Igualando los elementos ( 1, 1) y (2, 1) de ambas matrices tenemos:


C<j) = nxCi/1 - sxSi/1 (2.3-20a)
S<j) = nyCi/1 - sySi/1 (2.3-20b)

que da

<P = tg_1 (nYCiJ¡ - sySi/1)


nxCi/1 - sxSi/1
= are tg2 (nyCt/1 - sySt/1, nxCt/1 - sxSi/1) (2.3-21)

Corresponde al usuario la libertad de premultiplicar o postmultiplicar una ecua-


ción matricial dada.
Apliquemos esta técnica transformada inversa para resolver los ángulos de
Euler para un robot tipo PUMA (solución OAT de un robot PUMA). Los robots
60 ROBOTICA: C01'TROL, DETECCJON, VISIO:-,/ E INTELIGENCIA

PUMA utilizan los símbolos O, A, T para indicar los ángulos de Euler y sus
definiciones se dan a continuación (con referencia a la figura 2.17):
O (orientación) es el ángulo formado desde el eje Yo hasta la proyección del
eje a de la herramienta sobre el plano XY respecto del eje z0.
A (altitud) es el ángulo formado desd_e.-etplanoXY hasta el eje a de la
herramienta respecto del eje s de 1.í'°,.,herramienta.
T (herramienta) (tool) es el ángulo formado desde el plano XY hasta el ejes
de la herramienta respecto del eje a de la herramienta.

.. · '!,. •••• ••• ··. ······ ... ···


~{j).....

-, - , ········· ... · ..
~\)

<::: ; :; ,;:- ··········


O, una medida del ángulo 'D0 ::··.
formado entre el eje r

MUNDO Y y una proyección


de la HERRAMIENTA Z
sobre el plano MUNDO XY

,
A una medida rdel ángulo formado
ent e la HERRAMIENTA Z y
un plano paralelo al plano
MUNDO XY

•- .. ..... ·········
' 'T v,'lJo. ,>·..-, •.••• •• ..,.,0....-~oº , HERRAMIENTA Y
..·
'{

;-

·· ·;·-.
T. una medida del ángulo formado
entre la HERRAMIENTA Y y
..
· ·
un plano paralelo al plano
MUNDO XY
.. -,

....
··· ··~ •• ••• '!,.
· ·· .. ··~~{j)

Figura 2.17 Definición de los ángulos de Euler O, A y T. (Tomado del manual del robot
PUMA 398H.)
CINEMATICA DEL BRAZO DEL ROBOT 61

Zo

figura 2.18 Alineamiento inicial del sistema de coordenadas de la herramienta.

Inicialmente el sistema de coordenadas de la herramienta (o el sistema de


coordenadas de la mano) está alineado con el sistema de coordenadas de la base
del robot, como se nos muestra en la figura 2.18. Esto es, cuando O = A = T = Oº,
los puntos de la mano en el eje y0 negativo con los dedos en un plano horizontal y
el eje s están apuntando al eje x0 positivo. La transformación necesaria que
describe la orientación del sistema de coordenadas de la mano (n, s, a) con respecto
al sistema de coordenadas de la base (x0, y0, z0) está dado por

[ -1
~ ~
O
- ~]
O
(2.3-22)

De la definición de los ángulos OAT y la matriz de alineación inicial [ecua-


ción (2.3-22)], la relación entre la transformación de la mano y los ángulos OA T

l
está dada por

r· uº] -!]
1
a,
s,.

'1>· Sy ª>' = R=.O o R, ,R.' =


o
º]
~] u
n: s,

= ¡ca
ª=
O SA]
.:
-so -1 [ C AI O
-ST
CT O
so co O1

[CST
o o o o O CA O O I

["'
Postmultiplicando la ecuación matricial anterior por la transformación inversa
ª•·
l[
s, a, CT ST -so

~] u
T•

nY sY ay -ST CT º] ¡ca
o = so co Ü1
o
º]o
-1 X
n, s. ª= o o I O O
X
[ CA
Ü
-SA
o
1
o
s;]
CA
62 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

y multiplicando las matrices tenemos:


CO SOCA·]
SO -COCA
O -SA
(2.3-23)
Igualando los elementos (3, 2) de dicha ecuación matricial tenemos:

n,ST + s,CT = O (2.3-24)

lo que la da solución de T,

T = tg-1 ( ~~.) = are tg2 (s,, -n,) (2.3-25)

Igualando los elementos (3, l) y (3, 3) de ambas matrices tenemos:

SA = -a, (2.3-26a)
y
CA = - n,CT + s,ST (2.3-266)

entonces las ecuaciones anteriores dan

A = tg-1 ( -a, )
- n,CT + s:ST ,· '
i= are tg2 (-a,, -n,CT + s,ST)
(2.3-27)
Igualando los elementos (l, 2) y (2, 2) de ambas matrices tenemos:
(2.3-28a)
CO = n.S]' + sxCT
(2.3-28b)
SO = nyST + s)'CT

que dan la solución de O,

O = tg- 1 (nyST + syCT)


nxST + s.ct
= are tg2 (n,ST + syCT, nxST + sxCT) (2.3-29)

La premultiplicación o la postmultiplicación anterior de las transformadas inver-


sas desconocidas se pueden también aplicar para encontrar la solución de las
articulaciones de un robot PUMA. Los detalles respecto a la solución del robot
PUMA se pueden encontrar en Paul y col. [1981].
Aunque la técnica de la transformada inversa proporciona un método general
para determinar la solución de las articulaciones de un manipulador, no da una
indicación clara sobre cómo seleccionar una solución apropiada de las diversas
soluciones posibles para una configuración de brazo particular. Esto tiene que
descansar sobre la intuición geométrica del usuario. Así, un método geométrico
CINEMATICA DEL BRAZO DEL ROBOT 63

es más útil para derivar una solución de ángulos de articulación consistentes,


dada la matriz del brazo como en la ecuación (2.2-39), y proporciona un medio
para que el usuario pueda seleccionar una solución única para una configuración
de brazo particular. Este método se presenta en la sección 2.3.2.

2.3.2 Un método geométrico

Esta sección presenta un método geométrico para la resolución del problema


cinemático inverso de manipuladores de seis elementos con articulaciones girato-
rias. La discusión se enfoca sobre un manipulador tipo PUMA. Basado en el
sistema de coordenadas del elemento y en la geometría del brazo humano, se
pueden identificar diversas configuraciones de brazo de un robot tipo PUMA
(Fig. 2.11) con la ayuda de tres indicadores de configuración (BRAZO, CODO y
MUl',IECA) -dos asociados con la solución de las tres primeras articulaciones y
el otro con las tres últimas-. Para un robot de seis ejes tipo PUMA, existen
cuatro soluciones posibles para las tres primeras articulaciones y para cada una
de las cuatro soluciones hay dos soluciones posibles para las tres últimas. Los dos
primeros indicadores de configuración permiten determinar una solución de las
cuatro soluciones posibles para las tres primeras articulaciones. Análogamente, el
tercer indicador selecciona una solución de las dos posibles para las tres últimas
articulaciones. Los indicadores de articulación del brazo se especifican por el
usuario para encontrar la solución inversa. La solución se calcula en dos etapas.
Primero, se deriva un vector de posición apuntando desde el hombro hasta la
muñeca. Esto se utiliza para obtener la solución de cada articulación i (i = 1, 2, 3)
para las tres primeras articulaciones examinando la proyección del vector de
posición sobre el plano X¡_ 1y¡_ 1. Las tres articulaciones últimas se resuelven
utilizando la solución de la articulación calculada de las tres primeras articulacio-
nes, las submatrices de orientación de ºT; y i- 1 A¡ (i = 4, 5, 6), y la proyección del
sistema de coordenadas de los elementos sobre el plano X;_ 1y¡_ 1. De la geome-
tría se puede encontrar fácilmente la solución del brazo de forma consistente.
Como una verificación de la solución de la articulación, se pueden determinar los
indicadores de configuración del brazo de las ecuaciones de decisión correspon-
dientes, las cuales son funciones de los ángulos de la articulación. Con modifica-
ciones y ajustes apropiados se puede generalizar este método para resolver el
problema cinemático inverso de la mayoría de los robots industriales de hoy día
con articulaciones giratorias.
Si se dan ,crThcrnmicnta• entonces podemos encontrar 0T6 por premultiplicar y
postmultiplicar ,crThcrramicnta por B - 1 y H- 1, respectivamente, y la solución del
ángulo de articulación se puede aplicar a ºT6 como se desee.

r
s,. a,.
s, a, P,
O - = =-1~B -1 ~ = (2.3-30)
T6 T ThcrramicnlaH n, s. ª· Pz
o o o l
P,l
64 ROBOTICA: CONTROL, DETECCIO:S:, VISION E INTELIGENCIA

Definición de las diversas configuraciones de brazo. Para un robot PUMA mostra-


do en la figura 2.11 (y otros robots giratorios), se definen diversas configuraciones
de brazo de acuerdo con la geometría del brazo humano y el sistema de coorde-
nadas de elementos que se estableció utilizando el algoritmo 2.1 como (Fig. 2.19):
BRAZO DERECHO (hombro): 02 positivo mueve la muñeca en la dirección z0
positivo mientras la articulación tres no se activa.
BRAZO IZQUIERDO (hombro): 02 positivo mueve la muñeca en la dirección
z0 negativa mientras la articulación tres no se activa.
BRAZO ARRIBA (codo por encima de la muñeca): Posición de la muñeca del

brazo { DERECHO} con respecto al si. stema de coordenadas del hombro


IZQUIERDO
negativo} a lo largo del eje
. y2.
tiene valor de coordenada { . .
posiuvo
BRAZO ABAJO (codo por debajo de la muñeca): Posición de la muñeca del

brazo DERECHO} con respecto al sistema


. de coordenadas del hombro
{ IZQUIERDO

positivo} a lo largo del eje y 2•


tiene valor de coordenada .
{ negativo

MUÑECA ABAJO: El vector unitario s del sistema de coordenadas de la mano


y el vector unitario y5 del sistema de coordenadas (x., Ys. z5) tienen un
producto escalar positivo.
MUÑECA ARRIBA: El vector unitario s del sistema de coordenadas de la
mano y el vector unitario y 5 del sistema de coordenadas (x., y 5, z5) tienen
un producto escalar negativo.
(Obsérvese que la definición de las configuraciones del brazo con respecto al
sistema de coordenadas del elemento pueden tener que ser ligeramente modifica-
das si se utilizan diferentes sistemas de coordenadas para los elementos.)
Con respecto a la definición anterior de las diversas configuraciones del
brazo, se definen dos indicadores de configuraciones de brazo (BRAZO y CODO)
para cada configuración. Estos dos indicadores se combinan para dar una solu-
ción de las cuatro posibles para las tres primeras articulaciones. Para cada una de
las cuatro configuraciones del brazo (Fig. 2.19) definidas por estos dos indicado-
res, el tercer indicador (MUÑECA) da una de las dos posibles soluciones de
articulación para las tres últimas articulaciones. Estos tres indicadores se pueden
definir como:
brazo DERECHO
BRAZO= { + l (2.3-31)
-1 brazo IZQUIERDO
brazo ARRIBA
CODO {+1 (2.3-32)
-1 brazo ABAJO

{+1 muñeca ABAJO


MUÑECA (2.3-33)
-1 muñeca ARRIBA
CINEMATICA DEL BRAZO DEL ROBOT 65

Brazo izquierdo y arriba

Brazo derecho y arriba

Brazo izquierdo y abajo

Brazo derecho y abajo

Figura 2.19 Definición de diversas configuraciones de brazo.

Además de estos indicadores, el usuario puede definir un conmutador «FLIP»


como:

F IP _
L -
{+ 1
_ ¡
Cambiar la orientación de la muñeca
No cambiar la orientación de la muñeca
(2.3-34)

Los valores señalados de estos indicadores y el conmutador se especifican por el


usuario para encontrar la solución cinemática inversa. Estos indicadores se pue-
den también fijar a partir del conocimiento de los ángulos de la articulación del
brazo del robot utilizando las correspondientes ecuaciones de decisión. Posterior-
mente daremos las ecuaciones de decisión que determinan estos valores de los
indicadores. Las ecuaciones de decisión se pueden utilizar como una verificación
de la solución cinemática inversa.
66 ROBOTICA: co;s;TROL, DETECCION, v1s10:-.: E 1:-;TELIGE:-.:CIA

Solución del brazo para las tres primeras articulaciones. Del diagrama cinemáti-
co del robot PUMA en la figura 2.11, definimos un vector de posición p que
apunta desde el origen del sistema de coordenadas del hombro (x0, Yo, z0) hasta el
punto donde intersecciona el último de los tres ejes de la articulación como (véase
figura 2.14):

(2.3-35)

que corresponde al vector de posición de 0T4:

(2.3-36)

Solución de la articulación J. Si proyectamos el vector de posición p sobre el


plano x0y0 como en la figura 2.20, obtenemos las siguientes ecuaciones para
obtener 01:

et=<P-él. ()R1 =n+</)+ét. (2.3-37)


r = Jp; + p; - dzz R = Jp; + p; (2.3-38)

sen <P = P, cos <P = P- x (2.3-39)


R R
dz r (2.3-40)
sen él. COS IX =
R R

donde los superíndices L y R sobre los ángulos de las articulaciones indican las
configuraciones de brazo IZQUIERDO/DERECHO. De las ecuaciones (2.3-37) a
(2.3-40) obtenemos las funciones seno y coseno de 01 para las configuraciones de
brazo IZQUIERDO/DERECHO:

sen et = sen (<P - ét.) = sen <P cos a - cos </) sen él. (2.3-41)

cos et cos (<P - ix) = cos <P cos ix + sen </) sen a -- p,,r +R2pydz (2.3-42)
sen Of = sen (n + <P + a) (2.3-43)

cos ef cos (n + </) + a) (2.3-44)


66 ROBOTICA: CONTROL, DETECCION, v1s10:-; E ISTELIGENCIA

Solución del brazo para las tres primeras articulaciones. Del diagrama cinemáti-
co del robot PUMA en la figura 2.11, definimos un vector de posición p que
apunta desde el origen del sistema de coordenadas del hombro (x0, Yo, z0) hasta el
punto donde intersecciona el último de los tres ejes de la articulación como (véase
figura 2.14):

(2.3-35)

que corresponde al. vector de posición de 0T4:

(2.3-36)

Solución de la articulación J. Si proyectamos el vector de posición p sobre el


plano x0y0 como en la figura 2.20, obtenemos las siguientes ecuaciones para
obtener 81:

8¡=</)-'Y. 8Rl =1t+<j)+'Y. (2.3-37)

r = Jp; + p; - d2
2 R = Jp; + p; (2.3-38)

sen <P
= Py cos <P = Px (2.3-39)
R R
d2 COS IX = r
sen IX (2.3-40)
R R

donde los superíndices L y R sobre los ángulos de las articulaciones indican las
configuraciones de brazo IZQUIERDO/DERECHO. De las ecuaciones (2.3-37) a
(2.3-40) obtenemos las funciones seno y coseno de 81 para las configuraciones de
brazo IZQUIERDO/DERECHO:

sen ef = sen (<P - 7.) = sen <P cos :x - cos <P sen 'Y. (2.3-41)

(A. Px' +R2 (2.3-42)


cos o = cos 'I' - IX) = cos
,1,
'I' cos a + sen <P sen a -
_
ra .
1 Pyd2

sen ef sen (1t + <P + IX) (2.3-43)

COS e R¡
= COS - Px' + Pyd2
(2.3-44)
-----=- ~ -
(1t + </) R 2
+ IX) =
CINEMATICA DEL BRAZO DEL ROBOT 67

Plano x0y0

OA = d2

A8 = r = J p2, + p2y -d22


/
I
1 08 = J p2, + p2y = R
1
\ I
\ Brazo izquierdo /

' ,....._ ./

\ //
....

Cilindro interior con radio d,

Yo
OA = di
(p,. p_,.)
,....- 8

/
/ A8 = r = J P2
X
+ P~-d2
.'f 2
I
I
~=r+,t,+a
1 lfc"~~~.,...+-'-~~~~-xo
08 = Jp; + p;
\
\
\
\
-,

Brazo derecho

Figura 2.20 Solución para la articulación 1.

Combinando las ecuaciones (2.3-41) a (2.3-44) y utilizando el indicador de BRA-


ZO para indicar las configuraciones de brazo IZQUIERDO DERECHO, obte-
nemos, respectivamente, las funciones seno y coseno de 81:

sen 81
- BRAZO pyj p; + p; - d¡ - Px'Íz (2.3-45)
p; + p;

cos ll¡ (2.3-46)


68 ROBOTICA: CONTROL, DETECCI01', VISION E 1'-'TELIGENCIA

ir.. p ; p,)

O AA = d1 EF = P.,
BBC = a1 EG =
P,. C = a.1 DE =
P,
D= d4

Z¡ A

AD = R = J P: + P; + P; - di
E = r = J pl + p2 -
dl r ,\' 2

Figura 2.21 Solución para la articulación 2.

donde se toma la raíz cuadrada positiva en estas ecuaciones y se define BRAZO


como en la ecuación (2.3-31). Con el fin de evaluar 81 para -n ~ 81 ~ n, se
utilizará tal como se definió en la ecuación (2.3- 7) una función arco tangente. De
las ecuaciones (2.3-45) y (2.3-46), y utilizando la ecuación (2.3-7), se encuentra que
81 es:
81 = t g _ 1 (sen 8 1)
cos 8¡

_1 (-BRAZOpyjp; + p; - dJ - Pxdi)
= tg
- BRAZO PxJ p; + p; - d'f + pyd2 (2.3-47~

Solución de la articulación 2. Para encontrar la articulación 2, proyectamos el


vector de posición p sobre el plano x 1y 1 tal como se muestra en la figura 2.21. De
esta figura encontramos que tenemos cuatro configuraciones diferentes de brazo.
Cada una corresponde a valores diferentes de la articulación 2 como se muestra
en la tabla 2.3, donde Oº ~ :x ~ 360º y oc ~ f3 ~ 90º.

Tabla 2.3 Diversas configuraciones de brazo para la articulación 2

Configuraciones de brazo 82 BRAZO CODO BRAZO· CODO

Brazo IZQUIERDO y ARRIBA IX - f3 -1 +I -1


Brazo IZQUIERDO y ABAJO :X + f3 -1 -1 +!
Brazo DERECHO y ARRIBA IX + f3 +l +I +t
Brazo DERECHO y ABAJO IX - f3 +t -1 -1
CINEMATICA DEL BRAZO DEL ROBOT 69

En la tabla anterior, 82 se puede expresar en una ecuación para diferentes


configuraciones de brazo y codo utilizando los indicadores de BRAZO y CODO
como:

82 = a + (BRAZO · COD0)/3 = a + K · /3 (2.3-48)

donde el indicador de configuración de brazo combinado K = BRAZO· CODO


dará un valor de signo apropiado y el «punto» representa una operación de
multiplicación sobre los indicadores. De la geometría del brazo en la figura 2.21
obtenemos:

R = J p; + p; + p; r = Jp; + p; - df (2.3-49)
P, P,
sen !X = -- R = J p; + p; + p; - df
(2.3-50)
2

BRAZO· r BRAZO· Jp; + P1


2 d2
cosa -
(2.3-51)
R Jp; + p2y + p2z _ d22
(2.3-52)
ª2 + R2 - (df + an
cos /3 = 2
2a2R

p; + p; + p; + a~ - df - (d¡ + a~)
2a2Jp; + p; + p; - df
sen /3 = Ji - cos2 P (2.3-53)

De las ecuaciones (2.3-48) a (2.3-53) encontramos las funciones de seno y coseno


de 92:
sen (!X + K · /3) = sen !X cos (K · /3) + cos !X sen (K · /3)
(2.3-54)
= sen a cos /3 + (BRAZO · CODO) cos !X sen /3
cos 82 = cos (!X + K · /3) =
(2.3-55)
= cos a cos /3 - (BRAZO · CODO) sen a sen /3
De las ecuaciones (2.3-54) y (2.3-55) obtenemos la solución para 82:

(2.3-56)
8 2 -_ tg _ 1 (s e n 82)
- -
cos 82
Solución para la articulación 3. Para la articulación 3, proyectamos el vector de
P<>sición p sobre el plano x2y2 tal como se muestra en la figura 2.22. De esta
fi~ura obtenemos cuatro configuraciones de brazos diferentes. Cada configura-
Cton corresponde a valores diferentes de la articulación 3 como se muestra en la
tabla 2.4, donde (2p4)y es la componente y del vector de posición desde el origen
70 ROBOTICA: co;-;TROL. UETEC'C'ION, YISION E INTELIGENCIA

Plano ,,y,
D

BD=~
AD= R =.l •
Jp2 .{ + p2y + pl~ - di2
o.,= ef¡ - /3
Brazo izquierdo y abajo

~D
A

X_¡ 0.1 = ef, - /3 = 90°


Brazo izquierdo y abajo

D
Brazo izquierdo y arriba

Figura 2.22 Solución para la articulación 3.

de (x2, y 2, z2) hasta el punto donde se intersectan los últimos tres ejes de
articu- lación.
De la geometría del brazo en la figura 2.22 obtenemos las ecuaciones siguien-
tes para encontrar la solución a ('3:
+ p; - d¡ (2.3-57)
R= Jp; p;+

cos <P
ai + (d¡ + ai) - R2 (2.3-58)
2a Jd¡2 + ai

sen <P BRAZO· CODO jt cos2 <j)

sen /3
d4 cos /3
laJI (2.3-59)
Jd¡ + a~ jd¡ + a~
CINEMATICA DEL BRAZO DEL ROBOT 71

Tabla 2.4 Diversas configuraciones de brazos para la articulación 3

Configuraciones de brazo (2p4)y 03 BRAZO CODO BRAZO·CODO

Brazo IZQUIERDO y ARRIBA ) o tj)-{3 -1 +l -1

Brazo IZQUIERDO y ABAJO ~o tj)-{3 -l -1 +l

Brazo DERECHO y ARRIBA ~o tj)-{3 +I +l +l


Brazo DERECHO y ABAJO )O tj)-{3 +l -1 -1

De la tabla 2.4 podemos expresar 83 en una ecuación para configuraciones de


brazos diferentes:

(2.3-60)

De la ecuación (2.3-60), las funciones seno y coseno de 83 son, respectivamente:


sen 83 = sen (</> - /3) = sen </> cos /3 - cos </> sen /3 (2.3-61)
i
cos 83 = cos (</> - /3) = cos </> cos /3 + sen </> sen /3 (2.3-62)
1

De las ecuaciones (2.3-6 l) y (2.3-62), y utilizando las ecuaciones (2.3-57) a (2.3-59),


encontramos la solución para 83:

(2.3-63)

Solución del brazo para las últimas tres articulaciones. Conociendo los tres
primeros ángulos de articulación, podemos evaluar la matriz 0T3 que se utiliza
extensivamente para encontrar la solución de las tres últimas articulaciones. La
solución de las tres últimas articulaciones de un robot PUMA se pueden encon-
trar haciendo que estas articulaciones cumplan los criterios siguientes:

l. Fijar la articulación 4 de forma tal que una rotación respecto de la


rotación 5 alineará el eje de movimiento de la articulación 6 con el vector
de aproximación dado (a de T).
2. Fijar la articulación 5 para alinear el eje de movimiento de la articulación
6 con el vector de aproximación.
3. Fijar la articulación 6 para alinear el vector de orientación dado (o vector
de deslizamiento o y6) y el vector normal.
72 ROBOTICA: CONTROL, OETECCION, \ 1SION E INTELIGENCIA

Matemáticamente, los criterios anteriores significan. respectivamente:

dado a = (a,,, a1, a,)7 (2.3-64)

a = Z5 dado a = (a,,, a1, az)7 (2.3-65)

s = Y6 dado s = (s..,, s1, s.)7 y n = (n..,, n1, n.)7 (2.3-66)

En la ecuación (2.3-64) se puede tomar el vector producto vectorial como


positivo o negativo. Como resultado de esto, existen dos soluciones posibles para
(}4. Si el vector producto vectorial es cero (es decir, z3 es paralelo a a), indica el
caso degenerado. Esto sucede cuando los ejes de rotación son paralelos para las
articulaciones 4 y 6. Indica que en esta configuración de brazo particular sería
suficiente un robot de cinco ejes en lugar de uno que tenga seis.

Solución de la articulación 4. Ambas orientaciones de la muñeca (ARRIBA y


ABAJO) se definen observando la orientación del sistema de coordenadas de la
mano (n, s, a) con respecto al sistema de coordenadas (x5, y5, z5). El signo del
vector producto vectorial en la ecuación (2.3-64) no se puede determinar sin
referirse a la orientación del vector unitario n o s con respecto al vector unitario
x5 o y 5, respectivamente, que tienen una relación fija con respecto al vector
unitario z4 a partir de la asignación del sistema de coordenadas del elemento. (De
la figura 2.11 tenernos el vector unitario z4 apuntando en la misma dirección que
el vector unitario y 5.)
Comenzaremos con la hipótesis que el producto vectorial en la ecuación
(2.3-64) tiene signo positivo. Esto se puede indicar mediante un indicador de
orientación n que se define como:

l
si se está en el caso degenerado
si s · y 5 #- O (2.3-67)
n s ~ s,

n · Ys si s · y5 = O

De la figura 2.11, y5 = z4, y utilizando la ecuación (2.3-64), se puede reescribir el


indicador de orientación O cerno:

o si se está en el caso degenerado


(Z3 X a)
s· si S · (z , X a) ,f. Ü (2.3-68)
n= ~Z3 X •I
(Z3 X a)

llz3 X a¡I si S · (Z3 X a) = Ü

Si nuestra hipótesis del signo Je! producto vectorial en la ecuación (2.3-64) no es


correcta, se cambiará posteriesmente utilizando la combinación de MUÑECA y
el indicador de orientación O. La n se utiliza para indicar la orientación inicial
CINEMATICA DEL BRAZO DEL ROBOT 73

1abla 2.5 Diversas orientaciones para la muñeca

Or ·Íentación de muñeca íl=s · y5 o n · y5 MUÑECA M=MUÑECA sign (Q)

ABAJO ~o +I +I
ABAJO <o +1 -1
ARRIBA ~o -1 -1
ARRIBA < o -1 +1

del vector nitario


u z4 (dirección positiva) a partir de la asignación de los sistemas
de coordena das de los elementos, mientras que el indicador MUÑECA especifica
la preferenci a del usuario en la orientación del subsistema MUÑECA de acuerdo
con la defin ición dada en la ecuación (2.3-33). Si ambos indicadores tienen el
mismo signo , entonces la hipótesis del signo dél producto vectorial en la ecuación
{2.3-64) es correcta. En la tabla 2.5 se tabulan diversas orientaciones de MUÑE-
CA que resultan de la combinación de algunos valores de los indicadores de
MUÑECA y su orientación.
Otra vez, observando la proyección del sistema de coordenadas (x¿ y4, z4)
sobre el plano x3y3 y de la tabla 2.5 y la figura 2.23, se puede demostrar que es
cierto lo siguiente (véase Fig. 2.23):

(2.3-69)

donde x3 0T3,
M = MUÑe y3 son los vectores columnas x e y. de respectivamente,
ECA sigo (!l), y la función sigo se define como:
. (2.3- 70)
s1 gn (x) = { _+ 1
SI X ~

Ü
SI X < Ü

1------ z,
1
1
1
sen 84 = - z, 1
( • ~J) 1

Figura 2.23
Solución para la articulación 4.
74 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

Así, la solución para 84 con los indicadores de MUÑECA y orientación es:

(2.3-71)

Si ocurre el caso degenerado, se puede escoger para 84 cualquier valor convenien-


te mientras se satisfaga la orientación de la muñeca (ARRIBA/ABAJO). Esto se
puede asegurar siempre fijando 84 igual al valor actual de 84. Además de esto, el
usuario puede activar el conmutador FLIP para obtener la otra solución de 84,
esto es, 84 = 84 + 180º.

Solución de la articulación 5. Para encontrar 85, utilizamos el criterio que alinea


el eje de rotación de la articulación 6 con el vector de aproximación (o a = z5).
Mirando la proyección del sistema de coordenadas (x5, y5, z5) sobre el plano
x4y4, se puede demostrar que es cierto lo siguiente (véase Fig. 2.24):

(2.3-72)

donde x4 e y4 son, respectivamente, los vectores columnas x e y de ºT4 y a es el


vector de aproximatón. Así, la solución a 85 es:

- 85 = tg " i (sen 85) - 7t ~ 8 5~ 7t


cos 85

= tg_1 [(C1C23C4 - S1S4)ax + (S1C23C4 + C1S4)ay - C4S23a=J (2.3- 73)


C1S23a.,, + S1S23a, + C23a:

Si 85 ~ O, entonces ocurre el caso degenerado.

Solución de la articulación 6. Hasta ahora hemos alineado el eje de la articula-


ción 6 con el vector de aproximación. A continuación necesitamos alinear la
orientación de la pinza para facilitar la recogida del objeto. El criterio para hacer

cos 9~ = -(a· y4)

X.
Figura 2.24 Solución para la articulación 5.
CINEMATICA DEL BRAZO DEL ROBOT 75

esto es fijar s = y6. Mirando la proyección del sistema de coordenadas de la


mano (n, s, a) sobre el plano x5y 5, se puede demostrar que se cumple (véase figu-
ra 2.25):

sen 06 = n · y5 cos ()6 = S . Y5 (2.3-74)

donde y s es el vector columna de ºT5 y n y s son, respectivamente, los vectores


normal y de deslizamiento. Así, la solución a 06 es:

C1C23S4)nx + (C1C4 - S1C23S4)n1 + (S4S23)n=J


- C1C23S4}sx + (C1C4 - S1C23S4)s1 + (S4S23)s,
(2.3- 75)

La derivación anterior de la solución cinemática inversa de un robot PUMA se


basa en la interpretación geométrica de la posición del punto final del elemento 3
y del requisito de orientación de la mano (o herramienta). Existe un inconvenien-
te en la derivación anterior para 04, 05 y 06. El criterio para fijar el eje de
movimiento de la articulación 5 que es igual al producto vectorial de z3 y a puede
no ser válido cuando sen Os : : : : O, lo que significa que Os : : : : O. En este caso, el
manipulador se hace degenerado con los ejes de movimiento de las articulaciones
4 y 6 alineadas. En este estado, solamente es significativo la suma de 04 y 06. Si
ocurre el caso degenerado, entonces somos libres de escoger cualquier valor para
64, y normalmente se utiliza su valor actual y a continuación nos gustaría tener
64 + 06 igual al ángulo total necesitado para alinear el vector de deslizamiento s
y el vector normal n. Si el conmutador FLIP está activado (es decir, FLIP = 1),
entonces ()4 = ()4 + n, Os = - Os Y 06 = 06 + n.
En resumen, existen ocho soluciones al problema cinemático inverso de un
robot tipo PUMA de seis articulaciones. La solución de las tres primeras articu-

X1

FiRUra 2.25 Solución para la articulación 6.


76 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

laciones (81, 82, 83) posicionan el brazo mientras que las soluciones de las últimas
tres articulaciones (84, 85, 86) proporcionan la orientación apropiada de la mano.
Hay cuatro soluciones para las tres primeras articulaciones. Dos para la configu-
ración del brazo del hombro derecho y dos para la configuración del brazo
del hombro izquierdo. Para cada configuración de brazo, las ecuaciones (2.3-47),
(2.3-56),(2.3-63),(2.3-71 ), (2.3-73) y (2.3- 75) dan un conjunto de soluciones (81, 82, 83,
84, 85, 86) y (81, 82, 83, 84 + n, -85, 86 + rr) (con el conmutador FLIP activado)
da otro conjunto de soluciones.

Ecuaciones de decisión para los indicadores de configuración de brazo. La solu-


ción derivada para un brazo tipo PUMA en la sección anterior no es única y
depende de los indicadores de configuración de brazo especificados por el usua-
rio. Estos indicadores (BRAZO, CODO y MUÑECA) se pueden determinar
también a partir de los ángulos de las articulaciones. En este apartado deducimos
las ecuaciones de decisión respectivas para cada indicador de configuración de
brazo. El signo de la ecuación de decisión (positivo. cero o negativo) proporciona
una indicación de la configuración de brazo tal como se definieron en las ecuacio-
nes (2.3-31) a (2.3-33).
Para el indicador BRAZO, siguiendo la definición del brazo DERECHO/IZ-
QUIERDO, se puede encontrar una ecuación de decisión como:
Z¡ X p' +sen el k
Zo. -ijz-,-x-p- Zo.
g(8, p) ='j Px o [z¡ x p'I
O
-p>' sen 81 - p., cos 81 (2.3-76)
llz1 x p'I

donde p' = (p.,, py, 0)7 es la proyección del vector de posición p [Ec. (2.3-36)]
sobre el plano x0y0, z1 (- e
sen 1• cos 81, 0)7 del vector tercera columna de 0T1
, y z0 = (O, O, 1)7. Tenemos las posibilidades siguientes:
l. Si g(8, p) > O, entonces el brazo está en la configuración de brazo
DERECHO.
2. Si g(8, p) < O, entonces el brazo está en la configuración de brazo
IZQUIERDO.
3. Si g(8, p) = O, entonces el criterio para encontrar la configuración de
brazo IZQUIERDO/DERECHO no se puede determinar unívocamente.
El brazo está dentro del cilindro de radio d2 en el espacio de trabajo
(véase Fig. 2.19). En este caso se toma por defecto el brazo a la DERE-
CHA (BRAZO = + 1).
Como el denominador de las ecuaciones de decisión anteriores es siempre
positivo, la determinación de la configuración del brazo IZQUIERDO/DERE-
CHO se reduce a comprobar el signo del numerador de g(8, p):

BRAZO = sign [g(8, p)] = sigo (-Px cos 81 - A· sen 81) (2.3-77)
CINEMATICA DEL BRAZO DEL ROBOT 77

donde la función signo se definió en la ecuación (2.3-70). Sustituyendo las compo-


nentes x e y de p de la ecuación (2.3-36), la ecuación (2.3-77) se hace:

BRAZO = sign [g(O, p)] = sign [g(O)] = sign ( -d4S23 - a3C23 - a2C2)
(2.3-78)

De aquí que a partir de la ecuación de decisión en la ecuación (2.3-78) se puede


relacionar su signo con el indicador de BRAZO para la configuración DERE-
CHO/IZQUIERDO como:

+1 => brazo DERECHO


{ -1 => brazo IZQUIERDO
(2.3-79)

Para el indicador de brazo CODO, seguimos la definición de brazo ARRIBA/


ABAJO para formular la correspondiente ecuación de decisión. Utilizando (2p4)>.
y el indicador BRAZO en la tabla 2.4, la ecuación de decisión para el indicador
CODO se basa en el signo de la componente y el vector de posición 2 A3 3 A4 y el
indicador de BRAZO:

=> CODO encima muñeca


=> CODO debajo muñeca
(2.3-80)

Para el indicador MUÑECA, seguimos la definición de MUÑECA ARRIBA/


ABAJO para obtener un producto escalar positivo de los vectores unitarios se y 5
(O Z4):

MUÑECA + 1 si S · z4 > 0
{ -1 Si S · Z4 < Ü (2.3-81)

~------~ Posición y orientación


An¡ulos de articulación del efector final
Cinemática directa

+
Ecuaciones de decisión

BRAZO, CODO, MUiil'ECA

Cinemática inversa

Figura 2.26 Simulación en computador de la solución de la articulación.


78 ROBOTICA: CONTROL, OETECCION, VISION E INTELIGENCIA

Si s · z4 = O, entonces el indicador MUÑECA se puede encontrar de:

sin· z4 > O (2.3-82)


= sign (n · z 4)
MUÑECA= { ~: sin· z4 < O

Combinando las ecuaciones (2.3-81) y (2.3-82) tenemos:


MUÑECA = {sign (s. z4) si S. Z4 #- Ü + 1 => MU~ECA ARRIBA
sign (n · Z4) Si S' Z4 = Ü { - 1 => MUNECA ABAJO
(2.3-83)

Estas ecuaciones de decisión proporcionan una verificación de la solución del


brazo. Las utilizamos para prefijar la configuración de brazo en el problema
cinemático directo y a continuación utilizamos los indicadores de configuración
de brazo para encontrar la solución cinemática inversa (véase Fig. 2.26).

Simulación en computador. Se puede escribir un programa para verificar la


validez de la solución inversa del robot PUMA mostrado en la figura 2.11. El
programa genera inicialmente todas las posiciones en el espacio de trabajo del
robot dentro de los límites de ángulos de las articulaciones. Se introducen en la
rutina cinemática directa para obtener la matriz de brazo T. Estos ángulos de las
articulaciones se utilizan también para calcular las ecuaciones de decisión para
obtener los tres indicadores de configuración de brazo. Estos indicadores, junto
con la matriz de brazo T, se dan a la rutina de la solución inversa para obtener la
solución de los ángulos de las articulaciones que deberían estar de acuerdo con
los deducidos previamente en la rutina cinemática directa. En la figura 2.26 se
muestra un diagrama de bloques de la simulación en computador.

2.4 OBSERVACIONES FINALES

Hemos discutido en este capítulo el problema cinemático directo e inverso. Se


definieron los parámetros de los elementos y de las articulaciones del brazo de un
robot y se introdujo una matriz de transformación homogénea 4 x 4 para
describir la localización de un elemento con respecto a un sistema de coordena-
das fijo. Se dedujeron las ecuaciones cinemáticas directas para un robot tipo
PUMA de seis ejes.
Se introdujo el problema cinemático inverso y se utilizó la técnica transforma-
da inversa para determinar la solución de los ángulos de Euler. Esta técnica se
puede utilizar también para encontrar la solución inversa de robots simples. Sin
embargo, no proporciona una comprensión geométrica del problema. Así se
introdujo un método geométrico para encontrar la solución inversa de un robot
con seis articulaciones de tipo giratorio. Se determinó la solución inversa con la
ayuda de tres indicadores de configuración de brazo (BRAZO, CODO y MUÑE-
CINEMA TICA DEL BRAZO DEL ROBOT 79

CA). Hay ocho soluciones para un robot tipo PUMA -cuatro soluciones para
Jas tres primeras articulaciones y para la configuración del brazo, dos soluciones
más para las últimas tres articulaciones-. Se puede verificar mediante simula-
ción en computadora la validez de las soluciones cinemáticas directa e inversa.
Con modificaciones y ajustes apropiados se puede generalizar el método geomé-
trico a otros robots industriales simples con articulaciones de tipo giratorio. Los
conceptos cinemáticos que se han tratado en este capitulo se utilizarán de forma
amplia en el capítulo 3 para deducir las ecuaciones de movimiento que describen
Ja conducta dinámica de un brazo de robot.

REFERENCIAS

Más información sobre matrices se puede encontrar en Bellman [ 1970], Frazer y


colaboradores. (1960] y Gantmacher (1959]. La utilización de matrices para
describir la posición de un elemento mecánico rígido se puede ver en el trabajo de
Denavit y Hartenberg (1955] y en su libro (Hartenberg y Denavit (1964]). Más
información sobre coordenadas homogéneas se puede ver en Duda y Hart [ 1973]
y Newman y Sproull (1979]. La discusión sobre cinemática es una extensión de
un trabajo de Lee [ 1982]. Una ampliación sobre cinemática se puede encontrar
en Hartenberg y Denavit (1964] y Suh y RadclifTe(1978]. Aunque la representa-
ción matricial de los elementos presenta un enfoque sistemático para resolver el
problema cinemático directo, el método vectorial para el problema cinemático
presenta una representación más concisa de los mismos. Esto se estudia en un
trabajo por Chase (1;963]. Otros libros de robótica que analizan el problema
cinemático son Paul (1981], Lee, González y Fu (1986] y Snyder (1985].
Pieper [ 1968], en su tesis doctoral, utilizó un método geométrico para resol-
ver el problema cinemático inverso. El estudio de la técnica transformada inversa
para encontrar la solución del brazo se basó en el trabajo de Paul y col. (1981].
El método geométrico para resolver la cinemática inversa de un manipulador de
seis elementos con articulaciones giratorias se basó en el trabajo de Lee y Ziegler
(1984]. La solución del brazo de un robot tipo Stanford se puede ver en un
informe de Lewis [ 1974]. Otras técnicas para resolver la cinemática inversa se
pueden ver en los artículos de Denavit (1956], Kohli y Soni (1975], Yang
Y Freudenstein ( 1964], Yang [ 1969], Yuan y Freudenstein [ 1971 ], DufTy y
R.ooney (1975], Uicker y col. (1964]. Finalmente, el libro tutorial editado
por Lee, González y Fu (1986] contiene numerosos trabajos recientes sobre
robótica.

PROBLEMAS

('i¡) ¿Cuál es la matriz de rotación para una rotación de 30'' respecto del eje OZ, seguida
\~ una rotación de 60" respecto del eje OX, seguida por una rotación de 90º respecto del
CJC OY?
80 ROBOTICA: CONTROL, DETECCI01', \llSION E INTELIGE~CIA

(~i2 ),Cuál es la matriz de rotación para una rotación de ángulo rjJ respecto del eje OX,
-segtíida por una rotación de ángulo i/J respecto del eje O W, seguida por una rotación de
ángulo O respecto del eje O Y?
..13 Encontrar otra secuencia de rotaciones que sea diferente del problema 2.2, pero que
.,~~lle en la misma matriz de rotación.
2.4 Deducir la fórmula para sen (rp + 8) y cos (rp + O) desarrollando simbólicamente dos
rotaciones de rjJ y (} utilizando los conceptos de matriz de rotación estudiados en este
capítulo.
(Í:5) Determinar una matriz T que representa una rotación de ángulo a. respecto del eje
"oz, seguida por una traslación de b unidades de distancia a lo largo del eje OZ, seguida
por una rotación de ángulo rjJ respecto del eje O V.
r '2~Para la figura que se muestra a continuación, encontrar las matrices de transforma-
' -eión homogénea 4 x 4 ;-1A; y ºA; para i = 1, 2, 3, 4, 5.

/
/
/
/
/
/
/
/
/ ¡ •1
Z

Y1

Yo

( ~ Para la figura que _se muestra en la página 81, encontrar las matrices de transforma·
~n homogénea 4 x 4• - 1 A; y O A; para i = 1, 2, 3, 4.

/~ Se ha preparado una estación de trabajo de robot con una cámara de TV, tal como·
: s~uestra en la sección 2.2.11. La cámara puede ver el origen del sistema de coordenadas
ele la base donde se fija un robot de seis elementos, y también el centro de un cubo que
tiene que ser manipulado por el robot. Si se ha establecido un sistema de coordenada local
en el centro del cubo, entonces este objeto, tal como lo ve la cámara, se puede representar
por una matriz de transformación homogénea T1. También el origen del sistema de
CINEMATICADEL BRAZO DEL ROBOT 81

.,.,
?\

T
1 5 in
1
1
1
1
1
1
1
1
4in 1
I Y1
.j---- --------
/
/ 1
/
/ 1

,, 1},\
/

/
/
/
/
/
/ ~l

/
/
/
/
'º , ,.,.,.
/
"/
/

...
~ll
/
1---....,__ 3 in
---(

coordenadas de la base tal como lo ve la cámara se puede expresar por una matriz de
transformación homogénea T2, donde

-[
o o
T,
-IO]
'~]
1 o
o
o
o
o
y
-ri -1
o
o
-1
o 20
10

a) Desgraciadamente, después de que se ha colocado el equipo y se han tomado estos


sistemas de coordenadas, alguien gira la cámara 90ª respecto del eje z de la cámara. ¿Cuál
es la posición/orientación de la cámara con respecto al sistema de coordenadas de la base
del robot? b) Después de que haya calculado la respuesta a la pregunta a), la misma
persona giró el objeto 90º respecto del eje x del objeto y lo trasladó cuatro unidades de
distancia a lo largo del eje y girado. ¿Cuál es la posición/orientación del objeto con
respcc10 al sistema de coordenadas de la base del robot? ¿Y con respecto al sistema de
COordenadas de la cámara girada?

-
~9 Hemos estudiado un método geométrico para encontrar la solución cinemática
.. ,versa de un robot tipo PUMA. Encontrar los requisitos computacionales de la solución
.
~

de la articulación en términos de operaciones de multiplicación y suma y el número de


llarnadas trascendentes (si el mismo término aparece dos veces, el cálculo se debería contar
SOiamente una vez).
82 ROBOTICA: CONTROL, DETECCION, YISION E INTELIGENCIA

1
2;0k:stablecer el sistema de coordenadas del elemento ortonormal (x., Y;, z.) para i = 1,
2-,- ... , 6 para el robot PUMA 260 que se muestra en la figura siguiente y completar la
tabla.

Rotación de cintura 330º

ffi Rotación de hombro 3 IOº

8,0\ ~ Rotación de codo

/~ci~
¡:.;:"' ~'(
~:
_>;;;!:'~ndc
13 in

Parámetrosde coordenadasde
los elementos del robot PUMA
Articulación , 11, ~, a, d,

2
3
4
5
6

/~ Establecer un sistema de coordenadas de elementos ortononnales (x¿ Y;, z;) para


'~i--4= 1, 2, ... , 5 para el robot MINI MOVER que se muestra en la figura siguiente y
completar la tabla. '
CINEMATICA DEL BRAZO DEL ROBOT 83

Parámetros de coordenadas de los


elementos del robot MINIMOVER

Articulación i O, ~, a, d,

3
4
5

'i:ii).
~n robot tipo Stanf?rd se ha movid.~ a las posiciones que se_.muestran ,en I~ figu,ra.
= (90°, - 120·, 22 cm, O", 70·, 90· )7.
't;a(vana bles de articulación en esta posicion son: q
Establecer el sistema de coordenadas del elemento ortogonal (X¡, y¡, z¡) para i = l, 2, ... , 6
para este brazo y completar la tabla.

Parámetros de coordenadas de los


elementos del robot Stanford

Aniculación ;

3
4
5
6

2.Jl Utilizando las seis matrices i- 1 A¡ (i = l, 2, .... 6) del robot PYMA de la figura 2.13,
encontrar su error de posición al final del elemento 3 debido al error de medida de los tres
P11meros ángulos de articulación (601, 602, 603). Es suficiente una solución aproximada
de primer orden.

2.14 Repetir el problema 2.13 para el robot Stanford que se muestra en la figura 2.12.
·~n la figura se muestra un manipulador con dos grados de libertad. Si la longitud
de cada elemento es de un metro, establecer sus sistemas de coordenadas de elementos y
encontrar O A I y I A2• Encontrar la solución cinemática inversa para este manipulador.
84 ROBOTICA: CONTROL, DETECCION. VISION E INTELIGENCIA

/~ -\

·'----lW Para el robot PUMA que se muestra en la figura 2.J 1, suponer que hemos
encontra- do correctamente la solución de las tres primeras articulaciones (81; 82, 83) y
que se dan
1
; - A;, i = 1, 2, ... , 6 y ºT6. Utilizar la técnica de transformación inversa para encontrar la
solución de los tres últimos ángulos de las articulaciones (04, 05, 06). Compare
sus soluciones con las ecuaciones dadas (2.3-71 ). (2.3-73) y (2.3-75).
2.17 Para el robot Stanford de la figura 2.12, obtener la solución de los tres primeros
ángulos de articulación. Puede utilizar cualquier método con el que se sienta cómodo.
2.18 Repetir el problema 2.16 para el robot Stanford de la figura 2.12.

1
/
CAPITULO

TRES
DINAMICA DEL BRAZO DEL ROBOT

Lo inevitable se supera mediante el esfuerzo


Olicer Wendell Holmes

3.l INTRODUCCION ~}1


La dinámica del robot trata con las formulaciones matemáticas de las ecuaciones
de movimiento del brazo. Las ecuaciones de movimiento de un manipulador son
un conjunto de ecuaciones matemáticas que describen su conducta dinámica.
Tales ecuaciones son útiles para la simulación en computadora del movimiento del
robot, el diseño de ecuaciones de control apropiadas para el robot y la evalua-
ción del diseño y estructura del brazo. En este capítulo nos centraremos en la
formulación, características y propiedades de las ecuaciones dinámicas de movi-
miento que son adecuadas con fines de control. El objetivo del control de un
manipulador basado en computadora es mantener la respuesta dinámica del
mismo de acuerdo con algún rendimiento del sistema preespecificado y objetivos
deseados. En general, el rendimiento dinámico de un manipulador depende direc-
tamente de la: eficacia de los algoritmos de control y de su modelo dinámico. El
problema de control consiste en obtener modelos dinámicos del brazo del robot
Iisico y a continuación especificar leyes o estrategias de control correspondientes
para conseguir la respuesta y rendimiento del sistema deseado. Este capítulo trata
principalmente con la primera parte del problema de control del manipulador;
esto es, la modelización y evaluación de las propiedades y conducta dinámica de
robots controlados por computadora.
El modelo dinámico de un robot se puede obtener a partir de leyes fisicas
conocidas tales como las leyes de la mecánica newtoniana y lagrangiana, Esto
conduce al desarrollo de las ecuaciones de movimiento dinámico para las diver-
sas articulaciones del manipulador en términos de los parámetros geométricos e
inerciales de los elementos. Métodos convencionales como las formulaciones de
Lagrange-Euler (L-E) y Newton-Euler (N-E) se pueden aplicar entonces sistemá-
ticamente para desarrollar las ecuaciones de movimiento del robot. De estas dos
formulaciones se obtienen diferentes formas de describir la dinámica del brazo del
robot, tales como las ecuaciones de Lagrange-Euler de Uicker (Uicker [1965],
Bcjczy [1974]), las ecuaciones recursivas de Lagrange de Hollerbach (Hollerbach ;
[1980]), las ecuaciones de Newton-Euler de Luh (Luh y col. [1980a]) y las
ecuaciones generalizadas d' Alembert y Lee (Lee y col. [ 1983]). Estas ecuaciones
de movimiento son «equivalentes» unas a otras en el sentido de que describen la
Conducta dinámica del mismo robot fisico. Sin embargo, sus estructuras pueden
86 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

diferir porque se obtienen por diversas razones y objetivos. Algunas se obtienen


para lograr tiempos de cálculo rápido en la evaluación de los pares de las
articulaciones nominales para controlar el manipulador, otras se obtienen para
facilitar el análisis y la síntesis de control, y todavía otras se obtienen para
mejorar la simulación en una computadora del movimiento del robot.
La obtención del modelo dinámico de un manipulador basado en la formula-
ción de L-E es simple y sistemática. Suponiendo el movimiento del cuerpo rígido,
las ecuaciones de movimiento resultante, excluyendo la dinámica de los dispositi-
vos de control electrónico, huelgo y el rozamiento de los engranajes, son un
conjunto de ecuaciones diferenciales no lineales acopladas de segundo orden.
Bejczy [1974], utilizando la representación de la matriz de transformación homo-
génea 4 x 4 de la cadena cinemática y la formulación lagrangiana, ha demostra-
do que las ecuaciones de movimiento dinámico para un robot tipo Stanford de
seis articulaciones son fuertemente no lineales y constan de carga inercial, fuerzas
de reacción de acoplo entre las articulaciones (Coriolis y centrífuga) y efectos de
carga de la gravedad. Más aún, estos pares/fuerzas dependen de los parámetros
fisicos del manipulador, de la configuración instantánea de las articulaciones, de
la velocidad y aceleración de las articulaciones y de la carga que está soportand~/
el robot. Las ecuaciones de movimiento L-E proporcionan ecuaciones de estado
explícitas para la dinámica del robot y se pueden utilizar para analizar y diseñar
estrategias de control avanzadas en el espacio de las variables de articulación. En
una menor medida se están utilizando para resolver el problema dinámico directo,
esto es, dadas las fuerzas/pares deseadas, se utilizan las ecuaciones dinámicas
para resolver las aceleraciones de las articulaciones, que se integran a continua·
ción para obtener las coordenadas y velocidades generalizadas; o para el proble-
ma dinámico inverso, esto 'es, dadas las coordenadas generalizadas deseadas y sus
primeras dos derivadas respecto del tiempo, se calculan las fuerzas/pares generali-
zados. En ambos casos se puede necesitar calcular los coeficientes dinámicos D;•,
h;k,,. y C; definidos en las ecuaciones (3.2-31), (3.2-33) y (3.2-34), respectivamente.
Desgraciadamente, el cálculo de estos coeficientes requiere una relativa cantidad
de operaciones aritméticas. Así las ecuaciones de L-E son muy dificiles de utilizar
con fines de cr .rol en tiempo real a menos que se simplifiquen.
Como una alternativa para derivar ecuaciones de movimientos más eficientes,
se dirigió la atención a desarrollar algoritmos para calcular las fuerzas/pares
generalizados basados en las ecuaciones de movimientos de N-E (Arrnstrong
[1979], Orín y col. [1979], Luh y col. [!980a]). La obtención es simple, pero
engorrosa, e implica términos de producto vectorial. Las ecuaciones dinámicas
resultantes, excluyendo la dinámica del dispositivo de control, huelgo y roza·
miento de los engranajes, son un conjunto de ecuaciones recursivas hacia adelan-
te y hacia atrás. Este conjunto de ecuaciones se puede aplicar secuencialmente a
los elementos del robot. La recursión hacia adelante propaga la información
cinemática -tal como velocidades lineales, velocidades angulares, aceleraciones
angulares y aceleraciones lineales del centro de masa de cada elemento- desde el
sistema de coordenadas inercial hasta el sistema de coordenadas de la mano. La
recursión hacia atrás propaga las fuerzas y momentos ejercidos sobre cada
elemento desde el efector final del manipulador hasta el sistema de referencia de
DINAMICA DEL BRAZO DEL ROBOT 87

la base. El resultado más significativo de esta formulación es que el tiempo de


cál'culo de las fuerzas/pares generalizados se encuentra que es linealmente pro-
porcional al número de articulaciones del brazo e independiente de la configura-
ción del mismo. Con este algoritmo se puede realizar el control en tiempo real
sirnple del robot en el espacio de las variables de articulación.
La ineficacia de las ecuaciones de movimiento de L-E surge parcialmente de
las matrices homogéneas 4 x 4 que describen la cadena cinemática, mientras que
la eficacia de la formulación de N-E se basa en la formulación vectorial y en su
naturaleza recursiva. Para mejorar aún más el tiempo de cálculo de la formula-
ción Iagrangiana. Hollerbach (1980] ha explotado la naturaleza recursiva de la
formulación lagrangiana. Sin embargo, las ecuaciones recursivas destruyen la
«estructura» del modelo dinámico que es bastante útil en darnos comprensión
para el diseño del controlador en el espacio de estados. Para el análisis del
control en el espacio de estado, sería interesante obtener un conjunto explícito de
ecuaciones diferenciales en forma cerrada (ecuaciones de estado) que describan la
conducta dinámica del manipulador. Además, se deberían identificar fácilmente
las fuerzas de interacción y de reacción de los acopios en las ecuaciones, de
manera que se pudiese diseñar un controlador apropiado para compensar sus
efectos (Huston y Kelly (1982]). Otro método para obtener un conjunto eficiente
de ecuaciones de movimiento explícito se basa en el principio de d'Alembert
generalizado para deducir las ecuaciones de movimiento que se expresan explícita-
mente en forma vectorial matricial apropiadas para el análisis del control. Ade-
más, para permitir un cálculo más rápido de los coeficientes dinámicos que las
ecuaciones de L-E, las ecuaciones de movimiento de G-D explícitamente identifi-
can las contribuciones de los efectos traslacionales y rotacionales de los elemen-
tos. Tal información es útil para diseñar un controlador en el espacio de estado.
La eficacia computacional se consigue a partir de una formulación compacta
utilizando matrices de transformación de Euler (o matrices de rotación) y vecto-
res de posición relativos entre articulaciones.
En este capítulo se obtienen y analizan las ecuaciones de movimiento de L-E,
N-E y G-D de un robot y se estudia un manipulador con dos elementos para
ilustrar el uso de estas ecuaciones. Como el cálculo de los coeficientes dinámicos
de las ecuaciones de movimiento es importante tanto en el análisis del control
como en la simulación por computadora, se tabulan las operaciones matemáticas
Y la carga computacional de estas ecuaciones de movimientos. El cálculo de las
fuerzas/pares aplicadas a partir de las ecuaciones de movimientos de d'Alembert
generalizadas es del orden O(n3), mientras que en las ecuaciones N-E son del
orden de O(n4) [o del orden O(n3) si se optimizan] y las ecuaciones de N-E son
del orden de O(n), donde n es el número de grados de libertad del brazo.

3.2 FORMULACION DE LAGRANGE-EULER {J~


las ecuaciones de movimiento general de un manipulador se pueden expresar
convenientemente mediante la aplicación directa de la formulación de Lagrange-
Euler a sistemas no conservativos. Muchos investigadores utilizan la representa-
88 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

ción matricial de Denavit-Hartenberg para describir el desplazamiento espacial


entre los sistemas de coordenadas de elementos vecinos para obtener la informa.
ción cinemática del elemento, y emplean la técnica dinámica lagrangiana para
deducir las ecuaciones dinámicas de un manipulador. La aplicación directa de la
formulación dinámica lagrangiana, junto con la representación de coordenadas
de elementos de Denavit-Hartenberg, resulta en una descripción algorítmica
conveniente y compacta de las ecuaciones de movimiento del manipulador. El
algoritmo se expresa mediante operaciones matriciales y facilita tanto el análisis
como su realización en una computadora. La evaluación de la dinámica y de las
ecuaciones de control en términos funcionalmente explícitos se basará en el
algoritmo matricial compacto deducido en esta sección.
La derivación de las ecuaciones dinámicas de un manipulador con n grados
de libertad se basa en la comprensión de:
l. La matriz de transformación de coordenadas homogéneas 4 x 4, i - 1 A¡,
que describe la relación espacial entre los sistemas de coordenadas del
elemento i-ésimo y el elemento (i - 1 )-ésimo. Relaciona un punto fijado
en el elemento i expresado en coordenadas homogéneas con respecto al
sistema de coordenadas i-ésimo en el sistema de coordenadas (i - 1)-
ésimo.
2. La ecuación de Lagrange-Euler /
oL = l, 2, ... , n (3.2·1)
d (ºL)
t¡ i
oq
dt o~¡ ¡
1

donde

L = función lagrangiana = energía cinética K - energía potencial P",


K = energía cinética total del brazo;
P = energía potencial total de brazo;
q¡ = coordenada generalizada del brazo;
<j1 = primera ierivada respecto al tiempo de la coordenada generaliza·
da q1;
t; = fuerza (o par) generalizado aplicado al sistema en la articulación i
para mover el elemento i.
De las ecuaciones de Lagrange-Euler anterior se requiere escoger adecuadamente
un conjunto de coordenadas generalizadas para describir el sistema. Las coorde-
nadas generalizadas se utilizan como un conjunto de coordenadas convenientes
que describen completamente la localización (posición y orientación) de un siste-
ma con respecto a un sistema de coordenadas de referencia. Para un manipulador
simple con articulaciones giratorias-prismáticas, están disponibles diversos con·
juntos de coordenadas generalizadas para describir el manipulador. Sin embargo,
como las posiciones angulares de las articulaciones están disponibles rápida·
mente porque se pueden medir mediante potenciómetros o codificadores u otros
dispositivos sensores, proporcionan una correspondencia natural con las coorde·
nadas generalizadas. Esto, en efecto, corresponde a las coordenadas generalizadas
DINAMICA DEL BRAZO DEL ROBOT 89

con las variables articulaciones definidas en cada una de las matrices de transfor-
mación de coordenadas de elementos 4 x 4. Así, en el caso de una articulación
giratoria, q¡ = O;, que es el margen del ángulo de la articulación; mientras que
para una articulación prismática, q¡ = d¿ que es la distancia recorrida por la
articulación.
La siguiente deducción de las ecuaciones de movimiento de un manipulador
con n grados de libertad se basa en las matrices de transformación de coordena-
das homogéneas desarrolladas en el capítulo 2.

3.2.1
Velocidades de las articulaciones de un robot ú) ~t
La formulación de Lagrange-Euler requiere el conocimiento de la energía cinética
del sistema físico, que a su vez requiere un conocimiento de la velocidad de cada
articulación. En esta sección se deducirá la velocidad de un punto fijado en el
elemento i y se explorarán los efectos del movimiento de otra articulación sobre
todos los puntos en este elemento.
Con referencia a la figura 3.1, sea 'r; un punto fijo y en reposo en el elemento i
y expresado en coordenadas homogéneas con respecto al sistema de coordenadas
del elemento i-ésimo,

, -[n- (x,, y,, z,, !)' (3.2-

2)

Sea 0r¡ el mismo punto ir; con respecto al sistema de coordenada de la base, i - t A;
la matriz de transformación de coordenadas homogéneas que relaciona el despla-
zamíento espacial del sistema de coordenadas del elemento i-ésimo con respecto
al sistema de coordenadas del elemento (i - 1 )-ésimo y O A; la matriz de transfor-
mación de coordenadas que relaciona el sistema de coordenadas i-ésimo con el
sistema de coordenadas de la base; entonces 0r¡ está relacionado con el punto ir;
por
(3.2-3)
donde
(3.2-4)

Si la articulación i es de revolución, se sigue de la ecuación (2.2-29) que la forma


&eneral de i r-
1 A; está dada por
¡_ 1 A- =
f cos
sen O;
e, - cos CL¡ sen O¡ sen CL; sen O;
cos ci; cos O; -sen O!¡ cos O¡
a, cosO,l
a; sen O;
(3.2-5)
I o sen o,:1 cos O!¡ d¡
o o o 1
90 ROBOTICA: CONTROL, DETECCION, VJSION E INTELIGENCIA

Figura 3.1 Un punto ir; en el elemento t.


'
1

!
o, si la articulación i es prismática, de la ecuación (2.2-31 ). la forma general de
;-1A; es

[cm 8, -cosa.¡ sen fJ¡ sen a.¡ sen fJ¡

n
sen u; cos :X¡ cos () i - sen a, cos fJ; (3.2-6)
i-1A;
o sen a.; cos :X¡
o o o

En general, todos los elementos no nulos en la matriz O A; son una función de


(fJ1, fJi, ... , fJ;), y a.;, a.; d, son parámetros conocidos de la estructura cinemática
del brazo y fJ¡ o d, es la variable de articulación del elemento i. Con el fin de
deducir las ecuaciones de movimiento que son aplicables a ambas articulaciones
de revolución y prismática, utilizaremos la variable q¡ para representar la coorde-
nada generalizada de la articulación i que es fJ¡ (para una articulación giratoria) o
d, (para una articulación prismática).
Como el punto ir; está en reposo en el elemento i, y suponiendo el movimien·
to del cuerpo rígido, otros puntos asi como el punto 'r, fijado en el elemento i Y
expresado con respecto al sistema de coordenadas i-ésimo tendrán velocidad nula
con respecto a dicho sistema de coordenadas (que no es un sistema inercial). La
DINAMICA DEL BRAZO DEL ROBOT 91

velocidad de 'r, expresada en el sistema de coordenadas de la base (que es un


sistema inercial) se puede expresar como

= ºAº 1A
+ ...
1 2 · · • i r¡ 1 2· • · ¡ r¡

i-lA i + ºA 1A 0
¡-¡A i

. 1. .
+ (3.2- 7)
L .
OA O · u:,OA )
+ =i i ·
'r,
1 ••. •- A;'r¡ A;'r¡ (
-:,-rt
1=1 uqj

La forma compacta anterior se obtiene porque ir¡ = O. La derivada parcial de O A¡


con respecto a qi se puede calcular fácilmente con la ayuda de una matriz Q¡ que,
para una articulación de revolución, se define como
-1

[f ~]
o
(3.2-8a)
o o
Q, ~ o o
o o

y, para una articulación prismática, como

(3.2-8b)

Entonces se sigue que


(3.2-9)

Por ejemplo, para un brazo con todas las articulaciones giratorias, q¡ = 8;, y
utilizando la ecuación (3.2-5),

ai-1A¡ [-~ne
cos 8.'
-cos 'X¡ cos 8¡ sen 'X; cos 8¡
- cos a, sen 8¡ sen 'X¡ sen 8¡
-a

1
~ne ]
cos 8;
1

=
06¡ - O o o o
o o o o
cose,]
. [I [eme,
-1 o - cos 'X¡ sen 8¡ sen 'X¡ sen 8;
a,
o o sen 8; cos IJ.¡ cos 8¡ - sen a; cos 8¡ a; sen 8; =
o o o sen x, cos '.1.¡ d¡ -
o o o o o l
== Q/-IA¡
92 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

De aquí, para i = 1, 2, ... , n,

;iOA {ºA 1 1A J-2A QJ i : lAJ· lA


para}~
_u_¡ = 2· · · J-1 · ·
i-
¡ (3.2-10)
para}>
oq1 o

La ecuación (3.2-10) se puede interpretar como el efecto del movimiento de la


articulación} sobre todos los puntos en el elemento i. Con el fin de simplificar las
notaciones, definamos U¡i ~ oº AJoqJ, entonces la ecuación (3.2-10) se puede
escribir como sigue para i = 1, 2, ... , n,
ulj -- ºA j-1 Q j J-1A j para j ~
{o para}>
(3.2-11)

Utilizando esta notación, V¡ se puede expresar como

(3.2-12)

Conviene apuntar que la derivada parcial de i-1A¡ con respecto a q¡ resulta en


una matriz que no retiene la estructura de una matriz de transformación de
coordenadas homogéneas. Para una articulación giratoria, el efecto de prernulti-
/ plicar i- i A¡ por. Q¡ es equivalente a intercambiar los elementos de las dos
primeras filas de ·- 1 A¡, negando todos los elementos de la primera fila y anulan-
! do todos los elementos de las filas tercera y cuarta. Para una articulación
prismática, el efecto es sustituir los elementos de la fila tercera por la fila cuarta
de ,- 1 A1 y anular los elementos en las otras filas La ventaja de utilizar las
matrices Q; es que podemos todavía utilizar las matrices i- 1 A¡ y aplicar las
operaciones anteriores a ,- i A¡ cuando se premultiplica por la Q¡.
A continuación necesitamos encontrar los efectos de interacción entre las
articulaciones como

¡
Q 1 1-1A i
ºA j-1 Q j J-1A
1-1 i ~ k ~ j

- ºA 1-1 Q1 1-IA j-1 Qj J-IA i i~j~k (3.2-13)


o i<Joi<k

Por ejemplo, para un robot con todas las articulaciones giratorias, i =j =k = 1


y q1 = 81, así que

La ecuación (3.2-13) se puede interpretar como los efectos de interacción del


movimiento de la articulación j y k sobre todos los puntos en el elemento i.
DINAMICA DEL BRAZO DEL ROBOT 93

J,.2.2 Energía cinética de un manipulador (P~


pespués de obtener la velocidad de la articulación de cada elemento, necesitamos
encontrar la energía cinética del elemento i. Sea K¡ la energía cinética del elemen-
to;,; = l, 2, ... , n, expresada en el sistema de coordenadas de la base, y sea dK¡
la energía cinética de una partícula con masa diferencial dm en el elemento i;
entonces

dK¡ = 1/2(:x¡ + y¡ + i¡) dm


= 1/2
traza (vívT) dm = 1/2 Tr (v¡vT) dm (3.2-14)

donde se utiliza un operador traza" en lugar de un producto escalar de vectores


en la ecuación anterior para formar el tensor del cual se puede obtener la matriz
de inercia del elemento J¡ (o matriz de pseudoinercia). Sustituyendo V¡ de la
ecuación (3.2-12), la energía cinética de la masa diferencial es

(3.2-15)

La matriz Uij es la velocidad de cambio de los puntos ('rJ sobre el elemento i


· relativo al sistema de coordenadas de la base cuando qj cambia. Es constante
para todos los puntos en el elemento i e independiente de la distribución de masa
del elemento i. También q¡ son independientes de la distribución de masa del
elemento i, así que, sumando todas las energías cinéticas de todos los elementos
y poniendo la integral dentro de los corchetes,

(3.2-16)

El término integral dentro del corchete es la inercia de todos los puntos en el


elemento i, de aquí que:
f xf dm fx¡Y¡d
m
f X¡ dm ]f ,
J
¡ ¡ 1¡ r
== f r. r: dm ==
fx¡y¡dm f yf dm X¡Z¡dm ..-------
f y¡:¡ . dm
¡ f -~
/
{3.2-17)
dm
-r '
• Tr A ~ L01,·
f y¡:¡dm f :¡ dm f dm
[ f X¡:¡ dm fx¡dm f-¡dm
fy,dm f:¡dm .
94 ROBOTICA: CONTROL, DETECCION, VIS!ON E INTELIGENCIA

donde \ = (X¡, y¡, z;, 1 )7 se define como antes. Si utilizamos el tensor de inercia /11
que se define como

donde los índices i, j, k indican los ejes principales del sistema de coordenadas
i-ésimo y Ó¡i es la delta de Kronecker, entonces J; se puede expresar en un tensor
de inercia como

-(u + t., + t., t., fu m;i;


2
t., /JU - I,, + i: ly, m¡J¡
J¡ 2
i: t; l}C}C + i; - i: m.i¡
2
m.x, m¡y¡ m.i¡ m¡

(3.2-18)

o utilizando el radio de giro del cuerpo rígido m, en el sistema de coordenadas


(x;, y1,Z¡), se puede expresar J¡ como

- k¡, 1 + k¡22 + k¡33 kf,2 k¡,3 x,


2
kf,2 k¡, 1 - k¡22 + k¡33 k¡23 J¡
J;=m¡ 2
k¡,3 k¡23 k¡, 1 + k¡22 - k¡33 i¡
2
X¡ J¡ t, l
(3.2-19)

donde km es el radio de giro del elemento i respecto del eje yz e i¡'¡ = (x1, Ji, i,,
J )7 es el vector centro de masa del elemento i desde el sistema de coordenadas del
elemento i-ésimo y expresado en el sistema de coordenadas del elemento i-ési1110,
De aquí que la energía cinética total K de un brazo de robot es

(3.2-20)
DINAMICA DEL BRAZO DEL ROBOT 95

que es una cantidad escalar. Obsérvese que las J¡ son dependientes de la distribu-
ción de masa del elemento i y no de su posición o velocidad de movimiento y se
expresan con respecto al sistema de coordenadas i-ésimo. Por tanto, la J;
se necesita calcular solamente una vez para obtener la energía cinética de un
robot.

3.2.3 Energía potencial de un manipulador

Sea P la energía potencial total de un robot y sea P; la energía potencial de cada


uno de sus elementos:

i = 1, 2, ... , n (3.2-21)

y la energía potencial total del brazo se puede obtener sumando todas las
energías potenciales en cada elemento,
" (3.2-22)
P = P; I
m¡g(ºA; ii'¡)
i= 1 ¿-
"
i= 1

donde g = (g.,,, gy, g=, O) es un vector fila de gravedad expresado en el sistema de


coordenadas de la base. Para un sistema de nivel, g = (O, O, -lgl, O) y g es la
constante gravitacional (g = 9,8062 m/s2).

3.2.4 Ecuaciones de movimiento de un manipulador

De las ecuaciones (3.2-20) y (3.2-22), la función lagrangiana l = K - P está


dada
por
(3.2-23)
l = 1/2
¿ ¿ ¿
n i i
[Tr (UiiJi V~),tqk] + ¿n

m;g(ºA/r;)
i=I j=l k=I i=l

Aplicando la formulación de Lagrange-Euler a la función lagrangiana del brazo


[ecuación (3.2-23)] da el par generalizado necesario 'i para que el actuador de la
articulación i mueva el elemento i-ésimo del manipulador,

T¡ ~ : (:~) - ;~ =
== I,
i=t
t
s=:
Tr(VikJiVJ¡)iik + I, 'f. 'f.
j=ik=lm=I
Tr(Vik,,.JiVJ¡)qkq,,. - I,migV/ri
i=t
(3.2-24)
96 ROBOl .CA: CONTROL. DETECCION, VISlON E l;',;TELIGENCIA

para i = 1, 2, ... , n. La ecuación anterior se puede expresar de forma mucho más


simple en notación matricial como

r, = L.
k=l
DAk + L" L"
k=I m=I
hikmi¡ki¡m + C¡ i = 1, 2, ... , n (3.2-25)

o en forma matricial como

r(t) = D(q(t)) ij(t) + h(q(t), q(t)) + c(q(t)) (3.2-26)

donde

r(t) = n x I vector par generalizado aplicado en las articulaciones i = 1, 2, ... ,


n; esto es,

(3.2-27)

q(t) = un vector n x de las variables de articulación del brazo y se puede


expresar como
(3.2-28)

q(t) = un vector n x I de la velocidad de las articulaciones del brazo y se puede


expresar como

(3.2-29}

ij(t) = un vector n x I de la aceleración de las variables de articulación q(t) y se


puede expresar como

ij(t) = (q'¡(t), ij2(t), ... , ij.(t))T (3.2-30)

D(q) = una matriz simétrica inercial relacionada con la aceleración n x n cuyos


elementos son
o; =
" Tr (V,kJJVJ)
¿ i, k = 1, 2, ... , n (3.2-31)
j = núx (i. k)

h(q. q) = un vector de fuerza de Coriolis y centrífuga no lineal n x 1 cuyos


elementos son

h(q, q) = (h1, h2, .•.• h.f


n n
donde h, = ¿ ¿ h¡k,,.i¡ki¡,,. i = 1, 2, ... , n (3.2-32)
l = 1 m= 1
y hikm = ¿•
j=mhfi.k,m)
Tr (VjkmJJ Uj¡) i, k, m = 1, 2, ... , n (3.2-33)
DINAMICA DEL BRAZO DEL ROBOT 97

c(q) = un vector de la fuerza de la carga gravitatoria n x I cuyos elementos son


n

donde
C¡ ¿ (-migVi/i)
j=i
i = 1, 2, ... , n (3.2-34)

J.2.5 Ecuaciones de movimiento de un brazo de robot


con articulaciones giratorias

Si las ecuaciones dadas por (3.2-26) a (3.2-34) se amplían para un robot de seis
ejes con articulaciones giratorias, entonces se obtienen los términos siguientes
que forman las ecuaciones de movimiento dinámico:

La matriz simétrica relacionada con la aceleración, 0(9). De la ecuación (3.2-31)


tenemos

0(9) = (3.2-35)
o.,

donde

D11 Tr(U11J1Ufi) + Tr(U21'J2UL) + Tr(U31J3Uft) +


+ Tr(U41J4U¡¡) + Tr(U51J5Uf¡) + Tr(U61J6U¿¡)
D12 D21 = Tr(U22J2UL) + tr(U32J3Uft) + Tr(U42.J4U¡¡) +
· + Tr(U52J5U;¡) + Tr(U62J6U¿¡)
Du = D31 = Tr(U33J3Uf¡) + Tr(U43J4U¡¡) + Tr(U53J5Uf1) +
+ Tr (U63J6 U¿1)
D14 D41 = Tr(U44J4U¡¡) + Tr(U54J5Ufi) + Tr(U64J6U¿1)
Du = D51 = Tr(U55J5U;¡) + Tr(U6sJ6U¿1)
D,6 D61 = Tr (U66J6 U¿¡)
D22 = Tr (U22J2U{2) + Tr (U32J3Uf2) + Tr (U42J,U¡2) +
+ Tr (U52J5U{2) + Tr (U62J6U¿2)
D23 = D32 = Tr(U33J3Uf2) + Tr(U,3J,U¡2) + Tr(U53J5Uf2) +
+ Tr (U63J6 U¿2)
98 ROBOTICA: CONTROL, DETECCION, VTSION E INTELIGENCIA

D25 Ds2 = Tr(U55J5U;2) +·Tr(U65J6U¿2)


D26 D62 = Tr(U66J6U¿2)
D33 Tr(U33J3UL) + Tr(U43J4UL) + Tr(U53J5U;3) +
+ Tr (U63J6 U¿3)
D34 D43 = Tr(U44J4UI3) + Tr(U54JsU;3) + Tr (U64J6 U¿3)
D3s D53 = Tr(U55J5U;3) + Tr(U65J6U¿3)
D36 D63 = Tr (U66J6 U¿3)
D44 = Tr(U44J4UI4) + Tr(Us4JsU;4) + Tr(U64J6U¿4)
D45 D54 = Tr(UssJsU;4) + Tr(U65J6U¿4)
D46 D64 = Tr (U66J6 U¿4)
o., Tr(UssJs U;s) + Tr (U6sJ6 U¿s)
Ds6 D6s = Tr (U66J6 U¿s)
D66 Tr (U66J6 U¿6)

Los términos de Coriolis y centrifugo, b(O, Ó). Los coeficientes relacionados con la
velocidad en los ~érminos de Coriolis y centrífugos en las ecuaciones (3.2-32) y
(3.2-33) se puede1 expresar separadamente mediante matrices simétricas 6 x 6
representadas po H;. v y definidas de la forma siguiente:

h¡¡¡ h;12 h¡¡3 h¡¡4 h¡¡5 hil6


h;12 h¡22 h;23 h¡24 h¡25 hi26
h¡13 h¡23 h¡33 h¡34 h¡35 hi36
H;.v h¡¡4 h¡24 h¡34 h¡44 h¡45 i = l , 2, ... , 6 (3.2-36)
hi46
h¡¡5 h¡25 hi35 h¡45 h¡55 hi56

hil6 hi26 h, 36 hi46 hi56 hi66

Sea un vector columna de seis dimensiones representado por ó la velocidad de las


variables de las seis articulaciones:
(3.2-37)

Entonces la ecuación (3.2-32) se puede expresar en la siguiente forma de producto


de matriz-vector:
h. 1 = Ó7ff. Ó (3.2-38)
1,1)

donde el subíndice i se refiere a la articulación (i = 1, ... , 6) en el cual se


«manifiestan» los pares o fuerzas inducidos por la velocidad.
DINAMICA DEL BRAZO DEL ROBOT 99

La expresión dada por la ecuación (3.2-38) es una componente en un vector


columna de seis dimensiones representado por h(O, 9):
h¡ 9TH l. v9
9T
h2 H2.v8
• (3.2-39)
h(O, 9) h3 IJTH3.vÓ
h4 9TH4, vÓ
hs IJTHs,vÓ
h6 {jTH6,v9

Los términos de gravedad, c(O). De la ecuación (3.2-34) tenemos


(3.2-40)

donde

Ci = -(m1gU111r1 + m2gU2/r2 + m3gU313i'3 + m4gU4/i'4 +


+ msgUs1 5i\ + m6gU616i'6)
C2 = -(m2gU2/i'2 + m3gU3/i\ + m4gU424i'4 + msgUs/rs +
+ m6gU62 6i'6) 1
¡

5i's
C3 -(m3gU3/r3 + m4gU43
4i'4
+ msgUs3 t m6gU63 6i'6)
4r4 5i's
C4 -(m4gU44 + msgU54 + m6gU6/r6)

Cs -(msgUs/i's + m6gU6s6r6)
6r6
c6 = -m6gU66

Los coeficientes C¡, Dik y hikm en las ecuaciones t).2-31) a ~3.2·34) son funciones
de ambas, las variables de articulación y los parámetros inerciales del manipula-
dor y algunas veces se llaman los coeficientes dinámicos del manipulador. El
significado fisico de estos coeficientes dinámicos se puede ver fácilmente de las
ecuacíones de movimiento de Lagrange-Euler dadas por las ecuaciones (3.2-26) a
(3.2-34):
l. El. coeficiente c, representa los términos de carga gravitatoria debido a los
elementos y se define por la ecuación (3.2-34).
2. El coeficiente D,.
está relacionado con la aceleración de las variables de
articulación y se define por la ecuación (3.2-31). En particular, para i =
k,
D¡¡ está relacionado con la aceleración de la articulación i donde el par
motor r, actúa, mientras que para i :/:- k, D¡k está relacionado al par (o
fuerza) de reacción inducido por la aceleración de la articulación k y
actuando en la articulación i o viceversa. Como la matriz de inercia es
simétrica y Tr (A) = Tr (A T), se puede demostrar que Du. =
Du.
100 ROBOTJCA: C,ONTROL, DETECCION, VJSION E INTELIGENCIA

3. El coeficiente hikm está relacionado con la velocidad de las variables de la


articulación y se define por las ecuaciones (3.2-32) y (3.2-33). Los dos
últimos índices, km, están relacionados con las velocidades de las articula-
ciones k y m, cuya interrelación dinámica induce un par (o fuerza) de
reacción en la articulación i. Así el primer índice i se relaciona siempre
con la articulación donde se «siente» los pares (o fuerzas) de reacción
inducidos por la velocidad. En particular, para k = m, hikk está relaciona-
do con la fuerza centrifuga generada por la velocidad angular de la
articulación k y «sentida» en la articulación i, mientras que para k -/:- m,
h¡k,,, está relacionada con la fuerza de Coriolis generalizada por las veloci-
dades de las articulaciones k y m y «sentida» en la articulación i. Se
observa que, para un i dado, tenemos hikm = h¡,,,k que resulta obvio por
razonamientos físicos.
Al evaluar estos coeficientes, es conveniente observar que alguno de ellos
puede ser nulo por las siguientes razones:
l. El diseño cinemático particular de un manipulador puede eliminar algún
acoplo dinámico (coeficientes Du y h¡¡,,..) entre los movimientos de las
articulaciones.
2. Alguno de los coeficientes dinámicos relacionados con la velocidad tienen
solamente una existencia formal en las ecuaciones (3.2-32) y (3.2-33);esto
es, son físicamente inexistentes. (Por ejemplo, la fuerza centrífuga no
interaccionará con el movimiento de la articulación que lo genere, esto es,
h¡¡¡ = O siempre; sin embargo, puede interaccionar con los movimientos
en las otras articulaciones en la cadena, esto es, podemos tener h jii i= O.)
3. Debido a variaciones particulares en la configuración del elemento duran-
te el movimiento, algunos coeficientes dinámicos se pueden anular en
instantes particulares de tiempo.
Las ecuaciones de movimiento de un manipulador, tal como se han dado por
las ecuaciones (3.2-26) a (3.2-34),son ecuaciones diferenciales ordinarias de segun·
do orden no lineales acopladas. Estas ecuaciones están en forma de ecuaciones
diferenciales simbólicas e incluyen todos los efectos inerciales, centrífugos, de
Coriolis y gravitacionales de los efectos de los elementos. Para un conjunto dado
de pares aplicados r 1 (i = 1, 2, ... , n) como una función del tiempo, la ecuación
(3.2-26) debería ser integrada simultáneamente para obtener el movimiento real
del manipulador en términos de la historia temporal de las variables de articula-
ción q(t). Después, dicha historia temporal se puede transformar para obtener Ja
correspondiente del movimiento de la mano (trayectoria de la mano) utilizando
las matrices de transformación homogéneas apropiadas. O, si se conocen de
antemano a partir de un programa de planificación de trayectoria la historia
temporal de las variables de articulación, velocidades y aceleraciones, entonces se
pueden utilizar las ecuaciones (3.2-26) a (3.2-34) para calcular los pares aplicados
r(t) como función del tiempo que se necesita para producir el movimiento del
manipulador particular planificado. Esto se conoce como control en lazo abierto.
Sin embargo, el control en lazo abierto es más deseable para un sistema robótico
autónomo. Este tema se estudiará en el capítulo 5.
DINAMICA DEL BRAZO m:1. ROHHr 101

fabla 3.1 Complejidad computacional de las ecuaciones de movimiento


de Euler-Lagrange *

Formulación de Lagrange-Euler Multiplicaciones" Adiciones


32n(n - 1) 24n(n - 1)
51n - 45
4n(9n - 7) n---
2

f. m gU/rJ 1 o
iª'
Tr [U.¡Jt(UtYJ (128/J)n(n + l)(n + 2) (65/2) n(n + t )(n + 2)

Tr [Ut¡Jt(Ut;)
T
] o (1/6) nin - l)(n + 1)
¿ •

•••h(i,j)

Tr [U.,1tJ .. (U,. (128/3)n2(n + l)(n + 2) (65/2) n2(n + t )(n t- 2)


¡)7]

. . .i: Tr (U,,.11J,..(U,,.;)7] o ( 1/6)n2(n - 1 )(n + 1)

t = l>(q)q + b(q, q) + c(q) (128/3)n4 + (512/3)n3 + (98/3)n4 + (781/6Jn1 +


+ (844/3)n2 + (76/3)n + (637/3)n2 + (107/6)n
• n = .número de grados de libertad del brazo.
1
A causa de su estructura matricial, las ecuaciones de L-E son interesantc:s
desde d punto de vista de control en lazo cerrado porque dan un conjunto de
ecuaciones de estado como en la ecuación (3.2-26). Esta forma permite el diseño
de una ley de control que compensa fácilmente todos los efectos no lineales.
Bastante a menudo en el diseño de un controlador por realimentación para un
manipulador se utilizan los coeficientes dinámicos para minimizar los efectos no
lineales de las fuerzas de reacción (Markiewicz [ 1973]).
Es de interés evaluar las complejidades computacionales inherentes a la oh-
tención de coeficientes en las ecuaciones (3.2-31) a (3.2-34). La tabla 3. 1 resume las
complejidades computacionales de las ecuaciones de movimiento de L-E en
términos de las operaciones matemáticas requeridas (multiplicaciones y
sumas¡ que se .necesitan para calcular la ecuación (3.2-26) para cada punto de
consigna en la trayectoria. Computacionalmente estas ecuaciones de
movimiento son ex- tremadamente ineficientes cuando se las compara con otras
formulaciones. En el siguien.teapartado desarrollaremos las ecuaciones de
movimiento de un robot Que serán más eficaces para calcular los pares
nominales.

3.2.6 Un ejemplo de un manipulador con dos elementos [}~


Para demostrar cómo utilizar las ecuaciones de movimiento de L-E en las
ecuaciones (3.2-26) a (3.2-34), se desarrolla en este apartado un ejemplo para un
102 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

Figura 3.2 Un manipulador de dos elementos.

manipulador de dos elementos con articulaciones de revolución tal como se


muestra en la figura 3.2. Todos los ejes de rotación en las articulaciones están a lo
largo del eje z normal a la superficie del papel. A continuación se dan las
dimensiones fisicas tales como posición del centro de masa, masa de cada elemen-
to y sistemas de coordenadas. Estamos interesados en deducir las ecuaciones de
movimiento del robot con dos elementos anteriores utilizando las ecuaciones
(3.2-26) a (3.2-34).
Suponemos lo siguiente: variables de articulación = 81, 82; masa de los
elementos =m1, mú parámetros de los elementos = cc1 = cc2 = O; d, = d2 = O;
y a1 = a2 = /. Entonces. de la figura 3.2 y del estudio del apartado previo
se obtienen las matrices de transformación de coordenadas homogéneas i- 1 A¡
(i = 1, 2) como

[e,
'A, - ~'
-S,
C1
OO /C,]
/S1 IA2 -
[e,o -s,
S2 C2
OO IC,]
/S2
o l o O 1 O

O O 1 o O O 1

/(C., + C,)]
[e " -S12 o
= S1 2 C12 o /(S12 + S1)
ºA2 ºA11A2
o o l o
o o o 1
DINAMlCA DEL BRAZO DEL ROBOT 103

donde C1 = cos 01; S1 = sen 01; Cii = cos (O; + O); Sii = sen (O; + Oi). De la
definición de la matriz Q;, para una articulación giratoria, tenemos

o -1 o
o
!]
1 O
Q¡ = o o o
[o o o
Utilizando la ecuación (3.2-11) tenemos

r i c ']
o

ºJ S1 -S, IS 1
o0A1 0 1 o
e, o
O
-1 o O
U, 1 = 001 = Q1 Ai = O O o o o o 1 o -
o o o o o o o 1

-
-
[-s,
e,
o
-C,
-Si
o
o
o
o
-IS]
1c
o
1

o o o o
Análogamente, para U 21 y U 22, tenemos

C,)]
[º oº] [c.,
1

. «c..
1

-1 -S12 o +
0
o0A2 1 o O O S12 C12 o /(S12 + S1)
U21 = M¡ = Q1 A2 = ~ o o o o o 1 o =
o o o o o o 1

-
[-s.,
C ,2
o
-C12

-S12
o
o
o
o
,)] - l(S., + S
/(C12 + C1)
o
o o o o
U 22--- - o
A1Q2'A2--
oºA-2-

ic,]
082

-
[e,
S1
-s, o
e, o IS1
ic,] [º 1
-1O
o
o º] [e,
O S2
-Si
C2
o
o IS2

- o o 1 o o o o o o o 1 o =
o o o 1 o o o o o o o 1

-
C ,2
o
[-s., -S12
-C12
o o
o
o
o o
IC
o12 o
-IS.,]
o
104 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

De la ecuación (3.2-18), suponiendo que todos los productos de inercia son nulos,

-'/t]
podemos deducir la matriz de pseudoinercia J¡:

-''f"]
o o [ 'i,~,I' o o
[ 'i,~,I' o o o o
J¡ = o o o J2 = o o o
- i/2m1/ o o m1 _ 1/2m2' o o m2

A continuación, utilizando la ecuación (3.2-31), tenemos

D11 = Tr(U11J1U¡1) + Tr(U21J2Uf¡) =

~Tr ¡[-s, I
-C1

o
o
-Si
o
o
o
o
-IS] [/,m,1'
o
/C1 oO
- i/2m1/
o o
o o
o o
-'t•]O

m1
TI +
U11

+Tr \[- -S12


-·r'] o J( e 1 2 + e i) o o o

CSf"
+ O

-C12 o -l(S.,+S,J r,m,I' O


o
O U21 -
o o o o o o
o o O - 1/2m2/ O o m2
= i¡3m1/2 + 4/3m2'2 + m2C2/2 1
1
1
Para D 12 tenemos

D12 = D21 = Tr(U22J2Ufi) =

=Tr
o
{[-
S "
C 12
-C12

-S12 o
o -IS.,l [ 'f,m,I'
IC12 O o o
o o
-'/r'l
O U2T1
}-

-
o o o o o o
o o o O - i/2m2/ o o m2
= m2/2( - i¡6 + 1/2 + 1/2C2) i¡3m2l2 + i¡2m2l2C2

Para D22 tenemos

-·r'] }
D22 = Tr(U22J2UI2) =

= Tr {[s"C12
o
o
-C12
-S12
o
o
o
o
o
o
-IS.,] ['/,m,l'
IC12
o
O
O
o
-1/2m2'
o
o
o
o
o
o
o
o
o
m2
ur ""'
22

/3m2'2Sf2 /3m2'2Cf
= 1
+
1
2 '/3m2'2
DINAMICA DEL BRAZO DEL ROBOT IOS

para deducir los términos de Coriolis y centrífugo, utilizamos la ecuación (3.2-32).


para i = 1, utilizando la ecuación (3.2-32), tenemos

Utilizando la ecuación (3.2-33) podemos obtener el valor de h¡•m· Por tanto, el


valor anterior que corresponde a la articulación 1 es

Análogamente, para i = 2 tenemos


2 2
h2 = L L
•= m=l 1
hi.mÓlÓm = h211Óf + h212Ó1Ó2 + h221ÓL + h222Óf =

Por tanto,

A continuación necesitamos deducir los términos relacionados con la gravedad,


e = (c1, c2)7. Utilizando la ecuación (3.2-34) tenemos:

e, = -(m1gU11 ti\ + m2gU212r2) =


ol
= (0,
O, O)
[-S,
C1
-C1
-Sio oo -IS']
o
/C1
2
o
-m1 -g, ~ o o o o

[-s., -C12 o -/(Su + s,)] --


l
2
C12 -S12 o /(C12 + C1) o
- mz(O, -g, O, O) ~
o o o o
o o o
1/2m1g/C1 m2glC12 + m2glC1
= + 1/2
106 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

-m2gU22 2¡2 =

[-s,,
C2
I

C,2
-C,2
-S,2
o
o -IS,,]
/C12
o
2
-m2(0, -g, O, O) ~ o
o o o
o o o
= -mz(1/2g/C12 - g/C12)

De aquí obtenemos los términos de la matriz de gravedad:

Finalmente, las ecuaciones de movimiento de Lagrange-Euler para el manipula-


dor de dos elementos se encuentra que son

-r(t) = D(8)6.(t) + h(8, Ó) + c(8)

= ['/3m,/2 + 4/3m2/2 + m2C2/2


'/3m2/2 + i/2m2/2C2
i

3.3 FORMULACION DE NEWTON-EULER

En los apartados previos hemos deducido un conjunto de ecuaciones diferencia·


les de segundo orden no lineal a partir de la formulación de Lagrange-Euler que:
describen la conducta dinámica de un robot. El uso de estas ecuaciones para
calcular los pares nominales de las articulaciones a partir de sus posiciones.
velocidades y aceleraciones para cada punto de consigna de la trayectoria en
tiempo real ha sido un cuello de botella computacional en el control en lazo
abierto. El problema se debe principalmente a la ineficacia de las ecuaciones de
movimiento de Lagrange-Euler, que utiliza las ecuaciones de transformación
homogéneas 4 x 4. Para lograr un control en tiempo real, ha sido propuesto un
modelo dinámico simplificado para el robot que ignora las fuerzas de Coriolis Y
centrífugas. Esto reduce el tiempo de cálculo para los pares de las articulaciones a
un límite obtenible (es decir, menos de I O m para cada punto de la trayectoria
utilizando una computadora POP 11/45). Sin embargo, las fuerzas de Coriolis Y
D11 'D12 D13 D14 D1s D16
D12 D22 D23 D24 Dis D26
D13 D23 D33 D34 D3s D36
D14 D24 D34 D44 D4s D46
D~s Dis D3s D4s Ds6
116 D26 D36 D46 Ds6 D66

Das könnte Ihnen auch gefallen