Control de servomotores para un Robot Paralelo de 3 grados de libertad mediante el empleo de una tarjeta controladora multiejes*

VIII Congreso Mexicano de Robótica, COMRob 2006 Instituto de Ingeniería de la UNAM, 19 y 20 de Octubre de 2006, México, D.F. Control de servomotores...
4 downloads 5 Views 439KB Size
VIII Congreso Mexicano de Robótica, COMRob 2006

Instituto de Ingeniería de la UNAM, 19 y 20 de Octubre de 2006, México, D.F.

Control de servomotores para un Robot Paralelo de 3 grados de libertad mediante el empleo de una tarjeta controladora multiejes* Noé Alvarado1, Miguel A. Llama1 L., Philippe Wenger2 , J. Alfonso Pámanes1, Héctor A. Moreno1 1

Grupo de Mecatrónica y Control División de Posgrado e Investigación Instituto Tecnológico de la Laguna Blvd. Revolución y Cuauhtémoc; Torreón, Coah. 27000 México. [email protected]

2

Equipe de Méthodes de Conception en Mécanique Institut de Recherche en Communications et Cybernétique de Nantes (IRCCyN) 1 Rue de la Noë, BP 92101 ; 44321 Nantes CEDEX 3 France. [email protected]

Resumen Este trabajo está enmarcado en el proyecto de construcción de un robot paralelo de 3 grados de libertad por parte del grupo de Mecatrónica y Control de la maestría en Ing. Eléctrica del Instituto Tecnológico de La Laguna. Una parte importante de este proyecto es el control de los motores del robot tal que éste siga las consignas de movimiento proporcionadas por el sistema de planificación de tareas.

El robot consiste de tres piernas las cuales tienen 3 articulaciones rotacionales. Cada pierna está unida en un extremo a la plataforma móvil y en el otro a la base fija. Sólo una de las articulaciones de cada pierna es actuada y las otras 2 son subactuadas. Se utilizan 3 servomotores, uno para cada pierna. Cada motor se sitúa por debajo de la base fija de cada pierna. El sistema de control debe ser capaz de seguir perfiles de movimientos compuestos en cierto tiempo.

I. Introducción. El objetivo principal de este trabajo es el desarrollo del sistema de control de un robot paralelo de tres grados de libertad que actualmente es construido por el grupo de Mecatrónica y Control de la División de Posgrado e Investigación del Instituto Tecnológico de La Laguna. El sistema incluye además el desarrollo de una interfaz visual para el control de movimiento del robot paralelo. Dicha interfaz está siendo desarrollada en Visual C++.

Tomando en cuenta estos requerimientos se adquirió un equipo de control multiejes; donde la palabra eje se utiliza para denominar al conjunto de la tarjeta de control, amplificador y motor. La tarjeta controladora es capaz de controlar y sincronizar varios motores a la vez.

Para este robot paralelo se propuso un órgano terminal como el mostrado en la figura 1 el cuál es una superficie sólida móvil. Con este modelo se impide la posibilidad de transportar objetos con el órgano terminal, pero dada la utilidad didáctica del manipulador se acepta tal deficiencia. La forma triangular de la estructura del órgano terminal la hace muy eficiente para resistir cargas [1].

Figura 1. Robot paralelo 3RRR ___________________________________________________________________________

*

Proyecto apoyado por CNRS - CONACYT en el marco de las actividades del Laboratorio Franco-Mexicano de Automática Aplicada (LAFMAA) y parcialmente por COSNET-DGEST.

II. Descripción del equipo multiejes. El equipo de control empleado para el desarrollo del control de movimiento del robot está formado de los siguientes elementos descritos en la tabla 1.1, y mostrados en la figura 2, todos ellos de la marca Kollmorgen.

3 3 3 1 3 3 4 1 1

Tabla 1.1 Elementos del equipo multiejes. Elemento Modelo Servo amplificadores SERVOSTAR 603 Motores AKM32D-ACCNR01 Tarjetas de comunicación Sercos Interfase Tarjeta controladora multiejes SERVOSTAR MC Cables de control CF-SS-RHGE-03 Cables de alimentación AWM 20328 Fibras ópticas PC personal Fuente 24 Vcd

Servo Amplificador ServoStar 603

Tarjeta multiejes ServoStar MC

C. Tarjeta de comunicación SERCOS Interface. El uso de la tarjeta de comunicación SERCOS (figura 3) permite la comunicación digital entre el controlador y el servo amplificador, además de proveer una sincronización precisa no importando el número de ejes conectados [3][4].

