Vista previa del material en texto
INSTITUTO TECNOLOGICO Y DE ESTUDIOS SUPERIORES
DE MONTERREY
CAMPUS ESTADO DE MEXICO
DIVISION DE GRADUADOS E INVESTIGACION
DI RECCION DE MAESTRIAS EN INGENIERIA
SISTEMA DE PLANEACION DE TRAYECTORIAS DE
MINIMO TIEMPO PARA ROBOTS BAJO EL CRITERIO
DE FAULT TOLERANCE
TESIS QUE PARA OPTAR EL GRADO DE
MAESTRO EN SISTEMAS DE MANUFACTURA
PRESENTA
ING. .ALEJANDRO B.lRRIB.l TORRES
ASESOR: DR. PEDRO L. GRASA SOLER
COMITE DE TESIS: DR. CUAHUTEMOC CARBAJAL
M. EN C. AGUSTIN VASQUEZ A.
M. EN C. JUAN CARLOS PEDROZA
JURADO: DR. JAROMIR ZELENY
DR. PEDRO GRASA S.
M. C. JUAN CARLOS PEDROZA
PRESIDENTE
SECRETARIO
VOCAL
ATIZAPAN DE ZARAGOZA, MEXICO, MAYO 1995
INDICE
CAPÍTULO t. INTRODUCCIÓN
1 . 1 Antecedentes l
1 .2 Objetivos 2
1.3 Planteamiento del problema de planeación de trayectorias 3
1 .4 Planeación de trayectorias tradicional
1.4.1 Espacio cartesiano y Espacio de articulación 3
1.4.2 Esquema de la planeación de trayectorias tradicional 5
1.4.3 Trayectorias de articulación interpoladas 6
1.4.3.1 Segmentos lineales con suavización parabólica 8
1.4.3.2 Trayectorias SLSP to
1.4.3.3 Polinómios cúbicos 11
1.4.3.4 Trayectorias con splines cúbicos 12
1.4.3.5 Trayectoria interpoladas con segmentos de diferentes
polinomios 13
1.4.4 Planaeación de movimiento en espacio cartesiano 15
1.5 Problemas en la planeación de trayectorias 21
1.6 Modelo de planeación de trayectorias propuesto 22
CAPÍTULO 2. CARACTERIZACIÓN DE TAREAS
2.1 Justificación de la caracterización de tareas
2.2 Metodología de la caracterización de tareas
2.3 Definición del criterio de mínimo tiempo
28
28
43
CAPÍTULO 3. MODELO CINEMÁTICO Y DINÁMICO DE ROBOTS
3 .1 Introducción
3 .2 Modelo general de robots de coeficientes de influencia
3.3 Simulaciones del modelo general
3.4 Cinemática Inversa ( modelo propuesto)
3.5 Simulación de cinemática inversa
i
45
47
54
55
57
CAPÍTULO 4. MÍNIMO TIEMPO
4.1 Concepto de mínimo tiempo
4.2 Pararnetrización de las ecuaciones dinámicas
4.3 Definición de la región admisible
4.4 Algoritmo de Shin & Mckay
4.5 Fault Tolerance y Mínimo Tiempo
CAPÍTULO 5. IMPLEMENTACIÓN COMPUTACIONAL
5.1 Estructura del modelo general
5.2 Simulación
CAPÍTULO 6. CONCLUSIONES Y RECOMENDACIONES
6.1 Conclusiones
6.2 Recomendaciones
60
60
64
64
64
69
72
86
87
APÉNDICE A. SIMULACION MODELO GENERAL DE ROBOTS 89
APÉNDICE B. SIMULACIÓN CINEMÁTICA INVERSA
REFERENCIAS BIBLIOGRÁFICAS
11
96
100
CAPITULO 1
1 ' ' ' ------ ·---- " ' " " "' " '
~ ' \ "-
' / \
\
\ \
\
--
INTRODUCOÓN
1 INTRODUCCION
1.1 ANTECEDENTES
A partir de la década de los setentas los robots han destacado como una forma de
automatización rentable y bastante versátil, resultando de ello un crecimiento exponencial en
la demanda de ésta tecnología, sin embargo no ha sucedido lo mismo con la oferta. Partiendo
de ésta necesidad los institutos de educación superior de todo el mundo se han abocado a la
tarea de desarrollar dicha tecnología y preparar recursos humanos.
En el ITESM-CEM se ha adoptado una estrategia que permitirá la vanguardia en el
desarrollo de tecnología en el campo de la robótica, a través de la investigación y solución
de problemas actuales que se presentan en los diversos sistemas que constituyen un robot, ver
figura l. l.
Sistema Mecatrinico
Parle control
Control de
tareas
Algoritmos de
control
Pre actuador
Sensor
Parle Operativa
A
e
t
u
a
d
11
r
Software Hardware
Sistema
' . mee ame o
Figura 1.1 .Elementos de un robot visto como un sistema mecatrónico.
Esta tesis contribuirá con el estudio de un caso específico de la parte de control de
tareas de un robot, mediante un sistema de planeación de trayectorias que contemple la
tolerancia de fallas para un caso de trayectorias de mínimo tiempo.
1
l INTRODUCCION
1.2 OBJETIVOS
a) Establecer una metodología para caracterizar tareas de robot y extraer criterios para la
elección de un método de planeación de trayectorias.
b) Implementar un modelo computacional de un método de generación de trayectorias
para mínimo tiempo.
c) Integrar las restricciones dinámicas del robot al método de planeación de trayectorias,
como parte de los criterios de Fault Tolerance.
1.3 PLANTEAMIENTO DEL PROBLEMA.
En particular los robots industriales tienen dos características que nos permiten
distinguirlos de otras máquinas:
• Flexibilidad: Potencialidad estructural de ejecutar diferentes tareas y/o realizar la misma
tarea en diversas formas.
• Adaptabilidad al enlomo: Es la posibilidad de un robot de alcanzar su objetivo por sí
mismo, a pesar de las perturbaciones imprevistas del entorno a lo largo de la ejecución de la
tarea.
Para cumplirlas, el robot debe satisfacer un conjunto de requerimientos específicos,
según el tipo de tarea y el movimiento deseado de su órgano terminal. De esta manera el
módulo de control de tareas, ver figura l, convierte esta información en una curva espacial
trazada por el órgano terminal, formada por un conjunto de puntos P; con características
geométricas, cinemáticas y dinámicas. Para que el robot pase por dichos puntos es necesario
que los actuadores muevan al manipulador en función de los parámetros de control siguientes:
0 1 , 0 2 , . . . , e"Coordenadas de articulación que definen la posición de cada eslabón.
<..> 1 , <..>2 , . .. , <.6,Timera derivada de las coordenadas de articulación de posición que
definen la velocidad angular.
ex, , a 2 , ... , ª" Segunda derivada de las coordenadas de articulación de posición que
definen la aceleración angular.
2
l INTRODUCCION
donde n, es el número de grados de libertad del manipulador.
Una trayectoria está definida por tres parámetros:
a) Geométricos
- Ecuación vectorial de la ruta espacial de desplazamiento del órgano terminal
- Puntos de trabajo, de enlace y/o paso
b) Onemáticu
- Velocidad lineal y angular del órgano terminal en cada punto o intervalo de la ruta
- Exactitud de posicionamiento del órgano terminal
c) Dinámicu
- Aceleración del órgano terminal a lo largo de la ruta
- Fuerzas y torques en el órgano terminal a lo largo de la ruta
Entonces, el problema de la planeación de trayectorias se puede enunciar de la siguiente
manera:
Obtener la ecuación vectorial que representa la ruta espacial a seguir por el órgano
tenninal del robot, y la historia temporal de los parámetros de su control para ejecutar
eficientemente una tarea
1.4 PLANEACIÓN DE TRAYECTORIAS TRADICIONAL
1.4.1 &pacio cartesiano y espacio de aniculación
La posición de los eslabones de un manipulador de n grados de libertad puede ser
especificada con un conjunto de n varibles de articulación. Este conjunto de variables,
comunmente reprresentado con un vector de articulación de nxl, Según [Craig88], el espacio
de todo el conjunto de vectores de articulación se le designa &pacio de aniculación (EA).
El Espacio Cartesiano (EC) es aquel definido por el marco coordenado ortogonal a lo largo
del cual se puede medir la posición y la orientación del órgano terminal.
3
l INTRODUCCION
La relación entre ambos espacios se define a través de la cinemática:
a) Directa: Para determinar la posición y lka orientación del órgano terminal en función de las
n variables de articulación.
b) Inve~a: Determinar las coordenadas de control o varibles de articulación en función de la
posición y la orientación del órgano terminal.
Para la planeación de trayectorias se puede adoptar EA o bien EC, sin embargo en la
literatura se ha demostrado que la forma mas eficiente de realizarla, es utilizando ambos. En
la figura 1.4.1, se muestra la forma directa e indirecta de realizar la planeación de
trayectorias, en ésta última se indica la definición de puntos de trabajo al órgano terminal del
robot en EC y posteriuormente se transforman mediante la cinemática inversa al EA, donde se
aproximará una curva que cumpla con las restricciones impuestaspor el usuario en
ladefinición de los puntos de trabajo.
En la tabla 1.4. l· se resumen las características mas importantes de la planeación de
trayectorias en EC y EA.
ESPACIO DE ARTICULACIÓN ESPACIO CARTESIANO
• ..
movimiento = f (0i, 0i, 0i ): i = #GOL movimiento = f (xj, ~j. xj )
; j =# Dimensiones espaciales
Al1oritmo: t = to; mientras t <tf ; hacer t = t + i1t, Al1oritmo: t= to; mientras t < tf ; hacer t = t + i1t;
evaluar h(t); donde h(t) = trayectoria de la mano evaluar h(t) ; Evaluar q[h(t)) ; función en EA)
Ventaju: Veataju:
Planeación directa en coordenadas de control Especifícac:ión de la posición y orientación
Planeación en tiempo real Facilidad del ususario para determinar la posición
Rutas simples de la mano
Desventajas: Desventajas:
Peligro de colisión Utiliza la cinemátuica Inversa para cada punto
No separa orientación de posición consigna generado
Dificultad para determinar la posición de la mano en No se tiene encuenta la demanda sobre los
EC actuadores
Tabla 1.4.1 Espacio Canesiano y Espacio de Aniculación
4
I INTRODUCCION
1.4.2 &quema Genenl de Planeación de Trayectorias
El esquema general de planeación de trayectorias planteado en la literatura, [Taylor79].
[Luh84], [Lactombe9l], [Shin&Mckay] y otros, realiza una clara división en tres partes,
como se muestra en la figura l .4.2, Planeación de Tareas (Task Planning) , Planeación de
trayectorias (Path Planning) , Control de la Ruta ( Path Tracking ).
Planeación de Tareas (Task Planning)
En ambientes industriales la programación de robots para la ejecución de tareas se
realiza de manera Gestual o Textual y consiste en la especificación de la ruta de trabajo ya
sea por:
i) Definición de un conjunto de puntos de paso
ii) Especificación de la ruta de trabajo
Posteriormente, para el caso ( i ) se definirá la forma de la ruta entre los puntos de paso
Según [Latombe 91 ], ambas formas de definición de la tarea son de bajo nivel a su
dependencia de los conocimientos y experiencia del usuario, teniendo presente la posibilidad
de una definición errónea de la tarea. En [ Castillo 93] se propone el uso de una base de
datos para auxiliar al usuario a la especificación completa de la tarea y evadir posibles errores
de definición y además contenga la función de comunicarse a la siguiente fase planeación de
trayectorias.
_,,,.,_ ...... , ...
Slng•lorih._
º-""-
'""- CD1W111•: P-6n.
wf•cW.cl
•e11lereci6n, ed.
---- ~--~
PI.MEAOONDE
·- --< TAA'IECTOllloU
[l'odl PI, ......
CONTROL DE
NOVINIElrl'O
(l'od, Troddn!I)
Figura 1.4.2 &quema Tradicional de Planeación de trayectorias
5
1 INTRODUCCION
Planeación de Trayectorias ( Path Plannin& )
A continuación , una vez especificada la ruta y sus restricciones, en la fase planeación
de trayectorias se seleccionará el tipo de espacio se generan los parámetros de control, es
decir, las historia de posiciones, velocidades, aceleraciones y torques para seguir la ruta
definida. En la sección 1.4.1 se mencionó la existencia de espacio cartesiano y del espacio de
articulación para la planeación del movimiento y en la figura 1,4.1 , se muestra que puede
realizarse en forma directa e indirecta para ambos espacios.
Para determinar parámetros de control óptimos, en los esquemas de control actuales de
planeación se incluye la dinámica del manipulador, evasión de obstáculos y puntos
singulares, permitiendo así el uso adecuado de las capacidaes del robot.
Control de Movimiento (Path Tracking)
Esta etapa consiste en la ejecución del movimiento generado en los niveles anteriores,
mediante el envio de las órdenes de control a los actuadores .
1.4.3 Trayectorias de aniculación lntetp0ladas
Existen varias razon«;s para implementar el uso de movimiento interpolado, tanto en
espacio cartesiano como de articulación:
• Prevención de colisión con obstáculos presentes en volumende trabajo del
manipulador
• Ruta para la ejecución de la tarea demasiado compleja para describirse
analíticamente
• Trayectoria suave a lo largo de ciertos puntos de paso especificados.
Un ejemplo, puede verse en la figura 1.4.3.1, donde el manipulador debe comenzar desde un
punto s y llegar a una posición final & sin colisionar, en espacio cartesiano. Para realizarlo, la
trayectoria total se divide en tres segmentos A, B, C, por la definición de 2 puntos de paso pl
y p2. La definición de un movimiento entre punto de paso impone 4 restricciones para la
trayectoria: dos restricciones de posición y dos restricciones de velocidad y
aceleración.Entonces, entre cada punto se puede interpolar una función de grado suficinte que
cumpla con el conjunto de restricciones impuestas por los puntos de paso.
6
1 INTRÓDUCCION
[Fu 86] señala algunas desventajas, del movimiento interpolado:
• Polinomios de alto grado son difíciles de resolver y modificar.
• La presición numérica para el calculo decrece a medida que el grado del polinomio
se incrementa
• Los polinomios de alto grado tienen la tendencia de oscilar entre los puntos de paso.
FIGURA 1.4.3. l
s
[ . ] ' ' "' ....... '' 1 - -- - -, , ~ , , 1 1 rr t • r , , 1 1 • •• ' ' ' -·· . ...... ..... ... -•J . . '·" · .. : ' . . ,, , ·· -- ··· , , , .
, , . . ''' ......... , , , '
• ' . ..... ''' ' 1'
' ,, ' " ' " ' ...
PI
B
e
[Paul 72] encontró algunas consideraciones de interés en la planificación de una
trayectoria interpolada de un robot:
1. Cuando se toma un objeto, el movimiento de la mano debe dirigirse hacía afuera del objeto
para evitar golpear la superficie del soporte del objeto.
2. Para tener un movimiento de partida admisible debe especificarse un punto de despegue a
lo largo del vector normal a la superficie desde la posición normal. mas aún, si se especifica
el tiempo requerido para alcanzar la posición de despegue, entonces se puede controlar la
velocidad
3. El mismo conjunto de requisitos de despegue para el movimiento del brazo es también
válido cuando el órgano terminal del robot se acerca a la posición final, es decir debe
definirse un movimiento en dirección normal a la superficie final.
7
l INTRODUCCION
De las consideraciones anteriores, se tienen cuatro posiciones para cada movimiento del
brazo: inicial, despegue, asentamiento y final.Ver figura l.4.3.2
A.nteulK10n,
,,,,>
9(11)
9(,,)
l(lo)
'º
Fin&!
,, ,, 't Tianpo
FIGURA l.4.3.2 Condiciones de posición para una trayectoria interpolada
1.4.3.1 SEGMEN1US LINEALES CON SUAVIZACIÓN PARABÓLICA (SISP)
La selección mas sencilla de una ruta para conectar dos puntos es una linea recta. esta
elección da como resultado una velocidad contínua a lo largo de la ruta excepto en la
transición entre segmentos, la velocidad será discontinua. Un camino para evadir las
discontinuidades en velocidad y aceleración es aproximar una función parabólica en los
extremos de los segmentos rectos(ver figura 1.4.3.3). En la tabla 1.4.3. l se muestra un
resumen de las ecuaciones y parámetros necesarios para el cálculo y control de esta curva.
O.
'· t. T-t,, T
Figura ~ .4.3.3 Trayectoria SLSP
8
1 INTRODUCCION .
Suponiendo que ambas regiones parabólicas tienen la misma duración y que la ruta es
simétrica con respecto a un punto central th . Para la construcción dwe la curva se requiere ti, ,
t, - tb y t, 9 (t) es la función parabólica en Os t s tb
La velocidad al final de la región parabólica debe ser igual que al inicio de la región lineal
9(tb ) = eb, entonces:
••
donde 9 es la aceleración de la sección parabólica en tb . Se puede expresar ~ como:
.. ~-~
B ... =·---
Combinando las ecuaciones anteriores, con T=2 th
l ..
9o = lt +-B,~
2
de la cual debe ser definida 9 y t = tb. Usualmente los valores para 9 son definidos y ti, es
calculado resolviendo la ecuación anterior.
t J (i ,: - 4 8( B. - B)
¡~ = - - .
2 2 (}
Esta ecuación impone una frontera mínima para el valor de 9 :
.. 4( Br- 8,)
8> '
r
La desigualdad anterior no permite al segmentoparabólico extenderse hasta ~ , pues se
conectaría directamente al siguiente segmento parabólico si la parte lineal entre ellos.
9
1 INTRODUCCION
1.4.3.2 Trayectorias Sl.SP para rutas con varios puntos de paso.
En los resultados de la sección precedente solo se c:msideró el caso una trayectoria de
dos puntos. Ahora se considerará el caso de varios puntos de paso. (ver figura l.4.3.4). Según
el caso anterior, se debe encontrar la duración tdik dando un valor para 9 . En la tabla l.4.3 .2
ecuaciones describen el segmento entre los puntos de paso:
1.4.3.3 Polinomios Cúbicos
El caso mas simple consiste en encontrar una curva entre dos puntos { <.>º, <.>1}, donde
el movimiento debe realizarse en un tiempo T. Si la herramienta comienza en el punto <.>º con
velocidad Vº y debe alcanzar c.> 1 con velocidad V', se imponene cuatro restricciones que
satisfacen el polinomio de la forma:
donde:
8(t)-= a,>.,... a1t - a2t= - a/~ O~ t <.T
eu(O) = (:)º
úJ{T) = C:>' .
CLJ(O) = V°
CLJ(T) = v•
B(O) = e o
BT) = a, .
8(0) = O .
B(T) = 0
Los coeficientes del polinomio cúbico son :
ª·> = Bi
a,= O
3
a: = -. ( 81 - 9,) r·
10
1 INTRODUCCION
e
i
e. 1 1
i ;
. 1
~- · "--- J
Figura l .4.3 .4 Segementos rectos con suavización parabólica a través de puntos de paso
1.4.3.4 Trayectorias de Splines Cúbicos No Racionales
La interpolación de una función dada mediante un conjunto de polinomios cúbicos
preservando la continuidad en la primera y segunda derivada en los puntos de interpolación,
se conoce como funciones de splines cúbicos. En estye tipo de polinomios la primera derivada
representa la continuidad en velocidad y la segunda en aceleración. Las principales ventajas
que ofrecen los splines cúbicos son:
• Permite continuidad en velocidad y aceleración
• Reducen la cantidad de cálculos necesarios y la posibilidad de inestabilidades
numéricas.
Sea Qit) la función polinomial cúbica a tramos para la articulación j entre los puntos de paso
H; y H¡+1 definidos en el intervalo de tiempo [t¡, t¡.1 ] • El problema es ajustar Qj¡(t) para i =l,
2, 3, .... , n-1, puntos de tal manera que el dezplazamiento, velocidad y aceleración requeridos
se satisfagan y sean contínuos en todo el intervalo de tiempo [t1 ,ln ]. Como el spline Qj¡(t) es
cúbico, su segunda derivada respecto al tiempo Qj¡(t) debe ser función lineal de t.
11
1 INTRODUCCION
I¡ + 1 - I; ,'i (I - 11) ,'I • ) Í = l. . . ·• n - 1
Q (I) = --- ,¿,.(ti) + -- \!¡;(•;+ 1 . 1 V JI U¡ u, j = .... , .
donde u¡ = t¡ - t¡.1 es el tiempo gastado en recorrer el segmento i. Integrando Q;¡(t) dos veces y
satisfaciendo las condiciones de frontera Q;¡(t¡) = q;¡ y Q;¡(t¡.1) = q;. i+t conduce a las siguientes
funciones de interpolación:
Q¡,(I) = g6·,,(1,) (11+ 1 - t)·' + (}1,(~, .. , I (1 - 1 )·' ~
"• 6u1 •
+ [
</¡. i + 1 U;{!¡¡(t, • 1 )J
... - - --- - (/ - 1) +
U¡ 6 •
+ ['ii.j_ - ~(!1,(I¡)] (f. - /)
11¡ 6 •••
i = l •... , n - 1
j = 1, ... , N
Así, para i = 1, 2, 3, ... ,n-1. Qit) se determina si se conocen Q;;(t¡) y Q;;(t¡.1) • esto
conduce a un sistema de n - 2 ecuaciones lineales cobn incógnitas Qit¡) para i = 1, 2, 3, ....
, n - 1 y datos U¡ para i = 1, 2, 3, ... . , n - 1
AQ = b
IIJ
)11, +211,+...!. 11, o o o 11, o o
"z _'!J.
o
"• 2'11, +11,) 11,
4- o 11, 2( .. , + ... ,
o· "• 2(11, +11._,, "·- .!
o
~'"·-1+11 ... .1:) 11: ... . ..... --
o o "· - 1 o o o o 11: ... "• - 1 Ju . .. ,+i...-.1:+-......
12
1 INTRODUCCION
r
b=
6 ( 11:-1 ) ( 1 1 ) 6
- q,- - V;,,llo-l + - 2-a¡. - 6\- + -- q¡.o - J + -q¡,o-J u. _1 u~ ··J "•- J u.-J
6( I 1 )( 11;_, ) ~ 6q.-1 - -- + - q¡. - u¡.11.-, + - 3-a,. + +-- -11.-,a¡. u.-1 "•-1 u.-1 1111-•"•-J
la estructura de la matriz a hace fácil su solución para Q que se sustituye en la ecuación( .. *)
para obtener la solución resultante Qit). La solución de Qj¡(t) se da en términos del
intervalo de tiempo U¡ y de los valores dados para los desplazamientos, velocidades y
aceleraciones en los puntos .de paso. La matriz A es no singular para todo intervalo de tiempo ·
U¡, por lo que la trayectoria de la articulación de spline cúbico tiene solución imica.
1.4.3.5 Trayectorias Interpoladas con se1mentos de diferentes polinomios
En función de las consideraciones presentadas por [Paul72], en la tabla 1.4.3.3 se
presentan las restricciones impuestas a la trayectoria en los puntos inicial, despegue,
asentamiento y final (ver ·figura 1.4.3.2). Para evitar el uso de un polinomio de alto grado que
cumpla con las restricciones ya expuestas, se divide la trayectoria completa en algunos
segmentos que puedan utilizar diferentes polinomios de interpolación para cada uno de ellos.
Existen diversos métodos los mas comunes según [Fu86] y [Komell87], son los siguientes:
• Trayectoria 4-3-4.Se tienen tres segmentos polinomiales: el primero es de cuarto grado que
especifica la trayectoria desde la posición inicial hasta la de despegue. El segundo segmento
es un polinomio de tercer grado desde laposición de despegue hasta la posición de
asentamiento. El último segmento es un polinomio de cuarto grado y especifica la trayetoria
desde el despegue hasta la posición final. En la tabla l.4.3.4 se muestran las ecuaciones de
los poliromios para esta trayectoria.
13
I INTRODUCCION
Restricciones para la planeación de trayectorias interpoladas con se1mentos
Posición inicial Posicion inicial( dato)
Velocidad inicial (dato)
Aceleración inicial (dato)
Posición, velocidad y aceleración de despegue y
continuidad con el segmento previo
Posición intermedia
Posicición, velocidad y aceleración de asentamiento
Continuidad en velocidad y aceleración con el
siguiente segmento
Posición final Posicion final( dato)
Velocidad final (dato)
Aceleración final( dato)
Tabla 1.4.3 .3
• Trayectoria 3-5-3 Se utiliza para el primer y tercer segmentos polinomios de tercer grado,
especificando las trayectorias de inicio al despegue y del asentamiento al final
respectivamente.
El segundo segmento es un polinomio de quinto grado. Las ecuaciones de los polinomis para
esta trayectoria se muestran en la tabla 1.4.3.5.
14
1. INTRODUCCIÓN
1.4.4 Planeación de movimiento en espacio cartesiano
En un sistema robótico programable, el movimiento deseado se puede especificar
como secuencia de puntos nudos cartesianos, cada uno de los cuales se puede describir en
términos de transformaciones homogéneas que relacionan el sistema de coordenadas de la
mano del manipulador con el sistema de coordenadas del espacio de trabajo. Las
correspondientes coordenadas de articulación en estos puntos nudos cartesianos se pueden
calcular a partir de la rutina de solución del problema cinemático inverso y se puede utilizar
un polinomio cuadrático para suavizar con fines de control los puntos nudos de dos
articulaciones consecutivas en coordenadas de articulación. Así se controla la mano del
manipulador para moverse a lo largo de una línea recta conectada mediante estos puntos
nudos.
Esta técnica tiene la ventaja de permite controlar la mano del manipulador para
seguir a objetos móviles. Aunque las posiciones finales se describen mediante sus
transformados, no especifican cómo se mueve la mano del manipulador de un punto
transfonnado a otro. Paul (1979) utilizó una traslación con línea recta y dos rotaciones para
conseguir el movimiento entre dos puntos cartesianos consecutivos. La primera rotación es
respecto de un vector unitario k y sirve para alinear la herramienta o efecto final a lo largo
del ángulo de aproximación deseado y la segunda rotación alinea la rotación de la
herramienta respecto al eje de la misma.
En general, las posiciones finales del manipulador se pueden expresar en la ecuación
matricial fundamental siguiente:
Of 6 6T herr = 0Cbase (t) basep obl (-1)
donde
0T6 = Matriz de transformación homogénea 4 x 4 que describe la posición y orientación de
la mano del manipulador con respecto al sistema de coordenadas de la base.6Therr = Matriz de transfonnación homogénea 4 x 4 que describe la posición y orientación
de la posición y orientación de la herramienta con respecto al sistema de coordenadas de la
mano. Describe el punto final de la herramienta cuyo movimiento se desea controlar.
0Cbase(t) = Matriz de transformación homogénea 4 x 4 de la función del tiempo que
describe el sistema de coordenadas de trabajo del objeto con respecto al sistema de
coordenadas de la base.
15
1. INTRODUCCIÓN
basep obj = Matriz de transformación homogénea 4 x 4 que describe la posición de
orientación deseada de la pinza del objeto para el efector final con respecto al sistema de
coordenadas de trabajo.
Si se combina 6Therr con 0T6 para formar la matriz del brazo, entonces 6Therr es
una matriz identidad 4 x 4 y se puede omitir. Si el sistema de coordenadas de trabajo es el
mismo que el sistema de coordenadas de la base del manipulador, entonces 0Cbase (t) es
una matriz identidad 4 x 4 en todo instante de tiempo.
En la ecuación (-1) se puede ver que las matrices del lado de la izquierda describen la
posición y orientación del órgano terminal del manipulador, mientras que las matrices del
lado de la derecha describen la posición y orientación de la característica del objeto donde
nos gustaría que la herramienta del manipulador lo cogiese. Así podemos resolver para 0T6
que describe la configuración del manipulador para agarrar al objeto de una forma correcta y
deseada:
(-2)
Si 0T6 se fuera a evaluar a una velocidad suficientemente alta y al convertirse en los
correspondientes ángulos de articulación, el manipulador se podría controlar para seguir la
trayectoria.
Utilizando la ecuación (-1 ), una secuencia de N posiciones finales que definen una
tarea se pueden expresar como
Of 5 (6Therrh = [OCbase(t)]1 (bnePob~ 1
0Te (6Therrh = [OCbase(t)]2 (ba18Pot,¡) 2 (-3)
Simplificando la notación de superindices y subíndices en la ecuación anterior tenemos:
T6herrT1 = C1 (t)P1
T ehe"T 2 = C2 (t)P2
16
(-4)
1. INTRODUCCIÓN
Desde las posiciones definidas por Ci(t)Pi podemos obtener la distancia entre puntos
consecutivos, y si se nos dan las velocidades lineales y angulares, podemos obtener el tiempo
necesitado Ti para ir de la población i a la posición i + 1. Como las herramientas y los
sitemas de coordenadas móviles se especifican en posiciones con respecto al sistema de
coordenadas de la base, el moverse de una población a la siguiente se hace mejor
especificando ambas posiciones y herramientas con respecto a la posición de destino. Esto
tiene la ventaja de que la herramienta parece que está en reposo desde el sistema de
coordenada móvil.
Con el fin de hacer esto, es necesario redefinir la posición presente y las herramientas
con respecto al sistema de coordenadas siguiente. Esto se puede hacer facilmente
redefiniendo el punto transformado P¡ utilizando una notación de dos subíndices como Pij
que indica la posición Pi expresada con respecto al sistema de coordenadas j-ésimo. Así, si
se necesita controlar el manipulador desde la posición 1 hasta la posición 2, entonces en la
posición 1, expresándola con respecto a su propio sistema de coordenadas, tenemos:
(-5)
y expresándola con respecto al sistema de coordenadas en la posición 2 se tiene:
(-o)
De estas ecuaciones podemos obtener ahora P12:
(-7)
El objetivo de la ecuación anterior es encontrar P12 dado P11. Así el movimiento
entre dos puntos consecutivos cualesquiera i e i + 1 se puede dar como:
T 6 = C i+1 (t)P¡,¡ +1 (herrf i+Ü -1 (-8)
para T 6 = C i+1 (t)P¡+1 ¡ +1 (herr"f¡+1)·1 (-9)
donde Pi,i+ 1 y Pi+ 1, i+ 1 representan puntos transformados tal como hemos expresado
anteriormente. Paul [1979] utilizó una forma simple para controlar la mano del manipulador
para moverse de un punto transformado a otro. El esquema utiliza una traslación y una
rotación respecto de un eje fijo en el espacio acoplado con una segunda rotación respecto
del eje de la herramienta para producir un movimiento en velocidad lineal y angular
17
1. INTRODUCCIÓN
controlado de la mano del manipulador. La primera rotación sirve para alinear la herramienta
en la dirección de aproximación requeridad y la segunda rotación permite alinear el vector
de orientación de la herramienta respecto a su eje.
El movimiento desde la posición i hasta la posición i + 1 se puede expresar en
ténninos de una transformación de "impulsión", D (l) , que es una función de un tiempo
normalizado 1, como:
donde:
A.= t,,.E[0,1}
t = tiempo real desde el comienzo del movimiento.
T = tiempo total para el recorrido de este segmento.
(-10)
En la posición i, el tiempo real es cero, 1 es cero, D (O) es una matriz de identidad 4 x 4 y:
P1 +1, i+1 = P i,i +1 O (1) (-11)
lo cual da
0(1) = (P¡, i+1) •1 P ¡ +1, ¡ +1 (-12)
Expresando las pos1c1ones e i+ 1 en sus respectivas matrices de transfonnación
homogéneas tenemos
Pi,i+1 = A = nA SA 8A PA ( 13)
O O O 1
y
Pu + 1 = B = ne se •e Pe ( 14)
O O O 1
Utilizando la ecuación (-27) para invertir Pi, i+ I y multiplicar por Pi+ I ,i+ I
nA · ne DA. Se DA· 89 DA· (Pe- PA)
0(1) = sA · ne SA. Se sA · ae SA · (Pe- PA) (-15)
ªA. ne BA . Se aA · ae Ba · (Pe- PA)
o o o 1
18
1. INTRODUCCIÓN
donde el punto indica el producto escalar de dos vectores.
Si la función impulsión consiste en un movimiento traslacional y dos movimientos
rotacionales, entonces ambos serán directanúente proporcionales a l. Si 1 varía linealmente
con el tiempo, entonces el movimiento resultante representado por D(I) corresponderá a un
velocidad lineal y dos velocidades angulares constantes.
El movmuento traslacional se puede representar mediante una matriz de
transformación homogénea L(I) y el movimiento será a lo largo de la línea recta que une a
Pi y Pi+ J . El primer movimiento rotacional se puede representar mediante una matriz de
transformación homogénea RA(I) y sirve para rotar el vector de aproximación de Pi hasta el
vector de aproximación en Pi+ 1. El segundo movimiento rotacional representado por RB(l)
sirve para rotar el vector de orientación de Pi+ 1 respecto del eje de la herramienta. Así la
función de impulsión se puede representar como:
donde
Re(l)
donde
D(l) = L(l) RA(l) Rs(l)
L(l) =
C(l$)
S(l$)
o
1 O
1 O
1 O
-S(l$)
C().q,)
o
O lx
o ly
O lz
o o
o o
1 1
V(l6) = Versine (l6) = 1 - cos(l6)
RC(l6) = COS(A.6) S(l6) = sen(l0)
C(l$) = COS(A.$) S(A.$) = sen().q,)
(-16)
(-19)
(-20)
y I e [O, l]. La matriz de rotación RA(I) indica una rotación de ángulo Q respecto del vector
de orientación de Pi que se gira de un ángulo y respecto del vector de aproximación. RB(I)
representa una rotación de f respecto del vector de aproximación de la herramienta P¡+ 1.
19
Espacio
Cartesiano
Rectas
Segmentos de recta y
transición parabólica
Curvas definidas 2 grado
n
D I i
I DIRECTO I
Figura 1.4.1.1
PLANEACION DE
TRAYECTORIAS
INDIRECTO c u,
~
w
)
z -e u -
~
2
11 -u
LJ
81BLIOTE(ljl
INDIRECTO
1 IN1RODUCCIÓN
Espacio de
Articulación
Polinomios
4-~
3-5-3
Segmertos de recta con
sucMZacion
S. splines
~onenciales
Cosenoidales
DIRECTO I
1 INTRODUCCION
1.5 PROBLEMAS EN LA PLANEACIÓN DE TRAYECTORIAS
De la descripción dada en la sección anterior del proceso de planeación tradicional
de trayectorias para robots, se identifican varias causas que impiden su realización
eficiente, estas tienen relación con:
Dinámica de manipuladores
l) Los métodos dinámicos tener mayor sencillez para que su implementación
computacional sea eficiente y permitan el control real del robot.
2) Debe de proporcionar una descripción completa del robot.
Planeación de tareas
1) No existe una relación definida entre el tipo de tareas realizables por los robots
y las diferentes clases de rutas a seguir por el órgano terminal.
2) El uso de rutas para la planeación en espacio cartesiano involucra bastante
tiempo de cálculo.
3) La definiciónde la tarea depende exclusivamente de la experiencia del usuario.
Cinemática Inversa
1) No existe un método general y eficiente para resover la cinemática inversa de
robots
2) Las ecuaciones cinemáticas son altamente no lineales.
3) Las soluciones numéricas son ineficientes y algunas veces no convergen
4) Las soluciones analíticas no están definidas para todos los manipuladores.
Control
1) Debe evitarse el control Bang-bang , propiciado por ciertos tipos de rutas, las
que demandan de los actuadores respuesta instantánea.
21
1 INTRODUCCION
1.6 MODEW DE PLANEACIÓN DE TRAYECTORIAS PROPUESTO
Las características de flexibilidad y adaptabilidad al entorno de los sistemas
robóticos no son satisfechas por la planeación de trayectorias actual, pues ésta se reduce a
la solución de casos particulares. Para ello se ha planteado la necesidad de un sistema
general de planeación de trayectorias en el que apartir de un conjunto de criterios
preestablecidos se interpreten las especificaciones cualitativas y cuantitativas de una tarea
en los parámetros de descripción de una trayectoria. La robustez y eficiencia del sistema
residirá en la capacidad de responder a las perturbaciones en el seguimiento de una ruta
espacial de trabajo, tal como:
• Presencia de obstáculos ·
• Puntos de singularidad
• Fallas internas, etc
El conjunto de criterios utilizados para prevenir y/o resolver situaciones con la presencia
de perturbaciones se le denomina Tolerancia de Fallas. En la figura 3 se muestra el
modelo general de planeación de trayectorias descrito que permitirá conocer la trayectoria
óptima.
Cada método representa un problema completo para resolverse independientemente
y es por eso que se pretende desarrollar como tesis para una de las trayectorias del criterio
de mínimo tiempo.:
FUNCIONAMIENTO
El proceso de planeación de trayectorias de acuerdo con el modelo propuesto comenzará
con la definición por el usuario del tipo de tarea a realizar por el robot y ciertos
paraámetros de ella que realmente son demandas y requerimientos particulares.
en la siguiente etapa, en función de la información especificada el sistema elegirá
el criterio o conjunto de criterios que pueden cumplir con las características definidas de la
tarea por el ususrio. dichos criterios a su vez, tienen asociados ciertos métodos o tipos de
rutas que son compatibles con los criterios. entonces se evaluarán las alternativas
seleccionadas. los resultados serán sometidos a un proceso de depuración, etapa de Fault
tolerance, para detectar:
• Inclusión de singularidades o el paso cerca de ellas en la trayectoria resultado
• Velocidaes, aceleraciones y torques incongruentes con las capacidaes del robot
• Colisión con obstáculos
• evasión de la presición exigida.
22
1 INTRODUCCION
Para realizar esto, la etapa de Fault tolerance manejará un conjunto de desiciones
que le permitirán modificar mínimamente la trayectoria o sus condiciones, sin violar el
criterio de la alternativa tratada y las demandas y requerimientos de la tarea. Finalmente se
obtendrá la secuencia de parametros de control para el manipulador óptima.
TAREAS
J,,
DEMANDAS Y
iu:QUDUMI!KTO!
J/ "I/ J,
CRITDUO CRITERIO CRITERIO
2
. . .
1 n
'"'-'
.J ... ....L
ll!TODO M!TODO METO DO
1 2
. . .
n
1 1
~
F~ULT
~ RestricionH din'1túcas
TOL!liNCE E,,- Singulaidade1
J,
" Elpacio de trabe.jo
TRAYECTORIA
OPTIMA
Figura 1.6.1 . Modelo del problema de planeación de trayectorias.
23
.... j'
N
.... - -IN • -IN -1 -IN
1 ... - 1 - - 1"' • -1 .... 1 1 .. - .... ... ..! .... "i' - ..... 1 e 11 " ,. N .... -- ..... 11 e
X
j'
e
.:::
-1
QS
1 : QS
-1 QS" QS -1 c:zs N f:f,' : ... 1 - Q) !:. -"' N - 1 1 qS . : e .. ~ ".., ..... --..::--;::::.-
'-- .... - 11 1 1 .cJ .!:. -.. í e .... .... :;--11 11
~ e -
~
~
• (ti : Q)
~ - --;:::---
Q ~ - Q5 ... 1 . c:.6' 1
.... ~· 1 1
00 © - ·~ Q)
o ~ - -~ z ~
E-
~ ~ u V)
z <:)' 11 11 ... ~ o 1 (ti : ~
~ 00 <
a
~ -z - 1 -IN =- QS" -IN 1 ... ~ ~ 1 1 - 1 o .,. 1 cJS .!:. crf it; .. ~ 1 ... 11 e u - ... :;-11 • (t)- -.. 11
~
QS' ..!
1
00
e
<:Ci'
~ ~ 00 :.i.l - ·- = (J'J
24
POLINOMIOS PARA UNA TRAYECTORIA l - 5 - l
+ ª'º = ºº " ....
N
ci'
+ a, 1 = (vol,) o .... .... ci'
~+ ª12 = (ª;t¡) cd - .... 11 -e - cÜ .... .... ªu = (s, ªo'l) = -t, - Volt - -2-e ..e
M
t, = ~~(~ = ~ - 2vo - ª0'1 fil v,
t1 11 2
li1(1) 6«>1 61·0
a, = --i·- = -2- - - - 2ao
t I t I t I
élio = 81
+ .... ....
éli1 = (v,12)
e,§'¡
+
éli2 = (ª~i) ... o .... ~· .,
cd. +
+ .... _ ( . 3a1li ª2'~) - 3i1 - 10<>2 - 6v1t 2 - 4v212 - - 2- + - 2-N "' e,§' ....
e ¡+ ....
- ( 3011! 2) = .... 11 .... t, ... éli4 - -15cl2 + 8v112 + 71•212 + - 2- - D1lz e -- ~· .... l:IAI --t, " - ( 01li ªz'i) fil .e élis - 6cl2 - J1·1l2 - 31·zlz - -2- + -2-
V2 = ~~(~ = JJ. - 2v1 ªr'· +-
( 2 ,. 2
3i =
/12( ll - M. 61•1 = - ·-- + - - 2a
(~ ,~ ,. f
+ 8,,o = 82
" .... ,,
el
8,,1 = (Jcl. - 2v1 t, + a~t;)
~
e + o .... .... el = .... t, J+ e a,.2 = (-3ó, + 3v1r. - a,,:) l:IAI ....
Gol 11 J fil -.... ( ª1':) --.... a,.3 = c5, - V¡I, + - 2-.e
Tabla 1.4.l.5
25
POLINOMIOS PARA UNA TRAYECTORIA 4 - 3 - 4
-e ....
e
~
E
el
~
r.lJ
+ ª10 = ºº .., o ....
~ .., ª11 = (vol1)
~ +
+ - = (ªº,¡) ... - ,......, .... cll - ª12 - 2
!+ o
cll " ........ ....
11 " u, a =" ~ 13 - ---
..e: a 14 =(.s, Ootf ) - Vo/ 1 - -2- - (1
(1
'•
12'5 1 12\•0 6C1 a1 = - 2- - - - Su0 - 1 ,, '• ,,
o
~
+ + ,......, ... ..... --... ¡, o ~· ........
11 + \U = (ª•'i) Ri2 - 2 ,,,-..., .. -.!::,, -
"' " .e: ~·
2
_ 6J 2 6v 1
ª2 - -·-· - - -- - 20,12
'i 1 !
+ ..,_ o
.., J
J+
+ -.. _ J
J+ ,,
11 - .....
,;:::-- J -e
...c:
o ........
u,
8n1 = (v1t.)
donde " = f/g y
f = 2J, (4 + ~~- + 2,. + 311) - ~,_._ (3 + ~·) + 2li.,, -
lz , , , , lz 12 ,.
(
6,1 4,. 31.) (s , 2, s, )
- v.,t 1 6 + - -- + - + - - V ¡11 - Ool 110 - + ..!_ + ___.!._ + _! + Q t I
1, 1, l 2 3 l 2 '• 21. I 1 •
Tablal.4.3.4
,. 2,. 311
g= - +--+2+ -
11 '• ,,
CAPITUL02
----~ .... . ··· --·-...
~
' \ .
"" '\ ' ' '\ ' '\ \
"\
\ \ \
\
\ \
\
\
'
\
CARACTERIZACIÓN DE TAREAS
2. CARACTERIZACIÓN DE TAREAS
2.1 JUSTIFICACIÓN DE LA CARACTERIZACIÓN DE TAREAS
Cada tarea que el robot sea capaz de realizar, ya sea soldadura por arco, por puntos,
pintura por aspersión, carga y descarga de máquinas, etc., tienen un conjunto de requerimientos
inherente, tal como: tolerancias geométricas y de posición, rugosidad, velocidad de
procesamiento, tipo de movimiento. Sin embargo un sistema de planeación de trayectorias
difícilmente podrá usar esta información para generar la ruta espacial de desplazamiento del
órgano terminal. Entonces, es necesaria una caracterización de tareas que establezca criterios de
selección para interpretar y traducir los requerimientos de la tarea en los parámetros necesarios
en la planeación y el control del robot. Como ejemplo se pueden tener los siguientes criterios de
selección:
• Mínimo tiempo para trasladar el órgano terminal de un punto de trabajo a otro.
• Mínima energía consumida por los motores que actúan al robot.
• Máxima suavidad de la curva espacial que representa la ruta a seguir por el órgano
terminal; esto es, ausencia de discontinuidades e indefiniciones en la curva y sus
derivadas.
Los parámetros de planeación y control resultantes de la aplicación de los criterios arriba
mencionados, representarán las características de la trayectoria óptima para la tarea especificada
y que satisfaceran los requerimientos y demandas identificados en la caracterización de tareas;
principal objetivo de la planeación de trayectorias.
2.2 METODOLOGÍA DE LA CARACTERIZACIÓN DE TAREAS
En la figura 2.1 se muestra la estrategia concebida para abordar esta etapa, se divide en
tres fases, tareas de manufactura, trayectorias e integración; de las cuáles las dos primeras son
independientes y en general el esquema presenta comoprincipal característica la íntima relación
con el estudio de las rutas para definir los parámetros que las relacionan.
El objetivo del estudio de las tareas de manufactura fue identificar los requerimientos y
demandas para formar grupos de parámetros y para las rutas aquellos parámetros necesarios de
generación y control de propiedades de la curva.
28
CARACTERIZACION -DE
TAREAS t
PROCESOS DE
MANUFACTURA
Descripción literal
Características de proceso
Tipos
Secuencia tarea y mov.
Tolerancias
Velocidad
Peso herramientas
Carga útil
Tipo de movimiento
Anállsls de la tarea
Micromovimientos
Tolerancias
Velocidad '
Peso I
Tipo de herramienta
otros ~------
Forma c i 6 n de grupos por
requerí mi ento"5
Figura 2.1
29
TRAYECTORIAS
Descripción
Tipos
Precisión
Aplicación
Análisis
Descrip. Matem6tica
Parámetros:
Formación de curw
Control de propiedades
Integración
Comparación
Parámetros comunes
Criterios de seleccion
2. CARACTERl7.ACIÓN DE TAREAS
Por último, en la etapa de integración se busca correlacionar las tareas con los tipos
especificos de rutas que respeten las características inherentes del proceso, a fin de definir los
criterios.
El estudió de las dos primeras fases comprende 2 niveles:
• Reconocimiento
• Análisis
y para la última etapa de integración la información es tratada utilizando la herramienta de QFD
( Quality Function Deployment ).
FASE I PROCF.SOS DE MANUFACI1JRA
Según [PROMAlll 93) las aplicaciones de los robots en la industria mas usuales, se
muestran en la figura 2.2, y para ellas se realiza una compilación de característacas y
requerimientos generales, tal como: exactitud, velocidad, tipo de movimiento y otros en la tabla
2.1.
De manera análoga, en las tablas 2,2, 2.3, 2.4, 2.5 y 2.6 se sintetizan las características
de las anatomías para robots más populares actualmente construidas; enfatizando en las
aplcaciones debiodas a las restricciones técnicas particulares: espacio de trabajo, robustez, tipo
de articulaciones, naturaleza y tipo de actuadores y otros.
Una descripción de mayor detalle acerca de los parámetros de control y requerimientos
para algunas tareas se resumen en las tablas 2,7 y 2.8, según [PROMAHI 93], [FERRATE 86],
(GROOVER 86], [VILLANUEVA 83], [DOYLE 88] y [IlMENEZ 82]. Las tareas relacionadas
con operaciones de manufactura muestran tolerancias mas estrechas y usualmente movimientos
comnplejos para su ejecución.
En cambio, el grupo de tareas relacionado con el transporte y la manipulación de
materiales (Pick and Place Tasks) permite movimientos menos restrigidos y complejos, excepto
cuando en la región de trabajo del robot estan presentes varios obstáculos estáticos o dinámicos.
FASE 2 TRA YECI'ORIAS
El estudio de las rutas se realizó en el capítulo anterior en la sección (1.4), en la cual se
trató con la descripción matemática y los parámetros necesarios para la formación y control de
la curva. [Nanji 88] y [Mutbjaba 85] trataron de correlacionar los tipos de anatomías de los
30
2. CARACTERIZACIÓN DE TAREAS
robots con ciertas rutas definidas en EC y EA experimentalmente, realizando la medición de
algunos parámetros; torque, energía consumida, tiempo transcurido en el seguimiento de la ruta.
Sin embargo, no se obtuvo una relación concreta.
APLICACIONES
DE LOS
ROBOTS
INDUSTRIALES
Manipulación
Procesamiento
Montaje
Transferencia
de Material
- Operaciones de transporte - Piezas en transportador
[
- Piezas inmóviles
(asir y situar) - Reconocimiento de
formas
[
- Paletización
- Paletización y operaciones - Empaque individual
relacionadas - Embalaje
- Carga (aUmentación)
Carga y
descarga de - Descarga
máquinas
- Carga I Descarga
Soldadura - De arco
[
- Por puntos
Acabado
superficial
Maquinado
- Continua
[
- Pintura con spray
- Metalizado
- Desbastado y desbarbado
- Pulido
[
- Forjadoras
- Cortadoras
- Troqueladoras
[
- Piezas inyectadas
- Vidrio soplado
- Piezas extruidas
[
-Tomos
- Fresadoras
- Taladros
- Centros de maquinado
- Carrusel de herramienta
[
- Taladrado
- Corte (láser. chorro de agua
o arena, etc.)
Coincide~cia [- Montajes árboVagujero
de piezas - Apilamiento
l
-Tornillo I tuerca
- Pasadores y seguros
Unión de - Soldadura fina (estano, co-
piezas bre, ultrasonido, etc.)
- Encolado (pegado)
- Cosido
Inspección fMedición [ • Visual - Táctil Comparación - Otros sentidos
Figura 2.2 Aplicaciones de los robots industriales
32
2. CARACl'ERIZA.CIÓN DE TAREAS
Clasificación según Velocidad Secuencia
aplicaciones Exactitud
Escalas Valores Trayectoria
del programa
E •
E E
~
1 E ... • ... 1 E ~ s .. Tipo y denominación E .. .. i i ,i " ... ... .& 1 g ... ... o o ... J del proceso o ll o 1 ! ,.. .. ... .. 'G .. .j .Y .. .1 "' • .¡ .ll 11 s 1 ! ! .1 !l. " s 2 I! & l. " t § g g " ., .. .3 • ::, ::, ID !E :, > o s CL a:: o o o o u
Manipulación
Moldeo por inyección X X X X X
r=orja X X X X X
Troquelado X X X X X
Maquinado X X X X X X
Paletizado X X X X X
Pr'lceso
Moletear1c, X X X X X
Desbarbado X X X X X
Pulido X X X X X X
Granallado X X X X X
Limpiar fundición X X X X X X
Limpiar a vapor X X X X X X
Montaje X X X X X X
Cosido X X X X X
Soldadura por puntos X X X X X
Soldadura por arco X X X X X
Soldadura blanda X X X X X X
Pintura X X X X X
Temple X X X X X X X X
Medida
Palpado X X X X X X X
Radiación (X, luz, X X X X X X X X X
etc.)
Tabla 2.1 Requerimientos generales de las tareas
33
2. CARACl'ERIZA.CIÓN DE TAREAS
Anatomía Cartesiana
- Tiene sólo pares cinemáticos de traslación.
- Opera dentro de un envolvente rectangular de trabajo.
- Ocupa mucho espacio.
- Generalmente son instalados en vigas o pórticos.
- Tiene grandes capacidades de carga (de 80 a 150 kg).
- Generalmente son muy pesados (de 2000 a 12000 kg).
- Su costo es más alto que el de robots de otras anatomías.
- Pueden llegar a tener gran exactitud ( menor a 0.1 mm).
- Se utilizan en metrología, soldadura por puntos y arco, en corte con gas, láser y plasma.
- No es apropiado para operaciones de carga de máquinas, pintura, mecanizado, pulido o
granallado.
- La transmisión de movimiento es por mecanismos de pi"ón-cremallera, cadenas, etc.
Tabla 2.2 Características generales de la anatomía cartesiana.
Anatomía Polar
- Tiene 2 pares de revolución en sus articulaciones inferiores y uno de traslación.
- Ocupa menor espacio que los de anatomía cartesiana.
- Tiene grandes capacidades de carga (de 6 a 120 kg).
- Son menos pesados que los de anatomía cartesiana (de 1000 a 2500 kg).
- Tienen gran a_lcance horizontal pero verticalmente están limitados.
- Son utilizados ampliamente en soldadura, alimentación de máquinas herramientas y
mecanizado.
- Su volumen de trabajo se asemeja a una semiesfera hueca.
- Tiene una exactitud de media a baja (0.1 ~ e ~ 1 mm ).
- Su costo es menor al de los robots de anatomf a cartesiana.
- Solo carga un actuador, el que proporciona el movimiento de traslación~
Tabla 2.3. Características de la anatomía polar.
34
Anatomía de Brazo
Articulado
2. CARACTERIZACIÓN DE TAREAS
- Tienen pares cinemáticos de revolución en todas sus articulaciones.
- Ocupan menor espacio los robots con este tipo de anatomía que con cualquier otra.
- Tienen rangos de exactitud de alta a baja (1 mm :s; e :s; 0.1 mm).
- Tienen capacidades de carga variadas (de 3 a 100 kg).
- Pueden fijarse al techo, pared y al piso.
- Tienen mayor alcance vertical que otras anatomías.
- Son utilizados para operaciones de soldadura, alimentación de máquinas, corte (plasma,
gas, láser y agua), ensamble, mecanizado, paletización.
- No son apropiados para la metrología.
- La transmisión de movimiento es complicada, generalmente se hace mediante reductores
de velocidad armónicos; epicicloidales, de engranes rectos.
- Su peso varía entre 50 y 2200 kg.
- Su volumen de trabajo es irregular, pero puede accesar puritos más cercanos a suestructlJia mecánica.
Tabla 2.4 Características generales de la anatomía de brazo articulado.
Anatomía Cilíndrica
- Tiene 2 pares cinemáticos de traslación y 1 de rotación.
- El volumen de trabajo se aproxima a un cilindro hueco.
- Su capacidad de carga es relativamente baja (de 5 a 25 kg).
- Tiene gran alcance horizontal pero verticalmente están muy limitados.
- Tienen una exactitud en el movimiento de baja a media (O. 1 :s; e :s; 1 mm).
- Se utilizan en soldadura por arco, desbarbado, carga 1e máquinas y manipulación ligen1.
- No son recomendados para tareas de exactitud alta: metrología, ensamble, etc.
- La transmisión de movimiento se realiza generalmente por cremallen1-pillón y reductores
de velccí'1ad de engranes rectos.
Tabla 2.5 Características generales de la anatomía cilíndrica
35
2. CARACTEf<l7.ACIÓN DE TAREAS
Anatomía Scara
- Tiene 2 pares cinemáticos rotatorios con ejes paralelos y uno de traslación.
- Son robots con una exactitud alta (menor a 0.1 mm).
- Generalmente se utilizan en ensamble y paletización.
- Tienen mayor rigidez que cualquier otra anatomía de robots con pares cinemáticos
rotatorios.
- Junto con el robot de anatomía articulada son los más compactos.
- El alcance vertical en su volumen de trabajo está muy restringido.
Tabla 2.6 Características generales de la anatomía Scara
FASE 3 INTEGRACIÓN
A través del uso de QFD se reatizó la correlación de información obtenida en las etapas
anteriores, como puede observarse en las figuras 2.3 y 2.4, para definir los criterios que cumplan
y traduzcan adecuadamente los requerimientos de las tareas señaladas en las primeras secciones
de este capítulo.
La relación mas importante entre el tipo de curvas estudiadas con las tareas, se le ha
asignado el nombre de tipos, que corresponde a una relación funcional de la forma de definir la
ruta con la tarea (ver figura 2.5). Los tipos obtenidos son 3:
• TIPO 1) El órgano terminal del robot debe seguir una ruta definida en EC y tan solo
se especifican puntos de partida y finál.
• TIPOll) Se especifican varios puntos de paso en EC por los que el órgano terminal
debe moverse.
• TIPO lll) Solo se definen los puntos en EC de partida y final, el movimiento del
órgano terminal es libre
36
2. CARACTERIZACIÓN DE TAREAS
TAREAS .. SUBTIPOS
E] !! 5. Coatlnuo :.; rn :·· :•: Libn
:,: U) o \ o ..... ::: - TIPOI l.Continuo .. w U) .. ~ '.•'. o:: .. .,
~ J! ) !!! ' w e( ' Rata Dermida 2.Pmato. ' = lf ~ =:: :>. ,. Punto ~ -o ~ o:: ::: rn ;;· o ,:, :, 3. Continuo
:¡
TIPOII
Ruta par
p1111to1 .. puo 4.Punto a
Punto
Figura 2.5 Definiciones obtenidas de la caracterización de tareas para la elección de criterios
Apartir de estos tres tipos generales se forman cinco Subtipos, correspondientes a la
relación entre los tipos y la forma de control o movimiento a lo largo de la ruta. Los cinco
subtipos se enuncian a continuación:
• SUBTIPO 1) Al manipulador se le especifica una ruta del TIPO I Y debe seguirla con
un movimiento contínuo hasta el punto final.
• SUBTIPO 2) Al manipulador se le especifica una ruta del TIPO I y debe seguirla punto
a punto, es decir haciendo un paro total cada cierta distancia a lo largo de
la ruta.
• SUBTIPO 3) Al manipulador se le especifica una ruta del TIPO II y debe seguirla en
forma contínua previo ajuste de una curva por los puntos de paso.
• SUBTIPO 4) Al manipulador se le especifica una ruta del TIPO II y .debe seguirla
punto a punto, previo ajuste de una curva entre los puntos de paso.
37
2, CARACTERIZACIÓN DE TAREAS
• SUBTIPO 5) Al manipulador se le especifica una ruta del TIPO lll y debe seguirla
en forma contínua.
En la Figura 2.3 se muestra la relación encontrada entre los subtipos anteriormente
definidos y las tareas de carácter industrial estudiadas en la sección anterior de este capítulo. En
ésta puede observarse que la mayoría de las tareas de procesamiento o que pueden dar un valor
agregado a los productos se realizan en forma continua y la ruta es especificada o definida a
través de puntos de paso, pero nunca se deja en forma incierta ( TIPO 111 ).
Otra relación importante aparece en la Figura 2.4, donde se observa la correspondencia
entre los subtipos definidos, las rutas ( rectas, polinomios.cónicas, etc. ), las tareas y el espacio
de planeación ( cartesiano / articulación ). Apartir de esto, a las rutas menionadas en las
columnas de la Figura 2.4, se les asignó el nombre de Omes. En la figura 2.5 se agrupan las
definiciones operativas obtenidas ( tipos, subtipos, clases, criterios)en el contexto de la tarea, para
conformar el árbol de desiciones del modelo propuesto en la figura 1.6.1 del capítulo 1, para
la seleccción de criterios adecuados para la planeación de trayectorias.
38
~
··'°
TAREA Tolerancia VEL. Tipo de Movimiento Whta.
TALADRADO ITIO, ITI 1 0.02$ • Discontinuo ~ 5 Kg
IT12 Avance • Sin curvas definidas
$ .= 0.8mm ~.l • Con/sin obstáculos
$ = 25µm mm/rev
DESBARBADO O.lmm $ 0.01$ • Continuo ~ 5 Kg
S 1 mm S 1 mis • Curvas regulares/irreg.
• Obstáculos
SOLDADURA ~ ± lmm V~ 1 m/s •Discontinuo S14 Kg
POR PUNTOS • Curvas irregulares. ~ 116Kg
• Con/Sin obstáculos
• Paro total en posición
deímida
PULIDO 0.lmm S O.OOSmm/r • Continuo ~ 3 Kg
S 1 mm • Curvas regulares/irreg.
• Obstáculos
CORTE (lúer, ± 0.1 mm $ 1 m/s • Continuo
arena, agua ) • Curvas regulares/irreg.
• Sin obstáculos
• Posición de hta. cte.
Tabla 2.6. Estudio de las párametros de tareas usuales para robots industriales
Otros
• Eje de la herramienta
perpendicular
a superficie de trabajo
• Se requiere presición en
posicionamiento
• A vanee de hta. recto
• Prod.máx. = f ( distancia/ agjs.
~6vimientos complejos, poca
presición, contacto hta-pz.a.
• Distancia Hta.-pza. constante
• Posición y orientación complejas
• Espesor metal S l mm
• tiempo = f ( tipo de material,
corriente, fz.a. boquilla)
• Producción máx.= f( t min.
transporte)
•Contacto pza-hta.
• Fz.as. de reacción
• Vel. de trabajo: 15Svel.S30m/min
• distancia hta.-pza. cte.
• Curvas complejas presición media
• Cambio de velocidad suave
~
~
~
~
("!
,a
Ñ
>
~
s. z
CI
("!
;;;!
,a
lllJ
>
(/)
... e
TAREA
SOLDADURA
POR ARCO
PINTURA CON
SPRAY
CARGA/DESCAR
GADE
MÁQUINAS
TRANSPORTE
PALETIZACIÓN
Tabla 2.7
Tolerancia
~ 1 mm
>±2 mm
~ 1 mm
>> lmm
VEL: Tipo de Movimiento
~O.lm/s • Continuo
:S:l mis • Curvas regulares/irreg.
• Velocidad de avance
constante
• Separación de arco cte
~.lm/s • Continuo
~l mis • Suave
• Curvas complejas
• Distancia sup. pistola
constante
~.5m/s • Continuo/Discontinuo
Sl mis • Curvas regulares/irreg.
• Libre/ Obstáculos
t:?: 1 m/s • Continuo/Discontinuo
• Curvas regulares/irreg.
• Libre/ Obstáculos
~ 1 m/s • Continuo/Discontinuo
• Curvas regulares/irreg.
• Libre
Whta
3Kg máx.
O.lKg min
50 Kg máx
O.lKg min
50 Kg máx
1 kg min
100 Kg
max
Otros
• Velocidad= f( 1, eelectrodo,
sección transversal cordón)
• Producción máx.= f(lmax,
material , preparación)
• Problemas por la variabilidad
de pzas.
• Variables: caudal pintura.
Presión fluido/aire, Viscosidad
pintura, Temperatura
• Movimiento a velocidad
máxima
• Colocación de pzas. lenta
• Para total en carga/descarga
• No es importante conocer la
ruta
• Max velocidad = f( Fza.
apriete,wpza, centro masa)
• Para total en carga/descarga
• Para total en carga/descarga
• Máxima velocidad
!"'
t")
>
~
~
1.9'.1 ,,
~
>
t")
s. z
e,
l!l!J
;! ,,
l!l!J
>
fil
'Tl
ati"
~
1))
IV
y.l
v:ft, \ ' .
r> ,_. .
()
o
~
e o
•
•
•
•
•
•
~ z o
>
"O e
ª
• •
•
V\~ 1
"
\:
~
z o
>
"O e
ª
•
•
()
o
~ z e
o
•
• •
•
•
~J.·~~'I
l i,
'7, :¡
'l. ' ·t', ,• ll
'-
()
o
~
z
e o
•
•
• •
--l
"'O
o
(/)
TAREAS
Soldadura Continua
Pulido
Corta Laser, arena
, agua
Desbarbado
Taladrado
Soldadura Puntos
Pintura
TransportePaletización
Carga/Descarga de
Méquinas
A:iilamiento
Ensamble
Z. CPf<IIWR ....... _TAftM
•N - ... _ Cll ai ... - e,,_ ~ ~ ...... -fJi IO .... S'v'3~1 <'lt. U> , ... ,o - C'lt.o· -..
ou1,seii13 o,:ieds3 • • • •
u9!:>e1n:>!W 01:ieds3 •
sa1e,:iuauodx3 •
9818P!OU9SOJ •
58:J!UQJ • •
seui1ds • •
E>UIB!WOU!IDd • • • • u9!:>e1odJa1u1
e:i,19qeJ8d U9!:l!SU8JJ • •• i. IHUII uo1:ie1odJ8lUI
S'v'133~ • • •
S3SV1:> o
~ o o ~ o ::::, ::::, :::> :::> ::) z z a. a. z
~ ~ < < ~ o o o o o z z ü ü :::> ~ ü a.
en
o
.J~ a.
,.
1c1
¡:::: (± º\
,\ '-.... \~ ! n . 'n
42
2. CARACTERIZACIÓN DE TAREAS
1.3 DEFINICIÓN DEL CRITERIO DE MiNIMO TIEMPO
La información obtenida permite la definición de criterios, en este trabajo es de interés
definir Mínimo Tiempo, algunas de sus características son:
• Para que el tiempo sea mínimo a lo largo de toda la ruta :
a) se debe adoptar una velocidad máxima del órgano terminal, pero ésto si y solo
si podrá realize cuando:
V RUTA. s: f ( V PROCESO)
b) La tarea debe permitir tolerancias amplias durante el viaje, sin embargo en las
posiciones de paro total puede alcanzarse una presición media.
c) El movimiento puede ser contínuo I discreto, al igual que libre/ obstáculos.
• Las tareas que pueden ser realizadas en mínimo tiempo son : Taladrado, Soldadura por
puntos, Paletización, Carga y descarga de Máquinas, Transporte.
43
CAPITUL03
' \
- --~
\
\ \
\
\
\
\
'·
MODELO CINEMÁTICO Y DINÁMICO DE
ROBOTS
3. MODELO CINEMÁTICO Y DINÁMICO DE ROBOTS
3.1 INTRODUCCIÓN
La cinemática de robots, al igual que la cinemática de partículas, estudia los aspectos
geométricos del movimiento de manipuladores sin considerar las fuerzas o torque que lo
producen.
Por otra, parte la dinámica del robot, trata con la formulación matemática de las
ecuaciones diferenciales del movimiento del manipulador; describiendo su comportamiento en
términos de las fuerzas y torques que lo producen. Estas pueden obtenerse de las leyes
mecánicas de Newton o también de la formulación de Lagrange de la mecánica clásica.
En este trabajo, el uso de la cinemática y dinámica de robots es fundamental para obtener
trayectorias óptimas, como lo seftalan [Kim 87) y [Shin 85) y [Seshadri 86). Se han realizado
grandes esfuerzos para obtener modelos cuya implementación computacional sea eficiente, sin
perder de vista la presición en el control de la posición del manipulador y obtener una
descripción completa de éste. Actualmente, existen 2 alternativas para aboprdar la cinemática de
robots:
l) Transformadas Homogéneas
2) Coefientes de Influencia
La primera de ellas ha sido ampliamente utilizada, [Uicker 83 ], [Paul 79], [Pifta 92]. Sin
embargo, [Wander · 92) ha demostrado que la descripción cinemática de robots a través de
coeficientes cinemáticos de Influencia, introducida por [Benedict 86] y [Tesar 87], es
computacionalmente mas eficiente que las transformadas Homogéneas.
[V azquez 93] presenta un modelo general para robots usando los coeficientes cinemáticos
de Influencia y la formulación de Lagrange. Algunas ventajas de este modelo son:
• Menor tiempo de .implementación Computacional
• Interpretación flsica directa
• No se deriva para obtener el jacobiano o Hessiano
•Homegenidad entre Cinemátuica y Dinámica de manipuladores.
Este modelo se ha implementado computacionalmente para obtener la ecuaciones en
forma simbólica en Mathematica 2.2. A continuación se describirá el modelo presentado por
[V azquez 93].
45
! -
1
1
1
--
1
3 MODELO CINEMATICO Y DINAMICO DI: ROBOTS
e 'J-
46
,,'
,,'
. ,,~ ,
,,' o•
•
-o ..e o
~ -u
"O
G
6 e,
o
-¡;
1
~
C""l
ª ·-""'
3. MODELO CINEMÁTICO Y DINÁMICO DE ROBOTS
3.2 MODELO GENERAL DE ROBOTS DE COEFICIENTES DE INFLUENCIA
3.2.1. MATRICES DE TRANSFORMACIÓN
Este modelo utiliza la descripción de la orientación de los marcos coordenados asignados
a cada una de las coordenadas generalizadas, a través de las matrices de rotación. Cada marco
coordenado kth puede ser descrito en términos del jth , mediante el producto de matrices de
rotación elementales:
La primera matriz describe la rotación del kth marco coordenado un ángulo "jk alrededor de
Xjk y la segunda matriz, la rotación del kth marco un ángulo ek alrededor áe Zk. La forma
de cada una de estas matrices es:
Al multipliplicar, la forma final de la matriz de transformación es:
c1 -sK o
R} s._c11 c..cJl -sJk
s~11 c~Jl c.Jk
47
donde:
3. MODELO CINEMÁTICO Y DINÁMICO DE ROBOTS
C1=Cos81:
C Jt =Cosa. Jt
S1;=Sen81;
S11 =Sena. .Jl
Las columnas de la matriz rotacional de transfonnación son los vectores unitarios del kth marco
coordenado respecto al Jth marco coordenado:
Cada uno de los elementos de la matriz .R1k contienen infonnación de la orientación del kth
sistema coordenado en las direcciones del Jth sistema coordenado.
x.Jl•xkl x.Jl•y1 xJl•z.1
R} ., Jfl•xkl Jik•J1 Y¡t•Z.1
l.¡1•:Xkl 1:.¡t•J1 l.¡1•Z.1;
3.2.2 CINEMÁTICA DE ROBOTS
En la figura 3.1. se muestra un diagrama que describe el flujo de información entre cada
una de las funciones mas importantes del modelo de coeficientes de Influencia. Como primer
paso se asignan los marcos coordenados a cada articulación para posteriormente determinar los
parámetros de Denavit-Hartengberg. ·
A continuación se construyen las matrices de rotación que describen la rotación entre
marcos Rn-l n • y despues se realiza la multiplicación para obtener la descripción de cada marco
coordenado respecto a el marco { O } .
Después, de cada una de las matrices se separan los vectores columna Vxi , Vzi para la
ith articulación y posteriomente se construye la función de posición, como sigue:
En forma general, esta se expresa por:
48
a=
Para metros
OH
Velocidad
Jacobiano T y R
··['"H ,a, 11 · R1 • 01 [ .,PI 1 q
llGJ J 1= ~~ = z, .t (rPI - ro¡l
awl -,p J = = .i:,,
J I aq,
lJ
Aceleración
HeaslanoTyR
~ 1 CI + w T [ t [ ,GJ 1 1 w
a= [ 1G1 1 ex + wr [ rH1 J w
3 MODELO CINEMATICO Y DINAMICO DE ROBOTS
Matrlcea
Rotación
~R, ~R, :-!R,
~R, ~R, ~.
o
o
Separar vector
Función Posición
t-1
r pt.,. S1.Z1 + ~ [a,,.1.t11+1 +d,.1.Z.·1 l
•1 .
+ ~r,:;
Lagrange
Energia Cinética y Trabajo virtual
t = d ( oKE) _ aKE
II di dtf,; ~
t"=VT[/"] 11 + q T [P:1 q
[PºJ = [ c3[1"1,,11 - .! [ aJ•] 1
II l,J aq, 2 ~
" tf=E e e .p ] (F") T + [ ,p, 1 , (m,)]
" 1 " p•l
t .,.tL + t 1
11 11 11
Modelo general de Robots de Coeficientes de Influencia
Figura 3.1
49
donde:
t-1
L l0u+1Xu+1 +a,.1.ti+11
1-1
3. MODELO CINEMÁTICO Y DINÁMICO DE ROBOI'S
Describe a todos los eslabones intermedios entre el primero
y la Kth articulación respecto al marco de referencia { O } .
Localiza al primer marco coordenadpo en la dirección del eje de
movimiento de la primera articulación.
Describe la localización de la herramienta u órgano terminal
respecto al la kth articulación
La forma general de la función de velocidad es la siguiente:
ú= v + n x,
Se obtiene derivando la función de posición, de la siguiente forma:
Sin embargo, en [Vazquez 93] se demuestra que el conjunto de derivadas señaladas arriba puede
sustituirse por productos vectoriales y de esta manera construir el Jacobiano del manipulador:
a través de los coeficientes de influencia cinemáticos de primer orden.
Para el jacobiano de rotación tenemos:
k-1
(,)/= .E(<,>, zJ
l•l
los siguientes coeficientes de influencia.
0(,)¡ -
[ RG1]1=-= Zp para i-1.j i = revoluci6n aq,
50
3. MODEW CINEMÁTICO Y DINÁMICO DE ROBOO'S
Para el Jacobiano de traslación, los coeficientes de influencia son los siguientes:
av,1 _ [ RGjJ1= = .t1 x (r,1 - r0¡), para i1J i = revoluci6n aq,
av., _
[ G-1 =:...:...J?l.= z
R pi °'lt I i 1.j ; i articulaci6n prismática
[ PjJ,=0 en otro caso
Derivando la función de velocidad se obtiene la aceleración :
En notación compacta:
donde:
[ ! [G]]
11 - - 01
/ ~ dxu+1 <k,.1 d iR -
r pi= f:t[au.1-¡¡¡-+a,.1-¡¡¡1+--¡¡-r,
Corresponde al Hessiano, que también se compone de una parte
traslacional y una rotacional. En [Vazquez 93], se dan los coeficientes
de influencia de segundo orden para determinar las componentes de la
matriz Hessiana
Entonces la aceleración, tiene la forma:
1-1
r pi= S1Z1 + E l0u+rU+l +a,.1.Z.+11 + ~ t,,
l•I
51
l. MODELO CINEMÁTICO Y DINÁMICO DE ROBOTS
a= [ P1 ] ci + c.>T [ .,H¡ ] c.>
3.2.3 DINÁMICA DEL MANIPULADOR
Se hacen uso de las ecuaciones de movimiento de Lagrange y el principio de trabajo
virtual para obtener los torque para cada articulación. Es importante señalar que la información
cinemática generada con anterioridad se intergra directamente a la obtención del lagrangiano. La
energía cinética de un cuerpo rígido es:
Insertando la velocidad lineal y angular:
Sin embargo, la matriz de inercia [ 1 ] de la ecuación anterior esta expresada con respecto al
centro de masa Jth eslabon; para obtenerlo respecto al marco de referencia { O } , se realiza
el siguiente producto:
entonces, la energía cinética para todo el manipulador es la suma de la energía cinética de los
Jth eslabones :
La forma de esta ecuación, tomando encuenta las expresiones anteriores de energía cinética para
un cuerpo rígido y la matriz de inercia para el Jth eslabón respecto al marco { O } , es:
N
(KE,,.,)¡ = L 21 (q T[ RGJ f [Di][ RGJ ] q + q , [ P1 f m¡ [ .P1 ] q )
J•l
52
l. MODELO CINEMÁTICO Y DINÁMICO DE ROBOTS
Agrupando, los términos de la energía cinética en la matriz general de inercia:
N
cr1 :: E ce •º1 ir [Il)l •º1 1 + e .P1 ir m1 e .P1 1 >
1•1
A continuación, se determinan las ecuaciones de movimiento usando la forma general de
la ecuación de torque:
t ::.!!.( aKE) _ éJKE
II dt Ofl,. oq,.
De la energía cinética obtenida anteriormente, se tiene:
de donde se obtiene la siguiente forma compacta:
• [ Pn ] Es una matriz de NxNxN, que contiene las fuerzas de reacción centrífugas y coriolis,
cuya forma es:
N
[P;]IJ:: E [ 7",, ]~ m,, [ .P,, ],. + [ ,11,, ]IJ [Ilq1 [.o,,],. +[[ .o,, 1; [Ilq1 [[ .o,, ],. x [ •º·
q•I
Aunque, el manipulador no tiene movimiento los actuadores tienen que soprtar el peso
de los eslabone! y de la carga útil que se manipula. para incluir estas contribuciones en als
ecuaciones se hace uso del principio de trabajo virtual. Entonces, los torques provocados por
cargas estáticas se determina por:
" tf ::E [[ .P~ ], (F:t + [ •ºl ],(m1)]
p-1
53
3. MODELO CINEMÁTICO Y DINÁMICO DE ROBOTS
De esta manera, la forma general de la ecuación de torque esta dada por la siguiente suma:
L I
t
11
=tn + t 11
3.3 SIMULACIONES DEL MODELO GENERAL
Para demostrar el uso del modelo general de robots de coeficientes de influencia se
implementó en Mathematica V 2.2; para el cálculo tanto simbólico como numérico de las
ecuaciones cinemáticas y dinámicas de un manipulador.
Para el uso del programa es necesario especificar la siguiente información:
• Parámetros de Denavith Hartengberg
• La matriz de inercia para cada eslabón y su masa
En el apéndice A se desearrollan tres ejemplos en forma simbólica correspondientes a los
siguientes tipos de robots:
• Robot Plano
• Articulado de 3 grados de Libertad
• Robot Polar de 3 grados de libertad
Los parámetros de Denavit Hartengberg para cada uno de los robots anteriormente
señalados son:
ROBOT PI.ANO ·
Ardculación i • .
l o o o e
2 o L l o e
Efector Final o L 2 o o
54
J. MODELO CINEMÁTICO Y DINÁMICO DE ROBOTS
·a<>aQT···AB.U~-º···Pi····3····<í·<>S····qi•.••t.JÍm~·················· ... ... ... ····· ....... .
. d¡ .· fl:r
o o d 1 81
2 - 90° o o 0,
3 o L2 o 0,
Efector Final o LJ o o
..
..
A.··.111.·•.·. ·.···.c.••·.ulación.·•·. f.i .· ·· ·. ¿: . < ••• • ··•·· ... · \ 1
·· . .. i .. 1 a i - 1
o o d 1 81
2 - 90º o o 8,
3 o L2 o
Efector Final o L3 o o
3.4 CINEMÁTICA INVERSA
Ya se ha visto en el capítulo 1 y en la sección 3 .1 que el problema cinemático directo
esta relacionado con encontrar la posición, velocidad y aceleración del efector final en función
de ciertos desplazamientos asignados ha cada una de las articulaciones. En cambio la cinemática
inversa trata con el problema de encontrar la coordenada de cada articulación para una posición
y orientación del efector final en espacio cartesiano.
3.4.1 Métodos de solución actuales
Algunos métodos de solución desarropllados par tratar con el problema cinemáico inverso
se clasifican en los siguientes tipos, según [Craig86]:
55
3. MODELO CINEMÁTICO Y DINÁMICO DE ROBOl'S
1) Solución Analítica .
• Algebraicos matriciales
• Geométricos
2) Solución Numérica
A pesar de la gran diversidad de recursos matemáticos y de programación, aún no existe
un algoritmo general, debido a la alta no linealidad de las ecuaciones.
Los algoritmos comprendidos en el método algebraico consisten en la manipulación de
las ecuaciones trascendentales rreunidas en transformadas homogéneas. En cambio, con el método
geométrico se trata de descomponer la geometría espacial del manipulador en varios problemas
geométricos en el plano.
También se ha intentado obtener soluciones generales mediante el uso de redes neuronales, tal
como [Guez88], [Lapedes87].
Debido a la inclusión de la cinemática inversa en los sistemas de planeación de
trayectorias y los problemas enumerados en la sección 1.5 dentro de este contexto, en la siguiente
sección se propone un método de solución, el cuál fue implementado en Mathematica v2.2.
3.4.2 Algoritmo de Cinemática lnveisa (propuesto)
Con excepción de los métodos numéricos basados en programac1on lineal, newton
Raphson y otros, para resolver las ecuaciones trascendentales de la cinemática inversa; en general
los métodos presentados tienen dificulatades para implementarse exitosamente
computacionalmente.
En la figura 3.3 se muestra un diagrama que describe el funcionamiento del modelo
cinemático inverso propuesto. El método reune las siguientes características:
• Modelo algebraico
• Uso del modelo cinemático de coeficientes de inflkuencia
• Aplicable a manipuladores con número arbitrario de grados de libertad
• Fácil programación
56
3. MODELO CINEMÁTICO Y DINÁMICO DE ROBOl'S
El modelo esta basado en la reducción polinomial a través de realizar un cambio de
variable, de tal manera que las ecuaciones trascendentales se convierten en algebraicas, además,
utiliza el modelo de coeficientes de influencia descrito en la sección anterior; para establecer
una relación directa entre ambas fases de la cinemática dando como resultado una mayor
integración en el modelo propuesto en la sección 1.6 para el sistema de planeación de
trayectorias.
3.5 SIMULACION PARA LA CINEMÁTICA INVERSA
En el apéndice B se muestra una de las corridas del programa implementado en
Mathematica v 2.2 para un robot de 3 grados de libertad articulado. Las entradas o datos de
partida, son la posición incial en coordenadas de articulación del robot y la posición y
orientación que se desea alcanzar introducidas mediante un vector y una matriz de 3x3,
respectivamente.
57
Para metros
DH
Solución
Fieura J.J
J MODELO CINEMATICO Y DINAMICO DE ROBOTS
Cambio
Variable
H e,
v 1=tan(-) 2
2u,
Sen01=--l+U2
Cosa= l-U2
I l+U2
Separar
Vx1 Vz1
1J
Función PQsiclón
n:O - 01 ,62 , •••• ,011
n>3 - 0¡,02, .... ,e ..
Matrices de
Rotación
~R, iR,
:-1R,
Producto
Matrices
~R, gR,
~.
Criterio
[J
Función de Posición
n> 3 - Posición=/( 01 , B2 , •••• , 011 )
B1 ,e2 ,03 ... Conocidas e,, .... , e ..... lncognitas
Modelo de Cinemática Inversa Propuesto
58
CAPITULO 4
1 . ' r". ·- ·,,
,\ '- ,- ·- -·---.......... ..... ' ..... -·· "-
:.---~""" \ J.
' "
""'"'
' \ ' / ( \ ,~
" , '- ' . \
J/ / I " '\ ""' ' /- \ ' ' \ / I ' -],
"" \ \ ,.. - ' ·[' ' \ -- \ \ \
1 1 ',
, t I \ ' \ \ :., >
--------'·
MÍNIMO '11EMPO
4. MINIMO TIEMPO
4.1 CONCEPTO DEL MÍNIMO TIEMPO
La tendencia de esta décadaes la velocidad es por eso que la Manufactura Integrada por
Computadora (CIM), Sistemas Flexibles de Manufactura (FMS) y otras herramientas de
automatización tienen gran éxito en nuestros dias, estando presente en ellas los robots.
Así pues, una necesidad industrial ha sido aumentar la productividad, hacer mas rápido
los productos con los estándares de calidad previstos y por supuesto eliminado costos,
especialmente en aquellas operaciones que no agregan valor al producto. Por ello, el seguimiento
de una ruta espacial a máxima velocidad por el órgano terminal del robot para reducir el tiempo
de recorrido.
La planeación de trayectorias de mínimo tiempo se define como:
Dada la descripción de la 111ta cartesiana, obtener la historia de torques que penniten
seguir a la ruta dada sin violar el conjunto de restricciones impuestas por la dinámica del robot.
La solución de este problema ha sido tratada utilizando varios métodos[Meie4r 87] [Potts
88] utilizan métodos numéricos para resolver el problema. [Bobrow 88] y [Rajan 85] utilizan un
algoritmo para optimizar el tiempo de variación de los parámetros de la ruta, utilizan B-Splines.
[Kim 85] obtiene un método para trayectorias formadas popr puntos de paso unidos por
segmentos rectos, tomando en consideración aceleración y desaceleración constante.
[Shin 85] y [Stoline 89] obtienen un método basado en encontrar los perfiles de
aceleración máxima para obtener una trayectoria en fase plano que sete dentro de una región
admisible definida por las capacidades de los actuadores. Hasta el momento este es el método
más eficiente para mínimo tiempo, aunque puede dar como resultado un control bang-bang.
4.2 PARAMETRIZACIÓN DE LAS ECUACIONES DINÁMICAS
El planteamiento del problema de mínimo tiempo según [Shin 85] es el siguiente:
Dada A, O ~A s:lmax , sea un escalar que describa la longitud de arco de la trayectoria
parametrizada deseada, y µ = A, u es la velocidad y la aceleración a lo largo de la
trayectoria respectiva. obtener la frontera inferior y superior de aceleración
60
4. MINIMO TIEMPO
Las fronteras que se desean obtener en aceleración necesariamente deben tomar en cuenta
la dinámica del robot. Utilizando la ecuación dinámica de la forma descrita en el capítulo
anterior:
donde:
C1Jk (q)
G1 (q)
't 1 = J1J ( q) q i + G 1 ( q) +
R1J qi + C1Jk(q) qiqk
i-ésimo torque generalizado
Coordenadas de articulación generalizadas
Matriz general de inercia
Matriz de fricción viscosa
Matriz de términos centrifugos y coriolis
Fuerza gravitacional en la i-ésima articulación
(4. l)
se supondrá que la trayectoria esta dada como un conjunto de n ecuaciones, donde n es el
número de articulaciones del robot, todo en función de un solo segmento, el parámetro A., por
tanto la coordenada generalizada :
q1 = f ( A.) (4.2)
La coordenada generalizada q1 varía continuamente con A., y A. nunca se retraza a lo largo de
su intervalo. .
Difemciando q1 respecto al tiempo:
(4.3)
donde: (4.4)
61
4. MINIMO TIEMPO
Ahora, un conjunto de n+l ecuaciones que describen el movimiento de la curva pueden ser
obtenidas:
(4.5a)
(4.5b)
Una so{o ecuación puede ser obtenida de las n ecuaciones en (4.Sb) multipicando la ith ecuación
por df 1 / d! :
Resolviendo la ecuación (4.6) para la aceleración, las dos ecuaciones de estado que describen
la velocidad y aceleración son obtenidas:
Considerando ahora las fronteras de entrada para el torque:
.1 .1
'tmin ~,: ~ 'tmax (4,8)
Insertando la ecuación (4.Sb) en (4.8):
62
4. MINIMO TIEMPO
J. ~ J (A) dfi ci + J (A) d2fiu2 + G(A)
tm1n i.i dA i.i dA.2 ,..
+ R1.1 d:,.1 µ + Ci.Jk(A) dJ/ dák µ2 ~ t.!- (4.9)
Una representación corta de la ecuación anterior:
t~n ~ M1.a. + Oiµ 2 + R1.J1 + G1 ~t.!ax (4.10)
donde:
que son funciones de A.
Las fronteras de la aceleración 6 y P pueden ser obtenidas de la desigualdad ( 4.1 O)
6i~a.~P1
donde:
t.!ax (M1.>-0) + t!1n(M1.-<0) - (011,12 + Riµ + G1)
M1
(4.lla)
(4.llb)
La expresión (M i > O ) toma el valor de uno si M i > O y cero en caso contrario. Entonces
las restricciones impuestas en la ecuación 4.11 deben tomarse para cad articulación, donde a,
debe satisfacer:
(4.12)
Esto asegurará que la menor y la máxima frontera de aceleración de la trayectoria están
restrigidas por la máxima capacidad de la articulación mas lenta.
63
4. MINIMO TIEMPO
4.3 DEFINICIÓN DE LA REGIÓN ADMISIBLE
Para cualquier valor permisible de µ , la desigualdad 6 (1, µ) ~ P ( A,µ ) debe tomarse
par determinar las restricciones de velocidad. Las restricciones solo podrán determinarse a partir
de esta desigualdad si y solo si se cumple:
p ( A,µ ) - 6 (1, µ) ~ O (4.13)
para todas las combinaciones de i y j. Entonces, la región admisible será la intersección de todas
las regiones determinadas por la desigualdad (4.13) Insertando las ecuaciones (4.1 la) y (4.1 lb)
en la desigualdad (4.13).
t'~n (M1 >-0) + t'max (M1-<0) - ( M,1a. + 01µ
2 + RiJ.I. + G1 )
M.1
t'~ (M1 >-0) + t'm1n (M1 -<0) - ( M1 + 01µ2 + R1µ + G1 ) ~O
Mi
4.4 ALGORITMO DE SHIN & MCKA Y
( para la detenninación de trayectorias de mínimo tiempo)
(4.14)
Una vez obtenida la región admisible en plano fase, el siguiente paso es det~rminar los
puntos de cambio de máxima aceleración I desaceleración a lo largo de la ruta definida. En
[Shin85] se describe el siguiente algoritmo.
l) Construir una curva el plano fase(µ, A) integrando la máxima aceleración comenzando desde
A.=0, µ = µ
0
hasta alcanzar A = Amax o dejar la región admisible.
2) Construir una curva en el plano fase (µ , 1) , integrando la mínima desaceleración.
Comenzando en A=Amax , µ = µ
0
hasta que la trayectoria alcanze A = O, o deje la región
admisible.
3) Si las trayectorias encontradas en (1) y (2) se intersectan, entonces parar. Por tanto la
trayectoria completa contiene solo un punto de cambio de aceleración, es el punto de
intersección.
64
4. MINIMO TIEMPO
4) Si las trayectorias no se intersectan, entonces ellas dejaron la región admisible en cualquier
l. definiendo :
donde la curva que define la región admisible esta dada por µ == g (l). El objetivo es encontrar
los cambios de signo de ~(l) desde l 1 .
5) Resolver la desaceleración máxima , comenzando desde l 1 . hasta que la trayectoria
interserte con la trayectoria de aceleración inicial. la intresección da otro punto de cambio.
6) Resolver la aceleración máxima comenzando en l 1 . hasta que la trayectoria intersecte con
la trayectoria de desaceleración iniciall o deje la región admisible, en este caso regresar al paso
4.
4.4 FAULT TOLERANCE (Tolenmcia de fallas)
En el contexto general, el concepto de Fault Tolerance se origina en la teoría de sistemas
para indicar como cualquier sistema, equipo o máquina puede funcionar óptimamente en cierto
rango sin fallar y como evitar que se produzcan alas fallas. El desarrollo de la Inteligencia
Artificial impulsó el estudio del Faul tolerance, esdpecificamente para aquellas máquinas que
tienen relación con las computadoras.
En los robots es necesario preever y encontra las alternativas inmediatas ante cualquier
posibilidad de falla para evitar desde la simple pérdida de tiempo en reinicializar y poner en
marcha el sistema hasta prevenir la colisión y/o destrucción del manipulador. Debido a que la
planeación de trayectorias trata con el movimiento a ser ejecutado por el robot, entonces esta
directamente involucrado en prevenir cualquier posibilidad de :
• Colisión con objetos y/o máquinas presentes en su volumen de trabajo.
• Paso por puntos singulares debido a la especificación de posiciones inalcanzables o bien
o bien por la inexistencia de soluciones para la cinemática inversa.
• Exigencia en cualquiera de sus parámetros de movimiento superior a las capacidades
de los actuadores; esta condición puede llevar al deshabilitación permante del robot.
65
4. MINIMO TIEMPO
A pesar, de no considerar en este trabajo laplaneación de movimiento con obstáculos, se
incluyen las otras características seftaladas :
1) Implicitamente en el algoritmo planteado en [Shin 85] tal como evasión de singularidaes y
planeación en funcíon de las capacidades del robot.
2) Con la inclusión de jerk ( sacudimiento ) como restricción.
Al inicio del capítulo se mencionó que los resultados del uso del algoritmo de Shin &
Mckay incluyen un comportamiento bang-bang, es decir se requioere una respuesta inmediata de
los actuadores; condición inoperante.
En [Potts 88] y [Shin 87] se imponen restricciones dinámicas para suavizar la historia de
torques y velocidades. El jerk o sacudimiento, corresponde a la primera derivada del torque (
También en la se le asigna este nombre a la 4ta. derivada de la posición en coordenadas de
articulación).
En forma discreta, según [Potts 88] se representa el jerk por:
ch ---G dt p
es la pendiente o razón de cambio de la historia de torque de la trayectoria resultado del
algoritmo de mínimo tiempo. Si se consideran N intervalos de la historia de torque para cada
articulación, donde N ;;: k - 1 , para k ;;: O, 1, 2 ...... , M puntos . Entonces, el jerk para k = 1,
.... M - 1 puede determinarse por:
donde:
para k = O:
G (k) = tp(k+l)-tp(k)
P 4t(k) +4t(k-l)
4 t (k) =4 t (k+l) -4 t (k)
4 t (k) =4 t (k+l) -4 t (k)
66
4. MINIMO TIEMPO
y para k = M:
entonces, se puede fijar una restricción para cada punto:
para k = O, ...... , M puntos.
Gi MIN (k) s Gi(k) s Gi MAX(k)
Ahora, respecto a la velocidad es considerada dentro der la misma restricción de la
siguiente manera:
qi (k) = Gi(k) I ti (k)
para la optimización de los puntos consigna generados.
67
CAPITULO 5
. -- 1.
--- -
----
SIMULACIÓN
\
\
\
\
\
\
S SIMULACIÓN DEL MODELO GENERAL
En los capítulos precedentes, se han descrito e implementado diversos algoritmos que
tratan de manera efiociente los problemas señalados en la sección 1.5, referentes a la planeación
de trayectorias.
Este capítulo trata con la aplicación del modelo propuesto en la sección 1.6 para el
criteriuoio de mínimo ttiempo, desarrollando dos casos. el primero corrresponde a un robot plano
que sigue unaruta del tipo II y el siguiente es un robot articulado PUMA 600, utilizando sus tres
primeros grados de libertad para describir una ruta del tipo l.
5.1 ESTRUCTURA GENERAL DEL MODELO COMPUTACIONAL
La estructura general del programa para el modelo presentado que permitirá encontrar la
trayectoria óptima según el criterio de mínimo tiempo se muestra en la figura 5. l. Las funciones
de caracterización de tareas, rotas, modelo generala de robots y cinemática inversa (simbólica)
tienen la función de asistir al usuario y a la parte numérica del programa para encontrar la
trayectoria óptima; la información que deberá especificarse a la entrada se enlista a continuación:
1) Tipo de ruta y tarea
2) Parámetros Cinemáticos de la ruta.
• Posiciones y orientaciones.
• Velocidad
• Aceleración
3) Parámetros de Denavith Hartenberg del Robot.
4) Parámetros de Eslabones
•Masa
•Momento de Inercia y Productos de Inercia
• Centro de Masa
• Dimensiones del órgano terminal
5) Parámetros de funcionamiento de actuadores y articulaciones
• Torques mínimos y máximos por actuador
• Límites de movimiento por articulación
69
S SIMULACIÓN DEL MODELO GENERAL
6) Demandas de la Tarea
• Carga a manipular
• Tolerancia
La primera fase de planeación de movimiento en espacio cartesiano contiene 3 módulos básicos,
ver figura 5 .1 :
1) Interpolación : Se encarga de ajustar algún tipo de ruita al conjunto de posiciones y
orientaciones especificadas por el usuario para la tarea a ejecutar deseada.
2) Parametri:.ación : Realiza la parametrización declas coordenadas cartesianas en función de
la longitud de arco de la curva definida en el módulo anterior.
3) Segmentación : Discretiza la ruta parametrizada para su transformación en coordenadas de
articulación
La cinemática inversa es la fase intermedia que asegura la transformación de coordenadas
en espacio cartesiano a espacio de articulación. El algoritmo propuesto en el capíulo 3, asiste en
la solución de esta parte.
La fase de planeación de movimiento en espacio de articulación contiene las siguientes funciones:
1) Interpolación : Aproxima una curva entre las coordenadas generalizadas obtenidas de la
cinemática i.nversa. Hasta el momento se han implementado splines cúbicos
2) Parametrir.ación dinámica : Se encarga de obtener las ecuaciones del modelo del robot , en
función de la longitud de arco y sus dos primeras derivadas,
pseudovelocidad y pseudoaceleración. Se utiliza un módulo de
cálculo simbólico para obtener la descripción general cinemática
y dinámica del robot especificado.
3) Región Admisible: Encuentra las pseudovelocidades (primera derivada de la longitud de arco
respecto al tiempo) permisibles de acuerdo con las capacidades de los
actuadores espacificadas.
4) Algoritmo Mlnlmo Tiempo: Resuelve numéricamente las ecuaciones diferenciales generadas
en la función de parametrización dinámica, utilizando el método de Runge Kutta de 4to. orden
para encontrar la secuencia alternativa de aceleración y desaceleración para seguir la ruta a las
máximas velocidaes permisibles. los resultados se representan una gráfica fase- plano
70
....a
Caracterización de
1
RUTAS
Tareas
--;¡-
I ..!!
1 111 ~
,,
Definicion ~ • [ X, 'j 1 z.J::f(!))
1
• ce i>t o-
usuario V ¡:¡2 u ·e ....
11
111
IX interpolación Parametrización
Modelo General de ..... 7
Robots
t
.
CINEMATICA INVERSA
' - 7
PARAMETRIZACION
REGIÓN iNTERPOLACION CINEMÁTICA Y
ADMISIBLE DINAMICA
PLANEACION DE MOVIMIENTO ESPACIO ARTICULACION
ESTRUCTURA DEL PROGRAMA DE PLANEACIÓN DE TRAYECTORIAS DE
MiNIMO TIEMPO PARA ROBOTS BAJO EL CRITERIO DE FAUL T TOLERANCE
Figura 5.1
1
~ 1
Discretización
ALGORITMO
MINIMO TIEMPO
z
~
2
(J ,,
~ · ,
:E V J::
~
o
~~ .....
TRAYECTORIA
OPTIMA
~
fil -1:
(!::!
s:
r,
0-
2
5 SIMULACIÓN DEL MODELO GENERAL
Por último, se tiene una etapa de optimización para obtener la historia temporal de
torques, velocidades y posiciones en espacio de articulación en función de los resultados de la
función anterior. Además evita lás condiciones inoperantes en la historia de los parámetros
obtenidos de la trayectoria, a través de la aplicación del jerk.
5.2 SIMULACIÓN
Para demostrar el uso del modelo del sistema de planeación de trayectorias de mínimo
tiempo se presentan dos casos; el primero corresponde a un robot plano que debe realizar una
operación de transporte y se le especifican los puntos de paso. En el segundo caso se utilizan los
primeros tres grados de libertad de un robot PUMA 600 u~ue ~ebe ejecutar una tarea de
transporte siguiendo una traza del paraboloide z = ( 0.7 - x2- y )l 2 .
Los datos referentes a la definición de la tarea, tipo de robot y restricciones de la ruta se
muestran en las tablas 5.1, 5.2, 5.3 a y b, 5.4 a y by 5.5. La tabla 5.6 contiene la corrida en
Mathematica v 2.2. para los dos primeros segmentos rectos de la ruta tipo II del primer caso.
PLANO Transporte 11 1 Segmentos rectos
Articulado 3 gdl Transporte 1 4 Cónica
z= (0.7-x2 -y2)1/2
T a 5.1 . Tipo e ruta
72
Tipo II 10 Kg
Tipo I 10 Kg
PI (0.35,0.65)
P2 (0.35,0.35)
P3 (0.5,0.35)
IDICIO
(0.5,0.1,0.22)
paso
(0.2,0.2,0. 79)
fin
(0.15,0.7,0.43)
Tabla 5.2 Pararnetros cmematacos de la ruta
o 550
o 450
ano
u••' · ··········· Mi,¡:.:{ ' ··· ·>c.iati'.ij • ~ :
'(K&)y
1 2.27 o o 0.075
2 15.91 0.216 o o
3 11 .36 o o 0.216
ararnetros
73
SIMULACIÓN DEL MODELO GENERAL
. ······ ········~.·•.
1
.•.•.•. e.•_·.··.·._1 .•. • .•. o. ·. ······· ··e.· .. · · .. •.. •.•. ·.d_·· ·.·. ad .·· •.•.. ... . :.a.;riaii6~ . . . -- · .· .·- ··.·.· · · .. · ·.··:·:-·.· .. . :.;: :-·.-.·.
PI (0.35,0.65)
P2 (0.35,0.35)
P3 (0.5,0.35)
inicio (0.5,-
0.1,0.22)
paso
(0.2,0.2,0.79)
fin
(0.15,0. 7,0.43)
- 90
o
90
o
o
(0,0)
(0,0)
.·.···- -: :-:-·-:-.•:·.-:-:-:-: .··-:-: . :·~º
-160 a 160
- 225 a 45
- 45 a 225
O a 160
- 50 a 50
••••••••••••·•M~tneritCJ•••·c1¡••••&i••••tíli~fü
2
>
Iz
0.000376 0.000376 0.0169
0.9897 0.1237 0.1237
0.0074 0.0074 0.7067
S SIMULACIÓN DEL MODEW GENERAL
1 15 0.3906
o 0.177
·.··>.··.:··:)::::--·· .... _ ·:: :·· ·.· :.: .. :·::· ·:· -.-::_'.·::·:::::>·:·:
'llpo de rObot •.
•··.•·••••••••• •(Jllitión••.í
Plano {-40,40} {-40,40}
Articulado 3gdl {-30,30} {-50,50} {-30,30}
estnccaones e unc1onan11ento e os actua ores
En el vector de pares ordenados Definición , ver tabla 5.6, se especifican los puntos de
paso y entre ellos la función Recta interpola segmentos rectos obteniendo la ecuación de la recta
para el parámetrro de tiempo.
Parrímetro se encarga de obtener la longitud de arco s para cada segmento y sus
ecuaciones paramétricas, donde O ~ s ~ l. La función Segmenta discretiza cada segmento de la
ruta cartesioana, en éste caso se especificó una partición en 5 intervalos. Cada ounto
estransformado a través de una rutina obtenida del modelo de cinemática inversa, función KIN,
y las soluciones óptimas son determinadas mediante la aplicación de I criterio de mínimo ángulo.
a éstas n soluciones se les aproxima n-1 splines cúbicos; sus ecuaciones se muestran en la parte
inferior de la tabla 5.6 y las gráficas correspondientes a cada articulación en las figuras 5.3
a, 5.3b y 5.6 para los dos primeros segmentos de la ruta cartesiana.
En la Dynamic Parameter se utilizan loss resultados simbólicos del modelo general de
robots de Coeficientes de Influencia implementado en el capítulo 3. posteriormente se determina
la región admisible en RegA y con A COTNI, la trayectoria en fase plano de mínimo tiempo, en
las figuras 5.4 y 5.7 para los dos primeros segmentos de la ruta cartesiana.
En al úiltima función Optima, se generan dos resultados:
1) Cálculo de la historia de torques y velocidades en función de la trayectoria obtenida en fase
plano de A COTNI, ver figuras 5.5a, 5.8a y 5.9a. De ellas se observa la existencia del cambio
74
5 SIMULACIÓN DEL MODELO GENERAL
instantáneo de torque y velocidad para ambas articulaciones en ciertos puntos. Dichos puntos
corresponden a los cambios repentinos de aceleración-desaceleración mostrados en el diagrama
fase plano y no podrán setr ejecutados por los actuadores.
2) Suavización de los cambios instantáneos ya seilalados en la historia de los puntos consigna
mediante la aplicación del sacudimiento o jerk , para este caso se asumió -300 Nm/s$ G S 300
Nm/s para cada articulación, considerando que la potencia tanto aceleración y desaceleración
del requerida por el actuador es de 300Nm/s .La historia de torque y velocidad se muestran en
las gráficas 5.Sb, 5.8b y 5.9b . En ellas se percibe un notable cambio en las curvas, mostrando
mayor suavidad asociado un incremento en el tiempo necesario para que el órgano tenninal siga
la ruta especificada en espacio cartesiano.
y
0.6
0 . 5
0.4
0.3
0.36 0.38 0.42 0.44 0.46 0.48 0.5
Figl!ra 5.2 Ruta en espacio cartesiano Robot Plano
75
5 SIMULACIÓN DEL MODELO GENERAL
orque Torque
40
40
- ·--
40
~- \ o
1---------------------t t o
0 . 1
0.075
o o.os
0 . 15
,, b)
Figura 5.5 . Historia de torque para segmento 1. a) Sin consideración de jerk. b) Con jerk.
, ..
0.2 0.4
-1. 5
Figura 5.6 Trayectorias interpoladas con polinomios cúbicos para ambas articulaciones del robot
plano, correspondientes a segmento 2 .
77
S SIMULACIÓN DEL MODELO GENERAL
2
-o. 1s/ 0.4 0.6 o.e
-0.2! -2
1
-o.2sf -4t
1
1
-61
0.4 0 . 6 o.e 1 i
Figura 5.3 Trayectoria interpolada con polinomios cúbicos para segmento 1. a) Articulación 1.
b) Articulación 2
µ
3
1
o 0.5
Figura 5.4 Trayectoria de mínimo tiempo en fase plano para el primer segmento
78
>.
l
1
5 SIMULACIÓN DEL MODELO GENERAL
µ
6
4
2
o 0.5 1
Figura 5.7 Región admisible y trayectoria de mínimo tiempo en fase plano para el segmento 2.
velocidad
2
o
• • • • Articulación 2
~ Articulación 1
0.26
t
0 . 58
Figura 5.8 a) velocidad de articulaciones sin consideración de jerk, segundo segmento
78
velocidad
4
o 0.187
5 SIMULACIÓN DEL MODELO GENERAL
0.375
·-· ·-·····- Ar't · culación 1
--- Art · culación 2
0.5622
t
0.75
Figura 5.8 b) velocidad de articulaciones con jerk, segundo segmento
Torqu•
40 -
20 ...... ' ·······. : • ••• • o
- 20
-40
o 0. 26
\ ......... ,
• • • •
•• -• • ••••••
- Torque
• • • Torque
1
2
t
o.se
Figura 5.9 a). Historia de Torque para segmento 2. Sin consideración de jerk.
79
Torque
40
20
-20
-40
o 0.375
5 SIMULACIÓN DEL MODELO GENERAL
-Torqup 1
••• • Torque 2
0.75
Figura 5.9 b). Historia de Torq·ue para segmento 2. Con consuderación de jerk.
Los resultados para el segundo caso, ruta tipo I y robot articulado de 3 grados de libertad,
se muestran en las gráficas 5.10 a 5.15. Las mismas funciones del programa descritas en el caso
anterior fueron utilizadas para obtener las trayectorias óptimas de posición velocidad y
aceleración de cada articulación de la tarea especificada y las cuáles se utilizan en las figuras
5.l2b, 5.14 y 5.15
Figura 5 .1 O Trayectorias interpoladas con polinomios cúbicos de las 3 articulaciones del robot
PUMA
80
5 SIMULACIÓN DEL MODELO GENERAL
..
o 0.25 0.5
Figura 5.11. Trayectoria de mínimo tiempo en fase plano.
2.5
o
-2.5
-5
--~~~---~~~--~~~ ...... ~~~--t
o 1.15 2.3 3.45 4.6
0.75 1
~ Articulación 1
• • • • Artticulación 2
Articulación 3
Figura 5.12a) Velocidaes de articulación sin consideración de jerk. Robot PUMA
81
S SIMULACIÓN DEL MODELO GENERAL
-- A:rticulación 3
-ArticulaciónJ
• • • Articulación 1
5
o
-2.5
-5
o 1.62 3.24 4.86 6.5
Figura 5.12b) Velocidaes de articulación con jerk. Robot PUMA
o
'--~~~..__~~~...L...~~~...L.~~~......L.~~~--' t
o 0 . 92 l. 84 2 . 76 J.68 4.6
Figura 5.13 a) torque sin consideración de jerk para Robot PUMA
82
••• Torqu• 1
-- Torque 2
- Torque J
Torq11e
60
40
20
o
-20
-40
o 1. 'J 2.6
5
3.9 5.2
SIMULACIÓN DEL MODELO GENERAL
6.5
•• • Torque 1
--Torque 2
-Tor que J
t
Figura 5 .13 b) torque con jerk para articulaciones de Robot PUMA
2 3
. . . .
--- Articulación 1
--- Articulación 2
• • • • • t ~iculación 3
. . . . . ... -....... -.. ·
Figura 5.14 Posiciones finales de las articulaciones del Robot PUMA
83
S SIMULACIÓN DEL MODELO GENERAL
Gráíice da ecelereci6n
--- Articulación 1
--- Articulación 2
• • • • • • Articulación 3
Figura 5 .15 Aceleraciones de las articulaciones del Robot PUMA
84
CAPÍTULO 6
-
' ' ' ' ,,
' '\ \ ' \
' ',
\
\
\
\
CONCLUSIONES Y
RECOMENDACIONES
\
\
\
'
6. CONCLUSIONES\' RECOMENDACION[S
6.1 CONCLUSIONES
Los sistemas de planeación de trayectorias actuales no satisfacen las características de
flexibilidad y adaptabilidad al entorno de los sistemas robóticos. por ello, se ha planteado la
necesidad de un sistema general de planeación de trayectorias en el que a partir de un conjunto de
especificaciones de la tarea se obtenga la trayectoria óptima que debe ser enviada al controlador
para su seguimiento.
El presente trabajo de tesis contribuye con los siguientes resultados:
• Establecimiento de una metodología de caracterización de tareas
• Implementación del modelo general de robots de coeficientes de influencia
para el cálculo simbólico y numérico.
• Propuesta de un algoritmo de cinemática inversa basado en el modelo
cinemático de coeficientes de influencia.
• implementación computacional de la planeación de trayectorias para el
criterio de mínimo tiempo
al desarrollo del sistema de planeación de trayectorias mencionado arriba y cuyo modelo es
presentado en la sección J .6.
La metodología de caracterización de tareas establecidapermite definir el conjunto de
criterios para interpretar las especificaciones cualitativas y cuantitativas de una tarea en parámetros
de descripción de una trayectoria, y en este caso se trata con el criterio de mínimo tiempo.
Por otra parte, los modelos y algoritmos utilizados para obtener la descripción del robot y del
mismo criterio de mínimo tiempo utilizados en la implementación computacional, tratan
eficientemente los problemas inherentes a su contexto y son flexibles al grado de pennitir su
integración con otros sin perder sus características.
87
6. CONCLUSIONES Y RECOMENDACIONES
El modelo de coeficientes de influencia utilizado proporciona una descripción completa del
robot sin perder su sencillez ,desde el punto de vista matemático y computacional, y brindar su
interpretación física en todo momento. A partir de este. se propone un algoritmo para tratar
con el problema de la de cinemática inversa; determinar las coordenadas de articulación de cualquier
robot a partir de la especificación de las posiciones y orientaciones en el espacio cartesiano.
Mediante la transformación de las ecuaciones trascendentales resultantes de la cinemática directa en
polinolmiales evitando así, el uso de métodos nwnéricos y sus problemas relacionados con la
convrgencia en la obtención de soluciones. Este método ha sido utilizado para robots articulados de
2, 3 y 4 grados de libertad. Para el caso del robot plano se generan los mismos resultados que arrojan
la solución analítica ya desarrollada.
En obtención de la trayectoria a lo largo de la cuál el órgano · terminal debe moverse a la
máxima velocidad • mínimo tiempo, se utilizó un algoritmo de fase plano que contiene algunas
consideraciones de tolerancia de fallas, tales como:
- No permite exceder las capacidades de los actuadores, se se sujeta a restricciones de
torque de entrada.
- Determina los límites de velocidad y aceleración de los actuadores para la ruta
especificada evitando la sub/sobreutilización de las capacidades del robot
Sin embargo, generara la historia temporal de los parámetros de control con cambios
repentinos y bruscos, esta característica fue superada a través de condicionar a la historia de torque
de los actuadores a una restricción de sacud.imientq, definida por la primera derivada del torque
respecto al tiempo, es decir, la razón de cambio de la historia de torque .
Los resultados obtenidos en la simulación muestran la suavización de todos los parámetros
de movimiento,. A pesar, del incremento del tiempo determinado por el algoritmo de Shin & Mckay
en la ejecución de la ruta con la inclusión de la restricción de sacudimiento en torque, no se
modifica la ruta especificada en espacio cartesiano y tampoco se viola el criterio seleccionado de
mínimo tiempo, solo se obtiene la trayectoria óptima.
88
6. CONCLUSIONES Y RECOMENDACIONES
6.2 Recomendaciones
El modelo implementado puede obtener las trayectorias optimas para las tareas que
requieran ser realizadas en mínimo tiempo~ contiene un número limitado de condiciones para
modificar la trayectoria en caso de registrarse de falla o situaciones que la provoquen. Sin embargo,
tiene la flexibilidad para incluirlas sin perturbar el funcionamiento del actual planeador de
trayectorias. Entre las restricciones que se sugieren adicionar se encuentran las siguientes:
• La planeación de movimiento con obstáculos. Permitirá evitar la colisión con objetos
presentes en la región de trabajo del robot y establecer una relación mas estrecha entre el
robot y su entorno, facilitando al usuario la definición de la ruta.
• La restricción de torque incluida en el algoritmo de mínimo tiempo considera los
límites de torques constantes para los actuadores,. sin embargo otra consideración
es tomar en cuenta el comportamiento de los actuadores.
• Incluir en el modelo general del robot la consideración de fricción en las articulaciones
del manipulador.
89
APENDICE A
PROGRAMA DE CINEMÁTICA Y DINÁMICA
Caso: Robot 3 GOL
p& IIAMlml.OS CINIIUA11COS Y V ALORJIS INICIALl!S
IJlllulo() ,.
limlll- (0,-Pi/l,O);
IAIII- (1111, 1112. ál);
...... -(0.1..2,0);
lilladD- (dl,0,0);
rf- (U. O.O);
klqpludoo- ((O, O. O), (1.2,0,0),(LJ, 0. O));
-(o.O.O);
Onwdod-(0.0.-t);
Cup-(0,0,,plil);
CaltloM-((0,0,0),(0.S Ll,0,0),(0-' LJ,0,0)1; ·,
-.Z-(0,0,1);
MatrixR.ot( mtuU; 1im111. .-.. lipmdll I
Cos(dl2) -Sin[lb2) o
o o 1
-Sin[dl2) -Coo(lh2) o
Coo(lh3) -Sin[lhl) o
Sin[llll) Coo(lhll o
o o 1
Coo(llll) -Sin(lhl) o
Sin[lhl) Coo(lhl) o
o o 1
ProcludoM(RocaJ
Coo(llll J Coo(lbl + lbl) -(Coo(lhlJ s.,¡1112 + thlD · -Sinldlll
Coo(dl2 + 1113) Sin[III I) -<Slial••J Sinlllll + 1113D Coo(dllJ
-Sin(lhl + 1113) -Coo(lhl + tbl) o
Coo(llll J Coo(lhl) -(Coo(dll) Sin(dl2D -Sin(IIII)
Coo(lll2) s.(thl I -<Sinlllll) Si111112D CC111•11
-Sin{lhll .cc.(lbl) o
Coo(dll) -Sin(dll) o
Sin[dll) Coo(lbl) o
o o 1
V ectoXZ(prc,du.a,J
(O, O, I)
(·Sin(dll). Coo(lbl). O)
(-Sin(lh I J. Caollll I J. O)
(Coojlbl). Sin(lbl), O)
( eo.¡11111 CaoltblJ. Caoltbll s.,¡•11. -Sin(lllll)
(Cos(tlll J Caollbl + thl). Caollhl + 1113) Sil(dll). -8in(th2 + 11131)
POl(-X.~lillml......._R.clll.rll
ca.¡11111 (L2 ca.¡1112¡ + L3 c.a.¡1112 + llllD
(L2 CaolllllJ + L3 c.a.¡1112 + llilD Sin(dll J
di • L2 Sinllhl) • L3 Sin[lhl + 1113)
JacobianoT(-Z. pomon. --.....i,¡
(-((L2COl{lbl) + U ca.(1112 + lh3D Sin(lbll). Caollhll(dl - Ll Sin[lbll • U Sin(lbl + 11131). Caoldlll(dl - L3 s.(1112 + lhlD)
(Caolllll J (L2 c.a.¡11121 + L3 c.a.¡1112 + tbll). s.,¡1111 l(dl - u Sinllhll - u Sin(dl2 + 11131). Sinllh 1 )(di - u Sinllll2 + lhlDl
(O. -<L2 Caolt112D- u c.a.¡1112 + llllJ.-<U ea.(1112 + 1113D)
n-ianoTtoi.. -z. ...... ,
-<Collt1tl)(L2 Colllbl) + UColjtlt2 + IIIJD) -(Sin[t1t1J (di - 1.2 Sinlt1t2J · u s.i(lhl + thlD> s.i¡1111J (-di+ L3 Sin[dl2 + lhlD
-((L2 CaolthlJ + u Colltb2 + lhlD s.,¡1111 D Coljlbl) (di. Ll Sin(thll - u Sin(lbl + IIIJD CollllllJ (di· L3 Sinlllll + lhlD
o o o
-<SinldllJ (di • 1.2 Sin(lblJ- L3 Sin[lbl + llllDl -<CollllllJ (L2 CollllllJ + u Collllll + thlDl -<U COl{lhl J COl{lbl + thlD
c.a.¡1111 )(di • Ll Sin[lbl) • L3 Sin[lbl + thlD -((L2 Cos(lh2J + L3 COl{lbl + 1113D Sinflb ID -<U COl{thl + lbJJ Sinflh ID
o -di + L2 Sin[thl] + u Sin[dll + lhl) -di+ L3 Sinldl2 + 1113)
Sin[tbl)(-dl + L3 Sin[dl2 + lhlD -<U COl{thl J COl{dl2 + lhlD -<U COl{tbl I COl{lbl + 1113D
COl{IIIIJ (di • u Sinfdll + thlD -<U COl{thl + 1113) s..¡1111 D -<U COl{thl + thlJ Sin(lhlD
o -di + L3 s.i{dll + IIIJJ -di + U Sinllbl + 1113)
APÉNDICE A
H-iaR[vstar2., lillllhJ
o .c...(tbl) .c...(tbl)
o ·Sin(lh I J ·Sin(lh I J
o o o
o o o
o o o
o o o
o o o
o o o
o o o
T_.JIJ,n,duolo. 1naaoJ
2 2 (lxxl - lyyl) Sin(l lhl) (lxxl • lyyl) s.,¡2 thll
((lxxl Coo{thll +lyyl s.,jlhl), ,O), ( ,lyyl
2
Coo{lhl)' + lxx11 Sin(lhlf, O), (O, O, lzzl))
2 2 2 2 2 (lxx2 + 1yy2 • 21zz2 + 1xx2 Coo{2 lh2J- IYY2 Coo{l tb2D Sin[l lhlJ
((lxll2 Coo{lhll Coo{lhll + lzz2 s.,¡11111 + lyyl Coo{lhll Sin(lhl),
(·lxx2 + lyyl) Col{lhl) Sin(l lhl) (lxx2 + lyyl • 2 lzz2 + boa COl{l lhll • lyyl COl{2 lh2D s.,¡211111
),(
2 4
2 2 2 2 2 (·lxx2 + lyyl) Sin(thll s.,j2 lh2)
lzz2 Coo{lhll + lxx2 COl{lhl) Sin(lhll + lyyl Sin[tbl) s.,jlhl), ),
2
(·lxxl + lyyl) COl{lhll Sin(l d>l) (·lxxl + lyyl) Sin(lhl) Sin(2 lh2) 2 2
(-------. --, lyyl COl{lhl) + lxx2 Sin[lhll))
2 2
2 2 2 2 2
( (lxxJ Cos(lhll COl{lhl + lhJJ + lzz3 Sin(thl) + lyyJ Coo{thl) s.,jlhl + lhJI,
(lxxl + lyyJ. 2 lzz3 + lxx3 COl{l (lhl + lhJ)J - lyyJ c.,.¡2 (lhl + lhJ)D Sin(l lhl 1 !·lxx3 + lyyJ) c.,.¡11111 Sin(2 (lhl + lhJ)J
),
(lxxl + lyyJ. 2 lzz3 + 1xx3 Col(l (lhl + dtJ)J - lyyJ COl{l (lhl + thJ)D Sin[2 lhlJ
(
l l 2 2 2 (-lxx3+1yy3)s.,jtbl)s..(2(1h2+dt3))
lzz3Cosltbl) +lxxJCOl{lhl+lhJI Sin(tbl) +lyyJSin(thll s.,jlhl+dtJ). ),
2
(·lxxl + lyyJ) COl{thl J Sinf2 (lhl + dtJ)I !·lxx3 + lyyJ) Sin(11t1 J s.,¡2 !lhl + dtJ)I 2 2
( , lyyJ COl{lhl + lhJJ + lxx3 Sin(lhl + tbJ)))
l 2 2 2 2 2
APÉNDICE A
lyyl + lzz2 + lzz3 +di mi+ Ll mi• di m2 + Ll ml + di ml+ Ll mJ - 2 di Ll mi Sin(lhl + lhl)· ldl Llml Sin(lhl+lhl] • 2 di Llml Sin(lh2 + lhJJ
2 2 l 2 2 2
lyyl + lzz2+ lzzJ+ di mi+ Ll mi+ di ml+ Ll m2+ di ml+ Ll ml+ L2 Llml COl{tb3J+UL3m2Coo{tb3)+ L2LlmlCOl{lhl)·dl Llml Sin(tbl).
di L2 ml Sin(lh2) • di Ll nü Sin(lhl) • 2 di L3 mi Sin(lh2 + lhJ) • 2 di Ll m2 Sin(lhl + dtJJ • 2 di L3 ml Sin(lhl + tbJJ
2 2 l 2 2 2
lyyl + lzz2+ lzz3+ di mi+ LJ mi+ di ml• Ll m2+ di mJ+ L3 ml• L2 Llml Cos(thJ]+ L2Llm2COl{lhJ)+ L2 LlmlCOl{lh3] · di L2ml Sin(lhl]·
di L2 ml Sin(tbll · di L2 ml Sin(lhl) · 2 di L3 mi Sin(lhl + tbJJ • 2 di LJ ml Sin(lhl + thJI- 2 di L3 mJ Sin(lhl + thJ)
2 2 2 2 2 2 2 2 2
lyyl + lzz2 + lzz3 + di mi + L2 mi + Ll mi + di m2 + Ll ml • L3 ml • di mJ • U ml + Ll ml + 2 U Ll mi COl{lhJI + 2 L2 L3 m2 COl{lhJJ + 2 L2 Ll ml COl{lhll •
2 di L2 m I Sinflhll • 2 di U ml Sin(thll • 2 di Ll mJ Sin[lhl) • 2 di Ll m I Sin(lhl + th3l • ldl L3 m2 Sin[lhl + tb31 • 2 di L3 ml Sin(lhl + thJI
o
o
2 2 2 2 2 2
1zz1 + IWl COl{lhll + lyyl Cos!lhl + thJI + mi COl{thlJ (U Coo{lhlJ + u COl{lhl + thJD + m2 COl{tbll (Ll COl{lhll + u Coollhl + lhlD +
2 2 2 2 2 2
m3 eo.[tbll (U eo.[lhll + L3 COl{tbl + dtJD • mi (U Cos(lh21 + LJ COl{lhl + dtJD Sin(tbll + m2 (L2 eo.[tb2l + U eo.[dll + lhJD Sin(lhll +
2 2
APÉNDICE.A
CASO: ROBOT POLAR 3GDL
Usuario(] MatrbcRot[ Hataalf, llstath, listaan, listadn J
PI Cos(th1) -Sin(th1) O
{O, O,-} Sln[th1) Cos(th1) o
2 o o 1
{th1, O, O}
{O, a2, O) 1 o o
{O, d2, d3} o 1 o
{{boc1, O, O}, {O, lyy1, O}, (O, O, lzz1}) o o 1
{{hoc2, O, O), {O, lyy2, O), {O, O, lzz2})
{{hoc3, O, O}, {O, lyy3, O), {O, O, lzz3}) 1 o o
m1 m2 m3 o o -1
o 1 o
ProduetoM(Rota) VeetoXZ(produeto)
Cos(th1) -Sln(th1) o {Cos(th1 ], Sln[th1 ], O)
Sln(th1) Cos[th1) o (Cos[th1 ), Sln[th1 ), O}
o o 1 (Cos[th1 ], Sin[th1 ), O}
Cos(th1) -Sln[lh1) o {O, O, 1}
Sin(th1) Cos(th1) o (O, O, 1}
o o 1 {Sin[th1 ), -Cos[th1 ), O)
Cos(th1) o Sin(th1)
Sin[th1] o -Cos(th1)
o 1 o
Pos(vectorX, vectorZ, llataan, li&tadn, Ron, rf] listar(Px, Qz)
a2 Cos(th1) + aef Sin[th1) + d3 Sln[th1] {O, O, O)
-( aef Cos(th 1 )) - d3 Cos[th 1 J + a2 Sin[lh 1 J {O, O, d2}
d2 {a2 Codth11 + d3 Sin[th1], -(d3 Cos[th1]) + a2 Sin[th1J, O}
JacoblanoT(vectorZ, poslclon, vectorR,lletath) HessianoT[Gt, vectorZ, llstath)
{aef Cos(th1 J + d3 Cos[th1 J - a2 Sln(th1 ], O, Sln[th1)} -(a2 Cos[th1)) - aef Sln[th1) - d3 Sin[th1)
(a2 Coa{th1) + aef Sln[th1) + d3 Sln[th1), O, -Cos(th1D aef Cos(th1 J + d3 Cos(th1 J - a2 Sln(th1 J
(O 1 O} o
o Cos[lh1)
o Sin[lh1)
o o
o o
o o
o o
o Cos(th1)
o Sln(th1)
o o
o o
o o
o o
HesslaR[veetorZ, llstath) T ensorl[produelo, Inercia]
o o o 2 2 (boc1 - lyy1) Sin[2 th1 J
o o o ({boc1 Cos[th1 J + lyy1 Sln[th1] , 'O},
o o o 2
(boc1 - lyy1) Sin[2 th1 J 2 2
o o o { , lyy1 Cos[lh11 + hoc1 Sin[th1 J , O}, (O, O, lzz1}}
o o o 2
o o o 2 2 (hoc2 - lyy2) Sin[2 th1 J
({boc2 Cos(th1] + lyy2 Sin[lh1), ' O},
o o o 2
o o o (hoc2 - lyy2) Sin[2 th1 J 2 2
o o o ( , lyy2 Cos(th1) + boc2 Sin[lh1), O}, (O, O, lzz2}}
2
2 2 (lxx3 - lzz3) Sin[2 th1 J
((lxx3 Cos[th1) + lzz3 Sin[th1], , O},
2
(lxx3 - lzz3) Sin[2 lh1] 2 2
{ , lzz3 Cos[lh1) + lxx3 Sin[th1], O), (O, O, lyy3}}
2
laaterlec:o[Matrl, Mali, Gt, vectorZ)
2 2 2 2
lyy3 + lzz1 + lzz2 + aef m1 + a2 m1 + 2 aef d3 m1 + d3 ni1 + aef
m2+
2 2 2 2 2
a2 m2+2aefd3m2+d3 m2+aef m3+a2 m3+2aefd3m3
+d3 m3,
lyy3 + lzz1 + lzz2,
-(a2 (m1 + m2 + m3)),
lyy3 + lzz1 + lzz2,
lyy3 + lzz1 + lzz2 + m1 + m2 + m3,
º· -(a2 (m1 + m2 + m3)),
O,
lyy1 + lyy2 + lzz3 + m1 + m2 + m3
Totarr(Reaet, ltotaQ
2 2 2 2
((lyy3 + lzz1 + lzz2 + aef m1 + a2 m1 + 2 aef d3 m1 + d3 m1 +
aef m2 +
2 2 2 2 2
a2 m2+2aefd3m2+d3 m2+aef m3+a2 m3+2aefd3
m3+d3 m3)
alfa(1) + (lyy3 + lzz1 + lzz2) alfa[2) • a2 (m1 + m2 + m3) alfa[3) +
2 (aef + d3) (m1 + m2 + m3) omega[1) omega(3),
(lyy3 + lzz1 + lzz2) alfll(1 J + (lyy3 + lzz1 + lzz2 + m1 + m2 ,.. m3)
alfa(2),
-(a2 (m1 + m2 + m3) alfa(1)) + (lyy1 + lyy2 + lzz3 + m1 + m2 +
m3) alfll(3) •
2
(aef + d3) (m1 + m2 + m3) omeaal11 }
TorGen[TorqueD, Tauses)
2 2 2 2
(lyy3 + lzz1 + lzz2 + aef m1 + a2 m1 + 2 aef d3 m1 + d3 m1 +
aef m2 +
2 2 2 2 2
a2 m2+2aefd3m2+d3 m2+aef m3+a2 m3+2aefd3
m3 + d3 m3)
alfa(1) + (lyy3 + lzz1 + lzz2) alfa(2) • a2 (m1 + m2 + m3) alfa(3) +
2 (aef + d3) (m1 + m2 + m3) omega(1J omega(3)
(lyy3 + lzz1 + lzz2) alfa(1] + (lyy3 + lzz1 + lzz2 + m1 + m2 + m3)
alfa[2)
-(a2 (m1 + m2 + m3) alfa[1)) + (lyy1 + lyy2 + lzz3 + m1 + m2 + m3)
alfa[3) •
2
(aaf + d3) (m1 + m2 + m3) omega(1) + d3 gutll Sin[th1J + 0.5 d3 g
m3 Sln[th1)
APÉNDICE A
Preacc:lon(Masa, Gt, vectorZ, Hr, Hessij
o o
o o
-((aef + d3) (m1 + m2 + m3)) O
(aef + d3) (m1 + m2 + m3) o
o o
o o
o o
o o
o o
(aef + d3) (m1 + m2 + m3) O
o o
o o
o
o
o
Virtual[Maaa,Rota,vectorZ,Gravedad,Carga,CentroM,producto,longl
tudea);
{O, O, d3 gutil Sln(th1 J + 0.5 d3 g m3 Sln[th1)}
(*++++++++++++++++++Definición de Valores por el Usuario*)
Usuario{) : =
Module{ {n, I},
liataalf • {O, O,Pl/2};
llstath • {lh1 , 0,0};
listaan • {O, a2,0};
llstadn • {O, d2, d3};
rf • { O, O,aef};
longitudes = {{O, O, O}, { O, 0,d2},{0,0,d3}};
cero={O, 0,0};
(*Matriz de Inercia*)
n • Length(llstaall);
Inercia ,. Array [Inercia, n);
lnercla[1 J = {(lxx1, O, O}, {O, lyy1, O}, (O, O, lzz1 }};
lnercla[2) = ((lxx2, O, O}, {O, lyy2, O}, {O, O, lzz2}};
inercla(3)= ((lxx3, O, O}, {O, lyy3, O}, (O, O, lzz3}};
(*Fin de Matriz de Inercia*)
(*Masa de Eslabones*)
Mua • Array (masa, n);
masa(1) z m1;
maaa[2J•m2;
masa[3) • m3;
(*Fin de Masa de Eslabones*)
Gravedad=(0,0,-g);
Carga={0,0,-gutil};
CentroM=((0,0,0},(0,0,0.5 d2},{0,0, 0.5 d3}}; J
(*++++++++++++Fin de Definición de Valoree DOr el Usuario*)
CASO: ROBOT PLANO
Usuario()
(O, O}
(th1, th2}
(L1, O}
(O, O}
((bcx1, O, O}, (O, lyy1, O}, (O, O, 1 }}
((boa,º· O}, (O, lyy2, O}, {O,º· 1)}
m1
m2
ProductoM{Rota)
Coa(th1) -Sln[th1) O
Sln[th1) Cos[th1) O
O O 1
Coa(th1 + th2) -Sln(th1 + th2) O
Sln(th1 + lh2) Coa(th1 + th2) O
O O 1
Pos(vectorX, vectorZ, llataan, llatadn, Ron, r1)
L 1 Cos(th1) + L2 Coa(th1 + th2)
L1 Sin[th1) + L2 Sln(th1 + th2)
o
JacobianoT[vectorZ, poak::lon, vectorR,llst.th)
(-(L 1 Sin[lh1)) - L2 Sln(lh1 + th2), -(L2 Sln[th1 + th2))}
(L1 Cos(th1) + L2 Coa(th1 + th2), L2 Coa(lh1 + th2D
(O, O}
HeaalaR[vectorZ, llstath]
o o
o o
o o
o o
o o
o o
Preacclon(Masa, Gt, vectorZ, Hr, Hessl)
O -(L 1 L2 (m1 + m2) Sln(lh2))
L 1 L2 (m1 + m2) Sln(th2) O
-(L 1 L2 (m1 + m2) Sln(th2)) -(L 1 L2 (m1 + m2) Sln[th2))
o o
TotalT[React, llotal)
2 2
(alfa[2)(2 + L2 m1 + L2 m2 + L 1 L2 m1 Coa(th2) + L1 L2 m2
Coa(th2]) +
2 2 2 2
11fa(1](2+L1 m1+L2 m1+L1 m2+L2 m2+2L1L2m1
Coa(lh2] +
2 L 1 L2 m2 Coa(lh2)) - L 1 L2 (m1 + m2) omega(1) omega(2)
MltrblRot( llallllf, llallth, llataan, llatadn )
Cos(th1] -Sln[th1) O
Sln[th1) Cos[th1) O
O O 1
Coa(th2J -Sln[th2] O
Sln[lh2) Cos(th2] O
O O 1
VectoXZ[producto)
(COll{th1 ), Sin[th1 ), O}
(Coa(th1 + lh2), Sln[th1 + lh2], O}
{O, O, 1)
{O, O, 1}
llatar(Px, Qz]
{O, O, O}
{L 1 Coa(th1 ), L 1 Sln[th1 ), O}
HesslanoTIGI, veclorZ, llslalh]
APÉNDICE A
-(L1 Coa[lh1]) - L2 Cos(lh1 + th2) -(L2 Cos(th1 + th2))
-(L 1 Sln(lh1)) - L2 Sin(th1 + th2) -(L2 Sln(th1 + th2])
o o
-(L2 Cos(lh1 + th2)) -(L2 Cos(th1 + th2))
-(L2 Sln(th1 + th2)) -(L2 Sln(th1 + th2))
o o
Teneort[produclo, Inercia]
2 2 (boc1 • lyy1) Sin(2 lh1)
((boc1 Cos(th1) + lyy1 Sin[th1), -----, O},
2
(boc1 - lyy1) Sin(2 lh1) 2 2
{ , lyy1 Cos(th1) + boc1 Sin[th1], O}, {O, O, 1}}
2
2 2
{{boa Cos(th1 + th2J + 1yy2 Sin[th1 + th2J.
(boc2 - lyy2) Sln[2 (th1 -+ lh2))
• O},
2
(boc2- lyy2) Sln[2 (th1 + th2)]
{ .
2
2 2
lw2 Cosllh1 + th21 + boc2 Sinlth1 + th21 O}. {O O 1}}
Virtual(Maaa,Rota, vectorZ, Gravedad.Carga, CentroM,producto,longi
ludes);
{-(gutll L1 Cos[th1))- 0.5 g L1 m1 Cos(th1)- 0.5 g L1 m2 Cos[th1)-
gutll L2 Cos[th1 + th2) - 0.5 g L2 m2 Cos(th1 + th2),
-(gutll L2 Cos[th1 + th2)) - 0.5 g L2 m2 Coa(th1 + th2)}Sln(th2)-
L 1 L2 (m1 + rn2) omega(2) (omege(1) + omega(2)) Sln[th2),
2 2
(2 + L2 m1 + L2 m2) alfa(2) +
2 2
alfa(1) (2 + L2 m1 + L2 m2 + L1 L2 m1 Cos(th2) + L1 L2 m2
Coa(th2)) +
2
L 1 L2 (m1 + m2l nrn.ml1 I Sinlth21J
TorGen[TorqueD, Tauees)
2 2 2
2 alfa(1 J + L 1 m1 alfa(1 J + L2 m1 alfa(1 J + L 1 m2 alfa[1) +
2 2 2
L2 m2 alfa(1 J + 2 alfa[2) + L2 m1 alfa(2) + L2 m2 alfa[2) -
gutll L1 Cos[th1) - 0.5 g L 1 m1 Cos(th1 J - 0.5 g L 1 m2 Cos[th1 J +
2 L 1 L2 m1 11f1[1 J Co8(th2J + 2 L 1 L2 m2 alfa(1 J Cos(th2) +
L 1 L2 m1 alfa(2J Cos(th2) + L 1 L2 m2 alfa[2) Cos(th2) -
gutil L2 Cos[th1 + th2) - 0.5 g L2 m2 Cos(th1 + th2) -
2 L 1 L2 m1 omega(1 J omega(2J Sln(lh2) -
2
2 L1 L2 m2 omega(1) omega(2) Sln[th2)- L1 L2 m1 omega(2)
Sin(th2) -
2
L 1 L2 rn2 omeaal21 Slnlth21
APÉNDICE A
2 2
(2 + L2 m1 + L2 rn2) alfa(2) - gut11 L2 Cos(th1) Cos(th2) -
0.5 g L2 rn2 Cos(th1) Cos(th2J +
2 2
alfa(1) (2 + L2 m1 + L2 m2 + L1 L2 m1 Cos(th2) + L1 L2 m2
Cos(lh2)) +
2
L 1 L2 (m1 + m2) omega(1 J Sln(th2) + gutll L2 Sin(th1 J Sln[lh2J +
0.5 g L2 rn2 Sln[th1] Sln(th2)
APENDICE B
PROGRAMA DE CINEMÁTICA INVERSA
Caso: Robot 3 GOL
P ARAMETROS CINEMATICOS Y VALORES INICIALES
Usuario[]
listaalf = {O, -Pi/2, O
listath = {Pi,Pi/2,Pi/4};
listaan = {0,0.4,0
listado= {0.5,0,0}
rf= {0.4, O, O}
rfil3= {0.4,0,0};
coordenada={ 0.25,0.40,0.15}
FUNCION DE POSICIÓN (con cambio de variable)
0.8 (1. - l. u[l]2 - l. u[2]2 + l. u[l] 2 u[2] 2 - 2. u[2] u[3] 2 + 2. u[l] u[2] u[3])
(1 +u[l] 2)(1 +u[2] 2)(1 +u[3] 2)
1.6 (1. u[l] - l. u[l] 2 u[2] - 2. u[l] u[2] u[3])
(1 +u[l] 2)(1 +u[2] 2)(1 +u[3] 2)
0.8 u[2] 0.8 (-u[2] - u[3] 2 + u[2] u[3] + u[2] u[3])
0.5 - ---------- + -------------------------------------------------------
1 + u[2] 2 (1 + u[2] 2)(1 + u[3] 2)
POSICIONES A TRANSFORMAR
u[3] -> 0.924701, u[l] -> -1.80425, u[2] -> 1.2059, o
u[3] -> 0.924701, u[l] -> 0.554248, u[2] -> -0.0540201
ROTACIONES DE LAS ARTICULACIONES íradl
e.= 1.012191011
02 = -0.107935357
83 = 1.492591635
APÉNDICEB
PROGRAMA DE CINEMÁTICA INVERSA
Caso: Robot 4 GOL
PARAMETROS CINEMATICOS Y VALORES INICIALES
Usuario[]
listaalf= {O,-Pi/2,0,0}
listath = {Pi,Pi/2,Pi/4,Pi/3 L
listaan = {0,0.4,0,0}
listadn = {0.5,0,0,0}
rf= {0.4, O, O}
rfl>3= {0.4,0,0};
coordenada={ 0.25,0.40,0.15}
orienta={Pi/4,0,0}
FUNCION DE POSICION (tres primeros gdl)
APÉNDICES
0.8 (1. - l. u[l]2 - l. u[2]2 + l. u[l] 2 u[2] 2 - 2. u[2] u[J] 2 + 2. u[l] u[2] u[J])
-------------------------------------------------------------------------------------------------
(1 + u[l] 2)(1 + u[2] 2)(1 + u[3] 2)
1.6 (l. u[l]- l. u[l] 2 u[2] - 2. u[l] u[2] u[3])
--------------------------------------------------------
(1 +u[1] 2)(1 +u[2] 2)(1 +u[3] 2)
0.8 u[2] 0.8 (-u[2]- u[3] 2 + u[2] u[3] + u[2] u[3])
0.5 - ---------- + -------------------------------------------------------
1 + u[2] 2 (1 + u[2] 2) (1 + u[J] 2)
POSICIONES A TRANSFORMAR
u[3] -> 0.924701, u[l] -> -1.80425, u[2] -> 1.2059, o
u[3] -> 0.924701, u[l] -> 0.554248, u[2] -> -0.0540201
ROTACIONES DE LAS ARTICULACIONES fradl
81 = 1.012197011
82 = -0.107935357
83 = 1.492591635
84 = 0.46759896
REFERENCIAS BIBLIOGRÁFICAS
[Kim 85] Byung, Kim, Kang, G. S. "Minimun-Time Path Planning for Robot Anns
and their Dynamics ". Transactions on Systems, Man, and Cibemetics IEEE,
1985 , No.2 :p.213- 223
[Shin 87] Lían, C. Shin., Mckay M.D. " On the applícation of a new method for fast and
robust position control of industrial robots". Transactions on Systems, Man, and
Cibemetics ™· 1989, No. : p.
[Potts 88) Tan, H H. , Potts R.B. " Minimun time trajectory planner for the discrete
dynamic robot model" . Transactions on Systems, Man. and Cibernetics
~1988, No.12 :p. 1066- 1074
[Craig 89) Craig, Jonh J. Introduction to Robotics. 3a. Ed. Addison - Wesley Publishing
Company.E.E.U.U. 1989
[Holebrach 83] Hollerbach, J. L., Jonhson, A. R., Lozano-Pérez and Mason. Robot
Motion: Planning and Control . 2a. Ed. MIT Press. E.E.U.U. 1984
[Canny 88) Canny, John F. The Complexitv of Robot Motion Planning. la. Ed. MIT
Press. E.E.U.U. 1988
[Nakamura 91) Nakamura, Yoshiko. Advanced Robotics Redundancy and Optimization. la.
Ed.Addison - Wesley Publishing Company. 1991
[Vásquez 93] Vásquez, Agustín Arvallo. Modelo General para Robots. Tesis que par optar al
grado de Maestro en Ciencias. ITESM - CEM,Universidad de Texas . 1993
[PROMAHI 93) Barrera Torres, Alejandro. De la Merced Sánchez, Bernardo. Proyecto de
Robot Actuado Hidráulicamente de 3 Grados de Libertad. UAM-A. 1994.
(Castillo 93) Castillo, Arturo. Trayectorias para Robots. Tesis que par optar al
grado de Maestro en Ciencias. ITESM - CEM,Universidad de Texas . 1993
[Groover 86) Groover, Mikel P. ; Weiss, Mitchell y otros. Robótica Industrial, Tecnología,
Prommación y Aplicaciones. McGraw Hill. 1989. Madrid, Espada.
[Ferrate 86) Ferraté. G. y otros. Robótica Industrial. Marcombo editores. 1986. barcelona
Espafta.
[Villanueva 83] Villanueva, Pruneda Sergio A. ramos, Watanave Jorge. Manual de métodos
de Fabricación Metalmecánica, Me Graw Hill. Quinta edición. 1991.
[Paul 81] Paul~.C. Robot manipulators, Mathematics, Programing and Control, MIT
press. Cambridge. Massachusetts. 1981. E.E.U.U.
[Hunt 83] Hunt, V.D. Industrial Robotics Handboolc. Industrial press. New York. 1983.
[Doyle 88] Doyle, Lawrence y Otros. Procesos y Materiales de Manufactura para
Ingenieros. Me Graw Hill. 1988. México.
[Alvarez 93] Alvarez Elena y Otros. MATHEMATICA. Paraninfo. 1993. Madrid, Espaila.
[Meader 91] Meader E. Roman. Programming in Mathematica. Addison Wesley Publishing
Co.1991. Redwood, California.
[Fu 86]
[Wu 90)
Fu, K. González y Otros. Robótic~ Control, Detección y Visión. Me Graw
Hill. 1986. Madrid, España.
Wu, J. Y. A systematic ap_proach to robot inverse Kinematics. IEEE Conference
on Systems Engiennering. 1990. Pitsburgh, E.E.U.U.
[Novalcovic 90) Novakovic, Z.R. A solution of the inverse kinematics problem using sliding
mode. IEEE Transactions on Robotics and Automation.1990. Ljubljan~
Yugoslavia.
CEM324072-1
CEM324072-2
CEM324072-3
CEM324072-4
CEM324072-5
CEM324072-6
CEM324072-7
CEM324072-8
CEM324072-9
CEM324072-10
CEM324072-11
CEM324072-12
CEM324072-13
CEM324072-14
CEM324072-15
CEM324072-16
CEM324072-17
CEM324072-18
CEM324072-19
CEM324072-20
CEM324072-21
CEM324072-22
CEM324072-23
CEM324072-24
CEM324072-25
CEM324072-26
CEM324072-27
CEM324072-28
CEM324072-29
CEM324072-30
CEM324072-31
CEM324072-32
CEM324072-33
CEM324072-34
CEM324072-35
CEM324072-36
CEM324072-37
CEM324072-38
CEM324072-39
CEM324072-40
CEM324072-41
CEM324072-42
CEM324072-43
CEM324072-44
CEM324072-45
CEM324072-46
CEM324072-47
CEM324072-48
CEM324072-49
CEM324072-50
CEM324072-51
CEM324072-52
CEM324072-53
CEM324072-54
CEM324072-55
CEM324072-56
CEM324072-57
CEM324072-58
CEM324072-59
CEM324072-60
CEM324072-61
CEM324072-62
CEM324072-63
CEM324072-64
CEM324072-65
CEM324072-66
CEM324072-67
CEM324072-68
CEM324072-69
CEM324072-70
CEM324072-71
CEM324072-72
CEM324072-73
CEM324072-74
CEM324072-75
CEM324072-76
CEM324072-77
CEM324072-78
CEM324072-79
CEM324072-80
CEM324072-81
CEM324072-82
CEM324072-83
CEM324072-84
CEM324072-85
CEM324072-86
CEM324072-87
CEM324072-88
CEM324072-89
CEM324072-90
CEM324072-91
CEM324072-92
CEM324072-93
CEM324072-94
CEM324072-95
CEM324072-96
CEM324072-97
CEM324072-98
CEM324072-99
CEM324072-100
CEM324072-101
CEM324072-102
CEM324072-103
CEM324072-104
CEM324072-105
CEM324072-106