a mis padres - tesis.ipn.mx

203
Instituto Politécnico Nacional ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA SECCIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN M ETODOLOGÍA PARA G ENERACIÓN DE T RAYECTORIAS DE M ANIPULADORES R OBÓTICOS , SU C INEMÁTICA Y D INÁMICA T E S I S QUE PARA OBTENER EL GRADO DE MAESTRO EN CIENCIAS CON ESPECIALIDAD EN INGENIERÍA MECÁNICA PRESENTA: ING. EMMANUEL ALEJANDRO MERCHÁN CRUZ DIRIGIDA POR: DR. GUILLERMO URRIOLAGOITIA CALDERÓN MÉXICO, D.F. 2000

Upload: others

Post on 22-Nov-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: a mis padres - tesis.ipn.mx

Instituto Politécnico NacionalESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA

SECCIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN

METODOLOGÍA PARA

GENERACIÓN DE TRAYECTORIAS

DE MANIPULADORES

ROBÓTICOS, SU CINEMÁTICA Y DINÁMICA

T E S I S QUE PARA OBTENER EL GRADO DEMAESTRO EN CIENCIASCON ESPECIALIDAD ENINGENIERÍA MECÁNICA P R E S E N T A :

ING. EMMANUEL ALEJANDRO MERCHÁN CRUZ

DIRIGIDA POR: DR. GUILLERMO URRIOLAGOITIA CALDERÓN

MÉXICO, D.F. 2000

Page 2: a mis padres - tesis.ipn.mx

“La imaginación es más importante que el conocimiento” Albert Einstein

Page 3: a mis padres - tesis.ipn.mx

a mis padres

Page 4: a mis padres - tesis.ipn.mx

Índice Índice........................................................................................................................ i

Índice de Tablas y Figuras ..................................................................................... iv

Simbología. ...........................................................................................................viii

Resumen. ................................................................................................................ x

Abstract. ................................................................................................................. xi

Justificación............................................................................................................xii

Objetivo. .................................................................................................................xii

Introducción...........................................................................................................xiii

1. Estado del Arte.................................................................................................... 2

1.1 Antecedentes Generales ............................................................................... 2

1.2 Antecedentes Específicos.............................................................................. 9

2. Fundamentos Teóricos...................................................................................... 16

2.1 Cinemática de Manipuladores Robóticos..................................................... 16

2.1.1 Representación de la Orientación entre Sistemas de

Coordenadas......................................................................................... 16

2.1.1.1 Matrices de Rotación. ..................................................................... 17

2.1.1.2 Otros Métodos para Representar la Orientación de

Sistemas de Coordenadas. ........................................................... 22

2.1.2 Matrices de Transformación Homogénea. ............................................ 23

2.1.3 Asignación de Sistemas de Coordenadas a Manipuladores

Robóticos (Parametrización de Manipuladores Robóticos)................... 26

2.1.4 Representación de Denavit y Hartenberg. ............................................ 27

2.2 Dinámica de Manipuladores Robóticos........................................................ 32

2.2.1 Formulación de Básica. ......................................................................... 34

2.2.2 Formulación de Lagrange. .................................................................... 37

2.2.2.1 Dinámica Lagrangiana de un Manipulador de dos

grados de Libertad. ....................................................................... 38

2.3 Control de Manipuladores Robóticos. .......................................................... 42

Page 5: a mis padres - tesis.ipn.mx

2.3.1 Control de la velocidad de motores de C.D.......................................... 45

2.3.2 Ley de control en lazo abierto de manipuladores robóticos. ................. 50

2.3.3 Ley de control del Torque Calculado..................................................... 51

3. El robot de 5 Grados de Libertad Mitsubishi Movemaster como

Caso de Estudio............................................................................................... 55

3.1 Descripción del Manipulador Robótico Mitsubishi........................................ 55

3.1.1 Sistemas de Coordenadas sobre los que se desplaza el

robot Mitsubishi Movemaster................................................................. 57

3.2 Planteamiento del problema cinemático. ..................................................... 57

3.2.1. Obtención de las ecuaciones de diseño del Manipulador. ................... 57

3.2.2. Planteamiento de la Solución a la Cinemática Directa e

Inversa del Manipulador. ....................................................................... 61

3.2.2.1 Cinemática Directa. ........................................................................ 61

3.2.2.2 Cinemática Inversa. ........................................................................ 63

3.3 Planteamiento del Problema Dinámico. ....................................................... 67

3.3.1 Obtención del Modelo Dinámico del Manipulador. ................................ 68

3.3.2 Planteamiento de la solución a la Dinámica del

Manipulador........................................................................................... 72

4. Generación de Trayectorias. ............................................................................. 75

4.1 Metodología para la generación de trayectorias. ......................................... 76

4.2 Parametrización de Trayectorias. ................................................................ 77

4.3 Cinemática de la generación de trayectorias. .............................................. 86

4.4 Dinámica en la generación de trayectorias. ................................................. 91

5. Desarrollo Experimental Derivado de este Trabajo. ........................................ 106

5.1 Proyecto de “Implementación de las Técnicas de Control PID

en un Manipulador Robótico de Tres Grados de Libertad” ....................... 106

5.1.1 Descripción física ................................................................................ 108

Page 6: a mis padres - tesis.ipn.mx

5.1.2 Modelado Matemático y Solución a la Cinemática Directa e

Inversa. ............................................................................................... 111

5.1.3 Implementación de Técnicas de Control para el robot

R3GL................................................................................................... 117

5.1.3.1 Acción de control Proporcional ..................................................... 117

5.1.3.2 Acción de control Integral ............................................................. 118

5.1.3.3 Acción de control Proporcional-Integral ........................................ 118

5.1.3.4 Acción de control Proporcional-Derivativo .................................... 119

5.1.3.5 Acción de control Proporcional Integral Derivativo ....................... 120

5.1.4 Función de Transferencia de un Controlador PID Digital .................... 120

5.1.5 Descripción del Sistema de Control del Manipulador

Robótico R3GL.................................................................................... 126

5.1.6 Estado actual del Proyecto de Investigación. ...................................... 127

CONCLUSIONES................................................................................................ 129

REFERENCIAS................................................................................................... 132

ANEXOS ...............................................................................................................A1

ANEXO 1. Programas en Matlab® ....................................................................A2

ANEXO 2. Listado para el Modelado en Realidad Virtual del Robot

Mitsubishi Movemaster. .................................................................A14

ANEXO 3. Gráficas correspondientes a las 21 posiciones que

conforman la trayectoria abc..........................................................A24

ANEXO 4. Programas del proyecto de implementación. .................................A32

ANEXO 5. Diagramas de conexión del manipulador robótico

R3GL. ............................................................................................A39

ANEXO 6. Publicación generada de ésta tesis................................................A41

Page 7: a mis padres - tesis.ipn.mx

Índice de Tablas y Figuras FIGURA 1.1 TELAR AUTOMÁTICO DE JACUARD................................................ 2

FIGURA 1.2 CONFIGURACIÓN CARTESIANA O PRISMÁTICA ........................... 5

FIGURA 1.3 CONFIGURACIÓN CILÍNDRICA. ....................................................... 6

FIGURA 1.4 CONFIGURACIÓN ESFÉRICA O POLAR.......................................... 6

FIGURA 1.5 CONFIGURACIÓN DE BRAZO ARTICULADO. ................................. 7

FIGURA 1.6 CONFIGURACIÓN SCARA ................................................................ 7

FIGURA 1.7 POSICIONAMIENTO Y ORIENTACIÓN DEL EFECTOR

FINAL. .................................................................................................. 8

FIGURA 1.8 ORIENTACIÓN DEL EFECTOR FINAL.............................................. 8

FIGURA 2.1.- REPRESENTACIÓN DE SISTEMAS DE

COORDENADAS................................................................................ 17

FIGURA 2.2.- (A) ROTACIÓN ALREDEDOR DEL EJE X, ∝ GRADOS;

(B) ROTACIÓN ALREDEDOR DEL EJE Y, ϕ GRADOS;

(C) ROTACIÓN ALREDEDOR DEL EJE Z θ GRADOS. .................... 18

FIGURA 2.3.- OBTENCIÓN DE LA MATRIZ DE ROTACIÓN

RESULTANTE.................................................................................... 20

FIGURA 2.4.- MATRIZ DE TRANSFORMACIÓN HOMOGÉNEA......................... 24

FIGURA 2.5.- MATRICES DE BÁSICAS DE ROTACIÓN

HOMOGÉNEAS ................................................................................. 25

FIGURA 2.6.- MATRIZ DE TRASLACIÓN HOMOGÉNEA BÁSICA...................... 25

FIGURA 2.7 DIFERENTES CONVENCIONES PARA LA

ASIGNACIÓN ..................................................................................... 27

DE SISTEMAS DE COORDENADAS ................................................................... 27

FIGURA 2.8 PARÁMETROS DE D-H. ................................................................. 30

FIGURA 2.9 MANIPULADOR DE DOS GRADOS DE LIBERTAD. ....................... 38

FIGURA 2.10 CAMBIOS EN LA ENTRADA DE UN SISTEMA DE

CONTROL .......................................................................................... 42

FIGURA 2.11 ERROR DE SEGUIMIENTO DEBIDO AL EFECTO

DINÁMICO.......................................................................................... 43

Page 8: a mis padres - tesis.ipn.mx

FIGURA 2.12 SISTEMA MASA-RESORTE-AMORTIGUADOR............................ 44

FIGURA 2.13 DIAGRAMA POLOS-CEROS A)POLOS SIMPLES; B)

POLOS COMPLEJOS ........................................................................ 44

FIGURA 2.14 ESTRUCTURA BÁSICA DE CONTROL DE POSICIÓN ................ 50

FIGURA 3.1 ROBOT MITSUBISHI MOVEMASTER ............................................. 55

FIGURA 3.2 DIMENSIONES (EN MM.) DEL ROBOT MOVEMASTER ................ 55

FIGURA 3.3 SISTEMA MOVEMASTER................................................................ 56

FIGURA 3.4 GRADOS DE LIBERTAD DEL MOVEMASTER................................ 56

FIGURA 3.5 POSICIÓN INICIAL PARA LA ASIGNACIÓN DE

SISTEMAS DE COORDENADAS ...................................................... 58

FIGURA 3.6 SISTEMAS DE COORDENADAS PARA EL ROBOT ....................... 58

TABLA 3.1 PARÁMETROS DE D-H...................................................................... 59

FIGURA 3.7 DIAGRAMA DE FLUJO DE LA FUNCIÓN CDMOVER..................... 62

FIGURA 3.8 DIAGRAMA DE FLUJO DE LA FUNCIÓN NEWTON. ...................... 67

FIGURA 3.9 PUNTO ii r EN EL SISTEMA DE COORDENADAS DE LA

ARTICULACIÓN................................................................................. 68

FIGURA 3.10 DIAGRAMA DE FLUJO PARA LA FUNCIÓN NUM1. ..................... 72

FIGURA 4.1 TRAYECTORIA DEL EFECTOR FINAL ENTRE DOS

PUNTOS............................................................................................. 76

FIGURA 4.2 SISTEMAS DE COORDENADAS DEL ROBOT Y DE

OBJETOS EN SU ENTORNO ............................................................ 78

FIGURA 4.3 RUTA A SEGUIR POR EL MANIPULADOR..................................... 79

FIGURA 4.4 DEFINICIÓN DE LAS LIGADURAS DE CAMINO............................. 79

FIGURA 4.5 ESTABLECIMIENTO DE LA ORIENTACIÓN DESEADA

DURANTE LA TRAYECTORIA. ......................................................... 80

FIGURA 4.6 IDENTIFICACIÓN DE LAS ORIENTACIONES

DESEADAS. ....................................................................................... 81

FIGURA 4.7 ANÁLISIS DE LA TRAYECTORIA PARCIAL BC.............................. 84

Page 9: a mis padres - tesis.ipn.mx

FIGURA 4.8 ANÁLISIS DE VARIACIÓN ANGULAR EN LA

ORIENTACIÓN................................................................................... 84

FIGURA 4.9 ANÁLISIS CINEMÁTICO TRAYECTORIA “ABC” ............................ 88

FIGURA 4.10 CONFIGURACIÓN RESULTANTE

CORRESPONDIENTE AL PUNTO A. ................................................ 89

FIGURA 4.11 CONFIGURACIÓN RESULTANTE

CORRESPONDIENTE AL PUNTO A1. ............................................... 90

FIGURA 4.12 CONFIGURACIÓN RESULTANTE

CORRESPONDIENTE AL PUNTO B9. ............................................... 90

FIGURA 4.13 CONFIGURACIÓN RESULTANTE

CORRESPONDIENTE AL PUNTO B. ................................................ 91

TABLA 4.1 VELOCIDADES ANGULARES (RAD/SEG) ........................................ 93

TABLA 4.2 ACELERACIONES ANGULARES (RAD/SEG^2) .............................. 94

FIGURA 4.14 VELOCIDADES ANGULARES EN LAS

ARTICULACIONES (RAD/S).............................................................. 95

FIGURA 4.15 ACELERACIONES EN LAS ARTICULACIONES

(RAD/S^2)........................................................................................... 96

TABLA 4.3 TORQUES APLICADOS EN LAS ARTICULACIONES

PARA GENERAR LA TRAYECTORIA ABC (N-M)............................. 97

FIGURA 4.16 TORQUE ARTICULACIÓN 1 .......................................................... 98

FIGURA 4.17 TORQUE ARTICULACIÓN 2 ......................................................... 98

FIGURA 4.18 TORQUE ARTICULACIÓN 3 ........................................................ 99

FIGURA 4.19 TORQUE ARTICULACIÓN 4 ........................................................ 99

FIGURA 4.20 TORQUE ARTICULACIÓN 5 ....................................................... 100

TABLA 4.4.- TORQUES CONSIDERANDO UNA CARGA DE 1.5 K.G

EN EL EFECTOR FINAL (N-M)........................................................ 101

FIGURA 4.21 COMPARACIÓN T1 VS T1”......................................................... 102

FIGURA 4.22 COMPARACIÓN T2 VS T2”.......................................................... 102

FIGURA 4.23 COMPARACIÓN T3 VS T3”......................................................... 103

FIGURA 4.24 COMPARACIÓN DE T4 VS T4”................................................... 103

FIGURA 4.25 COMPARACIÓN T5 VS T5”.......................................................... 104

Page 10: a mis padres - tesis.ipn.mx

FIGURA 5.1 DIMENSIONES GENERALES (EN MM) DEL

MANIPULADOR R3GL, VISTA LATERAL ....................................... 109

FIGURA 5.2 DIMENSIONES GENERALES (EN MM) DEL

MANIPULADOR R3GL, VISTA SUPERIOR ..................................... 110

FIGURA 5.3 DIMENSIONES GENERALES (EN MM) DEL

MANIPULADOR R3GL, VISTA FRONTAL ....................................... 110

FIGURA 5.4 POSICIÓN DE SISTEMA DE COORDENADAS CERO. ................ 111

FIGURA 5.5 ASIGNACIÓN DE SISTEMAS DE COORDENADAS. .................... 111

TABLA 5.1 PARAMETROS DE D-H PARA EL ROBOT R3GL............................ 111

FIGURA 5.6 POSICIÓN INICIAL (0 0 0 90 0)...................................................... 113

FIGURA 5.7 POSICIÓN1 (90 0 0 90 0) ............................................................... 113

FIGURA 5.8 POSICIÓN 2 (0 –45 45 180 0) ........................................................ 114

FIGURA 5.9 POSICIÓN 3 (0 –90 90 180 0) ........................................................ 115

FIGURA 5.10 POSICIÓN 4 (45 –90 90 180 0) .................................................... 116

FIGURA 5.11 POSICIÓN 5 (0 45 –90 135 0) ...................................................... 117

FIGURA 5.12 ANÁLISIS DEL COMPORTAMIENTO DEL ERROR

E(T), Y COMPORTAMIENTO DE LA SEÑAL

MANIPULADA U(T) PARA UN CONTROL PI .................................. 119

FIGURA 5.13 ANÁLISIS DEL COMPORTAMIENTO DEL ERROR

E(T), Y COMPORTAMIENTO DE LA SEÑAL

MANIPULADA U(T) PARA UN CONTROL PD................................. 119

FIGURA 5.14 ANÁLISIS DEL COMPORTAMIENTO DEL ERROR

E(T), Y COMPORTAMIENTO DE LA SEÑAL

MANIPULADA U(T) PARA UN CONTROL PID................................ 120

FIGURA 5.15 DIAGRAMA DE FLUJO PARA LA IMPLEMENTACIÓN

DEL PID DIGITAL............................................................................. 122

FIGURA 5.16 DIAGRAMA DE FLUJO DE LAS SUBRUTINAS

RECTSU Y RECTBA........................................................................ 123

FIGURA 5.17 DIAGRAMA DE FLUJO DE LA SUBRUTINA PID......................... 124

Page 11: a mis padres - tesis.ipn.mx

FIGURA 5.18 DIAGRAMA ESQUEMÁTICO DEL SISTEMA DE

CONTROL DEL MANIPULADOR ROBÓTICO R3GL....................... 126

Page 12: a mis padres - tesis.ipn.mx

Simbología. x y z - sistema de coordenadas fijo

x0 y0 z0 - sistema de coordenadas de la base del manipulador

xn yn zn - sistema de coordenadas de la base del manipulador

u v w - sistema de coordenadas fijo

[ ]RR, - matriz de rotación 3 x 3

[ ]TT , - matriz de transformación homogénea 4 x 4

3I - matriz identidad 3 x 3

4I - matriz identidad 4 x 4

kji ˆ ˆ - vectores unitarios

φαθ - desplazamientos angulares

iθ - ángulo entre eslabones

iiii da θα ,,, - parámetros de Denavit y Hartenberg

axyz - vector de posición respecto al sistema de coordenadas xyz

auvw - vector de posición respecto al sistema de coordenadas uvw

