ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del...

127
940098 S.E.P. S.E.1 .T. D.G.I.T. Cuemavaca, Morelos CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO TECNOLOGICO ceniúet DlNAMlCA DE MANIPULADORES DE ESLABONES RIGIDOS MEDIANTE SIMULACION NUMERICO-GRAFICA. CENTRO DE INFORMACI~ T E S I S CENIDET PARA OBTENER EL GRADO DE: MAESTRO EN CIENCIAS EN INGENIERIA MECANICA. PRES EN TA: MARTIN EDUARDO BALTAZAR LOPEZ Agosto de 1994

Transcript of ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del...

Page 1: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

9 4 0 0 9 8

S.E.P. S.E.1 .T. D.G.I.T.

Cuemavaca, Morelos

CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO TECNOLOGICO

ceniúet DlNAMlCA DE MANIPULADORES DE ESLABONES RIGIDOS MEDIANTE

SIMULACION NUMERICO-GRAFICA.

CENTRO DE I N F O R M A C I ~ T E S I S C E N I D E T

PARA OBTENER EL GRADO DE:

MAESTRO EN CIENCIAS EN INGENIERIA MECANICA.

P R E S E N TA:

MARTIN EDUARDO BALTAZAR LOPEZ

Agosto de 1994

Page 2: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

:entro Nacional de Investigación y Desarrollo Tecnológico ACADEMIA DE LA MAESTRIA EN CIENCIAS EN INGENiERlA MECANICA

Cuernavaca, Mor., a 8 de juiio de 1994.

Dr. Juan Manuel Ricaño Castillo Director del CENIDET P r e s e n t e

At'n.: Dr. Dariusz Srwedowicz Jefe del Departamento de Ingeniería Mecánica.

Por este conducto, hacemos de su conocimiento quo, después de haber sometido a revisión el trabajo de tesis titulado "DiNAMiCA DE MANIPULADORES DE ESLABONES RIGIDOS, MEDIANTE

desarrollado por el Ing Martin Eduardo Baltazar López y habiendo cumplido con todas las correcciones que se le indicaron, estarnos de acuerdo en que se le conceda la autorizacion de impresión de la tesis y la fecha de examen de grado

Sin otro particular, quedamos de usted

SIMULACION NUMERICO-GRAFICA" ,

A t e n t a m e n t e Comisión Revisora

, -

, .,...,.; Q.,

.- ..,;;; . .. , .

.: .. I . . M.C. Cailos.Cordero Cuevas

c c p C P Delia F Barba Puga- Jefe del Depto de Sew Esc Expediente

Inrerior Internado Palrnira S / N C I' 624%)

Tell ( 7 3 ) 18 7 7 41 y ( 7 3 ) 1 2 76 I3

Page 3: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

'Dl SISTEMA NACIONN, DE INSTITtJMS TECNOLOGICOS

Centro Nacional de Investigación y Desarrollo Tecnológico COORD. ACADEMICA

Cuernavaca, Mor., a 25 de julio de 1994.

, Ing. Martín Eduardo Baltazar López CANDIDATO AL GRADO DE MAESTRO EN CIENCIAS EN INGENIERIA MECANICA P R E S E N TE:

Después de haber sometido a revisión su trabajo de tesis titulado:

" DlNAMlCA DE MANIPULADORES DE ESLABONES RIGIDOS, MEDIANTE SIMULACION NUMERICO-GRAFICA "

Y habiendo cumplido con todas las indicaciones que el jurado revisor de tesis hizo, se le comunica que se le concede la autorización para que se proceda a la impresión de la misma, como requisito para la obtención del grado.

Sin otro particular quedo de usted.

A t e n t a m e n t e

C.c.p Sew. Escolares Expediente.

Page 4: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

DEDICO ESTE TRABAJO __.

Con cariño y respeto a mis padres Mart ín y María por su apoyo incondicional que siempre me han brindado.

A mi esposa Crisanta por su alto grado de amor, comprensión y paciencia.

Page 5: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

AGRADEZCO ...

A l Creador por darme la alegría de vivir y experimentar cada momento.

A mis hermanos: Socorro, Leticia, Silvia, Daniel, Juan y Ernesto por compartir grandes momentos conmigo.

A todos mis familiares y amigos por sus enseñanzas y consejos.

A mi director de tesis: Dr. Dariusz Szwedowicz por su asesoría.

A los miembros del jurado revisor: Dr. Octavio Salazar San Andrés, Dr. Dariusz Szwedowicz Wasik, M.I. Ernesto Neri Barrio, M.C. Carlos Cordero Cuevas por las observaciones hechas.

AI director del cenidet: Dr. Juan Manuel Ricaño por el apoyo brindado.

A mis maestros del cenidet.

A mis compaiieros del cenidet.

A todos quienes de alguna manera favorecieron la realización de esta tesis.

Page 6: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

CONTENIDO LISTA DE FIGURAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv

LISTADETABLAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

INTRODUCCION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi

O~JETIVO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi¡¡

... METAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VIII

REVISION BIBLIOGRAFICA RELACIONADA CON EL MODELADO DlNAMlCO DE MANIPULADORES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

1.ASPECTOSGENERALES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1 PROPIEDADES ESPECIFICAS DE UN MANIPULADOR . . . . . . . . . . . . . . . . . . . 2 1.1.1 Cadenas cinernáticas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.1.1.1 Generalidades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 I, 1.1.2 Pares cinemáticos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.1.3 Resolución, repetibilidad y exactitud. . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2 ESTRUCTURA GENERAL DE UN MANIPULADOR . . . . . . . . . . . . . . . . . . . . . . . 7 1.2.1 Grados de libertad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.2.2 Redundancia de grados de libertad de un

manipulador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.2.3 Grados d e libertad falsos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.2.5 Arquitectura del manipulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.3 'CLASlFlCAClON DE MANIPULADORES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.1.2 Capacidades y especificaciones. . . . . . . . . . . . . . . . . . . . . . . : . . . . . . 4

REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 I I I I I . DlNAMlCA DE MANIPULADORES 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.11.1 PROBLEMAS DE LA DlNAMlCA DE MANIPULADORES. . . . . . . . . . . . . . . . . . 15

11.2 CONSIDERACIONES CiNEMATlCAS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 11.2.1 Problema cinernatico directo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

11.2.1.1 Representación de Denavit-Hartenberg y especificación de I

i

Page 7: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

las matrices de elemento . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 11.2.2 Problema cinemático inverso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

11.3 METODO DE LAGRANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 11.3.1 Funci6n de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

11.4 METODO DE NEWTON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 11.4.1 Ecuaciones de Newton-Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

11.5 METODO GENERALIZADO DE D'ALEMBERT . . . . . . . . . . . . . . . . . . . . . . . . . 31 11.5.1 Ecuaciones generalizadas de D'Alembert de movimiento . . . . . . . . . . . 32

11.6 COMPARACION DE LOS METODOS DlNAMlCOS . . . . . . . . . . . . . . . . . . . . . 34

REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

'111 . MODELO DEL MOVIMIENTO NOMINAL DE UN MANIPULADOR . . . . . . . . . 36

111.1 CARACTERISTICAS DEL MANIPULADOR . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

111.2 RESTRICCIONES DEL MANIPULADOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

ARBITRARIO EN MOVIMIENTO NOMINAL . . . . . . . . . . . . . . . . . . . . . . . . . 38 111.3.1 Solución cinemática del manipulador . . . . . . . . . . . . . . . . . . . . . . . . 40

111.3 CALCULO DE LA VELOCIDAD Y LA ACELERACION DE UN PUNTO

111.4 CALCULO DE POSICIONES Y VELOCIDADES PARA UN MANIPULADOR DE TRESESLABONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

IV.' PROPUESTA DEL MODELO DlNAMlCO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

IV.l SOLUCION DE LA ECUACION DlNAMlCA . . . . . . . . . . . . . . . . . . . . . . . . . . 52 IV . l . l Solución analítica de la dinámica de un manipulador de dos eslabones

en un plano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

V . PROGRAMA DE COMPUTO 61

V.1 ALGORITMO Y ESTRUCTURA DEL PROGRAMA . . . . . . . . . . . . . . . . . . . . . . 62

V.2 DIAGRAMA DE FLUJO 3EL PROGRAMA MOTION1 . . . . . . . . . . . . . . . . . . . . 63

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ii

Page 8: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

V.3PRUEBASYRESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 V.3.1 Consideraciones para el modelo físico . . . . . . . . . . . . . . . . . . . . . . . . 69

v.4 WSUALlZAClON DE EFECTOS DlNAMlCOS Y CARACTERlSTlCAS CINEMATICAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 V.4.1 Lectura de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 V.4.2 Gráficas de movimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 V.413 Generación y simulación del movimiento . . . . . . . . . . . . . . . . . . . . . . 79

V.5 OBSERVACIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

VI . RESULTADOS Y CONCLUSIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

CONCLUSIONES . . . . , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

TRABAJOS FUTUROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

manipulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 APENDICE A . Cálculo de la matriz de pseudo inercia para los eslabones del

. . . . . APENDICE B . Solución de la ecdinámica mediante el método de Newmark 87

90

92

105

. . . . . . . . . . . . . . . . . . . . . . . . APENDICE C . Datos para el programa MOTION1

APENDICE D . Listado de rutinas de visualización Gráfica

APENDICE E . Menú para ambiente AutoCAD

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

Page 9: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

5.8, Desplazamientos modelo 2R

5.10. Torques modelo 2R 5.9. Ciclos de motores modelo 2R

iv

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Page 10: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

LISTA DE TABLAS

1.1 Características aproximadas de un manipulador . . . . . . . . . . . . . . . . . . . . . . . 5

11.1 Parametros del manipulador de Stanford . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

11.2 Comparación de las forrnulaciones dinámicas . . . . . . . . . . . . . . . . . . . . . . . 34

111.1 Transformación de velocidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

111.2 Transformación de aceleraciones para eslabón 1 . . . . . . . . . . . . . . . . . . . . . 46

111.3 Transformación de aceleraciones para eslabón 2 . . . . . . . . . . . . . . . . . . . . 46

111.4 Transformación de aceleraciones para eslabón 3 . . . . . . . . . . . . . . . . . . . . . 47

111.5 Transformación de aceleraciones segunda parte . . . . . . . . . . . . . . . . . . . . . 47

V

Page 11: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

INTRODUCCION

El diseno de un manipulador requiere encontrar los valores de velocidades y aceleraciones mdximas o la fuerza máxima que se transmite a través de alguna articulación, en todo su ciclo de operación. En este trabajo se presenta un estudio del comportamiento dinámico de manipuladores, utilizado durante dicho proceso de diseño, en la etapa de conceptualización. Se utilizan métodos numéricos y se evalúa la posibilidad de simular graficamente las características cinemhticas y dinámicas por computadora. Entonces, se puede modelar, simular y evaluar la dinámica de un manipulador, antes de ser construido, pudiéndose variar diversos padmetroc, comparar los resultados y llevar a cabo las modificaciones que convengan para determinada aplicación. Para ello, no se requiere de gran equipo o sofisticados laboratorios y se consideró la posibilidad de realizar este tipo de investigación dentro del cenidet.

En este estudio no se incluyen fenómenos como son: fuerzas de íricción, claros mecánicos, y flexibilidades que ocurren en los sistemas de propulsión de los elementos del manipulador.

La tesis está dividida en seis capítulos

En los capítulos I y II se lleva a cabo una revisión que expone los aspectos generales de manipuladores, sus propiedades y clasificación; también los diferentes métodos más usados para la solución dinámica de manipuladores.

En el capítulo Ill se estudia la cinemática de un manipulador de tres eslabones, se realiza el cálculo de posiciones, velocidades y aceleraciones.

Se presenta, en el capítulo IV, una propuesta del modelado dinámico que introduce un método en el que se plantea una solución a las ecuaciones dinámicas de un manipulador en forma matricial mediante el uso de tablas espaciales y de algor¡tmos especiales, con los cuales, mediante un enfoque sencillo, se adapta la ecuación de Lagrange al problema dinámico.

Los algoritmos utilizados en los programas computacionales para la solución numérica y para la simulación gráfica, son mostrados en el capitulo V. La simulación gráfica del

v i

Page 12: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

movimiento podrá adaptarse en un futuro como una herramienta utilizada a manera de post procesador de resultados numéricos con la cual se visualizan los efectos que en un momento dado se tienen al variar ciertos parámetros geométricos o inerciales del manipulador.

El trabajo finaliza con las diversas pruebas y simulaciones realizadas, presentando los resultados y conclusiones en el capítulo VI.

Este estudio pennitirá analizar la influencia de la variaci6n de padmetros cinemáticos y dinámicos en el movimiento del manipulador, los cuales; además de ser cuantificados serán simulados gráficamente, lo cual es muy Útil para la selección y diserío de elementos del manipulador.

Page 13: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

OB J ETlVO

Elaborar un método de análisis numérico de efectos dinámicos de manipuladores y evaluar la posibilidad de adaptación de métodos gráficos.

METAS

1.

2.

3.

4.

5.

6.

7.

Descripción matemática de un modelo de manipulador y elaboración de ecuaciones de movimiento para el manipulador espacial con eslabones rígidos.

Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento del manipulador.

Preparación del algoritmo de visualización del movimiento del manipulador.

Realización de programas de cómputo basados en tales algoritmos (puntos 2 y 3).

Comprobación y verificación de los programas de cómpiito.

Ejemplos de simulación del movimiento de los manipuladores de eslabones rígidos.

Resultados y conclusiones.

v i i i

Page 14: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

REVISION BlBLlOGRAFlCA RELACIONADA CON EL MODELADO DlNAMlCO DE MANIPULADORES.

Denavit y Hartenberg 11 J desarrollaron un método muy útil basado en matrices de transformación homogénea para uso en cadenas cinemáticas. Es una tknica sistemática para establecer el desplazamiento que consiste de una matriz por cada dos eslabones adyacentes.

Un método alternativo usado por Begges [2], para definir la orientación relativa de dos sistemas de coordenadas y desarrollar transformación de coordenadas es usando un cuaternion o vector de rotación.

La ventaja de estos métodos es que la definición de la orientación relativa consiste de tres o cuatro parámetros en vez de nueve (matriz 3 X 3) como en la definición de la matriz de cosenos directores. Ademhs, el número de operaciones aritméticas requeridas para la solución cinemática de un manipulador se puede disminuir usando métodos de cuaternion o vector de rotación.

Las representaciones de orientación relativa del cuatemion y vector de rotación se basan en el teorema de Euler, Shir-Kuan-Lin [3], el cual establece que un desplazamiento de un cuerpo rígido con un punto fijo se puede describir como una rotación alrededor de un mismo eje, Dum [4].

El vector de rotación es un vector apuntando a lo largo del eje, y su magnitud contiene información acerca del ángulo de rotación. Por lo tanto, el vector de rotación es el Único vector común de cualquiera de dos sistemas coordenados, que tienen el mismo origen y diferente orientación. Esta característica se aplica para desarrollar un vector de transformación entre dos sistemas coordenados. La dirección del vector de rotación define el eje al rededor del cual un sistema coordenado tiene que ser girado para alcanzar la misma orientación que el otro sistema; mientras que su magnitud define la cantidad de rotación.

Utilizando el vector de rotación puede definirse la orientación relativa.de dos sistemas y desarrollar un vector desde un sistema coordenado a otro.

Otras técnicas para desarrollar modelos analíticos eficientes para los métodos que tratan con sistemas ngidos se han originado en el estudio del mecanismo de Uicker [5] y el mecanismo de Woo y Freudenstein [6] así como la dinámica espacial en donde Hooker y Marguilliec y Hooker [7] utilizan formulaciones de Newton-Euler: El.uso-.de. estos mdtodos resultan esencialmente en el mismo conjunto de ecuaciones diferenciales ordinarias no lineales.

A.K. Bejczy [a] Obtuvo las ecuaciones de movimiento del manipulador completo sustituyendo la expresión de energía de Lagrange en la ecuación Euler-Lagrange,

ix

Page 15: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

formando las derivadas apropiadas

Houston, Passerello y Harlow [9] y M. Vukobratovic [lo] demuestran las ventajas de usar la forma de Lagrange del principio de D'Alembert al considerar sistemas dinámicos de cuerpos rígidos y obtener formulaciones eficientes de las ecuaciones de movimiento de tales sistemas para computadora.