Motor Kollmorgen AKM32D

Figura 2. Elementos principales del equipo multiejes A. Servo amplificador SERVOSTAR 603. Los servo-drives SERVOSTAR 603 tienen las siguientes características: Amplio rango de potencia para soportar una gran variedad de motores KOLLMORGEN [2]. Soporte para todos los tipos de dispositivos de retroalimentación estándar. Capacidad de trabajar con diferentes tarjetas de expansión como SERCOS, Profibus, Device Net. Los modos de comando en los que puede trabajar son: Par, posición, velocidad, y tareas de movimiento. La sintonización y configuración se lleva a cabo mediante un software llamado “Drive. Exe” y la conexión a la PC con un cable serial. En la tabla 1.2 se describen los datos técnicos de este dispositivo.

Figura 3. Tarjeta Sercos Interface La comunicación se realiza por medio de fibra óptica (figura 4) la cual elimina el ruido eléctrico transmitido por el “switcheo” de alta potencia del amplificador.

Figura 4. Señales que se trasmiten en la fibra óptica D. Tarjeta controladora multiejes SERVOSTAR MC. La tarjeta SERVOSTAR MC (mostrada en la figura 5) está diseñada alrededor de un microprocesador de 133 Mhz, el cual le permite controlar en tiempo real y con sincronía hasta 8 ejes simultáneamente [4][5].

Tabla 1.2 Datos técnicos del SERVOSTAR 603 Corriente nominal de salida por fase (RMS /fase) Fuente de alimentación (KVA)

3 Amp. 208 – 480 Vca. 2.3 KVA

B. Servo motor AKM 32D. Los servomotores de la serie AKM de Kollmorgen son del tipo sin escobillas de alto desempeño; tienen un amplio rango de conectividad, retroalimentación, alto par y aceleración [3]. En la tabla 1.3 se describen las características de estos servo motores. Tabla 1.3 Características del servo motor AKM 32D Torque 2.04 Nm de par continuo Velocidad 6000 rpm Voltaje 640 Vcd Retroalimentación Resolver, encoder, encoder de seno absoluto o SFD

Figura 5. Tarjeta SERVOSTAR MC con bus PCI

Maneja 23 entradas digitales y 20 salidas digitales. Emplea tecnología “plug and play” y contiene un dispositivo “flash disk” dentro de ella misma lo que provee almacenamiento de memoria en mega bytes. Cuenta con su propio bus PC-104+ que permite adicionar una amplia variedad de operaciones de E/S. El esquema de la figura 6 y la tabla 1.4 muestran algunas de estas características.

La comunicación entre esta tarjeta y los servo-drives es hecha mediante las tarjetas de comunicación SERCOS dispuestas en un anillo de fibra óptica (figura 8).

Figura 8. Anillo de comunicación

Figura 6. Esquema interno y externo de la MC Tabla 1.4 Especificaciones de la SERVOSTAR MC Tipo de procesador Varios Velocidad del procesador 200 Mhz min. Tipo de RAM SDARAM 144 pin Tiempo de acceso a RAM 60 nsec Tamaño de RAM 32 MB, 128 MB Número máximo de ejes 16 Comunicación con los servo- SERCOS drives Slots que toma de la PC 2 Número máximo de tarjetas 2 PC104 El software del sistema de la SERVOSTAR MC (figura 7) consta de 3 componentes principales: Un “firmware” que incluye el sistema operativo de tiempo real RTOS VxWorks de River Sistems y el compilador MC. Un programa de usuario en MC-Basic, y El software de Microsoft Windows.

Figura 7. Componentes del software de la tarjeta MC

E. Computadora personal. La PC actúa como huésped de la tarjeta SERVOSTAR MC y se utiliza para desarrollar y cargar programas de usuario de Basic Moves Development Studio a la tarjeta controladora. También permite correr el software “Drive.Exe” para la sintonización y configuración del amplificador SERVOSTAR 603 y el motor AKM32D [6]. F. Software. El software tiene 3 componentes importantes que permiten realizar una configuración sencilla así como generar diferentes tipos de consignas de movimiento. Además están abiertas al diseño por parte del usuario. A continuación se describen las componentes del software. Drive.Exe. Se emplea para configurar y sintonizar el motor y el amplificador. Basic Moves Development Studio. Es una aplicación que usa un lenguaje de programación MC-Basic con el que se pueden programar diferentes comandos de movimiento (hechos especialmente para los sistemas de ejes individuales y de múltiples ejes). Además se pueden usar funciones de programación del lenguaje Basic [4][7][8][9]. API (Application Programming Interface). SE usan para acceder a la tarjeta controladora, el amplificador y el motor desde interfaces hechas en Visual C++ y Visual Basic [10]. III. Objetivos de Control de Movimiento. El robot debe de ser capaz de realizar un movimiento dado en un tiempo establecido; para esto se necesitan los perfiles de movimiento de velocidad y posición.