[ ]TA - matriz transpuesta

)ˆ,( , 0 qqQ - cuaternion

ii A1−

- matriz de transformación homogénea para los sistemas de

coordenadas i e 1−i .

nT0 - matriz del robot

n - grados de libertad

F - fuerza

m - masa

ir - vector de posición

vri ,& - vector de velocidad lineal

a ,ir&& - vector de aceleración lineal

Page 13: a mis padres - tesis.ipn.mx

jg - restricciones del sistema

iq - coordenada generalizada

iτ - fuerza generalizada

L - Lagrangiano del manipulador

K - energía cinética

P - energía potencial ϖ - velocidad angular α - aceleración angular

J - matriz Jacobiana

V - voltaje

I - corriente eléctrica

E - fuerza electromotriz

dθ - posición angular deseada

dθ& - velocidad angular deseada

dθ&& - aceleración angular deseada

vv - vector variable

vc - vector constante

Page 14: a mis padres - tesis.ipn.mx

Resumen.

En este trabajo se presenta una metodología que permite obtener los parámetros

necesarios para la generación de trayectorias de manipuladores robóticos fuera de

línea, como son: los vectores de posición angular que resulten en la configuración

espacial del manipulador que se requiere durante la trayectoria deseada, y los

vectores de fuerza o torque necesarios para que se cumplan las condiciones

dinámicas de movimiento. Partiendo de un análisis cinemático y dinámico del

manipulador y de la tarea a desempeñar por este. Desarrollando también, las

herramientas de cómputo necesarias para este fin.

Se presenta también el trabajo experimental desarrollado, que contempla el diseño

y construcción de un manipulador de 3 grados de libertad y la implementación de

técnicas de control para este.

En la versión en disco compacto (en formato HTML), se incluye la animación del

manipulador generando la trayectoria deseada, los listados de los programas

necesarios para la implementación del control PID (Proporcional–Integral–

Derivativo), el listado para el modelado virtual del manipulador y los listados

necesarios para la solución a la Cinemática y Dinámica en MATLab®, para su uso

posterior.

Este trabajo esta disponible en Internet en las direcciones electrónicas

http://pathfinder.esimez.ipn.mx/Robotica y http://robotica.mexico.com.mx.

Page 15: a mis padres - tesis.ipn.mx

Abstract. A methodology to obtain, offline, the parameters for the trajectory generation of

robotic manipulators is presented in this work. Parameters such as the angular

position vectors, that conform the desired trajectory in the Cartesian space, and the

force vectors which are required to fulfill the dynamic conditions of movement are

obtained from kinematic and dynamic analysis of the robot manipulator and, the

task to be carried out by it. The computer tools for this purpose are developed as

well.

It is presented, as well, the experimental work done so far, which includes the

design and construction of a 3 dof robot manipulator, and the implementation of

control techniques for its operation.

The CD version (in HTML format) includes: the animation of the desired trajectory

followed by the robot manipulator, the programs of implementation for the PID

control techniques for the robot, the program for virtual modeling of the robot

manipulator, and the programs to solve the Kinematics and Dynamics with

MATlab®, for its further use.

This work is also available in Internet at http://pathfinder.esimez.ipn.mx/Robotica

and http://robotica.mexico.com.mx.

Page 16: a mis padres - tesis.ipn.mx

Justificación.

Actualmente, uno de los principales problemas que presentan las industrias que

tienen implementadas en su línea de producción células de manufactura robóticas,

son los denominados tiempos muertos derivados de la reprogramación de un

manipulador robótico. Esta, en el contexto de la industria nacional, es en su

mayoría gestual y textual, lo que obliga a detener la línea de producción por

espacio de muchas horas, periodo en el cual, los técnicos identifican en un modelo

físico, los puntos que habrán de definir la trayectoria a seguir por el robot, para

posteriormente programar la secuencia de movimientos del mismo.

El estudio de la generación de trayectorias de un manipulador robótico, es de gran

utilidad para la determinación de los parámetros necesarios que definan la

trayectoria a seguir por el robot, sin necesidad de detener la línea de producción,

permitiendo así realizar una programación fuera de línea, reduciendo así los

tiempos de reprogramación de manera significativa.

Objetivo.

El objetivo del presente trabajo, es plantear una metodología de análisis que

permita la determinación de los parámetros cinemáticos y dinámicos de control

necesarios para la generación de trayectorias en un manipulador robótico.

Page 17: a mis padres - tesis.ipn.mx

Introducción.

El estudio de la robótica comprende muchas áreas, por lo que se considera

completamente interdisciplinaria, un profesional que quiera desarrollarse dentro de

esta debe tener conocimientos en las áreas de ingeniería eléctrica, ingeniería

mecánica, ingeniería electrónica, ingeniería de manufactura, y ciencias de la

computación, con el fin de poder ver los problemas que representan el estudio de

la robótica desde un punto de vista integral.

Hoy en día, la industria nacional cuenta con una planta de aproximadamente 2,000

robots instalados, de los cuales un 60% tienen que ver con la industria automotriz

[52]. Se estima que, debido a la demanda en los mercados, la planta de robots

instalados crezca con un ritmo del 10% anual [53]. Por lo anterior es necesario

contar con el recurso humano que posea el nivel técnico necesario para poder

llevar a cabo la integración e implementación de esta tecnología en la planta

manufacturera nacional.

Un aspecto de gran interés es el que representa la generación de trayectorias de

manipuladores robóticos para el desarrollo de una tarea, la cual comprende la

definición de los puntos que habrán de conformar dicha trayectoria.

La manera menos eficiente de definir estos puntos –y que es como actualmente se

hace en la industria nacional– es manipulando el robot para llevarlo

“manualmente” a la posición y orientación deseada para su efector final, ya que

esto representa el tener que detener la línea de producción, de la cual forma parte

el robot, para que un grupo de técnicos realice esta nueva definición de puntos de

una trayectoria, lo que se traduce en tiempo en el que el robot no es productivo,

además de que la definición de los puntos de esta manera no son del todo

precisos.

Page 18: a mis padres - tesis.ipn.mx

Un segundo método para definir los puntos que conforman a una trayectoria es en

el que, para definirlos, solo es necesario contar con información básica del

manipulador robótico, como lo son sus dimensiones y grados de libertad.

Obteniendo así la información necesaria para generar una trayectoria “fuera de

línea”, es decir, sin interrumpir la línea de producción para poder hacerlo.

La generación de trayectorias es, sin duda, uno de los principales problemas de

análisis en el área de la robótica. Esta incluye el estudio de la cinemática y

dinámica del manipulador, el control del sistema y la parametrización de la tarea a

desempeñar para definir la trayectoria a seguir por el manipulador.

El objetivo de este trabajo es el de plantear una metodología de análisis para la

generación de trayectorias de manipuladores robóticos, tomando en cuenta la

cinemática y dinámica que tiene que ver con el manipulador y la tarea a

desempeñar. Para lo cual esta tesis se divide de la siguiente manera:

En el primer capítulo, Estado del Arte, se exponen los antecedentes generales de

la robótica, desde su primera concepción hasta la descripción de los

manipuladores robóticos actuales. Así como también los antecedentes específicos

que tienen que ver con el estudio de la robótica en sus diversos aspectos, como lo

son la cinemática, la dinámica, el control, entre otros.

En el segundo capítulo, Fundamentos Teóricos, se presentan los fundamentos

necesarios para realizar un estudio cinemático y dinámico de un manipulador

robótico. En este capítulo también se incluyen aspectos básicos de control de

manipuladores robóticos, pues es, en la opinión del que escribe, necesario

establecer desde un principio, la relación de un estudio dinámico de un sistema

físico con su modelo de control correspondiente y no tratarlo como dos temas

independientes.

Page 19: a mis padres - tesis.ipn.mx

En el tercer capítulo, El manipulador robótico de 5 grados de Libertad

Mitsubishi Movemaster como Caso de Estudio, se toma el manipulador

mencionado para ejemplificar el establecimiento de los parámetros necesarios

para realizar un estudio cinemático y dinámico de un robot. En este capítulo, se

plantean los problemas cinemático y dinámico con el objeto de desarrollar las

herramientas de cómputo necesarias para su solución y posterior aplicación en el

estudio de trayectorias. Es importante mencionar que se utilizó el robot Mitsubishi

Movemaster como espécimen de estudio, ya que el IPN cuenta con tres

manipuladores de este tipo en las escuelas de nivel superior ESIME Azcapotzalco,

ESIME Culhuacán, y UPIICSA, por lo que el acceso a estos equipos es

relativamente sencillo.

En el cuarto capítulo, Generación de Trayectorias, se presenta la metodología

para el estudio de la generación de trayectorias. Para la ilustración de esta

metodología se propone una tarea a desempeñar por el manipulador, para la cual

se llevan a cabo los siguientes pasos: parametrización de la trayectoria y análisis

cinemático y dinámico de la trayectoria. En este capítulo se obtienen los vectores

de posiciones, velocidades y aceleraciones angulares que corresponden a la

trayectoria deseada a partir del análisis cinemático y los vectores de torque

necesarios en las articulaciones, para satisfacer las condiciones dinámicas de la

trayectoria a partir del análisis dinámico.

En el quinto capítulo, Desarrollo Experimental Derivado de este Trabajo, se

presentan los diversos proyectos que se han realizado a lo largo del desarrollo de

esta tesis. De los cuales, se describe de manera general el proyecto que más ha

avanzado y que lleva como título “Proyecto de implementación de técnicas de

control PID en un manipulador robótico de 3 grados de libertad” y que comprende

el diseño y construcción del manipulador, el modelado matemático y solución a la

cinemática directa e inversa para este manipulador, siguiendo la metodología que

se presenta en esta tesis y con las herramientas que se han desarrollado en

Matlab®. Por último, la implementación de técnicas de control PID (Proporcional –

Page 20: a mis padres - tesis.ipn.mx

Integral – Derivativo) en el manipulador robótico utilizando micro controladores

MC68HC11 de Motorola®

Por último se presentan las conclusiones a las que se han llegado como resultado

del desarrollo de este trabajo. Además de los anexos en los que se incluyen los

listados de los programas en Matlab®, el listado para el modelado en realidad

virtual del manipulador, la representación gráfica de 21 posiciones que conforman

la trayectoria de estudio, los programas de implementación del algoritmo de

control PID en un manipulador de 3 grados de libertad, los diagramas de conexión

del manipulador R3GL y las publicaciones generadas de este trabajo.

Es de gran importancia el agradecer los apoyos recibidos por CONACYT y por el

IPN a través del Programa Institucional de Formación de Investigadores, pues sin

este, hubiese sido muy difícil el desarrollo de este trabajo, así como la

construcción del prototipo de manipulador robótico, cuyos costos se han cubierto

con los recursos generados por las becas de ambas instituciones.

Page 21: a mis padres - tesis.ipn.mx

Estado del Arte

E

n

é

s

t

e

c

a

p

Page 22: a mis padres - tesis.ipn.mx

1. Estado del Arte

1.1 Antecedentes Generales Cuando hablamos de robótica, inevitablemente pensamos en un proceso

automático, y como la robótica es hoy en día sinónimo de automatización, nos

referiremos a Joseph Jacquard como el primer pionero de la automatización

industrial que, en el año de 1801, inventó una máquina textil operada por tarjetas

perforadas conocida como telar programable, dando lugar a la producción en

masa [1,3].

Figura 1.1 Telar automático de Jacuard.

No es sino hasta más de un siglo después, en el año de 1921, que el término

robot, derivado del vocablo checo robota, cuyo significado es sirviente o esclavo,

es utilizado por primera vez por el Doctor en filosofía Karel Capek en una obra de

teatro en la que describe sirvientes mecánicos llamados robots [2].

Para el año de 1938, los americanos Williard Pollard y Harold Roselund diseñan

un mecanismo programable para el pintado por aspersión para la compañía

DeVilbiss [3].

Page 23: a mis padres - tesis.ipn.mx

George Devol, en el año de 1946, diseñó una máquina programable capaz de

almacenar y reprogramar información [1,4]. En el mismo año, los científicos

americanos J. Presper Eckert y John Mauchly construyen la primera computadora

digital llamada ENIAC (Electronic Numerical Integrator and Computer) en la

Universidad de Pensilvania [1,5]. En el M.I.T., una segunda computadora llamada

UNIVAC I (Universal Automatic Computer) resuelve por primera vez un problema

matemático [5,6].

Norbert Wiener, profesor del M.I.T., en 1948 publica el libro “Cibernética”, en el

cual describe conceptos de comunicaciones y control en sistemas electrónicos,

mecánicos y biológicos [1,5].

En el año de 1951, Raymond Goertz diseña un brazo articulado el cual es

teleoperado para la manipulación de materiales radioactivos, a petición de la

Comisión de Energía Atómica [1,5].

George Devol, en el año de 1954, registra bajo la patente número 2,988,237 de

EUA al primer robot [1]. Este estaba diseñado para la transferencia de materiales

en una fabrica [5]. Más adelante, en el año 1956, Joseph Engelberger y Devol

conforman la que a la postre sería una de las más exitosas compañías de robots,

Unimation, Inc. [1,4,5], construyendo el primer robot Unimation en 1958. Pero no

fue sino hasta el año de 1962 cuando se instaló por primera vez un robot industrial

en una línea de producción en una armadora propiedad de General Motors [1],

cuya tarea era el tomar piezas calientes de una forja y empaquetarlas [5].

En Japón, Kawasaki Heavy Industries importó su primer robot en el año de 1967

[5], obteniendo la licencia para la manufactura de robots Unimation en 1968 [1,4].

En el año de 1970, la Universidad de Stanford diseña un brazo robot que se

convierte en el estándar en proyectos de investigación [1]. Este brazo utiliza

Page 24: a mis padres - tesis.ipn.mx

motores eléctricos como actuadores y se le conoce como robot Stanford [5]. Al

año siguiente, 1971, en Japón se conforma la primera asociación de robótica en el

mundo, la Asociación de Robots Industriales de Japón (JIRA) [1].

En 1973, se utiliza por primera vez una microcomputadora para controlar un brazo

robótico, desarrollado por Richard Horn para Cincinati Milacron Corporation [1,5].

En el año de 1974, el creador del robot Stanford, Profesor Sheinman, funda

Vicarm Inc., con el propósito de comercializar una versión para aplicaciones

industriales del robot Stanford original [1].

La Asociación Industrias Robóticas es establecida en 1975 [1], dando, por primera

vez, una definición para robot industrial: “Un robot industrial es un manipulador

multifuncional programable, diseñado para mover, materiales, herramientas o

dispositivos especializados; por medio de movimientos programados para la

realización de varias tareas” [1,7].

En 1977, ASEA (ahora ABB), compañía europea, ofrece comercialmente dos

modelos de robots industriales con actuadores eléctricos conocidos como Irb6.

Ambos utilizan microcomputadoras como controlador para su programación y

operación [1,8]. Durante el mismo año, Vicarm Inc. es adquirido por Unimation Co.

[1]. Como resultado de esta fusión, uno de los mayores éxitos de Unimation se

obtiene el robot PUMA (Programable Universal Machine for Assembly). Por otra

parte, el ingeniero mecánico estadounidense Victor Scheinman, cuando estudiaba

la carrera en la Universidad de Stanford, en California, desarrolló este manipulador

polivalente realmente flexible conocido. El PUMA era capaz de mover un objeto y

colocarlo con cualquier orientación en un lugar deseado que estuviera a su

alcance [10]. El concepto básico multiarticulado del PUMA es la base de la

mayoría de los robots actuales, es diseñado utilizando las técnicas de control de

Vicarm y bajo patrocinio de General Motors [1,5].

Page 25: a mis padres - tesis.ipn.mx

FANUC Robotics, compañía japonesa, es introducida al mercado americano en

1981, siendo General Motors el principal accionista [1]. En este mismo año, un

nuevo concepto en robots de ensamble es traido desde Japón, conocido como

robot SCARA (Selective Compliance Assembly Robot Arm) [8].

Para 1984, se desarrollan robots con actuadores acoplados de manera directa en

las articulaciones (direct-drive) por “Adept Corporation”, eliminando el uso de

engranajes o cadenas intermedias [1]. En el mismo año, ASEA presenta una

nueva configuración de robot con 6 grados de libertad tipo péndulo, para tareas de

ensamble [8].

En 1986, la instalación y aplicación de robots continua creciendo pero desde un

punto de vista integral, aumentando el interés en Celdas de Manufactura,

Sistemas Flexibles de Manufactura y sistemas CIM [1].

Durante este tiempo, los tipos de configuraciones básicas de robots que se han

establecido son las siguientes [9]:

- - Cartesiano: con capacidad de movimiento a lo largo del los ejes X, Y y

Z.

Figura 1.2 Configuración Cartesiana o prismática

Page 26: a mis padres - tesis.ipn.mx

- - Cilíndrico: Con movimiento a lo largo de Z y Y, alrededor de Z.

Figura 1.3 Configuración Cilíndrica.

- - Esférico o polar: con dos articulaciones de revolución y una prismática.

Figura 1.4 Configuración Esférica o Polar.

Page 27: a mis padres - tesis.ipn.mx

- - Brazo articulado o de revolución: únicamente conformado por

articulaciones de revolución.

Figura 1.5 Configuración de Brazo Articulado.

- - SCARA: Con dos pares de revolución y uno prismático, pero dispuestos

en una configuración diferente a la de la configuración esférica.

Figura 1.6 Configuración SCARA

Todas estas configuraciones, en un principio, consideran únicamente tres grados

de libertad en su representación, que permiten que el manipulador posicione su

efector final en cualquier punto dentro de su espacio de trabajo, en tanto que

grados de libertad adicionales se utilizan para darle la orientación deseada o

Page 28: a mis padres - tesis.ipn.mx

necesaria, de acuerdo con la tarea a desempeñar, como se muestra en la figura

1.7.

Figura 1.7 Posicionamiento y orientación del efector final.

Figura 1.8 Orientación del efector final.

Page 29: a mis padres - tesis.ipn.mx

1.2 Antecedentes Específicos.

Debido a que la robótica es interdisciplinaria, en la que intervienen la ingeniería

mecánica, eléctrica, electrónica, ciencias de la computación y manufactura, se han

conformado diversas líneas de investigación bajo esta área.

En un panorama global, esta líneas comprenden: el diseño de los mecanismos

que conforman el manipulador, consideración de eslabones rígidos y flexibles,

configuraciones de manipuladores de cadena abierta y manipuladores paralelos;

desarrollo de nuevas técnicas de control de manipuladores robóticos, control

adaptivo, difuso, etc; desarrollo de diversos algoritmos y técnicas de programación

en línea y fuera de línea, dentro de este panorama global pueden identificarse los

algoritmos de visión artificial y algoritmos para robots cooperativos.

Como ejemplo de lo anterior podemos citar los siguientes casos:

En el área de ingeniería mecánica hoy en día no solo se analizan robots de

cadena abierta, sino también robots paralelos, en los cuales el principal problema

es determinar el modelo cinemático que rige el movimiento del sistema,

concentrándose el análisis en la determinación de este modelo. En la Universidad

de Victoria, Carretero, Nahon y otros trabajan, en 1997, en el análisis cinemático

de un mecanismo de manipulador paralelo de 3 grados de libertad, para su uso en

foco de un lente de telescopio. Proponen la solución directa e inversa de la

cinemática del manipulador [11]. Para 1998, Podohorosdeski presenta el estudio

de optimización en la arquitectura de este mecanismo [12]. En tanto que en la

Universidad de Queen’s, actualmente se trabaja en el diseño de nuevas

configuraciones de robots paralelos bajo la supervisión de la Profesora Leila

Notash [13].

En lo que respecta a los manipuladores articulados de cadena abierta,

actualmente se desarrollan diversas metodologías para la solución de la

Page 30: a mis padres - tesis.ipn.mx

cinemática de dichos robots, o bien el planteamiento del modelo cinemático de

este, siendo común encontrar trabajos como el desarrollado por Doty, 1992, para

la NASA, en el cual se establece la solución a la cinemática directa e inversa de

un manipulador desarrollado para esta agencia [14].

Para la solución a la cinemática directa de manipuladores robóticos, se emplea un

método sistemático y generalizado que utiliza el álgebra matricial como

herramienta, este método describe la geometría espacial de los elementos de un

brazo manipulador con respecto a un sistema de referencia fijo, método propuesto

para el análisis de mecanismos por Denavit y Hartenberg en 1955 [15] que se

aplica a la robótica.

En lo referente a la solución de la cinemática inversa (CI), se reconocen, en

diversos textos, dos estrategias para la solución de esta, las soluciones de “forma

cerrada” y las soluciones numéricas.

En un principio se optaba por las soluciones “cerradas” derivadas de un análisis

del problema algebraico o geométrico [15,16], ya que las herramientas de cómputo

disponibles no contaban con la velocidad suficiente para resolverlos en un tiempo

conveniente, con esto, se buscaba simplificar la solución del problema, pues las

soluciones obtenidas, por la aplicación de este método no eran siempre la mejor

de las soluciones, y además, considerando la naturaleza del problema que se

deriva del análisis de un mecanismo eslabonado de cadena abierta, es evidente

que pueden existir múltiples soluciones para una condición deseada.

Parkin [21], señala que la solución a la CI no se puede obtener de manera

algebraica, lo que significa que una solución de forma “cerrada” no existe y que es

necesaria una solución iterativa que, debido a la naturaleza del problema implica

que pueden haber varias soluciones para un mismo punto.

Page 31: a mis padres - tesis.ipn.mx

Al respecto, se han desarrollado varios trabajos, por ejemplo, Doty y Shwartz [36],

señalan que un par de métodos para la solución a la CI consisten en utilizar

métodos numéricos para resolverla calculando el error cuadrático mínimo, o bien,

agregar restricciones algebraicas en la solución a la CI para manipuladores

redundantes. Posteriormente demuestran la aplicación del método de Moore-

Penrose en la solución a esta y proponen un método llamado “Teoría Inversa

Generalizada”, que se basa en la generalización del método antes mencionado

[37] y más adelante presentan la aplicación de la metodología propuesta para la

solución a la CI en velocidades [38].

Trabajos más avanzados en cuanto a propuestas de solución a la CI, tienen que

ver con la aplicación de la lógica difusa para la solución a esta. Tal como lo

presentan Xu y Nechyba en [39], bajo el argumento de que la solución a la CI

requiere de muchos recursos computacionales, lo que puede resultar en retrasos

significativos en el control en tiempo real y, basándose en el hecho de que los

humanos no calculan de manera exacta la CI para realizar sus movimientos, sin

embargo, podemos, en todo momento, posicionar en el espacio cualquiera de

nuestras extremidades u objeto manipulado, de manera precisa a partir de un

razonamiento difuso.

En el área de los mecanismos, actualmente se emplean los números duales para

el análisis y síntesis de mecanismos, tal como lo describe Cheng en [41] y [43];

llevando este análisis hasta los mecanismos de cadena abierta de manipuladores

robóticos, a partir de los parámetros de Denavit y Hartenberg [42].

En lo que se refiere a la dinámica de manipuladores robóticos, también se plantea

el uso de números duales para describir la dinámica del cuerpo rígido [45]. O bien,

el uso de multiplicadores de Lagrange en sistemas de simulación de la dinámica

de manipuladores, utilizando estos para establecer las restricciones en el modelo

a simular [18]. Algunos análisis de la dinámica inversa de manipuladores

Page 32: a mis padres - tesis.ipn.mx

comerciales de 6 grados de libertad, con el fin de comparar diversos recursos

computacionales se presentan en [46] por Cheng y Gupta

En el Instituto de Robótica de Carnegie-Mellon se desarrollan técnicas de control

adaptivo de manipuladores, así como el uso de bi-cuaterniones para establecer los

algoritmos de control de robots cooperativos [28], además de algoritmos de control

para la determinación de la fuerza de apriete óptima en mecanismos de aprensión

de manipuladores robóticos [48]. En el Instituto Tecnológico de California trabajan

en el diseño de un control adaptivo para sistemas físicos con dinámica cambiante

[49] y en análisis de la dinámica de robots móviles para el establecimiento de un

control óptimo [50]. En la Universidad de Ámsterdam, trabajan en aspectos de

control como el diseño de un modelo de control para el uso de sistemas de visión

artificial, como guía para el movimiento de un brazo robot usando redes

neuronales.

En el ámbito nacional, la robótica no ha crecido aún de manera notable, ya que

son pocos los centros educativos en donde se aborda este tema con fines de

investigación y desarrollo, destacándose el CINVESTAV, el IPN, la UNAM y el

ITESM.

Es importante hacer notar que, debido a la importancia de este tema, en el año de

1991, en ESIME Azcapotzalco, se crea la carrera de Ingeniería en Robótica

Industrial, cuyo enfoque, lamentablemente, es una automatización “empírica” de

procesos industriales, sin conocer los fundamentos básicos de la manipulación

robótica, ni los aspectos básicos de control de procesos.

Dentro de la currícula de diversas carreras en ingeniería del IPN, se imparten

materias relacionadas con la robótica, tal es el caso de la carrera de Ingeniería en

Control y Automatización de la ESIME Zacatenco y de Ingeniería en Mecatrónica

de la UPITA.

Page 33: a mis padres - tesis.ipn.mx

En estos diversos centros, se llevan a cabo actividades de investigación y

desarrollo sobre estas tecnologías a nivel posgrado, principalmente en el

CINVESTAV, ITESM y SEPI-ESIME, no siempre llegando a resultados

satisfactorios, tal es el caso del proyecto MIRH de la SEPI-ESIME-IPN que, a

cerca de tres años de iniciado, no ha llegado a resultados tangibles. En el

CINVESTAV han diseñado un robot tipo SCARA, proyecto que ha evolucionado de

manera notable.

Dentro de esta Sección de Estudios de Posgrado e Investigación, se han

desarrollado pocos trabajos referentes al tema, como la propuesta de una

“Metodología para el Diseño de un Robot Manipulador Industrial” en 1993 por Díaz

de León [54]. En el mismo año, López [55] presenta el “Análisis Cinemático y

Dinámico de un Manipulador Robótico con tres Grados de Libertad”.

Después de este año, es hasta 1997 cuando Rojas Garnica [56] presenta el

“Diseño de un Mecanismo Atornillador para un Brazo Manipulador Robótico”,

trabajo que no aporta conocimiento a la línea de investigación de robótica.

Los dos trabajos más recientes sobre el tema son, en 1997, el “Desarrollo de un

Simulador para el Control de un Brazo Robótico”, por González Sánchez [57], en

donde se plantea el desarrollo de un simulador para el control, sin definir los

conceptos de dinámica directa y dinámica inversa, aun cuando la dinámica directa

es la que tiene que ver con el diseño de simuladores dinámicos, tal como lo

señalan Craig [17], Baraff [18] y Murray [19]. Además, se menciona como objetivo

el control de un brazo robótico, cuando, dentro del texto no se hace un solo

planteamiento ni consideración de las técnicas ni modelos de control que se

emplean en manipuladores robóticos, lo cual es señalado ampliamente en

diversos textos como [9], [15], [17], [19] y [21]. El mencionado trabajo presenta

también errores en la obtención del modelo matemático del manipulador

analizado. Por lo que no se recomienda la lectura de este trabajo.

Page 34: a mis padres - tesis.ipn.mx

El segundo trabajo más reciente dentro de la sección, es la “Modelación y

Simulación de Sistemas Electromecánicos Bajo Control”, por Domínguez Aguirre

en 1998 [20], en donde se hacen consideraciones importantes en cuanto al

modelado de sistemas físicos para su análisis.

Como se puede observar, en 7 años, en el departamento de Ingeniería Mecánica

de la SEPI-ESIME se han desarrollado un total de 6 trabajos, incluyendo el

presente, relacionados con la robótica. Lo que no corresponde con la demanda de

recursos humanos, con la preparación necesaria, que demanda la industria

nacional.

Page 35: a mis padres - tesis.ipn.mx

Fundamentos

Teóricos

E

n

e

s

t

e

c

a

p

ít

Page 36: a mis padres - tesis.ipn.mx

2. Fundamentos Teóricos.

2.1 Cinemática de Manipuladores Robóticos.

La cinemática es el estudio del movimiento sin tomar en cuenta las fuerzas que lo

producen; esta estudia la posición, la velocidad y la aceleración del sistema [22].

De esta forma, la cinemática de un manipulador robótico describe la relación entre

el movimiento de las articulaciones del manipulador y el movimiento resultante de

los cuerpos rígidos que conforman al robot [19]. Esta comprende dos problemas:

El primero consiste en determinar la posición y orientación del efector final del

manipulador, derivada de un cambio en la configuración del sistema de eslabones

que conforman la cadena cinemática de este (Cinemática Directa) y el segundo

problema consiste en definir los valores de las posiciones de las articulaciones,

para que la configuración del sistema resulte en una orientación y posición

deseadas del efector final, dentro de su espacio de trabajo (Cinemática Inversa).

Para plantear y dar solución al modelo cinemático del sistema, es necesario

establecer una relación geométrica entre los elementos que conforman la cadena

cinemática. Para lo cual, se propone la asignación de sistemas de coordenadas

que sirvan como referencia para poder establecer dicha relación. Es entonces

necesario representar, mediante el uso de expresiones matemáticas, la

orientación y posición relativa entre sistemas de coordenadas asignados a los

elementos del manipulador.

2.1.1 Representación de la Orientación entre Sistemas de Coordenadas.

Para poder representar la orientación de un sistema de coordenadas móvil, con

respecto a otro sistema de referencia, se emplean matrices de rotación.

Page 37: a mis padres - tesis.ipn.mx

Básicamente, estas representan las proyecciones de los vectores unitarios de un

sistema móvil, en un sistema fijo.

2.1.1.1 Matrices de Rotación. La matriz de rotación en su forma general es la siguiente:

⎥⎥⎥

⎢⎢⎢

⋅⋅⋅⋅⋅⋅⋅⋅⋅

=

wzvzuz

wyvyuy

wxvxux

kkjkikkjjjijkijiii

Rˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ

Entonces, si tenemos dos sistemas de coordenadas que coinciden en su origen y

su orientación, tal como se ve en la figura 2.1, la matriz de rotación

correspondiente que represente la orientación del sistema de coordenadas

OUVW, respecto del sistema de coordenadas OXYZ, es:

3

100010001

IR =⎥⎥⎥

⎢⎢⎢

⎡=

O

X,U

Y, V

Z,W

uixi ˆ,ˆ

vjyj ˆ,ˆwz kk ˆ,ˆ

......................(2.1)

......................(2.2)

Page 38: a mis padres - tesis.ipn.mx

Figura 2.1.- Representación de sistemas de coordenadas.

Lo cual es fácil de comprobar, ya que debido a que ambos sistemas son

ortonormales y coinciden en su orientación, los vectores unitarios xi e ui son

vectores paralelos, para los que, por definición, el producto punto entre ellos es 1;

mientras que ui es normal a yj y zk , cuyo producto punto es cero. Cumpliéndose

lo anterior para las demás relaciones.

En segunda instancia tenemos el sistema de coordenadas móvil OUVW, que

puede ser rotado alrededor de cualquiera de los ejes del sistema de coordenadas

OXYZ, como se ve en la figura 2.2.

O

X,U

Y

Z

uixi ˆ,ˆ

kw

w v

jvO

X

Y, V

Z

jyj ˆ,ˆ

w

u

O

X

Y

Z,W

wz kk ˆ,ˆ

u

v

(a) (b) (c)

Figura 2.2.- (a) Rotación alrededor del eje X, ∝ grados; (b) rotación alrededor del eje Y, ϕ grados; (c) rotación alrededor del eje Z θ grados.

Entonces, para determinar la matriz de rotación que represente la orientación para

el caso que ilustra la figura 2.2(a), partiremos del hecho que ui es paralelo a xi y

tienen el mismo sentido, por lo que, siendo sistemas ortonormales, ui no tiene

proyección en los vectores unitarios yj y zk ; en tanto que, vj y wk siguen siendo

normales a xi , pero ambos tienen proyección en yj y zk . La matriz de rotación

Page 39: a mis padres - tesis.ipn.mx

R3, que representa la orientación resultante de una rotación respecto al eje X, α

grados es:

(2.3) . . . . . . . . . . .. . . . . . . . . . . . . . cos0

cos0001

,

⎥⎥⎥

⎢⎢⎢

⎡−=

ααααα

sensenRx

haciendo ahora un análisis similar para los casos de las figuras 2.2(b) y (c),

obtenemos:

(2.4) . . . . . . . . . . .. . . . . . . . . . . . . . cos0

0100cos

,

⎥⎥⎥

⎢⎢⎢

−=

ϕϕ

ϕϕ

ϕ

sen

senRy

(2.5) . . . . . . . . . . .. . . . . . . . . . . . . . 1000cos0cos

,

⎥⎥⎥

⎢⎢⎢

⎡ −= θθ

θθ

θ sensen

Rz

Supóngase ahora que es necesario conocer el nuevo vector de posición de un

punto cuyas coordenadas están descritas en el sistema de coordenadas móvil

OUVW y el punto es auvw, con respecto al sistema de coordenadas de referencia

OXYZ. Una vez que el sistema móvil ha sido afectado por una rotación alrededor

del eje Y, por ejemplo 25°. El nuevo vector perteneciente al punto axyz, estaría

dado por:

si auvw = [3,2,5]T

axyz estará dado por:

axyz = [ R ] [auvw]

Page 40: a mis padres - tesis.ipn.mx

axyz = ⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

°°−

°°

3.2637 2.0000 4.8320

523

25cos02501025025cos

sen

sen

En un sistema real, la orientación final de un sistema de coordenadas móvil no

estará dada por una simple rotación alrededor de alguno de los ejes del sistema

de referencia, si no que será definida como resultado de una secuencia de

rotaciones no solo respecto de los ejes XYZ del sistema de referencia. También

estará en función de rotaciones alrededor de los ejes UVW del sistema móvil, de

manera tal que se obtiene una matriz resultante. La cual estará dada de acuerdo a

la siguiente convención, descrita en [9],[15],[19]:

Partiendo del hecho que, en un principio ambos sistemas de coordenadas

coinciden en el origen y en su orientación, condición que está descrita por una

matriz 3I , a partir de esta y de acuerdo a la secuencia de rotaciones que afecten

al sistema, habrán de ordenarse de manera tal que: las rotaciones respecto a XYZ

se escribirán a la izquierda de la matriz 3I , en tanto que las rotaciones respecto a

UVW, se escriben a la derecha de esta, obteniéndose así la secuencia correcta de

multiplicación para la obtención de la matriz resultante, tal como se ilustra en la

figura 2.3.

3 I = R Rotaciones y/o traslaciones respecto a XYZ

Rotaciones y/o traslaciones respecto a UVW

Figura 2.3.- Obtención de la matriz de rotación resultante.

Para ilustrar el procedimiento anterior, habrá de obtenerse enseguida la matriz de

rotación resultante para la siguiente secuencia de rotaciones: Rx,30°; Ry,45°; Rw,10°;

Ru,-35°; estaría dada por:

Page 41: a mis padres - tesis.ipn.mx

R = Ry,45° Rx,30° 3I Rw,10° Rv,-35°

=

⎥⎥⎥

⎢⎢⎢

− 4504501045045

cs

sc

⎥⎥⎥

⎢⎢⎢

⎡−

3030030300

001

cssc

⎥⎥⎥

⎢⎢⎢

100010001

⎥⎥⎥

⎢⎢⎢

⎡ −

1000101001010

cssc

⎥⎥⎥

⎢⎢⎢

−−−−−

)35()35(0)35()35(0

001

cssc

como multiplicar por 3I es multiplicar por 1, entonces:

=⎥⎥⎥

⎢⎢⎢

− 4504501045045

cs

sc

⎥⎥⎥

⎢⎢⎢

⎡−

3030030300

001

cssc

⎥⎥⎥

⎢⎢⎢

⎡ −

1000101001010

cssc

⎥⎥⎥

⎢⎢⎢

−−−−−

)35()35(0)35()35(0

001

cssc

⎥⎥⎥

⎢⎢⎢

⎡=

0.7718 0.0346 0.6350- 0.0796 0.9854 0.1504 0.6309 0.1666- 0.7578

R

Puede ahora calcularse también el nuevo punto axyz para el punto dado auvw, de la

manera en que se explicó anteriormente:

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡=

2.02302.82005.0946

523

0.7718 0.0346 0.6350- 0.0796 0.9854 0.1504 0.6309 0.1666- 0.7578

xyza

Ahora bien, si es necesario calcular el vector de posición de un punto dado en

coordenadas para XYZ con respecto al sistema móvil UVW a partir de la solución

encontrada, puede hacerse de la siguiente manera:

[ ] [ ]xyzT

uvw bRb =

Page 42: a mis padres - tesis.ipn.mx

si xyzb es [5,3,2]T, el nuevo punto uvwb estará dado por:

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡=

4.93692.19232.9700

235

0.7718 0.0346 0.6350- 0.0796 0.9854 0.1504 0.6309 0.1666- 0.7578 T

uvwb

2.1.1.2 Otros Métodos para Representar la Orientación de Sistemas de Coordenadas.

Otra forma popular de especificar la orientación entre sistemas de coordenadas,

es haciendo uso de los ángulos de Euler. Estos describen cualquier posible

orientación en términos de una rotación con respecto del eje Z, seguida por una

rotación respecto al nuevo eje rotado Y y por último, seguida por una rotación

respecto al nuevo eje rotado Z [9].

Representando lo anterior como:

Euler(φ,θ,ψ) = Rz,φ Ry,θ Rz,ψ

La orientación entre sistemas de coordenadas puede definirse también haciendo

uso de cuaterniones.

Los cuaterniones generalizan a los números complejos y pueden ser utilizados

para representar rotaciones, de la misma manera en que los números complejos,

en el circulo unitario, se usan para representar rotaciones planas [9], [19] y [23].

Formalmente un cuaternion es un número hipercomplejo de la siguiente forma

[24], [28], [29], [30]:

kqjqiqqQ ˆˆˆ 3210 +++= ...................................(2.6)

Page 43: a mis padres - tesis.ipn.mx

donde:

0q = componente escalar de Q , y

q = ( 321 ,, qqq ) = componente vectorial

por lo que es común que Q se escriba también como:

( )qqQ ˆ,0= ...................................(2.7)

De aquí podemos anticipar que, al momento de realizar operaciones con

cuaterniones, podemos estar manipulando operadores de traslación y de rotación

que pudiesen afectar al sistema móvil.

Para mayor información al respecto del tema, se recomienda la lectura de

[24],[25],[26] y [27].

2.1.2 Matrices de Transformación Homogénea.

Para poder describir completamente la relación espacial entre sistemas de

coordenadas, es necesario incluir también dentro de la representación, un

componente que relacione el vector de posición entre los orígenes de los sistemas

de coordenadas, ya que es común que el sistema móvil se encuentre descentrado

respecto al sistema de referencia.

Como una matriz de rotación 3 x 3 no nos da ninguna posibilidad para incluir la

traslación y el escalado, se introduce un cuarto componente al vector de posición

( )Tzyx pppP ,,= en un espacio tridimensional, que lo transforma en

( )Tzyx wwpwpwpP ,,,ˆ = , entonces decimos que el vector P está representado en

Page 44: a mis padres - tesis.ipn.mx

coordenadas homogéneas, pues se le ha incluido un componente de escala w

[9],[19].

El concepto de una representación homogénea en un espacio euclidiano

tridimensional, es útil para desarrollar transformaciones matriciales que incluyen:

rotación, traslación, escalado y perspectiva [15].

Entonces, una matriz de transformación homogénea, puede considerarse como

que está conformada por cuatro submatrices, como se ilustra el la figura 2.4:

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

=

EscalaaPerspectivdeciónTransformaPosiciónRotación

dedeVectorMatriz

EP

PRT

xx

xx

1131

1333

Figura 2.4.- Matriz de transformación homogénea.

en donde:

• • La matriz de rotación representa la orientación del sistema de

coordenadas del sistema móvil, con respecto del sistema de referencia.

• • El vector de posición representa el descentramiento entre los orígenes

de los sistemas de coordenadas.

• • La matriz de perspectiva se refiere a la perspectiva de análisis, que para

el caso de la robótica es siempre [0 0 0].

• • El factor de escala, que nos indica el escalado de la magnitud del vector

de posición, que para el caso de la robótica es [1].

Page 45: a mis padres - tesis.ipn.mx

Por lo que podemos escribir ahora, la matriz de transformación homogénea en su

forma general:

)8.2(

1000

ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ

ΛΛΛΛΛ

⎥⎥⎥⎥

⎢⎢⎢⎢

⋅⋅⋅⋅⋅⋅⋅⋅⋅

=zwzvzuz

ywyvyuy

xwxvxux

pkkjkikpkjjjijpkijiii

T

de donde se pueden derivar fácilmente las matrices básicas de rotación

homogénea que se ilustran en la figura 2.5.

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡−

=

100000000001

, αααα

α cssc

Tx

⎥⎥⎥⎥

⎢⎢⎢⎢

−=

100000001000

, φφ

φφ

φ cs

sc

Ty

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ −

=

100001000000

,

φφφθ

θ

cssc

Tz

Figura 2.5.- Matrices de Básicas de Rotación Homogéneas

Así como también la matriz de traslación homogénea básica, la cual tiene el efecto

de trasladar el sistema de coordenadas del sistema OUVW, a lo largo de los ejes

del sistema de coordenadas OXYZ, a bien a lo largo de sus propios ejes, según

sea el caso.

⎥⎥⎥⎥

⎢⎢⎢⎢

∆∆∆

=

⎥⎥⎥⎥

⎢⎢⎢⎢

∆∆∆

=

1000000000000

ó

1000000000000

wvu

zyx

Ttr

Figura 2.6.- Matriz de Traslación Homogénea Básica.

Generalizando ahora lo antes dicho para el caso de las matrices de rotación, una

matriz de transformación homogénea resultante no estará dada únicamente por

operaciones unitarias de rotación y/o traslación, sino por una secuencia de estas,

por lo que, para obtener la matriz de transformación homogénea resultante,

Page 46: a mis padres - tesis.ipn.mx

aplicaremos la misma metodología que para el caso de matrices de rotación R3.

De manera tal que:

4 I = T Rotaciones y/o traslaciones respecto a XYZ

Rotaciones y/o traslaciones respecto a UVW

Tomando ahora como base a I4, ya que representa la condición inicial en la que

ambos sistemas de coordenadas, móvil y referencia, coinciden en su posición y

orientación.

2.1.3 Asignación de Sistemas de Coordenadas a Manipuladores Robóticos (Parametrización de Manipuladores Robóticos)

Para poder aplicar las herramientas antes descritas en el estudio de

manipuladores robóticos, es necesario asignar sistemas de coordenadas a los

componentes básicos de un robot, i.e. eslabones y articulaciones. Esto es con la

finalidad de describir la relación espacial entre estos elementos, por medio de la

obtención de una matriz de transformación homogénea que relacione al sistema

de coordenadas asignado al efector final, con el sistema de coordenadas de

referencia fijo en la base del manipulador; matriz comúnmente conocida como,

matriz de robot.

La localización de los sistemas de coordenadas que permitan la obtención de

parámetros cinemáticos de un manipulador serán en: la base del robot, las

articulaciones y el efector final.

Con el propósito de que se estableciera una metodología estándar para la

asignación de sistemas de coordenadas, y por consiguiente, en la obtención de las

matrices de transformación homogénea que describen la cinemática del

manipulador, se ha aceptado la representación de Denavit y Hartenberg como lo

establecen [9], [14], [15] y [19].

Page 47: a mis padres - tesis.ipn.mx

2.1.4 Representación de Denavit y Hartenberg.

Para poder describir la relación traslacional y rotacional entre los elementos de

una cadena cinemática, Denavit y Hartenberg propusieron, en 1955, un método

matricial para establecer de forma sistemática un sistema de coordenadas ligado

al cuerpo para cada elemento de una cadena articulada [15].

La representación de Denavit y Hartenberg ha dado lugar a dos metodologías para

la asignación de los sistemas de coordenadas; cada una de ellas permite ciertas

libertades en el establecimiento de estos sistemas de coordenadas [16], [22].

Estándar

Modificada Figura 2.7 Diferentes convenciones para la asignación

de sistemas de coordenadas

En la primera, el sistema de coordenadas i tiene su origen a lo largo del eje de la

articulación 1+i , como lo describe Lee [15]. En la segunda, el sistema de

coordenadas i tiene su origen a lo largo de la articulación i . Esta segunda

Page 48: a mis padres - tesis.ipn.mx

convención es frecuentemente referida como “convención modificada de Denavit y

Hartenberg”, como lo describe Craig [17]. La figura 2.7 muestra la diferencia entre

ambas convenciones.

La convención que a lo largo de este trabajo se utiliza corresponde a aquella

descrita por Lee [15], que es la que se emplea de manera común [9], [14], [19],

[22]. Y que llevada al área de manipuladores robóticos es como sigue [16]:

1. 1. Se lleva al manipulador a una posición inicial, que servirá de referencia

para medir los desplazamientos del sistema.

2. 2. Se numeran los eslabones del sistema, comenzando por 0 para la base

del robot, hasta n para el efector final.

3. 3. Se numeran las articulaciones del sistema, comenzando con 1 para la

primer articulación y n para la última; donde n = número de grados de

libertad.

4. 4. Los sistemas de coordenadas se asignarán en donde se intersecan el

eslabón 1−i con la articulación i con base en lo siguiente:

a. a. Los ejes Z estarán ubicados a lo largo del eje de movimiento de

la articulación. Para el caso de articulaciones de revolución será a lo

largo del eje de rotación; en tanto que para las articulaciones

prismáticas, será a lo largo del eje de movimiento de esta.

b. b. Se asigna el primer sistema de coordenadas completa a la base

del manipulador, procurando que uno de los ejes de este sistema

este en línea con la orientación del brazo de robot; numerando a este

sistema de coordenadas como sistema cero.

Page 49: a mis padres - tesis.ipn.mx

c. c.Los ejes ix se asignarán de manera tal que estos sean normales a

los ejes 1−iz .

d. d. Los ejes iy complementarán los sistemas de coordenadas para

formar sistemas dextrógiros.

e. e. Como los sistemas van numerados desde 0 hasta n , un último

sistemas de coordenadas se asigna al efector final, o bien al plato de

herramientas, del robot. Este, habrá de conservar la orientación del

sistema de coordenadas 1−n .

f. f. Se identifica el sentido positivo en el desplazamiento de las

articulaciones, de acuerdo a la regla de la mano derecha.

Un eslabón puede ser considerado como un cuerpo rígido, el cual puede ser

descrito por dos parámetros, la longitud del eslabón y el giro del eslabón. Estos

parámetros definen la localización relativa de los ejes de articulaciones vecinas en

el espacio.

Asimismo, las articulaciones pueden ser descritas también por dos parámetros, el

descentramiento del eslabón, que es la distancia de un eslabón a otro próximo, a

lo largo del eje de la articulación; y el ángulo de la articulación, que es la rotación

de un eslabón con respecto al próximo, alrededor del eje de la articulación.

La representación de Denavit y Hartenberg de un cuerpo rígido depende entonces,

de cuatro parámetros geométricos asociados a cada elemento, estos describen

completamente la relación espacial entre sistemas de coordenadas. Estos

parámetros pueden resumirse como:

Page 50: a mis padres - tesis.ipn.mx

• • Longitud del eslabón ia : distancia desde el origen del sistema de

coordenadas i hasta la intersección de los ejes ix y 1−iz , a lo largo del

eje ix ;

• • Giro del eslabón iα : ángulo formado entre el eje 1−iz al eje iz alrededor

del eje ix ;

• • Descentramiento del eslabón id : distancia desde el origen del sistema

de coordenadas 1−i hasta la intersección de los ejes ix y 1−iz , a lo largo

del eje 1−iz .

• • Ángulo de la articulación iθ : ángulo de la articulación del eje 1−ix al eje

ix respecto al eje 1−iz .

De esta forma, para una articulación de revolución, id , ia y iα son los parámetros

de la articulación y permanecen constantes, mientras que iθ es la variable de la

articulación. Para una articulación prismática, la variable será id .

1 − i z

1 − i z

1 − i y

1 − i y 1 − i x

i d

i a

iz

iy

ix

1 − i z

ix

1−ix i θ

1 − i z

iz

i x iα

Figura 2.8 Parámetros de D-H.

Page 51: a mis padres - tesis.ipn.mx

De acuerdo con [15], [17] y [22], la representación de D-H resulta en una matriz de

transformación homogénea 4 x 4, i-1Ai:

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡−

=−

1000cossen0

sensencoscoscossencossensencossencos

1

iii

iiiiiii

iiiiiii

ii

daa

Aαα

θαθαθθθαθαθθ

que describe la relación entre el sistema de coordenadas de cada eslabón con

respecto al sistema de coordenadas previo [22],

ii

ii ATT 11

00 −−=

donde iT0es la transformación homogénea que describe la posición del sistema de

coordenadas i con respecto al sistema de coordenadas de la base.

De manera tal que si tenemos un robot con 3 grados de libertad, la matriz 30T

estará dada por:

32

21

10

30 AAAT =

La matriz de transformación homogénea [T]= nT0, que especifica la posición y

orientación del efector final del manipulador con respecto al sistema de

coordenadas de la base, es tan frecuentemente utilizada en la cinemática de los

manipuladores robóticos que se conoce como “matriz del robot”, y es común

escribir la siguiente forma:

...............(2.9)

..........................(2.10)

Page 52: a mis padres - tesis.ipn.mx

⎥⎥⎥⎥

⎢⎢⎢⎢

=

1000zzzz

yyyy

xxxx

pasnpasnpasn

T

donde [n,s,a] nos representa la orientación del sistema de coordenadas del efector

final con respecto al sistema de coordenadas de la base y [p] la posición de este

con respecto a la base. De esta matriz se obtienen las ecuaciones de diseño del

manipulador, las cuales sirven como base para la solución a la cinemática inversa.

2.2 Dinámica de Manipuladores Robóticos.

La dinámica es la rama de la mecánica que trata el movimiento de los cuerpos

bajo la acción de fuerzas. Esta incluye a la cinemática, que es el estudio del

movimiento sin tomar en cuenta las causas que lo producen, y la cinética, que

relaciona estas fuerzas con el movimiento resultante.

Cuando una fuerza es aplicada a un cuerpo, este tiende a acelerarse de acuerdo

con las leyes de Newton. Por tanto, sobre la base de esta definición, el

comportamiento dinámico de un manipulador robótico es descrito en términos de

la relación de tiempo con el de cambio de la configuración del brazo y con el

torque dado por sus actuadores.

La dinámica del robot trata con las formulaciones matemáticas de las ecuaciones

de movimiento del brazo, estableciendo un conjunto de ecuaciones que describen

su comportamiento dinámico. Estas ecuaciones son útiles para la simulación en

computadora del movimiento del robot, el diseño de leyes de control adecuadas y

para la evaluación del diseño y estructura del brazo [15].

Page 53: a mis padres - tesis.ipn.mx

La mayoría de los manipuladores robóticos son animados por actuadores

eléctricos, pneumáticos o hidráulicos, los cuales aplican torques (o fuerzas, en el

caso de actuadores lineales) a las articulaciones del robot. En donde las

ecuaciones de movimiento del manipulador determinan la respuesta de este a la

aplicación de dichas fuerzas.

El modelo dinámico del robot se puede obtener a partir de leyes físicas conocidas,

tales como la mecánica newtoniana y lagrangiana, estas conducen al desarrollo de

ecuaciones de movimiento dinámico para las diversas articulaciones del

manipulador, en términos de los parámetros geométricos e inerciales de los

elementos.

De manera similar al caso de la cinemática, la dinámica de un manipulador

comprende el análisis de dos problemas: el problema de la dinámica inversa, en

el que dado un vector de posiciones, velocidades y aceleraciones para el efector

final, se calcula el vector requerido de torques en las articulaciones, que satisfaga

las condiciones de movimiento deseadas para un instante (t). Si la dinámica

inversa es modelada de manera exacta, el controlador podrá predecir el torque

adicional requerido para seguir una trayectoria durante la aceleración y/o

desaceleración. Con dicho controlador, el robot puede incrementar la velocidad en

el efector final y, por tanto, reducir el tiempo para la ejecución de una tarea.

Un segundo problema, de importancia en estudios de simulación, es el problema

de la dinámica directa, en el que dado un vector de torques aplicados en las

articulaciones, se calcula la respuesta del sistema en base del movimiento

resultante del manipulador [16].

Un actuador tiene que balancear los torques de cuatro fuentes: el torque dinámico,

derivado del movimiento; torque estático, debido a la fricción en el mecanismo, los

torques por gravedad, derivados por la acción de la gravedad sobre cada eslabón,

y fuerzas y torques externos que actúan en el efector final. Tres tipos de torques

Page 54: a mis padres - tesis.ipn.mx

dinámicos se derivan del movimiento del manipulador: inercial, centrípeto y de

Coriolis [9].

• Torque inercial que, de acuerdo a la segunda ley de Newton, es

proporcional a la aceleración de la articulación, en donde la inercia es la

tendencia de un cuerpo a mantener el estado de movimiento uniforme o

reposo en el que se encuentra.

• Torque centrípeto, se deriva de las fuerzas centrípetas que restringen a un

cuerpo a rotar respecto de un punto, se dirige hacia el centro del

movimiento uniforme circular, y es proporcional al cuadrado de la velocidad

angular de la articulación.

• Torque de Coriolis derivado de las fuerzas de vórtice generadas por la

interacción de dos eslabones rotantes, siendo estas proporcionales al

producto de las velocidades angulares de dichos eslabones, debido al

movimiento relativo entre estos.

Las leyes básicas de la dinámica del manipulador pueden obtenerse a partir de las

leyes de Newton en conjunto con conceptos como el principio del trabajo virtual de

D’Alembert, ecuaciones de Lagrange, y ecuaciones de Hamilton [15], [17]. En la

robótica, las dos formulaciones que comúnmente se tratan son: la formulación de

Newton-Euler, y la formulación de Lagrange [9].

La dinámica de un manipulador robótico se describe por medio de un conjunto de

ecuaciones diferenciales ordinarias no lineales de segundo orden, que dependen

de las propiedades cinemáticas e inerciales del robot.

Para la solución a la dinámica del manipulador habremos de basarnos en la

derivación Lagrangiana de la dinámica. Esta técnica tiene la ventaja de requerir

únicamente de las energías cinéticas y potenciales del sistema para su cálculo.

Page 55: a mis padres - tesis.ipn.mx

2.2.1 Formulación de Básica.

Si se considera un sistema de n partículas que obedecen la segunda ley de

Newton, en la que la razón de cambio en el momento de una partícula es igual a la

fuerza aplicada a esta. Siendo iF la fuerza aplicada en la i -ésima partícula, im la

masa de esta y ir su vector de posición, entonces la segunda ley de Newton se

escribe como:

nirmF iii ,...,2,1 == && . . . . . . . . . . . . (2.11)

pero, ya que el interés de este estudio no es sobre una partícula independiente,

sino sobre un conjunto de partículas que están fijas a otras y tienen grados de

libertad limitados [19]. Es entonces, necesario describir estas interconexiones

introduciendo restricciones entre las posiciones de las partículas. Cada restricción

es representada por una función jg :

nesrestricciodeno.

,...,1 0),,( 1

=

==

k

kjrrg nj Κ

..................... (2.12)

Una restricción que puede ser escrita en esta forma, como una relación algebraica

entre las posiciones de las partículas, es conocida como restricción holonómica

[19], [20].

Una restricción actúa en un sistema por la acción de una fuerza de restricción,

dicha fuerza es determinada de manera tal que la ecuación de restricción (2.12) es

siempre satisfecha. Si vemos a las restricciones como una superficie plana, las

fuerzas de restricción son siempre normales a esta superficie, y restringen la

velocidad del sistema a ser tangente a esta en todo momento [19]. Por lo que el

modelo dinámico dado por (2.11) puede ser reescrito cómo una ecuación vectorial

de la siguiente manera:

Page 56: a mis padres - tesis.ipn.mx

∑=

Γ+⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡=

k

jjj

nn r

r

Im

ImF

1

11

0

0λΜ

&&Ο

. . . . . . . . . .. . . . (2.13)

donde los vectores 1Γ ,..., nΓ son las bases para las fuerzas de restricción, los

cuales no se requiere que sean ortonormales; y jλ es el factor de escala para el

j - ésimo elemento. Para restricciones de la forma en que aparecen en la

ecuación (2.13), jΓ puede tomarse como el gradiente de jg , que es perpendicular

al nivel establecido por 0)( =rg j .

Los escalares 1λ ,..., nλ son conocidos como los multiplicadores de Lagrange, cuyos

valores dan únicamente magnitudes relativas de las fuerzas de restricción, dado

que los vectores jΓ no son necesariamente ortonormales [18], [19].

Este acercamiento para tratar con restricciones es intuitivamente sencillo, pero

complejo desde el punto de vista de cómputo, ya que es necesario mantener la

atención en el estado de todas las partículas en el sistema, aún cuando estas no

sean capaces de movimiento independiente [19].

Un acercamiento más atractivo consiste en describir el movimiento del sistema en

términos de un conjunto más pequeño de variables, que describan completamente

la configuración del sistema [20]. Para un sistema de n partículas con k

restricciones, se busca obtener un conjunto de knm −= 3 variables, nqq ,...,1 , y

funciones de igualdad nff ,...,1 , de manera que:

( )kj

rrgni

qqfr njnii

,...,10,...,

,...,1

),...,( 11

==

⇔=

=

Page 57: a mis padres - tesis.ipn.mx

Siendo las sqi ' el conjunto de coordenadas generalizadas para el sistema. En un

manipulador robótico compuesto por eslabones rígidos, estas coordenadas

generalizadas corresponden a las variables de las articulaciones, siendo:

⎩⎨⎧

= sprismática onesarticulaci para

revolución de onesarticulaci para

i

ii d

Dado que los valores de las coordenadas generalizadas son suficientes para

especificar la posición de las partículas que conforman al robot, podemos

reescribir las ecuaciones de movimiento del sistema en términos de éstas, para

componentes en coordenadas generalizadas se hace referencia a estas fuerzas

como fuerzas generalizadas [16].

2.2.2 Formulación de Lagrange.

La dinámica lagrangiana se basa en la determinación de la energía contenida en

el sistema [21], definiendo al Lagrangiano L como la diferencia entre la energía

cinética y la energía potencial, de manera tal, que las ecuaciones para un sistema

mecánico expresado en coordenadas generalizadas iq , están dadas por:

niqL

qL

dtd

iii

,...,2,1 ==∂∂

−⎟⎟⎠

⎞⎜⎜⎝

⎛∂∂ τ& ........(2.14)

donde:

L = Función Lagrangiana = energía cinética K – energía potencial P,

qi = Coordenada generalizada del brazo

τi = Fuerza o par generalizado aplicado al sistema en la articulación.

Page 58: a mis padres - tesis.ipn.mx

Por lo que es necesaria la comprensión de la matriz de transformación de

coordenadas homogéneas ii A1−

, que describe la relación espacial entre los

sistemas de coordenadas del i -ésimo elemento con el )1( −i -ésimo elemento.

Relacionando un punto fijado en el elemento i, expresado en coordenadas

homogéneas, con respecto al sistema de coordenadas i-ésimo en el sistema

de coordenadas (i-1)-ésimo [15].

Nótese que si no hay restricciones en el sistema, entonces se puede hacer a

q componente de r , resultando en 2

21

ii rmK &∑=, así la ecuación (2.14) se

reduce a la ecuación (2.11). De hecho, reordenando la ecuación (2.14), se

puede representar como:

τ+∂∂

=∂∂

qL

qL

dtd

& . . . . . . . . . . . . . . . . . .(2.15)

Que es un replanteamiento de la ley de Newton en coordenadas generalizadas

[19].

2.2.2.1 Dinámica Lagrangiana de un Manipulador de dos grados de Libertad.

Para un manipulador de dos grados de libertad, articulado en la base y el hombro,

como se muestra en la figura (2.9), la base esta fija, y como consecuencia, el

centro de masa de esta no se mueve, lo que hace que el término de velocidad

lineal en la ecuación de la energía cinética sea cero, en tanto que la energía

potencial del eslabón permanece constante.

Page 59: a mis padres - tesis.ipn.mx

Figura 2.9 Manipulador de dos grados de libertad.

Par efectos de ilustrar la derivación de las ecuaciones dinámicas de Lagrange, se

modelarán a los eslabones como elementos unifilares con concentración de masa

(m) en el extremo distal de estos. Ya que la energía cinética es independiente del

sistema de coordenadas en el cual se evalúa, el cálculo de la energía cinética,

debida a la velocidad angular, se hace en el sistema de coordenadas del eslabón,

de esta manera, el tensor de inercia no tiene que ser transformado al sistema de

coordenadas de la base.

Partiendo de la matriz 20T que corresponde a la solución a la cinemática directa de

este manipulador, se obtienen las expresiones para determinar las velocidades del

sistema, como se muestra a continuación:

⎥⎥⎥⎥

⎢⎢⎢⎢

+−−

=

10000

22122

21212121

21212121

20

SldCSCSlCSSCSCClSSCCC

T

y como 010 =V , se puede derivar fácilmente el vector de posición en la matriz

anterior para obtener

2

22

221121

221121

20 l

CSSCCSCCS

V⎥⎥⎥

⎢⎢⎢

⎡−−−

θθθθ

&&&&&

Page 60: a mis padres - tesis.ipn.mx

las velocidades angulares

⎥⎥⎥

⎢⎢⎢

⎡=

0

0

101 θω &

y

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡−+

⎥⎥⎥

⎢⎢⎢

⎡=

2

12

12

122

22

2

02

0

0

10000

00

θθθ

θθ

ω&&&

&&

SC

CSSC

se calcula ahora la energía cinética para cada eslabón mediante:

021 2

11 == θ&mK

ya que el eje de rotación pasa a través del centro de masa, entonces

22

21

22

21

22

21

222

02

022

022

02

22

022

21

21 θθθθθωωωω &&&&& +=++==∴+= CSmVmK T

como el eje de rotación pasa a través del centro de masa (siendo la velocidad

angular expresada en el sistema de coordenadas de la articulación), la inercia no

tiene contribución en la energía cinética de sistema (cuando este no es el caso, el

segundo término existe y es de la forma ⎥⎦⎤

⎢⎣⎡+ TJ 0

220

2

21 ωω

).

( ) ( )[ ][ ] [ ]

22

22

21

22

22

22

22

22

21

22

21

22

21

22

21

22

21

22

22

22

2221121

2221121

222

02

022

0

θθ

θθ

θθθθθ

lCl

CSSSClCCCSl

CSSCCSCCSlVVV T

+=

++++=

+−+−−== &&&&&

entonces:

( )22

21

22

2222 2

1 θθ && += ClmK

y las energías potenciales para cada eslabón están dadas como:

( )22122

111

SllgmPglmP

+==

Page 61: a mis padres - tesis.ipn.mx

por lo que el Lagrangiano del manipulador es:

( ) ( )

( ) ( )22121122

21

22

222

2121

210 SllgmglmClm

PPKKL

+−−++=

+−+=

θθ &&

de donde se obtienen los siguientes componentes correspondientes a la

formulación dinámica de Lagrange.

( )2122122

222

1

1

122

222

21

22

222

11

2

0

21

θθθθ

θ

θθθθ

&&&&&

&&&&

SCClmLdtd

L

ClmClmL

−=⎟⎟⎠

⎞⎜⎜⎝

⎛∂∂

=∂∂

=⎟⎠⎞

⎜⎝⎛

∂∂

=∂∂

y

2222

2

2222

122222

2222

122

222

22

1222

22

222

22

2121

θθ

θ

θθθ

θθθθ

&&&

&

&

&&&&

lmLdtd

CglmCSlm

SglmClmL

lmlmL

=⎟⎟⎠

⎞⎜⎜⎝

⎛∂∂

−−=

⎥⎦⎤

⎢⎣⎡ −

∂∂

=∂∂

=⎟⎠⎞

⎜⎝⎛

∂∂

=∂∂

lo que determina las ecuaciones de los torques a partir de la formulación de

Lagrange, como:

21222221

22

222

111 2 θθθ

θθτ &&&& SClmClmLL

dtd

−=∂∂

−⎟⎟⎠

⎞⎜⎜⎝

⎛∂∂

=

2222

1222222

222

222 CglmCSlmlmLL

dtd

++=∂∂

−⎟⎟⎠

⎞⎜⎜⎝

⎛∂∂

= θθθθ

τ &&&

que son las ecuaciones diferenciales que gobiernan el movimiento del

manipulador, expresando lo anterior en notación matricial:

⎥⎦

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡−⎥

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

22221

22222

21

22

222

2

1222

222

1 00

20

100

ClmSC

lmCS

lmC

lm θθθθθ

ττ &&&

&&&&

Page 62: a mis padres - tesis.ipn.mx

que de forma general puede escribirse como [15], [17]:

( ) ( ) ( )θθθθθθθτ &&&&& ,, NCM ++= . . ...... . . . .. . ............. (2.16)

2.3 Control de Manipuladores Robóticos.

El primer paso cuando se diseña un sistema de control es el determinar la función

de transferencia, o modelo de la planta del proceso que se trata de controlar. Un

modelo estático de la planta describe la salida como función de la entrada,

excluyendo los efectos dinámicos. En un sistema lineal, un modelo estático es la

relación de la salida con respecto de la entrada. Por ejemplo, la relación de

revoluciones a la salida de una caja de engranes que es constante. La mayoría de

los sistemas físicos son lineales únicamente dentro de un rango de las variables

[31], razón por la cual se diseñan los sistemas para que trabajen en el rango lineal.

Cuando lo anterior no puede ser establecido, se trata de controlar un sistema no

lineal, en el que el modelo estático es una función no lineal para una o más

variables [32].

Por otra parte, las funciones de transferencia son modelos de planta que incluyen

tanto los efectos dinámicos del sistema, como la relación estática entre la entrada

y la salida. Dichos efectos hacen que la relación entre la entrada y la salida varíen

durante la transición de un estado a otro. El principal efecto dinámico, en lo que

corresponde al control, es el retraso en el tiempo desde que se varia la entrada

hasta que la salida responde [9].

Figura 2.10 Cambios en la entrada de un sistema de control

Page 63: a mis padres - tesis.ipn.mx

La entrada de un sistema puede ser manipulada de varias maneras (Figura 2.10).

Una entrada del tipo impulso, representa de manera general una perturbación no

deseada. Una entrada que varia de manera continua, como la senoidal, es usada

para medir la función de transferencia. La mayoría de las entradas a un sistema

son del tipo rampa, las cuales varían en un rango fijo [33].

Los efectos dinámicos dependen de la frecuencia y no solo retrazan el cambio en

la salida en respuesta de la excitación presente en la entrada, sino también,

limitan el rango en el cual la salida puede responder. Este límite es conocido como

relación de desviación (figura 2.11) del sistema. Si la rampa es más rápida que la

relación de desviación, la salida no puede igualar a la entrada, y un error de

seguimiento es generado. Este último es la diferencia entre la entrada y la salida

en cualquier instante en el tiempo. Uno de los usos del control predictivo es el

anticipar la respuesta del sistema de manera tal que el error de seguimiento sea

mínimo.

Figura 2.11 Error de seguimiento debido al efecto dinámico

Las funciones de transferencia para un sistema lineal son expresadas en el

dominio del tiempo como ecuaciones diferenciales, y en el dominio de Laplace

como transformadas de Laplace. Al considerar un bloque de masa (m) que es

jalado a lo largo de una superficie con fricción (f) por un cable de constante

elástica (k) (Figura 2.12), el modelo dinámico para este sistema puede derivarse

de la segunda ley de Newton. Cuando un vector F(t) es aplicado, una fuerza de

reacción, compuesta por una fuerza inercial proporcional a la aceleración de la

Page 64: a mis padres - tesis.ipn.mx

masa, una fuerza de fricción proporcional a la velocidad de la masa y una fuerza

elástica proporcional a la tensión del cable, deben ser consideradas.

Figura 2.12 Sistema masa-resorte-amortiguador.

)(tFxkxfxm =++ &&&& . . . . . . . . . . . . . . . . . . . . (2.17)

La función de transferencia es la relación entre la transformada de Laplace de la

salida y la transformada de Laplace de la entrada.

))((11)( 2 bSaSkfSmS

sGentradasalida

++=

++==

. . . . . . . . . . (2.18)

El polinomio en el denominador, cuando este se iguala a cero, se conoce como

ecuación característica, dado que las raíces de esta ecuación caracterizan el

tiempo de respuesta del sistema. Las raices de esta ecuación son llamadas polos

o singularidades del sistema son llamadas ceros del sistema. Estos son dibujados

en un diagrama de polos y ceros (figura 2.13).

Page 65: a mis padres - tesis.ipn.mx

Figura 2.13 Diagrama polos-ceros a)polos simples; b) polos complejos

