DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

126
Proyecto de Grado Presentado ante la ilustre Universidad de Los Andes como requisito parcial para obtener el T´ ıtulo de Ingeniero de Sistemas DESARROLLO E IMPLANTACI ´ ON DE T ´ ECNICAS DE CONTROL ADAPTATIVO EN TIEMPO DISCRETO PARA UN P ´ ENDULO SIMPLE Por Br. Carlos A. Ratia V. Tutor: Prof. Pablo Lischinsky. Abril 2009 c 2009 Universidad de Los Andes M´ erida, Venezuela

Transcript of DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

Page 1: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

Proyecto de Grado

Presentado ante la ilustre Universidad de Los Andes como requisito parcial para

obtener el Tıtulo de Ingeniero de Sistemas

DESARROLLO E IMPLANTACION DE

TECNICAS DE CONTROL ADAPTATIVO EN

TIEMPO DISCRETO PARA UN PENDULO

SIMPLE

Por

Br. Carlos A. Ratia V.

Tutor: Prof. Pablo Lischinsky.

Abril 2009

c©2009 Universidad de Los Andes Merida, Venezuela

Page 2: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

DESARROLLO E IMPLANTACION DE TECNICAS DE

CONTROL ADAPTATIVO EN TIEMPO DISCRETO PARA

UN PENDULO SIMPLE

Br. Carlos A. Ratia V.

Proyecto de Grado — Control y Automatizacion, 115 paginas

Resumen: Actualmente el Laboratorio de Control y Automatizacion de la Escuela

de Ingenierıa de Sistemas de la Universidad de los Andes, cuenta con un equipo que

permite realizar control basado en un DSP (Procesador Digital de Senales), el cual

permite la ejecucion a tiempo real de tecnicas de control. El objetivo de este proyecto

es disenar e implementar leyes de control a tiempo real sobre el sistema electromecanico

subactuado, conocido como el Pendubot (Pendulo Robot). Se disenaron dos tipos de

leyes de control, leyes en tiempo continuo para el control de balanceo del Pendubot

en configuraciones inestables y leyes en tiempo discreto para el control de posicion de

un pendulo simple. El pendulo simple se obtiene al modificar la estructura mecanica

del Pendubot, esta modificacion consiste en desmontar la segunda articulacion del

sistema para obtener ası, un pendulo simple controlado por la accion de un motor

de corriente continua en modo torque. Para el control de balanceo del Pendubot,

se considera la tecnica de control lineal por realimentacion del vector de estado.

Para el control de posicion del pendulo simple, se considera un controlador RST el

cual es un controlador lineal de dos grados de libertad. Por otro lado, se diseno e

implemento una ley de control adaptativa en tiempo discreto para el pendulo simple

ante variaciones en sus parametros, esta ley se fundamenta en la tecnica adataptiva de

reguladores autoajustables. Este proyecto muestra los resultados experimentales para

las estrategias de control anteriormente descritas. La implementacion de las leyes de

control a tiempo real se llevan a cabo con el sistema de desarrollo dSPACE.

Palabras clave: Control a tiempo real, Control adaptativo, Controladores RST,

Control lineal, Pendulo simple, Pendubot.

Este trabajo fue procesado en LATEX.

Page 3: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

A Sofia Camila, mi hija.

Page 4: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

Indice

Indice de Tablas vii

Indice de Figuras viii

Agradecimientos xi

1 Introduccion 1

1.1 Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Justificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 Planteamiento y delimitacion del problema . . . . . . . . . . . . . . . . 2

1.4 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.5 Metodologıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.6 Marco Teorico y conceptual . . . . . . . . . . . . . . . . . . . . . . . . 5

1.6.1 Control adaptativo . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.6.2 Cambio por Tabla (Gain Scheduling) . . . . . . . . . . . . . . . 7

1.6.3 Control adaptativo por modelo de referencia (MRAS ) . . . . . . 7

1.6.4 Reguladores auto-ajustables (STR) . . . . . . . . . . . . . . . . 8

1.6.5 Pendulo simple . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 El Pendubot y dSPACE 12

2.1 Pendubot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2 Descripcion del hardware . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.3 dSPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

iv

Page 5: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

3 Modelado y analisis del Pendubot 22

3.1 Ecuaciones de movimiento del Pendubot . . . . . . . . . . . . . . . . . 22

3.2 Obtencion de los parametros del Pendubot . . . . . . . . . . . . . . . . 28

3.3 Analisis del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4 Control de balanceo 40

4.1 Diseno del sistema de control . . . . . . . . . . . . . . . . . . . . . . . 40

4.2 Implementacion del sistema de control de balanceo . . . . . . . . . . . 46

4.3 Resultados experimentales del sistema de control de balanceo . . . . . . 48

5 Tecnicas de control avanzado para un pendulo simple 50

5.1 Control RST para el pendulo simple . . . . . . . . . . . . . . . . . . . 50

5.1.1 Implementacion del controlador RST . . . . . . . . . . . . . . . 55

5.1.2 Resultados experimentales del controlador RST . . . . . . . . . 58

5.2 Control adaptativo para el pendulo simple. . . . . . . . . . . . . . . . . 62

5.2.1 Algoritmo de identificacion de parametros por mınimos cuadrados 63

5.2.2 Algoritmo de control adaptativo para reguladores autoajustables 77

5.2.3 Implementacion del sistema de control adaptativo . . . . . . . . 79

5.2.4 Resultados experimentales del sistema de control adaptativo . . 84

6 Conclusiones 89

A Ecuaciones de linealizacion 91

B Control Swing-Up 93

B.1 Diseno del control Swing-Up . . . . . . . . . . . . . . . . . . . . . . . . 93

B.2 Implementacion del control Swing-Up . . . . . . . . . . . . . . . . . . . 97

B.3 Resultados experimentales . . . . . . . . . . . . . . . . . . . . . . . . . 100

C Implementacion de los algoritmos de control 102

C.1 Control de balanceo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

C.2 Control RST para el Pendulo Simple . . . . . . . . . . . . . . . . . . . 105

C.3 Algoritmo de identificacion de parametros por mınimos cuadrados

recursivo con factor de olvido variable . . . . . . . . . . . . . . . . . . . 107

Page 6: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

C.4 Control adaptativo para el Pendulo Simple . . . . . . . . . . . . . . . . 110

Bibliografıa 114

Page 7: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

Indice de Tablas

3.1 Parametros fısicos del Pendubot. . . . . . . . . . . . . . . . . . . . . . 29

3.2 Parametros reagrupados del Pendubot. . . . . . . . . . . . . . . . . . . 29

4.1 Caracterısticas del sistema a lazo cerrado (P.O. Abajo). . . . . . . . . . 44

4.2 Caracterısticas del sistema a lazo cerrado (P.O. Arriba). . . . . . . . . 44

5.1 Parametros estimados con el algoritmo de identificacion recursiva ante

una entrada al sistema del tipo PRBS, en la region de operacion (0, 0). 70

vii

Page 8: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

Indice de Figuras

1.1 Diagrama de bloques de un sistema adaptativo (Astrom & Wittenmark

1989). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2 Diagrama de bloques de un sistema con cambio por tabla (Rodrıguez &

Lopez 1996). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.3 Diagrama de bloques control adaptativo con modelo de referencia

(MRAS ) (Astrom & Wittenmark 1989). . . . . . . . . . . . . . . . . . 8

1.4 Diagrama de bloques de un regulador auto-ajustable (STR) (Astrom &

Wittenmark 1989). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.5 Diagrama de fuerzas de un pendulo simple. . . . . . . . . . . . . . . . . 10

2.1 Diagrama del Pendubot. . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2 Entorno grafico de las herramientas del software interactivo dSPACE. . 15

2.3 Tarjeta DS1102. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.4 Arquitectura de bloques de la tarjeta DS1102 (dSPACE GmbH 2001). . 18

3.1 Descripcion de los centros de masa del Pendubot . . . . . . . . . . . . 23

3.2 Respuesta del sistema ante una entrada del tipo sinusoidal. . . . . . . . 30

3.3 Respuesta del sistema ante una entrada del tipo escalon. . . . . . . . . 30

3.4 Pendubot en la posicion de Abajo y Arriba respectivamente. . . . . . . 34

4.1 Esquema de control para el sistema lineal (Sira-Ramırez et al. 1997). . 41

4.2 Esquema de control lineal para el sistema no lineal (Sira-Ramırez et al.

1997). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.3 Nuevo esquema de control lineal para el sistema no lineal. . . . . . . . 45

viii

Page 9: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

4.4 Captura de pantalla del Cockpit para la implantacion del Control de

Balanceo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.5 Resultados experimentales del control de balaceo del Pendubot, punto

de equilibrio Abajo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.6 Resultados experimentales del control de balaceo del Pendubot, punto

de equilibrio Arriba. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.1 Diagrama de bloques del sistema de control RST (Rodrıguez & Lopez

1996). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.2 Diagrama de bloques del sistema de control RST disenado (Ogata 1996). 55

5.3 Diagramas de flujo de los algoritmos del sistema de control RST. . . . . 56

5.4 Captura de pantalla de la implementacion del Control RST a traves de

Cockpit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.5 Controlador RST para el control de posicion del pendulo con T =

0.01[seg], ζ = 1.0, ωn = 30.0 radseg

y α = 5.0. Punto de operacion (0, 0). . 59

5.6 Controlador RST para el control de posicion del pendulo con T =

0.01[seg], ζ = 1.0, ωn = 40.0 radseg

y α = 5.0. Punto de operacion (0, 0). . 59

5.7 Controlador RST para el control de posicion del pendulo con varios

cambios de referencia. Punto de operacion (0, 0). . . . . . . . . . . . . . 61

5.8 Controlador RST para el control de posicion del pendulo con T =

0.01[seg], ζ = 1.0, ωn = 30.0 radseg

y α = 5.0. Punto de operacion (π, 0). . 61

5.9 Diagrama de bloques del sistema de control adaptativo basado en STR. 62

5.10 Captura de pantalla del Cockpit para la implementacion del algoritmo

de identificacion recursivo. . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.11 Experiencia realizada para evaluar el comportamiento del algoritmo de

identificacion ante una entrada PRBS, en el punto de operacion (0, 0). . 69

5.12 Experimento para evaluar la conducta de la identificacion bajo la

modificacion de la medida de desempeno α en el punto de operacion

(0, 0). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.13 Experimento para evaluar la conducta de la identificacion bajo la

modificacion de la medida de desempeno S0 en el punto de operacion

(0, 0). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Page 10: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.14 Ensayo para evaluar las condiciones experimentales del algoritmo de

identificacion bajo entrada U1(k). . . . . . . . . . . . . . . . . . . . . . 75

5.15 Ensayo para evaluar las condiciones experimentales del algoritmo de

identificacion bajo entrada U2(k). . . . . . . . . . . . . . . . . . . . . . 76

5.16 Diagrama de bloques control adaptativo con supervision. . . . . . . . . 79

5.17 Diagrama de flujo del sistema de control adaptativo. . . . . . . . . . . . 81

5.18 Diagrama de flujo de la fase de preidentificacion. . . . . . . . . . . . . . 82

5.19 Diagrama de flujo de la fase de identificacion del sistema a lazo abierto. 82

5.20 Captura de pantalla del Cockpit para la implantacion del control

adaptativo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

5.21 Sistema de pesas para el pendulo simple. . . . . . . . . . . . . . . . . . 84

5.22 Experimento para evaluar el comportamiento del sistema de control

adaptativo para el control de posicion del pendulo simple. Punto de

operacion (0, 0). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

5.23 Comportamiento del supervisor y del ındice de desempeno. . . . . . . . 88

B.1 Diagrama de bloques de la parcial linealizacion del sistema. . . . . . . . 94

B.2 Simulacion del Swing Up punto de equilibrio Abajo. . . . . . . . . . . 96

B.3 Simulacion del Swing Up punto de equilibrio Arriba. . . . . . . . . . . 96

B.4 Captura de pantalla del Cockpit para la implementacion del Control

Swing-Up. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

B.5 Datos Experimentales tomados del Pendubot en el ejercicio del Swing

Up, con punto de equilibrio Abajo. . . . . . . . . . . . . . . . . . . . . 101

B.6 Datos Experimentales tomados del Pendubot en el ejercicio del Swing

Up, con punto de equilibrio Arriba. . . . . . . . . . . . . . . . . . . . . 101

Page 11: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

Agradecimientos

A mi mama como una muestra de carino y agradecimiento por todo el amor y el apoyo

brindado.

A mi abuela y abuelo por todo el apoyo brindado a traves de mis estudios, con

la promesa de siempre seguir adelante.

A mi esposa por todo el amor y compresion dado al termino de esta etapa de

mi vida.

A mi tio Rafael y mi tia Desiree como un testimonio de gratitud y eterno reconocimiento

por el apoyo que siempre me han brindado.

Al profesor Pablo Lischinsky por su disposicion, atencion y ayuda brindada

para la realizacion de este proyecto.

Y a todos aquellos que de alguna forma ayudaron y participaron en la culminacion de

este proyecto.

Mil gracias y mi eterno reconocimiento....

xi

Page 12: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

Capıtulo 1

Introduccion

1.1 Antecedentes

Gonzalez (2002) realizo desarrollos de experiencias de modelado y control a tiempo real

de un pendulo simple, tomando como objeto de estudio el Pendubot del Laboratorio

de Control y Automatizacion de la Escuela de Ingenierıa de Sistemas. El proceso de

modelado se baso en diferentes tecnicas como Newton-Euler y el modelado por energıa

acreditado como Lagrange.

Por otra parte, se implementaron tecnicas de control continua y discreta de la

familia de controladores del tipo PID. La importancia de este trabajo fue la obtencion

de un modelo matematico que representa la dinamica interna del sistema, estimado

por las distintas tecnicas de identificacion.

La investigacion de Gonzalez (2002) nos proporciona indicadores de comparacion

importantes para el analisis y conclusion de resultados del control e identificacion del

pendulo simple, tal como se pretende hacer en el presente estudio.

La investigacion sobre el control adaptativo ha sido muy activa desde principios de

los anos 50 hasta hoy en dıa una revision historica se puede encontrar en Astrom &

Wittenmark (1989), aunque hasta la decada de los 70, con el revolucionario desarrollo

de los computadores digitales, no se producen las primeras aplicaciones convencionales.

En efecto, aunque las tecnicas de control adaptativo han sido utilizadas en una extensa

gama de aplicaciones practicas, ha sido necesario en cada caso en que se ha obtenido

Page 13: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

1.2 Justificacion 2

un resultado correcto, la realizacion de un importante esfuerzo de diseno previo y

fuertemente dependiente del proceso (Astrom & Wittenmark 1989).

1.2 Justificacion

Este proyecto surge por la complejidad que caracteriza al sistema fısico no lineal

(Pendubot) en la hora de emplear diferentes tecnicas de control. Dicho sistema permite

construir, bajo modificaciones en su arquitectura, otro modelo fısico conocido como el

pendulo simple y a su vez permite la ejecucion de algoritmos de control a tiempo real.

Este estudio plasmara el diseno e implementacion de distintos sistemas de control

a tiempo real, el cual puede ser empleado para el entrenamiento y aprendizaje de

estudiantes e ingenieros de sistemas, en los aspectos relacionados con la utilizacion de

la computadora para el control de procesos y familiarizacion de tecnicas de control

avanzadas.

Otro uso esta enmarcado en el area de investigacion y docencia, para instruir y

desarrollar nuevos metodos de control e identificacion, que de forma sencilla se incorpore

en el sistema de control desarrollado.

1.3 Planteamiento y delimitacion del problema

El Pendubot es un mecanismo robotico planar de dos grados de libertad, caracterizado

por ser un sistema subactuado. Un sistema subactuado es aquel sistema que carece de

al menos un actuador en uno de sus grados de libertad, en otras palabras es cuando

posee un numero mayor de grados de libertad que de actuadores (Spong 1996).

La inexistencia de actuadores representa un problema muy interesante para la teorıa

de control, puesto que se hace imposible tener un control directo sobre los grados de

libertad no actuados, de modo que el control de estos se deben realizar de forma

indirecta, por medio de los restantes grados de libertad actuados (Block 1991).

La dificultad de controlar al Pendubot, consiste basicamente en mover la primera

articulacion (actuada) para provocar movimiento en la segunda articulacion (no

actuada). Por lo tanto en este proyecto se solucionara el problema de balanceo y

Page 14: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

1.4 Objetivos 3

estabilizacion en configuraciones inestables del Pendubot permitiendo ası, la regulacion

y el seguimiento de trayectorias.

Por otro lado, se disenaran tecnicas de control avanzado para el control de posicion

de un pendulo simple bajo modificaciones en sus parametros. Al tratar de implementar

tecnicas de control clasicas que permitan cumplir con ciertas especificaciones de

diseno y/o comportamiento deseado, encontramos que estas tecnicas se basan en

el conocimiento completo del modelo del sistema (Ogata 1993), siendo el pendulo

simple un sistema que esta bajo modificaciones e incertidumbre en sus parametros

nos vemos en la necesidad de disenar e implementar tecnicas de control adaptativas

para poder realizar control en este sistema, que permitan cumplir las expectativas antes

mencionados.

1.4 Objetivos

Objetivos Generales

Disenar e implantar leyes de control continuas y discretas para el control del Pendubot

y del pendulo simple.

Objetivos Especıficos

• Estudiar el comportamiento y los componentes que conforman al Pendubot.

• Obtener y analizar un modelo matematico que describa las relaciones entre los

parametros y variables del Pendubot.

• Disenar e implementar una ley de control lineal en tiempo continuo, que permita

el control de posicion del Pendubot en regiones inestables.

• Disenar e implementar un controlador RST en tiempo discreto para el control de

posicion del pendulo simple.

• Disenar e implementar un algoritmo de estimacion de parametros para el pendulo

simple a tiempo real.

Page 15: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

1.5 Metodologıa 4

• Disenar e implementar un control adaptativo en tiempo discreto para el control

de posicion del pendulo simple.

1.5 Metodologıa

Para aplicar una metodologıa como solucion a los problemas planteados, se describen

un conjunto de actividades que se deben llevar a cabo para el desarrollo del presente

proyecto, estas son:

• Efectuar experiencias con el Pendubot que permitan familiarizarse con la planta,

estas experiencias se basan principalmente en adquisicion de datos de la misma

y familiarizacion con el sistema computacional dSPACE.

• Disenar los distintos sistemas de control, delineados para el cumplimiento de los

distintos objetivos planteados. Esta fase tambien consta de la elaboracion del

algoritmo de control para cada sistema.

• Implementar los algoritmos de control en el sistema computacional dSPACE.

Estos algoritmos seran desarrollados en el lenguaje C y a su vez ellos permitiran

el control del sistema a tiempo real.

• Disenar e implementar la pantalla de supervision y control a tiempo real, a

traves del software interactivo Cockpit, que cumpla con el objetivo de sencillez y

simplicidad en la hora de exponer informacion del sistema.

• Revision y prueba de los algoritmos que se implantaron en las actividades

anteriores en dSPACE, lo cual incluye una revision exhaustiva de todos los

posibles casos como es el de cambios forzosos en los parametros del sistema.

Por otra parte, cabe resaltar que el sistema de ensayo va a contener una pequena

modificacion, la cual se ve afectada en el desprendimiento de la segunda articulacion,

la articulacion no actuada. Ası el Pendubot, pasa de ser un sistema de articulaciones

de dos grados de libertad planar, a una unica articulacion de un grado de libertad,

actuado por un motor de corriente continua en modo torque.

Page 16: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

1.6 Marco Teorico y conceptual 5

1.6 Marco Teorico y conceptual

1.6.1 Control adaptativo

Definicion : “Un sistema de control adaptativo es un sistema que continua y

automaticamente mide las caracterısticas dinamicas (como la funcion de transferencia)

de la planta, las compara con las caracterısticas dinamicas deseadas y usa la

diferencia para variar parametros ajustables del sistema (generalmente caracterısticas

del controlador) o para generar una senal de accionamiento de modo que pueda

mantener el funcionamiento optimo con independencia de las variables ambientales,

alternativamente este sistema puede medir continuamente su propio funcionamiento de

acuerdo con un ındice de comportamiento dado y modificar, en caso de ser necesario,

sus propios parametros para mantener el funcionamiento optimo con independencia de

los cambios ambientales.” (Ogata 1993).

Un controlador adaptativo es un controlador con parametros ajustables y

mecanismos para ajustar esos parametros (Astrom & Wittenmark 1989), este tipo

de control es no lineal y el mismo estado del proceso puede ser separado en dos escalas

de tiempo que evolucionan a diferente velocidad. La escala lenta corresponde a los

cambios de los parametros y por consiguiente a la velocidad con la cual los parametros