Estos perfiles deben de ser reproducidos en los motores para que el robot logre el movimiento deseado. Los perfiles de posición y de velocidad se obtuvieron mediante el estudio del modelado cinemático del robot paralelo. Para esto se empleó el siguiente algoritmo desarrollado en MatLab [1]: Definir los puntos iniciales y finales de cada segmento de la trayectoria. Realizar cada segmento de la trayectoria mediante un movimiento cicloidal. Discretizar cada segmento de la trayectoria. Para cada muestra, calcular el modelo cinemático inverso de posición para obtener sus correspondientes variables articulares. Por lo tanto, para la obtención de los perfiles de movimiento se proporcionan segmentos de línea de la trayectoria que se desea seguir; donde cada segmento de línea está compuesto por muestras tomadas a un cierto período de muestreo. Una vez aplicado el algoritmo, los perfiles tanto de posición como de velocidad generados se almacenan en archivos de texto con un formato especificado. Estos archivos de texto se emplean para que los motores generen los perfiles de movimiento (ver figura 9) utilizando la aplicación de control para el movimiento del robot. Las unidades empleadas para posición son revoluciones y para velocidad son revoluciones / segundo.

de posición es agregar un lazo de posición en cascada o en serie con un lazo de velocidad. En nuestra aplicación se tiene un lazo interno de velocidad y otro externo para posición (ver figuras 10 y 11). Ambos lazos deben de ser sintonizados adecuadamente. La sintonización es el proceso de modificar las ganancias del servo, donde ganancias altas proveen niveles altos de desempeño pero también pueden ocasionar que el sistema esté cerca de la inestabilidad. También es común utilizar filtros pasa-bajos en serie con el lazo de velocidad para reducir los problemas de estabilidad a altas frecuencias; estos filtros deben ser sintonizados al mismo tiempo que las servo ganancias [6]. Para la sintonización de los SERVOSTAR 603 se debe de tonar como base la guía que proporciona el fabricante [12].

Figura 10. Lazo de velocidad a sintonizar en el SERVOSTAR 603

Figura 11. Lazo de posición a sintonizar en el SERVOSTAR 603 Figura 9. Perfiles de posición calculados IV. Sintonización. El servo-control se refiere a la regulación de velocidad y posición del motor en base a una señal de retroalimentación. Una forma común que provee control

V. Desarrollo de la aplicación de control Una vez que se llevó a cabo el proceso de instalación, configuración y sintonización del equipo, el paso siguiente es el desarrollo de la aplicación de control con la cual se trabajará para el control de los motores y por ende el control de movimiento del robot paralelo.

La parte principal del desarrollo de la aplicación de control consiste en trabajar con el software Basic Moves Developmet Studio (BMDS) para manejar en sincronía los 3 motores del robot, asegurando que los perfiles de movimiento inicien y terminen al mismo tiempo y sin error. Otra parte importante es el desarrollo de una interfaz visual que permita integrar todo el ambiente de trabajo del robot: planeación de trayectorias, control, registro de eventos, etc. Para el desarrollo de esta interfaz se utilizó el lenguaje de programación Visual C++ en conjunto con las API’s de Kollmorgen. El BMDS es un ambiente de desarrollo para llevar acabo multitareas y control de movimiento para sistemas multiejes. Además permite al usuario escribir sus propios programas como tareas independientes [4]. BMDS manda y transporta el programa del usuario a la controladora SERVOSTAR MC y después inicia el proceso de compilación y ejecución. También se tiene la posibilidad de graficar las señales de posición y de velocidad de los perfiles de movimiento, tanto las comandadas como las reales, y así verificar que los perfiles de movimiento se están llevando a cabo correctamente. A. Estructura de proyectos en Basic Moves. En MC Basic cada programa que se hace es un proyecto. Cada proyecto contiene tres tipos de tareas: las de configuración, las de uso general y las de auto ejecución. Las tareas de configuración sirven para declarar el número de ejes, darles algún nombre representativo, declarar variables locales, tablas de posición y conjuntos de motores llamados grupos; su nombre es característico por ser config.prg. Las tareas de uso general se utilizan para desarrollar el programa principal. La estructura de éste se divide en declaración de variables locales, y una parte para manejar el programa principal donde se pueden colocar funciones, eventos y subrutinas. Normalmente en las subrutinas es donde se declaran los límites del motor así como las unidades que se usarán en el proyecto. También ayuda a levantar el anillo de comunicación de fibra óptica formado por los SERCOS. Las tareas auto ejecutables son aquellas usadas para correr rutinas de inicialización del sistema, como por ejemplo poner en algún valor ciertas salidas conectadas, etc. Actualmente se está usando solamente una tarea de configuración y otra general [8]. B. Comandos. Se cuenta con una gran variedad de comandos para manejar las consignas de movimiento y la retroalimentación. Existen los que definen unidades y límites de posición, velocidad y aceleración del motor. En el caso de nuestro programa se tuvo que definir un factor de posición donde se especifica las cuentas por revolución que da el resolver [4][7][8].