En robótica, funciones de transferencia son requeridas para los eslabones y los

actuadores. Por ejemplo, un eslabón puede ser modelado como un péndulo con la

masa concentrada en el extremo distal de este. El torque aplicado a la flecha de la

articulación es entonces, función de la inercia, la fricción en la articulación y la

gravedad.

θθθτ mglfm ++= &&& . . . . . . . . . . . . . . . . . . . . (2.19)

2.3.1 Control de la velocidad de motores de C.D.

Debido a que las variables a controlar ( θθθ &&&,, ) dependen directamente del

desplazamiento, velocidad y aceleración del actuador, que en este caso es un

motor de c.d., se presentan las técnicas y consideraciones para su control.

La velocidad de salida de un motor de corriente directa, puede ser controlada ya

sea, variando el voltaje en la armadura, o variando la corriente en el campo. Para

un motor controlado por el voltaje en la armadura, el aspecto dinámico tiene que

considerar el efecto de la inductancia en la armadura y la carga por inercia

(incluyendo la inercia de la armadura, y la fricción). Como la corriente en la

armadura es constante, no existe efecto dinámico en el campo. La corriente en la

armadura )(I es función del voltaje aplicado )(V , la resistencia de la armadura

)( aR , la inductancia de la armadura )(L y la fuerza electromotriz en retorno )(E .

( ) )()()( sEsILSRsV a ++= . . . . . . . . . . . . . . . . . . . . (2.20)

El torque ( )aτ , producido por el motor, es función de la fuerza del campo ( )φ y de

la corriente de la armadura.

Page 66: a mis padres - tesis.ipn.mx

)()()( sIKsIKs maa == φτ . . . . . . . . . . . . . . . . . . . . (2.21)

Este torque hace que el motor gire la carga con una velocidad angular ω . El

torque del actuador es contrarrestado por el torque debido a la inercia y la fricción.

)()( sfsJSL ϖωτ += . . . . . . . . . . . . . . . . . . . . (2.22)

La rotación de la armadura produce una fuerza electromotriz de retorno que es

proporcional a la velocidad de esta )(ω .

)()()( sKsKsE ma ϖφϖ == . . . . . . . . . . . . . . . . . . . . (2.23)

Entre más grande sea la carga, más lento rotará la armadura, reduciendo con esto

la fem de retorno e incrementando la corriente en la armadura para mover la

carga.

Al combinar estas expresiones para formar el diagrama a bloques de la figura 11.9

y obtener la función de transferencia del motor, se obtiene:

( )( ) ( )[ ]21

ma

m

KFJSLSRSK

V +++=

θ

. . . . . . . . . . . . . . . . (2.24)

Si el eje del motor se une a una caja de engranajes, la velocidad de salida de la

esta ( )2ϖ es el producto de la velocidad del motor. Finalmente, si se quiere

controlar el torque aplicado por el eje del motor, en lugar de la velocidad o posición

de este, se utiliza una función de transferencia de corriente a torque.

))(())((

2 FJSLSRKFJSLSRK

I am

am

+++++

. . . . . . . . . . . . . (2.25)

Page 67: a mis padres - tesis.ipn.mx

La técnica que se emplea para variar la velocidad de un motor de c.d. consiste en

hacer uso de un amplificador, este controla el voltaje aplicado en las terminales del

motor, y por tanto, la velocidad de este.

Hoy en día, dos tipos de amplificadores son utilizados, el amplificador de potencia

de c.d. y amplificadores con modulación por ancho de pulso (PWM por sus siglas

en inglés).

El amplificador de potencia de c.d. magnifica un pequeño voltaje a la entrada de

este, a un voltaje capaz de mover un motor. Tanto el valor de entrada, como el de

salida del amplificador son analógicos. La ganancia en voltaje es normalmente

pequeña, pero la ganancia en potencia puede ser muy grande. De esta forma, la

corriente de salida es función de la resistencia de la carga. Estos amplificadores

usualmente incluyen una retroalimentación interna, de manera tal que poseen una

función de transferencia lineal en voltaje, así que estos pueden ser modelados

como una ganancia constante.

0 == ai

KVV

ganancia del amplificador

El segundo tipo de amplificador es el que utiliza la modulación por ancho de pulso.

Este elemento proporciona un tren de pulsos al motor. El voltaje aplicado al motor

es un valor promedio de c.d.

⎟⎟⎠

⎞⎜⎜⎝

⎛+

=21

11 tt

tVVpromedio

. . . . . . . . . . . . . . . . . . . . (2.26)

Este tipo de amplificadores presentan dos ventajas: control electrónico sencillo y

buen desempeño en operación a bajo voltaje. El control electrónico puede ser

simplificado mediante interruptores de energía (transistores) con la temporización

Page 68: a mis padres - tesis.ipn.mx

hecha por programación. A bajas velocidades, el voltaje aplicado por un

amplificador de c.d. puede que no sea suficiente para romper la resistencia de

contacto entre las escobillas y el conmutador del motor, o para vencer la fricción

estática. Como la modulación por ancho de pulso siempre aplica el mismo voltaje,

este problema no se presenta, pero si la frecuencia de los pulsos es muy baja, la

respuesta del motor puede ser muy burda, para minimizar este efecto, la

frecuencia de modulación suele ser muy alta, de esta manera, la armadura se

comporta como un filtro R-L, y promedia los pulsos de entrada.

Como las ganancias de voltaje y corriente son similares a aquellas del amplificador

de c.d., este amplificador también se modela como uno con ganancia constante.

No obstante, si un control electrónico simple es usado, una retroalimentación de

voltaje puede ser requerida para hacer lineal el control en voltaje.

El objetivo del control de un manipulador basado en computadora es el mantener

la respuesta dinámica del sistema de acuerdo con objetivos deseados. Por lo que,

para controlar el movimiento de una serie de eslabones, de manera tal que el

efector final trace una trayectoria deseada, el sistema de control tiene que proveer

los torques en las articulaciones para balancear las fuerzas en los eslabones.

Cuando un eslabón es acelerado, el actuador habrá de proveer el torque

necesario para contrarrestar la inercia. Si el robot utiliza únicamente control de

retroalimentación de posición o velocidad, la dinámica del sistema provocará que

el efector final se atrase con relación a la trayectoria deseada durante la

aceleración y posiblemente pierda el punto final de la trayectoria.

De manera general, son tres los tipos de respuestas que se pueden observar en

un sistema bajo control, estas son: sub-amortiguado, respuesta que se obtiene

cuando el valor del amortiguamiento es <1; críticamente amortiguado, cuando el

valor del amortiguamiento es =1; y sobre-amortiguado, cuando el valor del

amortiguamiento es >1.

Page 69: a mis padres - tesis.ipn.mx

En el espacio cartesiano se hace uso de la solución a la cinemática inversa para

calcular los ángulos que habrán de posicionar al efector final en la posición y

orientación deseada en el espacio. Las articulaciones se desplazan a esas

posiciones angulares y se asume que el manipulador se encuentra en la posición

cartesiana correcta, si no existe algún elemento que permita cuantificar el

desplazamiento en las articulaciones, no habrá certeza de si el manipulador se

encuentra en la posición correcta. Lo anterior es conocido como control de lazo

abierto. Este modelo de control es tan exacto como lo sea el modelo de la planta,

asegurando que no hay perturbaciones que causen error, ya que las variaciones

mecánicas y/o del entorno, pueden causar errores en la posición del efector final,

pues el modelo de control no es capaz de detectar ni corregir dicho error.

Cuando el resultado de una acción previa es usado para corregir el error en la

planta, recibe el nombre de control adaptivo. Este tipo de control corrige errores en

la planta debidos a variaciones a largo plazo, pero no corrige errores en la

dinámica del sistema. Por ejemplo, cuando un lanzador suelta la pelota, este ya no

tiene más control sobre ésta, si el resultado no es el deseado, es decir si falla el

lanzamiento, el lanzador corregirá o “adaptará“, en otro lanzamiento, la fuerza

aplicada en el lanzamiento para conseguir que la pelota sigua la trayectoria

deseada.

El uso de un modelo para predecir que acción tomar sobre la cantidad de energía

en uso, se conoce como control prealimentado o control predictivo. Este tipo de

control se utiliza para realizar ajustes en el sistema si la señal de retroalimentación

esta retrasada y es necesario tomar una acción para mantener la respuesta del

sistema dentro de los límites deseados.

Page 70: a mis padres - tesis.ipn.mx

Figura 2.14 Estructura básica de control de posición

Para obtener un modelo de control preciso de la planta durante la ejecución de

una acción, se utiliza el control con retroalimentación. Bajo este modelo de control,

el parámetro a ser controlado es continuamente medido (retroalimentación), y

comparado con una referencia (cálculo del error).

Cuando se controla un manipulador robótico, el control predictivo se usa para

calcular las referencias de las articulaciones a partir del espacio cartesiano,

utilizando la solución a la cinemática inversa. Por otra parte, para controlar una

articulación individual (Fig. 2.14), el control de retroalimentación es utilizado para

comparar el ángulo medido con el ángulo de referencia. Cualquier error entre la

señal de retroalimentación y la de referencia es amplificado para proveer la

energía necesaria al actuador.

2.3.2 Ley de control en lazo abierto de manipuladores robóticos.

Como se acordó anteriormente, la dinámica de un manipulador está descrita por la

ecuación (2.16), en donde [θ ] es el conjunto de variables que definen la

configuración del manipulador y τ representa el torque aplicado en las

articulaciones. Se denota aquí, por medio de dθ , la trayectoria o posición deseada

Page 71: a mis padres - tesis.ipn.mx

de la articulación, la cual se asume que está definida para cualquier instante en el

tiempo y que es al menos diferenciable en dos ocasiones [19].

Si se tiene un modelo perfecto del robot y ( ) ( ) ( ) ( )00 ,00 dd θθθθ && == , entonces,

podemos modelar al torque necesario como:

( ) ( ) ( )ddddddd NCM θθθθθθθτ &&&&& ,, ++= . . . . . . . . . . . . . . (2.27)

Dado que tanto θ como dθ satisfacen la misma ecuación diferencial y tienen las

mismas condiciones iniciales, se puede tomar que ( ) ( )tt dθθ = para toda 0≥t .

Esta estrategia de control no es muy robusta, ya que si ( ) ( )00 dθθ ≠ , entonces la

ley de control en lazo abierto nunca habrá de corregir el error. Esto claramente no

es deseable, pues nunca se sabría con certeza la posición real del robot. Por esta

razón, se introduce la retroalimentación en la ley de control. Esta retro

alimentación debe establecerse de manera tal que la trayectoria real del robot

converja en la trayectoria deseada.

2.3.3 Ley de control del Torque Calculado.

La ley de control de lazo abierto puede refinarse dando la posición y velocidad real

del manipulador, cancelando todas las no linealidades y aplicando exactamente el

torque necesario para contrarrestar la inercia del actuador. La ley de control puede

expresarse como:

( ) ( ) ( )θθθθθθθτ &&&&& ,, NCM d ++= . . . . . . . . . . . . . . . . (2.28)

Al sustituir esta ley de control en la ecuación dinámica del manipulador, se

observa que:

Page 72: a mis padres - tesis.ipn.mx

( ) ( ) dMM θθθθ &&&&= . . . . . . . . . . . . . . . . . . . . (2.29)

y dado que ( )θM está completamente definida en ( )θ , tenemos:

dθθ &&&&= . . . . . . . . . . . . . . . . . . . . (2.30)

De aquí, que si la posición y velocidad iniciales del manipulador coinciden con

aquellas deseadas, el manipulador habrá de seguir la trayectoria deseada. Pero

también, esta ley de control no corrige ninguna condición de error que se

encuentre presente, pues aún es una ley de control en lazo abierto.

Las propiedades de esta ley de control pueden mejorarse al incluir un término de

realimentación en ésta, la condición de linealidad (2.30) sugiere la siguiente ley de

control:

( )( ) ( ) ( )θθθθθθθτ &&&&&& ,, NCeKeKM pvd ++−−= . . . . . . . . . (2.31)

donde de θθ −= , y vK y pK son las constantes de ganancia. Al sustituir en la

ecuación (2.28), el error dinámico puede ser escrito como:

( )( ) 0=++ eKeKeM pv &&&θ . . . . . . . . . . . . . . . . . . . . (2.32)

como ( )θM es siempre positivo y definido, se tiene:

0=++ eKeKe pv &&& . . .. . . . . . . . (2.33)

Esta es la ecuación diferencial lineal que gobierna el error entre las trayectorias

real y deseada. La ecuación (2.31) es conocida como la ley de control del torque

calculado [19], que puede ser reescrita como:

Page 73: a mis padres - tesis.ipn.mx

( ) ( )( )444 3444 21 &444 3444 21

&&&

fbff

eKeKMNCM pvd

ττ

θθθθτ −−+++=

. . . . . . . . . (2.34)

El término ffτ es el componente de prealimentación o predictivo, el cual provee la

cantidad de torque necesario para conducir al sistema a lo largo de su trayectoria

deseada. En tanto que el término fbτ es el parámetro de retroalimentación, que

provee el torque de corrección para reducir los errores en la trayectoria del

manipulador.

De manera general, en éste capítulo se han presentado los fundamentos básicos

para el modelado matemático de manipuladores robóticos, en lo que corresponde

a la cinemática, dinámica y control de estos. En el siguiente capítulo, se obtiene el

modelo matemático que gobierna el movimiento del manipulador de análisis.

Page 74: a mis padres - tesis.ipn.mx

El Manipulador Robótico de 5

Grados de Libertad “Mitsubishi

Movemaster RV-M1” como Caso

de Estudio

E

n

e

s

t

e

c

a

Page 75: a mis padres - tesis.ipn.mx

3. El robot de 5 Grados de Libertad Mitsubishi

Movemaster como Caso de Estudio.

3.1 Descripción del Manipulador Robótico Mitsubishi.

El Mitsubishi Movemaster EX es un robot articulado con cinco grados de libertad,

figura 3.1, con una capacidad de carga máxima de 1.5 Kg. Para que el robot

Mitsubishi realice la secuencia de movimientos es indispensable que estén activos

en la memoria, tanto el archivo de puntos, como el programa, el cual describirá la

secuencia de puntos y la interacción con otros elementos.

Figura 3.1 Robot Mitsubishi Movemaster

Las dimensiones físicas del manipulador se muestran en la figura 3.2

Figura 3.2 Dimensiones (en mm.) del Robot Movemaster

Page 76: a mis padres - tesis.ipn.mx

Los elementos que constituyen al sistema del robot Mitsubishi son: el brazo de

robot, el controlador principal y el control manual; los cuales se presentan a

continuación en la figura 3.3.

Figura 3.3 Sistema Movemaster

La capacidad de movimiento de este manipulador de 5 grados de libertad se

ilustra en la figura 3.4

Figura 3.4 Grados de Libertad del Movemaster.

Page 77: a mis padres - tesis.ipn.mx

3.1.1 Sistemas de Coordenadas sobre los que se desplaza el robot Mitsubishi Movemaster

A continuación se describen los diversos modos en los que se pueden realizar los

movimientos del robot MITSUBISHI, para facilitar la localización de un punto en

especial.

Modo PTP: este modo permite mover, articulación por articulación,

los elementos del robot para modificar su configuración en el

espacio.

Modo XYZ: en este modo, el brazo realiza movimientos en los planos

X, Y y Z, tomando como base el sistema cartesiano del robot,

localizado en la base de este.

Modo Herramental: en este modo, el robot se mueve en base al

sistema de coordenadas que se localiza en el plato de herramientas,

que por la configuración del brazo, el eje Z, corresponde a un

acercamiento o distanciamiento del objetivo.

3.2 Planteamiento del problema cinemático.

El problema cinemático consiste en obtener las ecuaciones que describen el

movimiento del robot, sin tomar en cuenta las fuerzas que lo producen, estas

ecuaciones se conocen como ecuaciones de diseño del manipulador.

3.2.1. Obtención de las ecuaciones de diseño del Manipulador.

Para poder dar solución tanto a la cinemática directa como a la inversa, es

necesario establecer un conjunto de ecuaciones que describan el movimiento del

efector final en el espacio cartesiano, en función de los desplazamientos angulares

o lineales de los eslabones que lo componen. Estas ecuaciones se obtienen de la

Page 78: a mis padres - tesis.ipn.mx

convención establecida por Denavit y Hartenberg, de manera tal que, para un

manipulador de n grados de libertad, se obtendrá un sistema de 12 ecuaciones

con n incógnitas, en donde por lo general, n<12. Estas ecuaciones representan la

posición y orientación del efector final en coordenadas cartesianas, en función de

los desplazamientos de las articulaciones.

Para el manipulador de 5 grados de libertad, siguiendo la metodología descrita en

el capítulo 2, se tiene:

a) a) El manipulador en una posición inicial conveniente para asignar los

