development of an embedded control system by means … se implementa utilizando un motor lat real y...

8
Abstract— In this paper the design and implementation of an embedded control system, using DSCs (Digital Signal Controller) devices of dsPIC type, applied on a four DOF (Degrees Of Freedom) robotic manipulator OWI-535 model is presented. The mathematical model of manipulator is elaborated obtaining joint trajectories to achieve the tracking of a test Cartesian trajectory. A control structure based on a Master/Slave configuration, between two dsPIC30F4013 through SPI (Serial Peripheral Interface) protocol is developed. In such a system, algorithms are implemented: PID (Proportional Integral Derivative) with anti- windup and, generation PWM (Pulse-Width Modulation) and data acquisition, in the DSCs master and slave, respectively. The results are exposed by comparative curves between the desired and real joint trajectories and joint error graphs, generated from real data of the implementation. Keywords— controllers, embedded systems, dsPIC, SPI, robots, manipulators. I. INTRODUCCIÓN RACIAS a la gran disponibilidad de herramientas de desarrollo de hardware y software que existen en la actualidad los sistemas embebidos se han convertido en una pieza fundamental para diversas actividades industriales, tales como: automovilística, aviónica, telecomunicaciones, aeroespacial, automatización, robótica, entre otras [1]-[5]. Se diseñan para resolver un problema específico de un sistema mayor en el que se integran, se componen principalmente de chips programables o configurables, tales como: microprocesadores, microcontroladores, DSPs (Procesador Digital de Señales), DSCs, FPGAs (Field-Programmable Gate Array), etcétera [6]-[11]. Una etapa fundamental de estos sistemas corresponde a la adquisición de datos, en [12] se aborda el diseño e implementación de un circuito basado en un microcontrolador dsPIC30f6014A para aplicaciones de monitoreo, control digital y seguridad. El microcontrolador se programa para adquirir datos de 16 señales analógicas con una resolución de 10 a 12 bits y muestreo simultáneo de 4 señales: con velocidad fija y variable. En arquitecturas de control distribuido, los sistemas embebidos requieren mecanismos de localización transparente J. Kern, Grupo de Automática, Universidad de Santiago de Chile (USACH), Santiago, Chile, [email protected] C. Urrea, Grupo de Automática, Universidad de Santiago de Chile (USACH), Santiago, Chile, [email protected] R. Méndez, Grupo de Automática, Universidad de Santiago de Chile (USACH), Santiago, Chile, [email protected] G. González, Grupo de Automática, Universidad de Santiago de Chile (USACH), Santiago, Chile, [email protected] debido a que las tareas se asignan a varios nodos. En [13] se presenta un RTOS (Sistema Operativo en Tiempo Real) para sistemas de control embebidos que: permite la realización de llamadas al sistema (localización transparente) y soporta procesamiento paralelo multi-núcleo y computación distribuida. Un trabajo que contempla el modelado de un motor LAT (Limited Angle Torque) y el diseño de diferentes leyes de control PID en cascada, se expone en [14]. El sistema competo se implementa utilizando un motor LAT real y sistema embebido basado en un microcontrolador dsPIC. Las líneas de código de los algoritmos de control se generan a partir de la herramienta Embedded Coder de Simulink. En el campo de la robótica, se observan avances como el control de fuerza aplicado sobre la pinza de un brazo robótico que emplea actuadores con un tipo de aleación con memoria de forma [15]. El método de control utilizado corresponde a un algoritmo difuso en modo deslizante que, además, incorpora una regla de control de antideslizamiento para evitar tomar objetos desconocidos con fuerza insuficiente. Las estrategias de control se ejecutan en un MCU (MicroController Unit) Microchip dsPIC dentro del cual es posible efectuar cálculos complejos con punto flotante. En [16] se presenta un método de control adaptativo para un sistema robotizado empleando: algoritmos de lógica difusa y de SLAM (Simultaneous Localization And Mapping) en ambientes de interiores. El sistema principal consta de un microcontrolador dsPIC de 16 bits: para controlar un robot móvil y un brazo robótico, y de un computador Raspberry Pi con sistema Arch Linux ARM (distribución de Linux para equipos ARM): para explorar el entorno y construir un mapa adecuado. Por otra parte, en el ámbito educacional, se están desarrollando entrenamientos que contemplan aplicaciones de sistemas embebidos y microcontroladores especializados: integrando tecnologías de comunicaciones inalámbricas en plataformas de código abierto Arduino [17]. La organización del presente trabajo es la siguiente: en la Sección II se introducen las características principales, y los modelos cinemático y dinámico del robot manipulador OWI- 535. La Sección III hace referencia a la trayectoria cartesiana de prueba que se aplica en el robot. La Sección IV aborda el díselo del sistema de control embebido considerando la configuración de hardware. La Sección V plantea el algoritmo de control utilizado y la forma de comunicación SPI seleccionada. Finalmente, los resultados y las conclusiones se presentan en las secciones VI y VII, respectivamente. J. Kern , Member, IEEE, C. Urrea , Member, IEEE, R. Méndez and G. González Development of an Embedded Control System by Means of dsPIC Applied in a 4 DOF Robot G

Upload: phamtuong