Las unidades que se emplean para nuestra aplicación son revoluciones por segundo, por lo que el límite máximo de velocidad se estableció en 60 revs./seg. Comando Jog.- El comando JOG se utiliza para mandar al motor una velocidad constante independiente de la posición actual. La velocidad comandada puede ser positiva o negativa por ejemplo: Jog A1 20 En el comando anterior se especifica llevar al eje llamado A1 a una velocidad de 20 revoluciones sobre segundo. El perfil gráfico que visualizaríamos como resultado de este comando se muestra en la figura 12. Velocidad Comandada

20 rev/seg

0

Aceleración

Velocidad de crucero Tiempo

Figura 12. Perfil de velocidad comandado con Jog Comando Move.- Este comando [user MC] es el más común para movimientos punto a punto y tiene 3 segmentos principales: Acelerar – Ir de de velocidad cero a Vcruise (velocidad de crucero). Crucero – Continuar en la Vcruise. Desacelerar – Ir de la Vcruise a la Vfinal. La parte crítica del comando move es el inicio de la desaceleración en el tiempo exacto para que la velocidad del motor llegue a 0 (si VFinal se especifica para ser 0) al momento que la posición comandada alcanza la posición final. Ejemplo: Move A1 100 VCruise = 2000 En este comando se le especifica al eje A1 que vaya a la posición 100 a una velocidad crucero de 2000 rpm. El perfil producido es mostrado en la figura 13.

Figura 13. Perfil de velocidad empleando Move

C. Tipos de movimiento Un generador de movimiento controla todos los movimientos en la MC. Este dispositivo de software recibe comandos de las tareas de la MC y produce comandos de posición y velocidad para los drives cada servo-ciclo. La SERVOSTAR MC soporta 3 tipos de movimientos: individuales, maestro-esclavo y en grupo [8]. Los movimientos individuales se usan para controlar cada motor de una manera independiente y se utiliza para esto los comandos JOG y MOVE. Dado que se requería sincronizar los motores se escogió MOVE para hacer pruebas. El movimiento maestro-esclavo entrelaza la posición de un eje (esclavo) a la posición de otro eje (maestro). El eje maestro puede ser cualquier eje controlado por la SERVOSTAR MC. Hay dos tipos de movimientos maestro-esclavo: de engranaje (gearing) y de tablas cam (camming). En nuestra aplicación se emplea el movimiento maestroesclavo, específicamente el de las tablas camming. La señal maestra para el movimiento maestro-esclavo pude ser una de las siguientes fuentes: Un eje físico controlado por la MC, un eje simulado dentro de la MC, o una señal de encoder conectada a la entrada de encoder externo del SERVOSTAR 603 que está conectado a la MC. El movimiento de grupos permite controlar varios ejes en un solo mecanismo. La posición y la velocidad ya no son individuales; sin embargo son vectores de dos a más elementos. La velocidad y la aceleración ya no se aplican sólo para un motor sino se implementan al movimiento de varios motores en conjunto. El Movimiento en un grupo es muy parecido al de uno solo. En el control de posición solamente se tiene que comandar lo que corresponde a cada uno de los elementos que conforman el grupo. La velocidad es calculada por la misma controladora. La velocidad es el cálculo ortogonal de las velocidades de los motores del grupo. Para hacer uso de este tipo de movimiento se define en el Config.prg qué motores pertenecen a un grupo y qué nombre tendrán. Después en el programa principal se hace uso del grupo. La manera de hacer movimientos es a través del comando MOVE. Los motores que estén incluidos en el grupo estarán sincronizados automáticamente. El comando mandará la posición de cada motor en forma de un vector y la controladora se encargará automáticamente de calcular la velocidad ortogonal y aceleración para cada motor. D. Selección del tipo de movimiento. Una vez que se llevó a cabo el estudio de los diferentes tipos de movimientos que puede realizar la MC y de haber realizado pruebas con cada uno se optó por el