sistemas de coordenadas (Figura 3.5).

Figura 3.5 Posición inicial para la asignación de sistemas de coordenadas

b) b) Asignación de los sistemas de coordenadas (Figura 3.6), de donde se

deriva la matriz de parámetros de Denavit-Hartenberg (Tabla 3.1):

Figura 3.6 Sistemas de coordenadas para el robot

Page 79: a mis padres - tesis.ipn.mx

Tabla 3.1 Parámetros de D-H

Arti culación θ i α i ai di

1 θ 1 90 0 3002 θ 2 0 250 03 θ 3 0 160 04 θ 4 -90 0 05 θ 5 0 0 72

De la cual se obtienen las matrices de transformación homogénea ii A1−

:

0A1=⎥⎥⎥⎥

⎢⎢⎢⎢

1000300010

0000

11

11

θθθθ

CSSC

1A2=⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ −

10000100

25002500

222

222

θθθθθθ

SCSCSC

2A3=⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ −

10000100

16001600

333

333

θθθθθθ

SCSCSC

3A4=⎥⎥⎥⎥

⎢⎢⎢⎢

100000100000

44

44

θθθθ

CSSC

4A5=⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ −

1000721000000

55

55

θθθθ

CSSC

y la matriz de transformación correspondiente al efector final con relación a la base

50T .

0T5=⎥⎥⎥⎥

⎢⎢⎢⎢

+++++−−+−+++−−−−−

100030025016072

2501607225016072

22323423452345234

2123412341234151523415152341

2123412341234151523415152341

SSCCSSCSCSCSSSSSCCSCSSCCCSCCCCSCSCCSSCCSSCCC

donde )cos( 432234 θθθ ++=C y )( 432234 θθθ ++= senS

Page 80: a mis padres - tesis.ipn.mx

igualando miembro a miembro con la ecuación (2.10), se tiene:

)1.3...(....................

300250160cos72

cos250cos16072coscos250coscos160cos72

cos

cos

coscoscoscoscos

cos

coscoscoscoscoscos

223234

2123412341

2123412341

234

2341

2341

5234

5152341

5152341

5234

5152341

5152341

⎪⎪⎪⎪⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪⎪⎪⎪⎪

+++=

++−=++−=

=

−=−=

=

+−=−−=

=

+=−=

θθθ

θθθθθθθθθθθθ

θ

θθθθθθ

θθθθθθθθθ

θθ

θθθθθθθθθθ

sensenp

sensensensenpsenp

a

sensenasenasensens

senCsenssensens

senn

sensennsensenn

z

y

x

z

y

x

z

y

x

z

y

x

Al conjunto de ecuaciones conformado por (3.1) se le conoce como “las

ecuaciones de diseño del manipulador” [18]. En general, se trata de un conjunto

de ecuaciones no lineales sobredeterminado, de 12 ecuaciones con n incógnitas,

que describen el movimiento del efector final en el espacio cartesiano, en función

de la posición angular, o desplazamiento angular de las articulaciones. Para este

caso se trata de un sistema de 12 ecuaciones con 5 incógnitas, ya que es un

sistema de 5 grados de libertad.

Como la cinemática no solo es el estudio de la posición, sino también de la

velocidad y aceleración, las expresiones que definen dichas relaciones de cambio

se obtienen fácilmente al derivar las ecuaciones de diseño con respecto al tiempo,

asumiendo que θ es función de t y que esta puede derivarse.

Page 81: a mis padres - tesis.ipn.mx

3.2.2. Planteamiento de la Solución a la Cinemática Directa e Inversa del Manipulador.

3.2.2.1 Cinemática Directa.

La solución a la cinemática directa a partir de las ecuaciones de diseño del

manipulador es relativamente sencilla, ya que estas expresan la relación espacial

entre los elementos en función de los valores de entrada en las articulaciones del

manipulador. Para conocer la posición y orientación del efector final del

manipulador para un vector de posiciones dado para las articulaciones, solo basta

sustituir los valores para las s'θ en las ecuaciones de diseño, en la matriz del

robot, obteniendo como resultado el vector de posición de la base al efector final y

la matriz de orientación [n, s, a] de este con respecto al sistema de coordenadas

de la base. Y para conocer la velocidad y aceleración lineal del efector final como

resultado de velocidades y aceleraciones angulares en las articulaciones, se

sustituyen estos últimos en las expresiones correspondientes para velocidades y

aceleraciones de las ecuaciones de diseño. Resolviendo con esto, de manera

completa, lo referente a cinemática directa.

Para la solución numérica a la Cinemática Directa se desarrolló la función

Cdmover (Anexo1) bajo el programa Matlab®, los elementos de la matriz de

transformación homogénea para el robot Movemaster que se utilizan en esta

función para determinar la posición y orientación del efector final son los que se

obtuvieron en (3.1).

La función Cdmover resuelve la cinemática directa a partir de dos vectores de

entrada, el vector constante [VC], que contiene las longitudes de los eslabones del

manipulador, y el vector variable [VV], que contiene los valores de los ángulos de

las articulaciones, obteniendo la matriz correspondiente para la posición y

orientación del efector final especificada por los ángulos de entrada. En la figura

3.7 se muestra el diagrama de flujo de la función.

Page 82: a mis padres - tesis.ipn.mx

Figura 3.7 Diagrama de Flujo de la Función Cdmover.

Como ejemplo, la matriz [M] que se obtiene para ángulos de entrada θ1... θ5 = [π /2

0 0 π /2 0], que corresponden a la posición de origen seleccionada y con

longitudes de los eslabones L1...L4 = [300 250 160 72] es:

» cdmover(vv,vc) ans = 0.0000 -1.0000 0.0000 0.0000 0.0000 0.0000 1.0000 482.00 -1.0000 0 0.0000 300.00 0 0 0 1.0000

Page 83: a mis padres - tesis.ipn.mx

Como podemos observar, la posición y orientación del efector final obtenidas

corresponden a aquellas que coinciden con la posición inicial considerada para

establecer los sistemas de coordenadas del manipulador.

3.2.2.2 Cinemática Inversa.

Como se explicó anteriormente, existen diversos métodos para la solución a la

cinemática inversa. El que aquí se plantea se basa en la comprensión de que hoy

en día las herramientas de computo con las que se cuenta, poseen una velocidad

de procesamiento que permite realizar el cálculo de la solución al problema

planteado en poco tiempo, permitiendo así su implementación.

La cinemática inversa consiste en determinar los valores de las articulaciones que

satisfagan condiciones deseadas de posición, velocidad o aceleración en el

espacio cartesiano. De lo anterior, podemos identificar tres problemas a resolver,

cinemática inversa para posiciones, cinemática inversa para velocidades y

cinemática inversa para aceleraciones.

Para el primer problema, se parte de las ecuaciones de diseño, las cuales

representan un sistema de ecuaciones no lineales sobredeterminado, de 12

ecuaciones por n incógnitas. Aquí, se especifican los valores deseados para

[ ]pasn ,,, para los que se resolverán los valores de s'θ .

Como el sistema de ecuaciones es no lineal, el primer paso es linealizar el sistema

aplicando algún método iterativo como es el método de Newton, que hace uso de

la expansión de Taylor[34]. El modelo matemático del método de Newton es el

siguiente:

nixnxxfi ,...,2,1,0),...,2,1( == ....................(3.2)

Page 84: a mis padres - tesis.ipn.mx

donde fi es una función no lineal de las xj. Si tenemos una estimación inicial de la

solución, esta puede escribirse como sigue:

ˆ xjjxxj ∆+= ..............................................(3.3)

donde xj es la estimación inicial y xj∆ es una corrección desconocida. Si

expandimos la ecuación 3.2 para obtener un polinomio de Taylor truncado de

primer orden alrededor de jx obtenemos:

∑ −=∆∂∂

jnxxxfixj

xjfi )ˆ,...,2ˆ,1ˆ(

.........................(3.4)

donde las derivadas parciales se evalúan con las condiciones iniciales. La

ecuación 3.4 puede escribirse en forma de matriz como:

J =∆x -f .....................................................(3.5)

Donde J es la matriz Jacobiana dada por

J⎥⎦

⎤⎢⎣

⎡∂∂

=xjfi

.....................................................(3.6)

y,

⎥⎥⎥⎥

⎢⎢⎢⎢

∆∆

=∆

xn

xx

21

....................................................(3.7)

Page 85: a mis padres - tesis.ipn.mx

f⎥⎥⎥⎥

⎢⎢⎢⎢

=

)ˆ,,2ˆ,1ˆ(

)ˆ,,2ˆ,1ˆ(2)ˆ,,2ˆ,1ˆ(

nxxxfn

nxxxfnxxxfi

ΚΜ

ΚΚ

..........................................(3.8)

Las derivadas parciales pueden evaluarse con una aproximación de diferencia, de

la forma siguiente:

xjnxjxxfinxxjjxxfi

xjfi

σσ )ˆ,ˆ,,1()ˆ,,ˆ,,1( ΚΚΚΚ −+

≈∂∂

................................(3.9)

donde xjσ es un valor pequeño elegido arbitrariamente.

Una vez linealizado el sistema de ecuaciones, queda por resolver el sistema de

ecuaciones sobredeterminado, para esto se utiliza algún método iterativo como es

el método de Gauss, de Jacobi o de Moore-Penrose. Este último, hace uso de la

matriz inversa generalizada, algunas veces llamada matriz pseudoinversa.

La ventaja de utilizar el método de Moore-Penrose sobre otros, es que este

derivará en la solución que signifique la menor de la norma de las posibles

soluciones [37], [40].

La solución que se obtiene depende de la correcta implementación de ambos

métodos y de la aproximación inicial que se determine para su solución, esto para

la cinemática inversa de posición.

Para el caso del manipulador robótico Movemaster, las ecuaciones de diseño a

linealizar se plantean de la siguiente manera:

Page 86: a mis padres - tesis.ipn.mx

⎪⎪⎪⎪⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪⎪⎪⎪⎪

−+++=

−++−=−++−=

−=

−−=−−=

−=

−+−=−−−=

−=

−+=−−=

z

y

x

z

y

x

z

y

x

z

y

x

psensenF

psensensensenFpsenF

aF

asensenFasenF

ssensenFssenCsenF

ssensenFnsenF

nsensenFnsensenF

300250160cos72

cos250cos16072coscos250coscos160cos72

cos

cos

coscoscoscoscos

cos

coscoscoscoscoscos

22323412

212341234111

212341234110

2349

23418

23417

52346

51523415

51523414

52343

51523412

51523411

θθθ

θθθθθθθθθθθθ

θ

θθθθθθ

θθθθθθθθθ

θθ

θθθθθθθθθθ

...... (3.10)

Para las derivadas parciales que se indican en la ecuación 3.9, el valor de xjσ es

un pequeño incremento elegido arbitrariamente, que en la función Newton (Anexo

1) es llamada damp.

Una vez linealizado el sistema de ecuaciones, se resuelve el sistema de

ecuaciones sobredeterminado utilizando el comando pinv, que soluciona el

problema sobredeterminado utilizando el método de Moore-Penrose .

Considerando lo anterior, el listado del programa para resolver el problema

cinemático inverso, haciendo uso del método de Newton, queda como se muestra

en la función Newton en el Anexo 1, dicha función resuelve la cinemática inversa

a partir de una matriz de entrada [M], que contiene la posición y orientación

deseados del efector final y de valores iniciales para las incógnitas θ1...θ5, de

donde comenzará la función en el método iterativo de Newton a linealizar el

sistema de ecuaciones no lineales (3.10), en el cual habrá convergencia cuando

las funciones F1 a F12 lleguen a un valor que pueda considerarse como cero. Una

vez linealizado el sistema de ecuaciones, numéricamente resolvemos el sistema

Page 87: a mis padres - tesis.ipn.mx

sobredeterminado obteniendo los valores de los ángulos de las articulaciones para

la posición deseada en el vector de salida [t]. El diagrama de flujo de la función

Newton se muestra en la Figura 3.8.

Figura 3.8 Diagrama de Flujo de la Función Newton.

3.3 Planteamiento del Problema Dinámico.

La obtención del modelo dinámico de un manipulador robótico proveerá de las

expresiones suficientes para establecer las leyes de control del sistema, así como

para el cálculo del torque requerido para que el manipulador cumpla con las

condiciones de movimiento deseadas. A partir de la solución a la cinemática

inversa para posiciones, velocidades y aceleraciones, se obtienen los parámetros

necesarios para evaluar el comportamiento dinámico de este.

Page 88: a mis padres - tesis.ipn.mx

3.3.1 Obtención del Modelo Dinámico del Manipulador.

Para la obtención del modelo dinámico del manipulador se utiliza la formulación de

Lagrange. La aplicación de esta, en conjunto con la representación de

coordenadas de elementos de Denavit y Hartenberg, resulta en una descripción

algorítmica conveniente y compacta de las ecuaciones de movimiento del

manipulador [15].

Como se estableció previamente, la formulación de Lagrange requiere del

conocimiento de la energía cinética del sistema físico, lo que a su vez requiere del

conocimiento de la velocidad de cada articulación con respecto a la base del

manipulador.

Para manipuladores de más de dos grados de libertad, resulta un tanto difícil

establecer el modelo dinámico como se planteó en el capítulo anterior. Se

recomienda aquí el utilizar la derivación de la formulación de Lagrange como lo

sugieren (Fu et al.) en [15], que se presenta a continuación. Ya que la

implementación de esta en Matlab® resulta de manera natural.

Figura 3.9 Punto ii r en el sistema de coordenadas de la articulación.

Page 89: a mis padres - tesis.ipn.mx

Si establecemos un punto cuyo vector de posición, expresado en el sistema de

coordenadas de la articulación ii r (como se muestra en la figura 3.9) y como el

interés se concentra en el sistema de coordenadas de la base, se establece que:

( ) ( ) ===≡ ii

iio

ii rAdtdr

dtdvv 00

ii

ii

ii

ii

ii

ii

ii

ii rAArAArAAArAAA &&&& 1

101

101

21

101

21

10 ............... −−−− ++++=

0 que ya 1

0

=⎟⎟⎠

⎞⎜⎜⎝

∂∂

= ∑=

ii

ii

j

i

j j

i rrqqA

&& ................................................(3.11)

La derivada parcial de iA0 con respecto a jq se calcula fácilmente con la ayuda de

la matriz iQ , que para una articulación de revolución se define como:

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ −

=

0000000000010010

iQ

..................................................(3.12)

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

⎥⎥⎥⎥

⎢⎢⎢⎢

=

0000100000000000

iQ

..................................................(3.13)

de manera que:

ii

ii

ii

AQqA 1

1−

=∂∂

..................................................(3.14)

Page 90: a mis padres - tesis.ipn.mx

de aquí que, para ni ..., ,2 ,1= .

⎩⎨⎧

>≤

=∂∂ −−

−−

ij para 0ij para . . . ...... 11

12

21

100

ii

jj

jjj

j

i AAQAAAqA

. . . . . (3.15)

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

articulación j , sobre todos los puntos del elemento i . Con el fin de establecer una

notación simplificada y compacta se define,

⎩⎨⎧

>≤

=∂∂

≡−

ij para 0ij para . . . 1

100

ij

jj

jij

AQAqAiU

....................(3.16)

Entonces, la expresión correspondiente para la velocidad en el elemento i , se

puede expresar como:

ii

i

jji rqUijv ⎟⎟⎠

⎞⎜⎜⎝

⎛= ∑

=1&

..................................................(3.17)

Lo anterior es válido únicamente para un elemento, pero debido a que se trata de

una cadena eslabonada, es necesario determinar el efecto en la velocidad,

derivado de la interacción de las articulaciones, de la siguiente manera:

⎪⎩

⎪⎨

<<≥≥≥≥

=≡∂

∂ −−

−−

−−

−−

kijikjAQAQAjkiAQAQA

UqU

ij

jjk

kk

ik

kkj

jj

ijkk

ij

ó 0 i

1

11

10

11

11

0

.......(3.18)

Una vez planteada la formulación para velocidades en el sistema, es necesario

calcular la energía cinética total del manipulador, la cual esta dada por la siguiente

expresión:

Page 91: a mis padres - tesis.ipn.mx

( )[ ]∑∑∑

∑ ∑ ∑∑

= = =

= = = =

=

⎟⎟⎠

⎞⎜⎜⎝

⎛==

n

i

i

p

i

rrp

Tirjip

n

i

n

i

i

p

i

rrp

Tirjipi

qqUJUTraza

qqUJUTrazaKK

1 1 1

1 1 1 1

21

21

&&

&&

...........................(3.19)

en donde jJ es la matriz correspondiente a los momentos de inercia de las

secciones de los eslabones del manipulador.

La energía potencial total del manipulador estará dada por:

( )[ ]∑∑ ==−==

n

i ii

iin

i i rAgmPP1

01 ˆ ..........................(3.20)

en donde g es un vector fila de gravedad expresado en el sistema de coordenadas

de la base. Para un sistema de nivel, g =(0, 0, -| g |, 0).

Una vez determinadas las energías cinética y potencial del sistema, se pueden

establecer las ecuaciones de movimiento del manipulador.

Ya que la función Lagrangiana del sistema está dada por PKL −= , tenemos

( )[ ] ( )[ ]∑∑∑∑== = =

−+=n

ii

iii

n

i

i

p

i

rrp

Tirjip rAgmqqUJUTrazaL

1

0

1 1 1ˆ2

1 && .....(3.21)

de manera tal que el par generalizado iτ dado por la formulación de Lagrange es:

iii q

LqL

dtd

∂∂

−⎟⎟⎠

⎞⎜⎜⎝

⎛∂∂

=&

τ

( ) ( )∑∑ ∑∑∑∑= = === =

−+=n

ij

j

k

n

jj

jijjq

j

mmk

Tjijjkm

n

ij

j

kk

Tjijjk rUmqqUJUTrqUJUTr

1 111ˆ &&&&

......(3.22)

Page 92: a mis padres - tesis.ipn.mx

para ni ., . . 2, ,1= . La Ecuación anterior se puede expresar en notación matricial

como:

nicqqhqDn

k

n

mi

j

mmkikm

n

kkiki , . . . 2, 1,

1 1 11

=++= ∑∑∑∑= = ==

&&&&τ........(3.23)

o de forma matricial como:

( ) ( ) ( ))()(),()()()( tqctqtqhtqtqDt ++= &&&τ ...........................(3.24)

3.3.2 Planteamiento de la solución a la Dinámica del Manipulador.

Una vez conocidos los valores de posición, velocidad y aceleración del sistema,

estos se sustituyen en la formulación dinámica del manipulador. Para esto se

desarrollaron los listados num1, num2 y num3 (ver Anexo 1) que emplean los

datos derivados de la solución a la cinemática inversa, para la solución numérica

de la dinámica del robot, al conjunto de listados les corresponde el diagrama de

flujo que se muestra en la figura 3.10.

Figura 3.10 Diagrama de Flujo para la Función num1.

Page 93: a mis padres - tesis.ipn.mx

Han sido definidos, hasta este punto, los modelos matemáticos que gobiernan el

movimiento del manipulador Mitsubishi Movemaster y se han desarrollado las

herramientas de cómputo necesarias para la solución de estas en MATlab®. En el

siguiente capítulo se plantea el uso de estos modelos matemáticos en la

generación de trayectorias de manipuladores robóticos, con el objeto de poder

obtener la información necesaria que permita realizar una programación fuera de

línea.

Page 94: a mis padres - tesis.ipn.mx

Generación de Trayectorias.

E

n

é

s

t

e

c

a

p

Page 95: a mis padres - tesis.ipn.mx

4. Generación de Trayectorias. De manera general, el objetivo de un manipulador robótico es que siga una

trayectoria deseada, con la finalidad de realizar una tarea determinada. Para esto

se habrán de definir los puntos que conforman dicha trayectoria. Hoy en día, la

mayoría de las industrias nacionales que cuentan con robots instalados, tienen el

problema de que, para indicar una nueva trayectoria a seguir por el manipulador,

es necesario detener la línea de producción, para que un grupo de técnicos

localicen los puntos de manera gestual sobre una plantilla de tamaño real, o sobre

un prototipo. Lo anterior se puede aceptar y no sería un problema si:

a) a) La trayectoria pudiera definirse con pocos puntos, y

b) b) Si no se requiere de una gran precisión para definir dichos

puntos.

Ya que las condiciones planteadas en a) y b), por lo general no se dan, es

necesario, para localizar y grabar los puntos de una nueva trayectoria, hacerlo de

manera gestual, para lo cual se requiere un periodo importante de tiempo para

poder definir los puntos y afinar la localización de estos.

Lo que se propone en este trabajo, es un método para poder obtener los

parámetros necesarios que permitan realizar una programación fuera de línea. A

partir de la solución a la cinemática inversa (para un robot comercial) y de la

solución a la dinámica (c.i. y dinámica para prototipos de manipuladores), se podrá

