Documentos de Académico
Documentos de Profesional
Documentos de Cultura
a
Bogot
a
2010
Desarrollo de un Sistema para la Implementacion de
Controladores Lineales Multivariables
Juan Pablo Arg uello Fajardo
Director:
Leonardo Enrique Bermeo Clavijo
Tesis presentada para obtener el ttulo de
Msc en Ingeniera Automatizacion Industrial
Universidad Nacional de Colombia
Facultad de Ingenier
a
Bogot
a
2010
Resumen
Se desarroll o un sistema hardware y software que permite la implementacion digital de controladores
para sistemas multivariables. La parte software tiene tres tareas principales:
El dise no de controladores
El acondicionamiento numerico de realizaciones.
La comunicacion con el hardware.
Para el dise no de controladores se emplea la estructura WKFque consiste en un controlador de dos
grados de libertad (K) con red de desacople (W) y pre-compensador (F). La red de desacople se puede
para sistemas con ceros de transmision y se encuentra restringida unicamente a sistemas estables. Para
el dise no de controladores se desarrollaron funciones LQG y H
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.6. Reducci on de Controladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.6.1. Truncamiento Balanceado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.6.2. Aproximacion de la norma de Hankel . . . . . . . . . . . . . . . . . . . . . . . . 11
2.7. Sistemas de control digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.7.1. Dise no de controladores digitales . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.7.2. Parametros en la implementacion . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3. Sistema de desarrollo 17
3.1. Descripcion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2. Herramientas de Dise no . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.1. desacople . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.2. multivlqg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.3. dhinfts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3. Herramientas para acondicionamiento numerico de realizaciones . . . . . . . . . . . . . . 24
3.3.1. addaw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3.2. getdelta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3.3. nob (N umero de bits fraccionales) . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.4. Funciones Auxiliares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4. Herramienta Python para descarga de realizaciones . . . . . . . . . . . . . . . . . . . . . 32
3.4.1. Protocolo para descarga de realizaciones . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.2. Funciones Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
vii
4. Hardware y Firmware 35
4.1. Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.1.1. Procesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.1.2. M odulos del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2. Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2.1. Asignacion de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2.2. Programa principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2.3. Comunicacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.3. Modelo del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.3.1. Etapas de entrada y salida (Acondicionamiento de se nal) . . . . . . . . . . . . . 41
4.3.2. Calculo de realizaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.3.3. Ejecuci on de operaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3.4. Tiempo de procesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5. Interfaz de usuario 47
5.1. Descripcion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.1.1. Estructura y planta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.2. Sntesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.2.1. Sntesis de K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.2.2. Sntesis de W . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2.3. Sntesis de F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2.4. Sntesis del controlador central . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3. Implementacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.4. Metodologa de dise no . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6. Resultados 57
6.1. Efecto del operador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.2. Efecto del formato numerico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.3. Casos de estudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.3.1. Emulaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.3.2. Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.3.3. Control LQG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.3.4. Control H
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Conclusiones 65
6.4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.5. Aportes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.6. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Apendice 1 69
A.1. Instalacion del driver usb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
A.1.1. PARA WINDOWS XP - Vista . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
A.1.2. PARA LINUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
A.1.3. Instalacion Mac Os X leopard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
A.2. Descarga del rmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
A.3. Formato para almacenamiento de realizaciones . . . . . . . . . . . . . . . . . . . . . . . 70
Apendice 2 71
B.2. Manual de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
B.2.1. Modo de uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
B.2.2. Denicion de la estructura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
B.2.3. Denicion de la planta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
B.2.4. Dise no . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
B.2.5. Implementacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
B.2.6. Recursos en lnea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Lista de guras
2.1. Conguraci on con 1Dof. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2. Estructura para control descentralizado de un sistema 2 2 . . . . . . . . . . . . . . . . 7
2.3. Estructura de control desacoplado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4. Realimentacion del vector de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5. Control con observador (a) Realimentacion de salida (b) Con integrador en el lazo . . . 9
2.6. (a) Conguracion General de control, (b)Problema de sensitividad mixta S/T . . . . . . 10
2.7. Metodologas de dise no . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.8. Sistema de control digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.9. (a) Estructura con el operador memoria (b) Estructura usando como equivalente el
operador q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1. Fases en la implementacion de un sistema . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2. Respuesta al paso de plantas precompensadas con redes de desacople (a) para el caso de
una planta estable y de fase mnima (b) para una planta con ceros RHP . . . . . . . . 19
3.3. Sistema de control con saturacion en el actuador (a) 1DoF (b) 2Dof . . . . . . . . . . . 21
3.4. Comportamiento del sistema con varios controladores LQG basados en pesos escalares . 21
3.5. Comportamiento del sistema con control LQG con pesos matriciales, . . . . . . . . . . . 22
3.6. Respuesta en lazo cerrado con un controlador LQG de dimensi on 2 1 . . . . . . . . . . 22
3.7. Respuesta en lazo cerrado con controlador H
y control SISO. . . . 49
5.4. Panel para sntesis del elemento de desacople W . . . . . . . . . . . . . . . . . . . . . . 50
5.5. Panel para sntesis del precompensador F . . . . . . . . . . . . . . . . . . . . . . . . . . 51
ix
5.6. Ejemplo de aplicacion de un ltro notch . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.7. Representacion en espacio de estados del controlador central . . . . . . . . . . . . . . . 53
5.8. Panel de implementacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.1. Sistema emulado con operador y operador q en punto jo con diferentes formatos
numericos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.2. Caractersticas de la planta multivariable (a) Respuesta al paso (b) graco de valores
singulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.3. Respuesta en lazo cerrado usando controladores LQG y H
. . . . . . . . . . . . . . . . 59
6.4. Respuesta en lazo cerrado sistema con controlador H
. . . . . . . . . 63
Lista de tablas
1.1. Relacion n umero de estados dimensi on para algunos sistemas multivariables . . . . . . . 3
2.1. Metodos de discretizacion de controladores . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1. Comandos en Matlab para dise no LQG con pesos escalares . . . . . . . . . . . . . . . . 21
3.2. Comandos en Matlab para dise no LQG con pesos matriciales . . . . . . . . . . . . . . . 22
3.3. Comandos en Matlab para dise no H
ITULO 1. INTRODUCCI
ON
el primero de estos propuesto por Zames y Francis, posteriormente en 1987 Doyle propone una solucion
en espacio de estados al problema H
.
Una vez se dise na un controlador o ltro digital se debe llevar a una realizaci on para su imple-
mentacion sobre un dispositivo de procesamiento, la realizaci on est a compuesta por un conjunto de
coecientes que conforman una ecuaci on recursiva. Un sistema posee innitas realizaciones cuando es
implementado con presici on innita, pero cuando la implementacion se realiza sobre un dispositivo de
procesamiento los coecientes que componen la realizaci on deben ser ajustados al formato numerico
del dispositivo, las se nales de entrada son cuantizadas por los conversores analogico-digital (ADC) y
digital- analogico (DAC) , las operaciones internas involucran el redondeo tpico de la matematica de
presici on nita en general la realizaci on se comportar a de forma diferente. Es de esperarse que existan
conjuntos de realizaciones que por su condicionamiento numerico presentan un mejor comportamiento.
En la literatura hay una buena cantidad de documentos relacionados con la busqueda de realizaciones
optimas, siendo tres los principales objetivos de la optimizacion, por una parte se proponen tecnicas que
basandose en la caracterizacion del dispositivo de procesamiento buscan una matriz de transformaci on
que permite minimizar el error de los coecientes que componen la realizaci on [17], otros buscan mini-
mizar el n umero de bits necesarios para representar los coecientes mantenido un ndice de desempe no
[18] , por ultimo se encuentran los interesados en conocer el factor de escala necesario para evitar el
desborde cuando las implementaciones son en punto jo [19] basandose en el valor maximo que podran
presentar las variables de estado.
Los primeros trabajos relacionados con el analisis de sistemas de control implementados con precisi on
nita se remontan a [20], donde se analiza el efecto de la cuantizacion en sistemas de control digital , en
[21] se analizan sistemas con longitud de palabra nita, este analisis se realiza basado en la conguracion
general de control, donde los ruidos de cuantizacion son se nales ex ogenas al sistema, adicionalmente
se imponen condiciones para el escalamiento del sistema que previenen el desborde. En [22, 19] se
propone el problema de escalizacion de controladores en punto jo como un problema de optimizacion
con el n de evitar el desborde, uno de los aspectos importantes de este documento es que destaca la
importancia de factores de escala no diagonales para sistemas multivariables. Algunos trabajos mas
recientes como [23], [17] orientan la optimizacion a minimizar el rango dinamico de la realizaci on y
proponen realizaciones no mnimas como la forma y [24] o la forma implcita las cuales buscan
reducir la sensitividad de la implementacion.
1.1. Planteamiento del problema
El desarrollo de un sistema de control implica el dise no y sntesis de controladores, en un curso de
control para pregrado o posgrado se enfatiza en los aspectos teoricos del dise no, en el cumplimiento de
especicaciones de desempe no o de robustez pero generalmente se omite la implementacion ya que en
estos cursos la simulaci on suele ser la principal herramienta de validaci on. En los casos en que se aborda
el problema de implementacion el estudiante debe destinar la mayor parte del tiempo a la creacion de
controladores con amplicadores operacionales o con microcontroladores desperdiciando tiempo que
podra ser empleado en la validaci on de otras estrategias de control. Es muy usual que en un curso
de se nales se hable de ltros digitales, pero nunca se habla de como implementarlos porque se asume
que eso se debe aprender en el curso de sistemas digitales. Tambien se observa que muchos estudiantes
que est an a punto de terminar sus estudios de pregrado tienen bien fundamentados los conceptos de
control y ademas tienen un muy buen background de sistemas digitales, pero cuando se les habla de
control digital no tienen muy claro e incluso lo llegan a confundir con el control de eventos discretos,
esto debido a que no se cont o con los recursos para implementar sistemas digitales de forma rapida y
facil.
Por otra parte se encuentra que a nivel industrial los procesos son controlados de forma sub optima
debido a que las estrategias de control suelen ser muy limitadas, se podra hablar de dos el control on-o
y el control PID. La implementacion de cualquier otra estrategia implica el montaje de un controlador
industrial el cual resulta ser un computador adecuado para operar en ambientes industriales y que se
caracteriza por ser muy costoso, una revision bibiograca mostro que muchos procesos industriales son
multivariables y que ademas poseen un modelo lineal como se muestra en la tabla 1.1.
Por ejemplo para controlar una columna de destilaci on como la propuesta en [25] se puede sintetizar
1.2. SOLUCI
ON PROPUESTA 3
Nombre N umero Estados Tama no Fuente
Columna de destilaci on 4 2 2 [25]
Condensador de un reactor qumico 4 2 2 [26]
Caldera 3 3 3 [28]
Reactor de polimerizacion 2 2 2 [29]
Disco duro 4 2 2 [30]
Jet-dinamica longitudinal 6 2 2 [31]
Tabla 1.1: Relacion n umero de estados dimensi on para algunos sistemas multivariables
un controlador LQG que con integradores resulta ser de orden 6, entonces viene la pregunta Es
necesario un computador industrial para una realizaci on de orden 6?. No podra un peque no sistema
de control embebido en un microcontrolador realizar esta tarea?
1.2. Solucion propuesta
Se propone la construcci on de una plataforma programable para ejecuci on de realizaciones lineales
con multiples entradas y salidas, la plataforma podra ser controlada desde una herramienta como Matlab
en la cual se podra asistir el proceso de dise no de algoritmos de control. Debido a que Matlab es un
software comercial se desarrollar a una interfaz en software libre que permita que la implementacion se
pueda realizar sin Matlab.
La herramienta se orientar a principalmente al control de procesos multivariables aunque se podra ser
empleada como ltro digital multicanal o para emulaci on de sistemas. Tambien servira como herra-
mienta didactica en la validaci on de estrategias de control.
Adicionalmente la herramienta podra ser empleada en el estudio de tecnicas de acondicionamiento
numerico para implementaciones con precisi on nita, siendo posible analizar los efectos del formato
numerico, operador, estructura y estrategias de control antiwindup.
4 CAP
ITULO 1. INTRODUCCI
ON
Captulo 2
Sistemas multivariables y control
2.1. Notacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Control Multivariable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3. Control casico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.1. Control descentralizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.2. Control desacoplado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4. Dise no en espacio de estados . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4.1. Realimentacion de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4.2. Realimentacion de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5. Control Robusto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5.1. Control H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.6. Reduccion de Controladores . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.6.1. Truncamiento Balanceado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.6.2. Aproximacion de la norma de Hankel . . . . . . . . . . . . . . . . . . . . . . 11
2.7. Sistemas de control digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.7.1. Dise no de controladores digitales . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.7.2. Parametros en la implementacion . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1. Notacion
Se considera un sistema, proceso o planta multivarible lineal a un conjunto de entradas y salidas
que interactuan y se puede expresar de la forma y = Gu, siendo u las se nales de entrada al sistema,
y las se nales de salida y G su matriz de transferencia. Para referirse al tama no del sistema se usa la
notaci on (p q) donde q es el n umero de entradas y p el n umero de salidas. de modo que y R
1p
,
u R
q1
y G R
pq
.
Un sistema lineal con funci on de transferencia G() donde = s, z seg un sea el caso, tiene una
representacion en espacio de estados de la forma(2.1) para sistemas continuos o (2.2) para sistemas
discretos.
x(t) = Ax(t) +Bu(t)
y(t) = Cx(t) +Du(t)
(2.1)
x[n + 1] = Ax[n] +Bu[n]
y[n] = Cx[n] +Du[n]
(2.2)
Siendo n el n umero de estados, A R
nn
, B R
np
, C R
qn
y D R
pq
esta notaci on
representa a un sistema con funci on de transferencia G(s) de p entradas, q salidas y orden n.
5
6 CAP
ASICO 7
u
1
y
1
y
2
G
K
1
K
2
r
1
r
2
u
2
Figura 2.2: Estructura para control descentralizado de un sistema 2 2
Seleccion de lazos de control
Para la selecci on de lazos se emplea el RGA (Relative Gain Array) propuesto en [6], el RGA es una
herramienta de analisis que brinda informacion acerca de las interacciones en sistemas MIMO y ademas
permite predecir el comportamiento de las respuestas controladas. La matriz de ganancias relativas tiene
la forma mostrada en (2.4), donde los elementos
ij
denidos en (2.5) son la relacion entre la ganancia
est atica manteniendo constante todas la entradas u = i y la ganancia est atica manteniendo constante
todas las salidas y = j
=
_
11
1j
.
.
.
.
.
.
.
.
.
i1
ij
_
_ (2.4)
ij
=
_
y
i
u
j
um=cte
_ _
y
i
u
j
yn=cte
_
1
m = i, n = j (2.5)
Otra alternativa es evaluar la matriz de ganancias relativas en forma matricial haciendo un producto
elemento a elemento de.
RGA(G(j)) = G(j). (G(j)
1
)
T
La selecci on de pares se realiza dependiendo del punto de operaci on, para lo cual se preere evaluar
el RGA cerca a la frecuencia de cruce
0
y seleccionar parejas cuyos valores se encuentren cercanos a
uno, se evita elegir parejas cuyo valor
ij
sea alto o negativo. Los valores negativos indican la presencia
de comportamientos inestables en lazo cerrado, debido ceros en el semiplano derecho, los valores muy
grandes indican que el control no se realizara de forma efectiva.
Dise no de controladores
En un control descentralizado se asume que la interacci on entre lazos es mnima por lo tanto se
trabaja con modelo aproximado de la planta
G el cual est a compuesto por la diagonal de G. Con lo
cual es posible dise nar controladores SISO usando metodos tradicionales.
Cuando la planta no es diagonal
G = G y el comportamiento en lazo cerrado sera diferente debido
a que la interacci on de lazos hace que el cambio de referencia en un canal afecte a los demas. Una
forma de evaluar la estabilidad del sistema es usando el teorema de Gershgorin [33], el cual dene la
condicion (2.6) como condicion suciente para determinar la estabilidad del sistema en lazo cerrado.
Esta condicion se basa en el acotamiento del error entre el sistema real y el aproximado asumiendo
E = (G
G)
G
1
, es posible expresar la funci on de lazo abierto (1 +GK) en terminos del error E y la
funci on de lazo cerrado aproximada
T siendo (I +GK) = (I +E
T)(I +
GK), es posible armar que el
sistema en lazo cerrado es estable si (I +E
T) no tiene ceros en el semiplano derecho.
T(j)
g
ii
(j)
j=i
g
ij
(j)
=
1
i
()
(2.6)
8 CAP
K
1
K
2
r1
r2
Figura 2.3: Estructura de control desacoplado
Desacople dinamico: Se diagonaliza la planta haciendo G
d
(s) = G(s)W(s) = I donde W(s) =
G(s)
1
, la planta debe ser invertible y su inversa es realizable. Cuando la planta no es cuadrada
se puede cambiar D
1
por D
, su matriz de
transferencia es A
lc
= A BK
e
y es posible asignar valores propios o polos del sistema solucionando.
det(sI A
Lc
) = det(sI (A +BK
e
))
2.5. CONTROL ROBUSTO 9
_
B C
A
x x u y
K
e
r
G
Figura 2.4: Realimentacion del vector de estado
En caso de no poseer una idea muy clara de donde situar los polos del sistema se puede usar una
funci on de peso como (2.7) donde se buscan posiciones adecuadas para los polos dependiendo de los
pesos Q y R que penalizan los estados y la se nal de cotrol.
J
r
=
_
0
_
x(t)
T
Qx(t) +u(t)
T
Ru(t)
_
dt (2.7)
La solucion a este problema es de la forma K = B
T
Px donde P es una matriz semidenida positiva
P > 0 y es solucion de la ecuaci on de Riccati.
A
T
P +PAPBB
T
P +C
T
C = 0
2.4.2. Realimentacion de salida
Cuando no es posible medir alg un estado del sistema directamente para aplicar una estrategia de
realimentacion de estados, es necesario reconstruir los estados faltantes [35], para lo cual se emplea un
ltro de Kalman tambien conocido como observador resultando una estructura como la mostrada en la
gura (2.5.a).
_
B C
A
x x
u
y
Kf
G
y r
Kr
(a)
_
B C
A
x x
u
-
Kf
G
y
r
Kr
_
-
(b)
Figura 2.5: Control con observador (a) Realimentacion de salida (b) Con integrador en el lazo
Los estados estimados est an descritos por
x = A x + Bu + K
f
(y y) y la salida estimada esta
dada por y = C x. Aunque usando esta conguracion es posible situar los polos del sistema siempre
se presenta error de estado estacionario lo cual se corrige con el uso de un precompensador o con la
adici on de integradores.
2.5. Control Robusto
2.5.1. Control H
Sea P una planta generalizada descrita en espacio de estados de la forma (2.8) y con una estructura
como la mostrada en la gura (2.6)
x = Ax +B
1
w +B
2
u
z = C
1
x +D
12
u
y = C
2
x +D
21
w
(2.8)
10 CAP
minimizando la funci on
_
_
_
_
_
_
_
_
W
1
S
W
2
T
W
3
KS
_
_
_
_
_
_
_
_
Con lo cual se puede establecer caractersticas como ancho de banda, sobrepico de la funci on de lazo
cerrado o sobrepico de la funci on de sensibilidad.
2.6. REDUCCI
ON DE CONTROLADORES 11
2.6. Reduccion de Controladores
Los metodos de dise no como H
1
2
U
T
R
la realizaci on balanceada sera [TAT
1
, TB, CT
1
, D]
Una vez obtenida la realizaci on mnima se descomponen la matriz = [
1
,
2
] con lo cual las
matrices (A, B, C) se pueden expresar de la forma A =
_
A11 A12
A21 A22
_
, B =
_
B1
B2
_
y C =
_
C1 C2
_
el sistema
de orden reducido sera.
G
r
(s) = C
1
(sI A
11
)
1
B
1
+D =
_
A
11
B
1
C
1
D
_
G
r
(s) es llamado el truncamiento balanceado del sistema G(s) y cumple
G(s) G
r
(s)
2tr(
2
)
2.6.2. Aproximacion de la norma de Hankel
La norma Hankel denota la mayor ganancia L
2
en una transicion. El sistema G(s) con representacion
[A, B, C, D] y con gramianos P = Q = diag [
1
, I] donde es el menor valor singular y
1
es diagonal
mayor que . Se puede construir un sistema G
r
(s) = [
A,
B,
C,
D] a partir de
A =
1
(
2
A
T
11
+
1
A
11
1
C
T
1
UB
T
1
)
B =
1
(
1
B
1
+C
T
1
U)
C = C
1
1
+UB
T
1
D = D U
12 CAP
2
I. Se cumple que
G(s) G
r
(s)
=
2.7. Sistemas de control digital
El desarrollo de la microelectronica ha dado como resultado dispositivos de procesamiento cada vez
mas veloces, con mayor memoria y menor precio haciendo que los controladores preferiblemente sean
implementados de forma digital, embebidos en un procesador que almacena y ejecuta el algoritmo de
control. El control analogico se reserva para casos especiales con anchos de banda grande, o donde se
requieren sistemas altamente conables y de bajo consumo energetico. Actualmente el control de plantas
multivariables se lleva a cabo por medio de controladores digitales implementados en un computador
industrial.
El lazo de control mostrado en la gura (2.8) consta de una fase de adquisici on que involucra
una conversi on analoga a digital (A/D), una etapa de procesamiento donde se ejecuta el algoritmo de
control y una etapa de salida de se nal donde realiza una conversi on digital analoga (D/A). Un sistema
digital es comandado por un reloj que opera a una velocidad (T) conocida como periodo de muestreo,
esta determina el tiempo entre muestras para el conversor A/D, el tiempo que existe entre el calculo
de dos estados para el algoritmo K(z) y la velocidad a la cual se actualiza el conversor (D/A).
r
-
+
K(z) G A/D D/A
reloj (T)
u y
Figura 2.8: Sistema de control digital
2.7.1. Dise no de controladores digitales
Aunque la tendencia es el dise no en tiempo continuo y la posterior discretizacion del controlador
en [39] se proponen metodos para el dise no en tiempo discreto y en [40] se proponen metodos para
el dise no de controladores H
0
2
n
x
n
_
= A(a, b)
x
n
representa el bit n umero n, el rango de la representacion es
2
N1b
x 2
N1b
1
2
b
Signo P. Entera P. Fraccional
14 CAP
x
.
G =
_
1
b
11
b
m1
2
0 b
12
b
m2
.
.
.
.
.
.
.
.
.
0
x
x
b
1x1
b
mx1
x
x
b
1x
b
mx
c
11
c
21
c
x11
c
x1
d
11
d
m1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
c
1n
c
2n
c
x1n
c
xn
d
1n
d
mn
_
_
(2.11)
Formas de Luenberger La forma mas conocida es la forma controlable [43] la cual es una
extensi on de la forma controlable para sistemas SISO, sea (A, B, C, D) una realizaci on con (A, B)
controlable y la matriz de controlabilidad C(A, B) =
_
B AB A
n1
B
(2.12)
2.7. SISTEMAS DE CONTROL DIGITAL 15
En [44] se proponen algoritmos de b usqueda por la y columna para encontrar los vectores lineal-
mente independientes. Al aplicar la transformaci on (2.10) la realizaci on tendra la forma (2.13).
G =
_
_
0 0
11
0
x1
1 0
1 0
12
0
x2
0 0
0 1
13
0
x3
0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0
1x
1
xx
0 1
c
11
c
21
c
31
c
x11
c
x1
d
11
d
m1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
c
1n
c
2n
c
3n
c
x1n
c
xn
d
1n
d
mn
_
_
(2.13)
En [43] se propone una forma analoga a la forma observable la cual se obtiene a partir de la matriz
de transformaci on (2.12), sea T = [t
1
, , t
n
]
T
donde t
i
son las las de la matriz se calcula la matriz
de transformaci on (2.14) obteniendose la forma canonica (2.15).
S =
_
t
1
t
1
A t
1
A
2
t
1
A
n
t
2
t
2
A t
n
A
n
T
(2.14)
G =
_
_
0 1 0 0 0 0 0
0 0 1 0 0 0 0
11
12
13
1x1
1x
1 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0 1 0 0
x1
x2
x3
xx1
xx
0 1
c
11
c
21
c
31
c
x11
c
x1
d
11
d
m1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
c
1n
c
2n
c
3n
c
x1n
c
xn
d
1n
d
mn
_
_
(2.15)
Realizaciones Balanceadas Las formas balanceadas presentan un especial interes a la hora de
la implementacion debido a la baja sensibilidad cuando son implementadas en dispositivos de presici on
nita por otra parte las formas canonicas controlables y observables para sistemas multivariables descri-
tas en [43], poseen una considerable cantidad de ceros que a la nal reduce el n umero de operaciones,
sin embargo estas formas canonicas presentan una alta sensitividad a la variacion de par ametros la
forma modal es menos sensitiva aunque presenta desventaja cuando el sistema presenta polos imagina-
rios y la matriz de transicion de estado no es completamente diagonal. A continuacion se describe un
procedimiento para el c alculo de formas balanceadas.
Sea un sistema K = [A, B, C, D], W
c
su gramiano de controlabilidad y W
o
su gramiano de obser-
vabilidad ademas A es estable con sus valores propios con parte real negativa existe una solucion a las
ecuaciones (2.16)y(2.17) si y solo si K es controlable y observable.
AW
c
+W
c
A
= BB
(2.16)
A
W
o
+W
o
A = C
C (2.17)
Y existe una transformaci on T tal que W
c
= W
o
= , el Gramiano de observabilidad y controlabi-
lidad son iguales y est a dada por.
W
c
= =
1/2
U
(R
)
1
W
c
R
1
U
1/2
(2.18)
W
o
= =
1/2
U
RW
o
R
U
1/2
(2.19)
Una caracterstica de las formas balanceadas es que los coecientes de una realizaci on balanceada
generalmente son diferentes de cero lo cual implica un aumento en el n umero de operaciones.
16 CAP
(b)
C
Figura 2.9: (a) Estructura con el operador memoria (b) Estructura usando como equivalente el
operador q
Operador delta Una representacion en espacio de estados basada en el operador tiene la forma
2.20
[x[n + 1]] = A
x[n] +B
u[n]
y[n] = C
x[n] +D
u[n]
(2.20)
El operador guarda relacion con el operador q siendo =
q1
+ I, B = B
, C = C
y D = D
x[n] +B
u
2: x[n + 1] = x[n] + x
i
3: y[k] Cx[n] + Du[n]
Conclusiones
Al adicionar integradores en el lazo de control se garantiza la reduccion del acople entre canales
pero se compromete la estabilidad de la realizaci on lo cual puede traer problemas por los posibles
desbordes numericos; se debe garantizar que las implementaciones digitales sean estables o por lo
menos implementar tecnicas de saturacion numerica o de deteccion de saturacion en actuadores
para prevenir el crecimiento de las variables de estado.
Las formas canonicas se caracterizan por tener un considerable n umero de coecientes cero dis-
minuyendo el n umero de operaciones necesarias para evaluar la realizaci on, esto trae como con-
secuencia que la realizaci on se hace mas sensitiva a la variacion de coecientes.
La forma es una realizaci on no mnima que puede resultar de ayuda en implementaciones donde
no hay restriccion en el tiempo de procesamiento y se cuenta con frecuencias de muestreo elevadas,
en esta realizaci on el valor de los coecientes y de los estados tiende a ser grande de forma que
los decimales se pueden hacer despreciables.
Captulo 3
Software
3.1. Descripcion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2. Herramientas de Dise no . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.1. desacople . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.2. multivlqg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.3. dhinfts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3. Herramientas para acondicionamiento numerico de realizaciones . . . . . 24
3.3.1. addaw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3.2. getdelta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3.3. nob (N umero de bits fraccionales) . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.4. Funciones Auxiliares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4. Herramienta Python para descarga de realizaciones . . . . . . . . . . . . . 32
3.4.1. Protocolo para descarga de realizaciones . . . . . . . . . . . . . . . . . . . . . 32
3.4.2. Funciones Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.1. Descripcion
El sistema propuesto se compone de un conjunto de herramientas hardware y software que en
conjunto facilitan el dise no y sntesis de controladores. En la gura (3.1) se presenta la metodologa
propuesta para el dise no y implementacion de un sistema de control, se parte de un modelo del sistema
a controlar y se inicia con una fase de dise no cuyo objetivo es obtener una realizaci on interpretable por
el hardware, sigue una etapa de implementacion en la cual se programa el dispositivo permitiendo que
el hardware interactue con la planta, en la etapa de supervision se hace una validaci on realizando una
adquisici on de datos y vericando las especicaciones de dise no
Modelo
Diseo
Controlador
Especicaciones
y realizacin
Acondicionamiento
Almacenamiento
Estructura
Formato
Numrico Numrico
Windup
Asignacin
Hardware
Supervisin
Especicaciones
Diseo Sntesis
Discretizacin
de coecientes
Ejecucin y
Depuracin
Figura 3.1: Fases en la implementacion de un sistema
17
18 CAP
especicando el tiempo
de establecimiento de cada canal.
3.2.1. desacople
Esta funci on evalua de forma algebraica una red de desacople que al actuar como precompensador
diagonaliza la planta.
Sintaxis W=desacople(G) Donde G es la planta y W es la red de desacople.
Algoritmo
1. Si la planta es estable y no tiene ceros de transmision se expresa de la forma G = D
1
N, donde D
es diagonal y es com un denominador por la, la red de desacople se obtiene haciendo W = N
1
.
2. Si la planta es estable con ceros RHP z = [z
1
, z
2
, , z
n
] se hace W = (I
n
i=0
(s +z
i
)) G
1
, con
lo cual se busca evitar las cancelaciones en el semiplano derecho.
Ejemplo 1 planta minifase: Se asume la planta
G =
_
6
s+7
5
s+14
3
s+7
0,25
s+4
_
Haciendo W=desacople(G) se obtiene
W =
_
_
0,015152
s+4,909
0,18182(s+4)
(s+7)(s+4,909)
0,30303
(s+4,909)
0,36364(s+14)
(s+7)(s+4,909)
_
_
La respuesta al paso de la planta en cascada con la red de desacople se muestra en la gura (3.2a).
Ejemplo 2 planta con ceros RHP: Se asume la planta
G =
_
s+1
s
2
+s+1
1
s+1
s2
s+3
1
s+4
_
En este caso la planta tiene un cero RHP en s = 3,0541. Haciendo W=desacople(G) se obtiene.
W =
_
_
(s+1)(s+3)(s
2
+s+1)
(s+3,896)(s+3,054)(s
2
+1,158s+0,9244)
(s+1)(s2)(s+4)(s
2
+s+1)
(s+3,896)(s+3,054)(s
2
+1,158s+0,9244)
(s+3)(s+4)(s
2
+s+1)
(s+3,896)(s+3,054)(s
2
+1,158s+0,9244)
(s+1)
2
(s+3)(s+4)
(s+3,896)(s+3,054)(s
2
+1,158s+0,9244)
_
_
La respuesta al paso de la planta en cascada con la red de desacople se muestra en la gura (3.2b).
3.2. HERRAMIENTAS DE DISE
NO 19
0
5
10
x 10
3
From: In(1)
T
o
:
O
u
t
(
1
)
0 1 2 3
0
0.02
0.04
T
o
:
O
u
t
(
2
)
From: In(2)
0 1 2 3
Step Response
Time (sec)
(a)
2
0
2
From: In(1)
T
o
:
O
u
t
(
1
)
0 1 2 3
1
0
1
T
o
:
O
u
t
(
2
)
From: In(2)
0 1 2 3
Step Response
Time (sec)
A
m
p
l
i
t
u
d
e
(b)
Figura 3.2: Respuesta al paso de plantas precompensadas con redes de desacople (a) para el caso de
una planta estable y de fase mnima (b) para una planta con ceros RHP
Restricciones No aplicable a plantas inestables
3.2.2. multivlqg
Esta funci on dise na controladores LQG.
Sintaxis [K,T]=multivlqg(sys,Q,R,tipo,plot)
Donde los par ametros son:
sys Planta, puede ser cualquier objeto ss tf o zpk.
q Peso asociado al error: dene la velocidad de respuesta del sistema, si se ingresa un escalar
se aplica el mismo para cada canal, tambien puede ser ingresado como un vector de pesos.
r Peso asociado a la se nal de control: dene la robustez del sistema si se ingresa un escalar
se aplica el mismo peso para cada canal, tambien puede ser ingresado como un vector de
pesos.
Tipo Estructura del controlador puede ser cen para un controlador de un grado de libertad o
c2p para un controlador de dos par amentros
plot al ingresar algun valor se graca la respuesta en lazo cerrado.
K Controlador
T Funci on de lazo cerrado.
Descripcion Asumiendo que la dinamica de la planta es lineal y conocida y que la medicion de ruido
y perturbaciones es estoc astica con propiedades estadsticas conocidas, se tiene un modelo de la planta
x = Ax +bu +w
d
(3.1)
y = Cx +w
n
(3.2)
Donde w
d
y w
n
son el ruido del proceso y el ruido de medicion y cumplen
E
n
w
d
(t)w
d
()
T
o
= W(t tau) E
n
wn(t)wn()
T
o
= V (t tau)
Esto implica una densidad espectral constante dada por las matrices W y V . El problema consiste en
encontrar un controlador que minimize la funci on
J = E
_
lm
T
1
T
_
T
0
_
x
T
Qx +u
T
Ru
dt
_
(3.3)
Donde Q es una matriz que pondera los estados y R es una matriz que pondera la entrada, en
[45] se encuentra la solucion al problema la cual se basa en el principio de separacion que consiste en
encontrar un LQR asumiendo wd, wn = 0 que es conocido como problema del regulador y tiene una
20 CAP
x = A x +Bu +K
f
(y C x)
El valor de K
f
esta dado por K
f
= LC
T
V
1
donde Y es una matriz simetrica semidenida positiva y
es solucion de la ecuaci on de Riccati
LA
T
+AL LC
T
V
1
CL +W = 0
n almente la solucion es u(t) = K
r
x(t)
Algoritmo
1. Se agregan integradores a la planta incluyendo el signo se la realimentacion negativa haciendo
G
i
(s) =
_
A 0 B
-C 0 -D
0 I 0
_
donde A
i
=
_
A 0
-C 0
y B
i
=
_
B
-D
siendo K
re
la ganancia de realimentacion debida a los
estados de la planta y K
ri
debida a los estados del integrador.
3. Se asume que el sistema tiene un ruido w
d
el cual cumple E
_
w
d
(t)w
d
()
T
_
= W(t tau), este
modelo de ruido se adiciona a la matriz B siendo B
n
=
_
B w
d
I
n
T
donde el controlador tiene como entradas las referencias y las salidas del sistema,
el c alculo del error es interno. En este caso el controlador central tiene la forma.
K
2Dof
=
_
_
0 0 I -I
BK
ri
A BK
re
K
fn
C 0 K
fn
K
ri
K
rp
0 0
_
_
3.2. HERRAMIENTAS DE DISE
NO 21
r
-
K G
u y v
(a)
r
K G
u
y
v
(b)
Figura 3.3: Sistema de control con saturacion en el actuador (a) 1DoF (b) 2Dof
Ejemplo 1: caso p = q Se asume la planta (3.4), la cual representa a un sistema 2 2 con un cero
de transmision en s = 3,05. Se dise nan tres controladores variando los pesos Q y R. El c odigo con el
cual se dise na se presenta en la tabla 3.1y la respuesta resultante se presenta en la gura (3.4).
G =
_
s+1
s
2
+s+1
1
s+1
s2
s+3
1
s+4
_
(3.4)
En la gura (3.4) se observa que al aumentar el valor de Q el sistema se hace mas rapido pero es
mas notorio el efecto de los ceros de fase no mnima, por otra parte si se aumenta el valor de R es
equivalente a hacer que Q sea peque no; en este caso los pesos utilizados son escalares lo cual indica
que se aplic o el mismo peso para cada canal, es posible especicar un peso para cada canal como se
muestra a continuacion.
Tabla 3.1: Comandos en Matlab para dise no LQG con pesos escalares
s=tf( s );
G=[(s+1)/(s2+s+1) 1/(s+1); (s2)/(s+3) 1/(s+4)];
[K,T1]=multivlqg(G,10,1); %Q=10 y R=1
[K,T2]=multivlqg(G,1,1);%Q= 1 y R=1
[K,T3]=multivlqg(G,1,10); %Q= 1 y R=10
paso2d(T1,[3 20 35],[1 1]);
paso2d(T2,[3 20 35],[1 1]);
paso2d(T3,[3 20 35],[1 1]);
La respuesta de la gura (3.5) se obtuvo modicando el peso Q y dejando el peso R constante, en
la parte izquierda se eligio P =
_
0,1 0
0 10
_
de modo que se da mas importancia a la velocidad del canal
dos, mientras que en la parte izquierda se eligio P =
_
10 0
0 0,1
_
dando mas velocidad el c odigo se muestra
en la tabla (3.2).
0 5 10 15 20 25 30 35
1
0.5
0
0.5
1
Tiempo (s)
A
m
p
l
i
t
u
d
r
2
(t)
r
1
(t)
y
1
(t)
Q=10 R=1
y
1
(t)
Q=1 R=1
y
1
(t)
Q=1 R=10
y
2
(t)
Q=10 R=1
y
2
(t)
Q=1 R=1
y
2
(t)
Q=1 R=10
Figura 3.4: Comportamiento del sistema con varios controladores LQG basados en pesos escalares
22 CAP
NO 23
Restricciones Esta funci on es aplicable a plantas de dimensi on p q con p q. El algoritmo evalua
un controlador para el caso p > q quedando q p salidas no controladas.
3.2.3. dhinfts
Dise na un controlador H
siendo t
i
el tiempo de establecimiento del canal i.
Tabla 3.3: Comandos en Matlab para dise no H
T
, y
u un vector de se nales de control de la forma u =
_
u
1
u
2
u
n
T
, y es un vector de salidas
del sistema de la forma y =
_
y
1
y
2
y
m
T
, se dene un vector de se nales de error e = r
y =
_
r
1
y
1
r
m
y
m
=
_
e
1
e
m
ERICO DE REALIZACIONES 25
Que es equivalente a tener
K =
1
D
k
()
_
_
N
11
() N
12
() N
1m
()
N
21
() N
22
() N
2m
()
.
.
.
.
.
.
.
.
.
.
.
.
N
n1
() N
n2
() N
nm
()
_
_
Donde N
nm
es el numerador de la funci on de transferencia que relaciona la n-esima se nal de control
con la m-esima se nal de error, esto es.
u
nm
=
N
nm
()
D
k
()
e
m
Cada la de la matriz de transferencia del controlador se puede expresar de la forma
D
k
()u
n
= N
n1
()e
1
+N
n2
()e
2
+ + N
nm
()e
m
Si se adiciona el termino A
w
()u
n
a cada lado de la expresion siendo A
w
un polinomio monico de
igual grado que D
k
(), el cual actua como polinomio observador, siendo necesario que tenga polos mas
rapidos que el controlador se llega a la expresion.
D
k
()u
n
+A
w
()u
n
= N
n1
()e
1
+N
n2
()e
2
+ + N
nm
()e
m
+ A
w
()u
n
(3.6)
Que al ser organizada y reemplazando v = sat(u) resulta
u
n
=
N
n1
()
A
w
()
e
1
+
N
n2
()
A
w
()
e
2
+ +
N
nm
()
A
w
()
e
m
+
_
1
D
k
()
A
w
()
_
v
n
(3.7)
Finalmente este procedimiento se aplica para cada una de las salidas del controlador resultando en
un controlador con n entradas adicionales (ver gura 3.8a) debidas a las entradas saturadas, la forma
del controlador es.
K
aw
=
1
A
w
()
_
N
k
diag [A
w
() D
k
()]
K
aw
relaciona las entradas y salidas del controlador de la forma (3.10).
_
_
u
1
u
2
.
.
.
u
n
_
_
=
1
A
w
_
_
N
11
N
12
N
1m
A
w
D
k
0 0
N
21
N
22
N
2m
0 A
w
D
k
0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
N
n1
N
n2
N
nm
0 0 A
w
D
w
_
_
_
_
e
1
.
.
.
e
m
v
1
.
.
.
v
n
_
_
(3.8)
Controlador de 2DoF Se asume un sistema de control como el mostrado en la gura (3.3b)
donde G es de dimensi on m n, y el controlador K es de dimensi on n 2m, el cual puede ser
representado de la forma K =
_
K
r
K
y
_
N
r(11)
N
r(1m)
N
y(11)
N
r(1m)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
N
r(11)
N
r(nm)
N
y(n1)
N
r(nm)
_
_ (3.9)
26 CAP
ERICO DE REALIZACIONES 27
el actuador no es suciente para llevar la planta al punto de operaci on deseado, en cuanto a las se nales
de control u
1 sat
y u
2 sat
se observa un crecimiento desmesurado debido a la acumulaci on de error,
este crecimiento tiene como resultado que en t = 20seg cuando r
1
(t) cambia el actuador se encuentre
tan saturado que demora un tiempo considerable para entrar de nuevo en region lineal, igual sucede
en t = 30s con el cambio de r
2
(t), en ambos casos se observa que y
1 sat
y y
2 sat
mantienen un error
constante. Por ultimo se hizo el analisis usando la estrategia AW, se observa que las se nales de control
u
1 aw
y u
2 aw
se encuentran en region lineal, por otra parte se observa que en principio la respuesta de
y
1 aw
y y
2aw
es similar a y
1 sat
y y
2 sat
respectivamente, pero la gran diferencia se aprecia a partir de
t = 20s debido a que al no estar saturado el actuador el controlador puede responder mas rapidamente
ante los cambios en la referencia, siendo importante el hecho que la estrategia AW no permiti o el
crecimiento de las variables internas del controlador evitando un posible desborde numerico.
0 5 10 15 20 25 30 35 40
1
0.5
0
0.5
1
1.5
A
m
p
l
i
t
u
d
d
e
l
a
s
a
l
i
d
a
y
(
t
)
0 5 10 15 20 25 30 35 40
10
8
6
4
2
0
2
4
6
8
10
12
Tiempo
A
m
p
l
i
t
u
d
d
e
l
a
s
e
a
l
d
e
c
o
n
t
r
o
l
u
(
t
)
r
1
(t)
y
1 sat
y
1
u
1 sat
u
1
u
2 aw
r
2
(t)
u
2
u
2 sat
u
1 aw
y
2 aw
y
1 aw
y
2 sat
y
2
Figura 3.10: Salida y Se nal de control del sistema en lazo cerrado (1) con actuador ideal, (2) con
actuador limitado en rago (3) con actuador limitado y controlador con AW
Restricciones No se garantiza estabilidad en lazo cerrado, en especial si la planta es inestable.
3.3.2. getdelta
Esta funci on toma una representacion en espacio de estados en terminos del operador q y la trans-
forma en una realizaci on en terminos del operador
sintaxis Kd=getdelta(K,D)
Siendo K un sistema en terminos del operador q y K
d
un sistema equivalente en terminos del operador
, se puede especicar el par ametro D = en caso de no especicase se elige = T
s
(periodo de
muestreo).
descripcion Se eval ua la forma para una realizaci on [A, B, C, D] en terminos del operador q siendo
28 CAP
_
=
_
1
(A I)
1
B
C D
_
Restricciones Aplicable solo a sistemas discretos, en sistemas continuos no tiene sentido.
3.3.3. nob (N umero de bits fraccionales)
nf=nob(sys,lp)
Esta funci on es acr onimo de (number of bits), y retorna el n umero de bits fraccionales necesarios para
implementar un sistema en punto jo. Este procedimiento es aplicable unicamente a sistemas estables.
Descripcion Evaluar una realizaci on implica realizar un c alculo recursivo de estados y salidas, cuando
se emplean representaciones en punto jo en formato A(, ) siendo la longitud de la parte entera
y la longitud de la parte fraccional, el mayor deterioro que puede sufrir una realizaci on se presenta
cuando ocurre desborde numerico debido a que alguna operaci on matematica arrojo un n umero con
parte entera mayor al valor representable que para este caso es 2
siendo u
max
y u
min
las entradas maxima y
mnima del sistema de forma que se encuentra normalizado para entradas en el rango [1 1].
En la gura (3.11 ) se presenta el esquema para evaluar el valor de siendo
B
el maximo n umero para evaluar Bu cuando u [1 1]
A
el maximo valor al evaluar x[n+1] = Ax[n] asumiento estados normalizados en el rango [1 1].
C
el maximo valor al evaluar la salida del sistema y = Cx asumiento estados normalizados en
el rango [1 1].
D
el maximo valor al evaluar la trayectoria directa y = Du asumiento entradas normalizadas en
el rango [1 1]
Se propone que
= max [
A
,
B
,
C
,
D
,
B
C
+
D
]
Para la vericacion se asumir a el sistema (3.11)
H =
1
z
3
0,7z
2
+ 0,1676z 0,0338
_
z
3
+ 45,3z
2
17,35z 1,468 46z
2
+ 34,16z 5,145
27z
2
+ 0,6z 3,133 z
3
36,7z
2
+ 22,01z 0,6482
_
Ts=0,1
(3.11)
3.3. HERRAMIENTAS PARA ACONDICIONAMIENTO NUM
ERICO DE REALIZACIONES 29
Con representacion en espacio de estados
_
_
0.5 0 0 6 2
0 0.1 0.24 4 3
0 -0.24 0.1 5 -6
1 0 8 1 0
3 -4 5 0 1
_
_
Se debe tener en cuenta algunos conceptos relacionados con la norma de matrices, sea B la matriz de
entrada, La norma de B se dene como el mayor valor singular o maxima ganancia.
La descomposicion en valores singulares de B es:
B = usv
T
=
_
_
0,6190 0,4580 0,6380
0,3748 0,5416 0,7525
0,6902 0,7049 0,1636
_
_
_
_
8,8449 0
0 6,9115
0 0
_
_
_
0,9796 0,2011
0,2011 0,9796
_
T
Que indica que esta matriz tiene una ganancia maxima de 8.84, si se observa para el caso en que las
entradas al sistema son u
1
= 1 y u
2
= 1 se tiene
Bu =
_
_
6 2
4 3
5 6
_
_
_
1
1
_
=
_
_
6 2
4 3
5 + 6
_
_
=
_
_
4
1
11
_
_
Lo cual indica que B no es un buen indicador de
B
debido a que la ganancia maxima se evalua para
entradas ortonormales. La norma innito es B
B
para u [1 1].
Demostracion: a partir de la denicion de la norma H
= max
_
n
i=1
|B
i
|
_
Para cualquier canal i se cumple
max B
i
< B
i,1
u
1
+B
i,2
u
2
+ < |B
i1
| u
1
+|B
i,2
| u
2
<
B
De forma se garantiza que para una entrada normalizada en el rango [1 1] la norma innito sera mayor
o igual que el valor absoluto de la suma de canales con sus respectivas ganancias.
De igual forma
B
= B
C
= C
C
= C
Una vez denido el maximo de la entrada al sistema se analiza el c alculo del siguiente estado, el
maximo valor implicado en el calculo se puede evaluar como
A
=
B
(1 +A
)
_
_
(zI A)
1
_
_
Demostracion: Al garantizar que el sistema es estable se debe cumplir que para cualquier estado
inicial la respuesta dinamica de x[n+1] = Ax[n] tiene un comportamiento decreciente. Teniendo como
maxima ganancia
_
_
(zI A)
1
_
_
.
De forma que luego de calcular el siguiente estado la peor condicion se presenta cuando la direcci on
de entrada hace que Bu tenga la maxima amplicacion para mas de dos periodos de muestreo esto es
Bu =
B
y simultaneamente el bloque (zI A)
1
presenta la maxima ganancia coincidiendo con la
direcci on en que Ax es maxima.
De esta forma se llega a la expresion propuesta anteriormente
= max [
A
,
B
,
C
,
D
,
B
C
+
D
]
30 CAP
ERICO DE REALIZACIONES 31
to2dof
K2p=to2dofs(K)
Esta funci on lleva un controlador de un grado de libertad (1Dof) a una conguracion de dos grados de
libertad (2Dof ).
Asumiendo que la entrada al controlador de un grado de libertad es una se nal de error e = r y se
tiene la siguiente representacion.
x = Ax +B(r y)
u = Cx +D(r y)
=
_
A B -B
C D -D
_
ndint
chanel=findint(G)
Dado un sistema G retorna un vector con el identicador de los canales que poseen integrador.
evaldelta
y=evaldelta(K,u)
Dado un sistema K en tiempo discreto y expresado en terminos del operador y dado u un vector que
corresponde a la entrada al sistema se calcula la salida del sistema y evaluando la realizaci on de forma
recursiva.
scontroller
[Hc,T]=scontroller(H)
Esta funci on lleva el sistema H a la forma controlable de Luengberger retornando el sistema en Hc
en forma controlable y la matriz de transformaci on T, se encuentra basada en el algoritmo descrito en
[43].
Ejemplo Para el sistema (3.11) la forma controlable se eval ua haciendo [Hc,T]=scontroller(H)
obteniendose
Hc =
_
_
0 0 0.0338 0 0 0 1 0
1 0 -0.1676 0 0 0 0 0
0 1 0.7 0 0 0 0 0
0 0 0 0 0 0.0338 0 1
0 0 0 1 0 -0.1676 0 0
0 0 0 0 1 0.7 0 0
46 14.6824 1.1339 -46 1.96 3.9366 1 0
27 19.5 5.9918 -36 -3.3576 3.0689 0 1
_
_
En esta representacion se puede observar una diagonal de unos y dos columnas de coecientes,
debido a que el sistema es 2 2 resulta muy similar a dos bloques de realizaciones controlables.
sobserver
[Ho,T]=observer(H)
Esta funci on lleva el sistema H a la forma observable de Luengberger retornando el sistema en Ho en
forma observable y la matriz de transformaci on T, se encuentra basada en el algoritmo descrito en [43].
Ejemplo Para el sistema 3.11 la forma observable es
32 CAP
_
0 1 0 0 0 0 1 0
0 0 1 0 0 0 0 0
0.0338 -0.1676 0.7 0 0 0 0 0
0 0 0 0 1 0 0 1
0 0 0 0 0 1 0 0
0 0 0 0.0338 -0.1676 0.7 0 0
46 -270.5266 434.3905 -46 75.8757 57.9882 1 0
27 -226.5740 576.9231 -36 160.3314 -99.3373 0 1
_
_
En este caso se conserva la diagonal de unos y dos las de coecientes resultando similar a dos bloques
de realizaciones observables.
3.4. Herramienta Python para descarga de realizaciones
Python es un lenguaje interpretado libre y multiplataforma. Se describe un conjunto de funcio-
nes desarrolladas en lenguaje Python las cuales pueden ser empleadas para descargar realizaciones al
dispositivo hardware.
Se program o la funci on guardar.m para Matlab la cual crea un archivo de texto con toda la infor-
maci on relacionada con el controlador el formato de este archivo se puede observar en el anexo 1. Este
archivo de texto puede ser modicado en cualquier editor de texto.
3.4.1. Protocolo para descarga de realizaciones
Para descargar una realizaci on al dispositivo hardware no se es necesario poseer un protocolo es-
pecco debido a que descargar la realizaci on consiste en actualizar la memoria del procesador, lo unico
que se debe tener en cuenta es el borrar previamente el bloque de memoria en que se va a escribir (En
el capitulo 4 se describe el mapa de memoria del dispositivo).
Software Hardware
Solicitud de transmision 0x7F3F1F0F
0x11 Palabra de conrmacion
Borrar P agina 0x23452345
Direccion a borrar 0x2800
0xEE Palabra de conrmacion
Solictud escritura 0x15151515
n umero de bits 0x08
direcci on 0x2800
enviar datos 0x00101010
.
.
.
0xEE Palabra de conrmacion
Solictud lectura 0x7CC77CC7
n umero de bits 0x08
direcci on 0x2800
0x00101010 Datos
.
.
.
Finalizar Tx 0xABCDABCD
Tabla 3.6: Ejemplo de protocolo para comunicacion con el dispositivo hardware
En la tabla 3.6 se muestra un posible protocolo el cual se basa en tres tareas principales que son
3.4. HERRAMIENTA PYTHON PARA DESCARGA DE REALIZACIONES 33
Funcion Sintaxis Descripcion
iniciar p=iniciar(port) Esta funci on inicializa un puerto serial y retorna
su manipulador
nalizar finalizar(p) Libera el puerto con manipulador p
txoat txfloat(valor,p) Envia valor a traves del puerto p en formato o-
tante single
txint txint(valor,p) Envia valor a traves del puerto p en como un
entero con signo de 32 bits
txuint txuint(valor,p) Envia valor a traves del puerto p en como un
entero sin signo de 32 bits
txshort txshort(valor,p) Envia valor a traves del puerto p en como un
entero con signo de 16 bits
txushort txushort(valor,p) Envia valor a traves del puerto p en como un
entero de 16 bits sin signo
rxint valor=rxint(p) Lee del puerto p un entero de 32 bits
rxoat valor=rxfloat(p) Lee del puerto p un otante single
rxshort valor=rxshort(p) Lee del puerto p un entero de 16 bits
rxch valor=rxch(p) Lee del puerto p un caracter (char)
inittx ok=inittx(p) Inicia comunicacion con el dispositivo enviando la
solicitud de transmision
ntx ok=fintx(p) Envia la palabra de n de transmision
borrar ok=borrar(p,dir) Borra el bloque de memoria especicado por dir
writeoat ok=writefloat(p,valor,dir) Escribe un otante en la direccion dir
writeint ok=writeint(p,valor,dir) Escribe un entero de 32 bits en la direccion dir
writeshort ok=writeshort(p,valor,dir) Escribe un entero de 16 bits en la direccion dir
leeroat valor=leerfloat(p,n,dir) Lee n datos tipo otante apartir de la direccion
dir
leerint valor=leerint(p,n,dir) Lee n datos tipo entero apartir de la direccion dir
leershort valor=leershort(p,n,dir) Lee n datos tipo short apartir de la direccion dir
leercontrol valor=leercontrol(direccion) Lee un controlador dise nado en matlab y lo entre-
ga como un diccionario
Tabla 3.7: Funciones Python
Borrar el bloque de memoria
Solicitar la escritura especicando direcci on y n umero de bits a escribir.
Solicitar la lectura del bloque recien escrito para vericar su correcta programacion.
3.4.2. Funciones Python
Dado que no se precisa un protocolo especco se construyo un conjunto de funciones que realizan
tareas de bajo nivel las cuales se resumen en la tabla 3.7 para ejecutar estas funciones basta con instalar
python dependiendo del sistema operativo (en linux viene por defecto) e instalar el complemento pyserial
que permite el manejo del puerto serie.
Conclusiones
En sistemas estables el c alculo de redes de desacople resulta simple y permite que el dise no de
controladores multivariables se convierta en un problema SISO.
La solucion del problema de sensibilidad mixta permite especicar mediante pesos caractersticas
como el tiempo de establecimiento, sobrepico y amplitud de la se nal de control, el uso de los
34 CAP
0h7FFF
0h8000
_
C D
Out
1
Out
2
Out
3
Out
4
Ref
ext
Adq
cnf
0hBFFF
0hC000
Mem
1
Mem
2
Mem
3
Mem
4
Mem
5
Mem
6
Boot Loader
0hFFFF
Figura 4.4: Mapa de memoria
Almacenamiento de realizaciones Disponiendo de 16Kb para almacenar
_
A B
se asume que
esta matriz esta compuesta por (n
x
+n +i) n
x
coecientes, teniendo en cuenta que cada coeciente
ocupa 4 bits y que el n umero maximo de entradas es n
i
= 12, asumiendo cuatro canales de entrada
diferenciales con cuatro entradas de antiwindup, el valor maximo de n
x
es la solucion de la ecuaci on
n
2
x
+ 12n
x
16384
4
= 0 n
x
58
38 CAP
sera de dimesi on (n
x
+ n
i
) n
o
= 70 4 = 280 Coecientes de modo que ocupara 1120Kb siendo
necesario un bloque de cuatro p aginas para su almacenamiento.
El la gura (4.4) se presenta la organizaci on de la memoria por bloques de cuatro p aginas. Se
destinan 14Kb al programa principal, 16kb a almacenar la matriz
_
A B
,
adicionalmente en la tabla 4.1 se encuentra la descripcion de los bloques de memoria.
Bloque Parametro Signicado
Parametros
n
i
N umero de entradas
n
o
N umero de salidas
n
x
N umero de estados
T
s
Periodo de muestreo
Tipo Tipo de realizaci on (Punto jo o punto otante)
delta Valor de para implementaciones en forma
nbpf N umero de bits fraccionales
TipoCh Procedencia del canal de entrada 1 (Ver tipos de
entradas)
Out
U
max
Excursion maxima
U
min
Excursion mnima
Tabla 4.1: Contenido de los bloques de memoria
Tipos de entradas Dada una realizaci on con n
i
entradas cada una de ellas posee un identicador
que determina la procedencia de dicha entrada. Por hardware se tiene un total de doce entradas de la
cuales ocho son canales analogicos externos y cuatro referencias en circuito basadas en potenci ometros
adicionalmete se cuenta con cuatro referencias externas modicables por hardware y cuatro entradas
debidas a los canales de antiwindup.
La palabra que determina el tipo de canal ver tab. 4.1 consiste en una palabra de tipo entero la
cual se distribuye como se observa en la gura (4.5).
Windup Externa Diferencial Analgica
0 7 8 15 16 31 24 23
F F F F F F 0 5 U=Canal analgico 5
F F F F 0 2 0 A U=Canal analgico 10 - Canal analgico 2
F F 0 4 0 0 F F U=Canal analgico 0- Referencia Externa 4
0 2 F F F F F F U=Salida saturada 2 (Antiwindup)
Figura 4.5: Tipos de canales de entrada y ejemplos
Se observa que de la palabra de 32 bit se asigna un byte para describir el tipo de canal, siendo
posible elegir dos canales en modo diferencial para conformar una entrada ver g.(4.5), en tal caso se
evalua la entrada a la realizaci on como la diferencia de los dos canales.
4.2.2. Programa principal
El microcontrolador posee dos modos de operaci on, el modo ejecuci on en el cual se eval ua la rea-
lizacion almacenada en memoria y el modo descarga en el cual el dispositivo permite la actualizacion
total o parcial de un controlador la gura (4.6) presenta un diagrama de bloques en el cual se presentan
los modos de operaci on .
Modo ejecuci on En el modo ejecuci on se tienen cuatro rutinas principales la evaluacion de realiza-
ciones en punto jo y en punto otante usando operadores q y .
4.2. FIRMWARE 39
inicializar
Modo
Descarga
reset Download
Ejecucin
Evaluar
Evaluar
Evaluar
Evaluar
forma q punto otante
forma punto otante
== 0
No: Forma delta
Si: Forma clasica
Tipo
Tipo
oat
oat
Punto jo
Punto jo forma q punto jo
forma punto jo
Guardar variables
x[n]
supervisadas
Figura 4.6: Modos de operaci on programa principal
Realizacion con operador q El c aculo de la realizaci on es recursivo siendo necesario realimentar
el valor de x[n] de un ciclo al otro en el algoritmo (2) se describe la funci on calcular realizaci on q
implementada en el procesador basada en la representacion clasica en espacio de estados.
x[n + 1] = Ax[n] +Bu[n]
y[n] = Cx[n] +Du[n]
algoritmo 2 Calculo de realizaci on en operador retardo
1: funcion CalcularRealizaci onq(x)
2: u leercanales
3: x = [x u]
4: Para i 1, No hacer Calculo de la salida
5: Acumulado = 0
6: Para j 1, Nx +Ni hacer
7: Si C[i, j] = 0 Entonces
8: Acumulado = C[i, j]x[j] +Acumulado
9: Fin Si
10: Fin Para
11: y[i] = Sat(Acumulado, ui max, ui min) Saturacion de salida
12: Fin Para
13: Para i 1, Nx hacer Calculo del siguiente estado
14: Acumulado = 0
15: Para j 1, Nx +Ni hacer
16: Si A[i, j] = 0 Entonces
17: Acumulado = A[i, j]x[j] +Acumulado
18: Fin Si
19: Fin Para
20: x[i] = Acumulado
21: Fin Para
22: Return x[0 : Nx] se retorna el estado siguiente X[n + 1]
23: Fin funcion
Realizacion con operador La realizaci on delta tiene la forma
40 CAP
x[n] +B
u[n]
y[n] = C
x[n] +D
u[n]
el c alculo del estado siguiente se hace en dos pasos primero se eval ua la variable intermedia T y luego
se eval ua x = T +x, la funci on descrita en el algoritmo 3 tiene como par ametro de entrada el vector
de estados x[n] y .
algoritmo 3 Calculo de realizaci on en operador
1: funcion CalcularRealizaci onDelta(x,)
2: u leercanales
3: x = [x u]
4: Para i 1, No hacer Calculo de la salida
5: Acumulado = 0
6: Para j 1, Nx +Ni hacer
7: Si C[i, j] = 0 Entonces
8: Acumulado = C[i, j]x[j] +Acumulado
9: Fin Si
10: Fin Para
11: y[i] = Sat(Acumulado, ui max, ui min) Saturacion de salida
12: Fin Para
13: Para i 1, Nx hacer Calculo de la variable intermedia
14: Acumulado = 0
15: Para j 1, Nx +Ni hacer
16: Si A[i, j] = 0 Entonces
17: Acumulado = A[i, j]x[j] +Acumulado
18: Fin Si
19: Fin Para
20: T[i] = Acumulado
21: Fin Para
22: Para i 1, N
estados
hacer Calculo del siguiente estado
23: x[i] = T[i] +x[i]
24: Fin Para
25: Return x[0 : N
estados
] solo X[n + 1]
26: Fin funcion
4.2.3. Comunicacion
El dispositivo opera en base a solicitudes hechas por el usuario permitiendo que cualquier aplicacion
capaz de manejar puertos serie sea capaz de entablar comunicacion con el dispositivo. Las solicitudes
se pueden clasicar en dos tipos.
Solicitud de informaci on: Se emplea para leer una variable del microcontrolador, la solicitud
va acompa nada de la direcci on a ser leida y el n umero de datos leidos el dispositivo responde
entregando la informacion solicitada.
Solicitud de acci on: Se emplea para dar una orden al procesador ya sea para sincronizar el
dispositivo, actualizar un registro o forzar una accion, este responde con la palabra de conrmacion
(0hEE).
Las instrucciones son c odigos de 32 bits que realizan una tarea especca, se tiene el siguiente
conjunto de instrucciones.
El modo ping se utiliza para vericar si el dispositivo se encuentra conectado a un puerto, el
dispositivo responde con la palabra de conrmacion, el modo ajuste se emplea para vericar los canales
analogicos y hace que los canales de salida entregen lo que se esta leyendo en el canal analogico 1.
4.3. MODELO DEL SISTEMA 41
Codigos para lectura Codigos para escritura
0hF5F5F5F5 Leer oat 0h1F3F1F3F Escribir oat
0h7CC77CC7 Leer entero de 32 bits 0h15151515 Escribir entero de 32 bits
0h9EE99EE9 Leer entero de 16 bits 0h26262626 Escribir entero de 16 bits
0h3A3A3A3A AsignarRef
ext
1
0h1C1C1C1C AsignarRef
ext
2
0h5D5D5D5D AsignarRef
ext
3
0h2B2B2B2B AsignarRef
ext
4
0hA12BA12B ping
0hC5B6C5B6 Modo ajuste
0h7F3F1F0F Entrar al modo descarga
0hABCDABCD Salir del modo descarga
Tabla 4.2: Solicitudes al microcontrolador
Sincronizacion
Al conectar el dispositivo en un equipo por primera vez el dispositivo es reconocido como un puerto
serial y el sistema operativo asigna un identicador al puerto, la aplicacion debe detectar el dispositivo
inicializando los puertos disponibles y enviando una solicitud, si la solicitud es contestada se sabra que
el hardware se encuentra conectado de lo contrario se debe intentar con otro puerto. Este procedimiento
se describe en el diagrama mostrado en la gura (4.7) el identicador del puerto puede variar de un
sistema operativo a otro.
Detectar
S.O.
Windows
Mac os X
Linux
Com+X
/dev/.ttyusbserial-A9009gwg
/dev/ttyUSB+X
Iniciar
Iniciar
Iniciar
Enviar ping
X = 0
X = X + 1
No
sincronizacin?
palabra de
Si Retornar
puerto
No
Puerto
abierto?
Si
No
Figura 4.7: Diagrama de ujo deteccion de puerto y sincronizaci on
4.3. Modelo del sistema
Se construyo un modelo del sistema con el n de simular y analizar el comportamiento de una
realizaci on antes de implementarla en la plataforma. Para construir el modelo se deben tener en cuenta
todas no linealidades como truncaciones, saturaciones, cuantizacion de se nales, y aritmetica empleada
para realizar las operaciones.
4.3.1. Etapas de entrada y salida (Acondicionamiento de se nal)
La etapa de acondicionamiento consta de un arreglo de amplicadores operacionales mostrado en
la gura (4.3), se asume que la respuesta es lineal y solo se encuentra sujeto a saturacion por parte de
la alimentacion del circuito. El conversor ADC y DAC trabajan con un formato numerico entero de
12 bits, el conversor ADC opera en region lineal para tensiones de entrada de [0 3,3]V entregando una
salida en el rango [0 4095] fuera de region lineal se satura a el nivel maximo o mnimo de salida como
se observa en la gura (4.8).
El conversor DAC recibe un entero sin signo de 12 bits y lo convierte a una salida analogica en
el rango [0 3,3]V , fuera de region lineal presenta un fenomeno de desborde que hace que cantidades
con un valor numerico alto sean confundidas con un valor bajo es posible a nadir una saturacion por
software con el n de prevenir el desborde.
42 CAP
_
x[n]
u[n]
_
y[n] =
_
C D
_
x[n]
u[n]
_
Dicha operaci on se realiza haciendo
x[n + 1] =
_
_
_
nx+ni
i=0
_
A B
(i,1)
_
x[n]
u[n]
_
i
_
.
.
.
_
nx+ni
i=0
_
A B
(i,nx)
_
x[n]
u[n]
_
i
_
_
_
y[n] =
_
_
_
nx+ni
i=0
_
C D
(i,1)
_
x[n]
u[n]
_
i
_
.
.
.
_
nx+ni
i=0
_
C D
(i,no)
_
x[n]
u[n]
_
i
_
_
_
N umero de operaciones
Para una realizaci on [A, B, C, D] con n
i
entradas, n
o
salidas y n
x
estados el n umero de operaciones
depende del operador.
Operador q
Para evaluar el siguiente estado x[n +1] =
_
A B
_
x
u
_
se requiere de n
x
(n
x
+n
i
) multiplicaciones
y n
x
(nx + n
1
1) sumas en cuanto a la ecuaci on de salida y =
_
C D
_
x
u
_
se requieren n
o
(n
x
+ n
i
)
multiplicaciones y n
o
(n
x
+n
i
1) sumas. Entonces se requieren:
Sumas: (n
x
+n
i
1)(n
x
+n
o
)
Multiplicaciones (n
x
+x
i
)(n
x
+n
o
)
Se realizara el analisis de adici on de estados, entradas y salidas para unicar el tiempo de procesa-
miento de realizaciones MIMO, en terminos de realizaciones SISO.
Adici on de un estados Cuando se adiciona un estado a la realizaci on se tiene que el n umero de
multiplicaciones sera
N
= (n
x
+1+n
i
)(n
x
+1+n
o
) = (nx+n
i
)(n
x
+1+n
o
)+(n
x
+1+n
o
) = (n
x
+1)(n
x
+n
o
)+(nx+n
i
)+(n
x
+1+n
o
)
N
= (n
x
+ 1)(n
x
+n
o
) +
x,
..
2n
x
+n
i
+n
o
+ 1
En cuanto al n umero de sumas.
N
+
= (n
x
+ 1 +n
i
1)(n
x
+ 1 +n
o
) = (nx +n
i
1)(n
x
+ 1 +n
o
) + (n
x
+ 1 +n
o
)
= (n
x
+n
i
1)(n
x
+n
o
) + (nx + 1 +n
o
) + (nx +n
i
1) = (n
x
+n
i
1)(n
x
+n
o
) +
x,+
..
2n
x
+n
i
+n
o
Siendo
x,
= 2n
x
+n
i
+n
o
+1 el incremento en el n umero de multiplicaciones debido a la adici on
de un estado y
x,+
= 2n
x
+ n
i
+ n
o
el incremento en el n umero de sumas debido a la adici on de un
estado.
44 CAP
= (n
x
+n
i
+ 1)(n
x
+n
o
) = (nx +n
i
)(n
x
+n
o
) +
i,
..
(n
x
+n
o
)
donde
i,
corresponde al incremento en multiplicaciones, en cuanto al n umero de sumas se tiene
N
+
= (n
x
+x
i
)(n
x
+n
o
) = (n
x
+x
i
1)(n
x
+n
o
) +
i,+
..
(nx +n
o
)
Se puede armar que
x,
>
i,
y
x,+
>
x,+
de forma que la adici on de una entrada trae
menor carga computacional que la adici on de un estado.
Adici on de una salida Cuando se adiciona una salida al sistema el n umero de multiplicaciones sera
N
x
= (n
x
+n
i
)(n
x
+n
o
+ 1) = (nx +n
i
)(n
x
+n
o
) +
o,
..
(n
x
+n
i
)
donde (nx +n
i
) corresponde al incremento en multiplicaciones, en cuanto al n umero de sumas se tiene
N
+
= (n
x
+n
i
1)(n
x
+n
o
+ 1) = (n
x
+x
i
1)(n
x
+n
o
) +
o,+
..
(n
x
+n
i
1)
Se cumple
x,
>
i,
y
x,+
>
x,+
requiriendo menor tiempo de procesamiento la adici on de
una salida con respecto a la adici on de un estado, con respecto a la adici on de una entrada el costo
computacional es similar.
Adici on de una entrada y una salida Este caso corresponde al aumento de dimensi on del con-
trolador, el n umero de multiplicaciones sera.
N
= (n
x
+x
i
+1)(n
x
+n
o
+1) = (nx+n
i
)(n
x
+1+n
o
)+(n
x
+1+n
o
) = (n
x
+1)(n
x
+n
o
)+(nx+n
i
)+(n
x
+1+n
o
)
N
= (n
x
+ 1)(n
x
+n
o
) +
io,
..
2n
x
+n
i
+n
o
+ 1
En cuanto al n umero de sumas se tiene
N
+
= (n
x
+n
i
1 + 1)(n
x
+n
o
+ 1) = (nx +n
i
1)(n
x
+ 1 +n
o
) + (n
x
+ 1 +n
o
)
= (n
x
+n
i
1)(n
x
+n
o
) + (nx + 1 +n
o
) + (nx +n
i
1) = (n
x
+n
i
1)(n
x
+n
o
) +
io,+
..
2n
x
+n
i
+n
o
Se observa que
io,+
=
x,+
y
io,
=
x,
de forma que computacionalmente es equivalente
aumentar un estado a aumentar una entrada y una salida.
Operador
En una realizaci on con operador delta se requieren (n
x
+n
i
)n
x
multiplicaciones y (n
x
+n
i
1)n
x
sumas evaluar la variable intermedia T =
_
A B
_
x
u
_
, luego se requieren n
x
multiplicaciones y n
x
sumas para evaluar el siguiente estado x[n + 1] = T + x[n], por ultimo se requieren (n
x
+ ni)n
o
multiplicaciones y (n
x
+ni 1)n
o
sumas para evaluar la salida del sistema y[n] =
_
C D
_
x
u
_
.
De forma que el incremento en el n umero de operaciones con operador corresponde a
= n
x
y
+
= n
x
entonces el tiempo de procesamiento de una realizaci on de orden n
x
es menor que el tiempo
de una realizaci on en operador q de orden n
x
+1 y mayor que el tiempo de una realizaci on q de orden
n
x
.
4.3. MODELO DEL SISTEMA 45
4.3.4. Tiempo de procesamiento
A partir del analisis planteado anteriormente se puede deducir que para una realizaci on de orden
n
x
con un tiempo de procesamiento t
x
y una realizaci on de orden n
x
+n con tiempo de procesamiento
t
x+n
se cumple que
Al adicionar una entrada o salida el tiempo de procesamiento t
p
cumple t
x
< t
p
< t
x+1
Al adicionar en conjunto una entrada y una salida el tiempo de procesamiento t
p
cumple t
x
<
tp = t
x+1
< tx + 2 asumiendo conversores D/A y A/D ideales con tiempo de adquisici on y
entrega de se nales nulo.
Al evaluar una realizaci on de orden n
x
en operador el tiempo de procesamiento t
p
es t
x
< t
p
<
t
x+1
De esta forma basta con caracterizar el dispositivo para el caso SISO siendo posible deducir el tiempo
de establecimiento de sistemas MIMO para cantidad de entradas o salidas e incluso de realizaciones en
forma
Seg un mediciones realizadas empleando como sistema de prueba
H =
nx
i=0
(1,3 +i/2)(s + 1 +i/2)
nx
i=0
(1 +i/2)(s + 1,3 +i/2)
Este corresponde a un sistema propio estable con ganancia unitaria se midi o y registro el tiempo de
procesamiento en punto otante para varios ordenes estos se presentan en la tabla (4.3), se observo que
para realizaciones en punto jo el tiempo de procesamiento poda presentar variaciones dependiendo
del n umero de bits fraccionales debido a las operaciones de cuantizacion, para el caso en que el n umero
de bits fraccionales es 31 se presenta el maximo tiempo de procesamiento en punto jo, obteniendose
una reduccion del 20 % la cual no se tendra en cuenta y se asumir a como tiempo de procesamiento el
obtenido para realizaciones en punto otante .
Orden 1 2 3 4 5 6 7 8 9 10
Tiempo(S) 100 168 248 344 476 620 820 1020 1300 1500
Orden 11 12 13 14 15 16 17 18 19 20
Tiempo(mS) 1.6 1.84 2.1 2.4 2.7 3.1 3.5 3.9 4.3 4.7
Tabla 4.3: Tiempo de procesamiento para realizaciones SISO con operador q
Para que la realizaci on se eval ue correctamente el tiempo de procesamiento debe ser menor al
periodo de muestreo, de otra forma el dispositivo sufrira bloqueos por acumulaci on de interrupciones .
Por este motivo se hizo una regresion cuadratrica para relacionar el orden de la realizaci on con
respecto al tiempo de procesamiento obteniendose la funci on.
t
S
= 10n
2
+ 35n + 60 donde n es: n = n
x
+ max [n
i
, n
o
]y + 1 si es realizacion
Esta funci on permite calcular el tiempo mnimo de procesamiento pero es necesario tener en cuenta
que el dispositivo debe realizar algunas otras tareas de modo que se propone que el periodo de muestreo
sea un poco mayor al tiempo de procesamiento para garantizar operaciones como la reprogramacion del
dispositivo o supervision de se nales, en la gura 4.9 se presenta el tiempo de procesamiento mnimo,
la region bajo la curva corresponde a una region no implementable existe una region de tolerancia
en la cual se garantiza que la realizaci on operara de forma adecuada pero no se garantizan funciones
como reprogramacion y supervision de variables, todo lo que se encuentre sobre la region punteada es
implementable de forma que para una realizaci on con 50 estados se tiene un tiempo de procesamiento
de procesamiento de t = 22mS pero se recomienda que el periodo de muestreo sea Ts = 40mS.
Conclusiones
46 CAP
S
)
Regin de
Implementacin
Regin no implementable
Tolerancia
Figura 4.9: Region de implementacion
El tiempo de procesamiento de una realizaci on depende principalmente del n umero de estados,
en sistemas multivariables la adici on de un canal (entrada- salida) resulta equivalente a aumentar
la realizaci on un estado.
Se esperaba que para realizaciones en punto otante el tiempo de procesamiento resultara con-
siderablemente mayor con respecto a las implementaciones en punto jo, pero las mediciones
realizadas muestran que son muy similares, un analisis detallado revelo que la componente do-
minante del tiempo de procesamiento se encuentra en el direccionamiento, lectura de memoria y
adquisici on de se nales analogicas.
Debido a que no hay diferencias signicativas en el tiempo de procesamiento al cambiar el formato
numerico se recomienda el uso de realizaciones en punto otante y de esta forma evitar problemas
de desborde numerico y escalamiento.
Captulo 5
Interfaz de usuario
5.1. Descripcion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.1.1. Estructura y planta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.2. Sntesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.2.1. Sntesis de K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.2.2. Sntesis de W . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2.3. Sntesis de F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2.4. Sntesis del controlador central . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3. Implementacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.4. Metodologa de dise no . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.1. Descripcion
La interfaz de usuario es una herramienta desarrollada en Matlab y que tiene como nalidad facilitar
el uso del sistema de desarrollo multivariable. Las principales car ateristicas de la interfaz son:
Permite la implementacion de controladores y emulaci on de sistemas multivariables.
Acepta plantas (mn) con m n
En el modo control posee una estructura general la cual esta basada en los bloques W, K, F.
W (Elemento de desacople): es un bloque mediante el cual se desea que el producto GW
sea aproximadamente diagonal, los metodos de dise no son la compensacion est atica evaluada
para una frecuencia y la compensacion dinamica para todas las frecuencias.
K (Compensador): es el controlador el cual garantiza la respuesta de lazo cerrado deseada,
el usuario tiene la posibilidad dise nar este bloque usando las estrategias LQG y H
.
F (Preltro): es un elemento que acondiciona la se nal de referencia para ajustar el com-
portamiento frecuencial del sistema de lazo cerrado, para el dise no del preltro se cuenta
con redes de adelanto, redes de atraso y ltros notch.
Se pueden visualizar variables del sistema de lazo cerrado como la sensitividad, sensitividad
inversa y se nal de control en el dominio del tiempo y frecuencial.
Interfaz para descarga de controladores en la cual se puede adicionar una estrategia antiwindup
a los canales inestables del controlador.
Implementacion de controladores usando operador q y , con aritmetica de punto jo o punto
otante.
47
48 CAP
INTESIS 49
G
n m m
G
n m
K W
m n
K W
m
n
F
m
m
(a). Conguracin 1Dof
(c). Conguracin 2Dof con preltro
G
n m
K W
m n
F
m m
m
(c). Conguracin 1Dof con preltro
G
m
K W
m
n
F
m
m
(d). Conguracin 2Dof con preltro y antiwindup
n n
m
n
Figura 5.2: Estructuras de control, los subndices corresponden a la dimensi on de la se nal y la region
sombreada al componente implementado
tales como n umero de entradas, salidas y estados, dimension de cada bloque y estabilidad de lazo
cerrado.
5.2.1. Sntesis de K
MIMO deveopment system
Conectado Puerto:Com1
Panta
Numero de entradas
Numero de sadas
Numero de estados
Estabe
K
Paso
Sntess Estructura
Impementacon
Importar mat fe
Importar de workspace
Tempo Amptud tmax
10 |1 -1| |1 5|
Tempo
Borrar
W
F
K W F
T
S
R
GW
10
10
O
R
LOG
H nfnto
Controadores SISO
1Dof
2Dof
cana 1 Sntetzar guaes
10
10
O
R
1Dof
2Dof
cana 1 Sntetzar guaes
10 Tempo de evantamento
cana 1 Sntetzar guaes
|-1 0| Poos
cana 1 Sntetzar guaes
|-1 0|
Ceros
Gananca 1
Exportar a
Ssotoo
Pane de confguracon LOG
Pane de confguracon H nfnto
Pane de confguracon contro sso
Figura 5.3: Panel para sntesis de K con los subpaneles para dise no LQG, H
y control SISO.
En la gura (5.5) se muestra el panel para sntesis del bloque K, es posible elegir entre dise no
LQG, H
y controles SISO; cada metodo de dise no posee un panel auxiliar que permite ingresar los
par ametros de dise no.
LQG: Los par ametros de dise no son los pesos Q y R asociados a velocidad y se nal de control respec-
tivamente, adicionalmente es posible elegir entre la estructura de 1Dof o 2Dof.
Se puede elegir el mismo peso para todos los canales o elegir un peso diferente para cada canal
empleando la funci on de dise no LQG descrita en el captulo 3. Durante el dise no se adiciona un inte-
grador a cada canal para garantizar el desacople en lazo cerrado de forma que se recomienda aplicar
un esquema antiwindup al implementar esta estrategia.
50 CAP
: El dise no se basa en la funci on dhinfts el unico par ametro de dise no es el tiempo de levantamiento
el cual se puede ser escalar o vectorial, cuando se especica el tiempo para todos los canales o para
cada canal respectivamente.
Controladores SISO: Al asumir controladores SISO se asume que la planta es aproximadamente
diagonal. Los par ametros corresponden a la descripcion zpk(zero-pole-gain), para el controlador SISO
asociado al canal de forma que el controlador sera de la forma.
K =
_
_
k
1
Q
nc
i=0
(s+c
1
i
)
Q
np
i=0
(s+p
1
i
)
0
.
.
.
.
.
.
.
.
.
0 k
n
Q
nc
i=0
(s+c
n
i
)
Q
np
i=0
(s+p
n
i
)
_
_
En plantas no cuadradas se ajusta la dimensi on del compensador agregando las de ceros para el
caso m < n o columnas de ceros para el caso m > n.
5.2.2. Sntesis de W
La sntesis del elemento de desacople se puede realizar de forma est atica o dinamica, cuando el
desacople es est atico se busca que el producto GW sea una identidad para una frecuencia, un desacople
dinamico diagonaliza la planta para todas las frecuencias.
MIMO deveopment system
Conectado Puerto:Com1
Panta
Numero de entradas
Numero de sadas
Numero de estados
Estabe
K
Paso
Sntess Estructura
Impementacon
Importar mat fe
Importar de workspace
Tempo Amptud tmax
10 |1 -1| |1 5|
Tempo
Borrar
W
F
K W F
T
Desacope estatco
Desacope dnamco
cana 1 Sntetzar guaes
Evauar para
a frecuenca
10
Figura 5.4: Panel para sntesis del elemento de desacople W
En la interfaz se debe denir la frecuencia angular para la cual se desea evaluar la red de desacople
est atico usualmente se evalua para DC ( = 0) o para la frecuencia cruce (
3dB
) . La funci on de
desacople dinamico esta basada en la funci on desacople descrita en el captulo 3.
5.2.3. Sntesis de F
Como elemento de precompensacion se cuenta con ltros notch, pasaaltos y pasabajos, los par ame-
tros son similares para los tres casos, estos par ametros corresponden a la frecuencia del ltro, la pro-
fundidad y el ancho para el caso del ltro notch. Teniendo en cuenta que el ltro se aplica a los canales
de entrada del sistema realimentado se adiciono la posibilidad de sintonizar el lazo visualizando la
respuesta en frecuencia del ltro y el lazo con y sin preltro.
5.2. S
INTESIS 51
MIMO deveopment system
Conectado Puerto:Com1
Panta
Numero de entradas
Numero de sadas
Numero de estados
Estabe
K
Paso
Sntess Estructura
Impementacon
Importar mat fe
Importar de workspace
Tempo Amptud tmax
10 |1 -1| |1 5|
Tempo
Borrar
W
F
K W F
T
notch
Pasaato (ead)
cana 1 Sntetzar guaes
10
Pasaba|o (ag)
frecuenca
Habtar
Ancho
Profunddad
10
ver
Lazo
Figura 5.5: Panel para sntesis del precompensador F
Notch: El ltro notch rechaza una frecuencia de forma que se puede emplear para atenuar fenomenos
de resonancia en el sistema realimentado la forma general del ltro notch es.
W =
s
2
+ 2
1
s +
2
s
2
+ 2
2
+
2
Donde la profundidad depende de la relacion
1
y
2
la profundidad en decibeles esta dada por
profundidad
dB
= 20 log
10
_
2
_
El ancho del ltro dene el ancho de banda para el cual es efectiva la atenuacion.
Ejemplo Se asume que la funci on de lazo cerrado GWK(I +GWK)
1
tiene de la primer entrada
a la primer salida la funci on de transferencia
Slc
1,1
=
1
s
2
+s + 1
10
1
10
0
6
5
4
3
2
1
0
1
2
3
Singular Values
Frequency (rad/sec)
S
i
n
g
u
l
a
r
V
a
l
u
e
s
(
d
B
)
GWK(I+GWK)
1
FGWK(I+GWK)
1
F
Figura 5.6: Ejemplo de aplicacion de un ltro notch
Esta funci on posee un pico a en = 0,67rad/seg, usando un preltro se propone atenuar el pico
en frecuencia para lo cual se propone un ltro notch con frecuencia central en = 0,67rad/seg,
52 CAP
1
(s +
1
)
(s +
2
)
con
1
=
2
= 10
profundidad
20
Donde la profundidad especica la ganancia maxima del ltro el cual se encuentra normalizado para
tener ganancia unitaria en la banda de rechazo.
Pasabajo: Se emplea para reducir el ancho de banda del sistema realimentado emplea la funci on
prototipo.
F =
2
1
(s +
1
)
(s +
2
)
con
1
= 10
profundidad
20
2
=
La profundidad especica la atenuacion en decibeles cuando tiende a innito.
5.2.4. Sntesis del controlador central
El controlador central para la estructura WKF es un unico elemento que agrupa estos elementos
preservando el comportamiento en lazo cerrado en la gura (5.7) su sntesis depende de la estructura.
Estructura 1Dof sin preltro
En este caso el controlador resulta ser
Controlador: K
cen
= WK
Sensitividad Complementaria: T = GWK(I +GWK)
1
Sensitividad: S = (I +GWK)
1
Se nal de control: R = WK(I +GWK)
1
K W G
r y e
Estructura 1Dof con preltro
Siendo r
f
la referencia ltrada se plantea que r
f
= Fr , e = r
f
y entonces e = Fr y nalmente
u = WKe = WKFr WKy .
C: K
cen
=
_
WKF WK
T: T = GWK(I +GWK)
1
F
S: S = (I +GWK)
1
R: R = WKF(I +GWKF)
1
K W G
r y e
r
f
F
y
Estructura 2Dof
Se tiene la siguiente estructura en la cual rf = rF
de forma que la se nal de control es
u = WK
_
rf
y
_
= WKFry
K W G
r
y
r
f
F
y
De forma que el controlador central solo puede ser planteado en espacio de estados o fraccionando
el controlador K de la forma K =
_
K
r
K
y
ON 53
A
F
A
K
C
F
D
F
B
F
[Br By] C
K
D
K
A
W
B
W
C
W
D
W
G
_ _
_
r
y
u
x
f
x
f
x
k
x
k x
w
x
w
Figura 5.7: Representacion en espacio de estados del controlador central
_
_
x
W
x
K
x
F
_
_
=
_
_
A
W
B
W
C
K
B
W
D
K
C
F
0 A
K
B
r
C
F
0 0 A
F
_
_
_
_
x
W
x
K
x
F
_
_
+
_
_
B
W
D
K
D
F
0
B
r
D
F
B
y
B
F
0
_
_
_
r
y
_
(5.1)
u =
_
C
W
D
W
C
K
D
W
D
K
C
F
_
_
x
W
x
K
x
F
_
_
+
_
D
W
D
K
D
F
0
_
r
y
_
(5.2)
5.3. Implementacion
La implementacion consiste en descargar los coecientes que describen el controlador y almacenarlos
en el dispositivo de procesamiento. La interfaz cuenta con un panel que permite la conguracion del
dispositivo hardware dependiendo de la realizaci on, es posible modicar el tipo de operador, el tipo de
aritmetica, ajustar el periodo de muestreo y a nadir canales de antiwindup a la realizaci on. Cuando se
elige que el procesador debe realizar las operaciones usando punto jo es necesario especicar el n umero
de bits fraccionales; cuando se elige la implementacion con antiwindup se debe especicar el valor de
se nal de control maxima U
max
y mnima U
min
.
MIMO deveopment system
Conectado Puerto:Com1
Panta
Numero de entradas
Numero de sadas
Numero de estados
Estabe
Sntess Estructura
Impementacon
Tempo
Amptud tmax
10 |1 -1| |1 5|
Tempo
Controador centra
T
Caracterstcas de sstema
R1
Y1
R2
Y2
A1
CANAL ORIGEN
Ch anaogco 1
Potencometro 1
ch anaogco 2
ref externa 1
wndup ch1
E1 Ch4 - Ch5
Operador q
Formato foat
Bts
fracconaes
10
Perodo de muestreo 10 Auto
Antwndup 10 10 Umax Umn
Conectar
Descargar
Respuesta dea Vs respuesta Rea
Figura 5.8: Panel de implementacion
Se cuenta con una ventana para congurar el origen de los canales de entrada al dispositivo hardware,
dependiendo del metodo de dise no en la etapa de sntesis los canales son etiquetados con las letras E
(error), R (referencia), Y (salida) y A (antiwindup). E hace referencia a una se nal de error la cual
54 CAP
IA DE DISE
NO 55
Plantas inestables En plantas inestables no es posible sintetizar redes de desacople, la sntesis
H
presenta dicultades cuando hay polos sobre el eje imaginario, de forma que se cuenta con la
sntesis LQG como medio de dise no.
Durante la sntesis de debe tener en cuenta las siguientes recomendaciones.
Vericar si la relacion orden periodo de muestreo satisface las condiciones de implementacion ver
la gura (4.9).
Visualizar caractersticas como la se nal de control para garantizar que la se nal de control no
presenta desborde, vericar esto para varias se nales de entrada.
En lo posible utilizar punto otante como formato numerico con operador q para aplicaciones
practicas, las implementaciones en punto jo y operador se pueden emplear con nes academicos.
Cuando el controlador es dise nado empleando LQG y la planta es estable se recomienda realizar
la implementacion con AW.
Conclusiones
Es posible encontrar una red de desacople para cualquier sistema estable y cuadrado, permitiendo
reducir la interacci on de canales y facilitar la aplicaci on de otras tecnicas de dise no pero teniendo
como inconveniente que el orden del controlador implementado puede resultar elevado.
El uso del bloque F permite ajustar la respuesta nal del sistema ecualizando la respuesta frecuen-
cial de la funci on de lazo cerrado, es posible eliminar el sobrepico usando ltros notch, incrementar
el ancho de banda con un ltro pasaalto o reducirlo con un pasabajo.
56 CAP
3
s
2
+s+5
4(s2)
s
2
+5s+8
_
(6.1)
En la gura (6.1) se muestra el comportamiento de las realizaciones al emplear representaciones en
punto jo con 20, 19 , 8 y 5 bits fraccionales, en los dos casos las realizaciones se implementaron en
forma balanceada con un periodo de muestreo T
s
= 0,1s, del comportamiento observado se puede
concluir que
1. El rango dinamico de la realizaci on con operador es mayor entonces se pueden presentar de
desbordes numericos cuando se asignan muy pocos bits a la parte entera esto se demuestra en la
gura (6.1) en la cual se asign o 20 bits para la parte fraccional, se observa que la realizaci on
presenta desborde mientras que la realizaci on q se asemeja a la respuesta ideal.
2. Cuando se eligio la representacion A(12,19) la respuesta con operador q y operador son identicas.
3. La realizaci on con operador es mas sensible a la perdida de resolucion esto se verica en las
gracas en las cuales se emplea el formato A(23,8) y A(26,5) donde se observa que para la
realizaci on con 8 bits fraccionales hay un deterioro signicativo en la respuesta y para 5 bits
fraccionales se pierde estabilidad, por otra parte la realizaci on con operador q sufre un menor
deterioro.
4. En general una realizaci on con operador q presenta mejor condicionamiento numerico.
5. Algunas pruebas no mostradas en este documento mostraron que cuando la implementacion es
en punto otante el cambio de operador no afecta la implementacion.
57
58 CAP
ITULO 6. RESULTADOS
0 2 4 6 8 10
2
1
0
1
2
3
A
m
p
l
i
t
u
d
Fomato(11,20)
0 2 4 6 8
1
0
1
2
3
Formato A(12,19)
0 2 4 6 8 10
3
2
1
0
1
2
3
Tiempo
Formato A(26,5)
0 2 4 6 8 10
2
1
0
1
2
Tiempo
A
m
p
l
i
t
u
d
Formato A(23,8)
y
1
y
1
y
2
y
2
y
2
y
2
y
2
ideal
y
2
ideal
y
2
ideal
y
2
ideal
y
1
ideal
y
1
ideal
y
1
ideal y
1
ideal
y
2
y
2
q
y
1
q
y
1
q
y
1
q
y
2
q
y
1
q
y
1
q
r
1
r
1 r
1
r
1
r
2
r
2
r
2
y
1
y
2
q
Figura 6.1: Sistema emulado con operador y operador q en punto jo con diferentes formatos numericos
6.2. Efecto del formato numerico
Se dise nar a un sistema de control para la planta (6.2) este es un sistema estable 3 3 sin ceros
RHP es un sistema fuertemente acoplado como se observa en la gura (6.2.a) y ademas se encuentra
mal condicionado como se observa en la graca de valores singulares (6.2.b).
G =
_
_
1
s
2
+s+1
1
s+1
0
s+9
s+4
s2
s+8
1
s+3
1
s+1
3
s
2
+3s+2
1
s+3
_
_
(6.2)
10
2
10
1
10
0
10
1
10
2
40
30
20
10
0
10
Valores Singulares
Frequency (rad/sec)
S
i
n
g
u
l
a
r
V
a
l
u
e
s
(
d
B
)
0 5 10 15 20
2
1
0
1
2
3
Tiempo
A
m
p
l
i
t
u
d
Respesta al paso
.
m_
r
2
y
1
y
3
m
r
1
r
3
y
2
Figura 6.2: Caractersticas de la planta multivariable (a) Respuesta al paso (b) graco de valores
singulares
6.2. EFECTO DEL FORMATO NUM
ERICO 59
Eleccion de la estrategia de control Se intentar a sintetizar una red de desacople dinamico para
este sistema resulta de orden 60 de forma que no es viable su implementacion entonces se realiza el
dise no usando la sntesis LQG y H
.
En la gura (6.3) se presenta la respuesta al paso para controladores LQG y H
, se observa que el
dise no H
empleando for-
matos numericos de punto jo y punto otante los resultados se muestran en la gura 6.4.
0 2 4 6 8 10 12 14 16 18 20
1
0.5
0
0.5
1
1.5
2
Tiempo
A
m
p
l
i
t
u
d
r
3
r
1
y
1
ideal
r
2
y
2
ideal
y
3
p. fijo
y
3
flotante
y
1
flotante
y
1
p.fijo
y
3
ideal
y
2
flotante
y
2
p.fijo
Figura 6.4: Respuesta en lazo cerrado sistema con controlador H
ITULO 6. RESULTADOS
0 2 4 6 8 10 12 14 16 18 20
5
4
3
2
1
0
1
2
3
Tiempo (s)
S
e
a
l
d
e
c
o
n
t
r
o
l
u3
p.fijo
u3
p.flotante
u2
ideal
u1
ideal
u3
ideal
Figura 6.5: Se nal de control sistema con controlador H
s0,2
s
2
+2s+4
0
0
1
s+1
_
El cual corresponde a un sistema de dos entradas dos salidas desacopladas, este sistema se discre-
tiz o con un periodo de muestreo T
s
= 10ms y se implement o en punto jo con un fomato A(19, 12). En
0 5 10 15 20 25 30
5
0
5
A
m
p
l
i
t
u
d
(
V
)
0 5 10 15 20 25 30
2
0
2
4
Tiempo (seg)
A
m
p
l
i
t
u
d
(
V
)
u
2
y
1
u
1
y
2
Figura 6.6: Respuesta del sistema emulando una planta 2 2 desacoplada
la gura 6.6 se muestra el comportamiento del sistema desacoplado, en esta misma graca se presenta
el comportamiento ideal del sistema resultando igual al sistema implementado.
6.3. CASOS DE ESTUDIO 61
sistema acoplado
Se tomo el sistema desacoplado y se a nadi o funciones de transferencia para crear interacci on entre
lazos resultando el siguiente sistema.
H =
_
s0,2
s
2
+2s+4
1
s+6
s2
s+5
1
s+1
_
0 2 4 6 8 10 12 14 16 18 20 22
5
0
5
A
m
p
l
i
t
u
d
(
V
)
0 2 4 6 8 10 12 14 16 18 20 22
5
0
5
10
Tiempo (S)
A
m
p
l
i
t
u
d
(
V
)
y
2
U
1 U
2
y
1
U
1
U
2
Figura 6.7: Respuesta del sistema emulando una planta 2 2 acoplada
La implementacion se realizo con un periodo de muestreo T
s
= 10mS usando operador en punto
otante , en la gura 6.7 se presenta el comportamiento del sistema con respecto al comportamiento
ideal, donde se observa que se encuentran completamente sobrepuestas .
6.3.2. Control
Las pruebas de control de sistemas tienen como nalidad el vericar la capacidad del dispositivo
para operar en lazo cerrado y lograr controlar un sistema.
Control de un sistema Siso
Se propone el control del sistema
G =
1
s
2
+ 0,5s + 1
El cual es un sistema SISO con frecuencia natural
n
= 1 y = 0,25 lo cual lo hace un sistema con
poco amortiguamiento y un sobrepico mayor al 40 %.
Usando la interfaz de usuario se implement o un controlador LQG con funci on de transferencia:
K =
2s
2
+s + 1,5
s
3
+ 2,5s
2
+ 3,5s
En la 6.8 se muestr a el comportamiento en lazo cerrado para una implementacion en punto jo A(23, 8)
con operador q, donde la lnea continua corresponde a la respuesta del lazo hardware in the loop, y la
linea punteada corresponde a la respuesta ideal. En este caso se observan algunas diferencias debido a
que la implementacion asigna muy pocos bits a la parte fraccional sin embargo la respuesta obtenida
muestra una tendencia hacia la respuesta ideal.
62 CAP
ITULO 6. RESULTADOS
0 5 10 15 20 25 30 35 40 45 50
1
0
1
2
3
4
5
6
Tiempo (S)
A
m
p
l
i
t
u
d
(
V
)
u
1
yi
1
y
1
Figura 6.8: Respuesta en lazo cerrado para una planta siso con control LQG
6.3.3. Control LQG
Se propone el control de un sistema acoplado representado por la matriz de transferencia
G =
_
1
s+3
3
s+5
5
s+10
2
s
2
+s+8
_
Usando la interfaz de usuario se dise no un controlador LQG usando como pesos [Q=10, R=1] para
ambos canales. El controlador est a dado por la siguiente expresion:
K =
1
Den
_
0,29(s 6,27)(s + 5,53)(s + 3,05)(s + 10,33)(s + 1,52) 3,59(s + 3,05)(s + 6,95)(s + 10,02)(s
2
+ 1,137s + 7,76)
3,39(s + 11,98)(s + 5,02)(s + 2,99)(s
2
+ 1,38s + 8,63) 0,21(s + 16,17)(s + 10,15)(s + 5,03)(s
2
+ 1,31s + 8,40)
_
Den = s(s + 11,99)(s + 6,97)(s + 3,04)(s
2
+ 1,37s + 8,55)
La implementacion se realizo con operador q y formato de punto otante y un periodo de muestreo de
T
s
= 10mS.
0 5 10 15 20 25 30 35 40
1
0
1
A
m
p
l
i
t
u
d
(
V
)
0 5 10 15 20 25 30 35 40
2
0
2
Tiempo (s)
A
m
p
l
i
t
u
d
(
V
)
y
1
u
1
u
2
y
2
yi
2
yi
1
Figura 6.9: Respuesta en lazo cerrado para un sistema multivariable con control LQG
La gura 6.9 presenta en linea continua el comportamiento en lazo cerrado obtenido bajo el esquema
hardware in the loop, la lnea punteada corresponde al comportamiento ideal, se observan algunas
diferencias sobretodo para t = 0 ya que en el inicio de la prueba los estados del controlador no eran
cero como en el modelo ideal. tambien se observan algunas diferencias no muy notorias durante el
transcurso de la prueba.
6.3. CASOS DE ESTUDIO 63
6.3.4. Control H
Para el dise no H
La gura 6.10 muestra el comportamiento en lazo cerrado, donde se observa que al igual que con
el controlador LQG las diferencias signicativas se deben principalmente a la condicion inicial del
controlador.
Conclusiones
En una implementacion en punto otante usando operador y operador q la respuesta resultan
indistinguibles, debido a que este formato numerico presenta un gran rango dinamico, cuando la
implementacion se realiza en punto jo la realizaci on con operador requiere un estudio para
determinar el formato numerico apropiado y as evitar problemas de desborde numerico o perdida
de resolucion.
Se observo que las realizaciones con operador presentan mayor sensibilidad al formato numerico,
como la matriz A
ITULO 6. RESULTADOS
Conclusiones
6.4. Conclusiones
Al adicionar integradores en el lazo de control se garantiza la reduccion del acople entre canales
pero se compromete la estabilidad de la realizaci on lo cual puede traer problemas por los posibles
desbordes numericos; se debe garantizar que las implementaciones digitales sean estables o por lo
menos implementar tecnicas de saturacion numerica o de deteccion de saturacion en actuadores
para prevenir el crecimiento de las variables de estado.
Las formas canonicas se caracterizan por tener un considerable n umero de coecientes cero dis-
minuyendo el n umero de operaciones necesarias para evaluar la realizaci on, esto trae como con-
secuencia que la realizaci on se hace mas sensitiva a la variacion de coecientes.
La forma es una realizaci on no mnima que puede resultar de ayuda en implementaciones donde
no hay restriccion en el tiempo de procesamiento y se cuenta con frecuencias de muestreo elevadas,
en esta realizaci on el valor de los coecientes y de los estados tiende a ser grande de forma que
los decimales se pueden hacer despreciables.
En sistemas estables el c alculo de redes de desacople resulta simple y permite que el dise no de
controladores multivariables se convierta en un problema SISO.
La solucion del problema de sensibilidad mixta permite especicar mediante pesos caractersticas
como el tiempo de establecimiento, sobrepico y amplitud de la se nal de control, el uso de los
pesos tiene como desventaja el incremento en el orden del controlador, en un controlador LQG
los pesos aplicados nunca alteran el orden del controlador resultando en un controlador con el
mismo orden de la planta para regulacion o planta mas n umero de entradas cuando se adicionan
integradores para seguimiento de referencia.
El esquema antiwindup propuesto es aplicable unicamente a controladores con integrador en
plantas estables. Debido a la funci on saturacion que relaciona la salida del controlador con la
entrada, el controlador es no lineal y el analisis de estabilidad no puede realizarse aplicando la
teora de sistemas lineales, se podra emplear el teorema de estabilidad de Lyapunov.
En una implementacion de punto jo la eleccion del n umero de bits fraccionales es fundamental,
cuando el controlador es estable es posible recurrir a la norma innito para estimar el valor maximo
de las variables de estado de forma que se puede determinar el n umero de bits enteros mnimos
necesarios y dejando los sobrantes como bits fraccionales, cuando el controlador es inestable (en
lo posible solo por poseer integradores) el n umero de bits para la parte entera tiende a innito
siendo obligatorio el uso de una tecnica antiwindup.
Se propuso una metodo para determinar el formato numerico para implementaciones en punto
otante con operador q.
Para implementaciones en punto jo las formas balanceadas resultan ser la mejor alternativa , el
estudio comparativo mostro que en general este tipo de realizaciones debido a su condicionamien-
to numerico pueden ser evaluadas empleando un menor n umero de bits enteros siendo posible
aumentar en n umero de bits fraccionales mejorando la presici on.
65
66 CONCLUSIONES
Las formas observable y controlable presentan un signicativo n umero de coecientes iguales a
cero de forma que su tiempo de procesamiento resultara menor, pero al analizar el n umero de
bits enteros se concluye que restan presici on a la implementacion.
El tiempo de procesamiento de una realizaci on depende principalmente del n umero de estados,
en sistemas multivariables la adici on de un canal (entrada- salida) resulta equivalente a aumentar
la realizaci on un estado.
Se esperaba que para realizaciones en punto otante el tiempo de procesamiento resultara con-
siderablemente mayor con respecto a las implementaciones en punto jo, pero las mediciones
realizadas muestran que son muy similares, un analisis detallado revelo que la componente do-
minante del tiempo de procesamiento se encuentra en el direccionamiento, lectura de memoria y
adquisici on de se nales analogicas.
Debido a que no hay diferencias signicativas en el tiempo de procesamiento al cambiar el formato
numerico se recomienda el uso de realizaciones en punto otante y de esta forma evitar problemas
de desborde numerico y escalamiento.
Es posible encontrar una red de desacople para cualquier sistema estable y cuadrado, permitiendo
reducir la interacci on de canales y facilitar la aplicaci on de otras tecnicas de dise no pero teniendo
como inconveniente el orden de implementacion que puede resultar elevado.
El uso del bloque F permite ajustar la respuesta nal del sistema ajustando la respuesta frecuen-
cial de la funci on de lazo cerrado, es posible eliminar el sobrepico usando ltros notch, incrementar
el ancho de banda con un ltro pasaalto o reducirlo con un pasabajo.
En una implementacion en punto otante usando operador y operador q la respuesta resultan
indistinguibles, debido a que este formato numerico presenta un gran rango dinamico, cuando la
implementacion se realiza en punto jo la realizaci on con operador requiere un estudio para
determinar el formato numerico apropiado y as evitar problemas de desborde numerico o perdida
de resolucion.
Se observo que las realizaciones con operador presentan mayor sensibilidad al formato numerico,
como la matriz A
y C =
_
C D
y sus caractersticas.
http://www.youtube.com/watch?v=vfz_PYRuLyM
Dise no multivariable parte 4: Se dise na un sistema con red de desacople, compensador y precom-
pensador.
http://www.youtube.com/watch?v=p-uYYhpeobM
Dise no de controladores: Se aborda el dise no de controladores para plantas SISO y plantas mul-
tivariables rectangulares.
http://www.youtube.com/watch?v=cNje1EDvMgg
78 APENDICE 2
Bibliografa
[1] R. Brockett, Poles, zeros, and feedback: State space interpretation, Automatic Control, IEEE
Transactions on, vol. 10, no. 2, pp. 129135, 1965.
[2] W. Wonham, On pole assignment in multi-input controllable linear systems, Automatic Control,
IEEE Transactions on, vol. 12, no. 6, pp. 660665, 1967.
[3] J. Pearson and C. Ding, Compensator design for multivariable linear systems, Automatic Con-
trol, IEEE Transactions on, vol. 14, no. 2, pp. 130134, 1969.
[4] I. Horowitz, Synthesis of linear, multivariable feedback control systems, Automatic Control, IRE
Transactions on, vol. 5, no. 2, pp. 94105, 1960.
[5] I. Horowitz, Design of multiple-loop feedback control systems, Automatic Control, IRE Tran-
sactions on, vol. 7, no. 3, pp. 4757, 1962.
[6] E. Bristol, On a new measure of interaction for multivariable process control, Automatic Control,
IEEE Transactions on, vol. 11, no. 1, pp. 133134, 1966.
[7] C. Liu and N. Bergman, On necessary conditions for decoupling multivariable control systems,
Automatic Control, IEEE Transactions on, vol. 15, no. 1, pp. 131133, 1970.
[8] A. MacFarlane, The development of frequency-response methods in automatic control, Automa-
tic Control, IEEE Transactions on, vol. 24, no. 2, pp. 250265, 1979.
[9] M. Safonov and M. Athans, Gain and phase margin for multiloop LQG regulators, Automatic
Control, IEEE Transactions on, vol. 22, no. 2, pp. 173179, 1977.
[10] P. Paraskevopoulos, On the Design of PID Output Feedback Controllers for Linear Multivariable
Systems, Industrial Electronics and Control Instrumentation, IEEE Transactions on, pp. 1618,
1980.
[11] V. Klema and A. Laub, The singular value decomposition: Its computation and some applica-
tions, Automatic Control, IEEE Transactions on, vol. 25, no. 2, pp. 164176, 1980.
[12] B. Moore, Principal component analysis in linear systems: Controllability, observability, and
model reduction, Automatic Control, IEEE Transactions on, vol. 26, no. 1, pp. 1732, 1981.
[13] I. Postlethwaite, J. Edmunds, and A. MacFarlane, Principal gains and principal phases in the
analysis of linear multivariable feedback systems, Automatic Control, IEEE Transactions on,
vol. 26, no. 1, pp. 3246, 1981.
[14] L. Pernebo, An algebraic theory for design of controllers for linear multivariable systemsPart I:
Structure matrices and feedforward design, Automatic Control, IEEE Transactions on, vol. 26,
no. 1, pp. 171182, 1981.
[15] L. Pernebo, An algebraic theory for design of controllers for linear multivariable systemsPart II:
Feedback realizations and feedback design, Automatic Control, IEEE Transactions on, vol. 26,
no. 1, pp. 183194, 1981.
79
80 BIBLIOGRAF
IA
[16] J. Doyle and G. Stein, Multivariable feedback design: Concepts for a classical/modern synthesis,
Automatic Control, IEEE Transactions on, vol. 26, no. 1, pp. 416, 1981.
[17] J. Wu, S. Chen, G. Li, and J. Chu, Optimal controller realisation with the smallest dynamic
range, 2006.
[18] P. Moroney, A. Willsky, and P. Houpt, The digital implementation of control compensators: The
coecient wordlength issue, Automatic Control, IEEE Transactions on, vol. 25, no. 4, pp. 621
630, 1980.
[19] D. Viassolo and M. Rotea, Optimal scaling of digital controllers, Circuits and Systems I: Fun-
damental Theory and Applications, IEEE Transactions, vol. 46, no. 4, pp. 500505, 1999.
[20] J. Slaughter, Quantization errors in digital control systems, Automatic Control, IEEE Transac-
tions on, vol. 9, no. 1, pp. 7074, 1964.
[21] D. W. Mario Rotea, Optimal realizations of nite wordlength digital lters and controllers, IEEE
transactions on circuits and systems, vol. 42, pp. 6172, February 1995.
[22] D. Viassolo, Implementation of Digital Controllers, Masters thesis, Purdue University, USA,
1996.
[23] J. Wu, S. Chen, G. Li, and J. Chu, Digital nite-precision controller realizations with sparseness-
considerations, Intelligent Control and Automation, 2000. Proceedings of the 3rd World Congress
on, vol. 4, 2000.
[24] J. Hao and G. Li, Optimal/spl rho/-realisation for digital controller implementation with stability
consideration, Electronics Letters, vol. 40, no. 4, pp. 226227, 2004.
[25] P. Lundstrom, S. Skogestad, and J. Doyle, Two-degree-of-freedom controller design for an ill-
conditioneddistillation process using -synthesis, Control Systems Technology, IEEE Transactions
on, vol. 7, no. 1, pp. 1221, 1999.
[26] V. U. V. A P Loh, Multiloop Controller Design for Multivariable Plants, Proceedings of the 31
st Conference on Decision and Control, pp. 181182, 1992.
[27] L. Bermeo, Sistema de desarrollo de controladores lineales siso sobre microcontrolador embebido,
Masters thesis, Universidad Nacional de Colombia, 2003.
[28] W. Tan, H. Marquez, and T. Chen, Multivariable robust controller design for a boiler system,
Control Systems Technology, IEEE Transactions on, vol. 10, no. 5, pp. 735742, 2002.
[29] A. C. D. Y. Zhang, L Shieh, PID controller design for disturbed multivariable systems, Proc.
Control Theory Appl., vol. 151, no. 5, pp. 567577, 2004.
[30] B. C. C. Daniel Chunlong Hu, Multivariable Controller Design for Hard Drive Dual-stage Actuator
Servo Systems, International conference on mechatronics, pp. 404410, 2005.
[31] R. Chiang and M. Safonov, MATLAB Robust Control Toolbox,
[32] K. Astrom and K. Wang, Design of decoupled PID controllers for MIMO systems, American
Control Conference, 2001. Proceedings of the 2001, vol. 3, 2001.
[33] P. Albertos and A.Sala, Multivariable Control System: An Engineering Approach. Springer, August
2003.
[34] R. Kalman, Mathematical description of linear dynamical systems, Siam, vol. 1, no. 2, pp. 152
192, 1963.
[35] D. Luenberger, Observers for multivariable systems, Transactions on Automatic Control,
vol. AC-11, pp. 190198, April 1966.
BIBLIOGRAF
IA 81
[36] P. A. Gahinet P, A linear matrix inequality approach to h