Post on 24-Mar-2018

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Development of an Embedded Control System by Means … se implementa utilizando un motor LAT real y sistema embebido basado en un microcontrolador dsPIC. Las líneas de código de

Abstract— In this paper the design and implementation of an embedded control system, using DSCs (Digital Signal Controller) devices of dsPIC type, applied on a four DOF (Degrees Of Freedom) robotic manipulator OWI-535 model is presented. The mathematical model of manipulator is elaborated obtaining joint trajectories to achieve the tracking of a test Cartesian trajectory. A control structure based on a Master/Slave configuration, between two dsPIC30F4013 through SPI (Serial Peripheral Interface) protocol is developed. In such a system, algorithms are implemented: PID (Proportional Integral Derivative) with anti-windup and, generation PWM (Pulse-Width Modulation) and data acquisition, in the DSCs master and slave, respectively. The results are exposed by comparative curves between the desired and real joint trajectories and joint error graphs, generated from real data of the implementation.

Keywords— controllers, embedded systems, dsPIC, SPI,

robots, manipulators.

I. INTRODUCCIÓN RACIAS a la gran disponibilidad de herramientas de desarrollo de hardware y software que existen en la

actualidad los sistemas embebidos se han convertido en una pieza fundamental para diversas actividades industriales, tales como: automovilística, aviónica, telecomunicaciones, aeroespacial, automatización, robótica, entre otras [1]-[5]. Se diseñan para resolver un problema específico de un sistema mayor en el que se integran, se componen principalmente de chips programables o configurables, tales como: microprocesadores, microcontroladores, DSPs (Procesador Digital de Señales), DSCs, FPGAs (Field-Programmable Gate Array), etcétera [6]-[11].

Una etapa fundamental de estos sistemas corresponde a la adquisición de datos, en [12] se aborda el diseño e implementación de un circuito basado en un microcontrolador dsPIC30f6014A para aplicaciones de monitoreo, control digital y seguridad. El microcontrolador se programa para adquirir datos de 16 señales analógicas con una resolución de 10 a 12 bits y muestreo simultáneo de 4 señales: con velocidad fija y variable.

En arquitecturas de control distribuido, los sistemas embebidos requieren mecanismos de localización transparente

J. Kern, Grupo de Automática, Universidad de Santiago de Chile

(USACH), Santiago, Chile, [email protected] C. Urrea, Grupo de Automática, Universidad de Santiago de Chile

(USACH), Santiago, Chile, [email protected] R. Méndez, Grupo de Automática, Universidad de Santiago de Chile

(USACH), Santiago, Chile, [email protected] G. González, Grupo de Automática, Universidad de Santiago de Chile

(USACH), Santiago, Chile, [email protected]

debido a que las tareas se asignan a varios nodos. En [13] se presenta un RTOS (Sistema Operativo en Tiempo Real) para sistemas de control embebidos que: permite la realización de llamadas al sistema (localización transparente) y soporta procesamiento paralelo multi-núcleo y computación distribuida.

Un trabajo que contempla el modelado de un motor LAT (Limited Angle Torque) y el diseño de diferentes leyes de control PID en cascada, se expone en [14]. El sistema competo se implementa utilizando un motor LAT real y sistema embebido basado en un microcontrolador dsPIC. Las líneas de código de los algoritmos de control se generan a partir de la herramienta Embedded Coder de Simulink.

En el campo de la robótica, se observan avances como el control de fuerza aplicado sobre la pinza de un brazo robótico que emplea actuadores con un tipo de aleación con memoria de forma [15]. El método de control utilizado corresponde a un algoritmo difuso en modo deslizante que, además, incorpora una regla de control de antideslizamiento para evitar tomar objetos desconocidos con fuerza insuficiente. Las estrategias de control se ejecutan en un MCU (MicroController Unit) Microchip dsPIC dentro del cual es posible efectuar cálculos complejos con punto flotante. En [16] se presenta un método de control adaptativo para un sistema robotizado empleando: algoritmos de lógica difusa y de SLAM (Simultaneous Localization And Mapping) en ambientes de interiores. El sistema principal consta de un microcontrolador dsPIC de 16 bits: para controlar un robot móvil y un brazo robótico, y de un computador Raspberry Pi con sistema Arch Linux ARM (distribución de Linux para equipos ARM): para explorar el entorno y construir un mapa adecuado.

Por otra parte, en el ámbito educacional, se están desarrollando entrenamientos que contemplan aplicaciones de sistemas embebidos y microcontroladores especializados: integrando tecnologías de comunicaciones inalámbricas en plataformas de código abierto Arduino [17].

La organización del presente trabajo es la siguiente: en la

Sección II se introducen las características principales, y los modelos cinemático y dinámico del robot manipulador OWI-535. La Sección III hace referencia a la trayectoria cartesiana de prueba que se aplica en el robot. La Sección IV aborda el díselo del sistema de control embebido considerando la configuración de hardware. La Sección V plantea el algoritmo de control utilizado y la forma de comunicación SPI seleccionada. Finalmente, los resultados y las conclusiones se presentan en las secciones VI y VII, respectivamente.

J. Kern , Member, IEEE, C. Urrea , Member, IEEE, R. Méndez and G. González

Development of an Embedded Control System by Means of dsPIC Applied in a 4 DOF Robot

G