contar con la información necesaria para definir la orientación y posición en cada

uno de los puntos que conforman la trayectoria deseada.

Esto es, si el robot habrá de seguir una trayectoria deseada durante un periodo de

tiempo T , esta estará definida, para un instante (t), por los siguientes parámetros:

posición, orientación, velocidad y aceleración del efector final.

Page 96: a mis padres - tesis.ipn.mx

Si se desea que el manipulador pase de un punto A a un punto B dentro de una

trayectoria, no existe ningún elemento que asegure que la trayectoria descrita por

el efector final sea una línea recta, ya que por la configuración de cadena abierta

del manipulador y por la naturaleza del control, las diferentes articulaciones de

este, se moverán de manera tal que estas converjan en la posición angular

deseada, lo que da como resultado la posición y orientación angular deseadas en

el espacio cartesiano. Por lo que el efector final describirá una trayectoria en base

a los desplazamientos de las articulaciones, lo que no necesariamente es una

línea recta (Figura 4.1).

Figura 4.1 Trayectoria del Efector final entre dos puntos

En algunos casos, la trayectoria que siga el efector final entre los puntos A y B,

puede no ser de gran interés, pero si existe algún objeto u obstáculo con el que el

manipulador pudiese colisionar, o bien, el proceso que realiza este, exige que la

trayectoria a seguir sea una línea determinada, entonces se definirán tantos

puntos como se considere necesario para que efectivamente el efector final del

manipulador describa la trayectoria deseada entre los dos puntos.

Si deseamos que el efector final describa una trayectoria circular, entonces

también tendremos que especificar un número suficiente de puntos que, al

momento de unirlos por la trayectoria que describa el efector final, correspondan a

la circunferencia deseada.

4.1 Metodología para la generación de trayectorias.

Los pasos a seguir para la generación de trayectorias son los siguientes:

Page 97: a mis padres - tesis.ipn.mx

1. 1. Parametrizar la trayectoria. Identificar los puntos donde exista un

cambio de dirección en la trayectoria a seguir (ligaduras de camino) y

establecer las orientaciones del efector final que se desean durante esta.

2. 2. Realizar el análisis cinemático de la trayectoria para obtener los

vectores de posiciones angulares que satisfacen las condiciones

establecidas por las ligaduras de camino.

3. 3. Realizar el análisis dinámico, que incluye el determinar los vectores de

velocidades y aceleraciones angulares correspondientes a las condiciones

de movimiento deseadas para la trayectoria, con el propósito de determinar

los vectores de torque en las articulaciones, que satisfacen la dinámica de

la trayectoria.

Para lograr lo anterior, en el tercer capítulo, ya fueron definidos los modelos

cinemáticos que gobiernan el movimiento del manipulador, así, habrán de definirse

las orientaciones y posiciones que conformarán la trayectoria a describir y por

medio de la solución a la cinemática inversa del manipulador, se calculan los

vectores de posiciones angulares para las articulaciones que habrán de

satisfacerlos. Por lo cual se requiere realizar una parametrización de trayectoria.

4.2 Parametrización de Trayectorias.

El establecimiento de parámetros que definen la trayectoria a seguir por un

manipulador, contempla:

(1) (1) La identificación de aquellos puntos en donde existe un cambio de

dirección en la trayectoria a seguir por el manipulador, referidas como

ligaduras de camino [9], [15], [35]; y

Page 98: a mis padres - tesis.ipn.mx

(2) (2) La orientación del efector final, que se desea mantener a lo largo de la

trayectoria. Para lo anterior, es necesario conocer con precisión la

ubicación de los elementos que constituyen el entorno de trabajo del robot,

con el fin de poder relacionar directamente, la tarea a desempeñar con el

sistema de coordenadas de la base del manipulador (Figura 4.2).

Figura 4.2 Sistemas de coordenadas del robot y de objetos en su entorno

La información que se derive de la definición de los puntos y orientaciones

deseadas para el efector final que conformarán la trayectoria, será utilizada

posteriormente, como valores de entrada a los programas de solución de la

Cinemática Inversa y Dinámica del manipulador, para determinar así las

configuraciones espaciales del manipulador que satisfagan las posiciones y

orientaciones que, a su vez definan la trayectoria deseada, definiendo asimismo

los vectores de fuerzas o torques a aplicar, para que se cumplan las condiciones

dinámicas de movimiento de la trayectoria.

Con el objeto de ilustrar lo anterior, supóngase que la tarea a desempeñar por el

manipulador robótico consiste en colocar un cordón de soldadura sobre el

contorno marcado en la figura 4.3 por la línea punteada.

Page 99: a mis padres - tesis.ipn.mx

Figura 4.3 Ruta a seguir por el manipulador.

El primer paso es determinar las ligaduras de camino que habrán de definir.,de

manera general, los puntos que conforman a la trayectoria a seguir (Figura 4.4).

Figura 4.4 Definición de las ligaduras de camino.

Page 100: a mis padres - tesis.ipn.mx

El segundo paso es relacionar estas ligaduras de camino (puntos a...h), con el

sistema de coordenadas de la base, partiendo de la suposición que el vector de

posición de a, respecto al sistema de coordenadas 0 de la base del manipulador,

es a=[200, 100, 150, 1]T. Así, que las demás ligaduras de camino estarán

definidas por:

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡−

=

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡−

=

1150150250

h ,

1150250250

g ,

1150300200

f

,

1150250200-

e ,

1150250250-

d ,

1150150250

,

1150100200

cb

Una vez determinados los vectores de posición de las ligaduras de camino, el

tercer paso consiste en establecer la orientación deseada del efector final durante

la trayectoria a seguir, Figura 4.5.

Figura 4.5 Establecimiento de la orientación deseada durante la trayectoria.

Page 101: a mis padres - tesis.ipn.mx

Como al efector final le corresponde un sistema de coordenadas que determina su

orientación con respecto a la base del robot, se definen las matrices de

transformación homogénea que corresponden a la trayectoria (posición de las

ligaduras de camino y orientación del efector final en estas), Figura 4.6.

Figura 4.6 Identificación de las orientaciones deseadas.

,

1000150100300001200010

f ,

1000150100300001200010

e ,

1000150100250010250-001

d

,

1000150100150010250001

,

1000150100100001200010

,

1000150100100001200010

⎥⎥⎥⎥

⎢⎢⎢⎢

−=

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

=

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−

=

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

= cba

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

=

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

=

1000150100150010250001

h ,

1000150100250010250001

g

Page 102: a mis padres - tesis.ipn.mx

Analizando la figura 4.4, se observa que la trayectoria a seguir se compone por un

conjunto de trayectorias parciales, que se definen de la siguiente manera:

1. 1. Trayectoria ab – recta

2. 2. Trayectoria bc – arco ¼ de circunferencia

3. 3. Trayectoria cd – recta

4. 4. Trayectoria de – arco ¼ de circunferencia

5. 5. Trayectoria ef – recta

6. 6. Trayectoria fg – arco ¼ de circunferencia

7. 7. Trayectoria gh – recta

8. 8. Trayectoria ha – arco ¼ de circunferencia

De lo anterior se puede tomar, como representativo para el análisis, al segmento

de trayectoria abc.

Para que la trayectoria parcial de ab sea efectivamente una línea recta, es

necesario definir un numero suficiente de puntos intermedios (el número de puntos

depende de la precisión que se requiera dependiendo de la tarea a desempeñar),

para que la trayectoria parcial ab del efector final describa la línea deseada. De

esta manera, en el momento en que el efector final del manipulador satisfaga los

puntos (A, A1, A2, ..., An, B), la trayectoria descrita por este, corresponderá con lo

esperado.

Así que, para el ejemplo, se definen 10 puntos en esta trayectoria parcial, estos

estarían definidos por:

,

1000150100100001120010

A ,

1000150100100001160010

A ,

1000150100100001200010

21

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

=

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

=

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

=A

Page 103: a mis padres - tesis.ipn.mx

,

1000150100100001200010

B ,

1000150100100001160010

A

,

1000150100100001120010

A ,

1000150100100001

80010

A ,

1000150100100001

40010

,

1000150100100001

0010

A ,

100015010010000140010

A ,

100015010010000180010

9

876

543

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−

=

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−

=

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−

=

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−

=

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−

=

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

=

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

=

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

=

A

A

Como se observa, la orientación del efector se mantiene en todo momento, en

tanto que, la magnitud en x se incrementa, satisfaciendo la ecuación de la recta.

Para el caso de la trayectoria parcial bc que se desea describa un arco de radio

25mm, es necesario definir de igual manera, las ligaduras de camino parciales,

necesarias para que el efector final siga un arco de circunferencia. De manera tal,

se establecen 10 puntos para definir esta trayectoria parcial (en general se habrán

de definir un mayor número de puntos para describir una trayectoria circular), se

hace el siguiente análisis:

Se determina los desplazamientos X∆ y y∆ , ya que en z el valor se mantiene

constante, a partir del punto b hasta el punto c. Como se muestra en la figura 4.7.

Page 104: a mis padres - tesis.ipn.mx

Figura 4.7 Análisis de la Trayectoria Parcial bc.

En donde:

θsenrX −=∆ y

θcos rrY −=∆

Se determina la variación angular en la orientación, para el sistema de

coordenadas de efector final durante la trayectoria parcial, haciendo el análisis que

se muestra en la figura 4.8.

Figura 4.8 Análisis de variación angular en la orientación.

Page 105: a mis padres - tesis.ipn.mx

De donde se obtiene la matriz de variación en coordenadas homogéneas:

⎥⎥⎥⎥

⎢⎢⎢⎢

−+−−−−−

=

1000150100

cosr -r1000cossen 2000cos

θθθθθθ

senrsen

bn

Con esta relación se pueden determinar tantos puntos como se desee para definir

la trayectoria parcial. Para este caso, se establecen 10 puntos para la definición de

la trayectoria, los cuales se generan de manera automática con la función traycirc

(Anexo1) desarrollada en Matlab®, de donde se obtienen los siguientes puntos:

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−

=

1000150100100001200010

b

, ⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−−

=

10000000.1501006156.10001564.009877.8217.20709877.01564.0

1b

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−−

=

10000000.1501004472.10203090.09511.04508.21509511.03090.0

2b

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−−

=

10000000.1501004497.10504540.08910.06995.22208910.04540.0

3b

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−−

=

10000000.1501005492.10905878.08090.03893.22908090.05878.0

4b

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−−

=

10000000.1501006447.11407071.07071.03553.23507071.07071.0

5b

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−−

=

10000000.1501006107.12008090.05878.04508.24005878.08090.0

6b

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−−

=

10000000.1501003005.12708910.04540.05503.24404540.08910.0

7b

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−−

=

10000000.1501005492.13409511.03090.05528.24703090.09511.0

8b

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−−

=

10000000.1501001783.14209877.01564.03844.24901564.09877.0

9b

Page 106: a mis padres - tesis.ipn.mx

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

=

1000150100150010250001

c

Como se observa, los desplazamientos del vector de posición satisfacen la

ecuación de una circunferencia, en tanto que en el componente de orientación,

esta se define para cada una de las posición, de manera tal que el efector realiza

una trayectoria suave a lo largo de un cuarto de circunferencia.

4.3 Cinemática de la generación de trayectorias.

Una vez obtenida la información necesaria que define la trayectoria, se realiza el

análisis cinemático de la trayectoria, en este, se calculan los vectores de

posiciones angulares que satisfagan las condiciones determinadas por las

matrices de transformación homogéneas, que corresponden a las posiciones que

definen la trayectoria. Estas matrices, se alimentan como valor de entrada al

programa Newton para resolver la cinemática inversa para cada una de las

posiciones.

Para la trayectoria abc de la figura 4.4, que ha sido definida por 21 matrices de

transformación homogénea, se obtienen los siguientes vectores de posición

angular en grados a partir de la solución a la cinemática inversa del manipulador:

Page 107: a mis padres - tesis.ipn.mx

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

109.028798.9722-99.701-

18.6731154.0287

100.473696.3505-102.559-

18.9094154.4723

91.662893.6275-105.4422-

19.0697154.6621

82.567190.8566-108.2865-

19.1431154.5688

73.164388.1006-111.0255-

19.1261154.1663

63.434985.4336-113.5907-

19.0243153.4349

57.994671.7391-125.4646-

17.2037147.9946

50.194456.8709-136.071-

12.9419140.1944

38.659841.1713-145.1048-

6.2761128.6598

21.801427.2432-151.6665-1.0903-

111.8014

0 21.1872-154.1844-4.6284-

90

21.8014-27.2432-151.6665-1.0903-68.1986

38.6598-41.1713-145.1048-

6.276151.3402

50.1944-56.8709-136.071-

12.941939.8056

57.9946-71.7391-125.4646-

17.203732.0054

63.4349-85.4336-113.5907-19.0243

1 26.565

5432

198

7654

321

bbbb

bbaa

aaaa

aaaa

Page 108: a mis padres - tesis.ipn.mx

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

149.0362109.1503-87.8624-

17.0127149.0362

141.3139107.6168-89.7198-

17.3366150.3118

b

133.4769105.8026-91.884-

17.6867151.4752

b

125.5001103.7356-94.3053-

18.041152.5008

b

117.3603101.4471-96.93-

18.3771153.3615

9876

c

b

Estos vectores representan las posiciones angulares que satisfacen las

condiciones de posición y orientación del efector final para la trayectoria abc.

Figura 4.9 Análisis cinemático trayectoria “abc”

Page 109: a mis padres - tesis.ipn.mx

Con el propósito de comprobar los resultados derivados del análisis cinemático, se

modeló el manipulador robótico Mitsubishi Movemaster, haciendo uso de

herramientas de modelado en realidad virtual, cuyo listado se incluye en el Anexo

2. Derivado de este modelado, se obtienen los gráficos correspondientes a las

configuraciones del brazo, como resultado de las posiciones angulares que

satisfacen la posición y orientación deseadas para el efector final. En la figuras

4.10 a 4.13 se muestran las configuraciones resultantes para los puntos a, a1, b9 y

c, desde tres diferentes perspectivas, frontal, lateral derecha y superior. (Los

gráficos correspondientes para el resto de las posiciones se incluyen en el Anexo

3).

Otra forma de comprobar la veracidad de los resultados es la siguiente: se sabe

que en todo momento el ángulo que existe entre z0 y z5 es de 180º, y que este

está dado por la suma de los ángulos theta2, theta3 y theta4, lo cual corresponde

en todo momento al realizar la suma de estos ángulos.

Figura 4.10 Configuración resultante correspondiente al punto a.

Page 110: a mis padres - tesis.ipn.mx

Figura 4.11 Configuración resultante correspondiente al punto a1.

Figura 4.12 Configuración resultante correspondiente al punto b9.

Page 111: a mis padres - tesis.ipn.mx

Figura 4.13 Configuración resultante correspondiente al punto b.

Para las demás trayectorias parciales, se hace un análisis similar con el fin de

determinar las ligaduras de camino necesarias, para que el efector final del

manipulador describa de manera fiel la trayectoria principal deseada.

4.4 Dinámica en la generación de trayectorias.

Cuando un manipulador describe una trayectoria, es importante el considerar el

comportamiento dinámico que se desea presente el manipulador. Este

comportamiento estará definido por los vectores de velocidad y aceleración que

afectarán el movimiento del efector final a lo largo de su trayectoria, además de las

características de masas y momentos de inercia del propio manipulador.

Los vectores de velocidades y aceleraciones angulares que afectan al sistema

para el ejemplo que se plantea, se obtienen tomando en cuenta las siguientes

consideraciones:

Page 112: a mis padres - tesis.ipn.mx

• La longitud total considerada para el análisis es la que comprende la

tayectoria abc, que es de 596.35mm.

• El tiempo en el que se desea recorrer esta trayectoria es de 3 min. (que es

el tiempo que un soldador calificado le tomaría realizar la tarea).

• Tanto la velocidad inicial, como la final del sistema es de 0 m/s.

Ya que la trayectoria abc (figura 4.4) está compuesta por dos trayectorias

parciales, ab y bc, se determina el tiempo en el que se habrán de cubrir cada una

de estas trayectorias parciales de la siguiente manera: la trayectoria abc está

definida por un total de 21 puntos, de los cuales, los primeros 10 puntos definen la

trayectoria parcial ab, con una longitud total de 400mm; y los siguientes 11 puntos,

definen la trayectoria parcial bc con una longitud total de 196.35mm. Con esta

información es posible establecer una relación que permita determinar el tiempo

que corresponde para describir cada una de las trayectorias parciales.

De manera tal que, para la trayectoria parcial ab tenemos:

g120.7345se2.0122minx

x 00.400min3 35.596

==∴

→→

mmmm

como esta trayectoria está definida por 10 puntos, el intervalo de tiempo entre

posiciones es de 12.07345seg.

Considerando lo anterior, el tiempo correspondiente para describir la trayectoria bc

es de 0.9878min, 59.2680seg. Como esta trayectoria esta definida por 11 puntos,

el intervalo de tiempo entre puntos es de 5.3880seg. Como la velocidad es la

razón de cambio de posición en el tiempo, se obtiene el gradiente entre posiciones

Page 113: a mis padres - tesis.ipn.mx

angulares y se divide entre el intervalo de tiempo, obteniendo así las velocidades

angulares para el sistema que se muestran en la tabla 4.1.

Para las aceleraciones, tomando en cuenta que esta es la razón de cambio de la

velocidad en el tiempo, se obtienen los gradientes de velocidad y se divide

nuevamente entre el intervalo de tiempo, obteniendo así, las aceleraciones

angulares del sistema para las condiciones de movimiento deseadas (Tabla 4.2).

En las figuras 4.14 y 4.15, se observa gráficamente el comportamiento de estos

parámetros para cada una de las articulaciones.

Tabla 4.1 Velocidades angulares (rad/seg)

omega1 omega2 omega3 omega4 omega5 0 0 0 0 0

0.00786446 -0.00263185 -0.01716482 0.01979667 0.007864460.01127591 -0.00616083 -0.01533254 0.02149336 0.011275910.01667433 -0.00963603 -0.01305920 0.02269523 0.016674330.02437038 -0.01064881 -0.00948555 0.02013436 0.024370380.03151595 -0.00511465 -0.00363986 0.00875451 0.031515950.03151595 0.00511465 0.00363986 -0.00875451 0.031515950.02437038 0.01064881 0.00948555 -0.02013436 0.024370380.01667433 0.00963603 0.01305920 -0.02269523 0.016674330.01127591 0.00616083 0.01533254 -0.02149336 0.011275910.00786446 0.00263185 0.01716482 -0.01979667 0.007864460.00236922 0.00032976 0.00830943 -0.00863919 0.031516340.00130381 5.5068E-05 0.00887241 -0.00892748 0.030458390.00030223 -0.00023776 0.00921351 -0.00897575 0.02946361

-0.00061482 -0.00051926 0.00933952 -0.00882059 0.02854073-0.00143695 -0.00076544 0.00925789 -0.00849245 0.02771245-0.00216125 -0.00095883 0.00897607 -0.00801692 0.02698847-0.00278806 -0.00108873 0.00850216 -0.00741311 0.02636717-0.00332222 -0.00114768 0.00784329 -0.00669561 0.02583917-0.00376859 -0.00113408 0.00701047 -0.00587672 0.02538631-0.00413204 -0.00104921 0.00601666 -0.00496745 0.02501477

0 0 0 0 0

Page 114: a mis padres - tesis.ipn.mx

Tabla 4.2 Aceleraciones angulares (rad/seg^2)

alfa1 alfa2 alfa3 alfa4 alfa5 0.00065138 -0.000217986 -0.0014217 0.00163969 0.00065138 0.00028256 -0.000292293 0.000151762 0.00014053 0.00028256 0.00044713 -0.000287839 0.000188292 9.9546E-05 0.00044713 0.00063744 -8.38851E-05 0.000295992 -0.00021211 0.00063744 0.00059184 0.000458375 0.000484177 -0.00094255 0.00059184

0 0.000847256 0.000602952 -0.00145021 0 -0.00059184 0.000458375 0.000484177 -0.00094255 -0.00059184 -0.00063744 -8.38851E-05 0.000295992 -0.00021211 -0.00063744 -0.00044713 -0.000287839 0.000188292 9.9546E-05 -0.00044713 -0.00028256 -0.000292293 0.000151762 0.00014053 -0.00028256

-0.0010199 -0.000427262 -0.00164354 0.0020708 0.00438973 -0.00019774 -5.09821E-05 0.000104489 -5.3507E-05 -0.00019635 -0.00018589 -5.43489E-05 6.33068E-05 -8.9579E-06 -0.00018463

-0.0001702 -5.22447E-05 2.33869E-05 2.8798E-05 -0.00017128 -0.00015259 -4.56915E-05 -1.515E-05 6.0902E-05 -0.00015373 -0.00013443 -3.58919E-05 -5.2305E-05 8.8257E-05 -0.00013437 -0.00011633 -2.41083E-05 -8.7956E-05 0.00011206 -0.00011531 -9.9139E-05 -1.09419E-05 -0.00012228 0.00013317 -9.7996E-05 -8.2846E-05 2.52506E-06 -0.00015457 0.00015198 -8.4048E-05 -6.7455E-05 1.57516E-05 -0.00018445 0.00016876 -6.8958E-05

0.0007669 0.00019473 -0.00111668 0.00092195 -0.00464268

Page 115: a mis padres - tesis.ipn.mx

Figura 4.14 Velocidades angulares en las articulaciones (rad/s)

Page 116: a mis padres - tesis.ipn.mx

Figura 4.15 Aceleraciones en las articulaciones (rad/s^2)

Page 117: a mis padres - tesis.ipn.mx

Con la información de velocidades y aceleraciones se pueden obtener las

magnitudes de los torques a aplicar en las articulaciones para las condiciones de

movimiento especificadas. Para la solución a la dinámica del manipulador se

utilizan los listados num1, num2 y num3 descritos en el capítulo 3. Para la

solución numérica empleando estos listados, es necesario indicar como valores de

entrada los datos correspondientes para las posiciones, velocidades y

aceleraciones angulares para el instante de interés.

Los torques necesarios para que el manipulador describa la trayectoria abc se

tabulan en la tabla 4.3 y se muestran gráficamente en las figuras 4.16, 4.17, 4.18,

4.19 y 4.20.

Tabla 4.3 Torques aplicados en las articulaciones para generar la trayectoria abc (N-m)

Torque 1 Torque 2 Torque 3 Torque 4 Torque 5 0.0004870214 27.1975313380 -0.6250001102 -0.0000360868 -0.0000203874 0.0001436039 25.6540508720 -2.4591168747 0.0000004178 -0.0000001207 0.0002306826 24.3931644180 -4.2891295760 0.0000010117 -0.0000004156 0.0003267300 23.3460505000 -5.9075255540 0.0000029780 -0.0000008443 0.0002872534 22.4473828030 -6.9774428291 0.0000048964 -0.0000009731

-0.0000195852 22.0167453970 -7.3175516817 0.0000006752 0.0000010249 -0.0003060936 22.4473334410 -6.9774727159 -0.0000054527 0.0000039083 -0.0003262149 23.3460232730 -5.9075595117 -0.0000051326 0.0000030425 -0.0002236030 24.3931574470 -4.2891514369 -0.0000028497 0.0000013002 -0.0001347403 25.6540491630 -2.4591287130 -0.0000014141 0.0000004537 -0.0007662548 27.1974020300 -0.6251277793 -0.0000696256 0.0000442875 -0.0001241159 27.5453211290 -0.2601140452 0.0000004116 0.0000000111 -0.0001206671 27.9199038290 0.1173299862 0.0000001852 0.0000000050 -0.0001148534 28.3114570210 0.4965393357 -0.0000000404 -0.0000000028 -0.0001075126 28.7097671910 0.8680522409 -0.0000015159 -0.0000000029 -0.0000991848 29.1047345520 1.2239161353 -0.0000017680 -0.0000000013 -0.0000899836 29.4866611150 1.5575301656 -0.0000007771 -0.0000000042 -0.0000803898 29.8465309040 1.8634468187 0.0000002307 -0.0000000158 -0.0000703488 30.1761153720 2.1371997960 0.0000000432 -0.0000000416 -0.0000598403 30.4682095670 2.3751778503 -0.0000013594 -0.0000000613 0.0005877206 30.7167068910 2.5744521587 -0.0000049808 0.0000005784

Page 118: a mis padres - tesis.ipn.mx

Figura 4.16 Torque articulación 1

Figura 4.17 Torque articulación 2

Page 119: a mis padres - tesis.ipn.mx

Figura 4.18 Torque articulación 3

Figura 4.19 Torque articulación 4

Page 120: a mis padres - tesis.ipn.mx

Figura 4.20 Torque articulación 5

Con este análisis se puede determinar el valor nominal máximo del torque

necesario en las articulaciones, para que el manipulador siga la trayectoria

deseada. Sobre la base de este análisis y modificando las condiciones de

movimiento, es posible determinar el valor de torque máximo para la selección de

los elementos actuadores, que habrán de animar al manipulador.

Derivado del análisis anterior, se puede observar que los valores para los torques

2 y 3 son significativamente mayores en su magnitud, que aquellos para el resto

de las articulaciones. Esto obedece a que las articulaciones 2 y 3 experimentan

mayores desplazamientos, además de que por la configuración espacial del

mecanismo del manipulador, son los nodos en donde existe una mayor reacción

como resultado de las cargas en los elementos. En tanto que en el resto de las

articulaciones, los valores de pares a aplicar son menores, en comparación con

los dos mencionados.

Es también de interés los picos que se observan en la demanda de torque, los

cuales aparecen cuando las articulaciones del manipulador tienen que cubrir un

mayor desplazamiento para llegar a la siguiente posición, por lo que se observa

Page 121: a mis padres - tesis.ipn.mx

una correspondencia con los picos que se observan en las gráficas de

velocidades.

Si se considera ahora una carga a manipular en el efector final de 1.5kg, y se

analiza la misma trayectoria bajo el mismo patrón de velocidades y aceleraciones

se obtienen los siguientes valores de torques a ser aplicados por los elementos

actuadores en las articulaciones del robot, Tabla 4.4:

Tabla 4.4.- Torques considerando una carga de 1.5 k.g en el efector final (N-m)

Torque 1'' Torque 2'' Torque 3'' Torque 4'' Torque 5'' 0.0005511658 30.4878396010 -0.8125289751 -0.0000631519 -0.0000356779 0.0001471379 28.4304706650 -3.1968527155 0.0000007311 -0.0000002113 0.0002364060 26.6917201230 -5.5758684624 0.0000017705 -0.0000007272 0.0003340472 25.2304930840 -7.6797795846 0.0000052116 -0.0000014775 0.0002925591 24.0322442400 -9.0706648234 0.0000085688 -0.0000017030

-0.0000224890 23.4882464430 -9.5128031741 0.0000011817 0.0000017935 -0.0003164518 24.0321773410 -9.0707069170 -0.0000095423 0.0000068395 -0.0003345241 25.2304518500 -7.6798264182 -0.0000089820 0.0000053243 -0.0002270446 26.6917067090 -5.5758982872 -0.0000049870 0.0000022754 -0.0001351820 28.4304660610 -3.1968688476 -0.0000024747 0.0000007940 -0.0008906908 30.4876612510 -0.8127383216 -0.0001218447 0.0000775032 -0.0001276212 30.9429678030 -0.3381489446 0.0000007202 0.0000000194 -0.0001243601 31.4304265330 0.1525285577 0.0000003241 0.0000000088 -0.0001187134 31.9372857690 0.6455010268 -0.0000000708 -0.0000000049 -0.0001115249 32.4503989560 1.1284675576 -0.0000026529 -0.0000000050 -0.0001032964 32.9570132790 1.5910909032 -0.0000030940 -0.0000000022 -0.0000940889 33.4450633920 2.0247899538 -0.0000013600 -0.0000000073 -0.0000844085 33.9034524930 2.4224823829 0.0000004036 -0.0000000277 -0.0000741878 34.3221413500 2.7783614564 0.0000000756 -0.0000000728 -0.0000633733 34.6923924460 3.0877325218 -0.0000023789 -0.0000001072 0.0006156428 35.0068224650 3.3467956179 -0.0000087164 0.0000010122

Para considerar esta carga adicional en la formulación de Lagrange solamente se

modifica la masa y el centro de gravedad que se especifica para el último sistema

de coordenadas, el cual corresponde al efector final. En el listado num1 se

modifica el valor de masa, en tanto que en el listado num3 se modifica el valor del

vector de posición del centro de masa de este.

Page 122: a mis padres - tesis.ipn.mx

A continuación se realiza un análisis comparativo entre los torques obtenidos para

ambas condiciones de carga, como se muestra en las graficas de las figuras 4.21

a 4.25.

Figura 4.21 Comparación t1 vs t1”

Figura 4.22 Comparación t2 vs t2”

Page 123: a mis padres - tesis.ipn.mx

Figura 4.23 Comparación t3 vs t3”

Figura 4.24 Comparación de t4 vs t4”

Page 124: a mis padres - tesis.ipn.mx

Figura 4.25 Comparación t5 vs t5”

De las gráficas anteriores se observa que entre los torques calculados inicialmente

y aquellos obtenidos considerando una carga en el efector final de 1.5kg, existe

una correspondencia cualitativa en cuanto al comportamiento de los torques a

aplicar en las articulaciones, en tanto que no existe una correspondencia

cuantitativa, pues es necesaria una mayor demanda de torque en los actuadores

del robot para manipular una carga mayor.

De manera general, se puede decir que al seguir la metodología presentada en

este capítulo, se obtiene claramente la información necesaria para la generación

de trayectorias de manipuladores robóticos y, es posible pensar en la

implementación de ésta en un prototipo real, desde el punto de vista experimental,

como se presenta en el siguiente capítulo.

Page 125: a mis padres - tesis.ipn.mx

Desarrollo experimental derivado de este trabajo.

En

éste

capít

ulo

se

pres

enta

el

traba

Page 126: a mis padres - tesis.ipn.mx

5. Desarrollo Experimental Derivado de este Trabajo. Derivado de este trabajo se han desarrollado un total de 10 proyectos de diseño

de prototipos de manipuladores robóticos para diversas aplicaciones,

buscando con esto alentar la investigación sobre este tema en jóvenes ingenieros

y como parte del trabajo desarrollado como profesor de las materias Sistemas

Digitales II (Microprocesadores) y Sistemas Digitales III (Robótica) a nivel

licenciatura en la carrera de Ingeniería en Control y Automatización de la ESIME -

Zacatenco. De estos, el que más avance presenta es el proyecto de

“Implementación de las Técnicas de Control PID en un Manipulador Robótico de

Tres Grados de Libertad”, que a continuación se describe de manera más amplia.

Es importante mencionar que los costos derivados de este proyecto se han

financiado haciendo uso de las becas de CONACYT y PIFI. El costo total

aproximado hasta el momento es de $9,000.00.

5.1 Proyecto de “Implementación de las Técnicas de Control PID en un Manipulador Robótico de Tres Grados de Libertad” Los objetivos de este proyecto son:

• • Diseño y construcción de un manipulador robótico de 3 grados de

libertad

