Beruflich Dokumente
Kultur Dokumente
() 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.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
Referencias
273
Problemas
274
6.
Detección
275
6.1. Introducción
275
CONTENIDO ÍX
Apéndices 542
A Vectores y matrices 542
B Jacobiano del manipulador 564
Bibliografia 576
Indice 591
CAPITULO
UNO
INTRODUCCION
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 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
Cilíndrico
De revolución
Cartesiano o xy:
Esférico
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.
"'. • ,- 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
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
1.8 REFERENCIAS
2.1 INTRODUCCION
Parámetros
de los
elementos
Parámetros
de los
¡ ¡ ¡
elementos
Angulos de
Cinemática
las articulaciones -
inversa
~-----...J
q,(I) ..... q,(1)
X
Figura 2.2 Sistemas de coordenadas de referencia y ligado al cuerpo.
(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),
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)
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)
con i, - i., y
i, . j.
-s~n e,.] (2.2-12)
J.: L cos C1.
k, . j,,
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 ~ ~ =
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
awvw
0,500 0,866 º1] [4]
= [ - 0,866 0,500 0
o o
3 =
[ 4(0,5)
+
3(0,866)
= [- ~:~:]
;J ln [-!:I~Jj
2,0
0,500 0,866
h.,.... =
[
- o,~66 o,~oo = o
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
º] 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)
. _ 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.
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
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
S{J O C{J O
o
C1X
S1X
-~·]CIX
donde V</> = vers </> = - cos </>. Esta es una matriz de rotación muy útil.
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
C<f>
O
O
1
O
O
iase -~o]
j
ce
[~! ~:"' ~]
o o 1
=
X.U
u·
Figura 2.5 Sistemas de ángulos eulerianos l.
CINEMATICA DEL BRAZO DEL ROBOT 25
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.... ,;),
º] =
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¡
Z, W
w·
V'
X, U
u·
Figura 2.6 Sistema de ángulos eulerianos 11.
26 ROBOTICA: CONTROL, DETECCIO:s.;, VISION E INTEUGE1'CIA
[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/¡
Giro
4>
.: /
>------- y
Desviación Elevación
X
Figura 2.7 Giro, elevación y desviación.
CINEMATICA DEL BRAZO DEL ROBOT 27
cos
- sen ex cos ex
l
que es la misma que la traspuesta de la ecuación (2.2-12). o
~~·
transformación
escalado
de perspectiva
~[ 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
l
l
l O O
o l o dy
Tt,ans = O O l dz (2.2-22)
o o o l
(2.2-23)
(2.2-24)
["·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
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
,~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
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.
Articulación2
Elemento 1 <,
Articulacl<in !
Elemento 4
Articulac ión 6
+,
Revolución Planar
&7
Cilindrica Prismática
Eslerica De tomiIIo
Articulación i + l
8,+ l
• (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)
Y5
d6~ x3~ x2
d¡~~y2
82 >-
/,,(,/~
e,
t=z
r \"'
d¡
Yo--;--
Y f--=:
~o=X
o
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,
~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
[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)
¡- 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¡
8¡
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)
(2.2-33)
[~¡ y¡
o o
Z¡
~¡] = [º~¡
º~¡] (2.2-34)
44 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA
º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,
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
(2.2-36)
46 ROBOTICA: CONTROL, DETECCION, VISION E
INTELIGENCIA
= =
[c,c,,
ºA3 ºA11A/A3
(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:
-1 O -149,09]
921,12
O 1
o o 20,32
o o 1
-
cinco multiplicaciones y dieciséis sumas.
OO 10 1] -1
o o -
O 1200
-1 9 O -1 ]
O 1 o o 10
1
';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
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
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
.•
donde ºR6
o JJ
matriz de rotación expresada en los ángulos de Euler o [n, s, a] o
(2.2-46)
(RPY).
º º º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
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.
•
figura 2.16 Representación del sistema de coordenadas esféricas.
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
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.
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
s, ª• P,
O O 1
56 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA
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 - ( ;~)
¡
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
.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),
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
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)
que da
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.
-, - , ········· ... · ..
~\)
,
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
[ -1
~ ~
O
- ~]
O
(2.3-22)
l
está dada por
r· uº] -!]
1
a,
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
lo que la da solución de T,
SA = -a, (2.3-26a)
y
CA = - n,CT + s,ST (2.3-266)
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
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
F IP _
L -
{+ 1
_ ¡
Cambiar la orientación de la muñeca
No cambiar la orientación de la muñeca
(2.3-34)
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)
(2.3-36)
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)
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)
(2.3-36)
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)
COS e R¡
= COS - Px' + Pyd2
(2.3-44)
-----=- ~ -
(1t + </) R 2
+ IX) =
CINEMATICA DEL BRAZO DEL ROBOT 67
Plano x0y0
OA = d2
' ,....._ ./
\ //
....
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
sen 81
- BRAZO pyj p; + p; - d¡ - Px'Íz (2.3-45)
p; + p;
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
_1 (-BRAZOpyjp; + p; - dJ - Pxdi)
= tg
- BRAZO PxJ p; + p; - d'f + pyd2 (2.3-47~
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
p; + p; + p; + a~ - df - (d¡ + a~)
2a2Jp; + p; + p; - df
sen /3 = Ji - cos2 P (2.3-53)
(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
D
Brazo izquierdo y arriba
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 /3
d4 cos /3
laJI (2.3-59)
Jd¡ + a~ jd¡ + a~
CINEMATICA DEL BRAZO DEL ROBOT 71
(2.3-60)
(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
si se está en el caso degenerado
si s · y 5 #- O (2.3-67)
n s ~ s,
n · Ys si s · y5 = O
ABAJO ~o +I +I
ABAJO <o +1 -1
ARRIBA ~o -1 -1
ARRIBA < o -1 +1
(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
(2.3-71)
(2.3-72)
X.
Figura 2.24 Solución para la articulación 5.
CINEMATICA DEL BRAZO DEL ROBOT 75
X1
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.
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
BRAZO = sign [g(O, p)] = sign [g(O)] = sign ( -d4S23 - a3C23 - a2C2)
(2.3-78)
MUÑECA + 1 si S · z4 > 0
{ -1 Si S · Z4 < Ü (2.3-81)
+
Ecuaciones de decisión
Cinemática inversa
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
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
-
~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
.
~
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.
/~ci~
¡:.;:"' ~'(
~:
_>;;;!:'~ndc
13 in
Parámetrosde coordenadasde
los elementos del robot PUMA
Articulación , 11, ~, a, d,
2
3
4
5
6
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.
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
donde
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,
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)
!
o, si la articulación i es prismática, de la ecuación (2.2-31 ). la forma general de
;-1A; es
n
sen u; cos :X¡ cos () i - sen a, cos fJ; (3.2-6)
i-1A;
o sen a.; cos :X¡
o o o
= º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
[f ~]
o
(3.2-8a)
o o
Q, ~ o o
o o
(3.2-8b)
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
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
(3.2-12)
¡
Q 1 1-1A i
ºA j-1 Q j J-1A
1-1 i ~ k ~ j
(3.2-15)
(3.2-16)
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
(3.2-18)
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.
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
m;g(ºA/r;)
i=I j=l k=I i=l
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
r, = L.
k=l
DAk + L" L"
k=I m=I
hikmi¡ki¡m + C¡ i = 1, 2, ... , n (3.2-25)
donde
(3.2-27)
(3.2-29}
donde
C¡ ¿ (-migVi/i)
j=i
i = 1, 2, ... , n (3.2-34)
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:
0(9) = (3.2-35)
o.,
donde
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:
donde
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
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)
[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
~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
CSf"
+ O
=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
-·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
Por tanto,
-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)