Page 2: Development of an Embedded Control System by Means … se implementa utilizando un motor LAT real y sistema embebido basado en un microcontrolador dsPIC. Las líneas de código de

II. ROBOT MANIPULADOR DE 4 GDL El manipulador robotizado considerado en este estudio

incorpora 4 articulaciones rotatorias, más el accionamiento de la pinza. Para efecto de análisis, diseño e implementación, se incluyen las tres primeras articulaciones más el accionamiento de la pinza. En la Fig. 1 se muestra una fotografía del robot modelo OWI-535, junto con su representación esquemática. En la Fig. 2 se aprecia el diagrama esquemático del robot considerando, para su modelamiento cinemático y dinámico, el planteamiento de los sistemas de ejes coordenados y de los centroides, donde, q1, q2, q3 y l1, l2, l3, representan las coordenadas generalizadas y las longitudes de los eslabones: primero, segundo y tercero, respectivamente. lc1, lc2 y lc3 expresan las longitudes desde los orígenes hasta los centroides de los eslabones: primero, segundo y tercero, correspondientemente.

Figura 1. Robot modelo OWI-535 y su representación esquemática.

Figura 2. Diagrama esquemático del robot modelo OWI-535 considerando el planteamiento de los sistemas de ejes coordenados y centroides.

Los modelos cinemáticos: directo e inverso, se obtienen aplicando los métodos de Denavit-Hertemberg y geométrico, respectivamente [18]. Los resultados se presentan a través de la ecuaciones (1) a (4):

( )( )

2 2 2 2

2 2 2

2 3

2 3 2

1 1 1 1

1 1

3 3 3

3 3

1 2 3

3

3 32 2

1

2 2 3

1

c c -s c s c c cs - s s - c c c s

cc

0 s s0 0 0 1

s

l ll l

l l l

− − −

− − −

− − −

+ + = + +

T (1)

( )1 arctan y xp pθ = (2)

( )322 2 2 22

1 2 3

23 33 3

- - -1-carctan ; c

c 2x y zp p p l l l

l lθ

+ +± = =

(3)

312 2 2 3 3

23s-arctan -arctanc

z

x y

lp ll lp p

θ = + ± +

(4)

donde: s1 = sinθ1, s2 = sinθ2, c1 = cosθ1, c2 = cosθ2, s2-3 = sin(θ2-θ3) y c2-3 = cos(θ2-θ3).

El modelo dinámico del manipulador robotizado se consigue empleando la formulación de Lagrange-Euler de acuerdo a la expresión (5) [19]:

( ) ( ) ( ) ( ),q q q q q= + + +τ M q C G F (5)

donde τ representa el vector de fuerzas generalizadas (de dimensión n×1), M la matriz de inercia (de dimensión n×n ), C el vector de fuerzas centrífugas y de Coriolis (de dimensión n×1), q los componentes del vector de posición de las articulaciones, q los componentes del vector de velocidad de las articulaciones, G el vector de fuerza gravitatoria (de dimensión n×1) , q el vector de aceleración de las articulaciones (de dimensión n×1), F el vector de fuerzas de fricción (de dimensión n×1), y n el número de grados de libertad. Utilizando la ecuación (5), el modelo dinámico puede expresarse a través de las ecuaciones (6) a (16):

[ ]11 12 13 21 22 23 31 32 33; ;M M M M M M M M M=M (6)

( ) ( )2 2221

11 2 2 2 3 2 1 33 2232 c 1 c cc c z z z z z zM m l m l l I I I⋅= + + + + + + (7)

12 21 2 3z z z zM M I I= = + ; 13 31 3z zM M I= = (8)

( )2 2 222 2 2 3 2 2 3 3 2 332 cc c c z z z zM m l m l l l l I I= + + + + + (9)

( )23 32 3 2 33 3 3 cz z c cM M I l m l l= = + + ; 233 3 3 3c z zM m l I= + (10)

[ ]T11 21 31C C C=C (11)

( )( )( )( )

2 2 2 2 22

11 3 3

3

2 2 2 3 2 3 2 2

2 32 2

1

1 3

3

3 3 2 3

- s 2 c c s s-2 s

..c c

.c c c

c c

C l m m l l l ll m l l θ

θθθ

⋅ += +

+

++

(12)

( )( )( )3 32 2 2 2 22 21

21 1

3 3 3 3

2 2 2 3 2 3 2 322

2 3 3 2 3 3 2

s ...s s c c- s -2 s

c c c

c c

C l m m l l l l

l l m l l m θ θθ

θ⋅= + ++ +

(13)

( )232 2

31 3 3 2 2 3 3 3 33 2 21 2s c c sc c cC l m l l l l m θθ+= + (14)

[ ]T21 3 3 230 cc zG l m g=G (15)

Page 3: Development of an Embedded Control System by Means … se implementa utilizando un motor LAT real y sistema embebido basado en un microcontrolador dsPIC. Las líneas de código de

( )( )21 2 2 3 2 3232 2c c cc c zG l m m l l g= + + (16)

donde: c2⋅2 = cos(2θ2); s2⋅2 = sin(2θ2); m1, m2, y m3, representan las masas de los eslabones primero, segundo y tercero, respectivamente; l1zz, l2zz y l3zz señalan los momentos de inercia del primer, segundo, y tercer eslabón con respecto al primer eje z de su articulación, respectivamente.