del regulador son modificados, y la escala rapida corresponde a la dinamica del lazo

ordinario de realimentacion. El esquema basico de control adaptativo puede verse en

la figura 1.1, esta compuesto por un lazo principal de realimentacion negativa, en el

que actua, al igual que en los sistemas convencionales, un regulador y el otro lazo es el

lazo de ajuste de parametros (Rodrıguez & Lopez 1996). El control adaptativo incluye

las siguientes etapas:

1. Identifica las caracterısticas dinamicas de la planta. La identificacion de la planta

puede ser necesaria no solo al inicio del funcionamiento sino tambien a intervalos

regulares o continuamente, para que el control se mantenga actualizado con

respecto a los parametros. Esto supone la aplicacion de una senal de prueba

y el analisis de resultados. Las entradas normales del sistema solo sirven como

senales de prueba si cuentan con las caracterısticas adecuadas de ancho de banda

Page 17: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

1.6 Marco Teorico y conceptual 6

Figura 1.1: Diagrama de bloques de un sistema adaptativo (Astrom & Wittenmark

1989).

y amplitud. Una identificacion adecuada de la planta sera el resultado de un

conocimiento previo y de la informacion reunida para tal efecto.

2. Toma de decisiones basada en la identificacion de la planta. Cuando la planta

esta debidamente identificada, se toma la decision de cuales y como se deben

cambiar las variables segun los resultados de la comparacion, con el objetivo de

procurar el funcionamiento optimo.

3. Accion debida a la decision tomada. De acuerdo con lo anterior, la decision

tomada provoca una accion inmediata que se traduce en cambios de senales de

control. Los cuales se puede dar de dos formas:

• Modificacion de los parametros de control para compensar las variaciones

en el funcionamiento de la planta.

• Sıntesis de la senal de control, la cual se hace a partir del ındice de

funcionamiento optimo con la funcion de transferencia de la planta y la

respuesta deseada.

Existen muchos controladores que presentan caracterısticas adecuadas de regulacion

ante cambios en los parametros y dinamica del sistema. Los mas conocidos son Cambio

por Tabla (Gain Scheduling), Control Adaptativo con Modelo de Referencia (MRAS )

y Reguladores Auto-ajustables (STR).

Page 18: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

1.6 Marco Teorico y conceptual 7

1.6.2 Cambio por Tabla (Gain Scheduling)

Este consiste en la modificacion de los parametros del controlador a partir de una tabla

que ha sido calculada previamente para distintos puntos de funcionamiento, en funcion

de una variable auxiliar (Rodrıguez & Lopez 1996).

En la figura 1.2 se muestra el diagrama de bloques de un sistema con Cambio por

Tabla (Gain Scheduling). Como se puede apreciar, esta compuesta por dos lazos, uno

de ellos es el lazo conformado por la planta y el controlador el cual forma el lazo de

realimentacion y el otro ajustas los parametros del controlador en base a las condiciones

de operacion (Astrom & Wittenmark 1989). Este tipo de adaptacion tiene la ventaja

de que el controlador puede ser cambiado muy rapidamente, dependiendo de la rapidez

con que la variable auxiliar refleje el cambio en la dinamica del proceso.

Figura 1.2: Diagrama de bloques de un sistema con cambio por tabla (Rodrıguez &

Lopez 1996).

1.6.3 Control adaptativo por modelo de referencia (MRAS)

El control adaptativo con modelo de referencia (MRAS ), del ingles Model-Reference

Adaptative System, es originalmente propuesto para resolver el problema con

especificaciones de desempeno a traves de un modelo de referencia. En la figura 1.3

se muestra el diagrama de bloques del sistema. Este controlador consiste en dos lazos:

un lazo es el de realimentacion unitaria, el cual radica en el controlador y la planta, el

Page 19: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

1.6 Marco Teorico y conceptual 8

segundo lazo es el bucle de ajuste de los parametros del sistema a traves del error que

hay entre la salida deseada y la salida de la planta (Astrom & Wittenmark 1989).

Figura 1.3: Diagrama de bloques control adaptativo con modelo de referencia (MRAS )

(Astrom & Wittenmark 1989).

La clave del problema del MRAS es determinar el mecanismo de ajuste que

mantenga al sistema estable y que traiga consigo un error cero. El siguiente mecanismo

de ajuste, llamado regla MIT, ha sido originalmente usado para el MRAS :

dt= −γe

(∂e

∂ θ

)(1.1)

Donde e=y-ym denota el modelo del error y θ es el parametro de control, ∂e∂ θ

es la

funcion de sensibilidad del modelo ajustable con respecto al parametro. El parametro

determina la tasa de adaptacion.

1.6.4 Reguladores auto-ajustables (STR)

Astrom & Wittenmark (1989) propusieron el esquema que se muestra en la figura 1.4

para este tipo de controlador. Este esquema esta compuesto por dos lazos de control, un

lazo de realimentacion conformado por el controlador y la planta, el segundo conforma

la ley de ajuste de los parametros del controlador y esta compuesto por un estimador

Page 20: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

1.6 Marco Teorico y conceptual 9

de parametros recursivo y la ley de diseno de los parametros del controlador. Ademas

Astrom & Wittenmark (1989) plantearon el uso de un regulador de estructura definida

de parametros variables.

Figura 1.4: Diagrama de bloques de un regulador auto-ajustable (STR) (Astrom &

Wittenmark 1989).

Estos controladores conforman una estructura sub-optima basada en el principio de

separacion de las tareas de control e identificacion. El diseno se hace de forma que se

suponen parametros conocidos y despues estos son sustituidos por sus estimados. Este

es un tipo de controlador que aplica el principio de equivalencia cierta (Rodrıguez &

Lopez 1996).

1.6.5 Pendulo simple

Se le denomina pendulo fısico a un dispositivo constituido por un hilo inextensible y

de masa despreciable sostenido por un extremo de un punto fijo, con una masa exacta

en su extremo que oscila libremente.

En el proyecto a realizar se desmantelara la segunda articulacion del Pendubot, con

el fin de adquirir el brazo perpendicular ideal, el cual sera objeto de estudio.

Page 21: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

1.6 Marco Teorico y conceptual 10

Figura 1.5: Diagrama de fuerzas de un pendulo simple.

Modelado del pendulo

Las ecuaciones que describen el comportamiento de un pendulo, se pueden obtener

a partir de las leyes fısicas tales como las leyes de Newton-Euler y Lagrange. El

modelado por Newton-Euler, establece que la aceleracion de un objeto es directamente

proporcional a la fuerza neta que actua sobre el e inversamente proporcional a su masa.

Es decir: ∑T = Jω (1.2)

donde J es el momento de inercia y ω la aceleracion angular. Por lo tanto, las fuerzas

que actuan en el sistema son la fuerza de gravedad g que actua sobre la masa y el par

τ aplicado por el motor al eje.

Si descomponemos la fuerza de gravedad como la suma en sus componentes

tangenciales como se observa en la figura 1.5 y a su vez son sumados al par aplicado por

el motor, obtenemos las unicas fuerzas que ayudan al movimiento de la articulacion,

por lo tanto:

Jq = −mglc sin(q) + τ (1.3)

donde q es la aceleracion angular, q posicion angular, m es la masa y lc en el centro de

Page 22: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

1.6 Marco Teorico y conceptual 11

gravedad. El momento de inercia de la articulacion J es obtenido al aplicar el teorema

de Steiner (teoremas de ejes paralelos), resultando:

J = ml2c + I. (1.4)

donde I es el momento de inercia de la articulacion respecto a su centroide. Como

resultado obtenemos la ecuacion que describe el comportamiento del sistema como:

(ml2c + I)q +mglc sin(q) = τ (1.5)

Modelado del pendulo con friccion

La friccion entre dos superficies se define como la fuerza que se opone al movimiento

de una superficie sobre la otra (fuerza de friccion cinetica) o la fuerza que se opone al

inicio del movimiento (fuerza de friccion estatica). Se genera por las imperfecciones

especialmente microscopicas entre las superficies en contacto. En el caso del pendulo

en estudio, la friccion se presenta entre el eje del rotor y los bujes o cojinetes del

servomotor. Por lo tanto, la fuerza de friccion se representa como:

(ml2c + I)q +mglc sin(q) = τ − F (1.6)

donde F representa el modelo de friccion el sistema y se expresa como:

F = αq (1.7)

y consiste en el termino amortiguador o disipacion de energıa del sistema, sustituyendo

la ecuacion (1.7) en (1.6) tenemos:

(ml2c + I)q + αq +mglc sin(q) = τ (1.8)

Reagrupando los parametros del pendulo de la siguiente forma:

θ1 = ml2c + I (1.9)

θ2 = mlc (1.10)

sustituyendo (1.9) y (1.10) en (1.8), obtenemos la siguiente ecuacion que representa la

dinamica el pendulo:

θ1q + αq + θ2g sin(q) = τ (1.11)

Page 23: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

Capıtulo 2

El Pendubot y dSPACE

En este capıtulo daremos una breve resena del sistema electromecanico el cual

denominamos Pendubot. Esta descripcion esta formada por la definicion del sistema

y los componentes que conforman al mismo. Para ello se dara a conocer las

especificaciones tecnicas de la tarjeta controladora DS1102, la cual esta disenada para

el desarrollo de controladores a tiempo real. Para finalizar se proporcionara una concisa

explicacion del sistema de supervision y control a tiempo real conocido como dSPACE.

2.1 Pendubot

El Pendubot se define como un sistema electromecanico conformado por dos

articulaciones rıgidas interconectadas entre sı a traves de un eje o junta de revolucion

que permite un movimiento de 360 grados entre ellas. La primera articulacion esta

acoplado directamente al eje del motor de corriente continua a traves del cual se efectua

el control, mientras que la segunda articulacion es de movimiento libre (no motorizada)

respecto de la primera. Esto hace que el Pendubot pueda considerarse como un brazo

robotico planar de dos grados de libertad subactuado.

En la figura 2.1 puede apreciarse el esquema fısico del Pendubot. Su funcionamiento

se puede considerar como un pendulo doble, en el cual, la primera articulacion es

actuada por un motor de corriente continua y la segunda articulacion como un

pendulo simple, cuyo movimiento es controlado por la accion de la primera articulacion

Page 24: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

2.2 Descripcion del hardware 13

Figura 2.1: Diagrama del Pendubot.

(Mechatronic 1998).

2.2 Descripcion del hardware

El Pendubot radica en dos articulaciones rıgidas de aluminio de 0.635 [cm] de ancho.

La primera articulacion posee 15.24 [cm] de longitud y esta directamente acoplada al

eje del motor de corriente continua de 90 [V ]. De igual forma, este incluye una junta

de revolucion que deja acoplar la segunda articulacion, lo cual le permite como antes

lo hemos mencionado en su definicion, un libre movimiento de 360 grados entre ambas.

La segunda articulacion posee 22.86 [cm] de longitud y contiene una junta, que permite

el acoplamiento entre ambas articulaciones (Mechatronic 1998).

Del mismo modo aloja codificadores opticos de 1250 [pulsos/rev] de resolucion, uno

lo reside en la junta de las dos articulaciones (el codo del brazo) y el otro en el eje del

motor de corriente continua. El motor es gobernado a traves de un servo amplificador

por modulacion de anchos de pulsos (PWM). Este amplificador es usado en modo de

torque y ajustado para una ganancia de 1[V ] = 1.2[Amp] (Mechatronic 1998).

El dispositivo final de nuestro sistema, consta en un controlador el cual consiste en

una PC1, la cual alojarıa la tarjeta de adquisicion de datos y el sistema de desarrollo

1PC es el acronimo del ingles Personal Computer, se refiere a computador personal u ordenador

Page 25: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

2.3 dSPACE 14

de control a tiempo real. En este proyecto no se utilizo el controlador proporcionado

originalmente con el Pendubot, sino que se hizo uso del sistema dSPACE.

2.3 dSPACE

El dSPACE se describe como una herramienta computacional que permite realizar

control a tiempo real basado en un DSP2, el cual es implantado en una tarjeta DS1102

que se inserta al bus PCI3 de una PC estandar. El dSPACE constituye un sistema

de supervision y control al contar con las herramientas de software interactivo Trace y

Cockpit.

El Cockpit es un entorno grafico que nos permite la creacion de un panel de

control del programa en ejecucion, mediante una serie de controles graficos. Estos

controles son asociados a variables del programa y pueden ser de Entrada, de Salida

o de Entrada/Salida. Los controles graficos se exponen de distintas formas como son

barras deslizantes, indicadores digitales y analogicos, botones de encendido/apagado,

indicadores luminosos, entre otros.

En la figura 2.2(a), se exhibe el entorno del Cockpit, con algunos controladores

graficos. Respecto al seguimiento de valores de variables, el Cockpit nos permite

obtener una primera aproximacion del valor de la variable en tiempo real, pero no

permite en modo alguno la visualizacion de las senales. Para desarrollar esta funcion

el fabricante de la tarjeta DS1102 proporciona el programa Trace.

Trace permite observar las variables de estado y senales resultantes del sistema

como son las senales de entrada/salida por intermedio de pantallas de tipo osciloscopio

(ver figura 2.2(b)). En este programa se eligen las variables a muestrear mediante un

explorador de variables que muestra la jerarquıa de bloques (ver figura 2.2(c)). Una

de sus caracterısticas resaltantes es que los datos muestreados se pueden guardar en

formato .mat el cual puede ser procesado por Matlabr.

personal.2DSP es el acrimino ingles de Digital Signal Processor, significa Procesador Digital de Senales.3PCI es el acronimo del ingles Peripheral Component Interconnect, se refiere al bus de Interconexion

de Componentes Perifericos.

Page 26: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

2.3 dSPACE 15

(a) Entorno grafico del Cockpit.

(b) Visualizacion de las senales a traves de Trace.

(c) Arbol de seleccion de las variables a observarse en el Trace.

Figura 2.2: Entorno grafico de las herramientas del software interactivo dSPACE.

Page 27: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

2.3 dSPACE 16

Tarjeta controladora DS1102

La tarjeta DS1102 como se aprecia en la figura 2.3, es una tarjeta especıficamente

disenada para el desarrollo de controladores a tiempo real en campos diversos como

robotica, actuadores electricos e hidraulicos como tambien el control de vehıculos. esta

se basa en el DSP de punto flotante Texas Instruments. TMS320C31, que constituye

su unidad principal de proceso.

Figura 2.3: Tarjeta DS1102.

Especificaciones tecnicas de la tarjeta DS1102

La tarjeta DS1102 consta fundamentalmente de los siguientes elementos (dSPACE

GmbH 2001):

• La unidad central de procesamiento de senales, la cual esta constituida por el

procesador de senal de coma flotante TMS320C31, que se encuadra dentro de los

microprocesadores VLSI4 de tercera generacion. Sus principales caracterısticas

son:

– Tiempo de ejecucion de una instruccion simple de 33.33 ns.

– Dos bloques de memoria RAM de 1K x 32-bits de acceso dual.

– Tamano de instruccion de 32-bits.

4VLSI es el acronimo del ingles Very Large Scale of integration y este significa integracion escaladamuy grande.

Page 28: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

2.3 dSPACE 17

– Tamano del bus de datos de 32-bits.

– Tamano del bus de direccion de 16-bits.

– 8 acumuladores de 40-bits.

– Acceso de memoria directa (DMA).

– 4 interrupciones externas.

– 2 temporizadores de 32-bits.

• 2 convertidores A/D5 de 16-bits a 250 kHz (tiempo de conversion de 4 µs).

• 2 convertidores A/D de 12-bits a 800 kHz (tiempo de conversion de 1.25 µs).

• 4 convertidores D/A6 de 12-bits, con un dispositivo de calibracion de posibles

errores de offset y/o ganancias del convertidor.

• Un subsistema de Entrada/Salida digital basado en el DSP-microcontrolador

TMS320P14. Este subsistema consta fundamentalmente de:

– Un DSP de coma fija de 16-bits.

– Un puerto paralelo de Entrada/Salida de 16-bits.

– 6 circuitos PWM.

– 4 entradas de captura

– Un puerto de comunicacion en serie.

• Una memoria RAM estatica 128K x32-bits, de acceso muy rapido.

• Un puerto de comunicacion en serie.

• Un dispositivo JTAG IEEE 1149.1, para la deteccion de fallos hardware.

El esquema de la arquitectura basica de la tarjeta DS1102 se muestra en la figura

2.4:

5A/D es el acronimo ingles Analogic to Digital converter y se refiere a los convertidores analogicodigital.

6D/A es el acronimo ingles Digital to Analogic converter y se refiere a los convertidores digitalanalogico.

Page 29: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

2.3 dSPACE 18

Figura 2.4: Arquitectura de bloques de la tarjeta DS1102 (dSPACE GmbH 2001).

Programacion de la tarjeta DS1102 en C

La tarjeta DS1102 puede ser programada, en el lenguaje natural C. El proceso de

compilacion y carga a la tarjeta de un programa, esta automatizado por el fichero tipo

batch down31, suministrado por el fabricante. La carga de un determinado ejecutable ya

compilado se realiza mediante el programa ld31, tambien suministrado por el fabricante.

Este programa permite cargar tanto el ejecutable para el procesador principal como el

del auxiliar, ası como parar o reanudar el proceso activo.

En este proyecto los codigos en C estan conformados por la siguiente estructura:

• El procedimiento main(), conforma la funcion principal de nuestro programa

y en ella se inicializan el hardware, los codificadores opticos y la funcion de

interrupcion de la tarjeta controladora DS1102.

main(){

init();

Page 30: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

2.3 dSPACE 19

*error = NO_ERROR;

while (c_tr < 0.5)

service_cockpit();

ds1102_inc_clear_counter(1);

ds1102_inc_clear_counter(2);

ds1102_inc_write_counter(1,0.0);

ds1102_inc_write_counter(2,0.0);

start_isr_t0(DT);

while (*error == NO_ERROR)

service_cockpit();

}

– La funcion init(), es la encarga de realizar las tareas de inicializacion del

hardware.

– El procedimiento service_cockpit(), es el facultado para la deteccion

de eventos o interrupciones en el entorno grafico Cockpit, a partir de sus

controles.

– Las funciones ds1102_inc_clear_counter(1) y

ds1102_inc_clear_counter(2), limpian los contadores incrementales

de los codificadores opticos (sensores de posicion).

– Los procedimientos ds1102_inc_write_counter(1,0.0) y

ds1102_inc_write_counter(1,0.0), inicializan los contadores

incrementales de los decodificadores opticos 1 y 2 en 0.0 (Estado de

Reposo) respectivamente.

– La funcion start_isr_t0(DT), inicializa el temporizador denominado

timer0, para que genere interrupciones cada DT [seg] (Tiempo de

muestreo). Implıcitamente la rutina de servicio de esta interrupcion se llama

void isr_t0().

• void isr_t0(), es la funcion de servicio de la interrupcion, en ella se enumeran

las instrucciones que se ejecutaran en el DSP para cada periodo de muestreo.

Page 31: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

2.3 dSPACE 20

void isr_t0() {

begin_isr_t0(*error);

count0 = count_timer(TMR0);

service_trace();

service_cockpit();

LecturaDatos();

CalculoVelocidad();

Control();

ds1102_da(1,u/k);

exec_time += DT; //Actualizacion del tiempo

end_isr_t0();

}

– La funcion service_trace(), es la encargada de habilitar el sensado de las

variables para su posterior visualizacion.

– void LecturaDatos(), es la funcion facultada para obtener los valores de

las posiciones reales de las articulaciones del Pendubot.

void LecturaDatos(){

q1_a = q1; //Almacena la posicion anterior de q1

q2_a = q2; //Almacena la posicion anterior de q2

//Lectura de Datos

q1 = kq_cm*ds1102_inc(1);

q2 = kq_cm*ds1102_inc(2);

q1g= (180.0/pi)*q1; //Convierte de rad a grados

q2g= (180.0/pi)*q2; //Convierte de rad a grados

}

Los procedimientos ds1102_inc(1) y ds1102_inc(2), permiten el acceso a

los valores para los angulos generados por las interfaces de los codificadores

incrementales. La salida esta dada en un rango de [−1 , 1], que corresponden

Page 32: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

2.3 dSPACE 21

a la interpretacion del valor del contador como un entero que varıa en un

rango de [−223 , 223 − 1] y su correspondiente escalado, ya que este consta

de 24 bits. La conversion de la salida en angulo [rad] viene dada por:

Posicion[rad] = 223 2π

4× {Resolucion del codificador}{Valor Contador}

– void CalculoVelocidad(), funcion encargada de calcular la velocidad de

las articulaciones de la forma siguiente:

V (k) =V (k − 2) + V (k − 1) + V (k)

3

V (k) =P (k − 1)− P (k)

DT