• • Solución al modelo matemático del manipulador

• • Implementación de la técnica de control PID para comprobar el modelo

matemático del manipulador

• • Identificación y análisis de las diferentes curvas de respuesta que

presenta el control P, PI, PD Y PID.

Para lo cual, este se ha dividido en 5 etapas:

• • Diseño y desarrollo mecánico.

Page 127: a mis padres - tesis.ipn.mx

• • Modelado matemático y solución de las ecuaciones.

• • Programación fuera de línea.

• • Circuito de potencia.

• • Control.

El manipulador robótico consta de tres movimientos (grados de libertad) en una

configuración denomina “Brazo Articulado”, puesto que las articulaciones son

giratorias.

Cada una de las articulaciones cuenta con un sensor (encoder) de tipo absoluto,

que representa el ángulo de posición de un eslabón con respecto al eslabón

anterior.

La función a desempeñar del manipulador, es la de generar una trayectoria en el

espacio, para llevar un objeto de un extremo de la base a otro, teniendo pleno

control sobre las articulaciones por medio de la técnica PID e identificando las

diferentes respuestas que presenta esta técnica. En tanto que los parámetros para

la generación de trayectorias se obtienen de la solución a la cinemática inversa,

comprobando dichos parámetros en un principio mediante el modelado virtual del

manipulador, para verificar que los resultados son los esperados y posteriormente

alimentando los datos de la trayectoria a la base de datos del control del

manipulador, para generar así la trayectoria deseada por el manipulador real.

En un principio se determina el modelo matemático correspondiente al

manipulador, partiendo de la obtención de los parámetros de Denavit y Hartenberg

necesarios para definir la posición y orientación del efector final del manipulador

con respecto a la base.

Ya que se tiene el modelo matemático del manipulador, se resuelven las

ecuaciones de diseño del manipulador para dar solución a la cinemática directa.

Page 128: a mis padres - tesis.ipn.mx

Posteriormente, las ecuaciones de diseño son linealizadas por medio del método

de Newton, para obtener la solución a la cinemática inversa de este manipulador,

lo cual conduce a encontrar los ángulos que satisfacen una posición y orientación

final deseada.

La solución a la Cinemática Directa e Inversa corresponde a la programación fuera

de línea, es decir, se realiza con ayuda de una PC para resolver las ecuaciones y

obtener los ángulos de cada articulación que describen una trayectoria deseada.

Los ángulos obtenidos en la programación fuera de línea, son suministrados a un

Micro controlador para reproducir la trayectoria; el Micro Controlador cuenta con

un algoritmo de control PID el cual se encarga de evitar que las articulaciones se

salgan de la posición deseada.

El algoritmo de control PID es parte del desarrollo de este proyecto, este control

precisa de la información que otorga la retro-alimentación, para poder determinar

la posición angular de cada articulación.

Una vez que el Micro Controlador ha realizado los cálculos necesarios del control,

este nos arroja señales (en los pines del puerto del microcontrolador) que nos

representan la velocidad, arranque, paro y sentido de giro de un motor de corriente

directa.

Estas señales deben de ser acondicionadas de tal forma que tengan la potencia

necesaria para mover el motor de CD; esto se logra con la etapa de potencia en

donde se emplean circuitos en configuración tipo H para controlar el giro del

motor, así como la velocidad del mismo.

5.1.1 Descripción física

El material que conforma la estructura del manipulador es perfil rectangular de

aluminio, las guardas o fundas están hechas con lamina de aluminio de 2mm de

Page 129: a mis padres - tesis.ipn.mx

espesor; el manipulador cuenta con 4 moto reductores, los cuales le dan

movimiento a cada articulación. Los motores empleados para proporcionar el

movimiento a cada uno de los eslabones son de 12-24 V de C.D. con un corriente

nominal de 0.8 amp y una corriente máxima de 3 amp.

El primer movimiento corresponde a la base, el cual tiene un rango de trabajo de

340°, el siguiente movimiento es el del brazo superior cuyo rango de trabajo es de

160° con respecto de la base. El tercer movimiento es el del antebrazo, su área de

trabajo es de 180° con respecto del primer eslabón. El GRIPER o efector final

tiene una capacidad de movimiento de 180º; este, no es gobernado por ningún

motor, sino por medio de la gravedad, es decir, con su mismo peso se alinea

verticalmente.

Las características y dimensiones se presentan detalladamente en las figuras 5.1

a 5.3.

Figura 5.1 Dimensiones generales (en mm) del manipulador R3GL, vista lateral .

Page 130: a mis padres - tesis.ipn.mx

Figura 5.2 Dimensiones generales (en mm) del manipulador R3GL, vista superior

Figura 5.3 Dimensiones generales (en mm) del manipulador R3GL, vista frontal

Page 131: a mis padres - tesis.ipn.mx

5.1.2 Modelado Matemático y Solución a la Cinemática Directa e Inversa.

Tomando en cuenta las características físicas del manipulador robótico, se

establecen los sistemas de coordenadas correspondientes a cada articulación, de

la manera en que se explicó en el capítulo 2, definiendo para esto una posición

inicial para la asignación de los sistemas de coordenadas (Figura 5.4).

Figura 5.4 Posición de sistema de coordenadas cero.

Figura 5.5 Asignación de sistemas de coordenadas.

Una vez que se han determinado los sistemas de coordenadas para cada

articulación (Figura 5.5), se obtienen los parámetros de Denavit-Hartenberg (Tabla

5.1).

Tabla 5.1 Parametros de D-H para el robot R3GL ARTICULACION θ ∝ d a

1 0 -90 148 33 2 0 0 0 270 3 0 0 0 160 4 90 90 0 0 5 0 0 130 0

Obteniendo las matrices:

Page 132: a mis padres - tesis.ipn.mx

0A1=⎥⎥⎥⎥

⎢⎢⎢⎢

1000010

00

111

11

BASCSACSC S

θθθθθθ

1A2=⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ −

10000100

00

222

222

θθθθθθ

CSCSCCSC

2A3=⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ −

10000100

00

333

333

θθθθθθ

DSCSDCSC

3A4=⎥⎥⎥⎥

⎢⎢⎢⎢

⎡−

100000100000

44

44

θθθθCS

SC

4A5=⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ −

1000100

0000

55

55

ECSSCθθθθ

de donde se deriva la matriz 0A5, que corresponde a la matriz del manipulador.

0A5=

( )( )( )

⎥⎥⎥⎥

⎢⎢⎢⎢

+−−−++++−++++−−−

100022323423452345234

12232341234151523415152341

12232341234151523415152341

BCSDSECCSSCSASCCDCESSSSCCSCSSCCCSACCCDCESCSCCSSCCSSCCC

Una vez obtenida esta matriz, se puede dar solución tanto a la cinemática directa

como a la inversa.

Ejemplos de solución de la cinemática directa.

Posición inicial

Valores del Vector Variable en grados:

VV=[0 0 0 90 0]

Para el que le corresponde la matriz [M] de orientación y posición del efector final:

Page 133: a mis padres - tesis.ipn.mx

M =⎥⎥⎥⎥

⎢⎢⎢⎢

1 0 0 0148 0 0 1-0 0 1 0

593 1 0 0

Figura 5.6 Posición inicial (0 0 0 90 0)

Primera posición.

Valores del Vector Variable

VV=[90 0 0 90 0]

Para el que le corresponde la matriz [M] de orientación y posición del efector final:

M = ⎥⎥⎥⎥

⎢⎢⎢⎢

1 0 0 0148 0 0 1-593 1 0 0

0 0 1- 0

Figura 5.7 Posición1 (90 0 0 90 0)

Page 134: a mis padres - tesis.ipn.mx

Segunda posición.

Valores del Vector Variable:

VV=[0 –45 45 180 0]

Para el que le corresponde la matriz [M] de orientación y posición del efector final:

M =⎥⎥⎥⎥

⎢⎢⎢⎢

1.0000 0 0 0 208.9188 1- 0 0 0 0 1 0

383.9188 0 0 1-

Figura 5.8 Posición 2 (0 –45 45 180 0)

Tercera posición.

Valores del Vector Variable:

VV=[0 –90 90 180 0]

Para el que le corresponde la matriz [M] de orientación y posición del efector final:

Page 135: a mis padres - tesis.ipn.mx

M =⎥⎥⎥⎥

⎢⎢⎢⎢

1 0 0 0 288 1- 0 0 0 0 1 0

193 0 0 1-

Figura 5.9 Posición 3 (0 –90 90 180 0)

Cuarta Posición. Valores del Vector Variable:

VV=[45 –90 90 180 0]

Para el que le corresponde la matriz [M] de orientación y posición del efector final:

M =⎥⎥⎥⎥

⎢⎢⎢⎢

1 0 0 0 288 1- 0 0

136.4716 0 0.7071 0.7071-136.4716 0 0.7071- 0.7071-

Page 136: a mis padres - tesis.ipn.mx

Figura 5.10 Posición 4 (45 –90 90 180 0)

Quinta posición.

Valores del Vector Variable:

VV=[0 45 –90 135 0]

Para el que le corresponde la matriz [M] de orientación y posición del efector final:

M =⎥⎥⎥⎥

⎢⎢⎢⎢

1 0 0 0 70.2183 0 0 1-0 0 1 0

467.0559 1 0 0

Page 137: a mis padres - tesis.ipn.mx

Figura 5.11 Posición 5 (0 45 –90 135 0)

5.1.3 Implementación de Técnicas de Control para el robot R3GL. A continuación se describen las técnicas de control que se implementan en el

manipulador robótico R3GL.

5.1.3.1 Acción de control Proporcional

Para un controlador con acción de control proporcional, la relación entre la salida

del controlador y la señal del error es:

Salida del controlador = Kp * Error

Nota: La salida del controlador y la señal del error están en función del tiempo.

Cualquiera que sea el mecanismo real y la forma de la potencia de operación, el

controlador proporcional es, en esencia, un amplificador con ganancia ajustable.

Page 138: a mis padres - tesis.ipn.mx

5.1.3.2 Acción de control Integral

En un controlador de acción de control Integral, el valor de la salida del controlador

se cambia a una razón proporcional a la señal de error.

e(t)dt Kiu(t) 0∫=t

........................... (5.1)

Si se duplica el valor del error, el valor de la salida del controlador varia dos veces

más rápido. Para un error de cero, el valor de la salida del controlador permanece

estacionario. En ocasiones, la acción del control integral se denomina control de

reajuste (reset).

5.1.3.3 Acción de control Proporcional-Integral

La acción de control de un controlador Proporcional-Integral (PI) se define

mediante:

∫+=t

i

pp dtte

TK

teKtu0

)()()( ........................... (5.2)

En donde Kp es la ganancia proporcional y Ti, se denomina tiempo integral. Tanto

Kp como Ti son ajustables. El tiempo integral ajusta la acción de control integral,

mientras que un cambio en el valor de Kp afecta las partes integral y proporcional

de la acción de control.

Al inverso del tiempo integral Ti se le denomina velocidad de reajuste, la cual

corresponde a la cantidad de veces por minuto que se duplica la parte

proporcional de la acción de control. La velocidad de reajuste se mide en términos

de repeticiones por minuto.

Page 139: a mis padres - tesis.ipn.mx

Figura 5.12 Análisis del comportamiento del error e(t), y comportamiento de la señal manipulada

u(t) para un control PI

5.1.3.4 Acción de control Proporcional-Derivativo

La acción de control de un controlador Proporcional-Derivativo (PD) se define

mediante:

⎟⎠⎞

⎜⎝⎛+= )()()( te

dtdTKteKtu dpp

........................... (5.3)

Donde Td es una constante denominada tiempo derivativo. Tanto Kp como Td son

ajustables. Esta acción es denominada control de velocidad, ocurre donde la

magnitud de la salida del controlador es proporcional a la velocidad de cambio de

la señal de error. El tiempo derivativo Td es el intervalo de tiempo durante el cual

la acción de la velocidad hace avanzar el efecto de la acción de control

proporcional; Por lo que el control derivativo tiene un carácter de previsión pero

tiene la desventaja de que amplifica la señales de ruido y puede provocar un

efecto de saturación en el actuador.

Figura 5.13 Análisis del comportamiento del error e(t), y comportamiento de la señal manipulada

u(t) para un control PD

Page 140: a mis padres - tesis.ipn.mx

5.1.3.5 Acción de control Proporcional Integral Derivativo

La combinación de una actuación de control Proporcional, una acción de control

Integral, y una acción de control Derivativo se denomina control Proporcional

Integral Derivativo (PID). Esta acción combinada tiene las ventajas de cada una de

las tres acciones de control individuales. La ecuación del controlador con esta

acción combinada se obtiene mediante:

)()()()(0

tedtdTKdtte

TK

teKtu dp

t

i

pp ++= ∫

........................... (5.4)

Figura 5.14 Análisis del comportamiento del error e(t), y comportamiento de la señal manipulada

u(t) para un control PID

5.1.4 Función de Transferencia de un Controlador PID Digital

El principio básico del esquema de control PID es que actúa sobre la variable

manipulada a través de una apropiada combinación de las tres acciones de

control.

En situaciones donde muchas plantas se controlan directamente mediante una

sola computadora digital, la mayoría de los lazos de control se pueden manipular

mediante esquemas de control PID.

Page 141: a mis padres - tesis.ipn.mx

La acción del control PID en controladores analógicos esta dada por la ecuación

5.4, en donde e(t) es la entrada al controlador (señal del error actuante), u(t)es la

salida del controlador (señal manipulada), Kp es la ganancia proporcional, Ti es el

tiempo integral (o tiempo de reajuste) y Td es el tiempo derivativo (o tiempo de

adelanto).

Para obtener la Función de Transferencia al pulso del controlador PID digital se

aplica la transformada de Laplace a la ecuación 5.4, obteniendo:

( ) ⎥⎦

⎤⎢⎣

⎡+⎟⎟

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛+= )(

)( 11)( sET

sEsTsEKsU d

ip

.......................... (5.5)

Aplicando a su vez la transformada Z a U(s) tenemos

( )⎥⎥⎥⎥

⎢⎢⎢⎢

−+⎟⎠⎞

⎜⎝⎛−

+= −

1

1

1)(

1)(

1)()( zzET

zzET

zEKzU d

i

p

.......................... (5.6)

y considerando a Kp (cte proporcional), Kp(1/Ti)=Ki (cte integral) y Kp*Td=Kd (cte

derivativa), se obtiene:

M(k)=Kp*e(k)+Ki*W(k)+Kd*V(k) .......................... (5.7)

En donde:

W(k)=W(k-1)+T/2(e(k)+e(k-1))

V(k)=[e(k)-e(k-1)]/T

T=periodo de muestreo

e=señal de referencia – señal de salida

Page 142: a mis padres - tesis.ipn.mx

La ecuación 5.7 se toma como base para el desarrollo de los programas de

implementación del algoritmo de control PID digital, con el microcontrolador

MC68HC11. A continuación se presentan los diagramas de flujo para la

implementación del PID.

Figura 5.15 Diagrama de Flujo para la Implementación del PID Digital.

Page 143: a mis padres - tesis.ipn.mx

Figura 5.16 Diagrama de flujo de las subrutinas RECTSU y RECTBA

Page 144: a mis padres - tesis.ipn.mx

Figura 5.17 Diagrama de Flujo de la Subrutina PID.

Page 145: a mis padres - tesis.ipn.mx

I

Configuracion del puerto C como salidas

Carga un dato de 0 –FFFF en la localidad PWM.

(PWM) - TBajo

(PWM) - TAlto

#$FE - PC

PC

STALTO

STBAJO

#$FF - PC

PC

I

Configuracion del puerto C como salidas

Carga un dato de 0 –FFFF en la localidad PWM.

(PWM) - TBajo

(PWM) - TAlto

#$FE - PC

PC

STALTO

STBAJO

#$FF - PC

PC

ST ALTO

(T ALTO) IX

(IX)-1

=0?

R

NO

SI

ST BAJO

(T BAJO) IX

(IX)-1

=0?

R

NO

SI

ST ALTO

(T ALTO) IX

(IX)-1

=0?

R

NO

SI

ST ALTO

(T ALTO) IX

(IX)-1

=0?

R

NO

SI

ST BAJO

(T BAJO) IX

(IX)-1

=0?

R

NO

SI

ST BAJO

(T BAJO) IX

(IX)-1

=0?

R

NO

SI

Figura 5.17 Diagramas de Flujo para la Generación del PWM

Page 146: a mis padres - tesis.ipn.mx

5.1.5 Descripción del Sistema de Control del Manipulador Robótico R3GL. Para controlar el movimiento de las articulaciones del manipulador y tomando en

cuenta que se gobiernan 3 articulaciones, es necesario manejar, en tres

microcontroladores, el algoritmo de control PID, uno por cada articulación (los

programas de implementación se incluyen en el Anexo 4).

El sistema de control está compuesto por 4 microprocesadores, los tres para las

articulaciones, que trabajan bajo la configuración de esclavos y uno principal que

trabaja en configuración de Maestro, el cual habrá de indicar a los esclavos las

posiciones deseadas para cada articulación, de acuerdo al vector de posición que

corresponda a una orientación y posición deseadas del efector final.

Una vez que las tres articulaciones han llegado a la posición deseada, estas

mandan una señal de confirmación al Maestro, para que se proceda con la carga

de datos de la nueva posición que se desea del manipulador. En la figura 5.18 se

muestra, de manera esquemática, el sistema de control del manipulador robótico,

en esta se incluye una computadora que tiene como función en el sistema el

cálculo de parámetros fuera de línea (Los diagramas de conexión se incluyen en el

Anexo 5).

MCS

68HC11

FA

BUS

BH M

MCM

68HC11

BUS

MCS

68HC11

T A

BUS

BH M

MCS

68HC11

SA

BUS

BH M

GP

GP

GP

NP

SP

SP

SP

MCS

68HC11

FA

BUS

BH M

MCM

68HC11

BUS

MCS

68HC11

T A

BUS

BH M

MCS

68HC11

T A

BUS

BH M

MCS

68HC11

SA

BUS

BH M

MCS

68HC11

SA

BUS

BH M

GP

GP

GP

NP

SP

SP

SP

Figura 5.18 Diagrama esquemático del sistema de control del manipulador robótico R3GL

Page 147: a mis padres - tesis.ipn.mx

5.1.6 Estado actual del Proyecto de Investigación.

Actualmente, el manipulador robótico R3GL, puede generar trayectorias que han

sido calculadas fuera de línea, alimentando al sistema de control únicamente la

base de datos que conforma la trayectoria deseada (vectores de posición angular

para la generación de la trayectoria). Hasta este punto, es posible pensar en incluir

dentro del control del sistema, la técnica de control por par calculado, para poder

comprobar los resultados derivados del análisis dinámico de la trayectoria (los

torques calculados para condiciones dinámicas de movimiento). En tanto que lo

referente a la solución a la cinemática directa e inversa ha sido plenamente

resuelta y se puede comenzar a generar trayectorias especificas para éste

manipulador.

Page 148: a mis padres - tesis.ipn.mx

CONCLUSIONES

Page 149: a mis padres - tesis.ipn.mx

CONCLUSIONES. La metodología para la generación de trayectorias que aquí se presenta, ha

demostrado, hasta el momento, ser adecuada para el propósito que se persigue,

que es su aplicación en la programación fuera de línea de manipuladores

robóticos.

Los resultados del análisis cinemático, que derivan en la determinación de los

vectores de posición angular, a partir de la solución a la cinemática inversa, han

demostrado ser correctos; toda vez que, en la simulación virtual del manipulador

se observa que, efectivamente, éste genera la trayectoria deseada.

En cuanto a los resultados derivados del análisis dinámico, estos muestran, para

una misma trayectoria de análisis considerando diferentes condiciones de carga,

una correspondencia cualitativa, pues se conserva la tendencia de demanda de

torque en las articulaciones del manipulador. Mientras que en lo cuantitativo, se

observa una mayor demanda de torque en las articulaciones, derivado de la

consideración de que la masa a manipular es mayor.

Para un manipulador robótico comercial, basta con realizar un análisis cinemático

de la trayectoria, puesto que es muy difícil que se pueda manipular el torque

entregado a las articulaciones por los motores, debido a la configuración del

sistema de control del propio manipulador. Por lo que, solo basta el conocer las

dimensiones físicas de este, así como sus capacidades de movimiento, para

establecer el modelo matemático que gobierna el movimiento del manipulador y, a

partir de esto y de la tarea a desempeñar por este, obtener la información

necesaria para la generación de la trayectoria deseada, sin necesidad de detener

la línea de producción dentro de la cual se encuentre instalado el manipulador,

reduciendo con esto, los tiempos muertos que se derivan de la programación de

un robot en línea.

Page 150: a mis padres - tesis.ipn.mx

En el área experimental, la metodología que aquí se presenta, puede aplicarse de

manera completa, ya que la información derivada del análisis dinámico se emplea

para el diseño y verificación de las técnicas de control bajo las cuales habrá de

regirse el comportamiento dinámico del manipulador.

El trabajo experimental que se ha desarrollado hasta el momento, ha permitido

verificar hasta ahora, lo correspondiente al análisis cinemático en un prototipo real.

Pues las técnicas de control utilizadas en este, contemplan solamente un control

por posición, en donde las variables velocidad, aceleración y, por consiguiente,

torque, tienen el carácter de variables secundarias. Ahora, una vez que ya se

puede obtener la información derivada del análisis dinámico, que es el

comportamiento del torque aplicado en una articulación a lo largo del tiempo, es

posible pensar en migrar a esta variable, el torque aplicado, a la categoría de

variable principal a controlar.

Dado que la información que se deriva de un análisis dinámico de un manipulador

robótico, es de gran interés para los diferentes actores que intervienen en el

diseño de un robot, como son:

El ingeniero mecánico, para el cual la magnitud de los torques que actúan en las

articulaciones del robot, le permitirá evaluar el diseño estructural de este, así como

de los elementos considerados para la transmisión de potencia mecánica, ya que

estará en condiciones de determinar los esfuerzos bajo los cuales se encuentran

sometidos los elementos que constituyen al manipulador.

Y, para el ingeniero electrónico, que derivado del análisis dinámico, podrá

implementar técnicas de control adecuadas para que el actuador pueda

contrarrestar la inercia de los elementos en movimiento para que se presente el

comportamiento dinámico del robot que se requiere durante una tarea específica.

Como trabajo futuro se recomienda realizar:

Page 151: a mis padres - tesis.ipn.mx

• El modelado de un manipulador en ANSYS®, con objeto de optimizar el

diseño estructural de este,

• El modelado en ADAMS® para comparar los resultados de una simulación

dinámica con aquellos que se obtienen a partir de los listados que aquí se

presentan para la solución a la dinámica en MATlab®,

• La generalización de la solución que aquí se presenta para manipuladores

de 6 grados de libertad, la cual solamente consiste en agregar algunos

términos a las ecuaciones que aquí se presentan,

• La optimización a los listados de solución a la Cinemática y Dinámica para

poder obtener resultados para diferentes manipuladores a partir de los

parámetros de Denavit y Hartenberg,

• El implementar un control por torque para manipuladores robóticos a partir

de la información que se obtiene del análisis dinámico para la generación

de trayectorias.

Es importante señalar que, el tema que aquí se aborda, ha demostrado ser de

gran interés, puesto que los avances de este trabajo se han estado publicando en

la dirección http://pathfinder.esimez.ipn.mx o bien, http://robotica.mexico.com.mx

de la Internet; página que ha sido consultada hasta el momento, desde su fecha

de publicación en el mes de abril de este año, en más de 300 ocasiones.

Page 152: a mis padres - tesis.ipn.mx

REFERENCIAS [1] Regh, J. “Introduction to Robotics in CIM Systems”; 3rd Edition Prentice Hall, 1997 [2] “Robot” The Encyclopedia Britannica,

26th ed., 1998 [3] Dunbar, R. “Robotics, past, present and future”; April 6th, 1999 http://robotics.stanford.edu [4] James, A.; Engelberger, J. “Robot” The Encyclopedia Americana, 1994 [5] “History of robotics and robots” www.robotics.com [6] “Automation” The Encyclopedia Britannica: Macropedia 26th ed., 1998 [7] “A short story of Robots” http://darkstar.engr.wisc.edu/zwideel/outreach/histrob.html [8] “Development of the Industrial Robot” www.robot.co.jp [9] McKerrow, P.J. “Introduction to Robotics” Addison Wesley, 1991 [10] “Robot” Encyclopedia Encarta 99 199 [11] Carretero, J.A.; Nahon, M.; Bucklam, B.; Gosselin, C.M.: “Kinematic

Analysis of a Three-DOF Mechanism for Telescope Applications” Proceedings of the 1997 ASME Design Engineering technical Conference

and Computers in Engineering Conference September 14-17, 1997, Sacramento, California

Page 153: a mis padres - tesis.ipn.mx

[12] Carretero, J.A.; Podorodeski, R.P.; Nahon, M.; “Architecture Optimization of a 3-DOF Parallel Mechanism”

Proceedings of the 1998 ASME Design Engineering Technical Conference 25th Biennial Mechanism Conference September 13-16, 1998, Atlanta, Georgia [13] Notash, L.; “Research Activities Report” Queen’s University 1999, Ontario, Canada www.queens.edu [14] Doty, K.L.; “Kinematic Analysis of the ARID Manipulator” NASA, Summer faculty fellowship program Kennedy Space Center Summer 1992 [15] Fu, K.S.; Gonzalez, R.C.; Lee, C.S.G.; “Robótica: Control, Detección, Visión

e Inteligencia” McGraw Hill, 1990 [16] Palacios Montufar, C. Merchán Cruz, E.A.; Notas de Clase 2000 [17] Craig, J.; “Introduction to Robotics: Mechanics and Control” Addison Wesley, 1989 [18] Baraff, D. “Linear Time Dynamics using Lagrange Multipliers” Computer Graphics Proceedings, Annual Conference Series, 1996 Robotics Institute, Carnegie Mellon University August 4-9, 1996, New Orleans [19] Murray, R.M.; Li,Z.; Sastry, S.S.; “A Mathematical Introduction to Robotic

Manipulation” CRC Press, Inc., 1994 [20] Aguirre, H.; “Modelación y Simulación de Sistemas Electromecánicos Bajo

Control ” Tesis de Maestria, SEPI – ESIME 1998 [21] Parking, R.E.; “Applied Robotic Analysis” Prentice Hall, 1991 [22] Corke, P.I.; “Robotics Toolbox” Division of Manufacturing Technology Preston, Australia July 1999

Page 154: a mis padres - tesis.ipn.mx

[23] Duffy, C.; “Precisions on the Generalized Inverses Theory ” University of Florida 1993 [24] Kupiers, J.B.; “Quaternions and Rotation Sequences” Princeton University Press Princeton, New Jersey 1999 [25] Wheeler, M.D.; Katsushi, I. “Iterative Estimation of Rotation and Translation

using the Quaternion” School of Computer Science Carnegie Mellon University Pittsburgh, PA December, 1995 [26] Noyes, P. “From Bit-String to Quaternions” Stanford Linear Accelerator Center Stanford University April, 1991 [27] Joy, K. “Quaternions” Visualization and Graphic Research Laboratory Department of Computer Science University of California, Davis 1994 [28] Paul, G.; Ikeuchi, K. “Representing the Motion of Objects using Dual

Quaternions and its Applications” Robotics Institute Carnegie Mellon University Pittsburgh, PA 1997 [29] Goddard, J.S.; Abidi, M.A. “Pose and Motion Estimation Using Dual

Quaternions – Based Extended Kalman Filtering” Oak Ridge National Laboratory University of Tennessee 1996 [30] Shoham, M. “A Note on Clifford’s Derivation of Bi-quaternions” Tenth World Congress on the Theory of machine and Mechanisms June, 1999

Page 155: a mis padres - tesis.ipn.mx

[31] Ogata, K. “Ingeniería de Control Moderna” Prentice-Hall 1998 [32] Dorf, R. “Modern Control Systems” University of Santa Clara 1973 [33] Tou, J.T. “Digital and Sampled-data Control Systems” McGraw-Hill 1960 [34] Nakamura, S. “Análisis Numérico y Visualización Gráfica con Matlab® ” Prentice-Hall 1997 [35] Mason, M.T. “Mechanics of Robotic Manipulation” M.I.T. 1999 [36] Doty, K.L.; Schwartz, E.M. “Spatial Freedom, Singularity Surfaces and

Workspaces of Serial Kinematic Chains” Machine Intelligence Laboratory Department of Electrical Engineering University of Florida 1991 [37] Doty, K.L. “An Essay on the Application of Weighted Generalized – Inverses

in Robotics” Machine Intelligence Laboratory Department of Electrical Engineering University of Florida 1992 [38] Doty, K.L. “Adjustments to the Theory on Singularity – Robust Inverses” Machine Intelligence Laboratory Department of Electrical Engineering University of Florida 1992 [39] Xu, Y.; Nechyba, M. “Fuzzy Inverse Kinematic Mapping: Rule Generation,

Efficiency, and Implementation” Carnegie Mellon University Pittsburgh, PA 1998

Page 156: a mis padres - tesis.ipn.mx

[40] Weisstein, E. “Moore-Penrose Generalized Matrix Inverse” World of Mathematics http://mathworld.wolfram.com/Moore-PenroseGeneralizedMatrixInverse.html [41] Cheng, H.H.; Thompson, S. “Programming with Dual Numbers and its

Applications in Mechanisms Design” Engineering with Computers Vol 10, No. 4, pp. 212-223 1994 [42] Cheng, H.H.; Thompson, S. “Dual Polynomials and Complex Numbers of

Spatial Mechanisms” Proceedings of the 1996 ASME Design Engineering Conference and

Computers in Engineering Conference. August 1996 [43] Cheng, H.H.; Gonzalez, P. “Development of a Software Library Functions for

Analysis of Spatial Mechanisms” Proceedings of the 5th Applied Mechanisms and Robotics Conference. Cincinnati, OH October, 1997 [44] Hollerbach, J.M. “Robotic Analysis” Novembre, 1999 [45] Brodsky, V.; Shoham, M. “Dual Number Representation of Rigid Body

Dynamics” Department of Mechanical Engineering Israel Institute of Technology

1996 [46] Cheng, H.; Gupta, K.C. “Vectorization of Robot Inverse Dynamics on a

Pipelined Vector Processor” IEEE Trans. on Robbotics and Automation Vol 9, No. 6, pp. 858 - 863 1998

[47] Doty, K.; English III, J.D. “A three-point velocity approach to robot motion control” 4th International Robot Board Capri, Italy 1994

[48] Emiris, I. “Force Closure Grasp of High Quality” Advanced Robotics Laboratory Robotics Institute

Carnegie Mellon University 1994

Page 157: a mis padres - tesis.ipn.mx

[49] Zefran, M.; Brdick, J. “Design of Switching Controllers for Systems with Changing Dynamics” IEEE Conference on Decision Control 1998

[50] Ostrowski, J.P.; “The Mechanics and Control of UndulatoryRobotic

Locomotion” PhD.Thesis

California Institute of Technology 1996 [51] Van der Smagt,P.; “Visual Robot Guidance using Neural Networks” PhD.Thesis

University of Amsterdam 1996 [52] “Pertenece el IPN a la Red Mexicana de Robótica” Gaceta Politécnica IPN 15 de Marzo, 2000 [53] Secretaria de Comercio y Fomento Industrial www.secofi.gob.mx [54] Díaz de León, V.M.;“Metodología para el Diseño de un Robot Manipulador

Industrial” Tesis de Maestría SEPI-ESIME-IPN 1993 [55] Ramiro López, A.;“Análisis Cinemático y Dinámico de un Manipulador

Robótico con Tres Grados de Libertad” Tesis de Maestría SEPI-ESIME-IPN 1993 [56] Rojas Garnica, J.C.;“Diseño de un Mecanismo Atornillador para un Brazo

Manipulador Robótico” Tesis de Maestría SEPI-ESIME-IPN 1997 [57] Gonzáles Sánchez, A. “Desarrollo de un Simulador para el Control de un

Brazo Robótico” Tesis de Maestría SEPI-ESIME-IPN 1993

Page 158: a mis padres - tesis.ipn.mx

ANEXOS

Page 159: a mis padres - tesis.ipn.mx

ANEXO 1. Programas en Matlab® function [M]=CDmov(VV,VC) % función desarrollada por Emmanuel Merchán % construye la matriz de un robot MINIMOVER % a partir de dos vectores de entrada % VV vector variable [theta1 ... theta6] % VC vector constante [L1 L2 L3 L6] VV=VV*pi/180 t1=[VV(1) ]; t2=[VV(2) ]; t3=[VV(3) ]; t4=[VV(4) ]; t5=[VV(5) ]; L1=[VC(1) ]; L2=[VC(2) ]; L3=[VC(3) ]; L4=[VC(4) ]; M(1,1)=(cos(t1)*cos(t5)*cos(t2+t3+t4)-sin(t1)*sin(t5)); M(1,2)=(-cos(t2+t3+t4)*sin(t5)*cos(t1)-sin(t1)*cos(t5)); M(1,3)=-cos(t1)*sin(t2+t3+t4); M(1,4)=-L4*cos(t1)*sin(t2+t3+t4)+L3*cos(t1)*cos(t2+t3)+L2*cos(t1)*cos(t2); M(2,1)=cos(t5)*sin(t1)*cos(t2+t3+t4)+cos(t1)*sin(t5); M(2,2)=-sin(t5)*sin(t1)*cos(t2+t3+t4)+cos(t1)*cos(t5); M(2,3)=-sin(t1)*sin(t2+t3+t4); M(2,4)=sin(t1)*(-L4*sin(t2+t3+t4)+L3*cos(t2+t3)+L2*cos(t2)); M(3,1)=cos(t5)*sin(t2+t3+t4); M(3,2)=sin(t5)*sin(t2+t3+t4); M(3,3)=cos(t2+t3+t4); M(3,4)=L4*cos(t2+t3+t4)+L3*sin(t2+t3)+L2*sin(t2)+L1; M(4,1)=0; M(4,2)=0; M(4,3)=0; M(4,4)=1;

Page 160: a mis padres - tesis.ipn.mx

function [kk]=Newton(M,vv) %Función desarrollada por Emmanuel Merchán %Resuelve el problema cinemático inverso a partir de la matriz de entrada [M] %que contiene la orientación del efector final con repecto a la base nx...az %y la posición deseada px,py y pz. damp=0.001; VC=[300 250 160 72]; %t1=input('Valor inicial de theta1= '); %t2=input('Valor inicial de theta2= '); %t3=input('Valor inicial de theta3= '); %t4=input('Valor inicial de theta4= '); %t5=input('Valor inicial de theta5= '); t1=vv(1)*pi/180; t2=vv(2)*pi/180; t3=vv(3)*pi/180; t4=vv(4)*pi/180; t5=vv(5)*pi/180; for n=1:1000 t1p=t1+damp; t2p=t2+damp; t3p=t3+damp; t4p=t4+damp; t5p=t5+damp; J(1,1)=(f1(t1p,t2,t3,t4,t5,M)-(f1(t1,t2,t3,t4,t5,M)))/damp; J(1,2)=(f1(t1,t2p,t3,t4,t5,M)-(f1(t1,t2,t3,t4,t5,M)))/damp; J(1,3)=(f1(t1,t2,t3p,t4,t5,M)-(f1(t1,t2,t3,t4,t5,M)))/damp; J(1,4)=(f1(t1,t2,t3,t4p,t5,M)-(f1(t1,t2,t3,t4,t5,M)))/damp; J(1,5)=(f1(t1,t2,t3,t4,t5p,M)-(f1(t1,t2,t3,t4,t5,M)))/damp; J(2,1)=(f2(t1p,t2,t3,t4,t5,M)-f2(t1,t2,t3,t4,t5,M))/damp; J(2,2)=(f2(t1,t2p,t3,t4,t5,M)-f2(t1,t2,t3,t4,t5,M))/damp; J(2,3)=(f2(t1,t2,t3p,t4,t5,M)-f2(t1,t2,t3,t4,t5,M))/damp; J(2,4)=(f2(t1,t2,t3,t4p,t5,M)-f2(t1,t2,t3,t4,t5,M))/damp; J(2,5)=(f2(t1,t2,t3,t4,t5p,M)-f2(t1,t2,t3,t4,t5,M))/damp; J(3,1)=(f3(t1p,t2,t3,t4,t5,M)-f3(t1,t2,t3,t4,t5,M))/damp; J(3,2)=(f3(t1,t2p,t3,t4,t5,M)-f3(t1,t2,t3,t4,t5,M))/damp; J(3,3)=(f3(t1,t2,t3p,t4,t5,M)-f3(t1,t2,t3,t4,t5,M))/damp; J(3,4)=(f3(t1,t2,t3,t4p,t5,M)-f3(t1,t2,t3,t4,t5,M))/damp; J(3,5)=(f3(t1,t2,t3,t4,t5p,M)-f3(t1,t2,t3,t4,t5,M))/damp; J(4,1)=(f4(t1p,t2,t3,t4,t5,M)-f4(t1,t2,t3,t4,t5,M))/damp; J(4,2)=(f4(t1,t2p,t3,t4,t5,M)-f4(t1,t2,t3,t4,t5,M))/damp; J(4,3)=(f4(t1,t2,t3p,t4,t5,M)-f4(t1,t2,t3,t4,t5,M))/damp; J(4,4)=(f4(t1,t2,t3,t4p,t5,M)-f4(t1,t2,t3,t4,t5,M))/damp; J(4,5)=(f4(t1,t2,t3,t4,t5p,M)-f4(t1,t2,t3,t4,t5,M))/damp; J(5,1)=(f5(t1p,t2,t3,t4,t5,M)-f5(t1,t2,t3,t4,t5,M))/damp; J(5,2)=(f5(t1,t2p,t3,t4,t5,M)-f5(t1,t2,t3,t4,t5,M))/damp; J(5,3)=(f5(t1,t2,t3p,t4,t5,M)-f5(t1,t2,t3,t4,t5,M))/damp; J(5,4)=(f5(t1,t2,t3,t4p,t5,M)-f5(t1,t2,t3,t4,t5,M))/damp; J(5,5)=(f5(t1,t2,t3,t4,t5p,M)-f5(t1,t2,t3,t4,t5,M))/damp; J(6,1)=(f6(t1p,t2,t3,t4,t5,M)-f6(t1,t2,t3,t4,t5,M))/damp; J(6,2)=(f6(t1,t2p,t3,t4,t5,M)-f6(t1,t2,t3,t4,t5,M))/damp; J(6,3)=(f6(t1,t2,t3p,t4,t5,M)-f6(t1,t2,t3,t4,t5,M))/damp; J(6,4)=(f6(t1,t2,t3,t4p,t5,M)-f6(t1,t2,t3,t4,t5,M))/damp;

Page 161: a mis padres - tesis.ipn.mx

J(6,5)=(f6(t1,t2,t3,t4,t5p,M)-f6(t1,t2,t3,t4,t5,M))/damp; J(7,1)=(f7(t1p,t2,t3,t4,t5,M)-f7(t1,t2,t3,t4,t5,M))/damp; J(7,2)=(f7(t1,t2p,t3,t4,t5,M)-f7(t1,t2,t3,t4,t5,M))/damp; J(7,3)=(f7(t1,t2,t3p,t4,t5,M)-f7(t1,t2,t3,t4,t5,M))/damp; J(7,4)=(f7(t1,t2,t3,t4p,t5,M)-f7(t1,t2,t3,t4,t5,M))/damp; J(7,5)=(f7(t1,t2,t3,t4,t5p,M)-f7(t1,t2,t3,t4,t5,M))/damp; J(8,1)=(f8(t1p,t2,t3,t4,t5,M)-f8(t1,t2,t3,t4,t5,M))/damp; J(8,2)=(f8(t1,t2p,t3,t4,t5,M)-f8(t1,t2,t3,t4,t5,M))/damp; J(8,3)=(f8(t1,t2,t3p,t4,t5,M)-f8(t1,t2,t3,t4,t5,M))/damp; J(8,4)=(f8(t1,t2,t3,t4p,t5,M)-f8(t1,t2,t3,t4,t5,M))/damp; J(8,5)=(f8(t1,t2,t3,t4,t5p,M)-f8(t1,t2,t3,t4,t5,M))/damp; J(9,1)=(f9(t1p,t2,t3,t4,t5,M)-f9(t1,t2,t3,t4,t5,M))/damp; J(9,2)=(f9(t1,t2p,t3,t4,t5,M)-f9(t1,t2,t3,t4,t5,M))/damp; J(9,3)=(f9(t1,t2,t3p,t4,t5,M)-f9(t1,t2,t3,t4,t5,M))/damp; J(9,4)=(f9(t1,t2,t3,t4p,t5,M)-f9(t1,t2,t3,t4,t5,M))/damp; J(9,5)=(f9(t1,t2,t3,t4,t5p,M)-f9(t1,t2,t3,t4,t5,M))/damp; J(10,1)=(f10(t1p,t2,t3,t4,t5,VC,M)-f10(t1,t2,t3,t4,t5,VC,M))/damp; J(10,2)=(f10(t1,t2p,t3,t4,t5,VC,M)-f10(t1,t2,t3,t4,t5,VC,M))/damp; J(10,3)=(f10(t1,t2,t3p,t4,t5,VC,M)-f10(t1,t2,t3,t4,t5,VC,M))/damp; J(10,4)=(f10(t1,t2,t3,t4p,t5,VC,M)-f10(t1,t2,t3,t4,t5,VC,M))/damp; J(10,5)=(f10(t1,t2,t3,t4,t5p,VC,M)-f10(t1,t2,t3,t4,t5,VC,M))/damp; J(11,1)=(f11(t1p,t2,t3,t4,t5,VC,M)-f11(t1,t2,t3,t4,t5,VC,M))/damp; J(11,2)=(f11(t1,t2p,t3,t4,t5,VC,M)-f11(t1,t2,t3,t4,t5,VC,M))/damp; J(11,3)=(f11(t1,t2,t3p,t4,t5,VC,M)-f11(t1,t2,t3,t4,t5,VC,M))/damp; J(11,4)=(f11(t1,t2,t3,t4p,t5,VC,M)-f11(t1,t2,t3,t4,t5,VC,M))/damp; J(11,5)=(f11(t1,t2,t3,t4,t5p,VC,M)-f11(t1,t2,t3,t4,t5,VC,M))/damp; J(12,1)=(f12(t1p,t2,t3,t4,t5,VC,M)-f12(t1,t2,t3,t4,t5,VC,M))/damp; J(12,2)=(f12(t1,t2p,t3,t4,t5,VC,M)-f12(t1,t2,t3,t4,t5,VC,M))/damp; J(12,3)=(f12(t1,t2,t3p,t4,t5,VC,M)-f12(t1,t2,t3,t4,t5,VC,M))/damp; J(12,4)=(f12(t1,t2,t3,t4p,t5,VC,M)-f12(t1,t2,t3,t4,t5,VC,M))/damp; J(12,5)=(f12(t1,t2,t3,t4,t5p,VC,M)-f12(t1,t2,t3,t4,t5,VC,M))/damp; f(1)=f1(t1,t2,t3,t4,t5,M); f(2)=f2(t1,t2,t3,t4,t5,M); f(3)=f3(t1,t2,t3,t4,t5,M); f(4)=f4(t1,t2,t3,t4,t5,M); f(5)=f5(t1,t2,t3,t4,t5,M); f(6)=f6(t1,t2,t3,t4,t5,M); f(7)=f7(t1,t2,t3,t4,t5,M); f(8)=f8(t1,t2,t3,t4,t5,M); f(9)=f9(t1,t2,t3,t4,t5,M); f(10)=f10(t1,t2,t3,t4,t5,VC,M); f(11)=f11(t1,t2,t3,t4,t5,VC,M); f(12)=f12(t1,t2,t3,t4,t5,VC,M); %ds= -J\f'; ds=pinv(J)*(-f'); t1=t1+ds(1); t2=t2+ds(2); t3=t3+ds(3); t4=t4+ds(4); t5=t5+ds(5); t=[t1 t2 t3 t4 t5];