movimiento maestro-esclavo, específicamente el de tablas cam. La razón por la que se escogió esta opción fue que al hacer pruebas se encontró que no se llevaba mucho tiempo de ejecución ya que no se emplean ciclos for, while, etc, los cuales son necesarios para poder realizar los movimientos individuales y en grupos. Otra razón es que el número de muestras que se pueden emplear en los perfiles de movimientos es más amplio. Una tabla cam [8] es una lista de puntos que define un mapeo uno a uno de la posición del maestro a la posición comandada del esclavo. La salida de la tabla cam provee la posición comandada al eje esclavo. Soporta además movimientos en ambas direcciones y puede ser manejada por un comando de posición de un eje, por la retroalimentación de posición de un eje, o por un encoder externo. Se pueden emplear ejes físicos o simulados. Ejemplo de una tabla Cam: CAM1.1 = (10, 20) CAM1.2 = (20, 40) CAM1.3 = (30, 60) CAM1.4 = (40, 80) CAM1.5 = (50, 100) Donde la primera columna corresponde al maestro y la segunda al esclavo. Hay 2 tipos de tablas cam: estática y dinámica. La tabla estática es construida y almacenada en el disco flash para usarse después. Existen 2 formas de crear las tablas estáticas. Esto se ilustra en la figura 14.

Figura 14. Proceso para creación de tablas cam estáticas

La tabla dinámica permite construir un perfil cam basado en eventos que ocurren durante la operación, tal como la posición actual o velocidad de un eje. Este proceso es idéntico al proceso de crear una tabla cam en el MC-Basic excepto que no se colocan los datos en flash, sino que se usan las tablas cam directamente.

fue la realización de una interfaz de control visual empleando Visual C++ y las API’s de Kollmorgen. Esta interfaz tiene como objetivo integrar todo el proceso de control del robot así como liberarse de un lenguaje semi-compilado como el MC Basic y así proporcionar mayor velocidad a nuestra aplicación. Las API’s son una forma simple de conectar una aplicación de control de Windows a la Servostar MC tal que se pueda conectar una aplicación de control en Visual Basic o Visual C++ al programa MC Basic para realizar las interfaces sin emplear el Basic Moves [4][10][13]. Las funciones que se pueden hacer con las API’s son: mandar y recibir archivos, mandar comandos (y recibir respuesta), y acceso a las variables de los drives o del controlador. Para el empleo de las API’s se siguen los siguientes pasos: inicialización, creación de la tabla de los dispositivos, acceso a los dispositivos, mensajes de errores y finalización. En la figura 16 se muestra la interfaz visual de control para el movimiento del robot paralelo.

Figura 15. Descripción del proceso para el uso de las tablas cam En la figura 15 se muestra un procedimiento a grandes rasgos de cómo se emplean las tablas cam y qué comandos se utilizan para realizar la aplicación. En nuestra aplicación se emplean 3 ejes físicos que corresponden a los 3 motores que integran las piernas del robot y que serán los ejes esclavos, mientras que para el eje que actúa como maestro se emplea un eje simulado. Un eje simulado se diferencia del físico en que no hay ningún motor conectado para este eje. A continuación se muestra parte del código empleado en BMDS para la aplicación de control empleando tablas cam dinámicas: Common shared Pos as cam – Declara una cam CreateCamData 100 Pos – Crea una cam de 100 puntos Pos.MasterData[ 1 ] – Maestro Pos.SlaveData[ 1 ] – Esclavo Pos.Next = none – Inicializa la cam Pos.Prev = none – Inicializa la cam A1.FirstCam = Pos – La primera cam es Pos A1.CamOffset = 0.01 – Punto de inicio de la cam VI. Interfaz visual de control. Una vez que se llevaron a cabo las pruebas en la aplicación realizada en el Basic Moves el siguiente paso