John M. Hollerbach [ i 11 desarrolló una formulación Lagrangiana eficiente que se deriva de las relaciones de recurrencia de velocidades, aceleraciones y fuerzas generalizadas. El numero de adiciones y multiplicaciones variará linealmente con el número de grados

' de libertad, contrariamente a lo que sucede en las formulaciones dinámicas de Lagrange con una dependencia de n". Con esta formulación puede ser posible, en principio, calcular la dinámica lagrangiana en tiempo real.

Las ecuaciones vectoriaies son equivalentes a aquellas obtenidas por Luh, Walker y Paul [12] quienes mejoraron 13s ecuaciones Newton-Euler de movimiento referenciando todas las velocidades, aceleraciones, matrices de inercia, localización de centros de masa de cada eslabón y fuerzas/niomentos a su propio sistema coordenado de eslabón, pero la descripción del movimiento del manipulador es mas simple, con lo que se obtienen modelos dinámicos con una interpretación física directa

S.S. Mahil [13] utiliza una formulación Lagrangiana de cadenas cinemáticas abiertas, simplificada por el desarrollo de diferenciación antes de desarrollar el producto escalar de vectores, introduce el concepto de matriz generalizada de inercia Con este método se elimina la redundancia computacional y el procedimiento se puede adaptar a un método automatizado más eficiente que otros, especialmente cuando el tiempo de cómputo es crítico.

Bayliss C. Mclnnis y Chen-Kang Frank Liu [14], presentan métodos basados en conceptos de mecánica clásica , para el modelado cinemático y dinámico, así como el análisis de robots basandose en mecánica vectorial y en mecánica tensorial. J. Schliesing 1151 además utiliza las ecuaciones de movimiento de Lagrange para un manipulador de pares de rotación

Un método nuevo para análisis dinámico de manipuladorFs fue desarrollado por Chang- 'Jin Li [16]. El método está basado en la ecuación de Lagrange-Euler y puede resolver aquellos problemas que necesitan muchas operaciones.aritmeticas.

Un trabajo sobre simulación de la dinámica de manipuladores fue presentado por ;Neuman y Murray [17] en el que generan modelos dinámicos de manipuladores mediante un programa simbólico.

Raimo K. Kankaanranta y Heikki N. Koivo [18] desarrcillaron un método de análisis dinámico (utiliza el principio de D'Alembert) y cirnulacih de movimiento conforme de

X

Page 16: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

manipuladores en el cual reducen la dimensionalidad del modelo, lo cual es Útil para la simulación. Representan una estructura básica del modelo en un sistema de referencia general, el cual se puede aplicar a cualquier sistema mecánico.

Se realizaron trabajos de optimización de manipuladores en los que C. Gosselin y J. Angeles [I91 introducen un índice para optimización cinemática llamado índice de condicionamiento global, el cual está basado en el número condicionante del jacobiano del manipulador y presentan resultados de optimización de 3 tipos de manipuladores.

Para obtener la solución de las ecuaciones dinámicas no lineales del manipulador es nwersario usar métodos numéricos adecuados. Szwedowicz D., Szwedowicz J. y Ricario J.M. [20], presentan un concepto novedoso en la formulación de las ecuaciones de movimiento del manipulador mediante el cual calculan las reacciones estáticas y dinámicas en los pares cinemáticos a partir del análisis dinámico. Formula las ecuaciones de movimiento en forma matricial y obtiene las ecuaciones dinámicas a partir de ecuaciones de Lagrange de segundo tipo.

Uno de los obstáculos con los que el diseñador de manipuladores se enfrenta constantemente, son las singularidades. H. Lipkin y E. Pohl [21] presentan un método sistemático para enumerar eficientemente todas las posibles configuraciones singulares explotando geometrías especiales que representan manipuladores, expresando el jacobiano en términos de elementos vectoriales. En contraste del uso de aproximaciones espaciales unión-ángulo, las expresiones resultantes dan interpretaciones fisicas directas. Por otro lado Long, McCarthy y Paul [Z], determinan las condiciones de singularidad para manipuladores tipo 3R y describen una estrategia para desarrollar módulos cinemáticos para movimiento librs de singularidades.

Wiens, Zarrugh y Scoa [23], realizan un estudio de la sensibilidad de los valores caractensticos de la matriz generalizada de inercia con respecto a los parámetros de geométricos para formar un conjunto de índices que miden del desempeño de un manipulador. La medida global de estos índices se define y correlaciona con cantidades tales como espacio de trabajo, volumen y alcance.

En el área de diseño de robots industriales, Cohen, Lipton y Da¡ [24], presentan un novedoso sistema de construcción modular de manipuladores robóticos. La idea de modulanzar un robot surgió debido a la limitación. existente en flexibilizar sistemas, puesto que Únicamente se flexibiliza la programación del robot para determinadas tareas. Con éste diseílo se podrá flexibilizar el robot mismo.

Por otro lado, Szwedowicz D. y Szwedowicz J. [25], presentan un trabajo en el que se plantea una solución a las ecuaciones dinámicas de un manipulador en forma matricial mediante el uso de tablas espaciales y de algoritmos especiales, con los cuales se resuelve el problema de no linearidad, pues mediante un enfoque sencillo se adapta la ecuacibn de Lagrange al problema dinámico.

-

x i

Page 17: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

Otro trabajo muy interesante dentro del diseño de manipuladores es presentado por Z. ~ Shiller y S. Sundar, et al [26], quienes proponen una técnica para seleccionar el tamaño

de actuadores y longitud de eslabones minimizando el tiempo de movimiento a través de una trayectoria definida. Esta técnica está basada en las líneas de aceleración que se aproximan a las formas geométricas de trayectorias Óptimas del tiempo.

Se han realizado múltiples estudios de la cinemática de manipuladores, como el de Ming-Yih Lee, Erdman y Gutman [27], que desarrollan un medio de representación del desempeño cinemático y cinético del mecanismo de manera que sus características sean cuantificadas analíticamente mediante índices derivados de la matriz jacobiana y de su forma cuadrática. Utilizan visualización gráfica Útil para la etapa del diseño conceptual.

H. Lipkin y E. Pohl [28] además utilizan números complejos en un nuevo método para la solución cinemática inversa de manipuladores.

M.Raghavan y B. Roth [29] resuelven el problema de las cinemática inversa de un manipulador general 6R mediante la solución polinomial y conjuntos lineales de ecuaciones.

5

Otro de los problemas comunes en los manipuladores es la redundancia de grados de libertad. La tarea o función principal del manipulador genera una trayectoria deseada

~ para el elemento terminal. Si el número de grados de libertad del manipulador es mayor que el requerido por la tarea, entonces el manipulador presenta redundancia. Este problema es atacado por A. Ghosal y S. Desa [?.O], utilizando la pseudo inversa del jacobiano del manipulador y por Lee Heow Pueh [31], quien presenta un método en el que obtiene movimiento? con torques mínimos para manipuladores redundantes con el ' que evita singularidade6 al mismo tiempo que s,e optimizan torques en los pares cinemáticos.

Además se han hecho estudios en eslabones flexibles como es el caso de C Y . Liao y ~ C.K. Sung [32]. También T. Kokkinis y M. Sahraian [33], que implementan un método en el que la teoría del control Óptimo es la metodología usada para obtener la dinámica de un manipulador flexible y resolver así el problema del posicionamiento del elemento terminal en el espacio.

Las técnicas de simulación de movimiento de manipuladores son herramientas útiles para optimización de diseñe y se aplican además para mejorar la calibración de robots, como lo desarrollan G. Tak, R.G. Fenton y B. Benhabib [31].

De IO anterior, se puede decir que la mayor parte del trabajo relacionado con la dinámica de manipuladores se ha llevado a cabo en las 2 Últimas décadas, pudiendo considerar como estado del arte los trabajos elaborados de 1990 a la fecha Se tiene así una amplia perspectiva para trabajos futuros basados en estos conocimientos. En este

. . x 1. :l.

Page 18: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

trabajo se adopta la metodología de algunos autores pero con una aplicación novedosa.

REFERENCIAS

[l] J. Denavit, R. S. Hartenberg, " A kinematic notation for Lower Pair Mechanism Based on Matrices", J. Appl. Mach. ASME, pp, 215-221, june 1955.

[2] J.S. Begges, " Advanced Mechanism", Mcmillan Co., N.Y., 1966.

[3] Shir-Kuan-Lin, "Coordinate Transformations with Euler Parameters as a Quaternion, an Alternative Aproach to Kinematics and Dynamics of Manipulators", CH 2413-3,

[4] J. Duffy, "Analysis of Mechanisms and Robot Manipulators", John Wiley & Sons, New York, 1980.

IEEE, pp. 33-38, 1987.

[5] J.J. Uicker, " Dynamic Behavior of spatial Linkages", J. Eng. for Industiy, Trans.

[SI L. W. Woo, F. Freudenstein, "Dynamic Analysis of mechanism using screw coordinates", J. Eng, for Industry, Trans. ASME, 93, pp. 273-276, 1971.

$ [7] W.W. Hooker , G. Marguillies, " The Dynamic Attitude Equations for an n-body Satellite", J. Astro. Sci., 12, pp. 123-128, 1965.

[8] A. K. Bejczy, "Robot Arm Dynamics and Control", Technical memo, 33-69, Jet Propulsion .Laboratoiy, Pasadena, Calif., 1974.

[9] R. L. Houston, C. E. Passerello, M.W. Harlow, "Dynamics of multirigid-body Systems", J. Appl. Mech., 45, pp. 889-894, 1978.

[lo] M. Vukobratovic, "Legged Locomotion Robots and Anthropomorphic Mechanisms", Mihailo Pupin Institute, Belgrade, 1975.

ASME, 93, pp. 273-276, 1971.

[I 11 J. M. Hollerbach, '! A recursive Lagrangian Formulation of Manipulator Dynamics and a comparative study of Dynamics Formulation Complexity", IEEE Trans. on Systems, Man and Cybernetics, vol. SMC-10 No. 11 ,' pp. 730-736, 1980.

[12] J.Y.S. Luh, M.W. Walker, R.P. Paul, "On-line Computational Scheme for Mechanical Manipulators", Trans. ASME, J. Dynamic Systems, Measurements and Control., vol. 1290, pp. 69-76, 1980.

[13] S.S. Mahil, "On the Application of Lagrange's Method to the Description of Dynamic Systems", IEEE, Trans. on Systems, Man and Cybernetics, vol. SMC-122,

. . . x 1. 1. 1

Page 19: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

NO. 6, pp:en-eeg, 1982.

[14] Bayliss C. Mclnnis, Frank Liu Chen-Kang, "Kinematics and Dynamics in robotics: A Tutorial Based upon Clasical Concepts of Vectorial Mechanics", IEEE, J. of Robotics and Automation. vol RA-2, 4, pp. 181-186, 1986.

[15] Schliesing J., Bayliss C. Mclnnis, 'Vectorial Methods for the kinematics and Dynamics Of Robotic Manipulators", Recent t rends i n Robotics: Modeling, Cont ro l and Education, pp. 3-8, Elsevier Science Publishing Co., Inc, 1986.

(161 ChangJin Li, "A new method for Dynamic Analysis of Robot Manipulators",Recent t rends i n Robotics: Modeling, Cont ro l and Education, pp. 9-14, Elsevier Science Publishing Co., Inc, 1986.

[17] Neuman C.P., Murray J.J. " Simbolically Efficient Formulations for Computational Robot Dynamics", J. of Robotic Systems, Vol. 4, No. 6, pp. 743-769, 1987.

[ le] Kankaanranta, R.K., Koivo H.N., "Dynamics and Simulation of Compliant Motion of a Manipulator", IEEE, J. of. Robotics and Automation, vol. 4 No. 2, pp. 163-173, 1988.

[19] Gosselin C., Angeles J., "A Global Performance Index forthe kinematic Optimization of Robotic Manipulators", Trans. of ASME, J. of. Mech. Design, vol 113, pp. 220-226, 1991.

(201 Szwedowicz D., Szwedowicz J., Ricaño J.M., "Modelado de la Dinámica de un Manipulador con fuerzas de fricción en pares cinematicos", Memorias de la VI Reunión Nacional de Investigación en el Area Eléctrica, Torreón Coah.,México, 1991.

[21] Lipkin, H., Pohl E., "Enumeration of Singular Configurations for Robotic Manipulators", Trans, ASME, J. of Mechanical Design, vol. 113, pp. 272-279, 1991.

[22] Long G.L., McCarthy J.M., Paul R:P., "Kinematic Modules for Singularity-Free Movement With Tree Cartesian Freedoms", Trans. ASME, J. of Mechanical Design, vol. 115, pp. 207-213, 1993.

[23] Wiens, G.J., Zarrugh M.Y., Scott, R.A., "Effects of Geometric Parameters on Manipulator Dynamic Performance", Trans. ASME, J. of Mechanical Design, vol. 114, pp. 137-142, 1992.

[24] Cohen R., Lipton M.G., Da¡ M.Q., Benhabib B.,"Conceptual Design of a Modular Robot", Trans. ASME, J. of Mechanical Design, vol. 114, pp. 117-125, 1992.

125) Szwedowicz D., Szwedowicz J.: I' A Method of Calculation of Robot Dynamics with Consider Disturbance Effects of Motion". 17th International Conference on Modal

x i v

Page 20: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

Analysis. KU Leuven, Bélgica, septiembre 1992, pp. 301 - 314.

[26] Shiller, Z., Sundar, S., "Design of Multi-Degree-of-Freedom Mechanisms for Optimal Dynamic Performance", Trans. ASME, J. of Mechanical Design, vol. 115, pp. 199-205, 1993.

[27] Lee, Ming-Yih, Erdman, A.G., Gutman, Y., "Development of Kinematic/Kinetic Performance Tools in Synthesis of Multi-DOF Mechanisms", Trans. ACME, J. of Mechanical Design, vol. 115, pp. 462-471, 1993.

[28] Lipkin, H., Pohl E., "Complex Robotic Inverse Kinematic Solutions", Trans. ASME, J. of Mechanical Design, vol. 115, pp. 509-514, 1993.

[29] Raghavan M., Roth, B., "Inverse Kinematics of the General 6R Manipulator and Related Linkages", Trans. ASME, J. of Mechanical Design, vol. 115, pp. 502-508, 1993.

[30] Ghosal, S. Desa, "Dynamical Resolution of Redundancy for Robot Manipulators", Trans. ACME, J. of Mechanical Design, vol. 115, pp.592-598, 1993.

[31] Heow Pueh, L. ," Motions With Minimal Joint Torques for Redundant Manipulators", Trans. ASME, J. of Mechanical Design, vol. 115, pp. 599-603, 1993.

[32] C.Y. Liao, C.K. Sung, "An Elastodynamic Analysis and control of flexible linkages using piezoceramic sensors and actuators", Trans. ASME, J. of Mechanical Design, vol. 115, pp. 658-665, 1993.

[33] Kokkinis, T., Sahraian M., "Inverse Dynamics of a Flexible Robot Arm by Optimal Control", Trans. ASME, J . of Mechanical Design, vol. 115, pp. 289-293, 1993.

[34] G. Zak, R.G. Fenton , B. Benhabib, "A Simulation Technique for the Improvement of Robotic Calibration", Trans. ASME, J. of Mechanical Design, vol. 115, pp. 674679, 1993. ,

xv

Page 21: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

I. ASPECTOS GENERALES

Page 22: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

1.1 PROPIEDADES ESPECIFICAS DE UN MANIPULADOR

1.1.1 Cadenas cinemáticas.

1.1.1.1 Generalidades.

El acoplamiento de cuerpos rígidos constituye una cadena cinemática, cada uno de sus elementos se conocen como eslabones de la cadena. Si cada eslabón de una cadena cinemática se une al menos con otros dos elementos, se dice entonces que la cadena es cerrada. Si alguno de los elementos de la cadena están unidos sólo a un elemento, la cadena es abierta [l].

Las cadenas cinernáticas cerradas se denominan eslabonamientos, mientras que las abiertas son llamadas manipuladores. Los eslabonamientos han sido motivo de estudio desde hace un siglo dentro de la teoría moderna de máquinas y mecanismos. Un mecanismo es [2] un "ensafnble de cuerpos rígidos mediante articulaciones móviles que forman una cadena cinemática cerrada para transformar un movimiento".

L Figura 1.1. Cadena c i n e m á t i c a cerran'a.

2

Page 23: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

Y

v. MZ

i g u r a 1 2 . C a d e n a c inemá t i ca abier ta .

El estudio de mecanismos originalmente era de interés de la ingeniena mecánica, sin embargo, otras areas como la biomecánica y la mecatrónica, han hallado una amplia

3

Page 24: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

aplicación en el estudio de locomoción de sistemas,

Existe una clasificación de cadenas cinernáticas debida a Hen& en la que utiliza teoría de grupos para clasificarlas [3].

1.1.1.2 Pares cinemáticos.

Un par cinernático es la unión de dos elementos mecánicos considerados como cuerpos rígidos; el par puede ser de dos tipos par inferior o par superior Un par inferior existe cuando un elemento es unido al otro mediante la acción envolvente y contacto sobre una superficie. Si el contacto tiene lugar a lo largo de una línea o un punto, el acoplamiento resultante es un par superior.

El número de variables independientes que se requieren para definir la posición relativa de dos eslabones unidos es referido a sus grados de libertad

Un estudio más profundo sobre los pares cinemáticos inferiores y su clasificación se puede encontrar en las referencias [4] y [5].

I. 1.2 Capacidades y especificaciones.

Un manipulador tiene especificaciones que están determinadas por el uso del mismo y se conocen como especificaciones fisicas o funcionales y son [6].

a. Carga máxima b. Precisión c. Velocidad y aceleración d. Alcance e. Rigidez

Todas estas especificacioues pueden estar relacionadas unas con otras

Otro tipo de especificaciones muy útiles son las que responden a los parametros de control del manipulador y le dicen al usuario Si éste es conveniente para determinada aplicación; tales especificaciones son conocidas como operacionales:

a. Vida útil esperada b. Tiempo medio de falla c. Tiempo de reparación d. Espacio ocupado e. Peso f. Seguridad g. Facilidad de operación

4

Page 25: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

h. Costo i. Potencia

Función Alcance Carga m Max. kg

Manejo de materiales 3 1 O0 (solección de objetos, posicionamiento de poca precisión)

Carga o alimentación de 1 10 maquinaria (herramientas.

El Último tipo de humedad, corrosi6n y tipo de energía disponible.

specificaciones son las ambiental

Velocidad Exactitud m / s m

1 f 3

1 f 2

tales corn

Soldadura de punto de costura

Pintura (atomizador)

Afilado (basto)

Maquinado

Ensamble de inserción, ligero

peqUQfl0 grande

Inspección metrologia absoluta metrologia relativa

tern,

2 a 3 50 2 f 3 2 1 0 0 . 2 i 1 . 5

2 . 4 3 5 2 f 5

2 1 O0 0.5 f 3

1 50 0 .5 f 0.01

0.3 1 1 f 0 . 5 1 5 1 1 2 10 0 . 5 1 . 5

varía 1 1 f 0.01 veri a 5 1 f 1 . 5

atura.

Algunas de estas incompatibilidades son [7]:

4 Precisi6n/Vida. Los dispositivos de alta precisión no pueden tolerar desgaste. De ahí que la alta precisión sea incompatible con larga vida.

-+ Resistencia/Flexibilidad. Cuando un dispositivo es capaz de manejar grandes fuerzas

5

Page 26: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

generalmente implica que debe ser muy ngido y tener alta frecuencia natural

+ Gran fuerza (o torque)/Velocidad. Los dispositivos de alta velocidad generalmente no son capaces de tolerar fuerzas grandes. La función de las transmisiones variables es hacer que ambas sean posibles, sin embargo no puede esperarse en un futuro cercano este tipo de transmisiones en los manipuladores.

+ Facilidad de mantenimiento/Sofisticación, Mientras más complejo sea el dispositivo, mayor dificultad presentará en su mantenimiento.

1.1.3 Resolución, repetibilidad y exactitud.

La resolución, la repetibilidad y la exactitud son las tres características más importantes en la evaluación del desempeño de un manipulador y el posicionamiento de su elemento terminal.

+ La resolución se determina por la magnitud del movimiento del brazo que se puede comandar confiablemente. Mientras más pequeños sean los movimientos, más alta resolución tendrá. La alta resolución es la característica más importante para realizar movimientos controlados por sensores para hacer ajustes de partes. La resolución no puede ser más pequeña que el menor movimiento perceptible (mediante un sensor) del brazo manipulador. Entre menos bits de datos sean producidos por la posición de un transductor de retroalimentación, en una unión, menor sera la resolución del brazo. También la fricción existente entre el actuador y la transmisión reduce la resolución.

-+ La repetibilidad se determina por la habilidad del brazo para regresar a una posición. Es importante en situaciones en donde los movimientos del brazo son entrenados en VBZ de ser programados. La fricción y la reacción en el eslabonamiento entre el transductor de posición y una unión reduce la resolución.

+ La exactitud se determina por la habilidad del brazo para ir a una posición especificada por un sistema coordenado en referencia a un marco fijo en el espacio de trabajo (generalmente un marco cartesiano). E s más importante cuando los movimientos del brazo son programados en vez de ser entrenados o procesados desde señales de sensores. La exactitud es reducida por la no linearidad de una posición de transductor de retroalimentación.

Generalmente se tiene mayor interés en la especificación de la exactitud porque ésta representa el peor caso de error de posicionamiento en el movimiento a una posición arbitraria. Sin embargo, puesto que la repetibilidad y resolución de brazos convencionales es generalmente mejor que su exactitud, los fabricantes generalmente

6

Page 27: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

citan la repetibilidad. Ambas, la repetibilidad y la exactitud se aplican al posicionamiento estático cuando el brazo está en reposo. Estas no describen errores de posicionamiento dinámico los cuales ocurren cuando el brazo está en movimiento.

La exactitud se refiere a la forma en que el sistema de control representa valores numéricos. Siempre hay dos representaciones, la externa y la interna La representación externa, en la cual el usuario lee y escribe, está generalmente en notación decimal con cierto numero de dígitos significativos. La representación interna es usada por el sistema de control y es generalmente un entero binario o valor de pimto flotante. Debe ser posible convertir de una representación a otra y viceversa sin la introducción de errores.

Es necesario saber los requerimientos de resolirci6n, repetihilidad y exactitud para una tarea determinada, puesto que estas tres características pueden variar ampliamente con el diseño del brazo.

1.2 ESTRUCTURA GENERAL DE UN MANIPULADOR

On manipulador es un sistyna componente de un robot. La principal diferencia entre el robot y otras máquinas es su carácter multifuncional; es decir, un mismo robot puede

' realizar diferentes tareas dentro de una determinada región del espacio, con autonomía de operación, pudiendo realizar variedad de labores desde las muy sencillas hasta aquellas que representan grandes riesgos y/o complejidad.

En forma general, se puede considerar que un sistema robótico está compuesto por tres partes fundamentales, a saber:

a) El manipulador. b) El sistema de control. c) Los sistemas sensitivos.

Este trabajo está enfocado a la parte mecánica del robot, es decir, el manipulador. Un manipulador está formado por los componentes siguientes:

a) Varios elementos (ngidos en primera instancia) relacionados o unidos entre sí mediante uniones que permiten su movimiento relativo. Se denomina a estas uniones "pares cinemáticos" y, generalmente, el movimiento relativcl permitido entre ellos puede ser de los siguientes tipos :

+ Par de rotación R. (fig. 1.3 a) + Par de traslación o prismático P. (f ig. 1 .O b)

Los pares R y P son los mas utilizados y se denominan de clase I [SI3 por que permiten 'un Único movimiento relativo entre los dos elornentos que relacionan. Otro tipo de par

7

Page 28: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

cinemático es el esférico E o de rótula se denomina de clase 111 [9], porque permite tres grados de libertad.

b) Dispositivos de agarre y sujeción "gripping", también conocidos como "manos" o "tenazas" y que tienen la capacidad de sujetar, orientar y operar sobre las piezas manipuladas. En ocasiones, en lugar de alguno de estos dispositivos de agarre, se colocan herramientas como para el caso de aplicaciones de soldadura y pintura.

c) Sistemas motores, pueden ser motores el6ctricos, dispositivos hidráulicos y neumáticos. Estos sistemas proporcionan una energía mecánica que a su vez es transmitida ya sea directamente o a través de engranajes, bandas, etc.

1 Figura 1.3. PARES CINEMATICOS: (a) De rotación, (bl Prismático. IA@ es el á n g u l o de rotación del eslabón, Ifis es el desplazamiento del eslabón.

-.

1.2.1 Grados de libertad

Un sólido cualquiera colocado en el espacio tridimensional posee seis grados de libertad (6 GDL), tres para desplazamiento axial y tres para desplazamiento angular. Si se considera un tnhedro ortonormal cuyo centro coincide con el centro de gravedad del sólido. Los seis GDL se pueden expresar mediante los tres ejes del tnhedro y realizarán un movimiento. Los restantes tres GDL son los que corresponden a un cambio en la orientación.

Page 29: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

Los grados de libertad de una cadena cinemática se definen como un número entero que corresponde al número mínimo de coordenadas generalizadas requeridas para especificar geométricamente una configuración de la cadena [lo].

La mayona de los sistemas robóticos cuentan con subestructuras distinguibles de la estructura geométrica completa, están interconectadas y a menudo están unidas mecánicamente.

Uno de estos subsistemas es el vehículo del robot, que es la parte que transporta a el manipulador hacia el área de trabajo, el vehículo generalmente tiene uno a tres grados de libertad.

El brazo dirige al elemento terminal o herramienta a una localización precisa. Debe tener tres GDL y su acción se Ruede realizar usando tanto acciones rotacionales así como traslacionales. Estos tres GDL se conocen como primarios puesto que comienzan en la base (en la parte unida al vehículo) y acaban en el elemento terminal, encontrándose en sucesión.

El brazo habiendo posicionado al elemento terminal en posición correcta, tendrá que ser correctamente orientado para lo cual son necesarias tres rotaciones con las cuales se

~ obtiene cualquier posible qrientación del elemento terminal.

1.2.2 Redundancia de graqos de libertad de un manipulador.

Si para realizar un movimiento del elemento terminal o algún otro elemento intermedio .de un manipulador de 9 .GDL se requiere el uso de Únicamente tres GDL, se dice entonces que seis GDL spn redundantes. Para realizar ese movimiento se pudieron haber alterado algunas otras posiciones o GDL, y en la práctica, esta elección es de gran importancia y depende de la precisión del movimiento y del control.

El número de GDL para una estructura mecánica articulada depende directamente del carácter de la tarea que realiza el manipulador. La mayoría de las tareas industriales requieren de menos de seis GDL. De la misma forma es raro que un manipulador posea menos de 3 GDL.

Ocasionalmente se necesitan de más de 6 grados de libertad para realizar tareas en donde se requiere precisión en el posicionamiento o 'por algunos otros requerimientos especiales del trabajo.

1.2 3 Grados de libertad falsos

Un GDL falso es aquella movilidad aparente de un segmento o parle del cisterna

9

Page 30: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

mecánico articulado que no incrementa el número de grados de libertad ya presentes Los grados de libertad falsos se pueden clasificar en tres grupos [ l 11:

1. EL GDL de una herramienta: El elemento terminal de un robot constituye una herramienta o est8 adecuado de manera que pueda sostener una. Para el funcionamiqnto de la herramienta se requiere libertad de movimiento. Algunos manipuladores tienen manos o tenazas como elementos terminales. Los grados de libertad extras que resulten del control de las operaciones de apertura o cierre de tales tenazas no deben ser clasificadas de la misma forma como se hizo con los GDL que aseguran el movimiento y orientación de las tenazas.

2. El incremento en el número de articulaciones necesarias para evitar obstáculos: En algunas aplicaciones, el sistema mecánico articulado debe ser capaz de acceder a espacios angostos, o debe ser capaz de operar detrás de un panel.

3. Compensación por la pérdida de GDL en el elemento terminal por la creación de un GDL superior en el manipulador: Existe, en muchos casos, la necesidad práctica del uso de GDL más cercanos a la extremidad del manipulador, sin embargo una solución práctica seria el crear un GDL extra en la base o vehículo del manipulador, con lo cual uno de los GDL del elemento terminal Duede convertirse en un GDL falso.

1.2.5 Arquitectura del manipulador

La estructura empleada en los manipuladores es una disposición de sólo dos pares cinematicos en cada elemento, de este modo el primer elemento se une a la base o soporte fijo mientras que el último queda libre y dispone de una herramienta o mano de sujeción. El manipulador empleado mas frecuentemente tiene tres grados de libertad; la mano de sujeción se encuentra unida a la muñeca y permite otros tres grados de libertad, que generalmente son de rotación.

1.3 CLASlFlCAClON DE MANIPULADORES

Existen varias formas y criterios para clasificar los manipuladores: una clasificación es la concerniente a las caractensticas físicas como son número de grados de libertad, capacidad de carga o bien aquellos que tienen determinada forma; o aquellos destinados a cierta aplicación; por generaciones o etapas de desarrollo; sin embargo en este trabajo la clasificación considerada es en cuanto a tipos de movimiento del manipulador.

Entre los diferentes tipos de movimiento del brazo manipulador, los utilizados con más

10

Page 31: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

frecuencia son:

1. Sistema cartesiano. (fig. 1.4)

2. Sistema de revolución. (fig. 1.5)

3. Sistema cilíndrico. (fig. 1.6)

4. Sistema esférico. (fig. 1.7)

En las figuras 1.4 a 1.7, q,, q, y q3 representan coordenadas generalizadas

I I 1.5. S i s t e m a de F i g u r a

revolución.

11

Page 32: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

i g u r a 1 . 6 . S i c tern, cilíndrico.

I Figura 1 .7 . Sistema e s f é r i c o .

12

Page 33: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

REFERENCIAS

1. ANGELES, J., "Spatial Kinematic Chains, Analysis-Synthesis-Optimization", Springer- Verlag, Berlín, 1982.

3. Op. Cit., ANGELES, J.

4. Op. Cit., SHIGLEY, J. E., UICKER, J.J.

2. SHIGLEY, J. E., UICKER, J.J., "Teoría de Máquinas y Mecanismos", McGraw-Hill, México 1986.

Dynamics c 5. MABIE,H.H., REINHOLTZ,C.F., "Mechanisms an Edition, John Wiley & Sons, Inc., USA, 1987.

Machinery", Fourth

6. SRI International, ANDEEN G. B., "Robot Design Handbook, McGraw-Hill, USA, 1988.

7 . Op. Cit. SRI International, ANDEEN G. B.

8. Op. Cit. SRI International, ANDEEN G. 8

9. Op. Cit. MABIE, H.H., REINHOLTZ, C.F.

10. Op. Cit., ANGELES, J.

11. COIFFET P., "Robot Technology Vol. 1: Modelling and Control", Prentice Hall Inc., London, 1903.

9 4 0 0 9 8

I

1 3

Page 34: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

II. DINAMICA DE MANIPULADORES

Page 35: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

11.1 PROBLEMAS DE LA DlNRMlCA DE MANIPULADORES

El propósito del análisis dinámico es llegar a conocer la relación entre las fuerzas y los movimientos de un sistema mecánico, teniendo en consideración incrementos inerciales y de velocidad, fuerzas centrífugas y momentos: además, las fuerzas de fricción y la elasticidad de los materiales; todo ello para obtener un modelo dinámico que sea Útil como información a tener en cuenta en el control del sistema manipulador.

Se pueden llevar a cabo los siguientes pasos para el análisis dinámico:

a) Elección de un modelo matemático que sea aproximado al sistema real, teniendo en cuenta restricciones como la precisión y la economía.

b) Idealizar el modelo elegido mediante hipótesis que simplifiquen los cálculos por métodos analíticos conocidos.

c) Elección de un método analítico dinámico que sea conveniente para resolver el problema mediante el 'planteamiento y solución de las ecuaciones dinámicas del sistema, que son un conjunto de ecuaciones que describen el comportamiento dinámico del manipulador, que por lo general son ecuaciones no lineales y cuya solución se obtiene mediante métodos numéricos implementados en computadora.

El análisis dinámico depende en gran parte del análisis cinematico, por lo que es una condición previa para la solución de un problema dinámico.

La elección del modelo matemático (primer paso antes mencionado) es la parte más importante, pues condiciona la validez de la solución obtenida. Cualquier sistema mecánico está compuesto por elementos construidos por materiales de determinadas propiedades, por lo que al actuar ciertas cargas sobre ellos se tiene la posibilidad de considerar elementos indeformables, en cuyo caso el análisis corresponderá a la dinámica de cuerpo rígido aplicada a sistemas mecánicos formados por elementos relacionados entre sí mediante pares cinematicos; si en cambio, se considera deformación, se utilizarán conceptos de dinámica de cuerpos deformables, cuyos modelos son más aproximados a la realidad que los utilizados por la dinámica de cuerpos rígidos, obteniendo soluciones más precisas. Sin embargo, la consideración de modelos de elementos deformables no es muy justificable debido a la complejidad de los cálculos y en muchas aplicaciones es satisfactoria la aproximación obtenida con modelos de elementos rígidos.

'

'

En el análisis dinámico de sólido rígido se plantean dos tipos de problemas [1],(2]:

1. Problema dinámico directo. Es el que trata de determinar el movimiento del mecanismo en función qe las acciones aplicadas sobre el. Este problema conduce a una o varias ecciaciones difbrenciales que no son lineales, por lo que es difícil de resolver

I. 5

Page 36: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

en la mayona de los mecanismos.

2. Problema dinámico inverso. También se le conoce como cinetostático, trata de obtener los esfuerzos motores y las reacciones en los pares del mecanismo, cuando es conocido su movimiento. Es un problema más sencillo que el anterior ya que conduce a sistemas de ecuaciones lineales.

Las ecuaciones del movimiento del manipulador, que describen el comportamiento dinámico son Útiles para:

a) Simulación por computadora del movimiento del manipulador.