Page 162: a mis padres - tesis.ipn.mx

kk=t*180/pi; %fprintf('n=%2.0f, t1=%12.5e, t2=%12.5e, t3=%12.5e, t4=%12.5e, t5=%12.5e,', n,kk(1),kk(2),kk(3),kk(4),kk(5)) %fprintf(' f(1)=%10.2e, f(2)=%10.2e, f(3)=%10.2e, f(4)=%10.2e, f(5)=%10.2e, f(6)=%10.2e, f(7)=%10.2e, f(8)=%10.2e, f(9)=%10.2e, f(10)=%10.2e, f(11)=%10.2e, f(12)=%10.2e\n', f(1), f(2), f(3), f(4), f(5), f(6), f(7), f(8), f(9), f(10), f(11), f(12)) if (abs(f(1))<1.0e-9 & abs (f(2))<1.0e-9 & abs (f(3))<1.0e-9 & abs (f(4))<1.0e-9 & abs (f(5))<1.0e-9 & abs (f(6))<1.0e-9 & abs (f(7))<1.0e-9 & abs (f(8))<1.0e-9 & abs (f(9))<1.0e-9 & abs (f(10))<1.0e-9 & abs (f(11))<1.0e-9 & abs (f(12))<1.0e-9), break;end end

Page 163: a mis padres - tesis.ipn.mx

%Función num1.m desarrollada por Emmanuel Merchán %determinación de los parámetros necesarios en la formulación %de Lagrange-Euler, primer listado vv=input('vector de posiciones angulares= '); veloc=input('vector de velocidades angulares= '); acc=input('vector de aceleraciones angulares= '); dt1=veloc(1); dt2=veloc(2); dt3=veloc(3); dt4=veloc(4); dt5=veloc(5); acc=acc'; L1=.300; L2=.250; L3=.160; L4=.072; vv=vv*pi/180; t1=vv(1); t2=vv(2); t3=vv(3); t4=vv(4); t5=vv(5); A01=[cos(t1) 0 sin(t1) 0;sin(t1) 0 -cos(t1) 0;0 1 0 L1;0 0 0 1]; A12=[cos(t2) -sin(t2) 0 L2*cos(t2);sin(t2) cos(t2) 0 L2*sin(t2);0 0 1 0; 0 0 0 1]; A23=[cos(t3) -sin(t3) 0 L3*cos(t3);sin(t3) cos(t3) 0 L3*sin(t3);0 0 1 0; 0 0 0 1]; A34=[cos(t4) 0 -sin(t4) 0;sin(t4) 0 cos(t4) 0; 0 -1 0 0;0 0 0 1]; A45=[cos(t5) -sin(t5) 0 0;sin(t5) cos(t5) 0 0;0 0 1 L4; 0 0 0 1]; A05=A01*A12*A23*A34*A45; Q=[0 -1 0 0;1 0 0 0;0 0 0 0;0 0 0 0]; m1=5; m2=8; m3=6; m4=0; m5=2; J1=[(1/3)*m1*L1^2 0 0 -(1/2)*m1*L1;0 0 0 0;0 0 0 0;-(1/2)*m1*L1 0 0 m1]; J2=[(1/3)*m2*L2^2 0 0 -(1/2)*m2*L2;0 0 0 0;0 0 0 0;-(1/2)*m2*L2 0 0 m2]; J3=[(1/3)*m3*L3^2 0 0 -(1/2)*m3*L3;0 0 0 0;0 0 0 0;-(1/2)*m3*L3 0 0 m3]; J4=[(1/3)*m4 0 0 -(1/2)*m4;0 0 0 0;0 0 0 0;-(1/2)*m4 0 0 m4]; J5=[(1/3)*m5*L4^2 0 0 -(1/2)*m5*L4;0 0 0 0;0 0 0 0;-(1/2)*m5*L4 0 0 m5]; U11=Q*A01; U21=Q*A01*A12; U31=Q*A01*A12*A23; U41=Q*A01*A12*A23*A34; U51=Q*A01*A12*A23*A34*A45; U22=A01*Q*A12; U32=A01*Q*A12*A23; U42=A01*Q*A12*A23*A34; U52=A01*Q*A12*A23*A34*A45;

Page 164: a mis padres - tesis.ipn.mx

U33=A01*A12*Q*A23; U43=A01*A12*Q*A23*A34; U53=A01*A12*Q*A23*A34*A45; U44=A01*A12*A23*Q*A34; U54=A01*A12*A23*Q*A34*A45; U55=A01*A12*A23*A34*Q*A45; U111=Q*U11; U211=Q*U21; U311=Q*U31; U411=Q*U41; U511=Q*U51; U221=Q*U22; U321=Q*U32; U421=Q*U42; U521=Q*U52; U331=Q*U33; U431=Q*U43; U531=Q*U53; U441=Q*U44; U541=Q*U54; U551=Q*U55; U212=U221; U312=U321; U412=U421; U512=U521; U222=A01*Q*Q*A12; U322=A01*Q*Q*A12*A23; U422=A01*Q*Q*A12*A23*A34; U522=A01*Q*Q*A12*A23*A34*A45; U332=U22*Q*A23; U432=U22*Q*A23*A34; U532=U22*Q*A23*A34*A45; U442=U32*Q*A34; U542=U32*Q*A34*A45; U552=U42*Q*A45; U313=U331; U413=U431; U513=U531; U323=U332; U423=U432; U523=U532; U333=A01*A12*Q*Q*A23; U433=A01*A12*Q*Q*A23*A34; U533=A01*A12*Q*Q*A23*A34*A45; U443=U33*Q*A34; U543=U33*Q*A34*A45; U553=U43*Q*A45; U414=U441; U514=U541; U424=U442;

Page 165: a mis padres - tesis.ipn.mx

U524=U542; U434=U443; U534=U543; U444=A01*A12*A23*Q*Q*A34; U544=A01*A12*A23*Q*Q*A34*A45; U554=U44*Q*A45; U515=U551; U525=U552; U535=U553; U545=U554; U555=A01*A12*A23*A34*Q*Q*A45; h111=trace(U111*J1*U11')+trace(U211*J2*U21')+trace(U311*J3*U31')+trace(U411*J4*U41')+trace(U511*J5*U51'); h112=trace(U212*J2*U21')+trace(U312*J3*U31')+trace(U412*J4*U41')+trace(U512*J5*U51'); h113=trace(U313*J3*U31')+trace(U413*J4*U41')+trace(U513*J5*U51'); h114=trace(U414*J4*U41')+trace(U514*J5*U51'); h115=trace(U515*J5*U51'); h121=trace(U221*J2*U21')+trace(U321*J3*U31')+trace(U421*J4*U41')+trace(U521*J5*U51'); h122=trace(U222*J2*U21')+trace(U322*J3*U31')+trace(U422*J4*U41')+trace(U522*J5*U51'); h123=trace(U323*J3*U31')+trace(U423*J4*U41')+trace(U523*J5*U51'); h124=trace(U424*J4*U41')+trace(U524*J5*U51'); h125=trace(U525*J5*U51'); h131=trace(U331*J3*U31')+trace(U431*J4*U41')+trace(U531*J5*U51'); h132=trace(U332*J3*U31')+trace(U432*J4*U41')+trace(U532*J5*U51'); h133=trace(U333*J3*U31')+trace(U433*J4*U41')+trace(U533*J5*U51'); h134=trace(U434*J4*U41')+trace(U534*J5*U51'); h135=trace(U535*J5*U51'); h141=trace(U441*J4*U41')+trace(U541*J5*U51'); h142=trace(U442*J4*U41')+trace(U542*J5*U51'); h143=trace(U443*J4*U41')+trace(U543*J5*U51'); h144=trace(U444*J4*U41')+trace(U544*J5*U51'); h145=trace(U545*J5*U51'); h151=trace(U551*J5*U51'); h152=trace(U552*J5*U51'); h153=trace(U553*J5*U51'); h154=trace(U554*J5*U51'); h155=trace(U555*J5*U51'); h211=trace(U211*J2*U22')+trace(U311*J3*U32')+trace(U411*J4*U42')+trace(U511*J5*U52'); h212=trace(U212*J2*U22')+trace(U312*J3*U32')+trace(U412*J4*U42')+trace(U512*J5*U52'); h213=trace(U313*J3*U32')+trace(U413*J4*U42')+trace(U513*J5*U52'); h214=trace(U414*J4*U42')+trace(U514*J5*U52'); h215=trace(U515*J5*U52'); h221=trace(U221*J2*U22')+trace(U321*J3*U32')+trace(U421*J4*U42')+trace(U521*J5*U52');

Page 166: a mis padres - tesis.ipn.mx

h222=trace(U222*J2*U22')+trace(U322*J3*U32')+trace(U422*J4*U42')+trace(U522*J5*U52'); h223=trace(U323*J3*U32')+trace(U423*J4*U42')+trace(U523*J5*U52'); h224=trace(U424*J4*U42')+trace(U524*J5*U52'); h225=trace(U525*J5*U52'); h231=trace(U331*J3*U32')+trace(U431*J4*U42')+trace(U531*J5*U52'); h232=trace(U332*J3*U32')+trace(U432*J4*U42')+trace(U532*J5*U52'); h233=trace(U333*J3*U32')+trace(U433*J4*U42')+trace(U533*J5*U52'); h234=trace(U434*J4*U42')+trace(U534*J5*U52'); h235=trace(U535*J5*U52'); h241=trace(U441*J4*U42')+trace(U541*J5*U52'); h242=trace(U442*J4*U42')+trace(U542*J5*U52'); h243=trace(U443*J4*U42')+trace(U543*J5*U52'); h244=trace(U444*J4*U42')+trace(U544*J5*U52'); h245=trace(U545*J5*U52'); h251=trace(U551*J5*U52'); h252=trace(U552*J5*U52'); h253=trace(U553*J5*U52'); h254=trace(U554*J5*U52'); h255=trace(U555*J5*U52'); h311=trace(U311*J3*U33')+trace(U411*J4*U43')+trace(U511*J5*U53'); h312=trace(U312*J3*U33')+trace(U412*J4*U43')+trace(U512*J5*U53'); h313=trace(U313*J3*U33')+trace(U413*J4*U43')+trace(U513*J5*U53'); h314=trace(U414*J4*U43')+trace(U514*J5*U53'); h315=trace(U515*J5*U53'); h321=trace(U321*J3*U33')+trace(U421*J4*U43')+trace(U521*J5*U53'); h322=trace(U322*J3*U33')+trace(U422*J4*U43')+trace(U522*J5*U53'); h323=trace(U323*J3*U33')+trace(U423*J4*U43')+trace(U523*J5*U53'); h324=trace(U424*J4*U43')+trace(U524*J5*U53'); h325=trace(U525*J5*U53'); h331=trace(U331*J3*U33')+trace(U431*J4*U43')+trace(U531*J5*U53'); h332=trace(U332*J3*U33')+trace(U432*J4*U43')+trace(U532*J5*U53'); h333=trace(U333*J3*U33')+trace(U433*J4*U43')+trace(U533*J5*U53'); h334=trace(U434*J4*U43')+trace(U534*J5*U53'); h335=trace(U535*J5*U53'); h341=trace(U441*J4*U43')+trace(U541*J5*U53'); h342=trace(U442*J4*U43')+trace(U542*J5*U53'); h343=trace(U443*J4*U43')+trace(U543*J5*U53'); h344=trace(U444*J4*U43')+trace(U544*J5*U53'); h345=trace(U545*J5*U53'); h351=trace(U551*J5*U53'); h352=trace(U552*J5*U53'); h353=trace(U553*J5*U53'); h354=trace(U554*J5*U53'); h355=trace(U555*J5*U53'); h411=trace(U411*J4*U44')+trace(U511*J5*U54'); h412=trace(U412*J4*U44')+trace(U512*J5*U54'); h413=trace(U413*J4*U44')+trace(U513*J5*U54');

Page 167: a mis padres - tesis.ipn.mx

h414=trace(U414*J4*U44')+trace(U514*J5*U54'); h415=trace(U515*J5*U54'); h421=trace(U421*J4*U44')+trace(U521*J5*U54'); h422=trace(U422*J4*U44')+trace(U522*J5*U54'); h423=trace(U423*J4*U44')+trace(U523*J5*U54'); h424=trace(U424*J4*U44')+trace(U524*J5*U54'); h425=trace(U525*J5*U54'); h431=trace(U431*J4*U44')+trace(U531*J5*U54'); h432=trace(U432*J4*U44')+trace(U532*J5*U54'); h433=trace(U433*J4*U44')+trace(U533*J5*U54'); h434=trace(U434*J4*U44')+trace(U534*J5*U54'); h435=trace(U535*J5*U54'); h441=trace(U441*J4*U44')+trace(U541*J5*U54'); h442=trace(U442*J4*U44')+trace(U542*J5*U54'); h443=trace(U443*J4*U44')+trace(U543*J5*U54'); h444=trace(U444*J4*U44')+trace(U544*J5*U54'); h445=trace(U545*J5*U54'); h451=trace(U551*J5*U54'); h452=trace(U552*J5*U54'); h453=trace(U553*J5*U54'); h454=trace(U554*J5*U54'); h455=trace(U555*J5*U54'); h511=trace(U511*J5*U55'); h512=trace(U512*J5*U55'); h513=trace(U513*J5*U55'); h514=trace(U514*J5*U55'); h515=trace(U515*J5*U55'); h521=trace(U521*J5*U55'); h522=trace(U522*J5*U55'); h523=trace(U523*J5*U55'); h524=trace(U524*J5*U55'); h525=trace(U525*J5*U55'); h531=trace(U531*J5*U55'); h532=trace(U532*J5*U55'); h533=trace(U533*J5*U55'); h534=trace(U534*J5*U55'); h535=trace(U535*J5*U55'); h541=trace(U541*J5*U55'); h542=trace(U542*J5*U55'); h543=trace(U543*J5*U55'); h544=trace(U544*J5*U55'); h545=trace(U545*J5*U55'); h551=trace(U551*J5*U55'); h552=trace(U552*J5*U55'); h553=trace(U553*J5*U55'); h554=trace(U554*J5*U55'); h555=trace(U555*J5*U55'); num2

Page 168: a mis padres - tesis.ipn.mx

%función num2.m desarrollada por Emmanuel Merchán %para determinar los parámetros de la matriz [D] D(1,1)=trace(U11*J1*U11')+trace(U21*J2*U21')+trace(U31*J3*U31')+trace(U41*J4*U41')+trace(U51*J5*U51'); D(1,2)=trace(U22*J2*U21')+trace(U32*J3*U31')+trace(U42*J4*U41')+trace(U52*J5*U51'); D(2,1)=D(1,2); D(1,3)=trace(U33*J3*U31')+trace(U43*J4*U41')+trace(U53*J5*U51'); D(3,1)=D(1,3); D(1,4)=trace(U44*J4*U41')+trace(U54*J5*U51'); D(4,1)=D(1,4); D(1,5)=trace(U55*J5*U51'); D(5,1)=D(1,5); D(2,2)=trace(U22*J2*U22')+trace(U32*J3*U32')+trace(U42*J4*U42')+trace(U52*J5*U52'); D(2,3)=trace(U33*J3*U32')+trace(U43*J4*U42')+trace(U53*J5*U52'); D(2,4)=trace(U44*J4*U42')+trace(U54*J5*U52'); D(2,5)=trace(U55*J5*U52'); D(3,2)=D(2,3); D(4,2)=D(2,4); D(5,2)=D(2,5); D(3,3)=trace(U33*J3*U33')+trace(U43*J4*U43')+trace(U53*J5*U53'); D(3,4)=trace(U44*J4*U43')+trace(U54*J5*U53'); D(3,5)=trace(U55*J5*U53'); D(4,3)=D(3,4); D(5,3)=D(3,5); D(4,4)=trace(U44*J4*U44')+trace(U54*J5*U54'); D(4,5)=trace(U55*J5*U54'); D(5,4)=D(4,5); D(5,5)=trace(U55*J5*U55'); num3

Page 169: a mis padres - tesis.ipn.mx

%función num3.m desarrollada por Emmanuel Merchán %que determina la matriz [h] y la matriz [c] a partir de los %parámetros calculados por las funciones anteriores %y resuelve de manera numérica la formulación de Lagrange Euler %para obtener el valor de las torcas 1..5 r11=[0; 0; -.150; 1]; r22=[-.125; 0; 0; 1]; r33=[-.080; 0; 0; 1]; r44=[0; 0; 0; 1]; r55=[0; 0; -0.036; 1]; grav=[0 0 -9.81 0]; h(1,1)=h111*(dt1^2)+h112*(dt1)*(dt2)+h113*(dt1)*(dt3)+h114*(dt1)*(dt4)+h115*dt1*dt5+h131*dt1*dt3+h132*dt2*dt3+h133*(dt3^2)+h134*dt3*dt4+h135*dt3*dt5+h141*dt1*dt4+h142*dt2*dt4+h143*dt3*dt4+h144*(dt4^2)+h145*dt4*dt5+h151*dt1*dt5+h152*dt2*dt5+h153*dt3*dt5+h154*dt4*dt5+h155*dt5^2; h(2,1)=h211*(dt1^2)+h212*(dt1)*(dt2)+h213*(dt1)*(dt3)+h214*(dt1)*(dt4)+h215*dt1*dt5+h231*dt1*dt3+h232*dt2*dt3+h233*(dt3^2)+h234*dt3*dt4+h235*dt3*dt5+h241*dt1*dt4+h242*dt2*dt4+h243*dt3*dt4+h244*(dt4^2)+h245*dt4*dt5+h251*dt1*dt5+h252*dt2*dt5+h253*dt3*dt5+h254*dt4*dt5+h255*dt5^2; h(3,1)=h311*(dt1^2)+h312*(dt1)*(dt2)+h313*(dt1)*(dt3)+h314*(dt1)*(dt4)+h315*dt1*dt5+h331*dt1*dt3+h332*dt2*dt3+h333*(dt3^2)+h334*dt3*dt4+h335*dt3*dt5+h341*dt1*dt4+h342*dt2*dt4+h343*dt3*dt4+h344*(dt4^2)+h345*dt4*dt5+h351*dt1*dt5+h352*dt2*dt5+h353*dt3*dt5+h354*dt4*dt5+h355*dt5^2; h(4,1)=h411*(dt1^2)+h412*(dt1)*(dt2)+h413*(dt1)*(dt3)+h414*(dt1)*(dt4)+h415*dt1*dt5+h431*dt1*dt3+h432*dt2*dt3+h433*(dt3^2)+h434*dt3*dt4+h435*dt3*dt5+h441*dt1*dt4+h442*dt2*dt4+h443*dt3*dt4+h444*(dt4^2)+h445*dt4*dt5+h451*dt1*dt5+h452*dt2*dt5+h453*dt3*dt5+h454*dt4*dt5+h455*dt5^2; h(5,1)=h511*(dt1^2)+h512*(dt1)*(dt2)+h513*(dt1)*(dt3)+h514*(dt1)*(dt4)+h515*dt1*dt5+h531*dt1*dt3+h532*dt2*dt3+h533*(dt3^2)+h534*dt3*dt4+h535*dt3*dt5+h541*dt1*dt4+h542*dt2*dt4+h543*dt3*dt4+h544*(dt4^2)+h545*dt4*dt5+h551*dt1*dt5+h552*dt2*dt5+h553*dt3*dt5+h554*dt4*dt5+h555*dt5^2; cc(1,1)=-(m1*grav*U11*r11+m2*grav*U21*r22+m3*grav*U31*r33+ m4*grav*U41*r44+m5*grav*U51*r55); cc(2,1)=-(m2*grav*U22*r22+m3*grav*U32*r33+m4*grav*U42*r44+ m5*grav*U52*r55); cc(3,1)=-(m3*grav*U33*r33+m4*grav*U43*r44+m5*grav*U53*r55); cc(4,1)=-(m4*grav*U44*r44+m5*grav*U54*r55); cc(5,1)=-(m5*grav*U55*r55); torque=D*acc+h+cc; %esta es la ecuación matricial correspondiente a la %formulacion de Lagrange-Euler fprintf('TORQUES N-m\n') fprintf('%12.10e\n', torque(1)) fprintf('%12.10e\n', torque(2)) fprintf('%12.10e\n', torque(3)) fprintf('%12.10e\n', torque(4)) fprintf('%12.10e\n', torque(5))

Page 170: a mis padres - tesis.ipn.mx

%Funcion Traycirc %desarrollada por Emmanuel Merchán %para la generacion de las matrices de tranformación %correspondientes a la trayectoria circular "bc" for n=1:10 t=t+9; a=[-sin(t*pi/180) -cos(t*pi/180) 0 -200-(50*sin(t*pi/180));-cos(t*pi/180) sin(t*pi/180) 0 100+50-50*cos(t*pi/180);0 0 -1 150] end

Page 171: a mis padres - tesis.ipn.mx

ANEXO 2. Listado para el Modelado en Realidad Virtual del Robot Mitsubishi Movemaster. #VRML V2.0 utf8 # # # Este archivo construye un robot Mitsubishi RV-M1 Movemaster EX # en un modelo de realidad virtual WorldInfo { title "Robot Mitsubishi" info "Emmanuel Merchán" }, NavigationInfo { type "EXAMINE" headlight FALSE }, Viewpoint { position -30 35 25 orientation 1 1 0 -1.0 description "First view - From top left" }, Viewpoint { position -8 11 40 orientation 0 0 1 0 description "Second view - From Front" }, Viewpoint { position -30 11 30 orientation 0 1 0 -0.785 description "Third view - From left corner" }, Viewpoint { position -8 50 0 orientation 1 0 0 -1.57 description "Fourth view - From top" }, Viewpoint { position -8 11 -38 orientation 0 1 0 3.14 description "Fifth view - From Back" }, Viewpoint { position -50 11 0 orientation 0 1 0 -1.57 description "Sixth view - From left side" }, PointLight { location 250 400 1000 }, PointLight { location 0 200 -500 }, PointLight { location 0 100 0 }, PointLight { location 0 -100 0 }, PointLight { location 0 -200 -400 }, PointLight { location -140 10 0 }, PointLight {

Page 172: a mis padres - tesis.ipn.mx

location -100 100 3000 }, # Axes Shape { appearance Appearance { material Material { emissiveColor 1.0 1.0 1.0 } } geometry IndexedLineSet { coord Coordinate { point [ 0.0 0.0 0.0, 35.0 0.0 0.0, 0.0 35.0 0.0, 0.0 0.0 35.0, -35.0 0.0 0.0, 0.0 -35.0 0.0, 0.0 0.0 -35.0 ] } coordIndex [ 0, 1, -1, 0, 2, -1, 0, 3, -1, 0, 4, -1, 0, 5, -1, 0, 6, -1 ] } }, Group { children [ DEF Robot Transform { translation 0 0 0 children [ # # Robot Base # # Bottom Plate (1/6) Group { children [ Transform { translation 2.5 0.0 0.0 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.0533333 diffuseColor 0.35 0.35 0.35 } } geometry Box { size 9.75 0.5 7.5 } }, # Front Base Cylinder (2/6) Transform { translation -2.2 2.875 0 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.0533333 diffuseColor 0.35 0.35 0.35 } } geometry Cylinder { height 5.25 radius 2.5 bottom FALSE } } ] },

Page 173: a mis padres - tesis.ipn.mx

# Rear Base Cylinder (3/6) Transform { translation 2.2 2.875 0 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.0533333 diffuseColor 0.35 0.35 0.35 } } geometry Cylinder { height 5.25 radius 2.5 bottom FALSE } } ] }, # Mid Base Cube (4/6) Transform { translation 0.25 2.875 0 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.0533333 diffuseColor 0.35 0.35 0.35 } } geometry Box { size 4.25 5.25 4.8 } } ] }, # Chrome Top Ring (4/6) Transform { translation -2.2 5.625 0 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.1 diffuseColor 0.8 0.8 0.8 } } geometry Cylinder { height .25 radius 1.75 bottom FALSE top FALSE } } ] }, # Top Ring (4/6) Transform { translation -2.2 5.875 0 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.0533333 diffuseColor 0.35 0.35 0.35

Page 174: a mis padres - tesis.ipn.mx

} } geometry Cylinder { height .25 radius 1.75 bottom FALSE top FALSE } } ] } ] } ] } # # Moveable Sections # # Rotating section DEF Waist Transform { translation 0 0 0 rotation 0 1 0,-0.694738781 children [ # Shoulder Cradle Transform { translation -1.75 6 0 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.0533333 diffuseColor 0.35 0.35 0.35 } } geometry IndexedFaceSet { coord Coordinate { point [ 0 0 2.125, 4.25 0 2.125, 4.25 0 -2.125, 0 0 -2.125, 0 2.75 3, 4.25 2.75 3, 4.25 2.75 -3, 0 2.75 -3, 0 4.25 3, 4.25 4.25 3, 4.25 4.25 -3, 0 4.25 -3, ] } coordIndex [ 0,1,2,3,-1, 0,4,5,1,-1, 1,5,6,2,-1, 2,6,7,3,-1, 3,7,4,0,-1, 4,8,9,5,-1, 5,9,10,6,-1, 6,10,11,7,-1, 7,11,8,4,-1, ] normalPerVertex FALSE solid FALSE creaseAngle 0.5 } }