III. TRAYECTORIA CARTESIANA DE PRUEBA Luego de obtener el modelo matemático del manipulador

se establece una trayectoria cartesiana de prueba, que seguirá el efector terminal del robot, compuesta por 7 segmentos curvos en el espacio xyz, como se indica en la Fig. 3. Al iniciar el movimiento, el extremo del manipulador está ubicado en la posición de reposo P0: aquí la pinza debe levantar un objeto liviano, correspondiente a un dado, desplazándolo por los segmentos mencionados y situarlo nuevamente en su posición original.

Figura 3. Esquema de la trayectoria cartesiana de prueba en el espacio xyz.

Posteriormente, a través de la cinemática inversa y empleando la trayectoria cartesiana seleccionada, se obtienen las trayectorias articulares que deben ser ingresadas como referencias al sistema de control embebido.

IV. SISTEMA DE CONTROL EMBEBIDO El sistema de control embebido se compone principalmente

de 2 DSCs dsPIC30F4013 dispuestos en una configuración Maestro/Esclavo comunicados a través del protocolo SPI, como se indica en la Fig. 4. En la Fig. 5 se presenta un diagrama de bloques que indica la distribución general de los periféricos en el sistema robotizado [22].

Figura 4. Diagrama de bloques del sistema de control embebido aplicado en el manipulador robotizado.

En este sistema, el algoritmo de control reside en el Maestro U1 que comunica las acciones de corrección del error de posición hacia el Esclavo U2. Este último se encarga de proporcionar señales PWM (Pulse Width Modulation) a los actuadores eléctricos, correspondientes a motores de corriente continua (U12, U13, U14 y U16), a través de puentes amplificadores de tipo H (U24 y U25) [20]-[21]. El dispositivo U19, gobernado también por U2, representa un display LCD de 4 líneas por 20 caracteres destinado mostrar los datos de posición y de error de las articulaciones.

Para obtener las señales de realimentación de posición de las articulaciones: se acoplan potenciómetros en el centro de cada rotor, se acondicionan las señales de tensión y se realizan las calibraciones respectivas para conseguir los niveles de voltajes adecuados que admite el ADC (Conversor Análogo Digital) interno del dsPIC U2. Dicho conversor se configura con una resolución de 12 bits, lo que permite adquirir datos de posición en un rango de 0 a 4095 (base decimal). A través de un algoritmo de codificación, que se ejecuta en U2, los datos de realimentación se empaquetan y se informan en SPI al Maestro empleando tramas debidamente ordenadas.

Figura 5. Diagrama que indica la distribución de periféricos en el robot.

En la Tabla I se indican los elementos de hardware utilizados en la implementación del sistema embebido.

TABLA I

DESCRIPCIÓN DEL HARDWARE DEL SISTEMA EMBEBIDO

N° Periférico Descripción de Hardware

U1 Maestro (Microcontrolador dsPIC30F4013) U2 Esclavo (Microcontrolador dsPIC30F4013) U12 Motor C.C. 1 - Cadera U13 Motor C.C. 2 - Hombro U14 Motor C.C. 3 - Codo U15 Motor C.C. 4 - Muñeca (fijo) U16 Motor C.C. 5 - Pinza U17 Sensor Infrarrojo QRD1114 U18 Luz - Pinza U19 LCD 4⋅20 Caracteres (Hitachi 44780) U20 Vcc1 = 4,8 V (4 Baterías AA 1,2 V) U21 Vcc2 = 4,8 V (4 Baterías AA 1,2 V) U22 Vcc3 = 6 V (4 Baterías C 1,2 V) U23 IC Puente H (SN754410) U24 IC Puente H (SN754410)

Page 4: Development of an Embedded Control System by Means … se implementa utilizando un motor LAT real y sistema embebido basado en un microcontrolador dsPIC. Las líneas de código de

En la Fig. 6 se observa el diagrama esquemático correspondiente a la disposición del Esclavo U2 hacia sus periféricos asociados. En la Fig. 7 se aprecia el conexionado de los actuadores y sensores del robot manipulador, correspondiente a los periféricos del sistema embebido, hacia el Esclavo U2.

Figura 6. Diagrama esquemático correspondiente a la disposición del conexionado del Esclavo U2 hacia sus periféricos asociados.

Figura 7. Diagrama esquemático correspondiente a la disposición del conexionado los periféricos hacia el Esclavo U2.

La Tabla II muestra una descripción del bus de datos del esclavo U2 en función de los periféricos que comanda.

TABLA II DESCRIPCIÓN DEL BUS DE DATOS DE U2 EMPLEADO CON LOS PERIFÉRICOS

Pines U2 Descripción - Comentario

RC13 - M1P1 Señal hacia U24: giro derecha de U12 RC14 - M1P2 Señal hacia U24: giro izquierda de U12 RA11 - M2P1 Señal hacia U24: giro derecha de U13 RD9 - M2P1 Señal hacia U24: giro izquierda de U13 RD2 - M3P2 Señal hacia U25: giro derecha de U14 RD3 - M3P1 Señal hacia U25: giro izquierda de U14 RB8 - M5P2 Señal hacia U25: giro derecha de U16 RB5 - M5P1 Señal hacia U25: giro derecha de U16