b) Diseño de ecuaciones convenientes para el control del manipulador

c) Evaluación del diseño cinemático y estructura del manipulador

Tal modelo dinámico de un manipulador se puede obtener de leyes físicas conocidas tales como las leyes de la mecánica Newtoniana y la mecánica Lagrangiana, que implican términos de geometna y padmetros inerciales de los eslabones. Para el desarrollo de las ecuaciones de movimiento del manipulador se pueden usar métodos aproximados como el Lagrange-Euler (L-E), el Newton-Euler (N-E) y el método generalizado D'Alembert (GD).

11.2 CONSIDERACIONES CINEMATICAS.

La cinemática de un manipulador se refiere al estudio de la geometna del movimiento del manipulador o brazo de robot con respecto a un sistema fijo de referencia coordenado sin importar las fuerzas o momentos que originan el movimiento, analiza el desplazamiento espacial del manipulador como una función del tiempo.

Dentro de la cinemática de brazos de robot o manipuladores se suelen considerar dos problemas fundamentales:

1) Problema cinernático directo. 2) Problema cinernático inverso

Un manipulador mecánico se puede modelar como una cadena articulada de brazo abierto con varios cuerpos ngidos.. (eslabones). conectados en serie .por uniones revolutas o prismáticas manejadas por actuadores. Un extremo de la cadena está fijo a un soporte base y en el otro extremo libre se encuentra la herramienta o elemento terminal para manipular objetos o realizar tareas de ensamble, etc. El movimiento relativo de las uniones produce el de los eslabones que posicionan la mano en una orientaci6n deseada. En la mayoría de las aplicaciones de robótica, el interés principal es la

16

Page 37: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

descripción espacial del elemento terminal (mano de sujeción o herramienta) del manipulador con respecto a un sistema coordenado fijo.

11.2.1 Problema cinemático directo.

Consiste en obtener la posición y orientación de la mano de sujeción en un manipulador, respecto de un sistema de referencia global, cuando se conoce el vector {q} que contiene los parámetros del robot:

{a t ) )=[ 9,( 0 9 %( t ) I ' . . 4"( t ) 1 (2.11

en donde las q, son coordenadas generalizadas y n es el número de grados de libertad.

Para desarrollar una aproximación sistemática y generalizada que describa la localización de los elemeptos de un manipulador con respecto a un sistema coordenado fijo se utilizan análisis de algebra vectorial y matricial.

Dado que los eslabones de un manipulador pueden rotar y/o trasladarse con respecto a un sistema coordenado, el sistema coordenado de un eslabón se establecerá a lo largo del eje de unión para cada eslabón. El problema cinemático directo se reduce a encontrar la matriz de trqnsformación que relaciona el sistema coordenado del eslabón al sistema coordenado de referencia. Para describir las operaciones rotacionates del eslabón con respecto al sistema de referencia se usa una matriz de rotación de orden tres. Las coordenadas homogéneas se usan para representar los vectores de posición en un espacio tridimenslonal y las matrices de rotación se expanden a matrices de transformación de orden 4 que incluyen las operaciones traslacionales de los sistemas coordenados del eslabón. Esta representación matricial de un eslabón mecánico rígido para describir la geometría espacial de un manipulador tiene la ventaja de que se obtienen algoritmos generales para derivar la ecuación cinemática de un manlpulador y fue utilizada por primera vez por Denavit y Hartenberg en 1955 [3].

4

11.2.1 .I Representación de Denavit-Hartenberg y especificación de las matrices de elemento.

Para describir las relaciones rotacionales y traslacionales entre eslabones adyacentes, Denavit y Hartenberg propusieron un método matricial para el establecimiento de un sistema coordenado para cada eslabón de una cadena artlculada.

,

17

Page 38: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

z

P

X

O /

9 angulos

X ' \

y 3 desplazamientos

/- - X

g u r a 2.1 P a r á m e t r o s d e T r a n s f o r m a c i ó n .

18

Page 39: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

La representación de Denavit-Hartenberg (D-H) resulta en una transformación matricial homogénea representando cada sistema coordenado de un eslabón en la articulación con respecto al sistema coordenado del eslabón previo. Entonces a través de las transformaciones secuenciales, el elemento terminal expresado en las coordenadas de dicho elemento se pueden transformar y expresar en coordenadas base las cuales cubren el plano inercia1 del sistema dinámico. En este trabajo se considerará Únicamente tres eslabones de la cadena cinemática, sin considerar el elemento terminal o mano de sujeción.

La representación de Denavit Hartenberg de un elemento o eslabón rígido depende de cuatro parámetros geométricos asociados con cada elemento. Originalmente se requieren de 9 ángulos y 3 desplazamientos para definir la posición de un elemento en el espacio (Fig. 2.1). Estos cuatro parámetros son Oi, di: ai y ai, (figuras 2.2 y 2.3) y describen completamente cualquier par de revoluta o prismático.

Se considerará ahora la notación que se empleará para representar los elementos de un brazo manipulador y los diferentes sistemas de coordenadas. Un manipulador consiste de una secuencia de eslabones conectados mediante pares o uniones R o p. Un manipulador formado porn elementos tiene n grados de libertad (1 grado de libertad por cada elemento). El elemento fijo se numera con el O, de modo que el cuerpo del manipulador sea el elemento 1, que se une al elemento fijo mediante el par cinemático 1.

par.(i+ 1 )\ igura 2.2. Definición d e un elemento d e l m a n i p u l a d o r .

19

Page 40: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

Cada elemento se encuentra caracterizado por dos dimensiones, a saber: la distancia ' a, entre los dos pares y el ángulo a, que forman, medido en un plano perpendicular a esta distancia, fig. 2.2. La distancia a, se conoce como longitud del elemento y el ángulo a, se conoce como ángulo de torsión.

Cada par de elementos se unen mediante el eje del par cinemático común, como se ve en la fig. 2.3 que es una cadena formada sólo por pares R. Cada uno de los ejes del elemento, el del par (i) y el del (i + 1 ) tiene dos perpendiculares, una del elemento (i + 1 ) y otra la del (i) siendo d, la distancia entre dichas rectas. El ángulo O, entre las perpendiculares es medido en un plano normal al eje del par cinemático (i) , d, y O, son la distancia y el ángulo entre los elementos respectivamente, a la vez que O, constituye el parámetro o grado de libertad correspondiente al par cinemático (i) (par

i- 1 / i + l

--I

ígura 2.3. Cadena cinemática formada por pares 17, sistemas de referencia asociado a l elemento (i) y sus parsmetros 8, d , a y a.

Para describir la relación entre los elementos, se asignarán sistemas coordenados a cada elemento o eslabón. El origen del sistema coordenado asociado al elemento (i) se coloca en la intersección de la normal común entre los ejes de los pares (i) y (i + 1 ) y el eje del par (i + 1 ) . En el caso de que los ejes de los pares se intersecten, el origen es colocado en el punto de intersección de dichos ejes. Si los ejes de (i) y de (i + I ) son paralelos (frecuentemente ocurre así), el origen queda

20

Page 41: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

definido de modo que, en 01 siguiente elemento cuyo origen coordenado es definido, la distancia di sea cero. El eje zI se elige en la dirección del eje del par cinemático (f + I ) . El eje x se elige en la dirección de cualquier normal común que exista dirigida a lo largo de la normal desde el par ( i + 1 ) hasta el par (i) o sea, en la dirección del producto vectorial {z,} X ( 2 , . ,}. O, es cero para el i-ésimo par de revoluta cuando x , . , y xi son paralelos y tienen la misma dirección.

Una vez que se han definido los sistemas de coordenadas para cada uno de los elementos, de acuerdo a la descripción anterior, se establece la relación entre los sistemas (i-1) e (i), de acuerdo con el siguiente orden [4],[5]:

1. Girar el ángulo O, alrededor de z,. ,. 2. Trasladar la distancia d, a lo largo del eje 2, . , 3. Girar el ángulo u, al rededor de xl. 4. Trasladar la distancia d, a lo largo de xi.

Esta secuencia se lleva a cabo mediante los productos matriciales:

[ A , ] = [ % , = , I [ Td,I [fb,..,] [ T,,I

en donde

senei cosei O O

O O 1 0 ] - ROt(Z,B) [RLJ,,.j ,

11 o o o /

1: o d/ [ Td, ] . Trans ( O, O, d )

10 o o lj

R o t ( x , a )

1 0 o. o O cosa, sena, O

O senaj cosaj O

O 0 O 1

( 2 . 2 )

(2.3)

(2.4)

( 2 . 5 )

21

Page 42: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

O 1 0 0 [ To,] - Trans (a, o, O) l o o 1 o (

‘cose, -sen@,cosa, sene,sena, a,cosO,. sene, cose,cosa, -cose,sena, a p e n e ,

O O O 1 O sena, cosai di

[ A i l

1 0 0 0 11

desarrollando el producto, resulta:

En donde d, , a , y a, son constantes y la variable es el valor de Q, La transtormación inversa es:

cose, senei O a.i -cosa,cene, cosaicos@, senai -d,sena, senaisen8, ~sena,cose, cosai dicosa,

O O O 1

[ A I I

( 2 . 6 )

( 2 . 7 )

( 2 . 8 )

Para un par prismático, la variable es’la distancia d , , siendo su dirección la del movimiento relativo permitido, mientras e,, a , y a, son constantes, la longitud a, es igual a cero y la matriz A se reduce a:

z

I ! O O O 1

cose, senOicosai senB,sena, O sene,i cosejcosaj coseisenai O

O sena, cocai d, [Ai I

Y su inversa correspondiente es:

( 2 . 9 )

2 2

Page 43: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

cos e, sene, O 0 -

-cosa,senBi cosa,cos8, sena, -disena, cos a,sen8, - senaIcos 8, cos a, - d,cos a, r O O O 1 .

LA,] '

iqura 2.4. Esquematización 01 manipulador de Stanford.

(2.10)

Para ejemplificar la notación de Denavit- Hartenberg se empleará el Manipulador de Stanford [6]. Este manipulador está compuesto de seis pares cinemáticos, cinco de ellos son de revoluta y uno es prismático. Se ejemplifica sin tomar en consideración el elemento terminal (mano de sujeción) del manipulador. Para representar las matrices, convencionalmente se toma la siguiente notación simplificada:

c, = cos o, SI = sen 0,

En la figura 2.4 se representa el esquema ~..iemático de este manipulador. Se observa que se cumple que d, = d, = d, = O; d, y d, son datos constructivos, y d, es la variable correspondiente al par P (grado de libertad 3 o coordenada generalizada qJ).

Para obtener los ejes (xi, y,, z,) de cualquier elemento (i) se realizan los pasos citados anteriormente. En la figura 2.5 se representan los elementos del manipulador junto con un sistema asociado posible.

Los parámetros de sus elementos se muestran en la tabla 11.1.

icnira 2.5. Sistemas coÓ r d en a dos del M a n i p u l a d o r Stanford.

23

Page 44: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

T a b l a II.1 Pardmetros de l manipulador de S t a n f o r d .

Las transfonaciones A para el manipulador de Stanford son

s, o c, o [ A , 1

O l O d ,

l o o o 1 ,

(2.11)

(2.12)

(2.13)

2 4

Page 45: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

103 o -1 o:] o o (2.14)

(2.15)

(2.16)

Al realizar el producto de las transformaciones A para el manipulador de Stanford, se comienza con el elemento 6 y operando en forma descendiente hasta el elemento base, resulta:

(2.17)

o bien

2 5

Page 46: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

9 1

epuop ue

Page 47: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

estas ecuaciones para obtener To

11.2.2 Problema cinernático inverso

El problema cinemático inverso consiste en la obtención de las posiciones de todos los elementos del manipulador (el vector de coordenadas generalizadas {q}), cuando se conocen la posición y la orientación de la mano de sujeción.

El problema cinernático inverso es el más usado, utiliza algebra matncial para describir y representar la geometría espacial de los eslabones de un manipulador con respecto a un marco de referencia fijo. Este método usa una matriz de transformación homogénea para describir la relación espacial entre dos eslabones mecánicos rígidos adyacentes y relaciona el desplazamiento espacial del marco coordenado de la mano de sujeción ai marco coordenado de referencia.

Estas matrices de transformación homogénea son muy útiles para derivar las ecuaciones de movimiento de un manipulador.

Es un problema fuertemente no lineal y puede solucionarse en muchos casos sin que sea necesario recumr a procedimientos iterativos de resolución de sistemas de ecuaciones no lineales.

El problema puede ser dividido en dos partes para facilitar su solución: la primera, en la que se obtiene un vector de posición de la muíieca, y con 61, la solución de los tres primeros pares cinernáticos. En seguida se resuelveri ¡os pares restantes utilizando los valores de los tres primeros y las submatrices de orientación correspondientes.

I

Figura 2.6. E cq u emd d e . planteamiento d e l problema inverso.

2 7

Page 48: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

Entonces se obtiene el vector de posición {p} (fig. 2.6) en el sistema de referencia global (xo, yo, z,) como:

(2.19)

en donde: px, py, p, son las componentes del vector {p}, siendo s la longitud de la mano de sujeción o de la herramienta que se coloca en el extremo del manipulador.

Comúnmente se conoce la matriz que define la posición y la orientación de la mano de sujeción del manipulador, por lo que el vector {p} queda definido por la Última columna. Se utilizan estas tres ecuaciones para obtener el'valor de los tres primeros grados de 'libertad del robot. .La comprobación práctica de lo aquí expuesto se puede verificar en la referencia [7], en 'donde resuelve el problema para el manipulador de Stanford.

11.3 METODO DE LAGRANGE

La formulación lagrangiana aplicada a la descripción de sistemas dinámicos tiene ciertas ventajas sobre otras técnicas de formulación matemática del modelo; sin embargo, la aplicación de este método para obtener las ecuaciones dinámicas de mecanismos interconectados en una cadena cinemática abierta tiene sus inconvenientes.

El procedimiento tiene redundancias computacionales resultantes de derivaciones que, además, consumen tiempo y pueden generar errores. Por ello, no es posible implementar el procedimiento en computadora cuando el tiempo de cómputo es un factor crítico.

Por otro lado, la formulación Lagrangiana puede simplificarse considerablemente desarrollando las diferenciaciones antes de llevar a cabo el producto escalar de vectores, con ello, se elimina la redundancia computacional y el procedimiento se puede adaptar como un método mas eficiente que otros.

11.3.1 Función de Lagrange [8]

Los modelos dinámicos de un manipulador especifican las ecuaciones de movimiento relativas a un sistema coordenado. Tal modelo puede obtenerse de la función Lagrangiana usando las ecuaciones de Euler-Lagrange, o simplemente conocidas como

2 8

Page 49: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

ecuaciones de Lagrange

La función de Lagrange se forma de las expresiones de energía cinética y de energía potencial del sistema.

Sean N variables independientes q,(t) ...q,( t) seleccionadas para describir el movimiento del manipulador con N pares. Estas coordenadas generalizadas se expresan como un vector q(t) = [q,(t) ,...,q,( t)] y pueden ser usadas para determinar las expresiones de energía cinética K( 9, 4, t ) y potencial p ( q , t).

La función de energía de Lagrange para el sistema se puede definir como:

(2.21)

en donde 9, 0, t Las ecuaciones del movimiento del manipulador se obtienen por medio de las ecuacionec de Euler-Lagrange :

son posición, velocidad y tiempo respectivamente.

( 2 . 2 2 )

en donde F, es la fuerza generalizada actuando en la dirección de la coordenada q,, Cuando se forma la ecuación de Lagrange 2.19, las coordenadas generalizadas q,, i=1, ..., N deben ser independientes. 'Tales ecuaciones gobiernan el movimiento del manipulador en el sistema coordenado de referencia, además pueden ser expresadas como una ecuación diferencial vectorial 'de segundo orden,

[ M l ( q ) t i ' { C l ( q , q ) Q IQ)(q) ' ( G l ( q ) (2.23)

en donde se tienen implícitos los términos de:

a) M( 9) matriz simétrica (N X N) inercial;

b) C ( 9, 4) c) G ( q) vector de efectos gravitacionales; d) Q f q ) vector de fuerzas y torques generalizados aplicados.

vector N-dimensional de Coriolis y fuerzas generalizadas centnpetas;

2 9

Page 50: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

11.4 METODO DE NEWTON

La eficiencia de la fomulación Newton-Euler esta basada en la formulación vectorial y su naturaleza recursiva.

En este método se evita la complejidad computacionai que se deriva ai usar ia formuladión de Lagrange en la cual las ecuaciones de movimiento están basadas en las energías cinética y potencial del sistema completo.

El aspecto más importante de esta formulación es que el tiempo de cómputo se reduce notablemente, lo cual implica que se podrá realizar un control del manipulador en tiempo real.

Usatido las ecuaciones de Newton-Euler, es posible aislar cada eslabón como un cuerpo libre y determinar a la vez el modelo dinámico para cada eslabón. Las ecuaciones de movimiento resultantes representan un modelo recursivo que involucra variables de los eslabones adyacentes y describen la dinámica rotacional y traslacional detalladamente de cada eslabón conteniendo fuerzas inerciales y torques a través de los pares cinemáticos.

11.4.1 Ecuaciones de Newton-Euler [9].

Las ecuaciones de movimiento para cada eslabón de un manipulador se pueden determinar usando la formulación de Newton-Euler que describen los conceptos básicos de dinámica clásica y que se aplicarán para determinar recursivamente la dinámica de los eslabones de un manipulador son:

( 2 . 2 4 )

(2.25)

donde: m es la masa que se considera concentrada en el centro de gravedad; r es un vector que emana desde el origen de la base del sistema coordenado al centroide del cuerpo rígido; I es la matriz de inercia cuyos elementos se determinan alrededor del eje rotacional y o es el vector de velocidad angular.

30

Page 51: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

11.5 METODO GENERALIZADO DE D'ALEMBERT [lo]

'El principio de D'Alemberi se aplica a las condiciones de equilibrio estático de problemas dinámicos considerando fuerzas o torques aplicadas externamente y las fuerzas de reacción de elementos mecánicos las cuales resisten el movimiento. El principio de D'Alembert se aplica para cualquier instante de tiempo.

Puesto que en el análisis dinámico de un eslabón i de un manipulador, se conocen generalmente los vectores aceleración, se pueden determinar las fuems requeridas para producir estas aceleraciones conocidas, consecuentemente :

F,-m,a, = O

M,-l,a, = O

(2. 26s)

(2.

en donde:

F/ es la suma vectorial de todas las fuerzas extemas que actúan sobre el eslabón i.

m, es la masa total del eslabón i.

8, es la aceleración lineal del centro de masa del eslabón i.

ma, es una fuerza ficticia que recibe el nombre de fuerza de inercia y tiene la misma

línea de acción que la aceleraci6n 8, , pero el sentido es opuesto.

MI es el momento resultante de todas las fuerzas externas en torno a un eje que pasa por el centro de masa del eslabón i, perpendicular al plano del movimiento.

u, es la aceleración angular que se produce alrededor del centro de masa.

/ es la matriz de inerciadel.eslabón i alrededor de su .centro de masa con.respecto , .,

a su sistema coordenado base.

- / u es un momento de torsión ficticio conocido como momento de torsión de inercia

31

Page 52: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

y tiene el sentido opuesto al del vector de aceleración angular u,

Las ecuaciones citadas se conocen como principio de D'Alembert y son extremadamente Útiles cuando se estudia la dinámica de maquinaria, porque permiten agregar fuerzas de inercia y momentos de torsión al sistema extremo de fuerzas y resolver el sistema resultante aplicando los métodos de la estática.

Este principio es una forma modificada de la segunda ley de Newton y establece que:

Para cua lqu ie r cuerpo, l a suma algebra ica de l a s fuerzas apl icadas externamente y l a s fuerzas que r e s i s t e n e l movimiento en cua lqu ie r d i r ecc i 6n dada es cero.

11.5.1 Ecuaciones generalizadas de D'Alembert de movimiento.

A la forma Lagrangiana de las ecuaciones de movimiento de D'Alembert se les conoce también como ecuaciones de movimiento Generalizadas de D'Alembert.

Considérese un manipulador de eslabones rígidos como el mostrado en la figura 2.7, la velocidad angular o, del eslabón e con respecto al sistema coordenado base se puede expresar como una suma de las velocidades angulares relativas desde los pares inferiores:

e

( 2 . 2 7 )

en donde Z,., es el eje de rotación del par con respecto 8 ) ejecoordenado base y Bi es la variación de posición.

Se obtiene la velocidad lineal del eslabón e, Ve, con respecto al sistema coordenado base sumando las velocidades lineales de los eslabones inferiores.

La energía cinética del eslabón e (1 5 e 5 n) con masa me se puede expresar como la suma de las energías cinéticas debidas a los efectos traslacional y rotaclonal en su centro de masa:

K, = (K,)trsn + = %,(ve ' ve) + I ( 2 . 2 8 )

en donde re es el tensor de inercia del eslabón e con respecto a su centro de masa expresado en el sistema coordenado e, (K&, es la energía cinética de traslación, (K,),,, es la energía cinética de rotación, me es la masa del eslabón, 'R, es el vector de posición y O, es la velocidad angular del eslabón e.

J L

Page 53: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

Se aplica la formulación de Lagrange-Euler a la energía cinética traslacional (E.C.), y a la energía cinética rotacional (E.C,),,,t del eslabón e con respecto a la coordenada generalizada O,, encontrándose así, los torques de reacción debidos a los efectos de traslación y rotacionales del eslabón e. AI sumar todos los eslabones desde i hasta n se obtienen los torques de reacción debidos a los efectos rotacionales y traslacionales de todos los eslabones.

La suma de las energías potenciales de cada eslabón, es igual a la energía potencial ' (E.P.) del manipulador,

n I

(2.29)

En donde Fe es la energía potencial del eslabón e dada por

- - p , = -q 1 mere = -q . m,(p,-l + p i + . . . + c,) (2.30)

en donde g= (gx, gyi gJT y 1 g 1 = 9.8062 rn/s2. A continuación se aplica la ecuación de Lagrange-Euler. a la energía potencial del eslabón e con respecto al sistema coordenado generalizado Bi (e 2 i). Para encontrar los torques de reacción debidos a los efectos de gravedad de todos los eslabones, se suman desde i hasta n.

La suma de los torques de reacción debidos a los efectos de traslación, rotación y gravitacionales es igual al torque generalizado aplicado en el pari para mover el eslabón I .

(2.31)

Una forma mas estructurada de la ecuación anterior es: n

CDijej(t) + h f r a " ( e , 8 ) + h Y t ( e , b ) + C , = ri(t) j - 1

(2.32)

para i=1,2 ,..., n.

Los coeficientes dinámicos Dij y ci son funciones de las variables de los pares

3 3

Page 54: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

cinemáticos y de los parámetros inerciales del manipulador, mientras que hp- y h:. son funciones de las variables de los pares cinemáticos, las velocidades de los pares y los parámetros inerciales del manipulador.

11.6 COMPARACION DE LOS METODOS DlNAMlCOS

Las ecuaciones de movimiento del manipulador de Lagrange-Euler son ecuaciones diferenciales de segundo orden. Debido a la estructura matricial de las ecuaciones Lagrange-Euler,es posible diseñar un sistema de control que se compense fácilmente para todos los efectos no lineales. A menudo en el diseño de controladores retroalimentados para manipulador, los coeficientes dinámicos se usan para minimizar los efectos dinámicos de las fuerzas de reacción. La complejidad computacional requerida para obtener tales coeficientes es muy alta, es decir, estas ecuaciones son extremadamente ineficientes en comparación con otras formulaciones debido a que se requieren operaciones matemáticas para cada punto en la'trayectoria. En la tabla 11.2 se muestra esta formulación con respecto a las otras mencionadas, n es el número de grados de libertad del manipulador.

Tabla II.2 Comparación d e la^ Tomada de

Multiplicaciones

Sumas

Representación Cinemática

Ecuaciones de novimiento

Lagrange-Euler

.- 739 n2 + 160l3n ; 3

Matrices 4x4 hornog.éneas

Ecuaciones 3if erencialec 3e forma cerrada

3 4

fonnulaciones dinámicas. 101.

Newton-Euler

132 n

111 n - 4

Matrices de rotación y vectores de posición

Ecuaciones recursivas

Generalizado D' Alembert

Miitrices de rotación y vectores de posición

Ecuaciones diferenciales de forma recursiva

Page 55: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

En la formulación de Newton-Euler, se aísla un eslabón del manipulador a la vez y se obtienen las ecuaciones dinámicas resultantes del balanceo de fuerzas y torques que actúan sobre el eslabón. Las ecuaciones de Newton-Euler de movimiento involucran términos que reflejan los efectos de los eslabones adyacentes y representan e1 conjunto más eficiente de ecuaciones para aplicación computacional ya que se resuelven recursivamente. La complejidad computacional de las ecuaciones de Newton-Euler de movimiento se puede comparar con los otros métodos en la tabla 11.2. El número total de operaciones matemáticas es proporcional el número de grados de libertad n del .manipulador.

En el método generalizado de D'Alembert, se podría pensar que se requiere de un gran esfuerzo computacional, sin embargo, el tiempo de cómputo para calcular los términos que implican producto cruz es rninimo. Las complejidades computacionales de este método en comparación con los antes mencionados, se expresan en la tabla 11.2.

REFERENCIAS

1. FU, K.S., GONZALEZ, R.C., LEE, C.S.G. "Robotics, Control, Sensing, Vision and Intelligence", McGraw-Hill, Singapore, 1987, pp. 12-77.

2. ANGULO, J.M., AVILES, R. "Curso de Robótica", Paraninfo, Madrid, España, 1984, pp. 101-110.

3. DENAVlT J., HARTENBERG R.S. : "A kinetic notation for lower pair mechanisms based on matrices". Trans. ASME, J. Appl. Mech. E. 77, 22, 1955, pp. 215 - 222.

4. PAUL, R.P. "Robot Manipulators: mathematics, programming and control", MIT Press,Cambridge Massachusetts, USA, 1986, p. 53.

. .

5. CRAIG, J.J., "Introduction to Robotics, Mechanics and Control", Addison Wesley, USA, 1986. --

6. PAUL, R.P., op. cit., p. 56.

7. Ibid. pp. 56-59.

8. KOIVO, A. J. "Fundamentals for Control of Robotic Manipulators", Wiley, N.Y., 1989, pp. 142-154.

9. Ibid. pp. 154-163.

10. FU, K.S., GONZALEZ, R.C., LEE, C.S.G., op. cit., pp. 124-132.

3 5

Page 56: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

111. MODELO DEL MOVIMIENTO NOMINAL DE UN MANIPULADOR

Page 57: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

,

[All =

111.1 CARACTERISTICAS DEL MANIPULADOR

Para modelar fisicamente el 'manipulador se considera como una cadena cinemática abierta de elementos o cuerpos ngidos articulados mediante pares cinemáticos del tipo rotacional o prismático. ~

Se considera que cada uno de los eslabones tienen elementos motrices como por ejemplo motores de corriente directa. Se asume, además que el sistema de referencia inercia1 del robot se localiza en la base estacionaria. A cada eslabón del manipulador le corresponde,un grado de libertad. En este estudio no se incluyen fenómenos como son: fuerzas de fricción, claros mecánicos, y flexibilidades que ocurren en los sistemas de propulsión de los elementos del manipulador.

111.2 RESTRICCIONES DEL! MANIPULADOR

El modelo físico del manipulador puede tener n eslabones y sus correspondientes grados de libertad, sin embargo, al utilizar los modelos dinámicos , por razones prácticas se considera un número reducido, ya sean 7 o menos.

Cada eslabón del manipulador tiene un grado de libertad. Un sistema local de referencia se relaciona con cada eslabón de manera que para un caso general de posicionamiento del eslabón (i) en relación con el previo (i-l), se hace uso de la notación Denavit- Hartenberg [l] que describe 4 parámetros del eslabón (i)-ésimo; determinando así la matriz de posición entre 2 elementos , la cual es producto de dos matrices de rotación y 2 de traslación (ec. 2.2):

cosü, -sene,cosa, senü,sena, alcose; sene, cos e,coc a, -cos 8, sena, a, sene,

sena, cos a, d, o O O O 1

(3.1)

en donde

8, son los ángulos entre los ejes x,, y x, de los sistemas de referencia locales,

a, son los ángulos entre los ejes zi., y z, de los sistemas de referencia locales,

di, a, son las distancias que relacionan los sistemas de referencia locales (i) e (i-1) a lo largo de los ejes q, y x, respectivamente. Se asignan los sistemas de referencia locales , se numeran los eslabones y los pares cinemáticos.

37

Page 58: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

'i

La transformación del (¡)-esirno sistema de referencia local con respecto al sistema inercial es:

(3.2)

siendo [Ad la matriz de transición entre el sistema local (i) y el (i-1).

111.3 CALCULO DE LA VELOCIDAD Y LA ACELERACION DE UN PUNTO ARBITRARIO EN MOVIMIENTO NOMINAL

La posición de un punto arbitrario "j" del eslabón (i) se describe por las coordenadas homogéneas en forma de matriz columna [2]:

( 3 . 3 )

Se puede obtener, entonces, la posición de un punto cualquiera "j" en el sistema inercial de referencia del manipulador:

en donde

es el vector de las coordenadas homogéneas del punto "j" sistema inercial de referencia del manipulador.

La velocidad del punto "j" del elemento (i) en el sistema inercial de referencia es igual a:

i

n-1 It I = - d [Til GjJ = [Ti,,] Gj,J 4, j j O dt ( 3 . 5 )

en donde en es la velocidad de la (n-ésima) coordenada generalizada (Ozn para un par

Page 59: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

cinemático rotacional y d,, para un par cinemático de traslación) y

D - & - O

a 5," = A( 4.. . - - ( A d . . . Ai 89"

0 - 1 0 0 1 o O 0

o o o o o O 0

3.6)

D =

La derivada parcial de la matriz de posición A, en relación a la coordenada generalizada q, se calcula como el producto de las dos matrices:

O 0 0 0 O 0 0 0

k O O O l

O 0 0 0

a ag,

' -(A,) = D, A,

En donde:

( 3 . 7 )

(3.8)(Par cinemático Rotacional)

(3.9)(Par cinemático de traslación)

Cabe mencionar que para un par cinemático del tipo helicoidal también existe una representación matncial de Bejczy [3] [4], sin embargo, no será tratado en este tabajo.

Diferenciando la ecuación (3.5) con respecto al tiempo se obtiene la aceleración de cualquier punto del eslabón (i) con respecto al sistema inercia1 de referencia en la siguiente forma:

~

(3.10)

en donde

3 9

Page 60: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

Tales relaciones de posición, velocidad y aceleración serán utilizadas en la solución de la ecuación dinámica del manipulador [5], [6] .

111.3.1 Solución cinemática del manipulador.

La posición en el espacio, de un eslabón cualquiera de un manipulador está dada por la matriz de transformación D-H (Ec. 2.7)

[ A i l = 1 cose, -seneicocai seneicenu, aicosei cene, coseicocai -coce,sena, apene,

O senai cosai

I o o O

Se considera que cada eslabón tiene un GDL por lo que le corresponde un sistema coordenado de referencia local, es decir, una notación D-H para cada eslabón Esta matriz provee información suficiente acerca de la posición de cada eslabón del manipulador en el espacio.

Para formar una notación D-H generalizada se tiene que para "n" eslabones:

A(4,4, 1) A(4,4,2)

di 1 1 (3.12)

A( 4, 4, n - I )

I 'igura 3 . 1 Tablas espaciales.

Para representar la posición en notación generalizada se usarán tablas espaciales (Fig 3.1).

4 0

Page 61: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

La posición de cualquier eslabón en el espacio estará dada por:

Pero [A,] está en función de las coordenadas generalizadas [Ail = Pi (SiH

I

La velocidad de un eslabón cualquiera es:

d dA B, = -B, = - - A,.A ,... A I A --2 A 3 . . . A , I ..

dt dt ‘ d t

(3.13)

(3.14)

111.4 CALCULO DE POSICIONES Y VELOCiDADES PARA UN MANIPULADOR DE TRES ESLABONES.

Para un manipulador de tres eslabones con tres grados de libertad, una vez conocidas las matrices de transformación D-H correspondientes [A,], [A,], [A,] se procede a formar la matriz generalizada de posición [ B ] y la de velocidades [hi.

ESLABON 3:

Posición: I

B, = A,.A,.A,

Velocidad:

B, . = -A, d l .A3 -I- A,. -- dA, .A, + A, .A,. -- a 3 dt dt dt

o bien

En donde D,, D,, D, son las matrices de Bejczy [3] (Ecs. 3.8 y 3.9)

Page 62: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

Sin la introducción de las matrices D, el calculo de las velocidades sena tardado. Los cálculos se realizan rápidamente puesto que la matriz de transformación homogénea A, está en función Únicamente de las coordenadas generalizadas q,, por io que et calculo se convierte en una multiplicación de matrices.

ESIABON 2:

Posición:

,

B, = Al.A,

Velocidad:

a, d9, t B, = -A, + A , . -- dt dt

ESIABON 1:

Posición: B, = A l I

Velocidad:

o b i e n 'I

8, = DIA,q, '\

Los términos de condiciones iniciales f6cilrnente se pueden separar en un vector de coordenadas generalizadas m, obteniendo así una matriz BB en la que se conocen todos sus términos y fácilmente puede formarse mediante uñprograma de cómputo:

!I 4 2

Page 63: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

I'

En forma de tabla los cálculos anteriores quedan como:

(3.15)

Tabla 111.1 Transfomación de velocidades.

Coordenada generalizada No. 1 L 2 3 4

D A 9 1 + O + O + O

DlAlA2 41 ' AlD2AZ Qi + O + O

DIAIA$iql * A 1 D 2 A 8 3 4 2 ' A1A2D$3q3 + O

Este tipo de notación facilita el cálculo de aceleraciones y velocidades de cualquier eslabón del manipulador debido a que todos los datos necesarios son conocidos y están ubicados en tablas espaciales de las que se leen cuando son requeridos.

La ace lerac ión para un eslabón cualquiera se obtiene a partir de (3 13) y (3.14):

(A,A;. . :Ai) Bi=---- .. d2B - d 2 d t 2 d t 2

' ESLABON 1

Aceleración:

li

! Y

4 3

Page 64: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

E, = D,A,ql D,A,q l

o bien

B, = D : A , ~ : D ,A ,Q ,

ESLABON 2 B2 = A , . A 2

-

Aceleración:

ESLABON 3

8, = A , . A 2 . A ,

44

Page 65: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

t. d dt

B, = -

Pero:

Entonces:

Lo interesante de esta descripción es que la aceleración.para un eslabón cualquiera se puede separar en dos partes,,:una parte está en fiinción $e 2 velocidades y la otra parte está en función de una +celeración

B, = B;(q,q,) 4 Bf(¿j") :' (3.17)

en donde

e!( Q,,Q,J es 12 función c& velocidades y

4 5

Page 66: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

u

Pág ina No.1 (EslaMn H0.l)

1

!I

- 1 2 3 4

D : A , 4 : + O t O + o

q( q,J es la función de aceleración

2

3

AI separar los vectores de coordenadas generalizadas se pueden formar tablas espaciales para la ecuación E.

O t O t O t O

O t O + O t O

La tabla para la primera parte de la ecuación (BBBi') será formada por "n" tablas en donde "n" es el número de eslabones.

4 O t O i O t O

Página No.2 ( E i l s b h iba.2) 1 2 3 4

/I

El eslabón 1 no tiene influencia de los otros eslabones, por ello resulta un sólo término.

4

La tabla correspondiente al eslabón No. 2 es:

O t O t O + O

Page 67: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

tr E Z i T

Page 68: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

O sea que:

U = @

Las ecuaciones de velocii la siguiente forma:

n

E, = z B B ( i , 3 ) q i i - 1

I , n

E, z x B B B ( i , j , 3 ) i - 1 j-1

o bien en notación indi

BB =

BBB = Bk#i,j

Se puede concluir que

BB ( 4 , 4xn, n ) BBB ( 4 x n , 4 x n , n )

De igual manera para I espaciales [8]. El cálcl planos paralelos (91 [ l t

Por ejemplo, la matriz IC

(3.19)

j y de aceleración para el eslabón 3 se pueden escribir en

(3.20)

(3.21)

(3.22)

len de las matrices de velocidad y aceleraci6n es:

(3.23)

triz generalihda de inercia (MGI) se pueden formar tablas e esta matriz involucra el uso de los teoremas de ejes y ra los momentos de inercia y para los productos de inercia.

e pseudo-inercia para un eslabón de forma cilíndrica cólida:

Page 69: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

I = I ( 4, 4, i ) =pinf:h, ( 3 . 2 4 )

~.

lf/? 0 O O

o I f / ? o O

4

4 1 2 1 3 2 1 2

0 -hi - h o

O o -hi “7

La matriz generalizada de

En el apéndice A se detal manipulador.

Entonces se puede prepaiar

POSICION

inercia es la suma de las matrices inerciales locales.

a el cálculo de la matriz inercia1 para el n-ésimo eslabón del

en la memoria de la computadora la infomación siguiente:

TRA

49

NS~ORMA CION

I _I BEJCZY

L - J

MGI

Page 70: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

REFERENCIAS

: "A kinetic notation for lower pair mechanisms based Mech. E. 77, 22, 1955, pp. 215 - 222.

J.: " A method of calculation of robot dynamics with 17th International Conference on modal analysis. pp. 301 - 314.

and Control", Technical memo, 33-69, Jet

Method to the Description of Dynamic Vol. SMC-12, No. 6 , Nov./Dec.

de Manipulador con de Posgrado de

7. Ibid.

8. BALTAZAR, M. E.., SZdEDOWICZ D., "Análisis Cinemático de Manipuladores con Visualización de Efectos", $imposium Internacional de Computación: La computación elemento de transformacióf de la sociedad", CENAC, IPN. México D.F., Nov., 1993.

Sons Inc, pp. 589-595, 19

10. HIBBELER, R.C. "Eng Publishing Co. Inc., N.Y.,

eering Mechanics, Statics and Dynamics, Ch.21, Macmillan 983.

50

Page 71: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento
Page 72: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

cuya ecuación se obtiene siguiente forma [l]:

en donde W = E, - E, + Función de Lagrange, E, + energía E, ir energía q, -+ coordenadas Q, -+ fuerzas a q, n -+ número

en base a la ecuación de Lagrange de segundo tipo, en la

Las energías potencial y cirl manipulador se calculan de

= -tr[kj,J 1 i-j,o dr

m i 2

es el vector columna de aci referencia, {rc,,) son las coordenadas tr - es la traza de la matriz.

Sustituyendo las relaciones algebraicas seguidas de int y cinética del elemento ( j . )

(4.1)

:a de los eslabones del siguiente manera [2],[3]:

( 4 . 2 )

( 4 . 3 )

( 4 . 4 )

ación de la gravedad descrita en un sistema inercia1 de

mogéneas del centro de gravedad del eslabón (i),

4) y (3.5) en (4.2) y (43), después de transformaciones ación volumétrica 141, se obtienen las energías potencial 3 la forma siguiente:

5 2

Page 73: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

I en donde

I . . . . es la matriz de pseudo-inercia del iésimo eslabón en relación al sistema local de referencia, siendo: [Id - Tonsor de inercia I eslabón (i), {SI) - Vector de m, - masa del

estáticos de masa del eslabón (i)

Las energías cinética y botencial totales del manipulador se calculan como:

B I " I en donde n es el número de eslabones de la cadena cinemática del manipulador.

manipulador se puecieh expresar en forma matriciai como: De acuerdo con Pa Ll I [5] y Hollerbach [SI, las ecuaciones de movimiento del

I

I en donde

[ / ( q) ] - Matriz de Inercia

IC( q, 02) i - iO( q) I - lumna de fuerzas generalizadas,

columna de giro,de efectos centnfugos y amortiguación,

53

Page 74: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

1G( 9) J - matriz columna

x, = 1, cocq,

Y, = 1 , =nq,

de fuerzas gravitacionales,

x , = -1, s e n q , q ,

Y , = 1, icosq,Q,

plano.

El sistema a considerar se Para resolver la dinámica

y para el eslabón 2:

muestra en la Fig 4 1 de un manipulador se considerará que'

x2 = 21, cosq, 4 1, co

y2 = 21, senq, -I 1 , se

Para el eslabón 1:

X, = -21,. senq,q, - I.,

y , = 21, cv"qlQ1 .k 1 ,

(4.10)

(4.11)

(4.12)

(4.13)

54

Page 75: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

---+=- X

x i

x2

igura 4.1. Representación esquemática de, un manipulador de eslabones.

5 5

Page 76: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

en donde:

1, = m, 1, = A B

1 2 2 1 . 2 2 = -m,l,Q, = -Xlqi ; I, = m , l ,

2 2 'I

( 4 . 1 5 )

( 4 . 1 6 )

Cálculo de la energía pbtenciai: Se puede considerar la energía potencial de gravedad con respecto al eje OX, en donde E,= O, entonces: 6 ( 4 . 1 7 ) EpI = mlgyci = m 1 enq,

l q l I 1 I

= m2gycz = r n , g ( ~ l , s e n q , - + ~ , s e n q , ) ( 4 . 1 8 )

La descripción de las Cuemas generalizadas que Corresponden a las coordenadas generalizadas q, y q2 es: I

I

56

Page 77: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

Las energías cinética y F 2

Las ecuaciones de la dir

Entonces, para cada unc

los componentes de la e

:encia1 totales del manipulador se obtienen como

(4.20)

(4.21)

nica del manipulador se obtienen de (4.1) como

i i - 1, 2

le los eslabones del manipulador se obtiene:

iación de movimiento para el eslabón 1 son:

57

( 4 . 2 2 )

(4.23)

( 4 . 2 4 )

(4.25)

( 5 . 2 6 )

Page 78: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

( 4 . 2 7 )

1 (m,i2m2)g~,cosq,

los componentes de la

( 4 . 2 8 )

PIl

ecuación de movimiento para el eslabón 2 son:

ecuación dinámica sustituyendo

I

( 4 . 2 9 )

( 8 . 3 0 ) a q 2

58

(4.31)

( 4 . 3 2 )

Page 79: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

( 4 . 3 3 )

en donde [ / ( q) ] 1 - matriz de

La ecuación dinámica, para el segundo eslabón se puede escribir sustituyendo (4.19.b), (4.31), (4.32) y (4.33) en (4.22) quedando:

pseudo-inercia.

Se puede escribir de (4.29)) y (4.34) la ecuación de la dinámica del manipulador [9][10]:

( 1 ~ + 4 m ~ 1 ? ) I 2l,l,m,cos (41-42)

( 4 . 3 5 )

( 4 . 3 6 ) ,

5 9

Page 80: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

REFERENCIAS

1. FU, K.S., GONZALEZl R.C., LEE, C.S.G. "Robotics, Control, Sensing, Vision and 1nteHigence";-.McGraw-HiII¡, Singapore, 1987, .pp. 12-77.

I

2. SZWEDOWICZ D., SZdEDOWlCZ J.: " A method of calculation of robot dynamics with consider disturbance effGts of motion". 17th International Conference on modal analysis. KU Leuven, Bélgica, septiembre 1992, pp. 301 - 314.

I

3. BALTAZAR, D., "Análisis del Modelado Dinámico de un Manipdador en con opción de Resultados Gráficos", Vlll Simposio de Ingeniería Mecánica, Tecnológico de Mérida, Oct., 1993 .

4. DOUGHTY, S. , of Machines", John Wiley & Sons Inc, pp. 291-323, 1988.

\

5. PAUL, R.P. "Robot Mfmipulators: mathematics, programming and control", MIT PresqCambridge Massacvusetts, USA, 1986.

6. HOLLERBACH, J. M. , " I ,A recursive Lagrangian Formulation of Manipulator Dynamics and a comparative study of Dynamics Formulation Complexity", IEEE Trans. on Systems, Man and Cybernetics, vol.ISMC-10 No. 11, pp. 730-736, 1980,

7. NEWMARK, N.M. "A Method of Computation for Structural Dynamics", J. Eng. Mech., Div. ASCE, 85, PP. 67-94, '1959.

8. COOK, R. D., "Concepts ans Applications of Finite Element Analysys", Second Edition, John Wiley & Sons Inc., N!Y., 1981.

9. BALTAZAR, M. E., SZV!4EDOWiCZ D., "Análisis Dinámico de un Manipulador con eslabones ngidos", Memorias de la II Reunibn Nacional de Estudiantes de Posgrado de Ingenieria Mecánica,. FIMEk, U. de Guanajuato, Salamanca, Méx., Nov. 1992.

10. BALTAZAR, M. E., SWEDOWICZ D., "Análisis Cinemático de Manipuladores con Visualización de Efectos", Simposium Internacional de Computación: La .computación elemento de transformacióq de la sociedad", CENAC, IPN. México D.F., Nov., 1993.

I

i

60

Page 81: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

-

RAMA DE COMPUTO

Page 82: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

v.1 ALGORITMO Y ESTRUCTURA DEL PROGRAMA

Se desarrolló un programa l e cómputo mediante el cual se realiza el análisis dinámico para un manipulador. Con este programa se analizaron diferentes configuraciones de un manipulador de 2 y 3 grados de libertad.

El programa llamado MOTION1 utiliza la dinámica lagrangiana para encontrar posición, ,i velocidad y aceleración de los elementos dadas las fuerzas o torques en el manipulador

Cabe mencionar que tales t'rques o fuerzas son dados inicialmente por aproximación, el mismo programa no acepta estos datos a menos que sean muy aproximados a valores que refieran estab]lid,ad del sistema. De esta forma, mediante ensayo y error se encuentran los valores aprpximados para determinadas características geométricas y de posicionamiento del sistema.

I Se tiene la posibilidad, además, de controlar la fuerza de gravedad para poder analizar su influencia bajo ciertas cohdiciones. En el apéndice C puede verse el listado de los datos requeridos por el programa MOTION1 .

I

[I]. I

Una vez corrido el programa be solución dinámica se tienen diversos archivos que serán utilizados por otro programa de visualización de características cinemáticas del manipulador, así como la gdficación del movimiento de la herramienta en el espacio.

La solución de la dinámica del manipulador se programa de acuerdo a los algoritmos obtenidos de las ecuaciones/(3.12) a (3 17), los conceptos del capítulo 4, el cálculo de la matriz generalizada de inelcia y métodos numéricos.

6 2

Page 83: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

V.2 DIAGRAMA DE F L d O DEL PROGRAMA MOTION1

M O T I O N 1 ' U I

1 .LECTURR D E D A T O S I N I C I R L E S to. t,, h . n Y

1 C O N D I C I O N E S I N I C I R L E S D E ' I I O V I M I E N T O < G o > , < q o > -._.___________....._________ 1 n - N U M E R O D E E S L A B O N E S

to- T I E M P O I N l C I R L ~ t,- T I E M P O F I H C i L

h - P A S O D E I N T E G R A C I O N

L E C T U R R D E DCITOS D E C I C L O S D E T O R Q U E D E L O S E L E M E N T O S i i o r R i t E s D E L O S E s L n B o t d E s .

, C R E C I C I O N DE L R S SIGUIENTES : T A B L R s ,

[ I , ] . < g > , [ D , l I ._.._______._.__.___......-- [ I K ] - M A T R I Z I N E R C I A L CIS> - M R T R I Z C O L U f l N R DE LR

[ D , I - P I R T R I C E S D E B E J C Z Y ' A C E L . D E LA Q R R V E D R D

P k R A L R S C O N D I C O N E S I N I C I A - L E S < s o > Y < G o > CRECIR L A S H ~ T R T C E S I C C I < q > l . C B < q ) l . C B B < q > l . C B B B ( q , q > l . C C 3 . [ f l l

Page 84: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

1 C A L C U L O D E L O M A T R I Z D E P O - S I C I O N D E L E S L A B O N k. A , < q > .

, .

T R R N S F O R M R C I O N D E L k - E C I N O SIST. LOCCIL DE R E F E R E N C I A CIL S I S T . I N E R C I A I . D E R E F E R E N C I A C B K < q ) l = C a ~ l C A ~ l . . . C A K l

I F O R M A E S P O C I O L D E L A T O B L A

, D A D E S : I . C B B < q > l => B B < 4 X 4 n X n >

D E T R A N S F O R M A C I O N D E V E L O C I -

< E C . 3 . 1 9 'J T O B L R 1 1 1 . 1 )

IFORMA E S P A C I A L D E L A 'ICIELA ' D E T R R N C F O R M A C I O N DE A C E L E- R A C I O N E S : C B B B < q , q > l = > B B B ( 4 n X 4 n X n ) < E C . 3 . 1 7 Y T R B L A S 1 1 1 . 2 . ! 1 1 1 . 3 Y 111 .4 ) I I

C R L C U L O D E L A M O T R I Z D E i E F E C T O S DE G I R O Y F U E R Z A S

C E N T R I F U G A S : Ti- c c 1 = I C < C q > , < ; > > I

6 4

Page 85: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

.- C A L C U L O D E L A N A T R I Z D E P S E U D O I N E R C I A :

D E T E R M I N A C I O N D E L T I E M P O PRRÍ;

E L P A R t i D T R l Z T, T , < t , > = ant,' * b , t , + c , ,

k = 1 . 2 . ... n I

I

' C A L C U L O D E LA A C E L E R A C I O N I N I C I A L < G i > D E L O S E S L A -

1. E O l l E S P A R A to [ n t q o > 1 < 6 i > = < p 0 >

I E N D O N D E : <F,> = C P ( q Q > > + i G < q o > >

- [ c < ~ o , ~ o ) l c q o > .._.________..._____-~~..... I

C M 1 - n A T R I Z P S E U D O I N E R C I l 3 L l < Q > - M A T R I Z C O L U M N A D E

F U E R Z A S Q E N E R A L I Z A D A S < G > - M A T R I Z C O L U M N A D E

F U E R Z A S D E Q R A V E D A D I C 1 I I A T R I Z D E E F E C T O S C E N - ' T R I F U Q O C

I

6 5

Page 86: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

C A L C U L O D E L O S P A R E S M O T R I . C E S P A R A E L T I E M P O t. E S T A B L E C I M I E N T O D E L O S P A- S O S D E I T E R A C I O N 1K=8

< s ' K > = e 4 > < S ' K > = < q >

I Cq'K> = < q - >

I t- h

t-h

t- h

C A L C U L O D E L A S M A T R I C E S i CA(q'K)I,[B<s'K>I,CBB(q'K)l: c B B B < q ' K , q ' K 1 , lM<.r'K>l

c C < q ' K > , <;IK>l, <6<1'">>, { a < q r K > 3 , , ! 1 C A L C U L O D E L O S V E C T O R E C Y M A- TRICES P A R A L A I N T E G R A C I O N N U M E R I C A D E L A S E C U A C I O N E S D I N O M I C A S COI4 R E S P E C T O A L T I E M P O D E A C U E R D O AL M E T O D O

i z > = < q I K > + h < q r K > +

$ i > = <&IK> + <l-a>h<&'IK> a = 8 . 5 Y 5 = 6 . 2 5 C O I i . L A S C O N D ! I C i O N E S P A R A LA E S T A B I L I - p A D ' A 8 S O L U T A .

I ~ E N E W M A R K

I + (6.5 + 5)h2<;"">

Page 87: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

IK = I K + I

E C U R C i O N E S L I N E A L E S M E D I A t t l E E L N E T O D O D E E L I N I N R C I O N

D E G A U S S

C M " l ¿ & ' " < ) = í F " >

E l l D O N D E I N X I = [ N I 1 a h C C 1

¿ F * > = ¿ a > - t ~ > - r c i í ; > E N D O N D E [ M I . [ C I . < O > , < G > , t,i> S O N D E T E R M I N A D O S P O R EL

P A S O D E i T E R R C I O 1 1 I K = I K - I

, 1 C A L C U I . 0 D E L O S D E C P L A Z A M I E N - T O S Y V E L O C I D R D E S D E LOS E S- L A B O N E S N E D I A N T E E L N E T O D O D E NEWNARK. P P R A I T E R R C I O N I K

tq"> = < z > + Bha<&" '>

6 7

Page 88: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

C O N D I C I O N D E C O N V E R G E N C I O D E

LR S O L U C I O N P A R A E L T I E N P O O C T U G L D E S I N U L R C I O N t A

l l l y K l - I 9 1 K - q

< e I q ‘ K 1

_..___........__..__-.....--

I - N U N E R O D E E S L A B O N IK - N U M E R O D E I T E R A C i O N

I NO SI

I I

I

I M P R E S I D N D E R E S U L T A D O S P A R A E L P A S O D E I T E R A C I D N t

< S I > . GIt>, t & ’ > , t

< o o o r d > - > D E S P L A Z R M l E N T O S D E LA H E R R R M l E N T A DEI . N R N I P . €0) - > N O T O R < < O > - < O > > - > T O R Q U E

t = t,

A P A R A R

6 8

Page 89: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

MODELO RRR- 1 FSUOOM 8 I.SI.AROU ' ? C.SUW1i J

( c )

(b)

@;

(a)

Dos de los modelos empleados para análisis en un plaFo se muestran en las figuras

Los datos que deben darse al programa de análisis dinámico para un modelo dado son:

a) Tiempo de simulación (seg).

b) Paso de integración de las eciiaciones dinámicas

5.3 y 5.4.

MODELO RRP-1 CIUIMU I ESURON 2 TSUBOH 3

1 <m 6 I.

- 2 )__--__.

d: (b)

#I# ( 0 ) ( C )

1

Page 90: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

c) Error relativo considerado

P ’ l ; I

1 , d’

rigura 5.3 Modelo 2R en ur plano.

/ I . d

iyura 5 . 4 Mode lo RP en e; plano.

d) Factor de Newmark para integración (0.25)

e) Número de eslabones

9 Dimensiones de cada eslabón (características geométticas)

g) Definición de la orientación y posición de cada eslabón Notación Denavit - Hartenberg)

h) Tipo de par cinemático (Rotacional = O , Prismático =1)

i) Densidad del material (kg/m3)

j) Condiciones iniciales (Posición y velocidad)

k) Intervalos de movimiento (Alcances mínimo y m&imo) Para cada eslabón

I) Se supone conocido, además, el comportamiento de los elementos motrices en forma de Harmonograma, por ejemplo el de la Fig. 5.5.

7 0

Page 91: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

....

Nm

i ! &, .............................................................................. ......

~

! ...I . . , . . .

~ .....................................

, ".'' Eslabón 1 H ~ - - Eslabón 2 ii . ........................................

. . > .. -.____ ..............

z s . s . . , ,

seg

H- Sml6n HUBEB,

:.. .i ,o

I Figura 5.5. Harmonoqrama de ciclos dt t r a b a j o de motores p a r a un modelo 2R.

Con las dimensiones que' se propongan para el manipulador se calculan las matrices de inercia para cada eslabón y se dan los alcances aproximados. En caso de que sean dados erróneamente, el prog'rama.10 indicará, con lo cual se tendrán 2 alternativas:

1) Variar el valor de los torques en los motores 2) Variar los intervalos de alcance.

Mediante prueba y error se encuentran los valores aproximados para la solución, que aunados a los coeficientes de Newmark, garantizan estabilidad en el sistema.

El programa MOTION1 realiza el cálculo dinámico y da como resultados los siguientes archivos:

* COORD.Ml: coordenadas de la trayectoria del elemento terminal.

* SPEEDMI: velocidades de cada eslabón. * ACCEL.Ml: aceleraciones de cada eslabón. * MOTOR.Ml: ciclos motrices. * TORQUE.Ml: torque en los pares cinematicos.

Los seis archivos aiiter.iores, son empleados den!ro del a-mbiente AutoCAD y

* ROAD.MI: desplazamientos de cada eslabón. !

71

!

Page 92: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

procesados por un programa de visualización gráfica de resultados en el caso del análisis en un plano

I

I Figura 5.6. Posiciones in i c ia l y f i n a l de un modelo plano RR con eslabones huecos.

y f i n a l es1 abones

del modelo s Ó l idos .

RR con

Una de las pruebas realizadas fue la variación de los momentos aplicados a los motores en pares cinemáticos para obtener determinada p,osición, primero con un modelo de eslabones huecos (Fig. 5.6) y después con un modelo de eslabones sólidos (Fig. 5.7).

Entonces, al correr e1 programa MOTION1 utilizando para ambos modelos un alcance o límite de desplazamiento idéntico, el mismo valor del torque, las mismas condiciones iniciales de posición y velocidad, los mismos ciclos motrices, las mismas dimensiones y se varían Únicamente las secciones, se obtienen posiciones diferentes. En la fig. 5.8 se ObSeNa que, con el modelo de eslabones sólidos (RR-S) el desplazamiento y la posición final alcanzada son menores con respecto a los valores obtenidos en el modelo de eslabones huecos (RR-H), es decir que, a mayor masa de los eslabones se requerirá de mayor torque para situarlo en la misma posición. Se muestran también en las figuras 5.9 a 5.1 2 los ciclos motrices utilizados y los torques obtenidos, así como las velocidades y aceleraciones que son proporcionales para

Page 93: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

nbos modelos. Se muestran los valores correspondientes para el modelo RR-H. I

u

.)

DESPLAZAMIENTOS MODELO 2R

.. ..!. .................. i; .............................

- Wabón 2 S

i

i i I .............................

1

! ....................... A

i

rad

............................................... .!. , - - -- - - --- - --- - -

...................... , ,

- Eslab6n 2 S

--Eslabón2H --Eslabón 1 H

ses

S = SeicMn s6iida. H = Sección hueca

igura 5 . 8 .

CICLOS DE MOTORES MODELO 2R

N m 1 I

I I l i

................................................. ! .., I;... , ,

73

Page 94: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

TORQUES MODELO 2R Eslabones de sección hueca.

N m

-7 o,,

.. O..

.. ~ ~ 1 ............................. !

..../...... i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . !. ! t

. . . f . . . . . . . . . . . . . . ..................... . . . . . . . . . . . i,

i I . . l . . . .................. i.. ..........................

o,,

o,*

~

. Eslabón I -- Eslabón 2

. i . . ~ . . ~ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . !

i! i . ~ ~ .................... ~ . \ .......................... i

\ . ,.--- ~ ‘.. ! ,l’ . i +<...

igura 5.10.

VELOCIDADES MODELO 2R Eslabones de sección hueca.

rad/ssg

/” .. . .,/. . . í

i . . . . . . . . . ............... 8 ..f ................ j_ ./.”’ \ ’ . . / . L.7 . L.::,. ........................

-- Eslabón 2

seg

igura 5.11.

(I

I .

74

Page 95: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

ACELERACIONES MODELO 2R Eslabones de secci6n hueca.

radlff ~~

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Eelabón 2

I I * . 1 I I I . I <. se0

r igura 5 .12 .

CICLOS DE MOTORES MODELO 2R ~lcances rnáxlrnos : AJE1 = 2 75' (1.300 rad), AE2 = * 12P (2.2 rad)

N m

" .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

w S = Sección sólida. H '= Secdón hueca.

. Eslab6n 1 S - Eslabón 2 s ..- Eslabdn 1 H

Eslabón 2 H -

rigura 5.13.

De la misma manera, se llevó a cabo otra prueba, en la que se fija un alcance máximo para ambos casos: RR-H y RR-S. El objetivo de esta prueba es ver cómo van'an los torques necesarios para situar el manipulador en determinada posición

En la fig. 5.13 se observan los torques necesarios para posicionar el manipulador. Para

7 5 il

Page 96: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

el caso de eslabones huecos los valores de torque son menores

Se advierte que conforme los valores de alcance para cada eslabón se Incrementan, igualmente se varían los del torque. El número de iteraciones para los valores finales de torque e intervalos de movimiento, depende del valor del paso de integración seleccionado.

Se observa que dadas las características geometricas y físicas de los elementos del manipulador y su localización con respecto al sistema inercia1 de referencia, es posible obtener los valores mínimos de pares motrices aplicables a los pares cinemáticos para determinado intervalo de movimiento; de manera que se pueden hacer los siguientes tipos de análisis:

a) Suponer valores de torque para cada par cinemático y encontrar la trayectoria del movimiento producido por tales fuerzas.

b) Suponer conocidos los intervalos de movimiento de cada eslabón y calcular el torque o par motor mínimo necesario para llevar a cabo tal acción.

Ambos tipos de análisis se realizan mediante ensayos de prueba y error hasta obtener los valores requeridos. Cabe hacer notar que en caso de valores incorrectos, el programa mismo los detecta para que se den nuevos valores. Además se podrá elegir entre un análisis con control de la fuerza de gravedad o sin control de ella. Se pueden'cambiar fácilmente la matriz de inercia de cada eslabón, con lo que se tiene posibilidad de hacer pruebas para cualquier sección transversal o considerar diferentes materiales. Se realizaron diversas pruebas en este trabajo, un ejemplo de los datos parq una de ellas se presenta en el apéndice C.

V.4 VISUALIZACION DE EFECTOS DlNAMlCOS Y CARACTERISTICAS

. I

CINEMATICAS.

Se puede hacer uso de técnicas gráficas implementadas en computadora para visualizar :

los efectos dinámicos y características cinemáticas en elementos mecánicos, a manera .'

de post-procesador de resultados.

Se presenta a continuación, un programa de simulación del movimiento para el caso del análisis en un plano, al variar parárnetros dinámicos en modelos de sistemas cinemáticos de manipulpdor; una vez que se han calculado desplazamientos, velocidades y aceleraciones de cada eslabón del manipulador. Para tal efecto se utilizó el lenguaje AutoLlSP [4][5] y trabaja mediante el menú "ROBOT.MNU" [6]. El listado del programa se encuentra en el apéndice D.

El programa de visualizac,iÓn de efectos consta de tres partes:

''

Page 97: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

(a) Lectura de Datos. (b) Gráficas de movimiento. (c) Generación y simulación del movimiento.

V.4.1 Lectura de datos

Las bases de datos se obtienen en archivos ASCII, los cuales serán leídos dentro del ambiente AutoCAD por el programa "LECTOR.LSP. El programa lector tiene 2 funciones principales: 1. Leer datos de los archivos. 2. Inicializar variables, listas y preparar gráficas.

iqura 5 . 1 4 Trazo d e t r a y e c t o r i a i q u r a 5 . 1 5 Trazo d e t r a y e c t o r i a Modelo RP. Modelo RR c o n r e s t r i c c i o n e s .

Se compone de las siguientes subrutinas:

L e e p o s , Leevel y L e e A c e l . preparan el archivo de datos para su lectura,

r n i g r a f inicializa gráficos.

Lee lee archivo de datos. i n i l i s t a s inicializa listas

L e e l i n e a

77

Page 98: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

. . . . - ..

Caract e r Siguiente

l i s t a l , l i c t a 2 , i i s t r 3 Son las listas en donde se almacenan las variables de tiempo y la correspondiente de posición, velocidad y aceleración para cada eslabón.

V.4.2 Gráficas de movimiento

Se tiene la posibilidad de visualizar el comportamiento del movimiento mediante el archivo "GRAFIC.LSP" que despliega gráficas de desplazamiento, velocidad y aceleración para cada eslabón del manipulador.

.......

'1 _. .-

. . . . . . . . . . . . . . . . . . . . . . . . . . . . _- ....... -

igura 5.16 Trayectoria de u11 inodelo rl con restricciones y przntoc de referencia I posición i n i c i a l , II posición d e alcance, posición final.

7 8

Page 99: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

Consta de las rutinas y subrutinas siguientes:

Desp, vel y ace1 comandos para realizar gráficas.

escalamiento de la gráfica. Selec. Selecciona el valor mayor de cada lista para utilizarlo como referencia en el

Capa. Capa de color para cada tipo de gráfica. G r a f . Traza la gráfica tomando pares de datos.

V.4.3 Generación y simulación del movimiento.

Para poder simular el movimiento de los eslabones del manipulador, es necesario generar las etapas del movimiento utilizando el comando "makeslide" [7]. Se implementaron rutinas diferentes dependiendo del tipo, de par cinemático. Para un modelo de manipulador de dos grados de libertad con pares de rotaci6n (Fig. 5.3) se us6 el programa llamado "MOVI-1.LSP" y para uno con un par de rotacibn y otro prismhtico (Fig 5.4) se utilizó el programa "MOVI-2.LSP y el programa "RRR1 .LSP para un modelo de tres grados de libertad.

I

I Figura 5.17 Trazo de Trayectoria en el espacio.

Los programas de simulacibn de movimiento cumplen las siguientes funciones:

1. Realiza cálculos. 2. Rotar los eslabones para generar el movimiento. 3. Simular el movimiento. 4. Crea un archivo "script" (.SCR) [7],[8] para visualizaci6n del ciclo de movimiento,

Se compone de las siguientes Rutinas y subrutinas:

Rota o Traslada. Genera el movimiento. Grapher. Posiciona cada eslabón. Incinill calculos. Realiza calculos de posicionamiento. Makeslide. Forma los cuadros de movimiento.

Inserci6n inicial del primer eslab6n.

7 9

Page 100: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

Mueve. Simula el movimiento. Ciclo. Lleva a cabo simulación cíclica

El menú ROBOT.MNU utilizado para esta aplicación en AutoCAD es el presentado en el apéndice E.

V.5 OBSERVACIONES

Durante las pruebas y corridas del programa se observó:

1. Los factores de escala sirven para que en un momento dado que se quiera visualizar el movimiento en una área diferente, se escala independientemente cada uno de los eslabones, sin necesidad de cargar nuevamente el conjunto de datos. Tales valores de escala se utilizaron inicialmente para visualizar los movimientos muy pequeños que ocurrían en los elementos del manipulador.

2. Mediante los resultados numéricos y la visualización gráfica, pueden encontrarse valores de los torques necesarios en cada elemento motriz para producir determinado movimiento dentro de un intervalo dado, es decir, se podrá determinar si un elemento motriz es el apropiado para la aplicación o no. Por ejemplo, en las figuras 5.15 y 5.16 en donde se tienen ciertas restricciones, se deben hallar los valores de torque óptimos para que no ocurra colisión o interferencia . También se puede planear la trayectoria para que, a partir de un punto inicial de partida, se alcance cierta posición; o bien, puede calcularse el intervalo de movimiento para valores dados de torques en los elementos motrices.

80

Page 101: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

U

REFERENCIAS

1. Szwedowicz D., Szwedowicz J., "A method of Calculation of Robot Dynamics with consider Disturbance Effects of Motion". 17th Int. Conf. on Modal Analysis, Ku Leuven, Belgium, 23-25 Sep. 1992.

2. BALTAZAR, M. E.., SZWEDOWICZ D., "Análisis del Modelado Dinámico de un Manipulador en Notación Lagrangiana con opción de Resultados Gráficos", Wll Simposio de lngeniena Mecánica, Inst. Tecnológico de Ménda, Oct., 1993 ,

3. BALTAZAR, M. E.., SZWEDOWICZ D., "Análisis Cinemático de fdanipuladores con Visualización de Efectos", Simposium Internacional de Computaci6n: La computaci6n elemento de transformación de la sociedad", CENAC, IPN. México D.F., Nov., 1993.

4. AutoLISP Release 10 Programmer's Reference, Autodesk Inc., Susalito CA, USA, 1989.

5. Head George O., "AutoLISP in Plain English", Ventana Press, NC, USA, 1992.

6. BALTAZAR, M. E.., SZWEDOWICZ D.,op. cit.

7. AutoCAD Release 10, Reference Manual, Autodesk Inc., Susalito CA, USA, 1989.

8. Brittain J.L., Head George O., Sheafer, A.T.," The AutoCAD Productivity Book", Ventana Press, NC, USA, 1992.

81

Page 102: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

i

VI. RESULTADOS Y CONCLUSIONES

Page 103: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

RESULTADOS

Desarrollo de una metodología numérivca y posibilidad de utilizar gráficas como ,, herramienta para diseño eficiente, con lo cual se obtiene alta calidad en el desempeño del movimiento del manipulador.

Es posible la utilización de programas gráficos en combinación con métodos numéricos para cubrir un vacío existente durante el proceso de diseño, entre la etapa del modelado y las pruebas de simulación de movimiento, desde la etapa de conceptualización hasta la realización practica de un manipulador utilizando I

visualización de características cinematicas y dinámicas por computadora.

Además de la utilización de algoritmos que utilizan métodos tradicionales como son: Denavit-Hartenberg, Bejczy, Lagrange, etc., se usó una nueva descripción de la matriz generalizada de inercia (MGI) en forma de tablas espaciales con las que se facilita la solución del problema, puesto que los datos se tienen en una forma más explícita.

Mediante la visualización de resultados y modelación de movimiento se tiene la posibilidad de analizar también problemas que surgen de la cinemática del manipulador como son la redundancia y las singularidades

0 3

Page 104: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

CONCLUSIONES.

Mediante la aplicación de una metodología que no requiere gran infraestructura. se puede modelar y simular la dinámica de un manipulador, antes de ser construido, pudiéndose variar diversos parámetros, comparar los resultados y llevar a cabo las modificaciones que convengan para determinada aplicación.

La utilización ventajosa de técnicas gráficas y algebraicas se hace posible mediante programas gráficos con los cuales se tiene una visión amplia del movimiento del manipulador y exactitud en los resultados.

No obstante, en un futuro, además de los sistemas de cómputo, se requerirá de equipo auxiliar para formar un taller o laboratorio en donde se experimente directamente con .

interfaces computadoras-manipuladores, aunque estos últimos no sean de fabricación tan elaborada (debido a limitaciones económicas obvias) , al menos se tenga un avance palpable y mesurable de los experimentos y sus resultados, que posteriormente se podnan canalizar directamente a su aplicación en la solución de un problema real, sobre todo en la industria en donde se requiere de mayores volúmenes de producción con mejor calidad, y a menor costo.

TRABAJOS FUTUROS

Proponer un algoritmo para análisis dinámico de manipuladores con influencia de, reacciones (fuerzas internas, fuerzas externas, de superficie, de volumen, concentradas) y fricción en pares cinemáticos así como el cálculo de esfuerzos en los elementos del manipulador.

Análisis de los claros entre superficies de pares cinematicos y en sistemas de transmisión de potencia.

Modelado de eslabones flexibles y de diversos materiales compuestos.

Preparación de un programa con veriones didáctica y profesional para análisis cinemático, análisis dinámico, y diseño conceptual de manipuladores.

Una vez evaluada la posibilidad de utilizar métodos gráficos, se podrán mejorar los algoritmos para que manejen de forma más eficiente la representación gráfica y simulación del movimiento, extendiéndolo a una aplicación en tres dimensiones, así como la aplicacibn a manera de postprocesador de resultados numéricos.

a 4

Page 105: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

APENDICE A CALCULO DE LA MATRIZ DE PSEUDO INERCIA PARA LOS ESLABONES DEL MANIPULADOR.

La matriz de pseudo inercia es utilizada en la ecuación de movimiento de Lagrange /j mediante el uso de coordenadas homogéneas [x, y, z, 11 para poder realizar el producto con la transformación Denavit-Hartenberg de orden 4x4. Es simétrica y está formada por la matriz inercia1 y un vector de momentos estáticos. Esta matriz representa las caractensticas geometricas y del material de cada eslabón. 1

1, = /I

( A . 1 )

I! Los elementos de la matriz de pseudo inercia se calculan con respecto al sistema local de referencia del eslabón k en donde a) lvk, lyky,, lzgk : Momentos de Inercia de masa con respecto al plano (teorema de 11 ejes paralelos).

Ixx = p/x2dVk - p l a n o / / y z / / V

Iyy = p[y2dvk - plano/ / zx"

rzz = p z2dVk - p1ano"xy" j. V

I1 ( A . 2 )

I1 Los momentos inerciales de masa con respecto al plano se pueden expresar usando los momentos inerciales de masa con respecto a los ejes de la siguiente forma:

i!

05

/I

Page 106: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

1 /( y2+z2) dm+ -/( 1 x2+z2) dm- -/( 1 x2+y2) dm= -( 1 /x +/u -/z) II

2 2 2 k 2 d m = -

2 m I

I1

I, b) Iqy,, I-, lyik, : Momentos desviadores de masa o productos de inercia (teorema de planos paralelos), I/

I/ c) Sx, Sy, Sz, : Momentos estáticos de masa.

sx, = /x,dm; S y , = $y,dm; sz, = /z,dm m m m

!I (A.5)

I¡ I/

I1

d) mk : Masa del eslabón correspondiente.

La submatriz formada con las primeras filas y los primeros renglones (3x3) corresponde a la matriz de Inercia del eslabón k.

k-ésimo elemento con respecto al sistema inercia1 como: Finalmente se puede expresar la matriz de pseudo inercia del II

1 I \ - 2 ( -Ix,+ry,+Iz,) IxkYk IXkZk sxk

1 - 2 ( rx,-Iy,+Iz,) IYkZk I, = (A .6 ) 1

2 SIMETRICA

- (rx,+ry,-rz ,) SZ,

mk

86

Page 107: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

APENDICE B COLUCION DE LA ECUACION DlNAMlCA MEDIANTE EL METODO DE NEWMARK

La ecuación dinámica del movimiento de un sistema está dada por:

M+Ck+Kx = F ( B . 1 )

Para resolverla se requiere de condiciones iniciales de movimiento

Sustituyendo (8.2) en (B.l) se obtiene to

Mfi , = F - KX, - Cko ( B . 3 )

Se resuelve utilizando el método de eliminación de Gauss.

La ecuación en función del tiempo:

MX,+CX,+Kx, = F( t ) (B.4)

Para resolverla se utilizan métodos numéricos de integración como por ejemplo el método de Newmark que está basado en las siguientes consideraciones:

En donde se tienen 5 coeficientes que al sustituir (8.5) en (6.4):

MX, + C[X,., + A,X,., + A$,_, + A 3 t X ] -1 K[XY, . , .I B 1 X t - h ' B * X t ] = F ( t ) ( B . 6 )

a i

Page 108: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

Una forma muy útil para simular el movimiento es resolver el modelo dinámico para la aceleración. Se factoriza para encontrar el valor de la aceleración

Se puede escribir:

M ' X , = F '

En donde

M ' = M 4 A,C I B,K

(B.8)

(B.9)

(B.10)

Utilizando nuevos valores en (6.5):

Sustituyendo (B.9) en (8.4) se obtiene:

Con lo cual el método es implícito. Los coeficientes que aseguran la estabilidad de la solución del método de Newmark son:

A, = H, 4 = üH2, = pH2, B, = YzH, B, = %H I

El método es incondicionalmente estable si a20.5 yP2(2a+1)*/16. Una buena selección de parámetros para un método implícito que es incondicionalmente estable es a=0.5 y p=0.25.

88

Page 109: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

De esta forma, la posición, la velocidad y la aceleración del manipulador causados por cierta entrada de función de torque puede calcularse numéricamente.

8 9

Page 110: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

APENDICE C DATOS PARA EL PROGRAMA MOTION1 ' Ih ios para el MOl>lil.O 1<11-1 iun.~~i,I~J~l3)

' l icmpo inicial y tiempo final dc aimulación dcl mwimicn io cn (wg)

'Intcrualo cn (seg) de la iniegracicii niimcrica <IC e r u ; ~ i o n c s dinarnicas ( - )

-1:,ror re lat ivo asumido

' l 'aclor de Ncwiii i irk p 8 i a i n I c g r : ~ c i h ~ ~nuni i i tc i i

'1.0s da106 son aciuolimdos cn e l codigo u ~IIICVBIOP dc:

'Numero de crlahones dcI rohoi

'ikfinicion dc la oricniacion y Iu pos~cion de cada C I I U I X ~ 'Lislabon I 'Tipo dc I ' I 'hcin 1 lat i ida 1 I, I Alla I 'númcm 1 pnr cinemliiico 1 (dcg). I (m) I ( m ) 1 (deg) 1

. - - - - - - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . _ - _ -

0.0 IO

0.5

0.001

0.25

1

2 --

I 11 0.00 0.0 0 .7 0.110 2 O 0.00 0.0 0.5 0.00

'Ikfioicidn dc 1. scelerticibn de 18 gravcdud cn c1 tiiliiema g h h l tlcl r o 1 ~ 1 'Coniroldcla I l i x I l i y I í i z I S i n c u n i r d 'fucrru de gravcdad I (niisig2) I (irtIrcg2) I (ai/scg2) 1 <IC g r t , ~ ~ . d ~ d = ü

*(:a>rdenadai dc cI c ~ n i r u dc g i i i v d a d CII c1 l i i s t c m ~ Iocixl dc riidii cbliibirn 'IJrlsb6n Ni). I X i ím) 1 Yi (ni) 1 %i (m)

I -o.ni 00 0.0

1 0.35 0.0 0.0 2 0.25 0.0 0.0

'IXfinici6n dc 18 muirir dc pscudo-mow de cada erluhbii T s l s b 6 n númcro I . . . . . . . . . . . . . , . . . , . . . . . . . . . . . . . . . . . . . . . . . . . . .

0.01468 0.0 .o 0.0 0.4Y7 0.0 -1.49 0.0 0.o 0.0146n 0.0 0.0 -1.4v 0.0 5.963

*Erlab&n númcro 2 ........... 0.00445 0.0 0.0 0.0 0.0 0.67S7 0.0 -1.4478 0.0 0.0 0.00445 0.0

. . , . . . . . . . . .

0.0 -1.447n 0.0 4.137

0.0 0.0 n.o 0.0

'Ddiniei6n dc I" nmiri% dc cilrgur impuciiiarcn cado ciliil*>n *I':aloli6n nUmcrO 1

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

.I;sl"b6" númcro 2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

. . . . . , . . . . , , , . . . . . . . . . . . . . . , . . . . . . . .

. . . . . . . . . , . . . . . . . . . . . . . . .< . .. . . . . . . . . . . . , . . . . . . . . .

' IMeb6n I Condiciones Inicialea I lnlcrvolo de movimienlo ilc cada c r l a h h I 'número I Dcsplnmmicnio 1 Vclocidnd Lim. Inferior I I.ini. Superior I

1 0.0 0.0 -180.0 +IRO.U 2 0.0 0.0 -120.0 +120.0

'Moior I Condiciones lnieiabk del mmor 1 *nUmcro 1 ücsplnmmicnlo I Vclocidnd 1

1 0.0 0.0 2 0.0 0.0

9 0

Page 111: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

h

Page 112: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

APENDICE D LISTADO DE RUTINAS DEL PROGñAMA DE VISUALIZACION GRAPICA.

. **** t***t**t***.*.*****~***~*~****~****~*****"*****~****.**...*~~******""*

. **.t**t*tt**.tt**tt***~**..**************.****************"*~"***"*.~***** (defun cance r r i s )

"ANIMA1.LSP" r e a l i z a movimiento d e pares d e r o t a c i ó n

( i f (/=. 6 ' ~ ~ u n c t i o n . . c a n c e l l e d " ) ( p r i n c ( s t r c a t " \nError:" s ) )

) ( s e t q *error* olderr) í p r i n c )

)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

- ; memoria v i r t u a l "on" ( vmon )

(defun c:RotaO ; g r a f i c a pos ic ión (if (= d l n i l )

(prompt "NO SE H A N CARGADO D A M S " ) ( p r o w

;(select d l d 2 ) ( s e t q Hrot 1) ( i n i g r a p h e r ) (g rapher t d d l d2)

) ; p r o w ) ; if I ! !

) ; Rota

(defun i n i q r a p h e r o (seta c i n (qe tvaz "cmdecho" ) 1

i n i c i a l e s - ( s e t q b i n ( g e t v a r "blipmode")) ( s e t v a r "blipmode" O) (setvar "cmdecho" O ) ( s e t q Xmax 11 .0 ) ( s e t q Ymax 8 . 0 ) ( s e t q p l ' ( - 8 - 5 . 5 ) ) (setq p2 ' ( 5 7.5)) (command "zoom" "w" p l p2) (setq cuen ta 1)

(defun selecc(sel1 8.312) ( s e t q wi (car sell)) (setq w 2 (car se l2) ) ( s e t q l r n ( l i s t wl w Z ) ) ( s e t q mayor wl) ( s e t q lm ( c d r lm))

( i f ( > (car lm) mayor) ( progn

( s e t q mayor ( c a r lm)) ) progn

; selecciona e l v a l o r mayor de

; i n i c i a g r a f i c a s ; almacena cmdecho y blipmode

; se lecc iona e l v a l o r mayor d e las ; l i s t a s sell y se12 y l a as igna a ; l a v a r i a b l e mayor.

9 2

Page 113: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

);if (setq lm (cdr lm))

) : selecc

(defun escala(mayor) (Setq XPmax (car td)) (setq YPmax mayor) (setq es& ( / Xmax XPmax)) ; factor de escala en x (setq escY ( / Ymax YPmax)) ; factor de escala en y

; obtiene XPmax y YPmu para : calcular valor de escala

) ;escala

(defun grapher(l2 13 14) : qrafica _____---__---___________________________--------------------------- ;Escala para los movimientos de rotación M3 y M4 (escala mayor) ; escala Y (setq M3 (reverse (mapcar '(lambda (radianes) ( / ( * radianes 180) pi))

13))): ;escala X (setqM4 (reverse (mapcar '(lambda (radians) ( / ( * radians 180) pi)) 14))):

; inicialización de variables (setq cent 1) ; contador de ciclos (setq ldist nil) : lista de depurado (setq an1 O ) ; angulo nuevo (eetq anqant O ) ; angulo anterior (setq deltanq O ) : Diferencia de anqulos anterior y nuevo (INSINIL1 O ) : inserción inicial de eslabon 1 (setq p3 ' ( O 3 . 5 ) ) ; punto inicial de inserción (setq eroti(getrea1 "factor de ESCALA de ROTACION de ESLABON I: (setq erot2(qetreal "factor de ESCALA de ROTACION de ESLABON 2 : (setq primeranq (nth 1 m3)) ; Angulo referencia

" ) ) " ) )

................................................................. '(repeat (1- ndat)

(setq rm3 (nth cent m3)) (setq rm4 (nth cent m4)) ; de ambos eslabones. (setq anquloi ( * eroti Rm3)) (setq deltang ( - angulol angant)) (seta anaant ansulol)

; obtiene valores de1,anqulo de rotación

; escalandolos respectivamente ; Diferencia de anqulos ant. y nuevo

(sets anhi02 (i erot2 ~ m 4 ) ) (seta rtl ' ( O O ) ) ; obtiene parametros de rotación

~

(setq rt2 ' ( O - 0 . 2 6 ) ) (if (/a cent 1)

) (COMMAND "ROTATE" "C-' rti rt2 " " Pin deltANG) (setq an1 ( + ani deltanq)) ; actualiza nuevo angulo al (calculosl ani anqulo2) ; calcula nuevo punto de localización (setq a2 ( + an1 angulo2i) (setq p2 (list x2 y2)) ; para eslabón 2 (setq pi (list xl yl)) ;(setq p3(list ( + xi x2) ( + yi y2) ) ) (command "insert" "link4" pl * a * 9 " * * a2) ; nueva posición de eslabon 2 (Makeslide) (setq cent (1+ cent)) ; incrementa contador

(command "erase" "1" '*" ) ; rota eslabón i

) ( Setvar"b1ipmode" bin ) (setvar"cmdecho" cin) ;restaura cmdecho inicial

;restaura blipmode inicial

) ; qrapher

. -------------------------rutina INCinill----_-------------------------------

93

Page 114: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

(defun insiniLi (anq) (setq Pin (list o o ) ) (command "insert" "linkl" Pin , * a * * - * I ang )

;------------------------rutina MLIE"EI-------------------------________------ (defun c:MuevelO ; simula el movimiento (if ( = Hrot 1) ; bandera si se ha generado el movimiento

( progn (setq contador 1)

' (whi-le (x-contador ( - ndat I)) (setq numero (itoa contador)); convierte el contador (setq nombre (strcat "'robl" numero));concatena los string (command "vs lide" nombre ) (command "vslide" ) (setq contador ( + 1 contador))

a string

) ; while ) ; proqn

) ; progn

í progn ; else (princ,"\nNecesitas GENERAR el MOVIMIENTO " ) ' ! !

) ; if ) ; mueve

(defun c:ciclolO (if ( = Hrot 1) ; bandera si se ha qenerado el movimiento

(progn

) (command "script" "robl")

í progn (princ "\nNecesitas GENEPAR el MOVIMIENM " ) ' ! !

isit; ri 3.5) ineta xi í - O ( * rl (sin thetell)))

(defun MakeSlideO (setq numero (itoa cuenta)) ; convierte el contador cuenta a string. (setq nombre (strcat "Robl" numero)) ; concatena los string Rob y numero. (command "mslide" nombre) : forma los slides que se usan en moviplan

o en movi3~. ( s e t q cuenta ( + 1 cuenta))

)

. .......................................................................... "ANIMA2.LSP" realiza movimiento de traslación . *t.tt.*****t**************.*****.t*****.**"t*********.********.***.****..*

(defun cancerr ( 6 ) (if ( / = s "Function cancelled") (princ (strcat "\nError:" s ) )

94

Page 115: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

(defun c:POs20 ; grafica posición (if (equal dl nil) (prompt "NO SE HAN C A R G A W DATOS " )

í progn : else (select dl d2) (setq hpos 1 ) (inigraft) (graft td dl d2)

: selecciona el valor mayor de

) ; progn ) : if ' ! !

) ; P O S 2

(defun inigrafto

iniciales (setq cin (getvar "cmdecho") )

(setq bin (getvar "blipmode")) (setvar '-blipmode" O) (setvar *'cmdecho'' O ) (setq Xmax 11.0) (setq Ymax 8.0) (setq p l '(-20 -15)) (setq pZ ' ( 2 5 2 0 ) ) (command "zoom" "w" pl p2) (setq cuenta 1)

)

: inicia graficas ; almacena cmdecho y blipmode

(defun select(sel1 se12) (setq wl (car sell)) (setq wZ (car se12)) (setq lm (list wl w Z ) ) (setq mayor wl) (setq lm (cdr lm)) (if

( > (car lm) mayor) (setq mayor (car lm))

):if (setq lm (cdr lm))

) : select

: selecciona el valor mayor de las : listas sell y se12 y la asigna a ; in variable mayor.

(defun escala(mayor) (setq Xpmax (car td)) ; obtiene XPmax y Y P m a x para (setq YPmax mayor) ; calcular valor de escala (setq escX ( / Xmax XPmax)) : factor de escala en X (setq escY ( / Ymax YPmax)) ; factor de escala en Y

) ;escala

(defun graft(l2 13 14) ; grafica

95

Page 116: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

................................................................... ;Escala para los movimientos de rotación M3 y progresivo M4 (escala mayor) (setq M2 (mapcar '(lambda ( x ) ( * x escX)) 12)) ; escala X (setq M3 (reverse (mapcar '(lambda íyl) í * y1 escY)) 13))); escala Y (setq M4 (reverse (mapcar '(lambda ( y 2 ) ( / ( * y2 escY) 2.5)) 14))); escala

Y

................................................................... ; inicialización de variables (SGtq cent 1) ; contador de ciclos (setq ldist nil) ; lista de depurado (setq al o ) ; angulo nuevo (INSERTA O ) ; inserción inicial de eslabon 1 (setq p3 '(O 3.5)) ; punto inicial de inserción (setq erot (getreal "factor de ECCAIA de ROTACION: " ) ) ísetq etran (getreal "factor de ESCRWI de TRASLACION: " ) )

(repeat (1- ndat)

.................................................................

(setq rm3 ínth cent m3)) : obtiene valores del angulo de rotación (setq rm4 (nth cent m4)) : y la distancia de traslación. (setq angulo ( * erot Rm3)) ; escalandolos respectivamente. :(set¶ distancia ( / í - rm4 2 . 8 ) etran)) (setq distancia ( * rm4 etran)) (setq rtl ' ( O 0 ) ) ; obtiene parametros de rotación (setq rt2 '(0.25 -0.26)) (if (/= cent 1)

) (COMMAND "ROTATE" "c" rti rt2 O'" Pin ANGUM) ; rota eslabón 1 (setq al (+ ai angulo)) ; actualiza nuevo angulo al (calculos2 al distancia) ; calcula nuevo punto de localización (setq p2 (list x2 y2)) ; para eslabón 2 (setq pi (list xl yl)) (setq p3(iist ( + xl x 2 ) ( + y1 ~ 2 ) ) )

(Haceslide) (setq cent (i+ cent)) ; incrementa contador

(command "erase" "1" " " )

n ~ i ~ ~ ~ ~ t v *'link8" p3 *I.* " * ' al) : nueva posición de eslabon 2

)

) ; graft

.------------------------rutina MU-z--------------------------------------- (defun c:MueveZO : simula el movimiento (if ( = hpos 1 ) : bandera si se ha generado el movimiento

í prow (setq contador 1 ) (while ( c = contador ( - ndat 1)) (setq numero (itoa contador)); convierte el contador a string (setq nombre (strcat "'rob2" numero));concatena los string kin y numero (command "vslide" nombre) (command "vslide") (setq contador ( + 1 contador))

) : while

96

Page 117: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

) : progn í progn ; else

) ; progn (princ "\nNecesitas GENERAR el 'MOVIHIENM - ) ' ! !

) ; if ) : mueve2

(defun Calculos2(grados r2) (setq thetai ( / í * grados pi) 180 (setq r l 12.5) (setq xl ( - O ( * rl (sin thetai)) (setq x2 ( - O ( * 2-2 (COS thetal)) (setq x3 ( - xl x2)) (setq y1 ( * r l (cos thetal))) (setq y2 ( - O ( * r2 (sin thetnl)) (setq y3 ( - y1 ~2)) (setq ri (sqrt ( + (expt xl 2) (ex (setq r2 (sqrt ( + (apt x2 2) (ex (setq r3 (sqrt ( + (expt x3 2 ) (ex (setq theta3 í * í / (atan y3 x3) p

1 ; calculos2

.--------------------------rutina ~~~~slid~---------------------------------- (defun Haceslide 0 (setq numero (itoa cuenta) 1 : convierte el contador cuenta a string. (setq nombre (strcat "R0b2~' numero)) ; concatena los string Rob y numero. (command "mslide" nombre) ; forma los slides que se usan en moviplan

(setq cuenta (+ 1 cuenta)) o en movi3D.

)

. *****.****. ................................................................

. ..........................................................................

(defun c:despO : grafica desplazamiento

PROGRAMA GRAFICADOR "GRAFIC. LSP"

(if dl nil) (prompt "NO SE HAN CARGADO DATOS " ) í progn (select dl d2) (capa 2) (setq ltr "posicion " i (araf td dl d2)

: selecciona el valor mayor de ; listas de posición

~

) ; progn ) ; if

Page 118: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

; grafica velocidad (defun c:vel()

í progn

(if (= si nil) (prompt "NO SE HAN CARGADO DATOS "-)

; selecciona el valor mayor de ; listas de velocidad

(select sl 52) (capa 3 ) (setq ltr "velocidad " ) (Waf ts si s z )

) ; prbgn ) ; if ' I 1

)

(defun c:acel() : grafica aceleración (if ( = ai nil) (prompt "NO SE HAN CARGADO DATOS " ) í progn -(select ai ai) (capa 4 ) (setq ltr "aceleracion " ) (graf ta al a2)

) : progn

i selecciona el valor mayor de : listas de aceleración

)

(defun capa (k) ; inicializa capas de colores (command "layer" "n" k " " ) (command "Layer" "c" k k " " ) (command "Layer" "sq' k )

)

(defun selectisell sei2) ; selecciona el valor mayor de las (setq wl (car sell)) ; listas sell y se12 y la asigna a (setq w 2 (car se12)) : la variable mayor. (setq lm (list wl w2)) (setq mayor wl) (setq l m (cdr lm)) (if

( > (car l m ) mayor) (proyn (setq mayor (car l m ) i ) progn

);if (setq lm (cdr lm))

) ; select

(defun escala(mayor) -.

(setq XPmax (car td)) : obtiene XPmax y YPmax para (setq YPmax mayor) ; calcular valor de escala (setq escx ( / Xmax XPmax)) ;factor de escala en X (setq escY í / Ymax YPmax)) ; factor de escala en Y

) ;escala

(defun graf(l2 13 14) ; grafica (escala mayor) (setq bin ( yetvar "blipmode" ) ) ; blipmode inicial (setq cin (yetvar "cmdecho")) ; cmdecho inicial (setvar "cmdecho" O ) (setvar "blipmode" O i (setq M2 (mapcar '(lambda (x) ( * x escx)) 12)) ; escala X (setq M3 (mapcar '(lambda (yl) ( * y1 escY)) 13)) ; escala Y para link1 (setq M4 (mapcar '(lambda ( y 2 ) í * y 2 escY)) 14)) ; escala Y para link2

9 8

Page 119: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

(setq rm2 (car m 3 ) ) :(print "rml-")(princ rmi) (terpri) (setq rml (car (reveree m3)i) (letrero 1 rrnl r m 2 ) (puntoe ndat U 2 M 3 ) (setq cont 1) (setq rm2 (car 1714)) (setq rml (car (reverse m 4 ) ) )

(puntos ndat i42 H4) (88tq cont 1)

&un letrero it R m l Rm2)

(leWQr0 2 rm2)

: graf

( cond ((. t 1)

( progn (gtmodio td RMl Rn2) (oetq alfn (ntrcat ltr "1")) (orinc alfa) (teruri)

; Obtiene los puntos de graficación ; de despl. da eslabone5 1 y 2

: inicia contador para el 2

: agrega rótulos

( i f ( - ltr "volocidad " ) (conmiand "text" "r" pmed " " " " (strcat alfa " " ) ) (camnand "text" pmed " " "" alfa) ;else

) )

) ) ; cond

etreco

(proqn ' (ptmedio td Rml Rm2) (setq alia (strcet ltr " 2 " ) (princ alfa) (torpri) (if ( P ltr 'volocidad " ) (command "text" "r" pmed,, (conmiand "text" pmed " ' *

) )

"" "I (strcat ' * alfa) :else

-&fun ptmedio(td Pml Pm2) (if ( - pml pm2)

ieeto m e d ~ m 2 ) I proqn (if ( / = ietr 'aceleracion " )

í progn (cond

( ( = t 1)

) ( ( = t 2 )

)

(setq med

(setq med

) :cond ) : progn (setq med ( / ( - Pm2 Pmi) 2 ) ) ;else

) ) :progn );if l s e t q p e d (list í / (car H2) 2 ) medii

;=medio

99

alf e

Page 120: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

(defun puntos ( n vi VZ)

a xi

a x2

(setq xi (nth (1- n) vi))

(=tq y1 (nth (1- n ) VZ))

(setq pi (list xi yi)) (while ( < = cont n)

(if (/= cont n) í progn

(progn (setq i í - n cont)) (setq x2 (nth i vi)) (setq y2 (nth i v2)) (setq pZ (list x2 y z ) ) (traza) (setq cont (l+ cont))

) ;proqn (progn : else (setq x2 (car vl)) (setq y2 (car v2)) (setq p2 (list x2 y2)) (traza) (setq cont (1+ cont))

) : proqn else ) : if

) : progn ) : while

) : puntos

(defun traza 0 (command "line" pl pZ " " ) (setq pl p2)

): fin traza

(defun Graficos/cargadosO (setq borra "si") (setvar "blipmode" bin) (setvar "cmdecho" cin)

nil

: obtiene los puntos de qraficación : asigna elemento n-1 de lista vi

: asigna elemento n-1 de lista vz

: primer punto

: restaura blipmode inicial : restaura cmdecho inicial

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROGRAMA "LECTOR.LSP", REALIZA LECTURA DE DATOS PARA GRAFICAR . * * * * * * * * * * * f * * * X * * * * 1 * * * * * * * * * * * * * * * * * * * * * * * * * * * ~ * * * * * * * * * * * * * * * * * ~ * * * * * * * * * '

(defun cancerr (5) (if ( /= s "Function cancelled") (princ (strcat o'\nError:" s ) )

) (setq *error* olderr) ( princ)

)

________________________________________-_-_--_----------------------- (vinon) : memoria virtual "on"

(defun c:LeeDatosO : J..ee datos (PRINC "trabajando.. .")(terpri) (Leepos ) ( LeeVel)

100

Page 121: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

'DATOC/LEIDOS )

(defun LeePoso (inigraf ) (Setq A CFINDFILE "road.rob")) (lee A)

, (setq primera nil) (setq td pv2) (setq dl pv3) (setq dZ pv4)

)

(defun Leevelo (iniqraf ) (Set9 A (FINDFILE "speed.rob")) (lee A) (setq ts pv2) (setq sl pv3) (setq s2 pv4)

)

ídefun LeeAcelO (inigraf) ; (setq A (strcat path "accel. rob" ) ) (setq A (FINDFILE "accel. rob" ) ) (lee A) (setq ta pv2) (setq al pv3) (setq a2 pv4)

)

(defun LeeCoordO ( iniqraf ) (setq A (FINDFILE "cord.ml")) (lee A) (setq tc pv2) (setq cl pv3) (setq c2 pv4) (setq c3 pv3)

)

(defun inigrafo

iniciales (setq cin (getvar "cmdecho" ) )

(setq bin (getvar "blipmode") ) (setvar "blipmode" O ) (setvar "cmdecho" O) (inilistas) (setq i 1) (setq Xmax 11.0) (setq Ymax 8.0) (setq pl '(-1 -1)) (cetq p2 '(12 9 ) ) (command "zoom" "w" pl p2)

)

: i.nicia qraficas : almacena cmdecho y blipmode

1 CI

Page 122: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

(defun iniiistaso (setq pvl nil) (setq pv2 nil) (setq pv3 nil) (cetq pv4 nil) (setq pv5 nil) (setq pv6 nil) (setq cont 1)

) ;hilistas

: inicia listas de variables : pv1.. .PV6

; inicia contador

(defun lee (archivo) (setvar "cmdecho" O) (setq Arch (open archivo "r"))

(if ( = Arch nil) (princ(strcat "\nNo puedo abrir archivo '' archivo))) (cetq eof O) (setq renglon O ) (while ( = eof O)

) (setq ndat (fix (car pvl))) : numero de datos

: asigna archivo de datos

(leelinea Arch) ; Función lectora de líneas

) ; lee

(defun leelinea (datos / linea) (setq linea (read-line datos)) : lee primer línea de archivo (if ( = linea nil) (setq eof 1) (proqn ;else (setq 1 (strlen linea)) (setq renglon (l+ renglon)) f inicia)

; se asigna la longitud de línea

: Función inicializadora (repeat 1 : lee "1" caracteres (caracter linea contador) : Funcion caracter (cetq nueva (strcat anterior letra)) (setq anterior nueva) í if (or ( = letra '' " ) (= 1 contador)) ; si letra es sp o fin de línea

: entonces... ( progn (if (= 1 contador)

: espacios (salta) ( progn

variable (salta) (setq var (l+ var)) (siguiente var)

) )

) ) : fin del if ... or (setq contador (it contador)

) ) :repeat

) )

) : leelinea

: si es comienzo de renqlon salta

: Funcion salta espacios : el.se sal.ta sp y actualiza

; Función sal.ta espacios

102

Page 123: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

(defun s a l t a ( )

SP ( w h i l e ( = le t ra '' " ) : s a l t a los espac ios s i l e t r a es

í progn

) ) : w h i l e ( s e t q contador (1- c o n t a d o r ) ) : r e s t a u r a contador

(Se tq contador (1-i c o n t a d o r ) ) ( c a r a c t e r l i n e a contador) : fiincion c a r a c t e r

) ; s a i t a

(defun s i g u i e n t e ( v a r / v i vz v3 v4 v5 correspondiente

( cond ( ( = var 1)

í progn ( s e t q v a r l a n t e r i o r ) ( s e t q v l ( a t o f v a r l ) ) (setq p v l (cons v l p v l ) ) ( s e t q a n t e r i o r " " )

) ) ( ( = v a r 2 )

i progn ( s e t q varZ a n t e r i o r ) ( s e t q v2 ( a t o f v a r 2 ) ) ( s e t q pvZ (cons v2 pv2) ) ( s e t q a n t e r i o r " " )

) ) ( ( = var 3 )

i progn ( s e t q va r3 a n t e r i o r ) ( s e t q v3 ( a t o f v a r 3 ) ) ( s e t q pv3 (cons v3 pv3) ) ( s e t q a n t e r i o r I' " )

)

v6 ) : asigna l a v a r i a b l e

: as igna "vl" si. v a r = l

; c o v i e r t e s t r i n g a r e a l ; cons t ruye l i s t a d e v l

: as igna "v2" s i var=2

: ob t i ene V Z : cons t ruye l i s t a d e v2

; as igna "v3" s i var=3

; ob t i ene v3 : cons t ruye l i s t a de v3

: as igna "v4" s i var=4 ) ( ( = v a r 4 )

i progn ( s e t q var4 a n t e r i o r ) ( s e t q v4 ( a t o f v a r 4 ) ) ; ob t i ene v4 ( s e t q pv4 (cons v4 pv4) ) : cons t ruye l i s t a de v4 ( s e t q a n t e r i o r 'I " )

)

: asigna "v5" s i var=5 ) ( ( = v a r 5 )

i progn ( s e t q var5 a n t e r i o r ) ( s e t q v5 ( a t o f v a r 5 ) ) ( s e t q pv5 (cons v5 pv5)) ( s e t q a n t e r i o r " " )

: cons t ruye l i s t a de v5

)

s i var=6 ) ( ( = var 6 ) : asigna "v6"

í proqn ( s e t q var6 a n t e r i o r ) ( s e t q v6 ( a t o f v a r ó ) ) ( s e t q pv6 (cons v6 pv6)) : constriiye l i s t a d e v6 (setq a n t e r i o r " " )

)

1. o 3

Page 124: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

) : cond ) : s i g u i e n t e

(defun caracter ( c n )

) : caracter

ídefun i n i c i a 0

caracteres

( s e t q l e t r a ( s u b s t r c n 1 ) )

í s e t q contador 1)

( s e t q var O ) ( s e t q a n t e r i o r I' " )

) : i n i c i a

: lee c a r a c t e r : asigna e l c a r a c t e r a l e t r a

: i n i c i a l i z a v a r i a b l e s : i n i c i a e l contador de

: i n i c i a var para v a r i a b l e s : i n i c i a palabra a n t e r i o r

104

Page 125: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

APENDICE E

MENU PARA AMBIENTE AUTOCAD.

El menú ROBOT.MNU utilizado para la visualización de resultados en AutoCAD es el siguiente:

"'BUTTONS

$ P I = '

***Pori

^CAE

! DATOS 1 I Cargar l^C"C"P(if (not c:lccdalor) (load "Icclor"))(selq hnrrn " s i " ~ ~ c : l c c ~ l ~ l ~ ~ s ) IModüicarl^C^C^P(Command 'edit' "r.dat")+ (prompt 'DEBES CORRER EL PROGRAMA ROIWI'I !*) $PI= $,,I=* ~Robolll*C^C^P(Command "Script" "modil') r--1 iAyudaiT*C^PType Rol>hclpl.doelmorc $P1= Spl- '

--POPZ [Graficas] [ P o s i c i o n l ~ ^ c ^ ~ ( i r (not c:dcsp) (load "graric')) (micap) $p2= áp2=* [Vcloc.lAC*CAP(ir (not c:vei) (load "groíie')) (cvc l ) $p2= $p2=' [Acel.l^C^C^P(if (not c:acei) (load 'grafic')) (c:acei) $p2= $p2=' I - - - ] IAyiidal*C^C^PType Ilolihclp2.doc(niorc áp2= $p2='

POP^ [Movimiento R-RI IGenera r lTT^P( i i (equal horn "si") (c:hl)) (ir ( m i c : ~ o i a ) ( h d "MOVI-1'91 ( c : ~ n t a ) (Movcrl^CAC^PMucvel $p3= $p3=* [RcgrcsarlT-C~P(ir (c:mucvcl) (command "u")) $p3= $p3=' [ C i c l a l ~ C ~ C ~ P C i c l o l $p3= $p3=' I---] [Ayudal^C^C^PTypc Rolihclp3.doc~morc Sp3= $p3='

'*'POP4 [Movimiento R-PI (Gencrar]^C^C*P(if (equal borra "si") (e:ht)) (ir (no1 c:PosZ) (load "MOVI-2')) (r:l'os2) [Maverl^C^C^PMueveZ $p4= $p4=' IRegrcsarl^c^c^r(if (c:mucve2) (command 'u")) $p4= $p4=' (cicl0J-c~c-PCicl02 $p4= Sp4=' I-..] [Ayudnl^C^C-PTypc Rohlielp4.doc~rnore $p4= $p4='

"'SCREEN

105

Page 126: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

[AutoCAI>I^C^C^P(Command "menu" 'acad')

"KGraficas IGRAFICASI I 1 IPosicion)^C"C^P(ii (not cdcsp) (load 'prafic')) (cdesp) I 1 lVeloc:PC^C^P(il (not c:vci) (load 'grafic')) ( c v c i ) I 1 [Acel.l^CT^P(if (not cacei) (load 'gralie")) (c:acei ) I 1 I.---...--]

[ _ _ _ _ _ _ _ . _ ] I Ayuda I^C^C^Plype RohhclpZ.daclmore $S=hí;raficas

IROBOl ' ]$S=M~lPUI .AI>OI~

"KMovimien to [MOVIMIENTO]

(Mov. R-Rl$S=Ranimaeionl

[Mov. R-P]SS=RanimacianZ

IRO~Ol]SS=MANlPULAI>Ol1

"Ranimacionl I 11-11 I [Generarl^C^C-P(il (not c:Rota) (load 'MOVl-1")) ( d l o l n ) I 1 IMovcrIT-C"PMucve1 I 1 [RegresarI^C:C-P(if (c:niuevcl) (command "u")) I 1 ICiciol^C^C^pciclol I 1 [ .-....... ]

[ ___.._... J

I 1

I 1

I 1

I 1

I Ayuda l*C^C^PType Robhelp3.doelmorc $S=Ranimacionl

[MOVIM.]$S=KMovimien to

**Ranimacion2 I R - P I I 1 [Generarl^C^C^P(if (not c:Pos2) (load "MOVI-2")) (c:PorZ) I 1 [Moverl-CT^PMucveZ I 1 lRegresarl-C"C^P(il (c:mime2) (command "u")) I ) lCicloI^CT*PCiclo2 I l . I ._.._.... J

I .---___._ ] I Ayuda ] ^ C T ^ P l y p e Rabhelp4.doclm6rc $S=RanimneianZ

\ I 1 :\~ IMOVIM.I$S=KMDvimiento

"hDatos I I>Al'OS I \ I fCargar l*CT^ P(if (not cleedatos) (load 'icctar'))(r::lecdiit~s)

106

Page 127: ceniúet - Centro Nacional de Investigación y Desarrollo ... Martin Eduardo... · Elaboración del algoritmo para formar las matrices características de las ecuaciones de movimiento

I [ I ' (Modüiear]^C^C"P(CommanJ 'edil'' 'r.dat")+ (prompt 'DEBES CORRER EL PROGRAMA ROnOl'l !") $S=kdalos

[Robotll*C^C^P(Command "Script" "modif") I 1

[ I .--- ~ _._. ]

_..-.____ ] I Ayuda I*C^C^PType Robhclpl.doc~morc SS=kdatos

L / I [ROBOTIS= Manipulador ,/

/,

9 4 0 0 9 8

107