Donde P es la posicion de la articulacion. La velocidad es resultado directo

del promedio del instante actual con instantes anteriores.

void CalculoVelocidad(){

//Calculo de la velocidad de q1

qp1_2a = qp1_a;

qp1_a = qp1;

qp1 = (qp1_2a + qp1_a + (q1-q1_a)/DT)/3.0;

//Calculo de la velocidad de q2

qp2_2a = qp2_a;

qp2_a = qp2;

qp2 = (qp2_2a + qp2_a + (q2-q2_a)/DT)/3.0;

}

– void Control() procedimiento comisionado para calcular la senal de

control (u).

– La funcion ds1102_da(1,u/k), es la encargada de enviar la salida de u/k

al convertidor D/A numero 1. La constante k permite convertir la senal de

control en un rango de −1 6 u[volts] 6 1, y esta definida como:

k = (10)(1.2)(0.4006)

Page 33: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

Capıtulo 3

Modelado y analisis del Pendubot

En este capıtulo nos proponemos a descifrar las ecuaciones de movimiento que rigen

el comportamiento dinamico del Pendubot. Este modelo se obtendra por medio

del metodo fısico conocido como la dinamica de Lagrange. Una vez obtenido el

modelo matematico que expresa las relaciones ente las variables de la planta y sus

parametros, procederemos a la obtencion de las magnitudes fısicas de sus caracterısticas

vıa medicion tanto directa como indirecta, para finalizar con un estudio y analisis del

sistema en tiempo continuo.

3.1 Ecuaciones de movimiento del Pendubot

El modelo dinamico que rige el comportamiento del Pendubot se obtuvo a partir de las

leyes fısicas conocidas como las leyes de la mecanica lagrangiana. Las ecuaciones que

describen la dinamica del sistema son:

d

dt

(∂L

∂q

)− ∂L

∂q= τ (i = 1 . . . n) (3.1)

donde q =[q1 . . . qn

]Tes el conjunto de coordenadas generalizadas para el sistema

y L es el lagrangiano del sistema. A las ecuaciones (3.1) se le conoce como ecuaciones

de Lagrange del movimiento de un sistema conservativo.

El lagrangiano de un sistema esta definido como la diferencia de la energıa cinetica

T y la energıa potencial U , de la siguiente forma:

Page 34: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

3.1 Ecuaciones de movimiento del Pendubot 23

Figura 3.1: Descripcion de los centros de masa del Pendubot

L (q, q) = T (q, q)− U (q) (3.2)

Para los sistemas no conservativos, el uso de la funcion de disipacion de Rayleigh

D(q, q), transforma las ecuaciones de Lagrange en:

d

dt

(∂L

∂q

)− ∂L

∂q+∂D

∂q= τ (i = 1 . . . n) (3.3)

permitiendo ası describir las ecuaciones de movimiento de un sistema no conservativo.

Inicialmente encontraremos la energıa cinetica total del sistema, esta es obtenida

definiendo las posiciones de los centros de masa para cada articulacion. Conocemos

que la energıa cinetica de un solido rıgido en rotacion es calculada como la suma

de la energıa cinetica de traslacion1 y la energıa cinetica de rotacion2. La expresion

matematica para la energıa cinetica de un cuerpo solido en rotacion es de la forma:

T =1

2mvtv +

1

2IwTw (3.4)

1La energıa cinetica de traslacion, es la asociada al desplazamiento del centro de masa de un cuerpoa traves del espacio.

2La energıa cinetica de rotacion, es la asociada al movimiento de rotacion de un cuerpo con ciertavelocidad angular.

Page 35: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

3.1 Ecuaciones de movimiento del Pendubot 24

La figura 3.1, exhibe el diagrama cartesiano de los centros de masa del Pendubot,

de el obtenemos la energıa cinetica de traslacion y rotacion asociado a los centros de

masas de las articulaciones, como se expresa de la siguiente forma:

T =1

2m1(x

2lc1

+ y2lc1) +

1

2m2(x

2lc2 + y2

lc2) +1

2I1q

21 +

1

2I2 (q1 + q2)

2 (3.5)

tal que m1 y m2 son la masa total de la primera y segunda articulaciones

respectivamente, lc1 y lc2 especifican las distancias de los centros de masas para cada

enlace, I1 y I2 definen los momentos de inercias de las articulaciones respecto a su

centro de masas, l1 precisa la longitud de la primera articulacion y g es la aceleracion

de la gravedad. De la figura 3.1 obtenemos las siguientes relaciones para la primera