RB1 - VPOTM1 Voltaje de realimentación desde el rotor de U12 RB2 - VPOTM2 Voltaje de realimentación desde el rotor de U13 RB3 - VPOTM3 Voltaje de realimentación desde el rotor de U14

RB4 - VM5 Voltaje de realimentación desde U17 RB9 - LCDD4 Bus de datos hacia U19: 4bits

RB10 - LCDD5 Bus de datos hacia U19: 4bits RB11 - LCDD6 Bus de datos hacia U19: 4bits RB12 - LCDD7 Bus de datos hacia U19: 4bits RD0 - LCDRS Señal de selección de registro hacia U19 RD1 - LCDEN Señal de habilitación hacia U19 RD8 - LUZ-T Luz del brazo robótico para tomar el objeto

Para reducir el tiempo de corrección del error de posición

se designan zonas de trabajo para la generación de señales PWM, denominadas: Zona A y Zona B. En la primera se generan señales de voltaje continuo de 5 V durante un tiempo tA, y en la segunda se producen señales PWM durante un tiempo tB para llegar al asentamiento de la posición deseada de manera suave, como se indica en la Fig. 8.

Figura 8. Zonas de trabajo involucradas en la generación de señales PWM.

Los rangos de giro de las articulaciones considerados en el movimiento del manipulador, medidos en grados, se muestran en la Tabla III.

TABLA III RANGO DE MOVIMIENTO DE LAS ARTICULACIONES

Page 5: Development of an Embedded Control System by Means … se implementa utilizando un motor LAT real y sistema embebido basado en un microcontrolador dsPIC. Las líneas de código de

V. ALGORITMO DE CONTROL Y COMUNICACIÓN SPI El algoritmo de control del sistema robotizado se programa

en el Maestro U1, y corresponde a un PID con antiwindup por cada articulación [23]-[25]. La sintonización de los parámetros del controlador se efectúa a través de ajustes empíricos sucesivos consiguiendo una respuesta con: un error mínimo y un compromiso adecuado entre velocidad y exactitud, en la corrección del error. En la Fig. 9 se indica el diagrama de bloques del controlador PID con antiwindup.

Figura 9. Diagrama de bloques del controlador PID con antiwindup.

En este esquema, la salida u del controlador en el tiempo discreto k se expresa a través de la ecuación algebraica dada por la expresión (17):

( ) ( ) ( ) ( )( ) ( ) ( ) ( )

1 1 ...

- 1 2 1 2i d

d d T s

u k u k K T T T T e k

K T T e k T T e k K Te k

= − + + + + + − + − +

(17)

donde K representa la ganancia proporcional, Ti la constante de tiempo integral, Td la constante de tiempo derivativa, T el periodo de muestreo, KT la constante de corrección integral, e el error entre la referencia y la realimentación de posición, y es el error entre la salida saturada y no saturada del controlador. En la Tabla IV se muestran los valores de las constantes seleccionadas para el controlador PID con antiwindup.

TABLA IV

GANANCIAS CONSIDERADAS EN LOS CONTROLADORES

Articulación K Ti Td KT Cadera 0,4056 0,10 0,025 4,056

Hombro 0,4045 0,12 0,030 3,371 Codo 0,4911 0,12 0,030 4,092 Pinza 0,4911 0,12 0,030 4,092

Para proporcionar las acciones de control al Esclavo U2 se

utiliza el protocolo SPI. Este tipo de comunicación corresponde a un estándar síncrono de datos en serie que, actualmente, es empleado para establecer la comunicación entre diversos dispositivos, tales como: microcontroladores, DSCs, memorias EEPROM, conversores ADC y DAC, DSPs, etc. [26]. El protocolo SPI permite implementar enlaces de tipo full duplex, es decir, que se puede enviar y recibir información de manera simultánea elevando la tasa de transferencia de datos. Consta de 3 modos de operación para transmisión de datos en formato de 8 y 16 bits: modo esclavo, modo maestro y, por último, modo frame [27]. En la Fig. 10 se muestra el diagrama de bloques del módulo SPI empleado para enlazar los dsPICs U1 y U2.

Figura 10. Diagrama de bloques del módulo SPI empleado en los dsPICs.

De acuerdo al diagrama que se indica en la Fig. 10, normalmente se utilizan las siguientes líneas para establecer un enlace: SDI (Entrada de Datos Serie), SDO (Salida de Datos Serie), SCK (Reloj de Sincronización) y SS# (Selección de Esclavo por nivel bajo), sin embargo, luego de diferentes pruebas de comunicación realizadas, se decide utilizar la señalización por la dirección del byte del circuito esclavo U2, evitando implementar la línea SS# y simplificando de esta forma las líneas del bus, como se señala en la Fig. 11. Cabe mencionar que: si U2 cambia, esto es, transmite información hacia U1, se dice entonces que U2 puede trabajar en modo multi maestro y U1 en modo multi esclavo.

Figura 11. Diagrama de bloques que indica el formato de comunicación SPI aplicado en el sistema embebido.

En la Tabla V se indica una descripción del bus de control del Maestro U1 en función del Esclavo U2.

TABLA V

DESCRIPCIÓN DEL BUS DE CONTROL DEL MAESTRO U1 EMPLEADO CON U2