Page 175: a mis padres - tesis.ipn.mx

] }, # Wide Shoulder Cylinder Transform { translation 0 10.75 0 rotation 1 0 0 1.571 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.0533333 diffuseColor 0.57 0.53 0.5 } } geometry Cylinder { height 7 radius 2.5 } } ] }, # Narrow Shoulder Cylinder Transform { translation 0 10.75 0 rotation 1 0 0 1.571 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.0533333 diffuseColor 0.57 0.53 0.5 } } geometry Cylinder { height 9 radius 1.875 } } ] }, # Large Rear Shoulder Quarter Transform { translation 5 10.625 0 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.0533333 diffuseColor 0.57 0.53 0.5 } } geometry Box { size 8.5 3.25 7 } } ] }, # Thin Rear Shoulder Quarter Transform { translation 4.5 12.5 0 children [ Shape { appearance Appearance {

Page 176: a mis padres - tesis.ipn.mx

material Material { ambientIntensity 0.0533333 diffuseColor 0.57 0.53 0.5 } } geometry Box { size 8 0.6 5 } } ] }, # Upper Arm from shoulder to elbow DEF Shoulder Transform { translation 6 -1.25 0 rotation 0 0 1,-0.225878766 center -6 12 0 children [ # Cylindrical Rear Section (1/3) Transform { translation -6 12 0 rotation 1 0 0 1.571 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.0533333 diffuseColor 0.57 0.53 0.5 } } geometry Cylinder { height 4.25 radius 2.625 } } ] }, # Cylindrical Front Section (2/3) Transform { translation -16 12 0 rotation 1 0 0 1.571 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.0533333 diffuseColor 0.57 0.53 0.5 } } geometry Cylinder { height 4.25 radius 1.75 } } ] }, # Cube Mid Section (3/3) Transform { translation -11 12 0 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.0533333

Page 177: a mis padres - tesis.ipn.mx

diffuseColor 0.57 0.53 0.5 } } geometry Box { size 10 3.5 4.25 } } ] } # Fore Arm from elbow to wrist DEF Elbow Transform { translation 11 0 0 rotation 0 0 1,2.374886966 center -27 12 0 children [ # Cylindrical Front Section (1/3) Transform { translation -33 12 0 rotation 1 0 0 1.571 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.0533333 diffuseColor 0.57 0.53 0.5 } } geometry Cylinder { height 2.75 radius 1.625 } } ] }, # Cylindrical Rear Section (2/3) Transform { translation -27 12 0 rotation 1 0 0 1.571 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.0533333 diffuseColor 0.57 0.53 0.5 } } geometry Cylinder { height 2.75 radius 1.625 } } ] }, # Cube Mid Section (3/3) Transform { translation -30 12 0 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.0533333 diffuseColor 0.57 0.53 0.5 }

Page 178: a mis padres - tesis.ipn.mx

} geometry Box { size 6.45 3.25 2.75 } } ] } # Arm from wrist to gripper DEF Wrist Transform { translation -15 0 0 rotation 0 0 1,-0.578211873 center -18 12 0 children [ # Cylindrical Hinge (1/2) Transform { translation -18 12 0 rotation 1 0 0, 1.571 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.0533333 diffuseColor 0.57 0.53 0.5 } } geometry Cylinder { height 1.25 radius 1.675 } } ] }, # Cube Extension Section (2/2) Transform { translation -19.25 12 0 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.0533333 diffuseColor 0.57 0.53 0.5 } } geometry Box { size 1.5 2 1.25 } } ] } # Gripper DEF Hand Transform { translation -0.375 0 0 rotation 1 0 0,0.5 center 0 12 0 children [ # Cylindrical Cuff (1/4) Transform { translation -20 12 0 rotation 0 0 1 1.571 children [ Shape { appearance Appearance { material Material {

Page 179: a mis padres - tesis.ipn.mx

ambientIntensity 0.005 diffuseColor 0.15 0.15 0.15 } } geometry Cylinder { height 1.25 radius 1.625 } } ] }, # Cube Hand Section (2/4) Transform { translation -21.5 12 0 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.005 diffuseColor 0.15 0.15 0.15 } } geometry Box { size 2.5 3 2.25 } } ] } # Cube Top Grip Finger (3/4) DEF Top_Finger Transform { translation 0 0 0 children [ Transform { translation -23.5 13.25 0 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.005 diffuseColor 0.15 0.15 0.15 } } geometry Box { size 2 0.5 0.75 } } ] } ] } # Cube Bottom Grip Finger (4/4) DEF Bottom_Finger Transform { translation 0 0 0 children [ Transform { translation -23.5 10.75 0 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.005 diffuseColor 0.15 0.15 0.15 }

Page 180: a mis padres - tesis.ipn.mx

} geometry Box { size 2 0.5 0.75 } } ] } ] } ] } ] } ] } ] } ] } ] } # # Trigger things on touch # DEF Touch TouchSensor { } ] }

Page 181: a mis padres - tesis.ipn.mx

ANEXO 3. Gráficas correspondientes a las 21 posiciones que conforman la trayectoria abc.

VISTA FRONTAL

Page 182: a mis padres - tesis.ipn.mx
Page 183: a mis padres - tesis.ipn.mx
Page 184: a mis padres - tesis.ipn.mx

VISTA LATERAL DERECHA

Page 185: a mis padres - tesis.ipn.mx
Page 186: a mis padres - tesis.ipn.mx

VISTA SUPERIOR

Page 187: a mis padres - tesis.ipn.mx
Page 188: a mis padres - tesis.ipn.mx
Page 189: a mis padres - tesis.ipn.mx

ANEXO 4. Programas del proyecto de implementación. ;************************************************************************ ;* PROGRAMA QUE IMPLEMENTA EL CONTROL P, PI, PD Y PID PARA EL MOVIMIENTO* ;* DE UN MOTOR DE CD. * ;************************************************************************ ;------------------------------------------------------------------------;************************************************************************ ;* INSTITUTO POLITECNICO NACIONAL * ;* ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA * ;* UNIDAD PROFESIONAL `ADOLFO LOPEZ MATEOS`(ZACATENCO) * ;* INGENIERIA EN CONTROL Y AUTOMATIZACION * ;* PROGRAMA DESARROLLADO POR: VELAZQUEZ SANCHEZ ALEJANDRO T. * ;* RAMIREZ GORDILLO JAVIER * ;************************************************************************ ;***************************************** ;MENSAJE AL LOCALIZAR LA POSICION DESEADA ;***************************************** MEN0 DB 0D,0D,'THETA=',04 ;******************************** ;MENSAJES DEL MOTOR ;******************************** MEN1 DB 'UP',04,0D MEN2 DB 'DWN',04,0D ;***************************** ;REGISTROS PARA LOS SENSORES ;***************************** ROP EQU $1039 ;REGISTRO DE CONFIGURACION DE OPCIONES DEL SISTEMA RAD EQU $1030 ;CONTROL DEL CONVERTIDOR A/D OSU EQU $FFC7 ;SALIDA DE UNA CADENA DE BYTES UTA EQU $FFB8 ;SALIDA DEL ACUMULADOR A COMO CARACTER ASCII ENT1 EQU $1032 ;RESULTADOS DEL CANAL 2 DEL CAD OUR EQU $FFB5 ;REALIZA UNA CONVERSION EN ASCII Y LA SACA POR EL PUERTO PID EQU $B730 ;SUB RUTINA PARA EL CALCULO DEL CONTROL PID ;***************************** ;REGISTROS PARA EL MOTOR ;***************************** RDDC EQU $1007 ;REGISTRO DE DIRECCION DE DATOS DEL PUERTO C RPC EQU $1003 ;REGISTRO DEL PUERTO C

Page 190: a mis padres - tesis.ipn.mx

POS EQU $01F0 ;LOCALIDAD PARA ALMACENAR LA POSICION A BUSCAR PWM EQU $01F4 ;LOCALIDAD QUE CONTIENE EL CICLO DE TRABAJO DEL PWM ERROR EQU $01F6 ;LOCALIDAD QUE CONTIENE EL ERROR DEL SISTEMA MERROR EQU $01F8 ;LOCALIDAD PARA ALMACENAR EL MARGEN DE ERROR LIINF EQU $01FC ;LOCALIDAD QUE CONTIENE EL LIMITE INFERIOR LISUP EQU $01FD ;LOCALIDAD QUE CONTIENE EL LIMITE SUPERIOR ;**************************** ;INICIO DEL PROGRAMA ;**************************** ORG $100 ;LOCALIDAD INICIAL LDAA #$FF ;{ SE CONFIGURAN LOS PINES DEL } STAA RDDC ;{ PUERTO C COMO SALIDAS } GO LDAA #$16 ;@ SE CONFIGURA Y @ STAA RAD ;@ ACTIVA EL CONVERTIDOR @ LDAA #$80 ;@ ANALOGICO/DIGITAL @ STAA ROP ;@ EN MODO MULTICANAL @ JSR DELAY1 ;RETARDO PARA ESTABILIZAR LA CONVERSION LDAA POS ;{ SE CARGA LA POSICION A BUSCAR } SUBA MERROR ;{ Y SE CALCULA EL MARGEN DE ERROR } STAA LIINF ;{ PARA ESTABLECER EL LIMITE INFERIOR } LDAA POS ;@ SE CARGA LA POSICION A BUSCAR @ ADDA MERROR ;@ Y SE CALCULA EL MARGEN DE ERROR @ STAA LISUP ;@ PARA ESTABLECER EL LIMITE SUPERIOR @ LDAA LIINF ;{ SE DETERMINA SI LA POSICION ACTUAL } CMPA ENT1 ;{ ESTA DENTRO DE LOS LIMITES SUPERIOR } BHI RECTSU ;{ E INFERIOR, POR LO QUE DE NO SER ASI } LDAA LISUP ;{ SE CANALIZA A SUB RUTINAS PARA HACER} CMPA ENT1 ;{ LOS CALCULOS NECESARIOS Y CORREGIR } BLO RECTBA ;{ INMEDIATAMENTE HASTA ENCONTRARLA; } LDX #MEN0 ;{ SI LA POSICION SE ENCUENTRA } JSR OSU ;{ DENTRO DEL MARGEN SE ENVIA } LDAA ENT1 ;{ EN MENSAJE DEL VALOR DE } JSR UTA ;{ LA POSICION PREDETERMINADA. } BRA GO RECTSU LDAA POS ;{ AQUI SE HACE LA CORRECCION DE } SUBA ENT1 ;{ LA POSICION DE ACUERDO AL VALOR DEL } STAA ERROR ;{ ERROR GENERADO ENTRE LA POSICION } JSR PID ;{ ACTUAL Y LA DE REFERENCIA, } LDX #MEN1 ;{ ESTE ERROR ES EMPLEADO POR LA } JSR OSU ;{ SUB RUTINA DEL PID PARA CALCULAR EL } LDAA #$FB ;{ VALOR DEL PWM, NECESARIO PARA } STAA RPC ;{ CORREGIR ESTE ERROR. } JSR DELAY ;{ SE CARGA EL DATO QUE PROPORCIONA EL } LDAA #$FF ;{ SENTIDO DE GIRO DEL MOTOR, } STAA RPC ;{ EL CUAL ES ALMACENADO Y SACADO POR EL} BRA GO ;{ PUERTO C. } RECTBA LDAA ENT1 ;{ SE HACE EL CALCULO CORRESPONDIENTE }

Page 191: a mis padres - tesis.ipn.mx

SUBA POS ;{ AL ERROR PARA PROPORCIONARLO A LA } STAA ERROR ;{ SUB RUTINA PID } JSR PID ;{ ESTA SUB RUTINA HACE EL CALCULO DEL } LDX #MEN2 ;{ PWM CORRESPONDIENTE PARA CORREGIR EL } JSR OSU ;{ ERROR. } LDAA #$F7 ;{ CARGA EL DATO QUE PROPORCIONA EL } STAA RPC ;{ SENTIDO DE GIRO DEL MOTOR, } JSR DELAY ;{ EL CUAL ES ALMACENADO SACADO POR EL } LDAA #$FF ;{ PUERTO C } STAA RPC JMP GO DELAY LDX PWM ;{ A QUI CARGAMOS EL DATO DEL PWM QUE } UNO DEX ;{ ARROJO EL CONTROL PID PARA GENERAR } BNE UNO ;{ EL TIEMPO DE ACTIVO ALTO. } RTS ;{ REGRESO DE SUB RUTINA } DELAY1 LDY #$000F ;{ RETARDO CORRESPONDIENTE A LA } DOS DEY ;{ CONFIGURACION DEL DAC } BNE DOS ;{ PARA ESTABILIZAR } RTS ;{ LA CONVERSION} FIN SWI ;{ FIN DE PROGRAMA }

Page 192: a mis padres - tesis.ipn.mx

;*********************************************************************** ;* SUB PROGRAMA CORRESPONDIENTE A EL CALCULO DEL CONTROL PID PARA * ;* GENERAR EL PWM NECESARIO PARA CORREGIR EL ERROR * ;*********************************************************************** ;----------------------------------------------------------------------- ;*********************************************************************** ;* INSTITUTO POLITECNICO NACIONAL * ;* UNIDAD PROFESIONAL ADOLFO LOPEZ MATEOS * ;* ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA * ;* CONTROL Y AUTOMATIZACION * ;* PROGRAMA DESARROLLADO POR: RAMIREZ GORDILLO JAVIER * ;* VELAZQUEZ SANCHEZ ALEJANDRO T * ;*********************************************************************** ;********************************************************* ; DECLARACION DE REGISTROS EMPLEADOS POR EL SUB PROGRAMA ;********************************************************* CP EQU $01F1 ;CONSTANTE PROPORCIONAL CI EQU $01F2 ;CONSTANTE INTEGRAL CD EQU $01F3 ;CONSTANTE DIFERENCIAL PWM EQU $01F4 ;VALOR DEL PWM ERROR EQU $01F6 ;ERROR ACTUAL ERROR1 EQU $01F7 ;ERROR ANTERIOR WK EQU $01F9 ;RESULTADO DE LA PARTE INTEGRACION VK EQU $01FA ;RESULTADO DE LA DIFERENCIACION RESERR EQU $01FE ;LOCALIDAD RESERVADA PARA TRANSFERENCIA DE DATOS RETRO EQU $01FF ;RESULTADO DE LA SECCION A RETRO ALIMENTAR PRO EQU $01EA ;RESULTADO DEL CALCULO PROPORCIONAL INT EQU $01EC :RESULTADO DEL CALCULO INTEGRAL DER EQU $01EE ;RESULTADO DEL CALCULO DERIVATIVO ENT1 EQU $1033 ;CANAL DEL CAD ORG $B730 ;LA SUB RUTINA SE ENCUENTRA EN LA LOCALIDAD

$B730 PID LDAA CP ;CARGA LA CONSTANTE PROPORCIONAL Y AL

MULTIPLICA LDAB ERROR ;POR EL ERROR DE LA SEÑAL Y EL RESULTADO LO MUL ;COLOCA EN LA LOCALIDAD PRO, PARA SER EMPLEADA STD PRO ;POSTERIORMENTE POR EL PROGRAMA. LDAA ERROR ;SE HACE UN PROMEDIO ENTRE LOS ERRORES ACTUAL ADDA ERROR1 ;Y ANTERIOR, SEGUN EL ALGORITMO DEL CONTROL. ADDA WK ;ESTE RESULTADO ES SUMADO AL CALCULO INTEGRAL STAA WK ;PREVIO A ESTE CICLO Y POSTERIORMENTE SE LDAB CI ;ACTUALIZA Y SE ALMACENA EN WK; ESTE RESULTADO MUL ;ES MULTIPLICADO POR LA CONSTANTE INTEGRAL STD INT ;Y ALMACENADO EN INT LDAA ERROR1 ;SE CARGA EL ERROR ACTUAL Y EL ANTERIOR Y SUBA ERROR ;SE RESTAN PARA OBTENER EL ERROR PROMEDIO STAA RESERR ;ESTA RESTA SE ALMACENA EN RESERR LDD RESERR ;EL VALOR DEL ERROR PROMEDIO ES EMPLEADO LDX #$0200 ;PARA CALCULAR EL TIEMPO DE MUESTREO DEL

Page 193: a mis padres - tesis.ipn.mx

IDIV ;ALGORITMO DE CONTROL. STD VK ;ESTE VALOR SE ALMACENA EN VK Y ES

;MULTIPLICADO LDAA CD ;POR LA CONSTANTE PROPORCIONAL Y COLOCANDO EL LDAB VK ;RESULTADO EN VK. MUL ; STD DER ; LDD PRO ;SE SUMAN LOS RESULTADOS CORRESPONDIENTES ADDD INT ;A LA PARTE PROPORCIONAL, INTEGRAL Y

;DERIVATIVA SUBD DER ;PARA QUE ESTE RESULTADO SE ALMACENE EN PWM STD PWM ; LDAA ERROR ;SE ACTUALIZA EL ERROR ANTERIOR Y EL ACTUAL. STAA ERROR1 ; LDAA ENT1 ; STAA RETRO ; RTS ;FIN DE LA SUB RUTINA SWI ;

Page 194: a mis padres - tesis.ipn.mx

PROGRAMA DEL PWM RDDC EQU $1007 RPC EQU $1003 DES EQU $FFC7 INP EQU $FFAC POS EQU $01C0 NEG EQU $01C1 MEN0 DB 'ROTAR PRESIONE (L/R)',04,0D MEN1 DB 'SALIR (E)',04,0D MEN3 DB 'FUERA',04,0D ORG $100 LDAA #$FF STAA RDDC CLR RPC LDAA #$FF STAA RPC LDX #MEN0 JSR DES LDX #MEN1 JSR DES LDAA #$07 STAA POS STAA NEG MAS JSR PWM JSR INP CMPA #$4C BNE MAS1 BRA LEFTH MAS1 JSR PWM JSR INP CMPA #$52 BNE MAS2 BRA RIGHT MAS2 JSR PWM JSR INP CMPA #$45 BNE MAS BRA EXIT PWM LDAA #$FE STAA RPC JSR DELAY LDAA #$FF STAA RPC JSR DELAY2 RTS

Page 195: a mis padres - tesis.ipn.mx

LEFTH INC POS DEC NEG BRA MAS RIGHT DEC POS INC NEG BRA MAS EXIT LDX #MEN3 JSR DES JSR DELAY3 SWI END DELAY LDY POS UNO DEY BNE UNO RTS DELAY2 LDY NEG UNO2 DEY BNE UNO2 RTS DELAY3 LDX #$0005 DOS3 LDY #$FFFF UNO3 DEY BNE UNO3 DEX BNE DOS3 RTS

Page 196: a mis padres - tesis.ipn.mx

ANEXO 5. Diagramas de conexión del manipulador robótico R3GL.

Q?TIP120

Q?TIP31

Q?TIP120

Q?TIP31R?

RESISTOR

R?

RESISTOR

R?

RESISTOR

R?

RESISTOR

12V CD

GND

A -+

M?

MOTOR SERVO

U?

74LS245

A12

A23

A34

A45

A56

A67

A78

A89

G19

DIR1

B118

B2 17

B316

B415

B514

B6 13

B712

B811

5V CD

U?

MC68HC11E9

XT8

EX7

RESET17

IRQ19

XIRQ18

MODB2

PA034

PA133

PA232

PE043

PE145

PE247

PE349

PE444

PE546

PE648

PE750

VRH52

VRL51

PA331

PA430

PA529

PA628

PA727

PB042

PB141

PB240

PB339

PB438

PB537

PB636

PB735

PC09

PC110

PC211

PC312

PC413

PC514

PC615

PC716

PD020

PD121

PD222

PD323

PD424

PD525

MODA3

E5

AS4

R/W6

Diagrama de potencia para giro del motor

Puente H1

Hacia los Puentes H2 y H3

Q?TIP120

Q?TIP31

Q?TIP120

Q?TIP31R?

RESISTOR

R?

RESISTOR

R?

RESISTOR

R?

RESISTOR

12V CD

GND

A -+

M?

MOTOR SERVO

U?

74LS245

A12

A23

A34

A45

A56

A67

A78

A89

G19

DIR1

B118

B2 17

B316

B415

B514

B6 13

B712

B811

5V CD

U?

MC68HC11E9

XT8

EX7

RESET17

IRQ19

XIRQ18

MODB2

PA034

PA133

PA232

PE043

PE145

PE247

PE349

PE444

PE546

PE648

PE750

VRH52

VRL51

PA331

PA430

PA529

PA628

PA727

PB042

PB141

PB240

PB339

PB438

PB537

PB636

PB735

PC09

PC110

PC211

PC312

PC413

PC514

PC615

PC716

PD020

PD121

PD222

PD323

PD424

PD525

MODA3

E5

AS4

R/W6

Q?TIP120

Q?TIP31

Q?TIP120

Q?TIP31R?

RESISTOR

R?

RESISTOR

R?

RESISTOR

R?

RESISTOR

12V CD

GND

A -+

M?

MOTOR SERVO

U?

74LS245

A12

A23

A34

A45

A56

A67

A78

A89

G19

DIR1

B118

B2 17

B316

B415

B514

B6 13

B712

B811

5V CD

U?

MC68HC11E9

XT8

EX7

RESET17

IRQ19

XIRQ18

MODB2

PA034

PA133

PA232

PE043

PE145

PE247

PE349

PE444

PE546

PE648

PE750

VRH52

VRL51

PA331

PA430

PA529

PA628

PA727

PB042

PB141

PB240

PB339

PB438

PB537

PB636

PB735

PC09

PC110

PC211

PC312

PC413

PC514

PC615

PC716

PD020

PD121

PD222

PD323

PD424

PD525

MODA3

E5

AS4

R/W6

Diagrama de potencia para giro del motor

Puente H1

Hacia los Puentes H2 y H3

Page 197: a mis padres - tesis.ipn.mx

5V

5V

FLECHA

FLECHA

FLECHA

BUFFER

HACIA PUENTES "H"

R1K

R1K

R1K

MC68HC11E9

XT8

EX7

RESET17

IRQ19

XIRQ18

MODB 2

PA0 34

PA133

PA232

PE043

PE145

PE247

PE349

PE444

PE546

PE648

PE750

VRH 52

VRL 51

PA331

PA430

PA529

PA628

PA727

PB042

PB141

PB240

PB339

PB438

PB537

PB636

PB735

PC09

PC110

PC211

PC312

PC413

PC514

PC615

PC716

PD020

PD121

PD222

PD323

PD424

PD525

MODA3

E5

AS4

R/W6

74LS245

A12

A23

A34

A45

A56

A67

A78

A89

G19

DIR1

B118

B217

B316

B415

B514

B613

B7 12

B8 11

MORE ANTEBRAZO

MORE BASE

MORE BRAZO

5V

5V

FLECHA

FLECHA

FLECHA

BUFFER

HACIA PUENTES "H"

R1K

R1K

R1K

MC68HC11E9

XT8

EX7

RESET17

IRQ19

XIRQ18

MODB 2

PA0 34

PA133

PA232

PE043

PE145

PE247

PE349

PE444

PE546

PE648

PE750

VRH 52

VRL 51

PA331

PA430

PA529

PA628

PA727

PB042

PB141

PB240

PB339

PB438

PB537

PB636

PB735

PC09

PC110

PC211

PC312

PC413

PC514

PC615

PC716

PD020

PD121

PD222

PD323

PD424

PD525

MODA3

E5

AS4

R/W6

74LS245

A12

A23

A34

A45

A56

A67

A78

A89

G19

DIR1

B118

B217

B316

B415

B514

B613

B7 12

B8 11

MORE ANTEBRAZO

MORE BASE

MORE BRAZO

DIAGRAMA DE CONEXIÓN AL MICROPROCESADOR

Page 198: a mis padres - tesis.ipn.mx

ANEXO 6. Publicación generada de ésta tesis.

Page 199: a mis padres - tesis.ipn.mx
Page 200: a mis padres - tesis.ipn.mx
Page 201: a mis padres - tesis.ipn.mx
Page 202: a mis padres - tesis.ipn.mx
Page 203: a mis padres - tesis.ipn.mx