articulacion: {xlc1 = lc1 sin (q1)

ylc1 = lc1 cos (q1)(3.6)

derivando (3.6) con respecto al tiempo:{xlc1 = lc1 cos (q1) q1

ylc1 = −lc1 sin (q1) q1(3.7)

de donde:

x2lc1 + y2

lc1 = l2c1q21 (3.8)

Las relaciones entre los centros de gravedad y el angulo de posicion de la segunda

articulacion estan expresadas como:{xlc2 = l1 sin (q1) + lc2 sin (q1 + q2)

ylc2 = l1 cos (q1) + lc2 cos (q1 + q2)(3.9)

derivando (3.9) con respecto al tiempo:{xlc2 = l1 cos (q1) q1 + lc2 cos (q1 + q2) (q1 + q2)

ylc2 = −l1 sin (q1) q1 − lc2 sin (q1 + q2) (q1 + q2)(3.10)

de donde:

x2lc2 + y2

lc2 =(l21 + lc22 + 2l1lc2 cos (q2)

)q21 + lc22q

22 + 2

(lc22 + l1lc2 cos (q2)

)q1q2 (3.11)

Page 36: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

3.1 Ecuaciones de movimiento del Pendubot 25

Sustituyendo (3.8) y (3.11) en (3.5), se obtiene la energıa cinetica total de la planta:

T =1

2

(m1l

2c1 +m2

(l21 + lc22 + 2l1lc2 cos (q2)

)+ I1

)q21 +

1

2

(m2lc

22 + I2

)q22 + . . .

. . .+(m2lc

22 +m2l1lc2 cos (q2) + I2

)q1q2 (3.12)

La energıa potencial de la planta, la cual es asociada a los centros de masas de

ambas articulaciones (ver figura 3.1), en este caso se expresa como:

U = m1g (lc1 − lc1 cos (q1)) +m2g ((l1 + lc2)− l1 cos (q1)− lc2 cos (q1 + q2)) (3.13)

simplificando (3.13) se obtiene:

U = − (m1lc1g +m2l1g) cos (q1)− (m2lc2g) cos (q1 + q2) + ψ (3.14)

donde

ψ = m1glc1 +m2g(l1 + lc2) (3.15)

Calculando el Lagrangiano de (3.2), obtenemos lo siguiente:

L =1

2

(m1l

2c1 +m2

(l21 + lc22 + 2l1lc2 cos (q2)

)+ I1

)q21 +

1

2

(m2lc

22 + I2

)q22 + . . .

. . .+(m2lc

22 +m2l1lc2 cos (q2) + I2

)q1q2 + (m1lc1g +m2l1g) cos (q1) + . . .

. . .+ (m2lc2g) cos (q1 + q2)− ψ (3.16)

Para la obtencion del modelo matematico del Pendubot, debemos emplear las

siguientes operaciones matematicas:

d

dt

[δL

δq1

]−[δL

δq1

]+

[δD

δq1

]=τ (3.17)

d

dt

[δL

δq2

]−[δL

δq2

]+

[δD

δq2

]=0 (3.18)

donde la funcion de Rayleigh esta definida como:

D(q1, q2) =1

2α1q

21 +

1

2α2q

22 (3.19)

D(q1, q2) esta asociada a la friccion viscosa producida en el eje del rotor con los

cojinetes del servomotor y la junta de revolucion que permite la union de ambas

articulaciones.

Page 37: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

3.1 Ecuaciones de movimiento del Pendubot 26

La representacion matricial del conjunto de ecuaciones de movimiento de la planta

se pueden expresar como:

H (q) q + C (q, q) q + g(q) + ϕ(q) = u (3.20)

donde H (q) ∈ R2×2 es la matriz de carga inercial, C (q, q) ∈ R2×2 es la matriz de fuerza

centrıpeta o de Coriolis y g (q) ∈ R2×1 es el vector gravitacional. Las matrices H (q),

C (q, q), g(q) y ϕ(q) tiene la siguiente forma:

H (q) =

[d11 d12

d21 d22

]→

d11 = m1l

2c1 +m2

(l21 + l2c2 + 2l1lc2 cos(q2)

)+ I1 + I2

d12 = d21 = m2

(l2c2 + l1lc2 cos(q2)

)+ I2

d22 = m2l2c2 + I2

(3.21)

C (q, q) =

[−(m2l1lc2 sin q2)q2 −(m2l1lc2 sin q2) (q1 + q2)

(m2l1lc2 sin q2)q2 0

](3.22)

g (q) =

[(m1lc1 +m2l1) g sin q1 +m2lc2q sin (q1 + q2)

m2glc2 sin (q1 + q2)

](3.23)

ϕ (q) =

α1q1

α2q2

(3.24)

Ahora para simplificar y facilitar las representaciones matriciales del conjunto de

ecuaciones de movimiento, reagruparemos los parametros de nuestro modelo de la

siguiente forma:

θ1 =m1l2c +m2l

21 + I1

θ2 =m2l2c2 + I2

θ3 =m2l1lc2

θ4 =m1lc1 +m2l1

θ5 =m2lc2

θ6 =α1

θ7 =α2

(3.25)

Page 38: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

3.1 Ecuaciones de movimiento del Pendubot 27

Sustituyendo los parametros reagrupados en (3.25) en las matrices (3.21), (3.22),

(3.23) y (3.24), obtenemos las siguiente actualizacion de las mismas:

H (q) =

[θ1 + θ2 + 2θ3 cos q2 θ2 + θ3 cos q2

θ2 + θ3 cos q2 θ2

](3.26)

C (q, q) =

[−θ3 sin q2q2 −θ3 sin q2 (q1 + q2)

θ3 sin q2q1 0

](3.27)

g (q) =

[θ4g sin q1 + θ5g sin (q1 + q2)

θ5g sin (q1 + q2)

](3.28)

ϕ (q) =

θ6q1

θ7q2

(3.29)

Sustituyendo las matrices reflejadas en (3.26), (3.27), (3.28) y (3.29), en la ecuacion

(3.20), obtenemos un modelo equivalente de nuestro sistema:

[θ1 + θ2 + 2θ3 cos q2 θ2 + θ3 cos q2

θ2 + θ3 cos q2 θ2

][q1

q2

]+ . . .

. . .+

[−θ3 sin q2q2 −θ3 sin q2 (q1 + q2)

θ3 sin q2q1 0

][q1

q2

]+

[θ6q1

θ7q2

]+ . . .

. . .+

[θ4g sin q1 + θ5g sin (q1 + q2)

θ5g sin (q1 + q2)

]=

0

](3.30)

Las ecuaciones que representa el movimiento del sistema se pueden escribir de la

siguiente forma:

(θ1 + θ2 + 2 θ3 cos (q2)) q1 + (θ2 + θ3 cos (q2)) q2 − θ3 sin (q2) q1q2 − . . .

. . .− θ3 sin (q2) (q1 + q2) q2 + θ4g sin (q1) + θ5g sin (q1 + q2) + θ6q1 =τ (3.31)

(θ2 + θ3 cos (q2)) q1 + θ2q2 + θ3 sin (q2) (q1)2 + θ5g sin (q1 + q2) + θ7q2 =0 (3.32)

Page 39: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

3.2 Obtencion de los parametros del Pendubot 28

3.2 Obtencion de los parametros del Pendubot

Para investigar los parametros fısicos del Pendubot, se desmontaron ambas

articulaciones, las cuales se pesaron en una balanza electronica, obteniendo ası, una

medida de la masa para cada una ellas (m1 y m2).

Para hallar la longitud del centro de masa con respecto a su punto de apoyo (lc1

y lc2), se procedio a determinar el punto en el cual los ejes de las articulaciones

permanecıan en equilibrio al ser colocados en posicion horizontal sobre un base

rectangular muy fina. Esta idea fue extraıda de la tesis presentada por Gonzalez

(2002).

Para la obtencion de los momentos de inercia (I1 y I2), se hizo uso de la siguiente

formula:

I =m

12

(l2c + a2

)(3.33)

la cual representa el momento de inercia de un prisma de masa uniforme, donde lc

representa la longitud de la articulacion y a el ancho de la misma.

Como se puede apreciar, los parametros fısicos que rigen el comportamiento

dinamico del Pendubot se obtuvieron de forma experimental, consiguiendo su valor

por vıa de la medida directa3 e indirecta4. En la tabla 3.1, se presentan las magnitudes

fısicas de los parametros del Pendubot.

Sustituyendo los valores de la tabla 3.1, obtenemos los valores de los parametros

reagrupados en la ecuacion (3.25), presentados en la tabla 3.2.

Lo valores de θ6 y θ7 que corresponden a los coeficiente de la friccion viscosa,

fueron derivados de manera manual por ensayo y error a traves de la herramienta

computacional Matlabr. Este procedimiento de ajuste se baso en datos reales tomados

del sistema como resultado de someterlo a distintas senales de control a lazo abierto

en su estado inicial de reposo.Las senales de control que generaron dichas experiencias,

fueron del tipo escalon modulado en amplitud (τ = DA) y tipo sinusoidal modulada

en frecuencia (τ = 0.5 sin((2pif

)t)).

Una vez obtenidos los datos del sistema real fueron procesados en la herramienta

3La medida es directa, cuando disponemos de un instrumento de medida que la obtiene.4La medida es indirecta, cuando se obtiene mediante calculos a partir de las otras mediciones

directas.

Page 40: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

3.2 Obtencion de los parametros del Pendubot 29

Parametros Fısicos Valor

m1 [Kg] 0,5400

m2 [Kg] 0,2590

l1 [m] 0,1524

l2 [m] 0,2545

lc1 [m] 0,1070

lc2 [m] 0,1355

I1 [N.m] 0,002591

I2 [N.m] 0,001490

Tabla 3.1: Parametros fısicos del Pendubot.

Parametros Fısicos Valor

θ1 [Nms2] 0,0148

θ2 [Nms2] 0,0062

θ3 [Nms2] 0,0053

θ4 [Ns2] 0,0973

θ5 [Ns2] 0,0351

θ6 [Nmsrad

] 0,0090

θ7 [Nmsrad

] 0,0030

Tabla 3.2: Parametros reagrupados del Pendubot.

computacional Matlabr, la cual de forma grafica permitio elegir el valor para θ6 y θ7,

que tuviera mayor ajuste del modelo no lineal simulado con la salida real obtenida.

En la figura 3.2, se puede apreciar como se ajusta la salida del sistema real

a la simulada, ante una senal de control a lazo abierto del tipo sinusoidal τ =

0.5 sin((2.0pi3.0

)t)[N.m].

Igualmente, se aprecia lo equivalente en la figura 3.2, pero en esta la senal de control

a lazo abierto es de tipo escalon de amplitud τ = 0, 6[N.m].

Expuesto lo anterior se puede concluir que con el modelo y los parametros

conseguidos, logramos alcanzar un buen ajuste al sistema real validando de esta forma

el modelo.

Page 41: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

3.2 Obtencion de los parametros del Pendubot 30

Figura 3.2: Respuesta del sistema ante una entrada del tipo sinusoidal.

Figura 3.3: Respuesta del sistema ante una entrada del tipo escalon.

Page 42: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

3.3 Analisis del modelo 31

3.3 Analisis del modelo

Este analisis consiste en la representacion en variables de estado, el cual se basa en

representar en n ecuaciones diferenciales de primer orden a nuestro sistema (3.30).

Posteriormente se considerara una linealizacion de nuestro sistema, ya que el modelo

obtenido en el capıtulo anterior en la pagina 27, es un modelo no lineal de cuarto orden

lo cual nos permitira estudiar algunas caracterısticas propias del sistema como puntos

de operacion, estabilidad, controlabilidad y observabilidad.

Representacion en variables de estado

El estado de un sistema se puede definir como el conjunto mas pequeno de variables

llamadas variables de estado, tal que el conocimiento de dichas variables junto al

conocimiento de sus entradas determinan el comportamiento por completo del sistema

(Ogata 1996). Si proponemos el siguiente cambio de variable:

x =[x1 x2 x3 x4

]Tu = τ

(3.34)

donde:

x1 = q1

x2 = q1

x3 = q2

x4 = q2 (3.35)

derivando con respecto al tiempo a (3.35) obtenemos:

x1 = q1

x2 = q1

x3 = q2

x4 = q2 (3.36)

modificando con el cambio de variable propuesto en (3.36) a nuestro sistema expresado

en (3.30), obtenemos lo siguiente:

Page 43: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

3.3 Analisis del modelo 32

[θ1 + θ2 + 2θ3 cos(x3) θ2 + θ3 cos(x3)

θ2 + θ3 cos(x3) θ2

][x2

x4

]+

+

[−θ3 sin(x3)x4 −θ3 sin(x3) (x2 + x4)

θ3 sin(x3)x2 0

][x2

x4

]+

+

[θ6x2

θ7x4

]+

[θ4g sin(x1) + θ5g sin (x1 + x3)

θ5g sin (x1 + x3)

]=

[u

0

](3.37)

Interpretando la ecuacion (3.37) en ecuaciones diferenciales de primer orden,

obtenemos nuestra representacion de estado:

x1 = f1(x, u) = x2 (3.38)

x2 = f2(x, u) = −θ2u− θ2θ6x2 − θ2θ4g sin (x1)− θ2θ5g sin (x1 + x3)

−θ2θ1 + θ23 (cos (x3))

2 − . . .

. . .− θ2θ3 sin (x3)x4x2 + θ2θ3 sin (x3) (x2 + x4)x4

−θ2θ1 + θ23 (cos (x3))

2 + . . .

. . .+(θ2 + θ3 cos (x3)) (−θ7x4 − θ5g sin (x1 + x3)− θ3 sin (x3)x

22)

−θ2θ1 + θ23 (cos (x3))

2 (3.39)

x3 = f3(x, u) = x4 (3.40)

x4 = f4(x, u) =(θ2 + θ3 cos (x3)) (u− θ6x2 − θ4g sin (x1)− θ5g sin (x1 + x3))

−θ2θ1 + θ23 (cos (x3))

2

. . .+(θ2 + θ3 cos (x3)) (θ3 sin (x3)x4x2 + θ3 sin (x3) (x2 + x4)x4)

−θ2θ1 + θ23 (cos (x3))

2 − . . .

. . .− (θ1 + θ2 + 2 θ3 cos (x3)) (−θ7x4 − θ5g sin (x1 + x3)− θ3 sin (x3)x22)

−θ2θ1 + θ23 (cos (x3))

2 (3.41)

Page 44: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

3.3 Analisis del modelo 33

Puntos de equilibrio

Los puntos de equilibrio se obtienen al hacer fk(x, u) = 0 con k = 1, 2, 3, 4. De las

ecuaciones (3.38) y (3.40), obtenemos que x2 = 0 y x4 = 0, sustituyendo estos valores

en la ecuacion (3.37) obtenemos lo siguiente:C(x) = 0

ϕ(x) = 0(3.42)

sabemos que:

H(x)

[x2

x4

]+ C(x)

[x2

x4

]+ ϕ(x) + g(x) =

[u

0

](3.43)

[x2

x4

]= H−1(x)

[−C(x)

[x2

x4

]− ϕ(x)− g(x) +

[u

0

]](3.44)

H−1(x)

[−C(x)

[x2

x4

]− ϕ(x)− g(x) +

[u

0

]]= 0 (3.45)

H−1(x)

[−g(x) +

0

]]= 0 (3.46)

H−1(x)g(x) = H−1(x)

[u

0

](3.47)

g(x) =

[u

0

](3.48)

De (3.48), obtenemos que:[θ4g sin(x1) + θ5g sin (x1 + x3)

θ5g sin (x1 + x3)

]=

[u

0

]→ θ5g sin (x1 + x3) = 0 (3.49)

lo cual se cumple cuando x1 + x3 = kπ con k = 0, 1 . . . , por lo tanto los puntos de

operacion en coordenadas generalizadas son:

X1 +X3 = kπ → k = 0, 1, 2 . . .

X2 = 0

X4 = 0

uop = θ4g sin(X1)

(3.50)

Page 45: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

3.3 Analisis del modelo 34

En este proyecto nos concentraremos en dos puntos de operacion los cuales

definiremos como:

• Abajo a la region de operacion con coordenadas (X1 = 0, X2 = 0, X3 = π,

X4 = 0, uop = 0).

• Arriba a la region de operacion con coordenadas (X1 = π, X2 = 0, X3 = 0,

X4 = 0, uop = 0).

notemos que cada punto especificado cumple con la condicion de linealizacion expresada

en la ecuacion (3.50). En la figura 3.4, se observa al Pendubot en las posiciones antes

descritas.

Figura 3.4: Pendubot en la posicion de Abajo y Arriba respectivamente.

Linealizacion del modelo

El modelo obtenido del Pendubot se caracteriza por ser un modelo no lineal de cuarto

orden. Para la obtencion de un modelo lineal haremos uso de la tecnica conocida como

linealizacion mediante expansiones en serie de Taylor.

Escribiendo a nuestro modelo en expansiones en serie de Taylor de la forma:

xδ = x0δ +

∫ t

t0

[∂f

δx

∣∣∣∣(X,uop)

xδ +∂f

δu

∣∣∣∣(X,uop)

]→

xδ = x−X

uδ = u− uop(3.51)

Page 46: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

3.3 Analisis del modelo 35

donde xδ =[x1δ x2δ x3δ x4δ

]T. Si definimos como:

A =∂f

∂x

∣∣∣∣(X,uop)

=

∂f1∂x1

∂f1∂x2

∂f1∂x3

∂f1∂x4

∂f2∂x1

∂f2∂x2

∂f2∂x3

∂f2∂x4

∂f3∂x1

∂f3∂x2

∂f3∂x3

∂f3∂x4

∂f4∂x1

∂f4∂x2

∂f4∂x3

∂f4∂x4

∣∣∣∣∣∣∣∣∣∣∣(X,uop)

(3.52)

B =∂f

∂u

∣∣∣∣(X,uop)

=

∂f1∂u

∂f2∂u

∂f3∂u

∂f4∂u

∣∣∣∣∣∣∣∣∣∣∣(X,uop)

(3.53)

la ecuacion en (3.51) se reescribe entonces:

xδ = x0δ +

∫ t

t0

[Axδ +Buδ]dσ (3.54)

derivando la ecuacion (3.54), tenemos que el sistema lineal esta descrito por:

xδ = Axδ +Buδ (3.55)

y = Cxδ (3.56)

Hallando las matrices A y B, obtenemos lo siguiente:

A =

0 1 0 0

f21 f22 f23 f24

0 0 0 1

f41 f42 f43 f44

(3.57)

B =

0

f2u

0

f4u

(3.58)

C =

[1 0 0 0

0 0 1 0

](3.59)

donde fij = ∂fi

∂xjcon i = 2, 4 y j = 1, 2, 3, 4. Las expresiones matematicas para las fij

y fiu se encuentran expresadas en el Apendice A.

Page 47: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

3.3 Analisis del modelo 36

Estabilidad

Para estudiar la estabilidad local de nuestro sistema lineal, tenemos que tener en cuenta

que un sistema es estable si su salida es acotada para una entrada acotada. Por lo que,

para la estabilidad BIBO (Bounded-Input/Bounded-Output), las raıces de la ecuacion

caracterıstica, o los polos de la funcion de transferencia, no pueden estar localizados

en el semiplano derecho s.

Sustituyendo los parametros fısicos del pendubot expresados en la tabla 3.2, en la

linealizacion obtenida en la ecuacion (3.54), obtenemos las representaciones de nuestro

sistema para cada uno de los puntos de operacion que nos conciernen.

• Punto de operacion Abajo:

La linealizacion de la planta en la region de operacion, esta representado por el

sistema lineal siguiente:

x1δ

x2δ

x3δ

x4δ

=

0 1 0 0

- 64.50 - 0.88 28.85 0.04

0 0 0 1

64.33 0.13 50.93 - 0.49

x1δ

x2δ

x3δ

x4δ

+

0

97.96

0

- 14.07

uδ(3.60)

Polinomio caracterıstico:

P (s) = s4 + 1.368s3 + 14s2 − 19.89s− 5141 (3.61)

Los polos del sistema linelalizado estan definidos como las raıces del polinomio

caracterıstico, los cuales estan dados por:

s1 = 7.8396

s2 = - 0.4433 + 8.8665i

s3 = - 0.4433 - 8.8665i

s4 = - 8.3211

(3.62)

Page 48: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

3.3 Analisis del modelo 37

• Punto de operacion Arriba :

La linealizacion de la planta en la region de operacion, esta representado por el

sistema lineal siguiente:

x1δ

x2δ

x3δ

x4δ

=

0 1 0 0

64.51 - 0.88 - 28.85 0.55

0 0 0 1

- 64.68 1.64 108.63 - 1.49

x1δ

x2δ

x3δ

x4δ

+

0

97.96

0

- 181.84

uδ(3.63)

Polinomio caracterıstico:

P(s) = s4 + 2.375s3 − 172.7s2 − 109.6s+ 5141 (3.64)

Los polos del sistema linealizado son:

s1 = - 12.7618

s2 = - 6.2690

s3 = 10.5850

s4 = 6.0711

(3.65)

De lo expuesto anteriormente se observa, que el sistema se comporta de manera

inestable para los puntos de operacion designados como Abajo y Arriba, ya que existe

al menos un si > 0, lo que significa que existe un polo ubicado en la parte derecha del

semiplano s.

Controlabilidad

Se dice que un sistema lineal es controlable o completamente controlable si la matriz

de controlabilidad definida por S =[B AB A2B . . . An−1B

]n×n

, tiene rango n.

Especificando las matrices de controlabilidad para cada uno de los puntos de

operacion antes mencionados (Abajo y Arriba), obtenemos lo siguiente:

Page 49: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

3.3 Analisis del modelo 38

• Punto de operacion Abajo:

La matriz de controlabilidad esta dada por:

S =

0 97.956 −86.953 −6647.3

97.956 −86.953 −6647.3 12260

0 −14.068 19.245 5565.1

−14.068 19.245 5565.1 −8162.5

(3.66)

det(S) = 2.0462× 1011 6= 0 (3.67)

El sistema es completamente controlable para la region de operacion, ya que

el det(S) 6= 0, en otras palabras, la matriz de controlabilidad S posee rango

completo.

• Punto de operacion Arriba :

La matriz de controlabilidad esta definida como:

S =

0 97.956 −185.56 11956

97.956 −185.56 11956 −49727

0 −181.84 431.83 −27038

−181.84 431.83 −27038 1.1886x105

(3.68)

det(S) = 2.0261× 1011 6= 0 (3.69)

El sistema es completamente controlable para el punto de operacion, ya que la

matriz S es de rango completo (det(S) 6= 0).

Observabilidad

El sistema lineal es observable o completamente observable sı y solo sı la matriz

de observabilidad V =[C CA CA2 . . . CAn−1

]2n×n

, tiene rango n, o tiene n

vectores columnas linealmente independientes.

Page 50: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

3.3 Analisis del modelo 39

Especificando las matrices de observabilidad para cada una de las regiones de

operacion, se obtiene:

• Punto de operacion Abajo:

La matriz de observabilidad esta dada por:

V =

1 0 0 0

0 0 1 0

0 1 0 0

0 0 0 1

−64.51 −0.88 28.85 0.04

64.33 0.13 50.93 −0.49

59.59 −63.73 −23.29 28.79

−39.46 64.16 −21.119 51.17

(3.70)

Para hallar el rango de la matriz V, se uso la funcion rank(V) del paquete

computacional Matlabr. Se obtuvo el siguiente resultado R [V ] = 4, lo que

implica que la matriz de observabilidad es de rango n, el cual es el orden de la

planta, por lo tanto, el sistema es completamente observable en esta region de

operacion.

• Punto de operacion Arriba :

La matriz de observabilidad esta dada por:

V =

1 0 0 0

0 0 1 0

0 1 0 0

0 0 0 1

64.51 −0.88 −28.85 0.55

−64.68 1.64 108.63 −1.49

−92.16 66.18 84.70 −30.15

202.15 −68.57 −09.41 111.75

(3.71)

Aplicando el procedimiento anterior, se llego a la misma conclusion en donde el

sistema linealizado en el punto de operacion es completamente observable.

Page 51: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

Capıtulo 4

Control de balanceo

En el capıtulo anterior se presento un analisis conciso del sistema a controlar, para ello

se definieron dos regiones de operacion referidas como Abajo y Arriba. El resultado

del mismo expresa que el sistema es inestable para ambas regiones de operacion pero

controlable para las mismas, por lo tanto, se puede determinar la existencia de una

solucion completa para el problema de diseno de un sistema de control.

En este capıtulo se dara solucion al problema de conservar las articulaciones del

Pendubot en las posiciones de equilibrio definidas anteriormente, para ello consideramos

el diseno del sistema de control lineal por realimentacion del vector de estado. El

objetivo del diseno, es encontrar la matriz de realimentacion K, tal que lo valores

caracterısticos del sistema1 en lazo cerrado sean asignados de forma optima y estable.

Por lo tanto, la ley de control a disenar tendra como objetivo el control de posicion del

Pendubot, admitiendo seguimiento de trayectorias.

4.1 Diseno del sistema de control

La tecnica de diseno de sistemas de control por realimentacion del vector de estado,

se basa en intuir que los valores de las perturbaciones de estado se describen mediante

un sistema lineal derivado a partir del sistema no lineal, por medio de linealizacion

alrededor de un punto de operacion. Conocemos que esta sustitucion es valida

1Los valores caracterısticos del sistemas tambien son conocidos como Polos del sistema

Page 52: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

4.1 Diseno del sistema de control 41

solo cuando las perturbaciones del estado (xδ(t)) son suficientemente pequenas. La

estrategia de control es disenar una ley de control lineal para el sistema no lineal, la

cual estabilice a cero las variables perturbadas xδ(t) (Sira-Ramırez et al. 1997).

La senal de control lineal es de la forma:

uδ(t) = −Kxδ(t) = −[k1 k2 k3 k4

]xδ(t) (4.1)

donde K se le denomina matriz de ganancia de realimentacion del estado y es de 1× 4

con elementos de ganancias constantes, xδ(t) es el vector de estado nominales de 4× 1

y uδ(t) es el control el cual es un escalar. Esto significa que la senal de control se

determina como la combinacion lineal de los estados del sistema. En las figuras 4.1 y

4.2 se muestran los esquemas de control propuestos para el sistema lineal y el no lineal.

Figura 4.1: Esquema de control para el sistema lineal (Sira-Ramırez et al. 1997).

Realimentando el sistema expresado en (3.55), obtenemos lo siguiente:

x1δ

x2δ

x3δ

x4δ

=

0 1 0 0

f21 f22 f23 f24

0 0 0 1

f41 f42 f43 f44

x1δ

x2δ

x3δ

x4δ

+

0

f2u

0

f4u

[k1 k2 k3 k4

]x1δ

x2δ

x3δ

x4δ

(4.2)

Page 53: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

4.1 Diseno del sistema de control 42

Figura 4.2: Esquema de control lineal para el sistema no lineal (Sira-Ramırez et al.

1997).

realizando operaciones matematicas alcanzamos al sistema autonomo consecuente:x1δ

x2δ

x3δ

x4δ

=

0 1 0 0

f21 − f2uk1 f22 − f2uk2 f23 − f2uk3 f24 − f2uk4

0 0 0 1

f41 − f4uk1 f42 − f4uk2 f43 − f4uk3 f44 − f4uk4

x1δ

x2δ

x3δ

x4δ

(4.3)

en el cual fij = ∂fi

∂xjy fiu = ∂fi

∂u, con i = 2, 4 y j = 1, 2, 3, 4.

Ahora el interes fundamental esta en inducir una dinamica controlada de

naturaleza estable o asintoticamente estable, para esto, los valores de las ganancias

de realimentacion deben especificarse de tal manera que los autovalores del sistema

autonomo tenga parte real negativa. Para ello emplearemos la tecnica de control optimo

cuadratico, conocida como LQR del ingles Lineal-Quadratic-Regulator, la cual se basa

en calcular las ganancias de realimentacion de forma optima basandose en minimizar

una funcion de costo o ındice de desempeno dada por:

J =

∫ ∞0

(xTδ Qxδ + uTδ Ruδ + 2xTδ Nuδ

)dt (4.4)

donde Q es una matriz simetrica real definida positiva o semidefinida positiva, R y N

son matrices simetrica real definida positiva y uδ no esta restringida. Una ventaja de

Page 54: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

4.1 Diseno del sistema de control 43

usar el esquema de control optimo cuadratico es que el sistema disenado sera estable

si es controlable.

La solucion para el hallazgo de las ganancias de realimentacion de manera optima,

viene dada por la solucion de la matriz S asociada a la ecuacion de Riccati expresada

de la forma siguiente:

ATS + SA− (SB +N)R−1(BTS +NT

)+Q = 0 (4.5)

y las ganancias de realimentacion son derivadas a partir de:

K = R−1(BTS +NT

)(4.6)

Para el calculo de estas ganancias se hizo uso de la herramienta computacional

Matlabr, el cual proporciona la solucion de las matrices S y K a traves de su comando

lqr(A,B,Q,R,N).

Definiendo a:

Q =

1 0 0 0

0 0 0 0

0 0 1 0

0 0 0 0

R = [1]

N = [0]

La funcion de costos expresada en (4.4) tendra la sucesiva forma:

J =

∫ ∞0

(x2

1δ + x23δ + u2

δ

)dt (4.7)

obteniendose ası como resultado lo consiguiente:

• Punto de operacion Abajo:

Kabajo =[

4.3771 0.38067 7.0356 0.87084]

Sabajo =

1.0730 0.0759 1.7461 0.2172

0.0759 0.0062 0.1297 0.0160

1.7461 0.1297 3.3192 0.4027

0.2172 0.0160 0.4027 0.0498

Page 55: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

4.1 Diseno del sistema de control 44

• Punto de operacion Arriba:

Karriba =[−12.4211 −2.3468 −11.6687 −1.4707

]

Sarriba =

15.4365 2.7325 11.4411 1.5403

2.7325 0.4866 2.0431 0.2750

11.4411 2.0431 8.7484 1.1648

1.5403 0.2750 1.1648 0.1562

De lo expresado anteriormente, se pueden sacar las caracterısticas del sistema a

lazo cerrado, las cuales estan expresadas en las tablas 4.1 y 4.2 respecto a su punto de

operacion, estas caracterısticas nos facultara de informacion sobre el comportamiento

dinamico y permitira comparar en cierta medida el desempeno de nuestro sistema a

lazo cerrado.

Polos [ radseg

] Fac. de Amortiguamiento (ξ) Frec. natural (ωn) [ radseg

]

−4, 8497 + 10, 1984i 0, 4295 11, 2928

−4, 8497− 10, 1984i 0, 4295 11, 2928

−8, 3533 + 1, 5360i 0, 9835 8, 4934

−8, 3533− 1, 5360i 0, 9835 8, 4934

Tabla 4.1: Caracterısticas del sistema a lazo cerrado (P.O. Abajo).

Polos [ radseg

] Fac. de Amortiguamiento (ξ) Frec. natural (ωn) [ radseg

]

−13, 9409 + 7, 3856i 0, 8837 15, 7764

−13, 9409− 7, 3856i 0, 8837 15, 7764

−6, 0287 + 0, 7847i 0, 9916 6, 0796

−6, 0287− 0, 7847i 0, 9916 6, 0796

Tabla 4.2: Caracterısticas del sistema a lazo cerrado (P.O. Arriba).

Hasta aquı se ha presentado la tecnica de control que nos permitira lograr nuestro

objetivo principal actuando como un regulador. Dado que la planta fısica es no lineal, el

sistema disenado solo se comportara satisfactoriamente durante un rango de operacion

limitado.

Page 56: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

4.1 Diseno del sistema de control 45

Figura 4.3: Nuevo esquema de control lineal para el sistema no lineal.

Un metodo util para evaluar el desempeno de un sistema de control, se basa en un

modelo que produzca la salida deseada para una entrada determinada, por lo tanto,

el esquema de control propuesto para el sistema no lineal expresado en la figura 4.2,

lo remplazaremos por la forma especificada en la figura 4.3, ya que esta admite una

entrada deseada en funcion del angulo o posicion del primer enlace del Pendubot. El

sistema autonomo enunciado en (4.3) queda reformulado en su nueva condicion en

(4.9).

La ganancia de preamplificacion (Ke), es determinada para minimizar en la medida

posible el error de posicion de nuestro sistema la cual se determina como:

Ke =1

Go(0)= −0.95 (4.8)

donde Go(s) es la funcion de transferencia del sistema a lazo cerrrado.

x1δ

x2δ

x3δ

x4δ

=

0 1 0 0

f21 − f2uk1 f22 − f2uk2 f23 − f2uk3 f24 − f2uk4

0 0 0 1

f41 − f4uk1 f42 − f4uk2 f43 − f4uk3 f44 − f4uk4

x1δ

x2δ

x3δ

x4δ

+

Ke

0

0

0

ref(4.9)

Page 57: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

4.2 Implementacion del sistema de control de balanceo 46

4.2 Implementacion del sistema de control de

balanceo

Condicionalmente la implantacion de la ley de control se realizara en tiempo continuo,

lo que nos acarrea en seleccionar un tiempo de muestreo que se ajuste a esta exigencia.

Para implementar un controlador continuo con un computador, el perıodo de muestreo

debe ser de 15 a 20 veces menor que el perıodo de la frecuencia ωn deseada en lazo

cerrado.

En nuestro caso la eleccion del perıodo de muestreo sera de 20 veces menor al perıodo

correspondiente de la frecuencia ωn mayor de la dinamica del sistema controlado a lazo

cerrado. De lo mencionado anteriormente obtenemos que:

ωs > 20 max {ωn} (4.10)

ωs > 20 max {11.2928, 8.4934, 15.7764, 6.0796}[rad

seg

](4.11)

ωs > 20(15.7764)

[rad

seg

](4.12)

Expresando a ωs en frecuencia [Hz] nos producirıa el siguiente resultado:

fs > 50.218[Hz]

ts < 0.02[seg]

Eligiendo como perıodo de muestreo T = 0.01[seg] satisfacemos lo anteriormente

comentado.

El algoritmo de control comienza por verificar la region de operacion para la

adecuada seleccion de las ganancias de realimentacion, finalizando con la obtencion

de la senal de control.

La implementacion en dSPACE del algoritmo de control de balanceo, se puede

observar en la seccion del apendice C.1.

La interfaz grafica de control y supervision se diseno a traves de la herramienta

Cockpit (ver figura 4.4), consta con diferentes controles graficos que permiten al

usuario una sencilla ejecucion y supervision del sistema de control de balanceo y de la

observacion de las caracterısticas propias del Pendubot como posicion y velocidad en

sus articulaciones.

Page 58: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

4.2 Implementacion del sistema de control de balanceo 47

Figura 4.4: Captura de pantalla del Cockpit para la implantacion del Control de

Balanceo.

Page 59: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

4.3 Resultados experimentales del sistema de control de balanceo 48

4.3 Resultados experimentales del sistema de

control de balanceo

La implantacion de la ley de control por realimentacion del vector de estado impone

una dinamica a lazo cerrado descrita por las caracterısticas presentadas en las tablas

4.1 y 4.2 respecto a la region de operacion.

El experimento consto de llevar de forma manual a los enlaces del Pendubot a la

cercanıas del punto de operacion Abajo, esta fase se puede apreciar en el intervalo de

tiempo de (0 − 5)[seg]. Una vez alcanzada las cercanıas de la region de operacion, se

procedio a administrar el control que permitio balancear y estabilizar nuestro sistema

en las cercanıas de la region de operacion.

En la figura 4.3 se muestra la respuesta del sistema en lazo cerrado (x1(t), x3(t)),

la velocidad del mismo (x2(t), x4(t)) y la senal de control (u(t)) administrada.

Figura 4.5: Resultados experimentales del control de balaceo del Pendubot, punto de

equilibrio Abajo.

Logrado el objetivo principal del controlador, se procedio a realizar distintos

Page 60: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

4.3 Resultados experimentales del sistema de control de balanceo 49

cambios de referencia a traves del Cockpit, los cuales estuvieron dados en un rango

de (−0.349 ; 0.349)[rad] o (−20 ; 20)[Deg].

En la figura 4.3 se muestra la posicion de ambas articulaciones (x1(t) y x3(t)),

ademas de las velocidades de las mismas (x2(t), x4(t)) y la senal de control (u(t)).

El experimento es el mismo que se expreso en el caso anterior con la salvedad de

que la region de operacion esta definida como (X1 = π, X2 = 0, X3 = 0, X4 = 0,

τop = 0).

Figura 4.6: Resultados experimentales del control de balaceo del Pendubot, punto de

equilibrio Arriba.

Como resultado del sistema de control disenado se puede observar que la ganancia

de preamplificacion (Ke) atenua en forma rigurosa el error en estado estacionario de

nuestro sistema para ambos puntos de operacion.

Page 61: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

Capıtulo 5

Tecnicas de control avanzado para

un pendulo simple

En el capıtulo anterior se presento una tecnica de control lineal para la regulacion

de posicion del Pendubot en tiempo continuo. En el se dio solucion al problema de

ubicacion de polos de forma optima, considerando el diseno de sistemas de control

mediante la realimentacion del vector de estado.

En el presente capıtulo se exponen tecnicas de control lineal y adaptativas para el

diseno de sistemas de control en tiempo discreto, cuyo objetivo principal es la regulacion

de la posicion de un pendulo simple. La obtencion de la planta se produce al desmontar

la segunda articulacion del eje de revolucion que permite el acoplamiento entre las dos

articulaciones del Pendubot, obteniendo ası, un pendulo simple accionado por un motor

de corriente continua en modo de torque.

5.1 Control RST para el pendulo simple

El control RST es una perspectiva alterna al control clasico, el cual se basa en un

enfoque de ecuaciones polinomiales para el diseno de sistemas de control. En general

es un control lineal descrito por la siguiente ley:

R(z)U(z) = T (z)W (z)− S(z)Y (z) (5.1)

donde R(z), S(z) y T (z) son polinomios.

Page 62: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.1 Control RST para el pendulo simple 51

Figura 5.1: Diagrama de bloques del sistema de control RST (Rodrıguez & Lopez

1996).

esta ley de control representa entonces, un enfoque alterno al diseno mediante

ubicacion de polos con un observador de estados de orden mınimo. De la ecuacion

(5.1) obtenemos que el control esta conformado por los bloques S(z)R(z)

y T (z)R(z)

, lo que

permite que el controlador tenga dos grados de libertad (Astrom & Wittenmark 1989).

El diagrama de bloques para el sistema de control en lazo cerrado es mostrado en la

figura 5.1, donde Y (z) es la salida del sistema, U(z) es la entrada al sistema o senal de

control y W (z) es la salida deseada del sistema.

Definiendo la funcion de transferencia pulso para el sistema en tiempo discreto, se

obtiene:

G(z) =B(z)

A(z)=

b0z + b1z2 + a1z + a2

(5.2)

Realimentando el sistema de control propuesto en la figura 5.1 tenemos que:

Y (z) =B(z)

A(z)U(z) (5.3)

sustituyendo (5.1) en (5.3), obtenemos lo siguiente:

Y (z) =B(z)

A(z)

[T (z)

R(z)W (z)− S(z)

R(z)Y (z)

](5.4)[

B(z)

A(z)

S(z)

R(z)+ 1

]Y (z) =

B(z)

A(z)

T (z)

R(z)W (z) (5.5)[

R(z)A(z) + S(z)B(z)

A(z)R(z)

]Y (z) =

B(z)

A(z)

T (z)

R(z)W (z) (5.6)

Operando en (5.6), obtenemos la funcion de transferencia pulso de nuestro sistema

a lazo cerrado la cual es expresa en:

Page 63: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.1 Control RST para el pendulo simple 52

G0(z) =Y (z)

W (z)=

T (z)B(z)

R(z)A(z) + S(z)B(z)(5.7)

El polinomio caracterıstico de nuestro sistema a lazo cerrado esta representado por:

R(z)A(z) + S(z)B(z) = D(z) (5.8)

La idea es asignar los polos de nuestro sistema en lazo cerrado a la raıces

caracterısticas del polinomio deseado D(z). A la ecuacion (5.8) se le denomina ecuacion

Diofantina y la solucion consiste basicamente en proponer los polinomios R(z) y S(z)

con ciertas restricciones en los ordenes de los polinomios para asegurar que el regulador

propuesto sea causal y de realizacion mınima (Rodrıguez & Lopez 1996).

Para lograr este objetivo definamos a los polinomos R(z), S(z) y D(z) como:

R(z) = α0zn−1 + α1z

n−2 + . . .+ αn−2z + αn−1 = α0z + α1 (5.9)

S(z) = β0zn−1 + β1z

n−2 + . . .+ βn−2z + βn−1 = β0z + β1 (5.10)

D(z) = ω0z2n−1 + ω1z

2n−2 + . . .+ ω2n−2z + ω2n−1 = ω0z3 + ω1z

2 + ω2z + ω3 (5.11)

La ecuacion Diofantina se puede resolver para R(z) y S(z) mediante la matriz de

Sylvestre E, donde E ∈ R2n×2n, la cual se define en terminos de los coeficientes de los

polinomios comprimidos A(z) y B(z) como sigue:

E =

an 0 · · · 0 bn 0 · · · 0

an−1 an · · · 0 bn−1 bn · · · 0... an−1 · · · 0

... bn−1 · · · 0

a1...

... b1...

...

1 a1 · · · an b0 b1 · · · bn

0 1 · · · an−1 0 b0 · · · bn−1

......

......

......

0 0 · · · a1 0 0 · · · b1

0 0 · · · 1 0 0 · · · b0

(5.12)

Ahora si se definen D y M tales que:

Page 64: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.1 Control RST para el pendulo simple 53

D =

ω2n−1

ω2n−2

...

ω1

ω0

,M =

αn−1

αn−2

...

α0

βn−1

βn−2

...

β0

(5.13)

entonces los coeficientes de α0, α1, · · · , αn−1, β0, β1, · · · , βn−1 , se pueden determinar a

partir de:

EM = D (5.14)

M = E−1D (5.15)

Notemos que la ecuacion (5.15) tiene solucion sı y solo sı la matriz de Sylvestre (E)

es no singular y esto se logra si los polinomios A(z) y B(z) no tiene factores comunes,

en otras palabras, la planta es completamente controlable y completamente observable

(Ogata 1996).

Ahora concentremonos en la definicion del polinomio deseado D(z), de la ecuacion

(5.8), observamos que D(z) = T (z)H(z), donde H(z) es el polinomio caracterıstico

deseado para la parte de ubicacion de polos y T (z) es el polinomio caracterıstico para

el observador de orden mınimo1. Ya que los polinomios H(z) y T (z) se escogen de forma

deseada, uno de los requisitos es que estos sean estables y asimismo estan definidos de

la forma:

T (z) = T0zn−1 + T1z

n−2 + . . .+ Tn−2z + Tn−1 = T0z + T1 (5.16)

H(z) = ψ0zn + ψ1z

n−1 + · · ·ψn−1z + ψn = ψ0z2 + ψ1z + ψ2 (5.17)

Sustituyendo (5.8) en la funcion de transferencia a lazo cerrado expresada en (5.7)

obtenemos que:

Go(z) =Y (z)

W (z)=T (z)B(z)

D(z)=T (z)B(z)

T (z)H(z)=B(z)

H(z)(5.18)

1Se supone que la salida del sistema es el unico estado medible.

Page 65: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.1 Control RST para el pendulo simple 54

Notemos que el polinomio T (z) es cancelado, ya que es un polinomio estable su

cancelacion es permitida. La funcion de transferencia final queda expresada en terminos

de los ceros de la funcion transferencia a lazo abierto del sistema y del polinomio deseado

H(z) de orden n. Por lo tanto, el sistema de control disenado no altera el orden del

sistema.

La ubicacion de los polos, se hizo vıa correspondencia del semiplano izquierdo del

plano s con el plano z, Ogata (1996) afirma que cuando se incorpora un muestreo por

impulso las variables complejas z y s quedan relacionadas de la siguiente manera:

z = esT (5.19)

Si nosotros definimos el comportamiento de nuestro sistema en lazo cerrado en

funcion de los parametros α, ζ y ωn, tenemos las siguientes relaciones:

• Si ζ < 1 tenemos que D(z) = z3 +ω1z2 +ω2z+ω3 = (z−c)(z−a+bj)(z−a−bj)

donde: a = e−ζωnT cos

(Tωn

√1− ζ2

)b = e−ζωnT sin

(Tωn

√1− ζ2

)c = e−αζωnT

ω1 = −c− 2a

ω2 = 2c+ a2 + b2

ω3 = −ca2 − cb2(5.20)

y H(z) = (z − a+ bj)(z − a− bj) con T (z) = (z − c).

• Si ζ > 1 tenemos que D(z) = z3 +ω1z2 +ω2z+ω3 = (z− a)(z− b)(z− c) donde:

a = e−ζωnT e

(Tωn

√ζ2−1

)

b = e−ζωnT e−

(Tωn

√ζ2−1

)

c = e−αζωnT

ω1 = −c− b− a

ω2 = ca+ cb+ ab

ω3 = −abc

(5.21)

y H(z) = (z − a)(z − b) con T (z) = (z − c).

Ahora, para que la salida del sistema en estado estable sea igual o cercana a la

entrada de referencia, es necesario la adicion de una ganancia de preamplificacion de

la entrada denominada K0, por tanto, el esquema de control propuesto en la figura 5.1

se transformara en la figura 5.2. La funcion de transferencia pulso de nuestro sistema

a lazo cerrado resultara de la siguiente forma:

Go(z) =K0B(z)

H(z)(5.22)

Page 66: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.1 Control RST para el pendulo simple 55

Figura 5.2: Diagrama de bloques del sistema de control RST disenado (Ogata 1996).

La ganancia K0 se extrae de la siguiente manera:

K0 =H(z)

B(z)

∣∣∣∣z=1

=H(1)

B(1)(5.23)

5.1.1 Implementacion del controlador RST

Para la implementacion del controlador RST para el control del pendulo, se disenaron

los algoritmos void Control() y void Control_RST() (ver C.2), cuyos diagramas se

flujo se observan en las figuras 5.3(a) y 5.3(b) respectivamente.

El algoritmo void Control() es el encargado de transferir el mando hacia

void Control_RST(), el cual es el responsabilizado de calcular la senal de control

final. Esta transferencia de mando se hace a traves de una condicion, la cual esta

expresada en funcion de la variable entera habcon.

El procedimiento void Control_RST() parte por calcular los coeficientes del

polinomio deseado D(z) en funcion de las variables tipo real Zita, Wn y Alpha, luego

calcula los coeficientes de los polinomios R(z), S(z) y T (z) a traves de la solucion de

la matriz de Sylvester en funcion de los parametros del modelo a1, a2, b0, b1 y de

los coeficientes del polinomio deseado W1, W2, W3. Por ultimo, se calcula la ganancia

de preamplificacion K0 y la ley de control en tiempo discreto, la cual a partir de (5.1),

es expresada en la forma siguiente:

u(k) =K0

α0

(α0W (k) + T1W (k − 1))− 1

α0

(β0Y (k) + β1Y (k − 1))− α1

α0

u(k− 1) (5.24)

Page 67: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.1 Control RST para el pendulo simple 56

(a) Diagrama de flujo del algoritmo void Control().

(b) Diagrama de flujo del algoritmo void Control RST().

Figura 5.3: Diagramas de flujo de los algoritmos del sistema de control RST.

Page 68: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.1 Control RST para el pendulo simple 57

Para la implantacion en el Cockpit, se procedio a disenar una interfaz grafica sencilla

e intuitiva para el usuario como se muestra en la figura 5.4. Consta de dos indicadores

tipo barra, uno asociado a la senal de control (U(k)) y la otra para el error de posicion

(E(k)) adquirido.

Cuenta con dos displays tipo digitales para mostrar la posicion del pendulo segun la

region de operacion, uno en [rad] y otro en [deg]. Ademas se compone de dos cuadros

de seleccion, uno asociado a la seleccion de la region de operacion y el otro para la

habilitacion del control.

Las demas caracterısticas permiten al usuario la visualizacion de los coeficientes

del polinomio deseado D(z) y de los polinomios R(z) y S(z), asimismo permite la

modificacion a tiempo real de los parametros de diseno ζ, ωn, α y de la senal de

referencia Wref (k).

Figura 5.4: Captura de pantalla de la implementacion del Control RST a traves de

Cockpit.

Page 69: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.1 Control RST para el pendulo simple 58

5.1.2 Resultados experimentales del controlador RST

Las experiencias realizadas, correspondientes al controlador RST para el control de

posicion del pendulo, se obtuvieron al realizar experimentos bajo las modificaciones de

los parametros de diseno, puntos de operacion y cambios de referencia, con la finalidad

de evaluar el comportamiento y desempeno del mismo. La referencia W (kT ) se produjo

al pasar un escalon de amplitud Wref(kT ) por un filtro de segundo orden, el cual tiene

la forma de:W (z)

Wref(z)=

(1− e−6.0T

)2z2 − 2e−6.0T z + e−12.0T

(5.25)

Este filtro nos permite que la respuesta del sistema sea mas suave y tenga un tiempo

de asentamiento de aproximadamente 1[seg].

El primer grupo de experiencias corresponden a la region de operacion (0, 0), con

los siguientes parametros del sistema:

a1 = −1.9763

a2 = 0.98294

b0 = 0.0064

b1 = 0.0053

La figura 5.5 presenta el resultado obtenido al utilizar un perıodo de muestreo de

T = 0.01[seg] con los parametros de diseno ζ = 1.0, ωn = 30.0 radseg

y α = 5.0. El

controlador RST fijo resulta asignado como:

R(z) = z − 0.2474

S(z) = 10.15z − 10.07

T (z) = z − 0.3679

Como se puede apreciar el error de posicion es de aproximadamente 0.011[rad], esto

se debe a la ganancia de preamplificacion K0, la cual depende de los coeficientes b0 y b1

de la funcion de transferencia pulso de nuestro sistema a lazo abierto, los cuales fueron

obtenidos vıa identificacion y no son exactos.

En la grafica 5.6 se muestra el resultado obtenido al emplear un perıodo de muestreo

de T = 0.01 [seg] con los parametros de diseno ζ = 1.0, ωn = 40.0 radseg

y α = 5.0. Se

Page 70: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.1 Control RST para el pendulo simple 59

Figura 5.5: Controlador RST para el control de posicion del pendulo con T = 0.01[seg],

ζ = 1.0, ωn = 30.0 radseg

y α = 5.0. Punto de operacion (0, 0).

Figura 5.6: Controlador RST para el control de posicion del pendulo con T = 0.01[seg],

ζ = 1.0, ωn = 40.0 radseg

y α = 5.0. Punto de operacion (0, 0).

Page 71: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.1 Control RST para el pendulo simple 60

puede apreciar que el error de posicion es de 0.006[rad] y un tiempo de asentamiento

menor que el experimento anterior.

En la figura 5.7, se observa el comportamiento del sistema controlado bajo varias

modificaciones en su referencia en el punto de operacion (0, 0). En este experimento

se usaron de las siguientes especificaciones ωn = 40[radseg

], ξ = 1.0, α = 5.0.

El segundo bloque de experiencias corresponde al punto de operacion (π, 0)con los

siguientes parametros del sistema:

a1 = −2.001

a2 = 0.9915

b0 = 0.0835

b1 = 0.0823

Estas constan de llevar de forma manual el brazo del pendulo a las cercanıas de la

region de operacion (π, 0), una vez alcanzada las cercanıas de la misma se procedio a

aplicar el controlador RST para estabilizarlo.

En la figura 5.8 se presenta el resultado obtenido al implementar el controlador con

un perıodo de muestro T = 0.01[seg] con los parametros de diseno ζ = 1.0, ωn = 30.0 radseg

y α = 5.0. El controlador RST fijo resulta asignado como:

R(z) = z − 0.2436

S(z) = 0.8029z − 0.725

T (z) = z − 0.3679

En la ejecucion de esta experiencia se determino que la ganancia de preamplificacion

K0 no era optima ya que el error de posicion era elevado. Esto se debe a la defectuosa

estimacion de los coeficientes b0 y b1 de la funcion de transferencia pulso de la planta

a lazo abierto ya que la region de operacion es inestable. Se observa en la figura 5.8

que el error es de −0.024[rad].

Page 72: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.1 Control RST para el pendulo simple 61

Figura 5.7: Controlador RST para el control de posicion del pendulo con varios cambios

de referencia. Punto de operacion (0, 0).

Figura 5.8: Controlador RST para el control de posicion del pendulo con T = 0.01[seg],

ζ = 1.0, ωn = 30.0 radseg

y α = 5.0. Punto de operacion (π, 0).

Page 73: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 62

5.2 Control adaptativo para el pendulo simple.

El sistema de control adaptativo para la regulacion de la posicion del pendulo simple

hara uso de los reguladores autoajustables (STR)2, ya que estos se basan en la

separacion de las tareas de control e identificacion (ver figura 5.9).

Figura 5.9: Diagrama de bloques del sistema de control adaptativo basado en STR.

Como criterio de diseno se utilizara un ındice de actuacion en funcion de las

especificaciones que debe cumplir la salida del sistema. Por lo tanto, se propondra una

funcion de transferencia deseada a lazo cerrado. Para la implantacion del controlador

STR se hara uso de la metodologıa de reguladores autoajustables indirectos (Astrom

& Wittenmark 1989), cuyas etapas estan dadas en:

1. Identificar a tiempo real los parametros del modelo del sistema.

2. Recalcular los parametros del controlador, basados en los parametros estimados

del sistema en la etapa 1.

3. Calcular la senal de control con los nuevos parametros del controlador obtenidos

en la etapa 2.

Las etapas anteriores se repetiran para cada perıodo de muestreo y ellas enmarcan

el comportamiento del sistema de control adaptativo basado en STR.

2Self-tuning regulador (STR) en la terminologıa inglesa.

Page 74: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 63

5.2.1 Algoritmo de identificacion de parametros por mınimos

cuadrados

Una tecnica muy importante de los sistemas adaptativos es el algoritmo de

identificacion de parametros. En este caso estamos interesados en la identificacion

en lınea ya que las observaciones de la entrada y salida de la planta se obtiene en forma

secuencial a tiempo real, para lo que utilizaremos la diccion recursiva de los algoritmos.

Los metodos recursivos se caracterizan por aprovechar parte de los calculos

realizados en el instante (k − 1) para el instante (k).

El resultado es exhibido en (Astrom & Wittenmark 1989) y esta enumerado en los

siguientes pasos:

P (k) =[I − P (k − 1)ϕ(k)

[I + ϕT (k)P (k − 1)ϕ(k)

]−1ϕT (k)

]P (k − 1) (5.26)

K(k) = P (k − 1)ϕ(k)[I + ϕT (k)P (k − 1)ϕ(k)

]−1(5.27)

e(k) = Y (k)− ϕT (k)θ(k − 1) (5.28)

θ(k) = θ(k − 1) +K(k)e(k) (5.29)

donde:

• ϕ(k) es el vector de regresion.

• P (k) es la matriz de covarianza, la cual modifica la direccion del gradiente y

determina la longitud del paso de la identificacion.

• K(k) es la matriz de ganancias de correccion de los parametros .

• e(k) es el error de estimacion o error de prediccion.

• θ(k) denota el vector de parametros estimados en el instante k.

La ecuacion (5.29) expresa que la estimacion del parametro θ(k) esta dada por los

valores de la estimacion anteriores θ(k − 1) corregida por un termino lineal del error

entre la salida Y (k) y su prediccion ϕT (k)θ(k − 1).

El problema que presenta este algoritmo es el apagado del mismo, en otras

palabras la incapacidad para detectar cambios en los parametros del sistema, ya que el

Page 75: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 64

identificador cuenta con memoria infinita, es decir, tienen los mismos pesos todas las

medidas obtenidas de las planta.

Ahora, sı los parametros del sistema cambian lentamente es conveniente reducir la

memoria del identificador con el objeto de que este sea mas sensible a las variaciones

de los parametros del sistema.

Una solucion es la introduccion de un factor de olvido (λ). La idea de este metodo

consiste en modificar la matriz de covarianza P (k) por P (k)λ

, obteniendo (Astrom &

Wittenmark 1989) ası:

P (k) =1

λ

[I − P (k − 1)ϕ(k)

[λ+ ϕT (k)P (k − 1)ϕ(k)

]−1ϕT (k)

]P (k − 1) (5.30)

K(k) = P (k − 1)ϕ(k)[λ+ ϕT (k)P (k − 1)ϕ(k)

]−1(5.31)

e(k) = Y (k)− ϕT (k)θ(k − 1) (5.32)

θ(k) = θ(k − 1) +K(k)e(k) (5.33)

Un inconveniente que se puede presentar en este metodo es cuando la senal de

excitacion es pobre, el producto P (k − 1)ϕ(k) puede hacerse cero o muy pequeno, por

lo que la ecuacion (5.30) se convierte en:

P (k) =P (k − 1)

λ(5.34)

Si λ < 1 la matriz de covarianza crece demasiado. Este conflicto se le conoce como

problema de Blow o identificador Windup. Un remedio para este inconveniente es

proponer un factor de olvido variable (Rodrıguez & Lopez 1996) como se muestra en

la expresion siguiente:

λ(k) = 1−(1− ϕT (k)K(k)

) e2(k)

S0

(5.35)

Cuando el error tiende a cero, λ(k) tiende a uno, lo que evitarıa el crecimiento de

la matriz de covarianza. S0 esta relacionada a la sensibilidad de la funcion de λ(k) y

esta relacionada a la suma del error de estimacion cuadratico.

El metodo del factor de olvido variable no elimina completamente los inconvenientes

antes mencionados, pero si disminuye la posibilidad de aparicion (Rodrıguez & Lopez

1996).

Page 76: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 65

Algoritmo de identificacion de parametros propuesto

Dados los inconvenientes antes mencionados, el metodo de identificacion recursiva

por mınimos cuadrados con factor de olvido variable, es el algoritmo que nos puede

salvaguardar de algunas dificultades que se pudieran presentar. El algoritmo queda

expresado en las siguientes etapas:

1. Iniciacion de las variables P (k) y θ(k) .

2. Obtener los valores para Y (k) y U(k).

3. Calcular el vector de regresion ϕ(k) de la forma:

ϕT (k) =[−Y (k − 1) . . . −Y (k − n) U(k − 1) . . . U(k −m)

]4. Obtener el vector de ganancias de correccion K(k) donde:

K(k) = P (k − 1)ϕ(k)[λ+ ϕT (k)P (k − 1)ϕ(k)

]−1

5. Determinar el error de prediccion e(k) de la forma:

e(k) = Y (k)− ϕT (k)θ(k − 1)

6. Calcular los nuevos parametros estimados dados por:

θ(k) = θ(k − 1) +K(k)e(k)

7. Obtener el nuevo factor de olvido λ(k) de la forma siguiente:

λ(k) = 1−(1− ϕT (k)K(k)

) e2(k)

S0

Si λ(k) < λmin entonces λ(k) = λmin

Si λ(k) > 1 entonces λ(k) = 1

8. Actualizar la matriz de covarianza P (k) de la forma:

W (k) =[I −K(k)ϕT (k)

]P (k − 1)

Si tr(W (k)λ(k)

)> trmax entonces λ = 1

P (k) =W (k)

λ(k)

Page 77: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 66

9. Hacer k = k + 1, ir al paso 2.

La inicializacion de la matriz de covarianza, se puede hacer de la forma P (0) = αI,

donde α es una constante positiva (α > 0) y el vector de θ(k) en cero si no se tiene

previo conocimiento de los parametros estimados.

La condicion de λ(k) < λmin es dada para que los valores de λ(k) no alcancen

valores por debajo de un mınimo. La condicion de tr(W (k)λ(k)

)> trmax es para evitar el

crecimiento desmesurado de la matriz de covarianza P (k).

Implementacion del algoritmo de identificacion de parametros.

Se implemento un modulo en dSPACE que permitiera estimar los parametros a

tiempo real. En la figura 5.10 se observa la captura de pantalla del Cockpit para

implementacion del algoritmo de identificacion recursivo. Observamos que cuenta

con una lista de seleccion para los tipos de senal de entrada al sistema para la

identificacion, describe listas de control que permiten habilitar o deshabilitar el control,

la identificacion y la seleccion del punto de operacion.

Igualmente detalla una serie de display digitales que permiten que el usuario observe

a tiempo real la salida del sistema, los parametros estimados en lınea (b0, b1, a1, a2)

y una serie de caracterısticas propias del algoritmo de identificacion como el factor

de olvido λ(k), la traza de la matriz de covarianza P (k) y el error de estimacion o

prediccion e(k).

Por ultimo describe unas listas de seleccion que permiten la modificacion del

comportamiento a tiempo real del algoritmo de identificacion, estas listas modifican

directamente la iniciacion de la matriz de covarianza P (0) = αI, la sensibilidad

del factor de olvido (S0) y algunas constantes limitativas (λmin y trmax), propias

del algoritmo de identificacion recursivo por mınimos cuadrados con factor de olvido

variable.

Para la implementacion del algoritmo de identificacion recursivo se procedio a crear

la funcion void Identificacion() (ver C.3), el cual cuenta con las mismas etapas

del algoritmo disenado.

Page 78: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 67

Figura 5.10: Captura de pantalla del Cockpit para la implementacion del algoritmo de

identificacion recursivo.

Resultados experimentales del algoritmo de identificacion de parametros.

Para medir la eficacia del algoritmo de identificacion propuesto, se procedio a realizar

una serie de experimentos que nos dieran indicadores de comportamiento e ındices

de desempeno. En estas experiencias mediremos caracterısticas propias del algoritmo

como la velocidad de estimacion, error de prediccion y ajuste de la salida real del

sistema (Y (kT ) con el modelo identificado (Ym(kT )).

Primer grupo de experiencias. El primer grupo de experimentos consisten en

evaluar el comportamiento del algoritmo de identificacion en el punto de operacion

(0, 0). La figura 5.11, muestra el ensayo realizado, el cual comenzo por activar la planta

con una senal PRBS 3 de amplitud de 0.06[N.m] y constante de tiempo de 0.15[seg].

3Pseudo Random Binary Sequence (PRBS ): Son secuencias de pulsos rectangulares moduladas enanchura que se aproximan a un ruido blanco en tiempo discreto, de forma que tiene un contenido muy

Page 79: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 68

Las especificaciones del algoritmo fueron:

θ(0) =[

0 0 0 0]T

α = 1.0

λmin = 0.9

trmax = 10000

S0 = 0.001

Como resultado se obtuvieron los siguientes valores de los parametros estimados,

con una velocidad de estimacion de aproximadamente 6[seg](ver figura 5.11(a)).

b0 = 0.003807

b1 = 0.007694

a1 = −1.9789

a2 = 0.98545

Para tener una medida de que tan precisa es la estimacion, se procedio a validar el

modelo obtenido con una salida adquirida al excitar al sistema con la misma senal

de entrada de forma previa (ver figura 5.11(b)). El ajuste alcanzado del sistema

identificado fue del 82.68%, con una funcion de perdida (FP) alrededor del 0.56, lo

que nos lleva a concluir que es una buena aproximacion al sistema real. La funcion de

perdida esta definida como:

FP =1

2EET

E = Yreal − Ysimulado

De la misma forma se procedio a realizar la misma experiencia pero modificando la

senal de entrada PRBS en amplitud (DA) y diferencial de tiempo (DT), con la finalidad

de obtener la mejor estimacion de los parametros. Para cada una de las experiencias

se obtuvieron los parametros estimados y se tabularon en la tabla 5.1.

rico en frecuencia.

Page 80: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 69

(a) Evolucion de los parametros estimados.

(b) Validacion de los parametros estimados.

Figura 5.11: Experiencia realizada para evaluar el comportamiento del algoritmo de

identificacion ante una entrada PRBS, en el punto de operacion (0, 0).

Page 81: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 70

DA [N.m] DT [seg] b0 b1 a1 a2 Ajuste [%] FP

0,04 0,075 0,0055 0,0071 -1,9559 0,9626 58,34 0,4375

0,04 0,15 0,0049 0,0075 -1,9685 0,97527 72,46 0,4717

0,04 0,30 0,0078 0,0051 -1,9688 0,97543 68,25 1,2105

0,04 0,60 0,0077 0,0073 -1,9329 0,94046 77,76 0,2087

0,05 0,15 0,0064 0,0054 -1,9753 0,98194 78,10 0,5356

0,05 0,30 0,0068 0,0051 -1,9764 0,9829 71,10 2,0534

0,05 0,60 0,0060 0,0075 -1,9527 0,95989 82,03 0,2247

0,06 0,15 0,0038 0,0077 -1,9789 0,98545 82,68 0,5634

0,06 0,30 0,0063 0,0052 -1,9809 0,98729 74,02 3,3411

0,06 0,60 0,0061 0,0064 -1,9636 0,97054 83,97 0,2641

Tabla 5.1: Parametros estimados con el algoritmo de identificacion recursiva ante una

entrada al sistema del tipo PRBS, en la region de operacion (0, 0).

Segundo grupo de experiencias. El segundo grupo de experimentos corresponde

a evaluar el comportamiento del algoritmo de estimacion de parametros bajo la

modificacion de sus medidas de desempeno (α, S0) en el punto de operacion (0, 0).

El primer ensayo conto en inicializar la matriz de covarianza (P (k))4 con los valores

para α de (0.1e−4, 1.0, 1e5). La figura 5.12, muestra la evolucion de los parametros

estimados ante una entrada del tipo PRBS de amplitud 0.05[N.m] y un diferencial de

tiempo del 0.3[seg].

En la figura 5.12(a), se puede apreciar la evolucion de los parametros identificados

al variar la medida de desempeno α. Se puede percibir que estas modificaciones afectan

directamente en la velocidad de estimacion de los parametros mas no en la convergencia

de los mismos.

A medida que el valor de α aumenta la convergencia es mas rapida hacia su

valor final y si α es pequeno la velocidad de estimacion sera mas lenta. La figura

5.12(b) exhibe el comportamiento del error de estimacion (e(k)), la evolucion del factor

de olvido (λ(k)) y la traza de la matriz de covarianza (P (k)). Aquı detallamos el

comportamiento del factor de olvido, en el cual para un error de prediccion grande, el

4La inicializacion de la matriz de covarianza es de la forma P (0) = αI.

Page 82: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 71

(a) Evolucion de los parametros al modificar la inicializacion de la matriz de covarianza.

(b) Comportamiento del algoritmo de identificacion.

Figura 5.12: Experimento para evaluar la conducta de la identificacion bajo la

modificacion de la medida de desempeno α en el punto de operacion (0, 0).

Page 83: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 72

factor de olvido tiende a su mınimo (λ(k) → λmin), ahora si el error de prediccion es

pequeno (e(k)→ 0), entonces el factor de olvido tiende a uno (λ(k)→ 1).

El segundo ensayo de esta experiencia consta por excitar a nuestro sistema con la

misma senal de entrada antes descrita, pero esta vez se modificara la sensibilidad del

factor de olvido (S0) con valores de (1e−5, 1e−2, 1e−1)(ver figura 5.13).

En la figura 5.13(a), se puede apreciar la evolucion de los parametros estimados

bajo este ensayo. En esta percibimos que para el valor de S0 = 0.1 la velocidad de

estimacion se ve afectada, lo cual no implica que S0 sea un factor determinante en el

mejoramiento de la rapidez de estimacion como es en el caso de la inicializacion de la

matriz de covarianza, ya que para los otros valores de S0 la velocidad de estimacion es

aproximadamente igual.

esta alteracion en la velocidad de estimacion viene dada por el valor del factor de

olvido. Como se distingue en la figura 5.13(b), para los valores de S0 = 0.1, el factor

de olvido es igual a la unidad para la mayorıa del experimento, provocando que el

estimador se convierta en un estimador de memoria infinita, lo cual lo hace menos

sensible a cambios en los parametros, provocando que la estimacion sea mas lenta.

Por otro lado para valores de S0 = 1e−5, la alternabilidad del factor de olvido viene

dada en su mayoria por el limite inferior (λmin) y la unidad, provocando ası una mayor

sensibilidad ante ruidos en las medidas de los parametros. Esta brusca alternabilidad

del factor de olvido es a consecuencia de la traza de la matriz de covarianza alcanza

su valor tope (trmax) y modifica el valor de λ(k) por el valor de unidad, para evitar el

incremento inmoderado de la misma.

Tercer grupo de experiencias. El tercer grupo de experimentos consisten por

apreciar la conducta del algoritmo de estimacion de parametros recursivo, bajo la

excitacion de senales del tipo sinusoidal. El objetivo es evaluar la condicion necesaria

para obtener una estimacion de alta calidad.

Astrom & Wittenmark (1989) comentan, que la condicion para garantizar la

convergencia e identificabilidad del algoritmo de mınimos cuadrados recursivo, es que la

senal de excitacion U(k) debe de ser de excitacion persistente (PE) de orden n, donde

n es el numero de parametros del modelo a estimar, en nuestro caso son cuatro (a1,

Page 84: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 73

(a) Evolucion de los parametros al modificar la sensibilidad del factor de olvido λ(k).

(b) Comportamiento del algoritmo de identificacion.

Figura 5.13: Experimento para evaluar la conducta de la identificacion bajo la

modificacion de la medida de desempeno S0 en el punto de operacion (0, 0).

Page 85: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 74

a2, b0, b1). Una forma sencilla de obtener el orden PE de una senal periodica es contar

el numero de armonicos no nulos que aparecen al aplicar la Transformada Rapida de

Fourier en un perıodo de la misma.

En las figuras 5.14 y 5.15, se muestra la estimacion de los parametros del sistema

y el comportamiento del mismo, ante las entradas del tipo sinusoidal U1(k) y U2(k)

respectivamente.

U1(k) = 0.05 sin

(2π

1.2t

)

U2(k) =

(0.05

5

) sin

(2π

0.3t

)+ sin

(2π

0.6t

)+ sin

(2π

0.9t

)+ sin

(2π

1.2t

)+ · · ·

· · ·+ sin

(2π

1.5t

)+ sin

(2π

1.8t

)+ sin

(2π

2.1t

)

Como podemos apreciar en la figura 5.14(a), los parametros a1 y a2 tienden a las

cercanıas de su valor estimado en experimentos anteriores, pero los valores de b0 y b1

se alejan excesivamente de los mismos.

Esto se debe a que el orden PE de la senal de entrada U1(k) es 2 (dos), lo que es

menor que el numero de parametros a estimar y por lo tanto no alcanza activar toda

la dinamica del sistema, obteniendo ası una mala estimacion de los parametros.

A diferencia de esto, la figura 5.15(a) presenta la convergencia de los parametros

estimados, ya que el orden PE de la entrada U2(k) es de 14 y a su vez mayor

que el numero de parametros a estimar, lo que permite cumplir con la condiciones

experimentales impuestas por la dinamica propia del estimador.

Page 86: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 75

(a) Evolucion de los parametros estimados y comportamiento del algoritmo de estimacion.

(b) Salida del sistema y senal de control.

Figura 5.14: Ensayo para evaluar las condiciones experimentales del algoritmo de

identificacion bajo entrada U1(k).

Page 87: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 76

(a) Evolucion de los parametros estimados y comportamiento del algoritmo de estimacion.

(b) Salida del sistema y senal de control.

Figura 5.15: Ensayo para evaluar las condiciones experimentales del algoritmo de

identificacion bajo entrada U2(k).

Page 88: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 77

5.2.2 Algoritmo de control adaptativo para reguladores

autoajustables

Para enumerar las etapas del controlador adaptativo, se debe tener en cuenta que el

mismo esta conformado por el algoritmo de identificacion recursivo propuesto en la

sub-seccion 5.2.1 y el regulador RST disenado para el control de posicion del pendulo

en la seccion 5.1.

Las etapas de este algoritmo estan descritas por:

Entrada: Obtener el polinomio H(z) y T (z) a traves de las especificaciones deseadas

de diseno.

1. Estimar los coeficientes de los polinomios de la planta A(z) y B(z), usando la

tecnica de mınimos cuadrados recursivo con factor de olvido variable discutido

en la sub-seccion 5.2.1. El modelo del pendulo se puede escribir explıcitamente

para el tiempo discreto de la forma:

y(k) = −a1y(k − 1)− a2y(k − 2) + bou(k − 1) + b1u(k − 2)

como el modelo es lineal se puede escribir de la forma:

y(k) = ϕT (k)θ

donde:

ϕT (k) =[−y(k − 1) −y(k − 2) u(k − 1) u(k − 2)

]

θT =[a1 a2 b0 b1

]2. Recalcular el controlador RST para los coeficientes de los polinomios A(z) y

B(z) estimados en la etapa 1. Las polinomios R(z) y S(z), son obtenidos como

solucion de la ecuacion diofantina, la cual se expresa como:

R(z)A(z) + S(z)B(z) = T (z)H(z)

Page 89: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 78

3. Calcular la ley de control variable de la forma:

R(z)U(z) = T (z)W (z)− S(z)Y (z)

4. Ir al paso 1.

Las etapas anteriores se tiene que repetir para cada perıodo de muestreo. Una de las

desventajas de este algoritmo es que se necesitan demasiados calculos en el proceso de

identificacion y en el calculo de los coeficientes del regulador. La ventaja es la obtencion

directamente de los parametros del sistema, lo que es relevante para la supervision del

control.

Es importante resaltar el problema que puede producirse en el estimador, conocido

como Windup, especialmente en el caso en que no existan perturbaciones externas

actuando sobre el lazo de control o hay poca excitacion. Cuando esto ocurre, no se

produciran cambios en la estimaciones de los parametros y la matriz de covarianza

crecera exponencialmente.

Por lo tanto, un cambio en la senal de control o una pequena perturbacion

pueden tener entonces una gran influencia sobre las estimaciones de los parametros,

cambiandolos e inestabilizando al lazo de control en algunas ocasiones.

Una solucion simple es la desconexion automatica de la estimacion de los parametros

mientras que la varianza de la salida no exceda un cierto valor o ındice de desempeno.

Teniendo en cuenta esto, es posible incrementar la robustez del algoritmo de control

y modificar su sencillez, introduciendo una medida auxiliar que permita la estimacion

de los parametros de la planta y la actualizacion de los coeficientes del controlador

automaticamente siempre que el valor de la medida no cumpla:

sup |J(k)| 6 σ (5.36)

donde J(k) es la medida auxiliar y σ es el ındice de desempeno.

En la figura 5.16 se muestra el diagrama de bloque del sistema de control adaptativo

que incorpora la supervision.

El supervisor se define entonces como una ventana deslizante en el tiempo que mide

la norma euclidiana del error de posicion del pendulo y esta definida como:

Page 90: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 79

Figura 5.16: Diagrama de bloques control adaptativo con supervision.

J(k) =

√√√√ N∑i=0

(W (k − i)− Y (k − i))2 (5.37)

De esta manera, solamente aquellas variaciones o perturbaciones que produzcan un

error de posicion continuo que exceda al ındice de desempeno, ocasionara que nuestro

algoritmo de control ingrese en la fase de estimacion de parametros y recalculo del

controlador.

5.2.3 Implementacion del sistema de control adaptativo

La implementacion de los algoritmos necesarios para el sistema de control adaptativo,

cuyo esquema se ha visto en la figura 5.16, se dividen en los siguientes modulos:

• Fase de preidentificacion.

• Estimacion de parametros.

• Calculo de los coeficientes del controlador.

Page 91: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 80

• Obtencion de la senal de control.

El esquema de control y supervision se implementa en el diagrama de flujo 5.17,

donde:

• La fase de preidentificacion consta por administrar una senal del tipo PRBS al

sistema en lazo abierto, con el objetivo de estimar los parametros de la planta

durante un determinado espacio de tiempo (t = 10 [seg]). La ejecucion de esta

fase tiene gran importancia, ya que los parametros de la funcion de transferencia

pulso de nuestro sistema se suponen desconocidos, el diagrama de flujo de esta

fase se puede apreciar en la figura 5.18.

• El supervisor es una simple estructura de decision que verifica el evento en el

cual, el ındice de desempeno sobrepasa una cota maxima. Ella habilita la variable

band2, la cual representa una bandera que senala este evento.

• La fase de identificacion de la planta en lazo abierto consta de los siguientes pasos:

1. Llevar a la planta a las cercanıas de la region de operacion.

2. Identificar los parametros del sistema durante un espacio de tiempo.

3. Estabilizar de forma natural al sistema en las cercanıas del punto de

operacion.

El diagrama de flujo para la fase de identificacion del sistema en lazo abierto se

muestra en la figura 5.19.

• La fase de calculo o recalculo del controlador y obtencion de la senal de control, se

refiere al calculo de los coeficientes para los polinomios R(z), T (z), S(z) y H(z)

donde H(z) y T (z), son calculados a traves de las especificaciones de diseno ωn,

ζ, y α. R(z) y S(z), se obtiene como solucion de la ecuacion diofantina (5.8).

La senal de control se calcula de la siguiente manera:

U(k) =K0

α0

(α0W (k) + T1W (k − 1))− 1

α0

(β0Y (k) + β1Y (k − 1))− α1

α0

u(k − 1)

Page 92: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 81

Figura 5.17: Diagrama de flujo del sistema de control adaptativo.

Page 93: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 82

Figura 5.18: Diagrama de flujo de la fase de preidentificacion.

Figura 5.19: Diagrama de flujo de la fase de identificacion del sistema a lazo abierto.

Page 94: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 83

Para implementacion en C del sistema de control adaptativo que incluye supervision

(ver C.4), se realizaron las funciones void Control() y void Control_Adaptativo(),

que junto a la funcion void Identificacion(), implementan el algoritmo de control

adaptativo para el control de posicion de un pendulo simple.

Para la creacion de la pantalla de supervision en el Cockpit, se procedio a disenar

una interfaz grafica (ver figura 5.20) la cual incorpora una serie de visualizadores y

listas de seleccion, que permite observar el comportamiento de la planta y del sistema

de control para su facil supervision a tiempo real.

Figura 5.20: Captura de pantalla del Cockpit para la implantacion del control

adaptativo.

Page 95: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 84

5.2.4 Resultados experimentales del sistema de control

adaptativo

La experiencia realizada correspondiente al sistema de control adaptativo basado en

reguladores autoajustables se obtuvo al ejecutar el experimento bajo las modificaciones

de los parametros del sistema. esta modificaciones son logradas a traves de la adicion

de una masa de 0.909 [kg] en la junta de revolucion situada al final de la articulacion

(ver figura 5.21).

Figura 5.21: Sistema de pesas para el pendulo simple.

La adicion de esta masa, modifica directamente los parametros del sistema tales

como masa (m), centro de masa (lc) e inercia (I) de la ecuacion de movimiento del

pendulo simple:

(ml2c + I)q + αq +mglc sin(q) = τ (5.38)

La relacion de variacion de los parametros fısicos respecto a la funcion de

transferencia discreta de nuestro sistema, fueron calculados por Gonzalez (2002) y

estas relaciones estan dadas por:

b0 = a(T − a+ ae−Tb

)a1 = −(1 + e−Tb)

b1 = a(T − a− ae−Tb

)a2 = e−Tb

donde a = θ1/θ2g, b = 1/a, θ1 = ml2c + I y θ2 = mlc.

Page 96: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 85

La referencia W (kT ) se obtiene al pasar un escalon de amplitud Wref (KT ) por un

filtro de segundo orden cuya funcion de trasferencia pulso esta descrita como:

W (z)

Wref (z)=

(1− e−6.0T

)2z2 − 2e−6.0T z + e−12.0T

(5.39)

este filtro nos permite lograr que la respuesta del sistema sea mas suave a la de un

escalon y que tenga un tiempo de asentamiento de alrededor 1.0 [seg]. Los parametros

del sistema de control y del identificador fueron colocados en:

ωn = 30

[rad

seg

]ζ = 1.0

αcontrol = 10.0

αident = 100000

S0 = 0.001

Trmax = 500000

λmin = 0.90

σ = 0.7[rad]

En las figuras 5.22 y 5.23, se observa el resultado de este experimento con una

referencia descrita por:

Wref (kT ) =

30 sin

(2π

30tW

)sin

(20π

30tW

)[deg]

0 [deg]

0 [seg] 6 tW < 15 [seg]

15 [seg] 6 tW 6 20 [seg]

en el punto de operacion (0, 0), con un perıodo de muestreo de T = 0.01 [seg].

La fase de preidentificacion se distingue entre el intervalo de tiempo (0 - 10)[seg]

(ver figura 5.22(a)). Esta fase produjo los siguientes valores para los parametros del

sistema:

b0 = 0.0054

b1 = 0.0010

a1 = −1.9828

a2 = 0.9893

Page 97: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 86

(a) Comportamiento del sistema de control adaptativo.

(b) Evolucion de los parametros del sistema.

Figura 5.22: Experimento para evaluar el comportamiento del sistema de control

adaptativo para el control de posicion del pendulo simple. Punto de operacion (0, 0).

Page 98: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 87

Por lo tanto, las caracterısticas del sistema en este perıodo de tiempo quedan

descritas como:

• Ceros:

z1 = −0.1852[radseg

]• Polos:

z2,3 = 0.9914± 0.0802i[radseg

]En el perıodo de tiempo (14 - 29)[seg], muestra el seguimiento de la trayectoria, al

evaluar el comportamiento del sistema de control se obtuvo que el error de seguimiento

maximo es 0.0694 [rad] y un ındice maximo de desempeno de 0.5866 [rad].

En el perıodo de tiempo del alrededor de (29 - 34)[seg], se procedio a adicionar el

peso en la junta de revolucion. Como la senal de referencia es periodica, en t = 34[seg]

emprende de nuevo el sistema el seguimiento de referencia.

En t = 41.28[seg], ocurre que el ındice de desempeno excede a la varianza

establecida al inicio del experimento, por lo tanto, el sistema de control entra en la

fase de identificacion de la planta a lazo abierto, ya que el controlador STR se volvio

obsoleto para las nuevas variaciones del sistema (ver figura 5.23).

Entre (41.28 - 44)[seg], se observa como el controlador STR lleva al sistema al

las cercanıas de la region de operacion. La fase de identificacion del sistema se

realizo durante un perıodo de tiempo de 10 [seg] y en ella se obtuvieron los siguiente

parametros estimados del sistema:

b0 = 0.0022

b1 = 0.0004

a1 = −1.9629

a2 = 0.9691

si estudiamos la variacion que sufren los nuevos parametros estimados tomando a los

anteriores como los reales tenemos que:

b0 =

∣∣∣∣b0 − b0b0

∣∣∣∣× 100% = 59.26%

b1 =

∣∣∣∣b1 − b1b1

∣∣∣∣× 100% = 60.0%

Page 99: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

5.2 Control adaptativo para el pendulo simple. 88

a1 =

∣∣∣∣a1 − a1

a1

∣∣∣∣× 100% = 1.0%

a2 =

∣∣∣∣a2 − a2

a2

∣∣∣∣× 100% = 2.0%

Los nuevos polos y ceros del sistema a lazo abierto, quedan ubicados en:

• Ceros:

z1 = −0.1818[radseg

]• Polos:

z2,3 = 0.9815± 0.0765i[radseg

]Culminada la fase de identificacion del sistema el algoritmo de control espera 4

[seg] a que la planta se estabilice en las cercanıas de la region de operacion para luego

cerrar el lazo del sistema con el nuevo controlador calculado. A partir t = 61.25[seg] se

aplica la senal de referencia antes descrita, obteniendo como resultado un seguimiento

de trayectoria con un error de posicion maximo de alrededor 0.0642 [rad] y un ındice

de desempeno maximo de 0.5378 [rad](ver figuras 5.22 y 5.23).

Figura 5.23: Comportamiento del supervisor y del ındice de desempeno.

Page 100: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

Capıtulo 6

Conclusiones

Las caracterısticas dinamicas que engloban al sistema electromecanico denominado

Pendubot permiten realizar a tiempo real distintos ensayos o experiencias

fundamentadas en el conocimiento de diferentes aspectos de la fısica, del control lineal,

no lineal y de las tecnicas de control adaptativa.

En el presente trabajo se realizo un estudio de distintas tecnicas de control, los

algoritmos necesarios para el diseno de controladores basados en las mismas y en

particular su implementacion en el sistema computacional de control y supervision

dSPACE, de forma que pueda ser ampliamente utilizado en la Universidad de los Andes

en las areas de docencia e investigacion.

Este proyecto comenzo modelando al Pendubot a partir de las ecuaciones de

Lagrange, obteniendo ası un modelo no lineal que exprese la relacion entre las variables

del sistema y sus parametros. Inmediatamente se procedido a la obtencion de los

parametros del sistema vıa medida directa e indirecta para finalizar con el estudio de

estabilidad, controlabilidad y observabilidad del sistema linealizado.

Luego se disenaron e implementaron leyes de control continuas por realimentacion

del vector de estado para el Pendubot en configuraciones inestables. Estas leyes de

control lineales permitieron cumplir con el objetivo de regulacion y seguimiento de

trayectorias con un error de posicion mınimo.

Posteriormente se disenaron y evaluaron leyes de control discretas para el pendulo

simple. Para lograr el objetivo control de posicion del sistema en configuraciones

Page 101: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

6 Conclusiones 90

estables o inestables, se desarrollaron controladores lineales basados en un enfoque

polinomial, estos son conocidos como controladores RST. En las experiencias realizadas

se observa que estos controladores tienen un buen desempeno pero no disminuyen a

cero el error de posicion.

Por ultimo se presento el diseno e implementacion de la tecnica de control adaptativo

basado en controladores autoajustables indirectos, para el control de posicion de

un pendulo simple. Es de resaltar que se ha desarrollado un sistema de control

modular y flexible, ya que este tipo de controladores se basa en la separacion de

las tareas de control e identificacion, siendo una aportacion importante que consiste

en la simplificacion y la automatizacion, en la medida de lo posible, en la fase de

arranque y de operacion del sistema de control. Se definen los algoritmos necesarios de

control e identificacion apropiados y el supervisor automatizado que permita el correcto

funcionamiento de la planta por largos perıodos de tiempo.

En el diseno e implementacion del algoritmo de identificacion de parametros se

propuso el algoritmo de mınimos cuadrados recursivo con factor de olvido variable.

Se realizaron experiencias que permitieron medir la eficacia y el comportamiento del

mismo. Como resultado obtuvimos que la inicializacion de la matriz de covarianza

y la modificacion de la sensibilidad de la funcion del factor de olvido, alteran el

comportamiento del algoritmo de identificacion.

Para la apreciacion de la conducta y eficacia del sistema de control adaptativo, se

realizo una experiencia en cual se modificaron los parametros fısicos del pendulo. En

esta se observaron todas la etapas que enmarcan al sistema de control adaptativo y en

particular se resalta la adaptacion del sistema de control ante los nuevos cambios en la

dinamica del Sistema.

Para finalizar, se sugiere como posibles proyectos futuros, la implementacion y

verificacion en el sistema de control adaptativo desarrollado, de nuevos metodos de

control, identificacion y/o supervision.

Page 102: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

Apendice A

Ecuaciones de linealizacion

Las matrices de los jacobianos del sistema, estan definidas como:

A =∂f

∂x

∣∣∣∣(X,uop)

=

∂f1∂x1

∂f1∂x2

∂f1∂x3

∂f1∂x4

∂f2∂x1

∂f2∂x2

∂f2∂x3

∂f2∂x4

∂f3∂x1

∂f3∂x2

∂f3∂x3

∂f3∂x4

∂f4∂x1

∂f4∂x2

∂f4∂x3

∂f4∂x4

(A.1)

B =∂f

∂x

∣∣∣∣(X,uop)

=

∂f1∂u

∂f2∂u

∂f3∂u

∂f4∂u

(A.2)

De la representacion en variables de estado de nuestro sistema descrito por las

ecuaciones no lineales (3.38), (3.39), (3.40) y (3.41), las derivadas evaluadas en el

punto de operacion vienen dadas por:

∂f2

∂x1

∣∣∣∣(X,uop)

=− g (θ2θ4 cos (X1)− θ5 cos (X1 +X3) θ3 cos (X3))

−θ2θ1 + θ23 (cos (X3))

2 (A.3)

∂f2

∂x2

∣∣∣∣(X,uop)

=θ2θ6

−θ2θ1 + θ23 (cos (X3))

2 (A.4)

∂f2

∂x3

∣∣∣∣(X,uop)

=θ2θ5g cos (X1 +X3)

−θ2θ1 + θ23 (cos (X3))

2−

. . .− 2θ2 (uop − θ4g sin (X1)− θ5g sin (X1 +X3)) θ

23 cos (X3) sin (X3)(

−θ2θ1 + θ23 (cos (X3))

2)2 + . . .

Page 103: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

A Ecuaciones de linealizacion 92

. . .+θ3 sin (X3) θ5g sin (X1 +X3)

−θ2θ1 + θ23 (cos (X3))

2 − . . .

. . .− (θ2 + θ3 cos (X3)) θ5g cos (X1 +X3)

−θ2θ1 + θ23 (cos (X3))

2 − . . .

. . .− 2(θ2 + θ3 cos (X3)) θ5g sin (X1 +X3) θ

23 cos (X3) sin (X3)(

−θ2θ1 + θ23 (cos (X3))

2)2 (A.5)

∂f2

∂x4

∣∣∣∣(X,uop)

=− (θ2 + θ3 cos (X3)) θ7

−θ2θ1 + θ23 (cos (X3))

2 (A.6)

∂f2

∂u

∣∣∣∣(X,uop)

=− θ2

−θ2θ1 + θ23 (cos (X3))

2 (A.7)

∂f4

∂x1

∣∣∣∣(X,uop)

=(θ2 + θ3 cos (X3)) (−θ4g cos (X1)− θ5g cos (X1 +X3))

−θ2θ1 + θ23 (cos (X3))

2 + . . .

. . .+(θ1 + θ2 + 2 θ3 cos (X3)) θ5g cos (X1 +X3)

−θ2θ1 + θ23 (cos (X3))

2 (A.8)

∂f4

∂x2

∣∣∣∣(X,uop)

=− (θ2 + θ3 cos (X3)) θ6

−θ2θ1 + θ23 (cos (X3))

2 (A.9)

∂f4

∂x3

∣∣∣∣(X,uop)

=− θ3 sin (X3) (uop − θ4g sin (X1)− θ5g sin (X1 +X3))

−θ2θ1 + θ23 (cos (X3))

2 − . . .

. . .− (θ2 + θ3 cos (X3)) θ5g cos (X1 +X3)

−θ2θ1 + θ23 (cos (X3))

2 + . . .

+ 2(θ2 + θ3 cos (X3)) (uop − θ4g sin (X1)− θ5g sin (X1 +X3)) θ

23 cos (X3) sin (X3)(

−θ2θ1 + θ23 (cos (X3))

2)2 −

. . .− 2θ3 sin (X3) θ5g sin (X1 +X3)

−θ2θ1 + θ23 (cos (X3))

2 + . . .

. . .+(θ1 + θ2 + 2 θ3 cos (X3)) θ5g cos (X1 +X3)

−θ2θ1 + θ23 (cos (X3))

2 + . . .

. . .+ 2(θ1 + θ2 + 2 θ3 cos (X3)) θ5g sin (X1 +X3) θ

23 cos (X3) sin (X3)(

−θ2θ1 + θ23 (cos (X3))

2)2(A.10)

∂f4

∂x4

∣∣∣∣(X,uop)

=(θ1 + θ2 + 2 θ3 cos (X3)) θ7

−θ2θ1 + θ23 (cos (X3))

2 (A.11)

∂f4

∂u

∣∣∣∣(X,uop)

=θ2 + θ3 cos (X3)

−θ2θ1 + θ23 (cos (X3))

2 (A.12)

Page 104: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

Apendice B

Control Swing-Up

El control al cual denominaremos Swing-Up consiste en un control no lineal el cual

permitira proporcionar la energıa suficiente al sistema para partir de un estado de

reposo (X1 = 0, X2 = 0, X3 = 0, X4 = 0, Uop = 0) a las cercanıas de las regiones de

operacion definidas como Abajo y Arriba. El diseno de este control se ha realizado en

dos etapas:

• Una parcial linealizacion del modelo.

• El diseno de un controlador del tipo PD con Pre-Compensacion de la aceleracion.

B.1 Diseno del control Swing-Up

La idea consiste en aplicar un par no lineal a la primera articulacion, de tal forma que

eliminemos la no linealidad del mismo.

Esto puede lograrse a traves de un lazo de control interno obteniendo como resultado

una nueva entrada de control que denominaremos v. El esquema de control propuesto

se puede observar en la figura B.1.

Las ecuaciones de movimiento que describen a nuestro sistema fueron obtenidas en

la ecuacion (3.41). Igualando a:

x2(t) = v (B.1)

despejando de (B.1) a la senal de control u(t) obtenemos el torque no lineal de la

siguiente forma:

Page 105: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

B.1 Diseno del control Swing-Up 94

Figura B.1: Diagrama de bloques de la parcial linealizacion del sistema.

x2 =− θ2u− θ2θ6x2 − θ2θ4g sin (x1)− θ2θ5g sin (x1 + x3)

−θ2θ1 + θ23 (cos (x3))

2 − . . .

. . .− θ2θ3 sin (x3)x4x2 + θ2θ3 sin (x3) (x2 + x4)x4

−θ2θ1 + θ23 (cos (x3))

2 + . . .

. . .+(θ2 + θ3 cos (x3)) (−θ7x4 − θ5g sin (x1 + x3)− θ3 sin (x3)x

22)

−θ2θ1 + θ23 (cos (x3))

2 = v (B.2)

u(t) =− θ3 cos (x3) θ5 g sin (x1 + x3) + θ23 sin (x3) cos (x3) (x2)

2 + θ3 sin (x3) θ2 (x2)2

θ2

+

. . .+2 θ3 sin (x3) θ2 x2x4 + θ3 sin (x3) θ2 (x4)

2 + θ3 cos (x3) θ7 x4

θ2

− . . .

. . .− θ2 θ4 g sin (x1)− θ2 θ6 x2 + θ2 θ7 x4 − vθ2 θ1 + vθ23 (cos (x3))

2

θ2

(B.3)

Sustituyendo el torque u(t) en las ecuaciones de movimiento (3.41) obtenemos el

sistema parcialmente linealizado:

x1(t) = x2(t) (B.4)

x2(t) = v (B.5)

x3(t) = x4(t) (B.6)

x4(t) = f4(x, v) (B.7)

donde:

f4(x, v) = −vθ2 + θ5 g sin (x1 + x3) + θ3 sin (x3)x22 + θ3 cos (x3) v + θ7 x4

θ2

(B.8)

Page 106: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

B.1 Diseno del control Swing-Up 95

Observemos que la ecuacion (B.4) es lineal y que el lazo externo del sistema esta

disenado para el seguimiento de trayectorias sobre la primera articulacion (x1(t)). La

dinamica de respuesta de la segunda articulacion (x3(t)) es obtenida como resultado

de la ecuacion no lineal (B.8). La ecuacion (B.4), representa la dinamica interna del

sistema con respecto a la salida.

y(t) = x1(t) (B.9)

Ahora la idea es realizar un lazo de control externo que admita el seguimiento de

trayectorias del primer enlace, permitiendo excitar la dinamica interna del sistema y

ası poder lograr el Swing del segundo enlace. Para el seguimiento de trayectorias del

Pendubot, nosotros proponemos un controlador de tipo PD con Pre-Compensacion de

la aceleracion (Block 1991), descrito por:

v = xd1 +Kd

(xd1 − x2

)+Kp

(xd1 − x1

)(B.10)

donde los terminos son:

• xd1 es la aceleracion de la trayectoria deseada.

• xd1 es la velocidad de la trayectoria deseada.

• xd1 es la trayectoria deseada.

Ahora, una vez disenado el controlador, debemos determinar cuales son las

trayectorias que nos permitiran realizar el Swing de las articulaciones para trasladarlos

a las regiones de operacion deseadas. Para realizar el Swing-Up hacia la posicion de

Arriba, fue apto utilizar un escalon de amplitud π. esta trayectoria trabaja bien en

simulaciones (ver Figura B.3) con valores nominales para las ganancias del controlador

PD (Kp = 92.53 y Kd = 14).

La trayectoria para lograr el Swing-Up en el punto de operacion que denominas

Abajo, es un poco mas complicada. En simulaciones (ver Figura B.3) encontramos una

trayectoria que trabaja correctamente, esta trayectoria es descrita como:

xd =π

4sin (8t) t < 1[seg]

xd = 0 t > 1[seg]

Page 107: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

B.1 Diseno del control Swing-Up 96

Figura B.2: Simulacion del Swing Up punto de equilibrio Abajo.

Figura B.3: Simulacion del Swing Up punto de equilibrio Arriba.

Page 108: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

B.2 Implementacion del control Swing-Up 97

esta trayectoria proporciona la energıa suficiente al sistema que permite llevarlo del

reposo al punto de operacion denominado Abajo.

En simulacion (ver figura B.2) la trayectoria estimada trabaja bien y a su vez

se determinaron las constantes del controlador, su valor nominal es Kp = 14, 625 y

Kd = 4. El proceso para hallar las ganancias del controlador PD, fue a traves de

ensayo y error.

B.2 Implementacion del control Swing-Up

Ahora para poder efectuar nuestro objetivo, el controlador consta de dos partes. La

primera parte se basa en el control Swing-Up, el cual proporciona la energıa necesaria

al Pendubot para llevar los dos enlaces a las cercanıas del punto de operacion. Una vez

estando en las proximidades del punto de operacion, es cuando la segunda parte del

controlador se ejecuta, la cual es, el control del balanceo, este algoritmo de control es

disenado en el capitulo 4, el cual se basa en la realimentacion del vector de estado. El

paso del controlador Swing-Up al Control de Balanceo se debe a una simple estructura

de decision cuya restriccion esta en terminos de la posicion y velocidad del sistema

(x1(t), x2(t), x3(t), x4(t)) como se muestra en la siguiente implantacion del algoritmo

del control.

void Control() {

//Punto de Operacion

PuntoOperacion();

//Ganacias de Realimentacion

AsignaGanacias();

if(band2==0){

w=8.0;

amp=pi/4.0;

qd=amp*sin(w*t);

dqd=amp*w*cos(w*t);

ddqd=-amp*w*w*sin(w*t);

if(t>1.01){

Page 109: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

B.2 Implementacion del control Swing-Up 98

qd=0.0;

dqd=0.0;

ddqd=0.0;

}

Kp=14.7;

Kd=4.0;

}

if(band2==1){

qd=pi;

dqd=0;

ddqd=0;

Kp=81.0;

Kd=13.0;

}

//Error Seguimiento

e=qd-x1;

de=dqd-x2;

if (habcon==1){

if((abs(q1-X1)<0.12 && abs(q2-X3)<0.20 && abs(x2-X2)<0.1) &&

abs(x4-X4)<0.1 || band3==1){

band3=1;

u=Uop-K[1]*(q1-X1)-K[2]*(qp1-X2)-K[3]*(q2-X3)-K[4]*(qp2-X4);

}

else{

v=ddqd+Kd*de+Kp*e;

u=-(t3*cos(x3)*t5*g*sin(x1+x3)+t3*t3*sin(x3)*cos(x3)*x2*x2+

+t3*sin(x3)*t2*x2*x2+2*t3*sin(x3)*t2*x2*x4+t3*sin(x3)*t2*x4*x4+

+t3*cos(x3)*t7*x4-t2*t4*g*sin(x1)-t2*t6*x2+t2*t7*x4-v*t2*t1+

+v*t3*t3*cos(x3)*cos(x3))/t2;

}

}

Page 110: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

B.2 Implementacion del control Swing-Up 99

else{

u=0.0;

}

t=t+DT;

}

El procedimiento void PuntoOperacion(), es el encargado de seleccionar los

correctos valores para Uop, X1, X2, X3, X4, los cuales definen el punto el operacion.

El procedimiento void AsignaGanacias(), es el encargado de seleccionar los

correctos valores para K[1], K[2], K[3], K[4], los cuales definen las ganancias de

realimentacion del vector de estado y estas varıan segun sea el punto de operacion.

Las variables:

• int habcon: Variable del tipo entero asociado a la habilitacion del control

(habcon = 1). esta es activada a traves del Cockpit (ver figura B.4).

• int band2: Variable del tipo entero asociada a la seleccion de los puntos de

operacion definidos como Abajo (band2=0) y Arriba (band2=1). Esta eleccion se

hace a traves del Cockpit (ver figura B.4).

• int band3: Variable del tipo entero asociada a marcar un evento. El

evento se produce cuando las articulaciones del Pendubot se encuentran en las

proximidades de la region de operacion, permitiendo realizar el cambio de control

(band3=1) Swing-Up al Control de Balanceo.

Para la implementacion en el Cockpit, se procedio a delinear una interfaz grafica

como se muestra en la figura B.4. Consta de un indicador tipo barra asociado a la

senal de control (u(t)). Cuenta con seis display tipo digitales para mostrar la posicion

actual de las articulaciones 1 (x1(t)) y 2 (x3(t)), tanto en [rad] como en [deg], para su

facil compresion y supervision. Los otros dos display muestran la velocidades de las

articulaciones (x2(t) y x4(t)) en [rad/seg].

Ademas cuenta con dos cuadros de seleccion, uno empleado para la eleccion del

la region de operacion y el otro para la habilitacion del control asociada a la variable

habcon.

Page 111: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

B.3 Resultados experimentales 100

Figura B.4: Captura de pantalla del Cockpit para la implementacion del Control Swing-

Up.

B.3 Resultados experimentales

Una vez implantado el algoritmo de control antes descrito se procedio a la captura de

datos del ejercicio. Como se pude apreciar en la figura B.5, se observa como el Pendubot

parte del reposo en el instante t = 0[seg] y se le suministra energıa de tal forma que llega

a su punto de operacion denominado Abajo aproximadamente en t = 3[seg]. Se puede

comentar que la transicion de control entre los dos tipos de controladores que abordan

este ejercio, se hace en alrededor del intervalo de tiempo t = 1.7[seg] y t = 1.8[seg].

En la figura B.6, se observa en el ensayo de trasladar al Pendubot de su estado

de reposo al punto de operacion denominado Arriba. esta experiencia se realizo

en proximamente 1.0 [seg] y la transicion del controlador no lineal al control por

realimentacion del vector de estado se realiza aproximadamente en t=0.8 [seg].

Page 112: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

B.3 Resultados experimentales 101

Figura B.5: Datos Experimentales tomados del Pendubot en el ejercicio del Swing Up,

con punto de equilibrio Abajo.

Figura B.6: Datos Experimentales tomados del Pendubot en el ejercicio del Swing Up,

con punto de equilibrio Arriba.

Page 113: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

Apendice C

Implementacion de los algoritmos

de control

Este apendice esta destinado a la exhibicion de los las funciones necesarias para

desarrollar e implementar las distintos algoritmos de control.

C.1 Control de balanceo

Para la implementacion del algoritmo de control se tuvo en cuenta cuatro banderas

que influyen en el control del programa, tres de ellas (habcon, band2, band3) estan

asociadas a la interfaz grafica de control y supervision, disenado a traves del Cockpit

(ver figura 4.4) y la ultima (band1), esta relacionada a un evento de seguridad.

El significado para cada bandera de expresa como:

• int habcon: Bandera la cual hablita la senal de control y esta asociada a la casilla

de seleccion denominada Habilitar control como se muestra en la figura 4.4. Toma

valores de 0 o 1 para desactivar o activar la senal de control respectivamente.

• int band1: Asociada a una medida de seguridad que se tomo a la hora de

implantar el sistema de control. esta se basa en deshabilitar el control cuando la

planta se aleje excesivamente de la region de operacion.

• int band2: Afiliada a la seleccion de la region de operacion a traves de la casilla

Page 114: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

C.1 Control de balanceo 103

de eleccion denominada Punto de Operacion (ver figura 4.4). Toma valores

de 0 o 1 para indicar los puntos de operacion referidos como Abajo y Arriba

respectivamente.

• int band3: Relacionada a la seleccion de la senal de referencia, las cuales pueden

ser del tipo escalon modulado en amplitud y del tipo sinusoidal modulada en

frecuencia.

El algoritmo de control comienza por verificar la region de operacion, para la

posterior seleccion de las adecuadas ganancias de realimentacion, el mismo esta descrito

en el siguiente codigo:

void Control() {

//Punto de Operacion

PuntoOperacion();

//Ganancias de Realimentacion

AsignaGanacias();

if (habcon==1 && abs(q1-X1)<0.30 && abs(q2-X3)<0.30 && band1==0){

if(band3==0)

Escalon();

if(band3==1)

Seno();

//Medida de Seguridad

if(band2==0 && abs(q1)>(pi/180)*(70))

band1=1;

if(band2==1 && (q1<(pi/180)*(110)||q1>(pi/180)*(230)))

band1=1;

}

else{

u=0.0;

}

}

void PuntoOperacion(){

Page 115: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

C.1 Control de balanceo 104

if(band2==0){

X1=0;

X2=0;

X3=pi-X1;

X4=0;

Uop=t4*g*sin(X1);

}

if(band2==1){

X1=pi;

X2=0;

X3=pi-X1;

X4=0;

Uop=t4*g*sin(X1);

}

}

void AsignaGanacias(){

if(band2==0){

K[1]=4.3771;

K[2]=0.3807;

K[3]=7.0356;

K[4]=0.8708;

}

if(band2==1){

K[1]=-12.4211;

K[2]=-2.34680;

K[3]=-11.6687;

K[4]=-1.47070;

}

}

void Escalon(){

u=Ke*(pi/180)*ref+Uop-K[1]*(q1-X1)-K[2]*(qp1-X2)-K[3]*(q2-X3)-...

Page 116: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

C.2 Control RST para el Pendulo Simple 105

...-K[4]*(qp2-X4);

}

void Seno(){

u=Ke*(pi/180)*ref*sin((2*pi/f)*t)+Uop-K[1]*(q1-X1)-K[2]*(qp1-X2)-...

...-K[3]*(q2-X3)-K[4]*(qp2-X4);

t=t+DT;

}

C.2 Control RST para el Pendulo Simple

Para la implementacion del controlador RST para el control del pendulo simple, se

disenaron los algoritmos void Control() y void Control_RST().

void Control() {

if(habcon == 0){

t=0.0;

u=0.0;

}

else if(habcon == 1){

Control_RST();

}

else {

u=0.0;

}

}

void Control_RST(){

float T=DT;

//Polinomio deseado en Z

if (Zita < 1.0){

a=exp(-T*Zita*Wn)*cos(T*Wn*sqrt(1.0-Zita*Zita));

Page 117: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

C.2 Control RST para el Pendulo Simple 106

b=exp(-T*Zita*Wn)*sin(T*Wn*sqrt(1.0-Zita*Zita));

c=exp(-T*Alpha*Zita*Wn);

W1=-c-2*a;

W2=2*c*a+a*a+b*b;

W3=-c*a*a-c*b*b;

}

if(Zita >= 1.0){

a=exp(-T*Zita*Wn)*exp(T*Wn*sqrt(Zita*Zita-1.0));

b=exp(-T*Zita*Wn)*exp(-T*Wn*sqrt(Zita*Zita-1.0));

c=exp(-T*Alpha*Zita*Wn);

W1=-c-b-a;

W2=c*b+c*a+a*b;

W3=-c*b*a;

}

//Calculo de las ganacias del controlador

A1 = (-b0*b0*W3+b1*b0*W2-b1*b1*W1-a2*b1*b0+a1*b1*b1)/

(-a2*b0*b0+a1*b1*b0-b1*b1);

A0 = 1.0;

B1 = -(-W3*a1*b0+W3*b1+a2*b0*W2-a2*b1*W1-a2*a2*b0+a2*a1*b1)/

(-a2*b0*b0+a1*b1*b0-b1*b1);

B0 = -(-W3*b0+b1*W2+W1*a2*b0-W1*a1*b1-a2*a1*b0+a1*a1*b1-a2*b1)/

(-a2*b0*b0+a1*b1*b0-b1*b1);

F1 = -c;

//Calculo de la Ganancia de Preamplificacion

if(Zita < 1.0)

K0 = (1.0-2*a+a*a+b*b)/(b0+b1);

else

K0 = (1.0-a-b+a*b)/(b0+b1);

//Senal de Control

u=(K0*(A0*Wk+F1*Wk1)/A0)-((B0*Y+B1*Y_1)/A0)-(A1/A0)*U_1;

}

Page 118: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

C.3 Algoritmo de identificacion de parametros por mınimos cuadrados recursivo con

factor de olvido variable 107

C.3 Algoritmo de identificacion de parametros por

mınimos cuadrados recursivo con factor de

olvido variable

La implementacion del algoritmo de identificacion de parametros consta de las

siguientes funciones:

void Identificacion(){

//Creacion del Vector de Regresion y Leyendo el Valor Actual

X[0]=-Y_1;

X[1]=-Y_2;

X[2]=U_1;

X[3]=U_2;

//Calculo el Vector de Ganancias de Correccion K

Multi_MV(P,X,V1); // V1=P*X

C1=Multi_VV(X,V1); // C1=(X’)*V1;

C2=lambda+C1; // C2=lambda+(X’)*P*X

Multi_VC(V1,(1.0/C2),K); // K=(P*X)/C2

//Calculo del Error de Estimacion E

C1=Multi_VV(X,theta); // C1=(X’)*THETA

E =Y-C1; // E=Y-(X’)*THETA

EP=fabs(((Y-C1)/Y)*100.0);

//Estimacion de los Nuevos Paramatros THETA

Multi_VC(K,E,V1); // V1=E*K

Suma_V(theta,V1,theta); // THETA(K) = THETA(K-1)+V1

//Calculo del nuevo Factor de Olvido LAMBDA

C1=Multi_VV(X,K); //C1=(X’)*K

lambda=1.0-(1.0-C1)*(E*E)/So; //lambda=1-(1-C1)*E*E/So

if (lambda < lambdamin){

lambda = lambdamin;

}

Page 119: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

C.3 Algoritmo de identificacion de parametros por mınimos cuadrados recursivo con

factor de olvido variable 108

if (lambda > 1.0){

lambda = 1.0;

}

//Calculo de la nueva matirz de Covarianza P

Multi_VV1(K,X,M1); // M1= K*(X’)

Resta_M(I,M1,M2); // M2= I-M1

Multi_MM(M2,P,W); // W= M2*P

Multi_MC(W,(1.0/lambda),M1);

tr=Traza(M1);

if (tr > Trmax){

lambda = 1.0;

}

Multi_MC(W,(1.0/lambda),P); // P= W/lambda

//Actualizando los Valores

U_2=U_1;

U_1=u-Uop;

Y_2=Y_1;

Y_1=Y-Yop;

a1=theta[0];

a2=theta[1];

b0=theta[2];

b1=theta[3];

}

• void Multi_MC(double M[][TAMMY], double C, double R[][TAMMY]):

Funcion responsabilizada de calcular la multiplicacion de una matriz (M) por una

constante (C), retorna como resultado a la matriz R.

• void Multi_MM(double M1[][TAMMY], double M2[][TAMMY], double R[][TAMMY]):

Funcion que determina la multiplicacion de la matriz M1 por la matriz M2, retorna

como resulta a la matriz R.

• void Multi_MV(double M[][TAMMY], double V[], double VR[]): Funcion

Page 120: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

C.3 Algoritmo de identificacion de parametros por mınimos cuadrados recursivo con

factor de olvido variable 109

que determina las multiplicacion de una matriz (M) por un vector (V), el vector

resultado es devuelto como parametro de la funcion (VR).[a b

c d

][x

y

]=

[ax+ by

cx+ dy

]

• void Multi_VC(double V[], double C, double R[]): Funcion encargada de

calcula la multiplicacion de un vector (V) por una constante (C), retorna como

resultado el vector R.

• void Multi_VM(double V[], double M[][TAMMY], double VR[]): Funcion

que calcula la multiplicacion de un vector(V) por una matriz (M), el vector

resultado es devuelto como parametro de la funcion (VR).

[x y

] [ a b

c d

]=[ax+ cy bx+ dy

]

• void Multi_VV1(double V1[], double V2[], double R[][TAMMY]): Funcion

que determina la multiplicacion de un vector columna (V1) con un vector fila

(V2), el resultado es la matriz R.[x

y

] [a b

]=

[ax bx

ay by

]

• void Suma_M(double M1[][TAMMY], double M2[][TAMMY], double R[][TAMMY]):

Funcion encargada de la suma de las matrices M1 y M2, el resultado (R) devuelto

por referencia a traves de la funcion.

• void Resta_M(double M1[][TAMMY], double M2[][TAMMY], double R[][TAMMY]):

Funcion responsabilizada de la resta de las matrices M1 y M2, como resultado se

obtiene la matriz R.

• La constante TAMMY es definida como la cantidad de parametros a estimar de la

planta (n+m).

Page 121: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

C.4 Control adaptativo para el Pendulo Simple 110

C.4 Control adaptativo para el Pendulo Simple

Para la implementacion del sistema de control adaptativo para el pendulo simple se

procedio a crear los siguientes codigos en C:

void Control() {

if(habcon == 0){

t=0.0;

u=0.0;

}

else if(habcon == 1){

PRBS();

if(t <= 10.0){

Identificacion();

t=t+DT;

}

else if( t <= 14.0){

t=t+DT;

u=0.0;

}

else{

if(Indice > 0.7 && band2 == 0){

Multi_MC(I,alpha,P);

InicializaJ();

Indice=0.0;

band2=1;

t=20.0;

tW=0.0;

}

if(band2 == 1){

if(t < 24.0){

Wkref=0.0;

Page 122: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

C.4 Control adaptativo para el Pendulo Simple 111

Control_Adaptativo();

}

else if (t < 34.0) { Identificacion(); }

else if (t < 40.0) { u=0.0; }

else {

u=0.0;

band2=0;

}

t=t+DT;

}

else if(band2 ==0){

if (tW <= 15)

{ Wkref=(30)*(sin((2*pi/30.0)*tW)*sin((10*2*pi/30.0)*tW)); }

else if(tW > 15 && tW < 20) { Wkref=0.0; }

else { tW=0.0; }

tW=tW+DT;

Indice_D(); //Indice de Desempe~no

Control_Adaptativo(); //Controlador Auto-Ajustable RST

}

else { u=0.0; }

}

}

else{ u=0.0; }

}

void Control_Adaptativo(){

//Polinomio deseado en Z

float T=DT;

if (Zita < 1.0){

a=exp(-T*Zita*Wn)*cos(T*Wn*sqrt(1.0-Zita*Zita));

b=exp(-T*Zita*Wn)*sin(T*Wn*sqrt(1.0-Zita*Zita));

c=exp(-T*Alpha*Zita*Wn);

Page 123: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

C.4 Control adaptativo para el Pendulo Simple 112

W1=-c-2*a;

W2=2*c*a+a*a+b*b;

W3=-c*a*a-c*b*b;

K0 = (1.0-2*a+a*a+b*b)/(b0+b1);

}

if(Zita >= 1.0){

a=exp(-T*Zita*Wn)*exp(T*Wn*sqrt(Zita*Zita-1.0));

b=exp(-T*Zita*Wn)*exp(-T*Wn*sqrt(Zita*Zita-1.0));

c=exp(-T*Alpha*Zita*Wn);

W1=-c-b-a;

W2=c*b+c*a+a*b;

W3=-c*b*a;

K0 = (1.0-a-b+a*b)/(b0+b1);

}

//Calculo de las ganacias del controlador

if((-a2*b0*b0+a1*b1*b0-b1*b1) != 0.0){

A1=(-b0*b0*W3+b1*b0*W2-b1*b1*W1-a2*b1*b0+a1*b1*b1)/

(-a2*b0*b0+a1*b1*b0-b1*b1);

A0=1.0;

B1=-(-W3*a1*b0+W3*b1+a2*b0*W2-a2*b1*W1-a2*a2*b0+a2*a1*b1)/

(-a2*b0*b0+a1*b1*b0-b1*b1);

B0=-(-W3*b0+b1*W2+W1*a2*b0-W1*a1*b1-a2*a1*b0+a1*a1*b1-a2*b1)/

(-a2*b0*b0+a1*b1*b0-b1*b1);

F1=-c;

}

//Senal de Control

u=(K0*(A0*Wk+F1*Wk1)/A0)-((B0*Y+B1*Y_1)/A0)-(A1/A0)*U_1;

//Bloque de Saturacion

if( u > 2.0) { u=2.0; }

if( u < -2.0) { u=-2.0; }

}

Page 124: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

C.4 Control adaptativo para el Pendulo Simple 113

void Indice_D(){

int i=0;

float Suma=0.0;

for(i=99; i>0; i--) { J[i]=J[i-1]; }

J[0]=(Y-Wk)*(Y-Wk);

for(i=0; i<100; i++) { Suma=J[i]+Suma; }

//Norma Euclidiana

Indice=sqrt(Suma);

}

Page 125: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

Bibliografıa

Block, D. (1991), Mechanical desing and control of the pendubot, Master’s thesis,

University of Illinois.

Cervera, J. (1999), Analisis del entorno simulink/rwt para el diseno de sistemas de

control con la tarjeta dspace 1102, Proyecto de grado, Universidad de Murcia.

dSPACE GmbH (2001), DS1102 DSP Controller Board Intelligent Single-Board

Solution, dSPACE GmbH, Germany.

Gonzalez, G. (2002), Desarrollo de experiencias de modelado y control a tiempo real de

un pendulo, Proyecto de grado eisula, Universidad de los Andes, Merida - Venezuela.

Mechatronic, S. (1998), Pendubot Model P-2 User’s Manual, Mechatronic System, Inc.

Ogata, K. (1993), Ingenierıa de Control Moderna, segunda edn, Prentice-Hall

Hispanoamericana, S.A.

Ogata, K. (1996), Sistemas de Control en Tiempo Discreto, segunda edn, Prentice-Hall

Hispanoamericana, S.A.

Astrom, K. & Wittenmark, B. (1989), Adaptive Control, Addison Wesley.

Astrom, K. & Wittenmark, B. (1997), Computer-Controlled Systems Theory and

Design, Prentice-Hall.

Rodrıguez, F. & Lopez, M. (1996), Control Adaptativo y Robusto, Universidad de

Sevilla.

Page 126: DESARROLLO E IMPLANTACION DE TECNICAS DE CONTROL ...

BIBLIOGRAFIA 115

Sira-Ramırez, H., Marquez, R. & Rivas-Echeverrıa, F. (1997), Control de Sistemas No

Lineales, Universidad de Los Andes, Merida 5101, Venezuela.

Spong, M. (1996), ‘Energy based control of a class of underactuated mechanical

system’, Coordinated Science Laboratory, University of Illinois, 1308 West Main

Stree, Urbana, Illinois 61801 USA .