Pines U1 Descripción - Comentario RF2 - SDI Datos de entrada desde el esclavo U2 RF3 - SDO Datos de salida hacia el esclavo U2 RF6 - SCK Señal de reloj para la sincronización con U2

La información dispuesta en el bus SPI corresponde a

tramas que contienen: datos de los sensores de posición articular y datos de señalización PWM para los actuadores. El tamaño de las tramas, tanto de recepción como de emisión con respeto al Maestro, se establece en 10 bytes: de los cuales 2 bytes corresponden a la cabecera de la trama y los restantes 8 bytes representan los datos de sensores o actuadores. Dado que la resolución seleccionada en los dsPICs es de 12 bits, las tramas se elaboran utilizando 2 bytes por sensor o actuador; correspondiendo el primero al dato más significativo y el segundo al dato menos significativo, como se observa en la Fig. 12 donde, E1 y E2 constituyen los bytes de la cabecera de la trama, POS nA y POS nB expresan los bytes de posición

Page 6: Development of an Embedded Control System by Means … se implementa utilizando un motor LAT real y sistema embebido basado en un microcontrolador dsPIC. Las líneas de código de

más significativo y menos significativo del sensor n, respectivamente y, PWM mA y PWM mB simbolizan los bytes de señalización PMW más significativo y menos significativo del actuador m, correspondientemente.

Figura 12. Esquema que señala la trama de recepción (Maestro ← Esclavo) y la trama de emisión (Maestro → Esclavo).

En la Fig. 13 se muestra un diagrama de flujo simplificado que representa las rutinas, funciones y configuraciones generales de programación empleadas en el sistema de control embebido. El código de operación del programa se desarrolla en lenguaje C utilizando el compilador MikroC de la empresa MikroElektronica.

Figura 13. Diagrama de flujo general del algoritmo de programación del sistema de control embebido.

La implementación del manipulador robotizado junto con el sistema de control embebido (señalado con un círculo rojo), puede apreciarse a través la Fig. 14.

Figura 14. Implementación del manipulador robotizado en donde se aprecia el sistema de control embebido.

VI. RESULTADOS En la Fig. 15 se señalan los resultados de comunicación

serial, obtenidos experimentalmente, que se traducen en las señales que entrega el módulo SPI cuando se enlazan los dsPICs. Se observa la construcción de la palabra de configuración serial que se compone por un byte de dirección y un byte de datos. Para este cometido, se utiliza un osciloscopio digital que obtiene mediciones de paquetes de datos en alta frecuencia.

Figura 15. Resultado de la comunicación SPI Maestro/Esclavo: byte de datos y byte de dirección.

En la Fig. 16 se señalan las curvas correspondientes a las trayectorias articulares deseadas y reales empleando el controlador PID con antiwindap, donde qdn y qn representan las trayectorias articulares deseada y real, respectivamente (n indica las articulaciones 1 a 3).

Figura 16: Comparación de las trayectorias articulares deseadas y reales empleando el controlador PID con antiwindup.

Figura 17: Error de la trayectoria articular utilizando el controlador PID con antiwindup.

Page 7: Development of an Embedded Control System by Means … se implementa utilizando un motor LAT real y sistema embebido basado en un microcontrolador dsPIC. Las líneas de código de

El error de la trayectoria articular se aprecia en la Fig. 17, donde en simboliza el error la trayectoria articular (n indica las articulaciones 1 a 3).

En la Fig. 18 se aprecia el índice de error articular RMS (Root Mean Square), empleando el controlador PID con antiwindup, donde eqn señala los índices de error de cada articulación (n representa las articulaciones 1 a 3).

Figura 18: Índice de error articular RMS, empleando el controlador PID con antiwindup.

VII. CONCLUSIONES En este trabajo se ha presentado el diseño e

implementación de un sistema de control embebido aplicado en un robot manipulador de 4 GDL. Se ha programado algoritmos de: control, codificación y decodificación, y de adquisición y actuación PWM, en dispositivos DSCs tipo dsPIC30F4013, dispuestos en una configuración Maestro-Esclavo, comunicados a través del protocolo SPI.

El controlador embebido implementado ha permitido que el manipulador robotizado logre el seguimiento de una trayectoria de prueba en el espacio cartesiano, obteniendo errores articulares RMS de: 0.1932°, 0.5407° y 0.3752° para las articulaciones 1, 2 y 3, respectivamente. Esto se logra gracias al establecimiento de los tiempos tA y tB (Fig. 8): identificando los cambios de pendiente más representativos en cada trayectoria deseada y trazando rectas en los puntos tangenciales, y al ajuste de los parámetros de los controladores PIDs. En este contexto fue necesario utilizar, en una primera etapa, el método de respuesta al escalón de Ziegler-Nichols (se descartó el método de las oscilaciones debido a la alta exigencia de velocidad que habría que someter a los servomotores, acoplados a los eslabones, por largo tiempo). Así, para cada grado de libertad del robot (por separado), se aplicó un escalón de 5 volt continuos a cada una de las articulaciones dejando las restantes fijas en 0°. Sin embargo, al poner en funcionamiento el sistema se observaron overshoots demasiado altos en la ejecución de los movimientos del robot. Por esta razón se realizó, en una segunda etapa, una sintonización fina, de manera empírica, de los parámetros calculados.