Figura 16. Interfaz visual de control. La interfaz consta de los siguientes botones: Cargar programa, Modificar tiempo de trayectoria, Verificar y llevar al robot a la posición de “home”, Iniciar movimiento, Detener movimiento, Salir. VII. Pruebas y Resultados. Las pruebas que se han realizado hasta el momento consisten en mover el robot paralelo en base a los perfiles de posición proporcionados a partir del análisis cinemático del robot. Este análisis se obtiene a partir de una interfaz hecha en Matlab [11] en la cual se generan estos perfiles y se guardan en archivos de texto para que éstos sean leídos y cargados a la interfaz de control. En la figura 9, mostrada anteriormente, se ilustraron los perfiles de posición de cada motor obtenidos de la

interfaz en Matlab. Estos perfiles que se utilizaron para comandar los motores a través de la interfaz visual de control. En las figuras 17, 18 y 19 se hace la comparación entre los perfiles generados en Matlab y los perfiles reales generados en los motores. Se puede observar que éstos son muy parecidos; es decir que los perfiles generados en los motores siguen a los perfiles de referencia generados en Matlab.

que de otra manera serían complicadas para el diseñador y que tomarían mucho tiempo de desarrollo. Por otra parte, se han encontrado limitaciones en esta tecnología como el tener que trabajar con un lenguaje intérprete en vez de compilado. Esto puede causar retrasos en la ejecución de los comandos y por ende retrasos en la respuesta que esperamos del sistema. Además, la aplicación Basic Moves no tiene manera de interactuar con otro tipo de programas y equipos, por lo que se desarrolló una aplicación en Visual C++ para mejorar la aplicación. Referencias [1]

[2]

[3]

Figura 17. Comparación de perfiles motor1 [4] [5]

[6]

[7]

Figura 18. Comparación de perfiles motor2 [8]

[9]

[10] [11]

Figura 19. Comparación de perfiles motor3 VIII. Conclusiones El trabajar con la tecnologia multiejes ha sido satisfactorio debido a que se tienen varias herramientas de hardware y de software que ayudan a realizar tareas

[12]

[13]

C. Oción, Tesis profesional “Diseño mecánico de un robot paraleo 3RRR”, Director: Jose Alfonso Pámanes García. Tecnológico de La Laguna, Marzo 2006, pp. 45, 46. Danaher Motion Kollmorgen, Digital Servo amplifier ServoStar 601...620. Assembly,Installation, Setup. United States of America, Danaher Motion Kollmorgen, Edition 03/04, pp. 13,18,74. Danaher Motion Kollmorgen, AKM_Motor_Selection_Guide. United States of America, Danaher Motion Kollmorgen, Edition 03/05, pp. 1-42. Danaher Motion Kollmorgen, Kol1194. United States of America, Danaher Motion Kollmorgen, Edition 06/01, pp. 1-24. Danaher Motion Kollmorgen, SERVOSTAR MC Installation Manual, United States of America, Danaher Motion Kollmorgen, 2002. pp. 5,7,1013,15 Danaher Motion Kollmorgen, Setup Software Drive.Exe for SERVOSTAR 400/600 Description of parameter and function, United States of America Danaher Motion Kollmorgen Edition 07/02 ,pp. 195. Danaher Motion Kollmorgen, SERVOSTAR MC Basic Moves Development Studio , United States of America Danaher Motion Kollmorgen Edition 2002, pp. 1-42. Danaher Motion Kollmorgen, SERVOSTAR MC User´s Manual, United States of America, Danaher Motion Kollmorgen. 2002. pp. 1-138. Danaher Motion Kollmorgen, SERVOSTAR MC Reference Manual, United States of America Danaher Motion Kollmorgen Edition 2002 , pp. 1265 Danaher Motion Kollmorgen, API Reference Manual , United States of America Danaher Motion Kollmorgen Edition 2002 ,1-1 – 3-8 H. Moreno, “Modelado y planificación de movimiento de robots paralelos: Estudio de 3 arquitecturas”,Tesis de maestria,. Tecnológico de La Laguna, a sustentarse en 2006. Danaher Motion, Tuning interactive guide, disponible en web : www.motionvillage.com. pp. 127

F. J. Ceballos, Visual C++ Aplicaciones para Win32, Editorial Alfaomega, 2004, pp. 1-691.

Suggest Documents