Tesis Maestria Arellano
Tesis Maestria Arellano
Tesis Maestria Arellano
ESCUELA DE POSGRADO
SECCIÓN DE POSGRADO DE LA FACULTAD DE CIENCIAS ECONÓMICAS
Presentada por
LIMA-PERÚ
2005
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POSGRADO
SECCIÓN DE POSGRADO DE LA FACULTAD DE CIENCIAS ECONÓMICAS
RESOLUCIÓN No 013-2005-SPG-FCE-UNAC
JURADO EXAMINADOR
ASESOR DE TESIS
ABSTRACT 06
INTRODUCCIÓN 07
GENERALIDADES 07
PROBLEMA DE INVESTIGACIÓN 08
I. Selección 08
II. Definición 09
III. Justificación de su estudio 10
IV. Planteamiento 10
V. Marco teórico y conceptual de referencia 13
Hipótesis 15
VI. Materiales y métodos 15
CAPÍTULO I 17
CAPÍTULO II 29
FUNDAMENTOS MATEMÁTICOS EN ROBÓTICA 29
CAPÍTULO 111 49
ESTUDIO CINEMÁTICO DEL ROBOT 49
2
3.2.2 Resolución del problema cinemático inverso a partir de la matriz de 66
transfonnación homogénea
3.2.3 Método de desacoplo cinemático 70
3.3. Matriz Jacobiana 75
3.3 .1 Relaciones diferenciales 75
3.3.2 Jacobiana directa 75
3.3.3 Jacobiana inversa 77
3.3 .4 Configuraciones singulares 78
-~
'CAPITULO IV 80
~
ESTUDIO DINAMICO DEL ROBOT 80
6~?'1
4.2. Obtención del modelo dinámico de un robot mediante la formulación de
Lagrange-Euler
4.2.1. Velocidades de las articulaciones de un robot 85
4.2.2. Energía cinética de un manipulador 87
CAPÍTULO V 102
MOVIMIENTO DE UN BRAZO ROBÓTICO CON DOS ARTICULACIONES 102
3
5.7. Cálculo de las trayectorias de articulación 4-3-4 121
5.8. Determinación de los pares de fuerzas aplicados por los actuadores para la
128
obtención de la trayectoria aproximada
CONCLUSIONES 130
RECOMENDACIONES 132
BIBLIOGRAFÍA 133
APÉNDICE 135
Programa N° 1 y tablas 135
Programa N° 2 y tablas 142
4
RESUMEN
Este trabajo se ha realizado describiendo en primer lugar, los aspectos generales sobre la
robótica, luego se desarrolló la base matemática necesaria que se utiliza, así como se
estudió la cinemática y dinámica de la estructura mecánica de un robot rígido.
Finalmente, la labor se concentró en realizar el estudio tanto en los aspectos físicos y
matemáticos y la aplicación concreta al ·movimiento de un brazo robótico con dos
miiculaciones, usando las técnicas numéricas para la solución de las ecuaciones
diferenciales de segundo orden altainente acopladas, que describen su movimiento.
5
ABSTRACT
This work has been carried out focusing on the general aspects of robotics on the one
hand, and the mathematical basics necessary to study the kinematics and dynamics of
mechanical structures, corresponding to rigid robot systems, on the other hand.
Finally, this treatment highlights the study both of the physical and mathematical
aspects and its practica! applications to the movement of a ro botica} arm with two
articulations, using numerical methods and teclmiques to the solving of second order
highly coupled differential equations to simulate the movements.
Within this context, the realization of this theoretical and computational research is
considered a contribution to the fundamentals of the kinematics and dynamics of a
robotical arm subject to two articulations.
6
INTRODUCCIÓN
GENERALIDADES
La Física como ciencia de la naturaleza estudia el movimiento de las partículas y los
cuerpos, usando teorías y métodos apropiados en cada caso, destacándose de manera
especial por su aplicación, el estudio de la dinámica de cuerpos rígidos, utilizando la
cinemática y la dinámica clásica.
Dentro de esta área, tenemos la teo~·ía de la dinámica de Lagrange, la cual posee grandes
ventajas sobre los métodos convencionales, no sólo en el campo de las aplicaciones,
sino también en el campo de la investigación teórica. Esta teoría simplifica el estudio de
la dinámica de partículas y dinámica del cuerpo rígido en un solo procedimiento, tal
como es evaluar solamente la energía cinética y potencial del sistema, para dar lugar a la
función lagrangiana de la cual se deduce las ecuaciones de movimiento. Este método es
el mismo y es independiente del número de masas consideradas, del tipo de coordenadas
empleadas, del número de restricciones sobre el sistema y de que las restricciones y el
marco de referencia estén o no en movimiento; remplazándose los métodos especiales
por un método general único.
El presente trabajo tiene como objetivo principal contribuir con el estudio y aplicaciones
de la mecánica clásica, a través del uso del formalismo de Lagrange, al movimiento de
sistemas de cuerpos rígidos, lo cual implica la determinación de las ecuaciones de
movimiento de un brazo robótica con dos articulaciones aplicando las ecuaciones de
Lagrange.
PROBLEMA DE INVESTIGACIÓN
l. SELECCIÓN
8
lagrangiana en tém1inos de las matrices homogéneas. Por último, se aplica las
ecuaciones de Lagrange para sistemas donde intervienen fuerzas conservativas y
no· conservativas. Este segundo grupo de fuerzas corresponde a las fuerzas
externas y pares de fuerza que deberán ser aplicadas por los actuadores o
motores del brazo.
II. DEFINICIÓN
Las teorías en que se basa su estudio son principios físicos que luego se aplican,
haciendo uso de tecnologías apropiadas, a la generación de nuevas tecnologías. Un
caso particular dentro del campo de la física viene a ser la teoría y ecuaciones de la
dinámica de Lagrange, que al aplicarse dentro del campo de la robótica, permite a
los estudiantes y profesionales de la física a obtener aplicaciones directas de estas
teorías a situaciones concretas.
9
El estudio de un brazo robótica con dos articulaciones, es un ejemplo de aplicación
de esta teoría, donde es posible determinar las ecuaciones que rigen su movimiento,
que posteriormente pueden ser evaluadas por técnicas numéricas.
3.4. La presente investigación fue vulnerable, o sea, fue posible ser investigada, por
que se cuenta con la información bibliográfica y equipamiento básico para la
comprobación de la hipótesis.
IV. PLANTEAMIENTO
4.1. IMPLICANCIAS:
a. Científica
La presente investigación contribuirá ·en el desarrollo de las aplicaciones de la
dinámica de Lagrange dentro del campo de la robótica.
b. Tecnológica
El presente trabajo de investigación permitirá que los especialistas en esta
temática puedan lograr un desaiTollo tecnológico en el campo de la robótica.
10
c. Pedagógica
Los resultados de la presente investigación contribuirán a mejorar el proceso de
enseñanza aprendizaje en la comprensión de las aplicaciones de la mecánica
clásica a sistemas mecánicos.
4.3. INTERROGANTES:
El problema planteado fue analizado en base a las siguientes interrogantes:
a. Generales:
¿Qué aplicaciones tiene el estudio de la mecánica clásica en el movimiento de
los cuerpos rígidos, tal como los cuerpos rígidos o eslabones que constituyen el
brazo de un robot?
b. Específicas:
¿Qué es un brazo robótico?
¿Cuáles son las características del brazo robótica?
11
¿Cuáles son las teorías existentes para el estudio de un brazo robótica?
¿Cuántos son los grados de libertad existentes en el movimiento de un brazo
robótica con dos articulaciones?
¿Cuáles son las coordenadas generalizadas que se pueden establecer para la
descripción del movimiento de un brazo robótica con dos articulaciones?
¿Es posible estudiar la robótica haciendo uso de las ecuaciones de Lagrange?
.¿Qué aplicaciones adicionales a las existentes, podemos encontrar de la
dinámica de Lagrange?
¿Cuáles son los desplazamientos lineales y angulares existentes en este tipo de
movimiento?
¿Cuál es el valor de las componentes de las velocidades lineales y angulares en
función de posición y de los cosenos directores de las articulaciones?
¿Cuáles son las fuerzas restrictivas, ficticias y generalizadas que pueden ser
consideradas en este movimiento?
¿Cuál es el valor de la eneq~ía cinética y potencial total de un brazo robótica con
dos articulaciones en ausencia de fuerzas no conservativas?
¿Cuáles son las ecuaciones dinámicas de movimiento de traslación y rotación de
un brazo robótica con dos articulaciones?
¿Cuáles son los torques o pares de fuerza necesarios para lograr una determinada
trayectoria en el extremo de un brazo robótica con dos articulaciones?
¿Cuáles son las características que deben tener los actuadores en un brazo
robótica, para que el extremo del manipulador cumpla con una trayectoria
planificada?
¿De qué manera contribuirá el brazo robótica con dos articulaciones en el
proceso de enseñanza aprendizaje?
4.4. OBJETIVOS:
a. General
Contribuir con el estudio y aplicaciones de la mecánica clásica, haciendo uso
del formalismo de Lagrange para el movimiento de sistemas de cuerpos
rígidos.
b. Específicos
Determinar la dinámica de un brazo robótica con dos articulaciones
aplicando las ecuaciones de Lagrange.
12
Simular en un ordenador la trayectoria del movimiento de un brazo robótica
con dos articulaciones, sin considerar las fuerzas externas no conservativas
·que intervienen, solucionando numéricamente las ecuaciones de movimiento
que lo rigen.
Determinar las constantes y coeficientes para una trayectoria planificada del
extremo del manipulador.
Contribuir en el proceso de enseñanza-aprendizaje de los estudiantes de los
últimos ciclos de física, mecatrónica y especialidades afines.
A partir de esa década se han venido desarrollando una serie de prototipos que se
han ido adaptando cada vez más a las necesidades industriales, tal como, el aumento
de la productividad en la mayoría de los países industrializados.
La robótica es un campo interdisciplinario que van desde el diseño de componentes
mecánicos y eléctricos hasta la tecnología de sensores, sistemas de computadoras e
inteligencia artificial. Esta realidad permite que profesionales de diferentes
especialidades, relacionadas con este campo, puedan aportar desde su óptica a su
desarrollo.
El estudio de la dinámica del brazo de un robot de una articulación (2) involucra la
obtención de un modelo dinámico, el cual, puede ser obtenido a partir de las
ecuaciones de Newton-Euler y de Lagrange-Euler y de las ecuaciones generalizadas
de D'Alembert.
Consecuentemente, este nos conduce al desmTollo de ecuaciones de movimiento
dinámicas acopladas para las articulaciones del brazo; que pueden ser abordados
dentro de la teoría de ecuaciones diferenciales ordinarias lineales o no lineales. Para
este último tipo de ecuaciones es de importancia analizar la estabilidad de sus
soluciones. Además, de ello se hace necesario el conocimiento del álgebra lineal
<IJ FU, K.S. et al, Robótica: Control, detección, visión e inteligencia, Pág. X.
2
<> CARELLI, Ricardo, Dinámica y control de manipuladores robóticas, Pág. 37.
13
como un instrumento matemático para la representación y solución de los sistemas
de ecuaciones correspondiente a un brazo de robot con "n" grados de libertad.
Es de fundamental importancia conocer el estudio relacionado con el brazo de un
robot con dos articulaciones, lo cual servirá de base para comprender el estudio del
brazo robótica con más articulaciones, es decir, con más grados de libertad. Cabe
precisar, que un mayor número de grados de libertad en el brazo le permitirá a éste,
una mayor cantidad de movimientos posibles y consecuentemente se obtiene un
movimiento más fino del extremo del manipulador.
Solucionar este caso particulm, implica analizar el problema bajo el rigor de las
leyes físicas y herramientas matemáticas antes mencionadas, y solucionar el sistema
de ecuaciones diferenciales ordinarias no lineales altamente acopladas las que
involucran un mayor grado de dificultad en su solución. Felizmente, en la actualidad
se cuenta con técnicas numéricas y de ordenadores personales, que facilitan
notablemente la solución de tales sistemas de ecuaciones diferenciales ordinarias.
El estudio del movimiento de un brazo robótica con dos articulaciones toma como
base lo investigado y publicado sobre el estudio de un brazo robótica con una
articulación que presenta propiedades elásticas (J). Este estudio se basa a su vez en
las ecuaciones de Lagrange, las cuales permiten determinar la posición, velocidad,
cantidad de movimiento del extremo final y de las componentes del sistema de
cuerpos rígidos que están unidos a través de dos articulaciones. Tales ecuaciones,
son la siguientes: (4 )
donde j =1,2, ... ,n (n es el numero de grados de libertad del sistema), 'tj representa
las fuerzas externas o pares de fuerzas no conservativas que intervienen en el
sistema, q¡ representa las coordenadas generalizadas del sistema, t es el tiempo y L
representa la Lagrangiana del sistema, que se define como:
L=T-V
donde T es la energía cinética del sistema y V su energía potencial.
3
<l Id (2).
4
{ ) Goldstein, H. Mecánica Clásica, Barcelona, Edit. Reverté, pág. 78.
14
HIPÓTESIS:
"Mediante la teoría de la dinámica de Lagrange, se determina las ecuaciones de
movimiento de un brazo robótica con dos articulaciones, así como, los pares de
fuerza que aplican los actuadores para 'una trayectoria determinada".
Operacionalización
Determinación de variables e indicadores:
Variable X = Dinámica de Lagrange
Indicadores:
x 1: Lagrangiana del sistema de cuerpos rígidos
x2 : Ecuaciones diferenciales ordinarias de movimiento
15
6.2. De los métodos
Durante el proceso de investigación, se emplearon los siguientes métodos
científicos:
a. Comparativo. Se contrastó los resultados de la investigación estableciendo
la relación entre las variables y los indicadores.
b. Específicos. Estos métodos tratan sobre las leyes específicas del movimiento
de cuerpos, abarcando sólo una determinada parte del movimiento robótica.
Los métodos que serán aplicados, son:
b.l. Formalización. Se usaron ecuaciones generales del movimiento de
cuerpos rígidos para determinar nuestro caso particular.
b.2. Matematización. Durante el desarrollo de esta investigación se usaron
matemáticas superiores y las ecuaciones de Lagrange.
b.3. Inferenciales. Se usó el método deductivo, encontrando a partir de las
ecuaciones de Lagrange las ecuaciones de movimiento de un brazo
robótica con dos articulaciones.
c. Particulares. Considerando la naturaleza de la investigación, se aplicó el
caso específico de la física de los cuerpos rígidos.
d. Simulación Computacional. Se usó un ordenador para modelar y simular la
trayectoria del extremo del brazo robótica en tiempo real, usando los
resultados teóricos obtenidos y las ecuaciones del movimiento que lo rigen.
16
CAPÍTULO I
CONSIDERACIONES GENERALES SOBRE LA
ROBÓTICA
La palabra robot proviene de la palabra checa robota que significa trabajo. Una
definición dada por el Robot Institute of América señala que un robot industrial: "Es un
manipulador multifuncional y reprogramable, diseñado para mover materiales, piezas,
herramientas o dispositivos especiales mediante movimientos programables y variables
que permitan llevar a cabo diversas tareas".
En forma general, se puede señalar que los robots son sistemas que constan de
componentes que forman un todo. El sistema robótico se puede analizar de lo general a
lo particular, utilizando el análisis sistemático. La entrada del robot está constituida por
las órdenes humanas y la salida está fom1ada por diversos tipos de trabajo realizado
automáticamente.
Asimismo, se puede definir la robótica tal y conforme lo concebimos hoy en día, como
el conjunto de conocimientos teóricos y prácticos que permiten concebir, realizar y
automatizar sistemas basados en estructuras mecánicas poliarticuladas, dotados de un
determinado grado de "inteligencia" y destinados a la producción industrial o a la
sustitución del hombr~ en muy diversas tareas. (S)
MOTOR C
MOTOR A ENGRANAJE PL.A.NO (ROTACIÓN CJ
EJES DE TRANSMISIÓN
ENGRANAJE
CÓNICO
(ROTACIÓN A)
MOTOR B
REDUCTOR
ESTRUCTURA PARALELA
AMORTIGUADOR
ENGRANAJE
GIRATORIO PLANO
(ROTACIÓN A)
CAJA DE ENGRANAJES
MOTOR-------
DENTROiFUERA
MOVIMIENTO VERTICAL
(6)
UNIVERSIDAD DE VIGO, Automatización y Robótica, Morfología del Robot, <www.aisa.uvigo.es
/DOCENCIA/AyRobotica.html>, España, pág.2.
18
Planar (2 GOL)
19
encuentra en el extremo del brazo. Una vez que el brazo coloca al elemento
terminal en alguna posición en el espacio, la muñeca es la que nos permite
orientar al elemento terminal en la dirección deseada para realizar el trabajo. A
la muñeca le corresponde los siguientes movimientos independientes o grados
de libertad adicionales: giro, elevación y desviación.
Uf'liOrl
DEL CODO~
.
·r:;~ ...
~~l)mm
Figura 1.3. Esquema del manipulador del robot tipo PUMA, con indicación de sus elementos, sus
articulaciones y de sus posibles movimientos
1.3.2. CONTROLADOR.
Sirve de interfaz entre el usuario y el robot. Es el que gobierna el trabajo de los
motores (actuadores: los dispositivos que originan el movimiento), en otras
palabras, se encarga de regular el movimiento de los elementos del manipulador Y.
todo tipo de acciones, cálculos y procesado de la información, así como almacena
datos y programas, recibe y envía señales a otras máquinas-herramientas por
7
<l UNIVERSIDAD DE GUADALAJARA, Robótica, Programa interactivo tutoría! sobre robótica,
<http://proton.ucting.udg.mx/materias/ robótica!>, México, pág. 108.
20
medio de señales de entrada/salida. La complejidad del control varía según los
parámetros que se gobierna, pudiendo existir las siguientes categorías.
21
1.3.5. SENSORES.
Sirven para que los robots tengan la capacidad de relacionarse con el entorno y
tomar decisiones en tiempo real, y mediante la realimentación adaptan sus planes
de acción a las circunstancias exteriores. La información que reciben les hacen
auto programables, o sea, alteran su actuación y función de la situación externa, lo
que supone disponer de un cierto grado de inteligencia artificial.
Los sensores que se usan en un robot son los siguientes: Rango, proximidad,
acústicos, contacto, fuerza, etc.
La superficie definida por el máximo alcance del extremo del manipulador es llamada
volumen de trabajo y además sirve para identificar la configuración del robot.
22
1.4. Grados de libertad
Los grados de libertad en un robot, también se define como los parámetros que se
precisan para determinar la posición y la orientación del elemento terminal del
manipulador, o sea, son los posibles movimientos básicos (giratorios y de
desplazamiento) independientes. El movimiento y las articulaciones definen los grados
de libertad del robot. Una configuración típica de un brazo robot es la de tres grados de
libertad, a la que se añaden las posibilidades de movimiento en la muñeca, llegando a un
total de cuatro a seis grados de libertad. Algunos robots tienen entre siete y nueve
grados de libertad, pero, por su complejidad, son poco comunes. Un mayornúmero de
grados de libertad conlleva un aumento de la flexibilidad en el posicionamiento del
elemento terminal.
23
1.5. Clases de robof(s>
<SJ HERNÁNDEZ MORA, José Juan, Teoría de la Técnicas Modernas, I.T. APIZACO,
<http://wv.·w.itapizaco.edu.mx/pa[Cilia~/ttm/>,México.
24
es compleja, difícil de controlar para seguir trayectorias rectilíneas, pierde rigidez
en los puntos de máximo alcance, y posee gran volumen de trabajo.
Robots SCARA (Selective Compliance Arm for Robotics Assembly- Brazo de
obediencia selectivo para el ensamble en robótica). Es una combinación entre el
robot miiculado y un robot cilíndrico. Se conforma con las coordenadas
cilíndricas, pero el radio y la rotación se obtiene por uno o dos eslabones planar
con las junturas de rotación. Está conformado por dos articulaciones rotacionales y
una traslacional; su volumen de trabajo es irregular, posee buena accesibilidad
salvando obstáculos. Es muy usado en el ensamblaje de sistemas electrónicos.
(b) (e)
(d) (e)
Figura 1.4. Configuraciones básicas de un robot. (a) Cartesiano o rectilíneo, (b) Esférico o polar,
(e) Cilíndrico, (d) angular o de brazos articulados y (e) SCARA.
X
Figura 1.5. Representación esquemática de un robot articulado
25
1.5.2. ÁREA DE APLICACIÓN
Los robots por su área de aplicación, se clasifican en:
Ensamblaje y No ensamblaje. En este último caso se usa para soldar, pintar,
revestir, manejo de materiales y carga y descarga de maquinarias, entre otras
aplicaciones.
26
De energía eléctrica. Los actuadores eléctricos incluyen una fuente de poder y un
motor eléctrico. La mayoría de las aplicaciones utilizan servomotores, el cual
generalmente utiliza corriente eléctrica. Las ventajas de esta fuente de energía son
que no se requiere transformar la energía eléctrica en otras fonnas de energía
como la hidráulica o neumática, no se contamina el espacio de trabajo y el nivel de
ruido se mantiene bajo. La desventaja es la baja potencia que se cons1gue en
comparación con su contrapm te hidráulica.
1.5.5. GENERACIÓN
Primera generación. Repite la tarea programada secuencialmente y no toma en
cuenta las posibles alteraciones de su entorno. Esta transmisión tiene lugar
mediante servomecanismos actuados por las extremidades superiores del hombre,
caso típico, manipulación de materiales radiactivos, obtención de muestras
submarinas, etc.
Segunda generación. Adquiere información limitada de su entorno y actúa en
consecuencia. Puede localizar, clasificar (visión) y detectar esfuerzos y adaptar sus
movimientos. El dispositivo actúa automáticamente sin intervención humana
frente a posiciones fijas en las que el trabajo ha sido preparado y ubicado de modo
adecuado ejecutando movimientos repetitivos en el tiempo, que obedecen a
lógicas combinatorias, secuenciales, programadores paso a paso, neumáticos o
controles lógicos programables (PLC). Su campo de aplicación no solo es la
manipulación de materiales sino en todos los procesos de manufactura, como por
ejemplo, en el estampado en frío y en caliente, asistencia a las máquinas
herramientas para la carga y descarga de piezas en la inyección de termoplásticos
y metales no ferrosos, en los procesos de soldadura a punta, pintado, etc.
Tercera generación.- Su programación se realiza mediante el empleo de un
lenguaje natural. Posee la capacidad para la planificación automática de sus tareas.
Las mínimas aptitudes requeridas son: capacidad de reconocer un elemento
determinado en el espacio y la capacidad de adaptar propias trayectorias pm·a
conseguir el objetivo deseado.
27
Robots de secuencia arreglada o fija. Cuando se repite en forma invariable, el
proceso de trabajo preparado previamente.
Robots de secuencia variable. Donde el operador puede modificar la secuencia
fácilmente o alterar algunas características de los ciclos de trabajo.
Robots regeneradores. Donde el operador humano conduce el robot a través de la
tarea.
Robots de control numérico o de repetición. Donde el operador alimenta la
programación del movimiento, hasta que se enseñe manualmente la tarea. En este
caso, los manipuladores se limitan a repetir una secuencia de movimientos,
previamente ejecutada por un operador humano, haciendo uso de un controlador
manual o un dispositivo auxiliar. En este tipo, los robots de aprendizaje son los
más conocidos, en los ambientes industriales y el tipo de programación que
incorporan, recibe el nombre de "gestual".
Robots inteligentes. Los cuales pueden entender e interactuar con cambios en el
medio ambiente, esto es, son capaces de relacionarse con el mundo que les rodea a
través de sensores y tomar decisiones en tiempo real siendo autoprogramables. La
visión artificial, el sonido de la máquina y la inteligencia •artifiCial, son los campos
de las ciencias que más se están estudiando para su aplicación en los robots
inteligentes.
Microrobots. Se usa con fines educacionales, de entretenimiento o de
investigación, y cuya estructura y funcionamiento son similares a los de aplicación
industrial.
Telerobots. Son dispositivos robóticas teleoperados con brazos manipuladores y
sensores con cierto grado de movilidad, controlados remotamente por un operador
humano de manera directa o a través de un ordenador.
28
CAPÍTULO 11
FUNDAMENTOS MATEMÁTICOS EN ROBÓTICA
9
2.1 Representación de la posición <l
z ······......
·· ..
····.. ····..
······....
P(x,y,z)
r
k
)'
...··
...·· y
··· ... ..····
·· ...
········...
X ........................................................................................::·:::::::.J...····
r=xi+yj+zk
- - -
29
La divergencia del vector V es:
30
En estas coordenadas la posición de toda partícula o cuerpo es determinada por
la ecuación:
- - -
r=xi +y j +zk
donde las ecuaciones de transfom1ación son:
x = p coscp y= p sencp z=z
Asimismo:
p2 = x2 + l tg cp = y/x
y los límites de p, cp y z son:
O:::;p<oo -oo<z<oo
- 1 a( ) 1 av'{! avz
V·V=-- pV + - - - + -
p ap P p a<p az
31
origen y planos medios a través del eje Z formando un ángulo q> con el plano
XZ, como se muestra en la figura. Los vectores unitarios son üro ü<p y ü 8 que
z
~~~
,..,""' ....
/
/
(
1
1
''
' '... .... _...._--
-----
z
cose= ( )JI?
x2 + y2 + 2 2 -
tgq> = r
X
32
En general, en un sistema de coordenadas esféricas, todo vector V queda
completamente determinado cuando se conoce sus componentes Vr, Ve y V<J>· En
este caso:
8\v -
1 a\lf -
V\lf=-u +--u a\lfu-
+ -1 - -
ar r r ae 8 rsen8 acp <p
La divergencia del vector V es:
-
V-V= a(r 2Vr)+r-(sen8V
1 [ sen8- a av
8 )+r-<p-
J
. r 2sen8 ar ae acp
El rotacional del vector V es:
1
VxV=---
a a a
2
. r sen8 ar ae acp
(JO) FU, K. S., et al, Robótica; Control, Detección, Visión e Inteligencia, Madrid, Me. Graw Hill, 1988,
pág. 15.
33
y
Y'
Las ecuaciones (2-1) representan una transformación ortogonal lineal. Así pues
el paso de coordenadas del sistema no primado al primado se logrará por esta
transformación ortogonal. Para demostrar .esto, las ecuaciones (2-1) se pueden
representar de forma matricial de la siguiente manera:
(r)' =Q r (2-2)
donde Q es una matriz ortogonal representada por la ecuación:
34
cos cp - sencp[
R=
sencp cos cp 1
Interpretación de la Matriz Q
La matriz Q puede ser interpretada de dos fmmas:
1o Como un operador que aplicado al sistema no primado lo transforma al
sistema primado. Esto significa lo siguiente: Al operar la matriz Q sobre las
componentes de un vector en el sistema no primado se obtiene las
componentes del vector primado. Se precisa que Q sólo actúa sobre el
sistema de coordenadas quedando inalterado el vector. Es por ello, que el
primer miembro de la ecuación (2-2) corresponde al vector r en el sistema
primado y que corresponde al mismo vector r en el sistema no primado. En
este caso, se puede considerar que la transfonnación de coordenadas se
reduce sólo a una rotación.
2° También se le identifica como el operador que al actuar directamente sobre
el vector r, lo transforma en otro vector r', estando expresados ambos en el
mismo sistema de coordenadas, tal como se muestra en la figura 2.5.
y
X
Figura 2.5. Rotación de un vector al aplicarle una matriZ ortogonal.
35
En esta figura se observa que podemos hacer girar el vector r en el sentido
horario un ángulo y, dando un nuevo vector r', permaneciendo invariante el
sistema de coordenadas.
cos y sen y
1
l- s~n y
cos y (2-7)
o
Para una rotación de un sistema tridimensional alrededor del eje Y un ángulo B,
la matriz de rotación está expresada por:
(2-8)
Qx,a .lO -
~ r~ co~a se~aj.
sen a
...
cos a
- (2-9)
o l coso p o p1
~ l~ s~n 1
sen
cosa - a Ry,p - 1 o .
Rx,a
s~n a cosa -sen B o cos B
~1
-sen y
[ cos y
R z,y = se~ y cos y (2-10)
o
36
Estas matrices son operadores que aplicadas al sistema primado lo transforma al
sistema no primado.
En la figura 2.6 se representan los ejes coordenados sin rotación, cuando los ejes
XYZ coinciden con los ejes X'Y'Z', y cuando los ejes X, Y y Z han rotado los
ángulos a, ~y y formando los ejes primados X', Y' y Z'.
z
z¡
7··L
;
d p z•1 ,
y
. V
c_b1 Y'
~
Y'
) ~ ~
y p
x., X
Una matriz de rotación compuesta que represente una rotación del ángulo a
alrededor del eje X, seguida por una rotación del ángulo ~ alrededor del eje Y'
(rotado), y luego una rotación del ángulo y alrededor del eje Z' (doblemente
rotado), viene expresada por:
o
O]lcos~
o o O
1
-se~Jl1
o o cosa se~] (2-11)
1 se~ -O cos~ O -sena cosa
cos~cosy cos aseny + sena sen~ cos y senaseny- cos asen~ cos yj
Q= - cos ~seny cosacos y - sena sen~ sen y sena cos y+ cos asen~seny
[
sen~ - senacos~ cosacos~
37
Si se usa las matrices inversas de rotación básicas, la matriz inversa de rotación
compuesta R = Rx_aRy_pRz,y para la misma rotación sucesiva señalada, se
o sen~lrcos y
~l
o lf cosO~
o
~ Ry,~R,,, ~ r~
-seny
R Rx,a cosa -sena 1 O seny cos y
l
sena cosa -sen~ o cos~ O o
cos~cosy
sen~
l
- cos~seny
Y'
X X'
Figura 2.7. Rotación en un ángulo a. del eie X del sistema de coordenadas XYZ
En este caso sólo consideraremos la rotación del eje X con un giro de un ángulo
a. De acuerdo con la ecuación (2-1 0), la matriz traspuesta de rotación básica que
38
pe1mite determinar las componentes sin primar en función de las componentes
primadas está dada por la ecuación:
o
cosa
sena
-s~na]
cosa
(2-13)
i =i 1
-
-j=cosaj'-senak'
- y
- -
k=senaj'+cosak'
-
De igual manera, las columnas y filas de las matrices inversas de rotación básica
Ry,p y Rz,y representan las componentes de los vectores unitarios primados y
39
(las columnas para los primados y las filas para los sin primar) con respecto a la
posición final del eje coordenado X'Y'Z', después de haber rotado
sucesivamente los ejes: X en un ángulo a, Y' (rotado) en un ángulo~ y Z' (en
este caso doblemente rotado) en un ángulo y. Análogamente, los elementos de
esta matriz representan los cosenos directores o la dirección entre los ejes XYZ
yX'Y'Z'.
y Y'
-
u
t-···
.....··
...··
..............................................................................................::::::::¡,..··
Z Z'
Figura 2.8. Rotación del sistema cartesiano XYZ alrededor de un eje arbitrario de vector
unitario Ü.
40
La matriz inversa de rotación compuesta de esta secuencia que permitirá calcular
la posición final de los ejes coordenados X'Y'Z,' luego de que los ejes XYZ han
rotado un ángulo <D por rotación del eje arbitrario, es:
sen~]
R,,., = R'·-a Ry,pR '· .,Ry.-P Rx.a = ~~ cos~ ex -se~- al' co;~ O
1 o
lO sen-a cos- a l- sen~ O cos~
u
sen~= x =u
~u2X +u2y +u2Z x
41
ortogonal de cambio correspondiente tenga determinante igual a+ l. Un conjunto
de tales parámetros son los conocidos ángulos de Euler.
(2-15)
donde aij es el coseno del ángulo entre los ejes x¡ y X j, (en este caso se está
usando como ejes coordenados X 1, X2 y X3 en vez de X, Y y Z), por lo tanto las
primado:
x; = a 11 x 1 + a 12 x 2 + a 13 x 3
Análogamente se representa los valores de x~ y x~ en función de x 1 , x 2 y x 3
a··IJ a·k
1 = 8 J.·k j, k=1,2,3 (2-16)
Donde
(2-17)
42
transformación de un sistema de coordenadas cartesianas a otro, por medio de
tres rotaciones sucesivas efectuadas en un determinado orden.
z~r Y'
' ' \ ~ y
X X'
X
·~
X'
Figura 2.9. Ángulos de Euler en un sistema cartesiano, para los diferentes tipos de
representaciones daJas en la Tabla 2.1.
q> respecto del eje OX3 q> respecto del eje OX3 q> respecto del eje ox3
ORDEN DE
e respecto del eje OX1' e respecto del eje OX2' e respecto del eje ox2
ROTACIONES
\lf respecto del eje OX3' \lf respecto del eje OX3' \lf respecto del eje ox1
43
REPRESENTACIÓN I
Si se realiza las rotaciones en el orden indicado en la tabla, se obtiene finalmente
que la matriz de rotación resultante es:
serl3sell\jf serikos\jf
cose
sencpse:rfl
R= serrpcos\jf + cos<pcosesen\jf - serrpsen\jf + COS<p cose COS\jf - cos<pserl3
[
cose
o 1
l
(2-18)
REPRESENTACIÓN 11
En este caso la matriz de rotación resultante es:
.[cos <p cose cos \jf - sen<psen\jf - cos <pe os esen\jf - sen<p cos \jf cos<psen8l
R= sen<p cose cos \jf + cos <psemv - sen<p cos esen\jf + cos <p cos \jf sen<psene
-senecos \jf sen8sen\jf cose
(2-19)
REPRESENTACIÓN III
En este caso la matriz de rotación resultante es:
o
cos<pcose cos <psenesen\jf - sen<p cos \jf cos <psene cos \jf + sen<psen\jf:
R= sen<p cose sen<psenesen\jf + cos <p cos \jf sen<psene cos \jf - cos <psen\jf
[
-sene cosesen\jf cose COS\jf
(2-20)
44
guiFzada) o rol!, pitch y ymv (RPY), que se aplica generalmente para la muñeca
de un brazo robótico como se muestra en la figura 2.1 O. <11 >
des\oiación
grro
Rotacion Traslación]
[ (2-21)
T = Perspectiva Escalado =
45
En robótica, la submatriz lx3 que representa una transformación de perspectiva
que es útil para visión por computadora y la calibración de modelo de cámara, la
cual es nula por que no es objeto del presente trabajo. La submatriz lxl
representa un escalado global y tiene por efecto reducir las coordenadas si el
elemento es mayor que uno y de alargar las coordenadas si es mayor que cero y
menor que uno, en nuestro caso usaremos el valor de la unidad, por que nuestra
matriz homogénea transforma un vector expresado en coordenadas homogéneas
con respecto al-sistema de coordenadas X'Y'Z' en el sistema de coordenadas
XYZ.
Por lo tanto, la matriz que representa la orientación y posición de un sistema
X'Y'Z' rotado y trasladado con respecto al sistema de referencia XYZ es:
3x3 3xl
T (2-22)
1...................................................... 1 ......................
o o o
1 o o o cos~ o o
sen~
o cosa -sena o o 1 o o
Tx1,a = Tx,,ll =
o sena cosa o -sen~ o cos~ o
o o o o o o 1
cosy -seny o o
sen y cosy o o
Tx, ,y = (2-23)
o o 1 o
o o o 1
46
Si consideramos que el sistema de referencia X'Y'Z' tiene como origen el punto
(x 1,x2,x3) referido al sistema de coordenados XYZ, y este a su vez tiene como
origen el punto (0,0,0); entonces, si el sistema X'Y'Z' sufre una traslación pura,
manteniendo los ejes sin rotación, de la submatriz superior derecha 3xl de la
matriz de transformación homogénea, se tiene que la "matriz de traslación
homogénea básica" es:
1 0 0 X¡
o 1
Ttras = O O (2-24)
o o o 1
nx sx ax Px
=[~ ~]
ny Sy ay Py S a
T= (2-26)
nz nz az Pz o o
o o o 1
47
nx ny nz nTp -nTp
sx Sy Sz sTp Rix3 -S Tp
T-1 = = (2-27)
ax ay az aTp -aTp
o o o 1 o o o 1
En este caso los vectores columna de la inversa de una matriz de transformación
homogénea representa los ejes principales del sistema XYZ con respecto al
sistema de coordenadas rotado X'Y'Z' y la cuarta columna representa la
posición del origen del sistema de referencia con respecto XYZ con respecto al
sistema X'Y'Z'.
cosy -seny o o 1 o o o 1 o o k
seny cosy o o o cosa -sena o o 1 o o
T= (2-28)
o o 1 o o sena cosa o o o 1 o
o o o 1 o o o 1 o o o 1
Esta matriz relaciona a los sistemas vecinos (x¡_¡,y¡_ 1,z¡_ 1) y (x¡,y¡,z¡), pudiendo
transformar un punto o vector del sistema i en el sistema i-1.
48
CAPÍTULO 111
ESTUDIO CINEMÁTICO DEL ROBOT
El estudio de la cinemática permite realizar una descripción espacial del extremo final
del manipulador con respecto a un sistema de coordenadas de referencia fijo, a través
del movimiento relativo de las articulaciones que da como resultado un movimiento de
los elementos que posicionan el efector final o mano en una orientación deseada.
De otro lado, la cinemática del robot trata también de determinar las relaciones entre las
velocidades del movimiento de las articulaciones y de los elementos que constituyen el
manipulador, a través del modelo diferencial que se expresa por medio de la matriz
Jacobiana.
(12)
FU, K. S., et al, Robótica: Control, Detección, Visión e Inteligencia, Madrid, 1988, pág. 13 y sgts.
UNIVERSIDAD DE GUADALAJARA, Robótica, <http://proton.ucting.udg.mx/materias/robótica/>,
México, pág. 106 y sgts.
49
como referencia, en función de los parámetros característicos de las articulaciones y
elementos del robot.
articulación i
eslabón i
articulación 2
eslabón 1
articulación 1
50
como se muestra en la figura 3 .2. Estos parámetros dependen de la geometría de
cada eslabón y de las articulaciones que le unen con los adyacentes.
articulación i articulación i+ 1
Zi-1
X¡_¡
Figura 3.2. Cadena cinemática en la cual se muestran los parámetros a¡, d¡, El¡ y a¡ de las
articulaciones y eslabones de un manipulador.
51
2. Para las articulaciones. También llamados la distancia y el ángulo entre los
eslabones adyacentes, y determinan la posición relativa de los elementos
vecmos.
52
de giro, y si el movimiento prismático o deslizante, el eje es a lo largo del
desplazamiento.
7° La longitud a¡, es la distancia entre los ejes Z¡_ 1 y z¡, la cual es medida a lo
largo del eje X¡, desde la intersección de los ejes Z¡_¡ y x¡ hasta el origen del
sistema de coordenadas i.
8° El ángulo de torsión a¡, es el ángulo entre los ejes z¡_ 1 y z¡, o es el ángulo que
habría que girar de z¡_¡ a Z¡, en tomo de X¡ para que ambos ejes coincidan.
9° La distancia entre los elementos d¡, es la distancia entre las normales del eje
de articulación, medida desde el origen del sistema de coordenadas i-1 sobre
el eje z¡_¡ hasta su intersección con el eje X¡. Si la articulación i es prismática,
este valor es variable.
1Ü0 El ángulo entre los eslabones 9¡, es el ángulo formado entre las normales, o
es el ángulo de rotación que habría que girar en tomo a z¡_.1 medido en el
sentido desde el eje X¡_¡ hasta el eje X¡ para que ambos ejes coincidan. Si la
articulación i es giratoria, el valor de este parámetro es variable.
53
3.1.2. ALGORITMO DE DENAVIT-HARTENBERG PARA LA OBTENCIÓN
DEL MODELO CINEMÁTICO DIRECTO
Denavit y Hartenberg en 1955 elaboraron un método sistemático para determinar
la geometría espacial de los elementos de la cadena cinemática del manipulador
de un robot, con respecto a un sistema de referencia fijo. Este método consiste
en hallar una matriz de transfom1ación homogénea para relacionar
espacialmente los eslabones o elementos rígidos adyacentes, reduciéndose el
problema cinemática directo a encontrar una matriz de transformación
homogénea 4x4 que relacione la localización espacial de cualquier elemento i y
en especial del extremo final, con respecto al sistema de coordenadas de la base.
Así, este método matricial propuesto, permite establecer de manera sistemática
un sistema de coordenadas i ligado a cada eslabón de una cadena articulada,
pudiéndose determinar primero las transformadas homogéneas entre dos
eslabones consecutivos y finalmente las ecuaciones cinemáticas de la cadena
completa.
54
1O. Obtener la matriz de transformación que relacione el sistema de la base con
el del extremo del robot T = 0 A 1 A · · · · · n - 1An .
1 2
55
Cada uno de estos movimientos representa una matriz de rotación o de traslación
homogénea básica, y el producto de las mismas una matriz de transformación
homogénea compuesta. En el caso de la figura 3 .2, la matriz de transformación
homogénea i- 1 A¡ , llamada también matriz de transformación D-H, que
56
X i-1 X·1
Yi-1 Y¡
p i-1 y P¡ (3-5)
zi-1 z.1
1 1
o o 1 2 i-1
T¡ = A 1 A 2 A 3 .. .. A¡
cinemática del brazo del robot, como la "matriz del brazo". Entonces:
57
nx sx ax Px
0
z~ P1,] { ~' ~6] ~ [~ ~ ~ ~] ~ ~: :: :: ~: (3-7)
o o o 1
Asimismo, de las ecuaciones (2-21) y (2-26), se observa que la matriz del brazo
consta de cuatro secciones, de las cuales la submatriz 3x3 describe la
orientación de la mano y la submatriz 3xllaposición de la mano.
58
R p
Rotacion Traslación] 3x3 3xl
T = Perspectiva Escalado
[ = r
: ......................................•.•.............:
(3-9)
o o o
a) En coordenadas cartesianas
Como se ha visto, la matriz de transformación homogénea del brazo está dada
por:
nx sx ax Px
a
ny sy ay Py
~[~
S
T=
nz sz az Pz o o ;] . (3-10)
o o o 1
[ n,
sx
Rxyz = ny sy ay
a,1 = [n S a] (3-11)
nz sz az
59
O ] lcos\jf - sen\jf O]
- sene sen\jf cos \jf O
cose o o 1
l
coscp cos\jf- serxp cosesen\jf - coscpsen\jf- serxpcosecos\jf serxpserl3 ]
R<il 8 \ll = serxpcos\jf+coscpcosesemv - serxpsen\jf + coscpcosecos\jf - coscpserl3
serl3sen\jf serl3 COS\jf cose
(3-12)
- sencp o]l
cose
o
O serfl] ll
coscp O O 1 o o COS\jf
O 1 - seti3 o cose o sen\jf.
eos cp cose cos cpsenesen\jf - sencp cos \jJ cos cpsene cos \ji + sen<psen\jf]
RRPY = sencp cose sen<psenesen\jf + cos cp cos \jJ sencpsene cos \jJ - cos cpsen\jf
l -sene cos esen\jf cosecos\jf
(3-13)
a) En coordenadas cartesianas
b) En coordenadas cilíndricas
La posición del extremo terminal, como se muestra en la figura 3-3 (a), resulta
de los siguientes movimientos: Traslación de "p" unidades a lo largo del eje OX,
rotación de un ángulo "<p" alrededor del eje OZ y una traslación de "d" unidades
a lo largo del eje OZ.
60
Según se observa en esta figura, la localización del extremo final está dada por:
(3-14)
z z
X X
(a) (b)
Figura 3.3. Localización de los extremos terminales de un manipulador en cooordcnadas (a)
cilindricas y (b) esféricas.
e) En coordenadas esféricas
La posición del extremo terminal, como se muestra en la figura 3-3 (b), resulta
de los siguientes movimientos: Traslación de "r" unidades a lo largo del eje OZ,
rotación de un ángulo "8 " alrededor del eje OY y una rotación de un ángulo
"<p"a lo largo del eje OZ.
Según se observa en esta figura, la localización del extremo final está dada por:
r cos cpsen8l
Precp = rsempsen8 (3-15)
r rcos8
61
Tabla 3.1. Representación de la orientación y posición en diferentes coordenadas y sus
transfonnadas correspondientes.
ORIENTACIÓN POSICIÓN
o 1 o o P¡
[n? a] ó RqJ,8,1J1 o - o 1 o P2
Trotacion = o Tpo~cion =
o o 1 P3
o o o 1 o o o 1
· Donde finalmente:
T= Tposicion X Trotacion
62
A partir de las ecuaciones de la cinemática del robot y de los parámetros DH, entre
otros, se han desarrollado algunos procedimientos genéricos susceptibles de ser
programados, para encontrar los valores articulares qk que posicionan y orientan sus
extremos. Para solucionar estos problemas se usará procedimientos con métodos
numéricos iterativos, cuya velocidad de convergencia e incluso su convergencia
depende del método a usar.
Resolver el problema cinemática inverso es encontrar una solución cerrada, es decir
encontrar una relación matemática de la .forma: qk =fk(x,y,z,a,~,y), donde
k= 1,2; · ··,n son los grados de libertad. Este tipo de solución, entre otras, presenta las
siguientes ventajas:
En algunos casos, los robots poseen cinemáticas relativamente simples por lo que se
facilita la resolución del problema inverso. Por ejemplo, algunos tienen los tres primeros
grados de libertad en un plano; otros tienen los últimos tres grados de libertad, que
generalmente corresponden a orientar el efector final, en sus ejes de giro que se cortan
en un punto. En estos y otros casos relacionados, permiten establecer pautas generales
que sirven para plantear y resolver el problema cinemática inverso de una manera
sistemática.
63
T, se puedan despejar las "n" variables articulares "q¡" en función de las componentes
de orientación y posición n, s, a y p.
Pz
64
De la figura 3.4 y su equivalente la figura 3.5, se obtienen las siguientes
relaciones:
Py
q 1 = arctg- (3-16)
Px
2 2 2
r = Px + Py
de donde se observa que q3 tiene dos valores, según se tome el signo positivo o
negativo, los cuales corresponden a las configuraciones de codo arriba o codo
abajo, como se muestra en la figura 3.5.
a) b)
Figura 3.5. Eslabones 2 y 3 del robot de la figura 3.4 en un plano y en las configuraciones a)
codo abajo y b) codo arriba.
65
donde:
~ = arctg Pz = arctg Pz
r + ( 2 2)1/2
- Px +py
R Pz f3 senq3
q? = 1-' - a = arctg 2 2
1/2 - arctg (3-18)
- ±(px +py) /!,2 +f3cos q3
......> . /
66
La figura 3. 7 muestra la asignación de los sistema de referencia según los
criterios de Denavit-Hartenberg, con el robot situado en su posición de pmiida.
········
·····················
·········
·······
·······
·······
······
Z¡
··········
G
.............:...·········
........... ········
·······
·······
·········
Figura 3.7. Robot polar con tres grados de libertad en posición inicial asignándoles Jo ejes
coordenados de acuerdo con los criterios D-H.
Articulación e a a d
1 q¡ 90 o C¡
2 q2 -90 o o
3 o o o q3
que representa la posición y orientación del eslabón final considerando todos los
67
grados de libertad. Estas matrices son obtenidas en función de las coordenadas
articulares q 1, q2 , q3 y de las coordenadas conocidas de la localización de destino
del extremo del robot, definidas por n, s, a y p, y tratando de operar directamente
las 12 ecuaciones resultantes de T, poder despejar q 1, q2 y q 3 en función den, s,
a y p. Sin embargo este procedimiento es complicado, y se utilizará un
procedimiento alternativo.
Como:
entonces:
nx sx ax Px
~ ~ ~ ~:
ny sy
T=
nz nz :: :: = [
o o o 1
T
nx ny nz np - nTp
T T T
-1 sx sy sz S p R3x3 -S p
T =
T
= T
ax ay az a p -a p
o o o 1 o o o 1
cosq 1 o senq 1 o
o senq 1 o -cosq 1 o
Á¡=
o 1 o 1'¡
o o o 1
13
Aplicando el método de Gauss-Jordan < l, se obtiene que la matriz inversa de
0
A 1 es:
(IJJ FRALEIGH, John B, BEAUREGARD, Raymond A., Álgebra Lineal, Delaware, USA, Edit.
Addison-Wesley Iberoamericana S.A., 1989, pág. 41.
68
cosq 1 senq 1 o o
o o 1 -.e 1
(o Alt = senq 1 -cosq 1 o o
o o o 1
1 2
En forma análoga se encuentra que las matrices A 2 y A 3 están dadas por:
q1 = arctg(~J
Px
(3-21)
69
En este caso, después de operar elegimos los elementos (1,4) y (3,4) de ambos
miembros, obteniendo que:
·. Px cosq 1 + Pysenq 1
q 2 = arctg-----.:__ __ (3-22)
f¡ -pz
(3-23)
De igual manera que para el caso de este robot con 3 grados de libertad y 3
incógnitas a determinar, se puede usar este método para robots con 6 grados de
libertad y con 6 incógnitas, pero su solución implica necesariamente una mayor
complejidad en el tratamiento matemático.
Este es el caso de brazos robóticos con 6 grados de libertad, en que los ejes de
las 3 últimas articulaciones de la muñeca, intersectan en un punto común
llamado también centro de la muñeca.
70
PROBLEMA CINEMÁTICO INVERSO DE POSICIÓN. Este caso consiste en
encontrar las variables de articulación del brazo q¡, q2 y q3, en función de la
posición del centro de la muñeca.
PROBLEMA CINEMÁTICO INVERSO DE ORIENTACIÓN. En este caso se
debe encontrar las variables de articulación de la muñeca q4, qs y q6, en función
de la orientación de la misma.
71
En este caso el centro de la muñeca con·esponde al sistema de origen Os y el
punto final del robot es el sistema de origen 06.
Sean:
centro de la muñeca.
Articulación o d a a
1 q¡ C¡ o -90°
2 q2 o e2 o
3 q3 o o 90°
4 q4 e3 o -90°
5 qs o o 90°
6 q6 e4 o o
El eje Z6 tiene como vector unitario Uz6, donde:
72
Los valores de q 1, q2 y q3, que detenninan la posición del robot en el punto
elegido Pm, es posible ser detenninado por el método geométrico, quedando
detenninar los valores de q4 , q5 y q6, que precisan la orientación deseada de la
herramienta.
0
En esta ecuación el valor de R 6 es conocida por la orientación que deseamos
0
tenga el extremo del robot, y el valor de R 3 es determinada por:
o o 1 2
R 3= A1 A 2 A 3
3
Donde R 6 corresponde a una submatriz 3x3 de rotación de la matriz de
3
transformación homogénea T6 que relaciona el sistema de origen 03 con el
A partir de la Figura 3-8 y usando las matrices de rotación básica, se obtiene que
3
el valor de R 4 es:
o
lco~ 4 -senq 4
O Hco~ -senq 4
R4 ~ se~q4
m
3
cosq 4 cos-9Cf' -sen-9Cf' = senq 4 cosq 4
o sen-9Cf' cos-9Cf' O o
- senq 4
cosq 4
o
l
En forma similar se obtiene que:
73
3 3 4 5 .
Como R 6 = R 4 R 5 R 6 , y remplazando se obtiene finalmente:
l
cosq 4 cosq 5 cosq 6 -senq 4 senq 6 -cosq 4 cosq 5 senq 6 -senq 4 cosq 6 cos q 4 senq 5 ]
3
R 6 = senq 4 cosq 5 cosq 6 +cosq 4 senq 6 -senq 4 cosq 5 senq 6 +cosq 4 cosq 6 -senq 4 cosq 5
-senq 5 cosq 6 senq 5 senq 6 cosq 5
De estas relaciones, tomemos R 13 , R23 , R33 , R3ry R32, entonces se tiene que:
R 13 = cosq 4 senq 5
R 31 = -senq 5 cosq 6
q6 = arcta(- R
.1:;>R
32
31
J
Otra forma de expresar estos resultados es desarrollando la ecuación
3
R6 =R
3
4
4
R5 R6
5
=( R
0
3 t 0
R6 =( R
0
3 Y[n s a], usando los valores de
q¡, q2 y q3.
(3-24)
5 ·
R 6· = (4 R 5 J\-1 (3 R 4 )-1 (o R 3 )-1 oR 6 = (4 R 5 )-1 (3R 4 )T (o R 3 )T (n s a]
(3-25)
74
Estas expresiOnes constituyen la solución completa del problema cinemática
inverso del robot miicular.
La relación entre las velocidades de las coordenadas articulares con las de posición y
orientación del extremo del robot, se obtiene a través de la matriz Jacobiana; que
permite conocer las velocidades del extremo del robot, a partir de los valores de las
velocidades de cada articulación. De igual manera a lo ya estudiado, la Jacobiana
inversa permitirá conocer las velocidades de las articulaciones, conociendo las del
extremo del robot.
75
Consideremos que la posición final del extremo del robot esté ubicado en el
punto (x, y, z) y con una orientación dada por los ángulos a, By y, que dependen
de las variables articulares según las siguientes funciones:
X
• n af
= ¿ ____E_q i
• . _I
y-
afy •
-_,-q¡
• - ~ afz •
Z-L,.-q.
1 aq¡ 1 oq¡ 1 aq¡ ,
• n of • • n ofp • • n of •
a=I-aqi 13= I - q ¡ Y-- ¿
"- qy ¡
1 oq¡ 1 oq¡ 1 oq¡
X
Ofx Ofx
q¡ q¡
8q¡ aqn
y
z (3-27)
= =J
.
a
af.y
13 Ofy
•
y 8q¡ aqn qn qn
afx afx
8q¡ aqn
J= (3-28)
afy Ofy
8q¡ aqn
76
3.3.3 JACOBIANA INVERSA
Es aquella matriz que nos pennite determinar las velocidades de las
articulaciones, conociendo las velocidades del extremo del robot. Esto es,
determinar las ecuaciones:
ci; = f; (x, y, z, ci, ~, y)
Para la obtención de la Jacobiana inversa, consideremos conocida la relación
directa dada por la matriz Jacobiana, entonces se puede obtener la relación
inversa invirtiendo simbólicamente la matriz. Esto es:
q¡ X
=(Jtl z (3-29)
a
.
f3
qn y
Otras dificultades que pueden surgir con este y otros procedimientos de cómputo
de la matriz Jacobiana inversa, es que la matriz no sea cuadrada. Esto ocurre
cuando el número de grados de libertad del robot no coincide con la dimensión
del espacio de la tarea, que normalmente son de seis. En caso, de que el número
de grados de libertad sea inferior, la matriz Jacobiana tendrá mas filas que
columnas, esto es, está sometido a restricciones, por ejemplo no puede alcanzar
ciertas orientaciones.
77
En general, en el caso de que la Jacobiana no sea cuadrada, podrá ser usado
algún tipo de matriz pseudo inversa. Otra alternativa para obtener la matriz
Jacobiana inversa es repetir el procedimiento seguido por la obtención de la
Jacobiana directa, pero partiendo del modelo cinemático inverso. Esto es,
conocidas la relaciones q¡ = f ¡ ( x,y,za, ....R ,y ) , la matriz Jacobiana inversa se
obtendrá por diferenciación con respecto del tiempo de ambos miembros de la
igualdad, obteniéndose que:
af1 Df¡
Ox fJy
(Jtl = (3-30)
Ofn Ofn
Ox fJy
78
En una configuración singular se produce pérdida de algún grado de libertad del
robot, produciendo alteraciones en el movimiento del extremo del robot, siendo
imposible se mueva en una determinada dirección cartesiana.
Las configuraciones singulares deben ser localizadas para un buen control del
robot, a fin de evitar cambios bruscos o grandes velocidades en los mismos.
Asimismo, requieren su estudio y eliminación, evitándose desde su diseño
mecánico, imponiendo restricciones al movimiento del robot o utilizando robots
redundantes. El sistema de control debe detectar y tratar estas configuraciones
evitando pasar por éllas.
Para evitar singularidades interiores al espacio de trabajo, en donde se pierde
algún grado de libertad, se debe identificar la articulación correspondiente al
grado de libertad perdido y causante que el determinante se anule, luego
eliminar la fila de la Jacobiana correspondiente a este grado de libertad y la
columna correspondiente a la articulación causante. Con esta nueva Jacobiana
reducida a rango n-1, se debe obtener las velocidades de todas las articulaciones
(excepto el de la eliminada) a fin de alcanzar la velocidad cartesiana deseada. La
velocidad de la articulación eliminada se considera como cero.
79
/_./·
------------~\
///-~CAPÍTULO IV__)
r -
La dinámica robótica, utiliza un modelo que relaciona la localización del robot definida
por sus variables articulares, por las coordenadas de localización de su extremo, por su
velocidad y por su aceleración; relaciona además, las fuerzas y torques aplicados en las
articulaciones y en el extremo, los parámetros dimensionales del robot, como
longitudes, masas, momentos de inercia; asimismo, sirve para controlar al manipulador
a fin de que siga un camino detem1inado, y con la fmmulación matemática
correspondiente, estudia y calcula este sistema de fuerzas o torques a través de las
ecuaciones dinámicas del manipulador.
4
(I ) Idem (12).
Asimismo, es necesario señalar, que el manipulador precisa de un control en cada una
de las articulaciones, el cual a su vez se logra con un conocimiento de las fuerzas que
actúan y de las inercias que se reflejan en sus masas y enlaces, siendo su determinación
más difícil cuando aumenta la complejidad del manipulador. La calidad del control
dinámico del robot depende de la precisión y velocidad de sus movimientos.
Los torques que se requieren para impulsar el brazo de un robot no se determina sólo
por las fuerzas estáticas y dinámicas, sino también influyen los torques de las otras
articulaciones; por tal razón, el modelo dinámico completo de un robot debe incluir no
sólo la dinámica de sus elementos, sino también la propia de sus sistemas de trasmisión,
de los actuadores y sus equipos electrónicos de mando, las cuales se deben incluir en el
estudio de estas ecuaciones.
De otro lado, estas ecuaciones dinámicas se usan en un ordenador para la simulación del
movimiento del manipulador, calculando la aceleración como una función del par
actuador, para obtener como un manipulador se movería bajo la aplicación de un
conjunto de pares del actuador. Estas ecuaciones también se usan para el diseño y
evaluación de las ecuaciones del control dinámico, para el dimensionamiento de los
actuadores y para el diseño y evaluación de la estructura cinemática y mecánica del
robot.
81
estos casos, es posible obtener un modelo dinámico expresado de una forma cerrada
mediante una serie de ecuaciones diferenciales de segundo orden, cuya solución nos
permite determinar las fuerzas aplicadas o qué fuerzas hay que aplicar para obtener un
movimiento determinado. Por tales razones, encontrar el modelo dinámico de un robot
es uno de los aspectos más complejos de la robótica.
t = dL = ~(Iffi) (4-2)
dt dt
Para el caso del robot de 1 grado de libertad mostrado en la Figura 4-1, considerando
que la masa del eslabón se encuentra concentrada en su centro de masa, no posee
ninguna carga adicional y que no existe rozamiento, aplicando el procedimiento del
equilibrio dinámico, el torque total está dado por la ecuación:
82
d 28 d 28
r = l-+MgLcos8 = ML2 - -+MgLcose (4-3)
dt 2 dt 2
.. ··
..·····
Figura 4.l.Robot con 1 grado de libertad con masa del eslabón concentrada en su centro de masa
Como resultado de aplicar el equilibrio dinámico a un elemento del robot, usando las
fuerzas y torques que actúan sobre él, se obtienen el modelo dinámico directo, si se
expresan las variables angular, velocidad y aceleración en función de las fuerzas y
torques que intervienen; y el modelo dinámico inverso, cuando se expresan las fuerzas
torques que actúan en función de las coordenadas angulares.
83
4.2 Obtención del modelo dinámico de un robot mediante la
formulación de Lagrange-Euler
i = 1, 2, .... , n (4-4)
donde:
L = lagrangiana L=K-P
K = energía cinética total del brazo
P = energía potencial total del brazo
q ¡ = coordenada generalizad¡;¡ del brazo
elemento i.
las· matrices de transformación homogéneas 4x4, dada por la matriz i-I A¡, que
os¡ HAUSER, Walter, Introducción a los Principios de Mecánica, México, Edit. UTEHA, 1969, pág.
162.
84
4.2.1. VELOCIDADES DE LAS ARTICULACIONES DE UN ROBOT
Para manipular la ecuación de Lagrange-Euler, es necesario conocer la energía
cinética y potencial del sistema, donde la energía cinética depende de la
velocidad del elemento i-ésimo, tanto en su movimiento de rotación como de
traslación.
Figura 4.2. Un punto fijo P en el eslabón i representado por los vectores ir-
1
y 0 r.1 a partir de
los sistemas de referencia i y de la base respectivamente.
X·1
Y¡
ir.= (4-5)
1
z.1
1
De acuerdo a lo estudiado:
(4-6)
0A
·-- 0 A 1 1A ? 2 A 3 •.•. i-IA . (4-7)
1 - 1
85
cose¡ - cos a¡sene¡ sena ¡sen e¡ a.1 cose.1
i-1 sen e¡ cosa¡ cose¡ - sen a 1. cos e 1. a 1-sen e.1
A¡ = (4-8)
o sena¡ cosa¡. d.1
o o o 1
o o o 1
ir=[~
0
ov. =v. =._!(or)=_!(oA.¡r)=d A¡ 8°A¡ qJ.¡r·]·=
1 1
dt 1
dt 11
dt
1
L..a
j=1 qj
1
(4-1 O)
De las ecuaciones (4-8) y ( 4-9), se demuestra fácilmente que:
a i-IA. =Q· i-IA.
_ __,_1 (4-11)
8q¡ 1 1
86
o o o o
o o o o
Q¡= (para una articulación prismática) (4-13)
o o o 1
o o o o
Remplazando las derivadas parciales de las matrices en la ecuación (4-10),
usando la ecuación (4-11 ), se tiene que:
entonces:
aoA; = { oA 1 A2 2A ... Q j-1 A ... i-1 A para j:::; i ~
(4-14)
aqj o para j > i)
para j:::; i ~
(4-15)
para j > ij
Remplazando (4.:.15) en (4-10) tenemos que la velocidad del punto fijo Pes:
(4-16)
donde:
87
--
Tr(v ¡ v T) =operador traza, que sustituye al producto escalar de vectores. 16
Con este reemplazo se logra fonnar el tensor para obtener la matriz de inercia J
o matriz de pseudo inercia. Remplazando la ecuación (4-16) en (4-18), tenemos:
Como la matriz U¡j sólo depende del vector ir¡ cuando ~ cambia e
(4-19)
(4-21)
16
FRALEIGH, John B, BEAUREGARD, Raymond A., Álgebra Lineal, Delaware, USA, Edit.
Addison-Wesley Iberoamericana S.A., 1989, pág. 337.
17
HAUSER, Walter, Introducción a los Principios de Mecánica, México, Edit. UTEHA, 1969, pág.
321.
88
donde los índices i, j, k indican los ejes principales del sistema de coordenadas i-
ésimo y Dij es el delta de Kronecker, entonces J¡ se expresa como el tensor de
inercia, dado por:
k2?3
~~] + k~22- k~33
k3 '- z;
2
x.1 Y; z; 1
donde, por ejemplo, ki23 es el radio de giro del eslabón i respecto al eje yz,
siendo (x; , Y;, Z¡) las coordenadas de su centro de masa medido desde el sistema
Luego, de las ecuaciones (4-18) y (4-,19), se tiene que la energía cinética total K
del brazo de un robot, es:
(4-24)
89
4.2.3. ENERGÍA POTENCIAL DE UN MANIPULADOR
La energía potencial del eslabón i viene dada por la ecuación:
P 1.= -m.g
1
o-r1 = -In.g1 (o A1. i-)
r1 i=1,2,3, .... ,n (4-25)
coordenadas del elemento i-ésimo. y la energía potencial total del brazo es:
n n
P = l:P¡ =
i=l
L
i=l
0
-m¡g( A¡¡¡¡) (4-26)
finalmente que:
donde T(t), son vectores nxl que representan las fuerzas y/o torques o pares
motores efectivos aplicados sobre cada coordenada q¡ y a las articulaciones
i=1,2, ... ,n; q(t), q(t) y q(t) representan las variables de rotación, velocidad y
aceleración de las articulaciones del brazo, respectivamente, y se expresan por
las matrices:
90
't"¡ (t) q¡ (t) q¡ (t) q¡ (t)
'["2 (t) q2 (t) (¡2 (t) q2 (t)
(4-31)
't(t)= q(t) = q(t) = q(t) =
h¡
h2
hikm = ! Tr(u
j=max(i,k,m)
jkm J j Uj¡) (4-33)
h(q, q) = n n
h¡ = LLhikmqkqm (4-34)
k=lm=l
hn
i, k, m = 1, 2, 3, .... , n
C¡
c2 n
(4-35)
c(q)
i = 1, 2, 3, ... , n
91
hikm: Está relacionado con la velocidad de las variables de articulación. Los
índices km están relacionados con las velocidades de las articulaciones k y
Para un conjunto de torques (T¡) aplicados como una función del tiempo, la
ecuación (4-30) debe ser integrada simultáneamente para obtener un movimiento
real del manipulador en términos de la historia temporal de las variables de
articulación q(t). Luego, esta historia temporal se puede transformar para obtener
la correspondiente del movimiento o trayectoria de la mano, utilizando las
matrices de transformación homogénea apropiadas
aplicados como función del tiempo que son necesarios para producir el
movimiento del manipulador pa1iicular planificado. Esto se conoce como
control en lazo abierto, el cual es el más deseable para un sistema robótica
autónomo.
92
permite el diseño de una ley de control que compensa fácilmente todos los
efectos no lineales. En el diseño de un controlador por realimentación para un
manipulador se utilizan los coeficientes dinámicos para minimizar los efectos no
lineales de las fuerzas de reacción.
93
6° Realizar las siguientes derivaciones: BL/Bq¡, d/dt (BL/Bq¡) y BL/Bq¡ .
Para controlar un manipulador a fin de que siga una trayectoria determinada, se tiene
que conocer si existen ligaduras de obstáculos y ligaduras de camino, debiéndose
realizar una planificación del movimiento o trayectoria y un control del movimiento. El
movimiento del manipulador se puede tratar como una secuencia de puntos en el
espacio correspondiente a su posición y orientación a través de los cuales debe pasar el
manipulador, y la curva en el espacio o camino que recorre desde la posición inicial
hasta la posición final.
El recorrido del manipulador se puede realizar a través de una trayectoria rectilínea que
conecte los puntos extremos, o a lo largo de una trayectoria polinomial uniforme que
cumpla con las ligaduras de posición y de orientación en los puntos extremos llamada
también trayectoria de miiculación interpolada.
Para planificar una trayectoria, se utilizan dos métodos: Uno en el cual se debe
especificar un conjuntos de ligaduras en ·coordenadas de articulación, es decir
continuidad y regularidad en la posición, velocidad y aceleración de las coordenadas
generalizadas del manipulador en determinadas posiciones llamadas puntos nudos o
puntos de interpolación a lo largo de la trayectoria. En este caso, se selecciona una
trayectoria parametrizada mediante una función polinomial de grado n en el intervalo de
94
tiempo (t0 , tr) que interpola y satisface las ligaduras en los puntos de interpolación. El
otro método es cuando se especifica el camino que el manipulador debe realizar
mediante una función matemática o analítica, como un camino en línea recta en
coordenadas cartesianas o bien en coordenadas de articulación o cartesianas que
aproxima el camino. En este caso, las ligaduras de camino se especifican en
coordenadas cartesianas y los actuadores en coordenadas de articulación, por lo que se
deben convertir las ligaduras de camino cartesiano a ligaduras del camino de las
articulaciones mediante aproximaciones funcionales y luego encontrar la trayectoria
parametrizada que satisfaga las ligaduras del camino de articulación.
95
otra cerca de la posición final de llegada. Para estos casos se necesita un polinomio de
sétimo grado o si la trayectoria se subdivide en tres o cinco segmentos, entonces se usan
tres o cinco polinomios de potencias cúbicas, cuárticas o quínticas de acuerdo con las
representaciones (4,3,4), (3,5,3) o (3,3,3,3,3).
Para planificar una trayectoria en el espacio cartesiano o para el control del camino
cartesiano, se debe encontrar una función matricial H(t) en cada intervalo de control,
que determine dónde debe estar la mano del manipulador en el instante t. Además se
debe encontrar la función matricial Q[H(t)] para que convierta las posiciones
cariesianas en sus correspondientes soluciones de articulación. La planificación del
camino cartesiano se obtiene mediante la generación o selección de un conjunto de
puntos nudos o puntos de interpolación en coordenadas cartesianas; y luego, mediante la
especificación de una clase de funciones se enlazan estos puntos nudos o aproximan
estos segmentos de caminos de acuerdo con algún criterio. Uno de ellos es el método
orientado al espacio cartesiano, donde el cálculo y optimización se realiza en
coordenadas cartesianas, y los puntos de control se selecciona sobre el camino en línea
recta para enlazar los puntos nudos cartesianos adyacentes en un intervalo fijo y se
convierten en sus correspondientes soluciones de articulación entiempo real. El otro
método orientado al espacio de la articulación, se usa una función polinomial de bajo
orden en el espacio de las variables de ariiculación para aproximar el segmento de
camino acotado por dos puntos nudos adyacentes sobre el camino en línea recta, y el
control resultante se efectúa a nivel de la articulación. El camino cartesiano resultante es
una línea recta sin tramos. La planificación del camino en el espacio cartesiano tiene la
ventaja de ser un concepto directo y se asegura un cierto grado de precisión deseado a lo
largo del camino en línea recta. Por otro lado, requiere transformaciones entre las
coordenadas cartesianas y las de articulación en tiempo real. Si se incluye la dinámica
del manipulador, se incluye las ligaduras del camino en coordenadas cariesianas,
mientras que las ligaduras físicas, como limites de par y fuerza, velocidad y aceleración
de cada uno de los motores de las articulaciones, están señalados en coordenadas de
articulación; produciéndose un problema en la optimización al existir ligaduras mixtas
en dos sistemas de coordenadas diferentes.
96
coordenadas de articulación y utiliza polinomios de bajo orden para interpolar estos
puntos. Este método computacionalmente es más rápido y más fácil tratar con las
ligaduras dinámicas del manipulador; pero asimismo, pierde precisión a lo largo del
camino cartesiano cuando los puntos de muestreo caen sobre los polinomios ajustados.
Articulación i
to tr . Tiempo
Figura 4.3. Ligaduras de posición para una trayectoria de articulación.
97
despegue a la de asentamiento. Al tercer segmento se le asigna un polinomio de
cuarto orden y corresponde desde la posición de asentamiento hasta la posición
final.
t =
!-"C·1-1
"C¡ -'!¡_¡
e
h¡ (t) = a10 + a¡¡t + a12t2 + a 13 + a¡4t
4
2 3
h2(t) = a2o + a21t + a22t + a23t
2 4
h3(t) = a3o + a31t + a32t + a3i + a34t (4-36)
98
articulares 8o, 8¡, 82 y 83; las velocidades vo,v3, las aceleraciones ao, y a3; y el
tiempo que demoran en desplazarse las articulaciones durante cada segmento t 1,
q(t)
t
t¡
Figura 4.4. Descomposición o interpolación de la trayectoria que une dos puntos en tres tramos
consecutivos.
a¡ 1 = vot¡
a¡z = aot/12
99
xa= 81-aw-a¡ 1-al2
xb = -a 11 /t 1-2 a 12/t 1
XC= 2 a 12/t/
a2o = 8¡
xd = 82-a2o
a3o = 82
xe = 83-a3o
xf= xb-3 xa/t 1
2
xg = xc+6 xa/t 1
xh = xg+6 xf/t 1
xi = xd+t 1 t2 xh/6
xj = -t 1 xh/6+(6 t 2+t 1) xi/((3 t2+t¡) t2)
xk = 3 xi/(t2 (3 t2+t¡))
xl = t3 (xk-3(2 t2+t¡) xj/(t2 (3 t2+2 t¡)))
xm = xe+h (3 t2+2 t 1) xl/(3(2*t2+tl))
xn = (t2 (2 t 1+3 t2+6 t3)+3 t 1 t3)/(3 t3(2 t2+t¡))
xo = v3 t 3+xl h (3 t2+2 t¡)/(3(2 t2+t¡))
xp = (t2 (2 t 1+3 t 2+ 12 t3)+6 t 1 t3)/(3 t3 (2 t2+t¡))
Con los valores obtenidos para los coeficientes aij a partir de las condiciones de
frontera y de continuidad en los tres segmentos en que se ha subdividido la
trayectoria; la posición articular, la velocidad de la articulación y la aceleración
articular se obtienen a partir de las ecuaciones siguientes:
100
(4-37)
2 3
h2(t) = a2o + a21 t + a22 t + a23 t
. 2
h 2(t) a 21 +2a 22 t+3a 23 t
v2 = - - = (4-38)
. t2 t2
(4-39)
CAPÍTULO V
MOVIMIENTO DE UN BRAZO ROBÓTICO CON DOS
ARTICULACIONES
Figura 5.1. Sean las longitudes de los eslabones iguales a e, sus masas homogéneas m¡
y m2 , y los ángulos formados son 8 1 y 82 respectivamente. El sistema de referencia de la
base está representado por Xo YoZo, el cual se encuentra en la base del robot. Por
simetría, consideremos que el movimiento del robot está en el plano XY, y aplicando la
convención de Denavit-Hartenberg, se han trazados los ejes de coordenadas en las
articulaciones, donde los ejes Z 1 y Z2 que se encuentran saliendo del plano,
corresponden a los ejes de las articulaciones 1 y 2 respectivamente.
102
Todo manipulador es capaz de determinar sus propias coordenadas articulares, a través
de sensores internos localizados en las uniones 1 y 2, los cuales pueden medir
directamente los ángulos 8 1 y 82, y las posiciones A y B se deben expresar en términos
de estos ángulos de articulación.
r~[:J (5-3)
v=~xz+:Yz (5-4)
donde
Utilizando la ecuación (3-27) tenemos que esta velocidad se puede expresar, usando la
matriz Jacobiana, por:
(5-7)
v=JO (5-8)
103
(5-9)
(5-10)
Es necesario notar en esta ecuación, que el determinante del Jacobiano es e2 sen 82, y
cuando 82 =O, n, ... , el manipulador está en una configuración singular, y los elementos
del manipulador no pueden moverse en la dirección paralela.
donde
(5-11)
y sen8 2
8 1 = arctg-- arctg (5-12)
X 1 + COS 8 2
104
Se observa que 82 tiene dos valores, según se tome el signo positivo o negativo, los
cuales corresponden a las configuraciones de codo arriba o codo abajo, como se muestra
en la figura 5.2, que es equivalente a la figura 3.5 ya estudiada.
Figura 5.2. Eslabones del robot de la figura 5.1 en un plano y en las configuraciones a) codo
abajo y b) codo arriba.
De la Figura 5.1 se obtiene los parámetros de. coordenadas de los eslabones y que se
encuentran representados en la Tabla 5.1.
1 8¡ o o e
2 82 o o e
105
cos(8 1 +8 2 ) - sen(8 1 + 8 2) o R(cos 8 1 + cos(8 1 + 8 2))
sen(8 1 + 8 2 ) cos(8 1 +8 2) o R(sen8 1 + sen(8 1 + 8 2))
(5-14)
oA2=oA¡lA2=
o o 1 o
o o o 1
En la matriz de la ecuación (5-14) se puede obtener las coordenadas del extremo del
manipulador, con respecto al sistema de referencia de la base, siendo:
x = .e(cos8 1 +cos(8 1 +8 2))
donde T(t), q(t), q(t) y q(t) son vectores nx1 que representan la fuerza o torque
aplicado a las articulaciones i=1,2, ... ,n; y las variables de rotación, velocidad y
aceleración de las articulaciones del brazo, respectivamente.
106
En esta aplicación utilizaremos la ecuación (4-27) para luego aplicar la formulación de
Lagrange-Euler, por lo que:
Yo Yz Xz
y ................................................................................................................
···············-¡·············
Figura 5.3. Esquema del robot planar con las articulaciones rotacionales expresadas en coordenadas
generalizadas
En este caso, 8 = q, y de la ecuación (4-15) y usando las matrices de las ecuaciones (4-
12), (5-13) y (5-14) tenemos:
107
-sen8 1 - cos8 1 o - fsen8 1
o o o o
I xx = J(y 2 + x 2 ~m = O
-- _] 08
I xdm = mx = ps r- X dx = -ps .e; = - m;
Jydm = Jzdm =O
Remplazando estos valores de U¡¡, U21, U22, U¡¡T, U2/, U2/, J¡, J2, g,
0 A , 0 A , 1r y 0 r con q=e en la ecuación (5-14), y luego de operar el producto de las
1 2 1 2
matrices correspondientes, tenemos finalmente que el Lagrangiano de nuestro sistema
robótica es:
109
! 1
2
=1.t' 2 (m 1 +4m 2 +3m 2 cos8 2 )S 1 +im 2 .t' (2+3cos8 2 )S 2
11 =!.t' 2 (m1 +4m2 +3m2 cos8 2 )S 1 +im2 .t' 2 (2+3cos8 2 )S 2 -1m 2 .t' 2 sen8 2 (2S 1 +S 2 )S 2 +
+1g.t'(m 1 cos8 1 +2m 2 cos8 1 +m 2 cos(8 1 +8 2 ))
(5-23)
Estas ecuaciones representan las ecuaciones de movimiento de nuestro brazo robótico
con dos articulaciones cuando se le aplica en los actuadores dos pares de fuerza, uno en
cada brazo, a fin de que se produzca un movimiento real y el elemento terminal se
desplace de un punto a otro, para cumplir una orden.
APLICACIÓN
Consideremos como aplicación para este sistema de ecuaciones, que el extremo final del
robot planar se desplace entre dos puntos arbitrarios P 0(0.7, -1.5) y Pt{l.4, 1.3), a través
de una línea recta, en un tiempo de 3 segundos. Utilizaremos las ecuaciones de
movimiento,' calculando las constantes, coeficientes y torques a aplicar por los
actuadores que permitan al robot realizar este movimiento.
110
5.5. Integración numérica de las ecuaciones de movimiento
para pares de fuerzas nulas
En primer lugar, verificaremos que las ecuaciones (5-23) de nuestro modelo teórico
están dadas correctamente, para lo cual se propone el programa computacional dado en
el Apéndice (Programa N° 1), que nos dará una solución numérica cuando los pares de
fuerza aplicados sobre los eslabones son nulos (-r 1 = -r2 = 0). Es decir, la fuerza que actúa
sobre los eslabones, sin considerar fuerzas de rozamiento, es sólo la fuerza gravitatoria.
Esto implica que la energía total del sistema se conserva.
D = B =im 2 R2 (2+3cos8 2 )
E=lm,el
3 2
.. ..
A8 1 +B8 2 +C = -r 1
.. ..
D8 1 + E8 2 + F = -r 2
111
e _B(F- -c2)- E(C- -e¡)
1
e2 _D(C--c¡)-A(F--c2) (5-24)
- AE-BD - AE-BD
t¡ =o
t2 = 10 seg.
8¡ = 82 = 15° = 0.2618 rad.
8¡ = 82 =o
112
Energía cinética vs tiempo
30
íñ 20
..!!!
~
o
::;.
~ 10
o 4 7 8 9 10
t (s~g.)
2 3 6
(a)
t (seg.)
(b)
10
Energía total
Cñ
..!!! 6
:::::1
o
:!. 4
w
o'
o 2 3 4 5 6 7 8 9 10
t (seg.)
(e)
Figura 5-4. Variaciones de las energías cinética (a), potencial (b) y total (e) del robot planar, en ausencia
de pares de fuerza aplicados por los actuadores.
Del análisis de estos resultados, mostrados en la Figura 5.4, se observa que existe
relación entre la variación de energía cinética y potencial, tal que mientras la cinética
aumenta la potencial disminuye y viceversa. Dichas variaciones dan como resultado que
113
el valor de la energía total es constante en el tiempo, y esto es debido, a que sólo se ha
considerado la fuerza gravitatoria que es conservativa.
En resumen, estas tres energías se muestran en la Figura 5.5, donde se observa que la
suma de la energía cinética y potencial en cualquier instante de tiempo corresponde a la
energía total, la cual permanece siempre constante, como también se muestra en la
Tabla N° 1 del Apéndice, para los primeros 5 segundos.
30
Energías: Cinética, potencial y total
20
r/1 10
.!!:!
~
Q)
1:
w
-1 o
-20
t (seg.)
Figura 5.5. Energía cinética, potencial y total del brazo robótica con dos articulaciones, cuando los
pares de fuerza aplicados son nulos.
De todo esto se concluye, que las ecuaciones diferenciales ordinarias acopladas dadas
por la ecuación (5-23) son las correctas para la solución de este caso particular y de
cualquier otro. Asimismo, que nuestro método numérico es el apropiado para resolver
este tipo de ecuaciones.
Por otro lado, y a manera de ilustración, encontramos que la trayectoria del extremo
final del manipulador en el plano XY para tiempos los totales de evaluación: 3, 5 y 1O
seg., son representados en la Figura 5.6. Algunos valores de las coordenadas cartesianas
(x¡,y¡) de la gráfica para tr= 3 seg. están registrados en la Tabla N° 2 del Apéndice.
114
(tf = 3 seg)
x (m)
(a)
(b)
(e)
Figura 5.6. Trayectoria del extremo final del manipulador de un robot planar en ausencia de pares de
fuerzas externas, para tiempos totales de evaluación: (a) 3, (b) 5 y (e) 10 seg. de oscilación
libre.
Asimismo, la variación de los ángulos 8 1 y 82 en función del tiempo para los primeros 5
segundos, se muestra en la Tabla N° 3 (Apéndice), y cuya gráfica se representa en la
Figura 5.7.
115
THETA1 y THETA2 vs t
120
90
60
30
-e....
N
o
m
...... -30
Cl)
1-
....m -60
-
1-
Cl)
-90
-120
-150
-180
-210
t (seg)
Figura 5.7. Representación gráfica de la variación de los ángulos . 8 1 y 82 en función del tiempo, para
los primeros 5 segundos del movimiento libre que realiza el brazo robótica con dos
articulaciones, en ausencia de torques o pares de fuerzas externos.
Del análisis de estos resultados gráficos, se deduce que las ecuaciones 5-23 y su
correspondiente programa computacional funciona correctamente.
Para que el extremo final del robot planar se desplace entre dos puntos arbitrarios, como
en nuestro caso, los puntos P 0(0.7, -1.5) y P3(1.4, 1.3), a través de una línea recta en el
tiempo de 3 segundos, encontraremos en primer lugar las coordenadas de paso para que
el extremo final realice este movimiento, sin tener en cuenta los cambios de velocidad y
aceleración que debe tener el extremo final del brazo del robot. Para el efecto,
dividiremos la trayectoria eh tres segmentos iguales, como se muestra en la Figura 5.8, a
fin de encontrar las posiciones articulares 81 y 82 en función del tiempo, o sea, calcular
h(t), una para cada segmento y para cada posición articular 8 correspondiente a los
eslabones 1 y 2 del cual está constituido. Usaremos las ecuaciones polinomiales
resultantes para la trayectoria de articulación 4-3-4, obtenidas en el apartado 4.3 .l. Estos
116
segmentos en coordenadas cartesianas son equivalentes a los mostrados en la Figura 4.4
que representa las coordenadas generalizadas en función del tiempo.
La Tabla 5.2 nos muestra las coordenadas cartesianas de los puntos O, 1, 2 y 3, que
divide en tres segmentos iguales la trayectoria rectilínea de la Figura 5.8. El cálculo de
estos valores se ha obtenido usando el programa principal (Ver Apéndice: Programa N°
2). En este programa se utiliza la ecuación de la recta y= mx+b, para generar los puntos
intermedios. Nuestro objetivo es que el extremo final del robot planar realice este
desplazamiento, debiendo pasar por estos puntos de la trayectoria.
Tabla 5.2. Valores de los puntos interpolados que dividen la trayectoria deseada en tres segmentos
iguales, expresados en coordenadas cartesianas.
x (m) y (m)
Xo 0.7 Yo -1.5
X¡ 0.933 y¡ -0.567
Xz 1.167 Yz 0.367
x3 1.4 Y3 1.3
0.5
--o+---------------~--------------~~----------------~--------
5 ol7 0.9 1.3
~ 1
-051
1 1
-1.5
x (m)
Figura 5.8. Trayectoria deseada a través de la cual debe desplazarse el extremo final del robot planar, la
cual se ha dividido en tres segmentos de estudio.
117
Con el programa principal y para los 04 valores de (x,y), se calcula también las
correspondientes posiciones angulares 8 1 y 82 de los eslabones del brazo robótica, a fin
de que el extremo final del manipulador pase por estos puntos seleccionados. Para
determinar estas coordenadas articulares, se usan las ecuaciones de la cinemática
inversa dada por las ecuaciones (5-11) y (5-12) y a partir de estas ecuaciones,
82 = arceas (
2
x +y
2
- 2f l J y 81
y·
= arctg-- arctg
sen8 7
-
2
2f J x l+cos 8 2
se obtienen los valores de los ángulos que se expresan en la Tabla 5.3. Asimismo a
partir de estos valores de 8 1 y 82 se obtienen nuevamente los valores de X¡ e y¡ ,
comprobándose que nos genera los mismos puntos (x¡, y¡) planificados.
Tabla 5.3. Valores de los puntos interpolados que dividen la trayectoria deseada en tres segmentos
iguales, expresados en coordenadas angulares.
9¡¡ Bz¡ XX yy
· Donde: xx e yy son valores obtenidos a partir de las ecuaciones (5-1) y (5-2) usando los
valores de 8 1¡ y 82¡, verificándose que son los mismos valores dados iniciales.
Para una mejor precisión de nuestros resultados, a efectos de que el extremo del brazo
del robot se desplace a través de la trayectoria rectilínea, entre los puntos arbitrarios de
coordenadas (0.7, -1.5) y (1.4, 1.3), calcularemos nuevamente las coordenadas
cartesianas y articulares correspondientes entre dichos puntos de manera teórica,
subdividiendo esta trayectoria en 60 segmentos, de tal manera que considerando los
puntos extremos tendremos un total de 61 puntos, correspondiendo un tiempo de paso
de un punto a otro de 0.05 seg., haciendo un tiempo total de 3 segundos. Para realizar
118
este cálculo, utilizamos el programa principal (Apéndice: Programa N° 2), el cual
incorpora nuevamente la ecuación de la recta y= mx+b, para generar los puntos
intermedios, así como también se incorporan las ecuaciones (5-11) y (5-12) para
calcular las correspondientes posiciones angulares 81 y 82 de los eslabones del brazo
robótica.
Al ejecutar el programa se obtienen los 61 valores (x¡,y¡), incluidos los valores iniciales
dados, y las correspondientes posiciones angulares thetal y theta2 de los eslabones del
brazo robótica que están registrados en la Tabla No 4 y Tabla N° 5 (Ver Apéndice).
Asimismo, ejecutando el programa, a partir de estos valores de 8¡ y 82 se obtuvieron
nuevamente los valores de x¡ e y¡ , comprobándose que nos genera los mismos puntos
(x¡, y¡) planificados.
De las Tablas N°s 4 y 5 se obtienen cuatro (04) gráficas las cuales son mostradas en la
Figura 5.9, la primera corresponde a la trayectoria rectilínea planificada, la segunda y
tercera a la variación de los ángulos 81 y 82 en función del tiempo, y la cuatia, la ·
relación entre las coordenadas angulares 81 vs 82 .
x (m)
(a)
119
TRAYECTORIA PLANIFICADA DEL ROBOT PLANAR
30 . . . . . . . . - -- .... (THEfA 1
40
/
10 20 30 60
- -30
e...
.....
....
C'CI
Q)
1- -60
-90
-120
N° de Puntos
(b)
-
e...
N
.....Q)C'CI
1-
o· 10 20 30 40 50 60
N° de Puntos
(e)
120
TRAYECTORIA PLANIFICADA DEL ROBOT PLANAR
(THETA 1 vs THETA 2)
120
-
~
N'
-
111
( 1)
1-
(d)
Figura 5.9. Trayectoria deseada a través de la cual debe desplazarse el extremo final del robot planar,
considerando 61 puntos de estudio, incluido los valores iniciales.
En el movimiento del extremo final del brazo robótica, se hace necesario considerar el
cambio de velocidad y la aceleración en los puntos arbitrarios, así como, las condiciones
de continuidad de la primera y segunda derivada en los puntos de interpolación o
intermedios que limitan los segmentos. Para la aplicación del método de interpolación
que tenga en cuenta las consideraciones anteriormente señaladas, aplicaremos el
Método de Interpolación 4-3-4, para que el extremo final reproduzca la trayectoria
planificada.
121
nulos, y se considera que el extremo final del brazo recorrerá cada trayectoria en un
segundo y el paso. de integración es de 0.05 segundos.
Las ecuaciones polinomiales, que representan las variaciones angulares 8¡ y 82, y que
gobiernan los tres segmentos de la trayectoria son:
mismas tablas se han registrado los valores de 8 y 8 que corresponden a las velocidades
122
TRAYECTORIA OBTENIDA DEL ROBOT PLANAR
(THETA 1)
20
....
.5
Q)
1-
-60
t (seg)
(a)
100
.....
.....ca 50
.S
o
(b)
123
ACELERACIÓN ANGULAR DE LA ARTICULACIÓN 1
150 ' "'"'"'"' _,,...•. ······~-"~··--· ··~····· ····-···· ' ,, "' '"'''' .• '''""'"''"' ,, ,.,_, ,,,,,,,,, ,,,,,, ..~--"~"'''' "''""'''' ,,, ~""
100
50
Ñ'
Cl
Q)
111 o
L
.S -50
.S
o
o
-100
-150
-200 '~"y~,··-=~---·-
t (seg)
(e)
Figura 5.10- Gráficas representativas de las variaciones (a) del ángulo-e~, y sus (b) velocidades y (e)
aceleraciones angulares, para una trayectoria de articulación interpolada 434.
Las gráficas de la figura 5.1 O (b) y (e) representan las variaciones de la velocidad y
aceleración angular, donde se observan las variaciones cúbicas y cuadráticas de la
velocidad, y variaciones cuadrátiL:as y lineales de la aceleración en los segmentos
correspondientes, de acuerdo con las ecuaciones (4-37), (4-38) y (4-39).
De manera análoga, al graficar los datos de la Tabla N° 8, se obtiene las graficas (a), (b)
y (e) de la figura 5.11, donde la primera representa la variable articular 82 en función del
tiempo t, la cual es similar a la trayectoria planificada representada en la figura 5.9 (e).
11 o
" 90
;:;
.l!!
Q)
f-
70
50
30
o 0.5 1.5 2 2.5 3
t(seg)
(a)
124
VELOCIDAD ANGULAR DE LA ARTICULACIÓN 2
70
20
N
......
ns -30
(1)
-80
-130
t (seg)
(b)
180
Ñ' 80
C'l
(1)
1/)
~
N
ns -20 , 0.5 1.5 2 2.5
!e
e
-120
-220
t (seg)
(e)
Figura 5.11- Gráficas representativas de las variaciones (a) del ángulo 82 , y sus (b) velocidades y (e)
aceleraciones angulares, para una trayectoria de articulación interpolada 4-3-4.
125
Asimismo, las gráficas (b) y (e) representan las vanacwnes de la velocidad y
aceleración angular para la articulación 2, donde también se observan las variaciones
cúbicas y cuadráticas de la velocidad, y variaciones cuadráticas y lineales de la
aceleración en los segmentos correspondientes.
Al graficar 81 vs 82 usando los valores de las Tablas N°s 7 y 8 del Apéndice, se obtiene
la figura 5.12, que corresponde a la trayectoria obtenida en coordenadas angulares, y
que es similar a la trayectoria planificada dada en la figura 5.9 (d).
Figura 5.12- Gráfica de la variación del ángulo 8 1 vs 82 para la trayectoria de articulación interpolada
434 propuesta.
El programa principal del Apéndice (Programa N° 2), también ha sido elaborado para
obtener la trayectoria generada por el extremo del brazo robótico en coordenadas
cartesianas, cuyos valores se representan en la Tabla No 9 del Apéndice. Estos valores
han sido representados en la gráfica de la figura 5.13, observándose que el brazo
robótico genera una trayectoria curva alineada con aproximación a la trayectoria
rectilínea planificada que también se representa en esta figura. Esta curvatura es debido
a que la relación entre el polinomio para cada variable de articulación h(t) = 8(t) en cada
segmento de trayectoria es de tercer y cuarto grado. Se puede lograr un mejor
afinamiento con un buen grado de aproximación y regularidad, cuando se usen
polinomios cúbicos (p.e. 5 cúbicas), por ser una función polinomial de menor grado que
126
permite continuidad en velocidad y aceleración, asimismo los polinomios de bajo grado
reducen la cantidad de cálculos necesarios y las posibilidades de inestabilidades
numéricas.
TPA~R.ANRC/JDA.Yc:BJe.!~IE...FmJr~
• mm ••••• •• m• •••••••m •m (fnC9Q.~_~Q#t~~) .....
0.5 .
1.5 2
-05.
-1 i·················
-1.5
X (rt1
Figura 5.13- Gráfica de la trayectoria generada por el extremo del brazo robótica en coordenadas
cartesianas. Asimismo se representa la trayectoria rectilínea planificada.
127
5.8. Determinación de los pares de fuerzas aplicados por los
actuadores para la obtención de la trayectoria
aproximada.
Para encontrar qué pares de fuerza o torques debemos aplicar para nuestro caso especial,
debemos considerar las ecuaciones (5-23) para calcular los valores de -r 1 y -r2 que son
necesarios aplicar, a efectos de que estos torques generen los mismos valores de 8¡ y 82
en función del tiempo para que el extremo final siga la misma trayectoria.
Para el efecto, en el programa principal del Apéndice (Programa No. 2), se usa la salida
de los valores h(t) = 8(t) y sus primeras y segundas derivas angulares como valores de
entrada de las ecuaciones (5-23), obteniéndose los valores de -r 1 y -r2 en función del
tiempo como se muestra en la Tabla No 1O del Apéndice.
Estos valores están representados en las gráficas de la figura 5-14, donde se determina
los torques o pares de fuerza en función del tiempo, uno para cada posición articular 8,
que se debe aplicar a los eslabones 1 y 2 del cual está constituido el brazo robótico, a
efectos de que su extremo final reproduzca la trayectoria aproximada encontrada por
métodos cinemáticos.
De esta manera, se ha encontrado los torques necesarios para que el extremo del robot
se desplace de un punto a otro. Si queremos que se desplace entre otros dos puntos
cualesquiera, sólo se requiere cambiar en el programa principal los nuevos puntos por
los cuales se requiere que se desplace el extremo final del brazo robótico. Corresponde a
partir de estos valores obtenidos, que la ingeniería diseñe los actuadores para estos
valores de 8 1 y 82 en función de los tiempos dados.
128
TORQUE APLICADO A LA ARTICULACIÓN 1
DEL BRAZO ROBÓTICO
17
13
e
z><
-..... 9
::S
CIS
1-
1 ~------~------~--------~------~--------~------~
o 0.5 2 2.5 3
(a)
-E>< 4
-
z
N
::S
~ 3
129
CONCLUSIONES
4. De acuerdo con los resultados obtenidos en las figuras 5.4 y 5.5, donde se
observa que la energía total del sistema se conserva o permanece constante, se
deduce que las ecuaciones diferenciales ordinarias acopladas dadas por la
ecuación (5-23) son las correctas para la solución, en nuestro caso, de un robot
planar. Asimismo, que nuestro método numérico propuesto en el programa
computacional, permite validar las soluciones de las ecuaciones de Lagrange-
Euler.
7. En las gráficas (a), (b) y especialmente en (e) de las figuras 5-10 y 5-11 que
representan las variaciones de los ángulos 8 1 y 82, así· como las velocidades y
aceleraciones en función del tiempo, de los eslabones que conforman el brazo
robótico, se observa que se verifica para cada segmento de trayectoria las
relaciones cuártica, cúbica y cuártica de que está conformada la trayectoria
planificada 4-3-4.
131
RECOMENDACIONES
Como resultado del presente trabajo de investigación, se pueden deducir las siguientes
recomendaciones:
l. Para que el extremo del robot describa o se desplace a través de una mejor
trayectoria aproximada, se hace necesario utilizar como planificación de
trayectorias del manipulador, dividir la trayectoria total en 03, 04 ó 05
segmentos de trayectorias de articulación interpoladas, las que pueden ser
cúbicas, cuárticas o quínticas.
132
BIBLIOGRAFÍA
11. RANIADA, Antonio, Dinámica Clásica, Madrid, Edit. Alianza, 1990, 67 pp.
12. STRANG, Gilbert, Álgebra Lineal y sus Aplicaciones, Nueva York, Edit.
Fondo Educativo Interamericano, S.A., 1982, 454 pp.
13. TACZA CASALLO, Óscar T., Robot para manufactura flexible, Tesis para
optar el Grado Académico de Maestro en Investigación y Docencia
Universitaria, UNAC, Callao, 200 l.
14. WELLS, Dare A., Dinámica de Lagrange, México, Edit. Me Graw Hill, ,1972,
371 pp.
ENLACES DE INTERNET
15. CIRERA, Eduardo A., CERIO, Verónica L., Cálculo del Modelo Dinámico de
un Brazo Robótica de Dos Articulaciones controlado por Red
Tendonal, http://arandu.org.ar/pub/modelo.pdf , Argentina.
133
16. CUESTA, Benito, CRUZ, Juan, Simulación Virtual de Robots Articulados,
<http://www.cyc.dfis.ull.es/simrob/pdf/proyecto.pdf>, España.
'1
Y.
134
APÉNDICE
PROGRAMA No 1
e XROBOTDOS.FOR
PROGRAM xRobotDos
imp1icit none
e DRJVER FOR ROUTINE ROBOTDOS
INTEGER NSTEP,NVAR
P ARAMETER(NVAR=4)
INTEGERi,j
REAL x(l OOOOO),x1 ,x2,y(50, 1OOOOO),vstart(NVAR),h,E(1 00000)
REAL m1 ,m2,1,g,Ek(l OOOOO),Ep(l 00000)
eOMMON /path/ x,y
EXTERNAL derivs
OPEN(5,FILE='e:\MIS DOCUMENTOS\PABLO\ROBOT\DosArtic-05')
OPEN(1 O,FILE='e:\MIS DOeUMENTOS\PABLO\ROBOT\DosArtic-1 O')
WRJTE(*, *)'VALORES INeiALES h,ti,tf,teta1 ,dteta1 ,teta2,dteta2'
READ(*, *)h,x1 ,x2,vstart(l ),vstart(2),vstart(3),vstart(4)
NSTEP=(x2-x 1)/h
call RobotDos(vstart,NVAR,x1 ,x2,NSTEP,derivs)
do 11 i= 1,NSTEP
j=l
g=9.8
1=1
m1=1
m2=1
SUBROUTINE derivs(x,y,dydx)
- 135 --
REAL x,y(*),dydx(*),g,l,m 1,m2,A,B,C,E,F
x=x
g=9.8
1=1
m1=1
m2=1
dydx(l)=y(2)
dydx(2)=(B*F-C*E)/(A *E-B**2)
dydx(3 )=y(4)
dydx( 4)=(B*C-A *F)/(A *E-B**2)
RETURN
END
ROBOTDOS.FOR
SUBROUTINE RobotDos(vstart,nvar,xl,x2,nstep,derivs)
INTEGER nstep,nvar,NMAX,NSTPMX
P ARAMETER (NMAX=50,NSTPMX= 100000)
REAL x1 ,x2,vstart(nvar),xx(NSTPMX),y(NMAX,NSTPMX)
EXTERNAL derivs
COMMON /path/ xx,y
CU USES rk4
INTEGERi,k
REAL h,x,dv(NMAX),v(NMAX)
do 11 i=1 ,nvar
v(i)=vstart(i)
y(i, 1)=v(i)
11 CONTINUE
xx(l)=x1
x=x1
h=(x2-x1 )/nstep
do 13 k= 1,nstep
call derivs(x,v,dv)
call rk4(v,dv,nvar,x,h,v,derivs)
if(x+h.eq.x)pause 'stepsize not significant in RobotDos'
x=x+h
xx(k+1)=x
do 12 i=1,nvar
y(i,k+ 1)=v(i)
12 CONTINUE
136
13 CONTINUE
RETURN
END
rk4.for
14 CONTINUE
RETURN
END
137
TABLAN° 1
138
2.3 17.1506 -10.8959 6.2547
139
VALORES DE LAS COORDENADAS CARTESIANAS EN FUNCIÓN DEL
TIEMPO (h = 0.1 seg) DE LA TRAYECTORIA QUE DESCRIBE EL EXTREMO
FINAL DEL BRAZO ROBÓTICO CON DOS ARTICULACIONES, CUANDO
LOS PARES DE FUERZA APLICADOS SON NULOS
140
TABLAN°3
t (seg) 01 02 t (seg) 01 02
141
PROGRAMA No 2
Program Tau434
Implicit none
Real x(0:3),y(0:3),tt(l :2,0:60),xx,yy,m,bb,hh,ttw(1 :2,0:60),xxw,yyw
Real t1 ,t2,t3,teta0,tetal ,teta2,teta3
Real aO,vO,a3,v3,m1,m2,g
Real A,B,C,D,E,F
Real h(1 :4,1:21,1 :2),dh(1 :4,1:21,1 :2),ddh(1 :4,1:21,1 :2)
Real t,l,ttlg,tt2g,GR,ti
Real a10,a11,a12,a13,a14,a20,a21,a22,a23,a30,a31,a32,a33,a34
Real xa,xb,xc,xd,xe,xf,xg,xh,xi,xj,xk,xl,xm,xn,xo,xp
Real xw(0:100),yw(0:100),mw,bw,hw ·
Real tau1,tau2,ts,xxx,yyy
Integer j, ns,nsw,k,i,NN ,q
OPEN(05,FILE='FU434-tau05.DAT')
OPEN(1 O,FILE='FU434-tau1 O.DAT')
OPEN(15,FILE='FU434-tau15.DAT')
OPEN(20,FILE='FU434-tau20.DAT')
OPEN(25,FILE='FU434-tau25.DAT')
OPEN(30,FILE='FU434-tau30.DAT')
write(*, *)'** *** *** ********* *** *** *** ****** **** ********* * ****** *** *
write(*, *)'UNIVERSIDAD NACIONAL DEL CALLAO'
write(*, *)'MAESTRIA EN INVESTIGACION Y DOCENCIA UNIVERSITARIA'
write(*, *)'TESIS: DINAMICA DE UN BRAZO ROBOTICO CON DOS ARTICULACIONES'
write(*, *)'AUTOR: Lic. PABLO ARELLANO UBILLUZ'
write(*, *)'CALLAO 2005'
write(*, *)'PROGRAMA COMPUTACIONAL QUE CALCULA LOS TORQUES OPARES DE FUERZA'
write(*, *)'PARA EL DESPLAZAMIENTO DE UN BRAZO ROBOTICO CON DOS ARTICULACIONES'
write(*, *)'DESDE UNA POSICION INICIAL HASTA OTRA POSICION FINAL. LA VELOCIDAD'
write(*, *)'Y ACELERACION INICIAL YFINAL SON NULAS'
write(*, *)'**** ** ** ** ************ **** ****** ** *** ** ** ** **** ** ** ** ** *
142
y(3)=1.3
1=1
m1=1
m2=1
ns=3
m=(y(3)-y(O))/(x(3)-x(O))
bb=y(O)-m*x(O)
hh=(x(3)-x(0))/3
do k=1,ns-1
x(k)=x(O)+k*hh
y(k)=bb+m*x(k)
enddo
do j=O,ns
tt(2,j)=acos( (xG)*xG)+y(j)*yG)-2 *1 *1)/(2 *1 *1))
tt(l ,j)=atan(y(j)/x(j))-atan(sin(tt(2,j))/( 1+cos(tt(2,j))))
xx=1 *(cos(tt(l ,j) )+cos(tt( 1,j)+tt(2,j)))
yy=1 *(sin(tt(l ,j))+sin(tt(1 ,j)+tt(2,j)))
tt1g=180*tt(l ,j)/3.1416
tt2g=180*tt(2,j)/3.1416
10 Format(F9.3,4x,F9.3,4x,F9.3,4x,F9.3,4x,F9.3,4x,F9.3,4x)
15 Format(F9.6,4x,F9 .6,4x,F9 .6,4x,F9 .6,4x,F9 .6,4x,F9 .6,4x)
write(5, 1O) x(j),y(j),tt1 g,tt2g,xx,yy
enddo
!------------------------------------------------------~------------
!CÁLCULO DE LAS COORDENADAS CARTESIANAS Y ANGULARES DE 61
PUNTOS DE LA TRAYECTORIA PLANIFICADA INCLUIDOS LOS PUNTOS
EXTREMOS, Y CON LOS VALORES ANGULARES SE VERIFICA
OBTENIÉNDOSE LAS MISMAS COORDENADAS CARTESIANAS.
xw(0)=0.7
yw(0)=-1.5
xw(60)=1.4
yw(60)=1.3
nsw=60
do j=O,nsw
mw=(yw( 60)-yw(O) )/(xw( 60)-xw(O))
bw=yw(O)-mw*xw(O)
hw=(xw(60)-xw(0))/60
do k= 1,nsw-1
xw(k)=xw(O)+k*hw
yw(k)=bw+niw*xw(k)
end do
end do
doj=O,nsw
ttw(2,j)=acos( (xw(j)*xw(j)+yw(j)*yw(j)-2 *1*1)/(2 *1 *1))
143
ttw(l j)=atan(ywG)/xw(j))-atan(sin(ttw(2,j) )/(1 +cos(ttw(2,j)))) ·
xxw=l*(cos(ttw(l,j))+cos(ttw(1,j)+ttw(2,j)))
yyw=l*(sin(ttw(l j))+sin(ttw(l ,j)+ttw(2,j)))
tt1 g= 180*ttw(l ,j)/3 .1416
tt2g=180*ttw(2,j)/3.1416
11 Fonnat(F9.3,4x,F9.3,4x,F9.3,4x,F9.3,4x,F9.3,4x,F9.3,4x)
write(l O, 11) xw(j),yw(j),ttl¡S,tt2g,xxw,yyw
enddo
t1 =1
t2=1
t3=1
do k=1,2
!VALORES INICIALES
tetaO=tt(k, O)
vO=O.
aO=O.
!---------------------------------------------
teta 1=tt(k, 1)
teta2=tt(k,2)
teta3=tt(k,3)
!---------------------------------------------
v3=0.
a3=0.
!---------------------------------------------
!CÁLCULO DE LAS CONSTANTES Y COEFICIENTES
a10=teta0
a11=vO*tl
a12=aO*tl *tl/2
xa=teta1-a10-a11-a12
xb=-a11/t1-2 *a12/t1
xc=2*a12/(t1 *tl)
a20=teta1
xd=teta2-a20
a30=teta2
xe=teta3-a30
xf=xb-3 *xa/t 1
xg=xc+6*xa/(t1 *tl)
xh=xg+6*xf/tl
xi=xd+t1 *t2*xh/6
xj=-tl *xh/6+(6*t2+tl )*xi/((3 *t2+tl )*t2)
xk=3*xi/(t2 *(3 *t2+tl ))
xl=t3 *(xk-3 *(2 *t2+t1 )*xj/(t2 *(3 *t2+2*tl )))
144
xm=xe+t2*(3 *t2+2*t 1)*xl/(3 *(2*t2+tl ))
xn=(t2*(2*tl +3*t2+6*t3)+3*tl *t3)/(3*t3*(2*t2+tl ))
xo=v3*t3+xl*t2*(3 *t2+2*tl )/(3 *(2*t2+tl ))
xp=(t2*(2*tl +3*t2+ 12*t3)+6*tl *t3)/(3*t3*(2*t2+tl ))
GR=180/3.1416
ts=O.OS
NN=20
doj=l,NN
t=(j-l)*ts
h(l,j,k)=alO+all *t+a12*t*t+a13*t*t*t+a14*t*t*t*t
dh(l,j,k)=(all +2*a12*t+ 3*a13*t*t+4*a14*t*t*t)/tl
ddh(l,j,k)=(2*á.12+6*a13*t+ 12*a14*t*t)/tl *tl
Write(20, *)t,h(l ,j ,k)*GR,Dh(l ,j,k)*GR,DDh(l ,j,k)*GR
enddo
do j=l,NN
t=(j-l)*ts
h(2,j ,k)=a20+a21 *t+a22 *t*t+a23 *t*t*t
dh(2,j,k)=(a21 + 2*a22*t+3*a23*t*t)/t2
ddh(2,j,k)=(2*a22+6*a23*t)/(t2*t2)
Write(20,*)t+ts*NN,h(2,j,k)*GR,Dh(2,j,k)*GR,DDh(2,j,k)*GR
enddo
doj=l,NN+l
t=(j-l)*ts
h(3,j,k)=a30+a31 *t+a32*t*t+a33*t*t*t+a34*t*t*t*t
dh(3,j,k)=(a31 +2*a32*t+3*a33*t*t+4*a34*t*t*t)/t3
ddh(3,j,k)=(2*a32+6*a33*t+ l2*a34*t*t)/(t3*t3)
Write(20,*)t+2*ts*NN,h(3,j,k)*GR,Dh(3,j,k)*GR,DDh(3,j,k)*GR
end do
enddo
145
do i=1,3
IF(i.eq.3)then
q=l
el se
q=O.
endif
do j=1,20+q
xxx=l *( cos(h(i,j, 1))+cos(h(ij, 1)+h(i,j,2)))
yyy=l*(sin(h(i,j, 1))+sin(h(i,j, 1)+h(i,j,2)))
write(25, *)xxx,yyy
end do
end do
g=9.8
ti=O
do i=1,3
IF(i.eq.3)then
q=1
el se
q=O ..
endif
do j=1,20+q
A=l**2*(m1 +4*m2+3*m2*cos(h(ij,2)))/3.
B=m2*1 **2*(2+3 *cos(h(i,j,2)))/6.
C=-m2*1 **2 *sin(h(i,j,2))*dh(i,j,2)*(dh(i,j,2)+ 2 *dh(i,j, 1))/2.+g*l *(m1 *
cos(h(i,j, 1))+m2*cos(h(i,j, 1)+h(i,j,2))+2*m2*cos(h(i,j, 1)))/2.
D=B
E=m2*1**2/3.
F=m2*1 * *2*sin(h(i,j ,2))*(dh(i,j, 1))* *2/2.+m2 *g*l *cos(h(i,j, 1)+h(i,j,2))/2.
,-· ...
tau1 =A *ddh(i,j, 1)+B*ddh(i,j,2)+C
tau2=Ú*ddh(i,j, 1)+E*ddh(i,j ,2)+F
write(30,10) ti,tau1,tau2
ti=ti+0.05
end do
enddo
end
146
TABLAN°4
147
TABLAN°5
ND 01 (0 ) - 02 (0 ) ND 01 (0 ) 02 (0 )
1 -99.125 68.284 31 -63.612 116.343
2 -99.901 71.981 32 -60.769 115.786
3 -100.520 75.465 33 -57.898 115.084
4 -100.991 78.760 34 -55.009 114.241
5 -101.322 81.884 35 -52.111 113.260
6 -101.517 84.850 36 -49.211 112.142
7 -101.577 87.670 37 -46.315 110.891
8 -101.504 90.352 38 -43.429 109.510
9 -101.300 92.901 39 -40.555 108.001
10 -100.962 95.324 40 -37.698 106.367
11 -100.491 97.622 41 -34.857 104.609
12 -99.884 99.798 42 -32.035 102.729
13 -99.142 101.853 43 -29.230 100.728
14 -98.261 103.787 44 -26.441 98.606
15 -97.241 105.599 45 -23.666 96.362
16 -96.080 107.288 46 -20.903 93.996
17 -94.779 108.854 47 -18.146 91.503
18 -93.336 110.292 48 -15.393 88.881
19 -91.753 111.601 49 -12.636 86.124
20 -90.031 112.779 50 -9.871 83.224
21 -88.174 113.821 51 -7.088 80.172
22 -86.186 114.726 52 -4.280 76.955
23 -84.070 115.491 53 -1.435 73.558
24 -81.836 116.113 54 1.459 69.959
25 -79.489 116.590 55 4.420 66.131
26 -77.039 116.920 56 7.468 62.035
27 -74.496 117.101 57 10.632 57.621
28 -71.871 117.135 58 13.952 52.813
29 -69.174 117.019 59 17.486 47.497
30 -66.417 116.755 60 21.333 41.483
61 25.673 34.411
148
TABLAN°6
149
TABLAN°7
-- No-
. .
-t (seg) h(t)= e¡- (0 ) - - h(t) = e; ( /seg)
0
h(t)-= 8-;- (0 /seg 2)
150
28 1.35 -77.35300 38.84665 58.02164
151
TABLAN°8
152
28 1.35 129.81690 19.64705 -159.69850
153
VALORES (x,y) DE LOS 61 PUNTOS QUE CONFORMAN LA TRAYECTORIA
RECTILÍNEA PLANIFICADA, ASÍ COMO LOS VALORES DE LA
TRAYECTORIA OBTENIDA DEL DESPLAZAMIENTO DEL EXTREMO
FINAL DEL ROBOT PLANAR
154
28 1.015 -0.240 0.828 -0.183
155
TABLAN° 10
156
29 1.40 7.489 2.048
157