La utilización de una cabecera o inicio de trama ha sido imprescindible para establecer una correcta comunicación SPI entre los dsPICs Maestro y Esclavo: los datos se envían en una secuencia específica a continuación de dicha cabecera,

estableciendo el orden y la identificación de cada byte de datos. Gracias a los resultados conseguidos a través de los

ensayos de la implementación del robot manipulador, en conjunto con el controlador embebido, se comienza una nueva etapa en el estudio, diseño, análisis e implementación de los sistemas de control embebidos aplicados en automatismos robotizados consistente en: la implementación de un sistema robótico compuesto por un manipulador montado sobre un robot móvil, como se indica en la Fig. 19.

Figura 19. Prototipo de un sistema robotizado compuesto por un manipulador montado sobre un robot móvil.

AGRADECIMIENTOS Este trabajo ha contado con el apoyo de Proyectos Basales

y Vicerrectoría de Investigación, Desarrollo e Innovación de la Universidad de Santiago de Chile, Chile.

REFERENCIAS

[1] C. Bareno, “Teching/Learning Methods for Embedded Systems Using Copyleft Hardware”, IEEE LATIN AMERICA TRANSACTIONS, vol. 9, n.o 4, pp. 503-509, 2011.

[2] W. Jiang, Y. Ma, N. Sang, and Z. Zhong, “Dynamic security management for real-time embedded applications in industrial networks,” Computers & Electrical Engineering, vol. 41, pp. 86–101, Jan. 2015.

[3] M. Asami, M. Okuda, and M. Aoyagi, “Possibility of an embedded system for ultrasound-based measurement of the distances to two target objects,” Computers & Electrical Engineering, vol. 37, no. 6, pp. 982–990, Nov. 2011.

[4] Y. Shoukry, M. Watheq El-Kharashi, and S. Hammad, “An embedded implementation of the Generalized Predictive Control algorithm applied to automotive active suspension systems,” Computers & Electrical Engineering, vol. 39, no. 2, pp. 512–529, Feb. 2013.

[5] D. Zhang, D. Dong, and H. Peng, “Research on development of embedded uninterruptable power supply system for IOT-based mobile service,” Computers & Electrical Engineering, vol. 38, no. 6, pp. 1377–1387, Nov. 2012.

[6] O. Moreno, Diseño y Programación de Sistemas Embebidos con el Núcleo Microblaze: Fundamentos, Conceptos y Métodos del Cómputo de Propósito Específico, 1st ed. España: Eae Editorial Académica Española, 2012.

[7] H. Salamy, “Minimizing address arithmetic instructions in embedded applications on DSPs,” Computers & Electrical Engineering, vol. 38, no. 6, pp. 1550–1563, Nov. 2012.

[8] M. Melgarejo, J. Bulla, and G. Sierra, “An Embedded Type-2 Fuzzy Processor For The Inverted Pendulum Control Problem,” IEEE Latin America Transactions, vol. 9, no. 3, pp. 240–246, Jun. 2011.

[9] L. Basmage Pinheiro, E. A. Batista, L. Cambraia Leite, and F. Palmiro, “Development of an embedded module using FPGA technology and Fuzzy technique,” IEEE Latin America Transactions, vol. 9, no. 5, pp. 753 –760, Sep. 2011.

Page 8: Development of an Embedded Control System by Means … se implementa utilizando un motor LAT real y sistema embebido basado en un microcontrolador dsPIC. Las líneas de código de

[10] P. S. Borges, T. O. C. Carvalho, T. Pires, M. Torres, and F. M. Milian,

“Embedded System for Detecting and Georeferencing Holes in Roads,”IEEE Latin America Transactions, vol. 9, no. 6, pp. 921 –925, Oct. 2011.

[11] J. D. S. Andrade, M. V. S. Sodre, D. S. Dominguez, F. M. Milian, andM. Torres, “Remote Device Control and Data Acquisition UsingEmbedded Systems,” IEEE Latin America Transactions, vol. 9, no. 6, pp. 938 –943, Oct. 2011.

[12] R. A. Siddiqui, R. I. Grosvenor, and P. W. Prickett, “dsPIC-based advanced data acquisition system for Monitoring, Control and SecurityApplications,” in 2015 12th International Bhurban Conference onApplied Sciences and Technology (IBCAST), Islamabad, 2015, pp.293–298.

[13] K. Yokoyama, M. Saito, M. Yoo, and T. Yokoyama, “A real-time operating system with location-transparent inter-core and inter-nodesystem calls for distributed embedded control systems,” in TENCON 2015 - 2015 IEEE Region 10 Conference, Macao, 2015, pp. 1–4.

[14] İ. Çolak, M. Sahin, S. Çakıroğlu, and Z. Esen, “Controller design for alimited angle torque motor and dsPIC implementation,” in 2015 Intl Aegean Conference on Electrical Machines Power Electronics(ACEMP), 2015 Intl Conference on Optimization of Electrical Electronic Equipment (OPTIM) 2015 Intl Symposium on AdvancedElectromechanical Motion Systems (ELECTROMOTION), Side, 2015, pp. 649–654.

[15] J. S. Shaw and J. L. Lee, “Force control of a robot gripper featuringshape memory alloy actuators,” in 2014 International Conference onAdvanced Robotics and Intelligent Systems (ARIS), Taipei, 2014, pp.23–28.

[16] A. Suwannakom, “Adaptive control performance of a mobile robotusing hybrid of SLAM and fuzzy logic control in indoor environment,”in Electrical Engineering Congress (iEECON), 2014 International, Chonburi, 2014, pp. 1–4.

[17] M. C. Rodriguez-Sanchez, A. Torrado-Carvajal, J. Vaquero, S.Borromeo, and J. A. Hernandez-Tamames, “An Embedded Systems Course for Engineering Students Using Open-Source Platforms inWireless Scenarios,” IEEE Transactions on Education, vol. PP, no. 99, pp. 1–7, 2016.

[18] J. Angeles, “Dynamics of Serial Robotic Manipulators,” inFundamentals of Robotic Mechanical Systems, Springer InternationalPublishing, 2014, pp. 281–351.

[19] B. Siciliano and O. Khatib, Springer Handbook of Robotics, 1st ed. Berlin, Heidelberg: Springer, 2008.

[20] A. Abdalrahman and A. Zekry, “Control of the grid-connected inverterusing dsPIC microcontroller,” in 2013 Japan-Egypt InternationalConference on Electronics, Communications and Computers (JEC-ECC), 2013, pp. 159–164.

[21] S. Ozturk and I. Cadirci, “DSPIC microcontroller basedimplementation of a flyback PV microinverter using Direct DigitalSynthesis,” in 2013 IEEE Energy Conversion Congress and Exposition(ECCE), 2013, pp. 3426–3433.

[22] R. Méndez-Ramírez, “Diseño, desarrollo e implementación dehardware y software para el control de un sistema robotizadoembebido,” Universidad de Santiago de Chile, Santiago, Chile, 2012.

[23] K. J. Astrom and R. M. Murray, Feedback Systems: An Introduction forScientists and Engineers. Princeton University Press, 2009.

[24] K. H. Ang, G. Chong, and Y. Li, “PID control system analysis, design,and technology,” IEEE Transactions on Control Systems Technology, vol. 13, no. 4, pp. 559–576, Jul. 2005.

[25] K. J. Astrom and T. Hagglund, Advanced Pid Control, 1st ed. ISA-The Instrumentation, Systems, and Automation Society, 2006.

[26] Z. Szadkowski, “A Prototype of Readout Electronics Based on an Unified Altera Platform for Underground Muon Counters Triggered bySurface Detectors,” IEEE Transactions on Nuclear Science, vol. Early Access Online, 2014.

[27] S. Choudhury, G. K. Singh, and R. M. Mehra, “Design andVerification Serial Peripheral Interface (SPI) Protocol for Low PowerApplications,” International Journal of Innovative Research inScience, Engineering and Technology, vol. 03, no. 10, pp. 16750–16758, Oct. 2014.

John Kern was born in Santiago, Chile. He received the M.Sc. Eng. and the Dr. degrees from Universidad de Santiago de Chile, Santiago, Chile in 2010 and 2013, respectively. John Kern is currently Professor of electronic engineering in the areas of automatic control and robotics, since 1999 and studies post doctorate in Fault-Tolerant Systems at the Universidad de

Santiago de Chile. He has developed laboratories: theory and control systems, signals and communication system, and electronics.

Claudio Urrea was born in Santiago, Chile. He received the M.Sc. Eng. and the Dr. degrees from Universidad de Santiago de Chile, Santiago, Chile in 1999, and 2003, respectively; and the Ph.D. degree from Institut National Polytechnique de Grenoble, France in 2003. Ph.D. Urrea is currently Professor at

the Department of Electrical Engineering, Universidad de Santiago de Chile, from 1998. He has developed and implemented a Robotics Laboratory, where intelligent robotic systems are development and investigated. He is currently Director of the Doctorate in Engineering Sciences, Major in Automation, at the Universidad de Santiago de Chile.

Rodrigo Méndez was born in Santiago, Chile, August 1976. He received the B.S. degree in Electronic Engineer from Universidad Tecnológica Metropolitana (UTEM), Santiago, Chile, in 2003, the M.Sc. Eng. degree from Universidad de Santiago de Chile (USACH), Santiago, Chile in 2013, and is currently working toward the Ph.D. degree in Instrumentation

and control at the Center for Scientific Research and Higher Education at Ensenada, Baja California (CICESE). From 2001 to 2005, he was Professor of electronic engineering and technicians in telecommunications, microprocessor, electronics and digital systems. From 2006 to 2013, he worked on Samsung Electronics Chile Ltda. as Assistant Manager of Customer Service Department. His main research interests are control and digital design, and the research and development of embedded system.

Guillermo González was born in Santiago, Chile. He received the title of electronic engineer at Universidad Tecnólogica Metropolitana de Chile, Santiago, Chile in 2005. Guillermo Gonzalez is currently Professor at the Electrical Engineering Department of Universidad Tecnológica Metropolitana and Universidad Tecnológica de Chile, since 2005. In 2009

founded the company CITEC technology solutions, providing automatic control solutions to industry in Santi ago, has implemented and improved industrial applications incorporating robot for handling, cutting and welding.