Vous êtes sur la page 1sur 82

Aviones Pitch: Modelado del Sistema

MATLAB comandos clave utilizados en este tutorial son: tf , ss


Contenido
 Configuración física y ecuaciones del sistema

 Modelos de espacio de estado Función de transferencia y

 Requisitos de diseño

 MATLAB representación
Configuración física y ecuaciones del sistema
Las ecuaciones que gobiernan el movimiento de una aeronave son un conjunto muy complicado de seis

ecuaciones diferenciales acopladas no lineales. Sin embargo, bajo ciertas suposiciones, que pueden ser

desacoplados y linealizadas en ecuaciones longitudinal y lateral. Pitch aviones se rige por la dinámica

longitudinal. En este ejemplo vamos a diseñar un piloto automático que controla el paso de un avión.

Los ejes de coordenadas básicas y las fuerzas que actúan sobre una aeronave se muestran en la figura dada

a continuación.

Vamos a suponer que la aeronave se encuentre en firme de un crucero a la altitud y la velocidad constante,

por lo que las fuerzas de empuje, resistencia, peso y ascensor equilibran entre sí en el x - y Ÿ -

direcciones. También vamos a suponer que un cambio en el ángulo de paso no va a cambiar la velocidad de

la aeronave en ningún caso (poco realista, pero simplifica el problema un poco). Bajo estos supuestos, las

ecuaciones de movimiento longitudinal de la aeronave se puede escribir de la siguiente manera.

(1)

(2)
Por favor, consulte los libros de texto relacionados con las aeronaves para la explicación de cómo derivar

estas ecuaciones. También puede consultar el Extras: Variables de sistema Pitch Aircraft página para ver una

explicación más detallada de lo que representa cada variable.

Para este sistema, la entrada será el ángulo de deflexión del elevador y la salida será el ángulo de cabeceo

de la aeronave.
Modelos de espacio de estado Función de transferencia y
Antes de encontrar la función de transferencia y los modelos de espacio de estado, vamos a conectar algunos

valores numéricos para simplificar las ecuaciones del modelo se muestra arriba:

(3)

(4)

(5)

Estos valores se toman de los datos de uno de los aviones comerciales de Boeing.

1. Función de transferencia

Para encontrar la función de transferencia del sistema anterior, tenemos que tomar la transformada de

Laplace de las ecuaciones del modelo de arriba. Recordemos que cuando la búsqueda de una función de

transferencia, condiciones iniciales nulas deben ser asumidas. La transformada de Laplace de las ecuaciones

anteriores se muestran abajo.

(6)

(7)

(8)

Después de unos pasos del álgebra, usted debe obtener la siguiente función de transferencia.

(9)

2. Espacio de estado

Reconociendo el hecho de que las ecuaciones del modelo de arriba ya están en forma de variables de estado,

se puede volver a escribir como matrices, como se muestra a continuación.

(10)

Desde nuestra salida es el ángulo de lanzamiento, la ecuación de salida es el siguiente.

(11)
Requisitos de diseño
El siguiente paso es elegir algunos criterios de diseño. En este ejemplo vamos a diseñar un controlador

realimentado de modo que, en respuesta a una orden de paso de ángulo de paso de las echada overshoots

ángulo real inferior al 10%, tiene un tiempo de subida de menos de 2 segundos, un tiempo de establecimiento

de menos de 10 segundos y un error de estado estacionario de menos de 2%. Por ejemplo, si la referencia es

de 0,2 radianes (11 grados), el ángulo de inclinación no superior a aproximadamente 0,22 rad, pasará de 0,02

a 0,18 rad rad en 2 segundos, se instalará dentro del 2% de su valor de régimen permanente dentro de 10

segundos y se asentará entre 0.196 y 0.204 radianes en estado estacionario.

En resumen, los requisitos de diseño son las siguientes.


 Sobrepico menor que 10%

 Tiempo de subida menos de 2 segundos

 Tiempo de establecimiento menor de 10 segundos

 Error de estado estacionario menor del 2%


MATLAB representación
Ahora, estamos listos para representar el sistema usando MATLAB. Ejecutar el siguiente código en la ventana

de comandos generará el modelo de función de transferencia en lazo abierto descrito anteriormente.

s = tf ( 's' );

P_pitch = (1.151 * s 0,1774) / (s ^ 3 0,739 * s ^ 2 * 0.921 s)

P_pitch =

1.151 s + 0.1774

-------------------------

s ^ 3 + 0.739 s ^ 2 + 0,921 s

Función de transferencia de tiempo continuo.

Para generar el modelo de espacio de estados se ha descrito anteriormente, en vez ingrese los siguientes

comandos en la línea de comandos.

A = [-0.313 56,7 0; -0.0139 -0.426 0, 0 56,7 0];

B = [0.232, 0.0203, 0];

C = [0 0 1];

D = [0];

pitch_ss = ss (A, B, C, D)

pitch_ss =
a =

x1 x2 x3

x1 -0.313 56,7 0

x2 -0.0139 -0.426 0

x3 0 56,7 0

b =

u1

x1 0.232

x2 0.0203
x3 0

c =

x1 x2 x3

y1 0 0 1

d =

u1

y1 0

Modelo de estado-espacio tiempo continuo.

Nota: Es posible convertir un modelo de espacio de estados para transferir forma de función, o viceversa

utilizando MATLAB. Para obtener más información sobre conversiones, consulte el Extras: Sistema de

Conversiones página.

Aviones Paso: Análisis del Sistema


MATLAB comandos clave utilizados en este tutorial
son: tf , paso , polos , cero , retroalimentación , residuos
Contenido
 Respuesta a lazo abierto

 Respuesta a lazo cerrado


Desde el problema principal, las ecuaciones dinámicas en el dominio de Laplace y la función de transferencia

en bucle abierto de la dinámica de cabeceo de la aeronave son:

(1)

(2)

(3)

(4)

Por originales del problema y la derivación de las ecuaciones de arriba, por favor consulte el Paso del avión:

Modeling System página

Para una referencia de paso, los criterios de diseño son las siguientes.
 Sobrepico menor que 10%

 Tiempo de subida menos de 2 segundos


 Tiempo de establecimiento menor de 10 segundos

 Error de estado estacionario menor del 2%


Respuesta a lazo abierto
En primer lugar crear un nuevo archivo-m y tipee los siguientes comandos (consulte el principal problema para

los detalles de cómo obtener estos comandos).

s = tf ( 's' );

P_pitch = (1.151 * s 0,1774) / (s ^ 3 0,739 * s ^ 2 0.921 * s);

Ahora vamos a ver cómo funciona el sistema en lazo abierto sin compensación. En concreto, vamos a utilizar
el comando de MATLAB paso para analizar la respuesta al escalón a lazo abierto en el que hemos reducido

la entrada de representar una entrada ángulo ascensor ( ) de 0,2 radianes (11 grados). Agregue los

siguientes comandos al final del archivo-m y ejecútelo en la ventana de comandos de MATLAB y obtendrá la

trama asociada se muestra a continuación.

t = [0:0.01:10];

paso (0.2 * P_pitch, t);

axis ([0 10 0 0,8]);

ylabel ( 'ángulo de paso (rad)' );

título ( 'Respuesta a un escalón a lazo abierto' ) ;


En el gráfico de arriba, vemos que la respuesta a lazo abierto no satisface los criterios de diseño en

absoluto. De hecho, la respuesta de bucle abierto es inestable.Estabilidad de un sistema se puede determinar

mediante el examen de los polos de la función de transferencia donde los polos se pueden identificar usando
el comando de MATLAB polo como se muestra a continuación.

polos (P_pitch)

ans =

+ 0.8857i -0,3695

-0,3695 - 0.8857i

Como se indica por esta función, uno de los polos de la función de transferencia en bucle abierto es en el eje

imaginario, mientras que los otros dos polos están en la mitad izquierda de la compleja s -plano. Un poste en

el eje imaginario indica que la respuesta libre del sistema no crecerá sin límites, sino que además no se

deteriorará a cero. A pesar de que la respuesta libre no crecerá sin límites, un sistema con un polo en el eje

imaginario puede crecer acotada cuando dada una entrada, incluso cuando se limita la entrada. Este hecho

está en concordancia con lo que ya hemos visto. En este caso particular, el polo en el origen se comporta

como un integrador. Por lo tanto, cuando el sistema se da un paso de entrada de su producción continúa
creciendo hasta el infinito de la misma manera que una integral de una constante crecería hasta el infinito

como el límite superior de la integral se hace más grande.


Respuesta a lazo cerrado
Con el fin de estabilizar el sistema y, finalmente, cumplir con nuestros requisitos de diseño dados, vamos a

agregar un controlador de retroalimentación. La siguiente figura ilustra la arquitectura de control vamos a

emplear.

La función de transferencia en lazo cerrado de los anteriores con el controlador C ( s ) simplemente igual a
uno se puede generar con el comando MATLABrealimentación como se muestra a continuación.

sys_cl = retroalimentación (P_pitch, 1)

sys_cl =

1,151 s + 0.1774

----------------------------------
s ^ 3 + 0.739 s ^ 2 + 2.072 s + 0.1774

función de transferencia de tiempo continuo.

La respuesta al escalón correspondiente se puede generar mediante la adición de los comandos anteriores y

siguientes a su archivo-m. Tenga en cuenta que la respuesta se escala para modelar el hecho de que la

referencia de ángulo de paso es un radianes (11 grados) paso 0.2. El funcionamiento de su archivo-m en la

línea de comandos producirá la trama se muestra a continuación, donde las anotaciones para el tiempo de

subida, tiempo y valor final de la solución se puede añadir a la trama desde el menú del botón derecho en

virtud Características .

el paso (0.2 * sys_cl);


ylabel ('ángulo de paso (rad)');

title ('Respuesta a lazo cerrado Step');

El examen de la respuesta de paso de bucle cerrado anteriormente, la adición de retroalimentación se ha

estabilizado el sistema. De hecho, aparece el error de estado estacionario para ser conducido a cero y no hay

exceso en la respuesta, aunque el tiempo de subida y los requisitos de resolver a tiempo parcial no se

cumplen. El carácter de la respuesta al escalón resultante se indica en la ubicación de los polos y ceros de la

función de transferencia del sistema, de una manera similar a la forma en propiedades de estabilidad del
sistema eran. El MATLAB comandos de polo y cero pueden ser utilizados para revelar los polos y ceros de

la función de transferencia de bucle cerrado como se muestra a continuación.

= polos magnéticos (sys_cl)

ceros = cero (sys_cl)

polos =

-0.3255 + 1.3816i

-0,3255 - 1.3816i

-0.0881
ceros =

-0.1541

Los resultados anteriores demuestran que la función de transferencia en lazo cerrado es de tercer orden con

un cero. La mayoría de las relaciones que nos son familiares para predecir el carácter de respuesta a un

escalón de un sistema de suponer un sistema de segundo orden subamortiguado estándar sin ceros. Por lo

tanto, no podemos confiar en estas relaciones para este sistema. Podemos, sin embargo, transformar la

salida de vuelta al dominio del tiempo para generar una función de tiempo de respuesta del sistema para

obtener una idea de cómo los polos y ceros de la función de transferencia a lazo cerrado afectan la respuesta

del sistema.Suponiendo que la función de transferencia de bucle cerrado tiene la forma Y ( s ) / R ( s ), la

salida Y ( s ) en el dominio de Laplace se calcula como sigue, donde R ( s ) es un paso de magnitud 0,2.

(5)

(6)

A continuación, puede realizar una expansión en fracciones parciales con el fin de romper esta expresión en

términos más simples que espero reconocemos y somos capaces de refugio contra el dominio de Laplace de
nuevo al dominio del tiempo. En primer lugar vamos a utilizar el comando MATLAB ZPK para factorizar el

numerador y el denominador de nuestra salida Y ( s ) en términos simples.

R = 0,2 / s;

Y = ZPK (sys_cl * R)

Y =

0.2302 (0.1541 s)

-------------------------------------

s (s 0,08805 ) (s ^ 2 + 0.6509s + 2.015)

cero tiempo continuo / poste / modelo de ganancia.

Basado en lo anterior, el denominador de nuestra salida Y ( s ) puede tenerse en cuenta en un término de

primer orden para el polo real de la función de transferencia, un término de segundo orden para los polos

complejos conjugados de la función de transferencia, y un polo en el origen de la entrada de paso. Por lo

tanto, se desea ampliar Y ( s ) como se muestra a continuación.

(7)

(8)
Los valores específicos de las constantes A , B , C , y D se pueden determinar por cálculo a mano o utilizando
el comando de MATLAB residuo para llevar a cabo la expansión en fracciones parciales tal como se

muestra a continuación. Aquí, la sintaxis es la [r, p, k] = residuo (num, den) donde num y den son

arrays que contienen los coeficientes del numerador y denominador, respectivamente, de la función de

Laplace está ampliando. Observe que la matriz denominador incluye un marcador de posición cero ya que no

hay término constante en el denominador de Y ( s ).

[R, p, k] = residuo (0,2 * [1.151 0.1774], [1 0.739 2.072 0.1774 0])

r =

-0.0560 + 0.0160i

-0,0560 - 0.0160i
-0,0879

0,2000

p =

-0.3255 + 1.3816i

-0,3255 - 1.3816i

-0,0881

k =

[]

En lo anterior, R es una matriz que contiene los residuos de la expansión en fracciones parciales, es decir, los

coeficientes del numerador en la expansión. La matriz de pcontiene los polos del sistema en donde el orden

se corresponde con el orden de los residuos en r . El término directa k está vacío en este caso, ya que será

en general desde la polyonomial numerador será generalmente de un orden menor que el polinomio

denominador. Sobre la base de lo anterior, los coeficientes A y B en nuestra expansión son iguales a 0,2 y

-0,0881, respectivamente. El coeffients C y D se pueden determinar mediante la combinación de los términos

de los polos complejos conjugados de nuevo en una sola expresión, como se muestra a continuación.

[Num, den] = residuo (r (01:02), p (01:02), k),

tf (num, den)

ans =

-0.1121 s - 0.08071

----------------------

s ^ 2 + 0.6509 s 2,015 +
función de transferencia de tiempo continuo.

Basado en lo anterior, C = -0.1121 y D = -0,08071 y nuestra resultante expansión en fracciones parciales se

puede expresar de la siguiente manera.

(9)

El empleo de una tabla transformada de Laplace, la transformada inversa de Laplace de la expresión anterior

se puede tomar para generar la correspondiente expresión de dominio de tiempo se muestra a

continuación. Si usted tiene la adición Symbolic Math Toolbox para MATLAB, puede utilizar el
comando laplace para realizar la inversión.

El examen de la anterior, cada término corresponde a un polo de Y ( s ) donde la parte real del polo describe

el decaimiento exponencial (o crecimiento) de que el modo y la parte imaginaria del polo corresponde a la

frecuencia de oscilación del modo. El efecto de ceros es alterar los coeficientes de multiplicación de cada uno

de los términos. En otras palabras, ceros afectan a la contribución relativa de cada uno de los modos. El

ejemplo anterior ayuda a dar una idea de cómo polos y ceros en el dominio de Laplace indican el

comportamiento correspondiente del sistema en el dominio del tiempo.

Introducir el siguiente código en la ventana de comandos de MATLAB generará la gráfica que se muestra
debajo de la cual los partidos (en redondeo) la trama generada mediante el paso anterior comando.

t = [0:0.1:70];

. y = 0,2 a 0,0881 * exp (-0,08805 * t) - exp (-0,3255 * t) * (0.1121 * cos

(1,3816 * t) 0,0320 * sin (1,3816 * t ));

parcela (t, y)

xlabel ( 'tiempo (segundos)' );

ylabel ( 'ángulo de paso (rad)' );

título ( 'Respuesta de paso en bucle cerrado' );


El gráfico de arriba muestra una vez más que este sistema de circuito cerrado no cumple con los requisitos de

diseño dado. Las páginas subsiguientes de este ejemplo describen varias técnicas de diseño de controlador

que producen sistemas de bucle cerrado que hacen generar el comportamiento del sistema deseada.

Aviones Pitch: Diseño del controlador PID


MATLAB comandos clave utilizados en este tutorial son: sisotool
Contenido
 El control proporcional

 Control PI

 Control PID

Partir del problema principal, la función de transferencia a lazo abierto para la dinámica de paso de aviones es

(1)

donde la entrada es ascensor ángulo de desviación y la salida es el ángulo de cabeceo de la aeronave .

Por originales del problema y la derivación de la función de transferencia anterior, consulte el Paso del avión:

Modeling System página.

Para una referencia de paso de 0,2 radianes, los criterios de diseño son las siguientes.
 Sobrepico menor que 10%

 Tiempo de subida menos de 2 segundos

 Tiempo de establecimiento menor de 10 segundos

 Error de estado estacionario menor del 2%

Recuerde que en la Introducción: diseño del controlador PID página que la función de transferencia para un

controlador PID es la siguiente.

(2)

Vamos a aplicar combinaciones de proporcional ( Kp ), integral ( Ki ), y derivado ( Kd de control) en la

arquitectura de retroalimentación unitaria se muestra a continuación con el fin de lograr el comportamiento

deseado del sistema.

En particular, vamos a tomar ventaja de las capacidades de ajuste automáticos de la herramienta de diseño

SISO en MATLAB para diseñar nuestro controlador PID. En primer lugar, introduzca el código siguiente en la

línea de comandos para definir el modelo de la planta de P ( s ). Consulte el Paso del avión: Modeling

System página para detalles de cómo obtener estos comandos.

s = tf ( 's' );

P_pitch = (1.151 * s 0,1774) / (s ^ 3 0,739 * s ^ 2 0.921 * s);

El control proporcional
Vamos a empezar por el diseño de un controlador proporcional de la forma C ( s ) = Kp . La herramienta de
diseño SISO vamos a utilizar para el diseño se puede abrir tecleando sisotool (P_pitch) en la línea de

comandos. Esto abrirá tanto el SISO Design Tarea ventana, así como el control y estimación Manager

Tools ventana. ElGrupo de Diseño SISO ventana inicialmente se abrirá con un lugar de las raíces y

diagrama de Bode para la función de transferencia de la planta prevista y puede ser empleado para la gráfica

sintonizar un controlador. Ya que vamos a aplicar la función de ajuste automático de la herramienta de

diseño SISO , puede cerrar la tarea de diseño SISO ventana.


El control y Estimación Administrador de Herramientas ventana muestra la arquitectura del sistema de

control está diseñado como se muestra a continuación. Este defecto está de acuerdo con la arquitectura que

estamos empleando.

Desde nuestra referencia es una función de paso de 0,2 radianes, podemos establecer la precompensador

bloque F ( s ) igual a 0,2 para escalar una entrada escalón unitario en nuestro sistema. Esto se puede lograr
desde el Editor de Compensador de pestaña de la ventana abierta. En concreto, seleccione F en el menú

desplegable en el Compensador parte de la ventana y ajuste el compensador igual a 0,2 como se muestra en

la siguiente figura.
Para empezar, vamos a ver cómo el sistema funciona con un controlador proporcional Kp igual a 2. El

compensador de C ( s ) se puede definir de la misma manera que el precompensador, acaba de


elegir C desde el menú desplegable en el compensador de parte de la ventana en lugar de F . A

continuación, ajuste el compensador igual a 2. Para ver el rendimiento de nuestro sistema con este

controlador, vaya al Análisis Parcelas ficha del control y estimación Manager Tools ventana. A
continuación, elija una Parcela Tipo de Paso de parcela 1 en el Análisis Parcelas sección de la ventana,

como se muestra a continuación. A continuación, elija una respuesta de bucle cerrado r a y de Parcela 1 ,

como se muestra en la siguiente figura.


Una ventana se abrirá con la siguiente respuesta al escalón se muestra.
El examen de los programas anteriores que además de error de estado estacionario, no se han cumplido los

requisitos de diseño dado. La ganancia elegido para Kp se puede ajustar en un intento de modificar el

rendimiento resultante a través del Editor de Compensador de pestaña. En su lugar, utilice la herramienta

de diseño SISOpara sintonizar automáticamente el compensador proporcional. Para utilizar esta función,
vaya a la sintonización automática pestaña y seleccione Sintonización PIDdel método Diseño del

menú desplegable. A continuación, seleccione un tipo de controlador de la P , como se muestra en la

siguiente figura.
Hay una serie de opciones que se pueden elegir desde el algoritmo de ajuste del menú desplegable. Estas

opciones van desde técnicas heurísticas, como de Ziegler-Nichols, a los enfoques numéricos que busca en

más de todas las posibles ganancias de control para reducir al mínimo algunos índice de rendimiento

identificado que por lo general se relaciona con el error e ( t ) en el sistema de control. Como estos
indicadores tratan de minimizar el error en el tiempo, se dirigen tanto a los requisitos transitorios tales como

exceso y el tiempo de subida, así como los requisitos de estado estacionario como el error de estado
estacionario. Para nuestro ejemplo, elegirbúsqueda de parámetros del algoritmo de ajuste de menú. A

continuación, seleccione Error Time Square Integral (ITSE) como la métrica de rendimiento .Este

enfoque buscar en un intervalo de ganancias proporcionales para encontrar uno que reduce al mínimo las

siguientes mediciones.

(3)

Para ser útil, un indicador debe ser siempre mayor que cero. Esto puede llevarse a cabo tomando el valor

absoluto del error, o elevando al cuadrado el error como se hace en este caso. Un efecto añadido de tomar el

cuadrado del error es que grandes errores se penalizan en mayor medida que los pequeños errores. El ITSE
métrica también multiplica el error cuadrado por el tiempo t . El efecto de esto es reducir al mínimo la

contribución de un gran error inicial debido a la referencia paso.

Una vez que todos los ajustes de sintonización han sido elegidos, a continuación, haga clic en

la actualización Compensador botón. Este algoritmo se ha encontrado que una ganancia proporcional

de Kp = 0.01854 minimiza la métrica ITSE que conduce a la siguiente respuesta de paso de bucle cerrado.

La respuesta resultante es muy lenta, incluso más lento que nuestra elegido algo al azar ganancia inicial Kp =

2. Esto parece estar relacionado con el hecho de que nuestra métrica pesa de error en los valores más
grandes de t más fuertemente. Por lo tanto, intente cambiar la métrica de rendimiento de error Square

Integral (ISE) y haga clic en la actualización Compensador botón. La ganancia que minimiza esta

métrica se encuentra para ser Kp = 1 y la respuesta de paso de bucle cerrado resultante se muestra a

continuación.
El rendimiento resultante se mejora, aunque el tiempo de resolver sigue siendo demasiado

grande. Probablemente tendremos que añadir términos integrales y / o derivado de nuestro controlador con el

fin de cumplir los requisitos citados.


Control PI
Recuperación de la información proporcionada en la Introducción: PID Controller Design control integral

tutorial suele ser útil para reducir el error de estado estacionario.En nuestro caso, es que ya se cumplió con el

requisito error de estado estacionario. Para fines de ilustración, vamos a diseñar un controlador PI de todos

modos.Volveremos a utilizar afinación automática para elegir nuestras ganancias del controlador. Bajo
la sintonización automática pestaña cambiar el tipo de controlador de PIy dejar el algoritmo de

optimización como parámetro de búsqueda y de la Métrica de rendimiento como Error Square

Integral (ISE) . Al hacer clic en elCompensador Update botón y genera el siguiente controlador.

(4)

Esta función de transferencia es un compensador PI con Ki = 0,56 y Kp = 1,00. La respuesta al escalón a lazo

cerrado resultante se muestra a continuación.


A partir de la inspección de lo anterior, observe que la adición de un control integral ayudó a reducir el error

medio en la señal más rápidamente. Desafortunadamente, el control integral también hizo la respuesta más

oscilatoria, por lo tanto, el requisito de tiempo de asentarse todavía no se cumple. Por otra parte, el requisito

rebase ya no cumple tampoco. Vamos a tratar también la adición de un término derivado de nuestro

controlador.
Control PID
Una vez más recordar las lecciones que hemos aprendido en la Introducción: Controlador PID Diseño tutorial

aumentando la ganancia derivativa Kd en un controlador PID a menudo puede ayudar a reducir el exceso. Por

lo tanto, mediante la adición de control derivado que puede ser capaz de reducir la oscilación en la respuesta

de una cantidad suficiente de que podemos incrementar las otras ganancias para reducir el tiempo de
establecimiento. Vamos a probar nuestra hipótesis, cambiando el tipo de controlador de PID y pulsando de

nuevo la actualización Compensador botón. El controlador generado se muestra a continuación.

(5)
Esta función de transferencia es un compensador PID con Ki = 4,45, Kp = 0,98, y Kd = 4,90. La respuesta al

escalón a lazo cerrado resultante se muestra a continuación.

Esta respuesta cumple con todos los requisitos excepto por el tiempo que asentarse en 12,6 segundos es un

poco más grande que el requisito determinado de 10 segundos. Haremos lo posible para aumentar la

ganancia proporcional con el fin de reducir el tiempo de instalarse el sistema. El aumento de Kp significa que

dejaremos de alcanzar el rendimiento mínimo posible métrica, sin embargo, estamos dispuestos a hacerlo con

el fin de disminuir el tiempo de asentarse resultante. En concreto, vamos a cambiar Kp modo que es igual a

2. El controlador PID resultante se muestra a continuación.

(6)

Con el fin de ver el efecto de este compensador en la respuesta al escalón a lazo cerrado, es necesario

modificar el compensador C ( s ) de forma manual. Esto se puede hacer en el marco del Editor

Compensador ficha del control y estimación Manager Tools ventana. Específicamente, el cero

Complejo del compensador necesita ser modificado de modo que tenga una parte real de -0,2041 y
una parte imaginaria de 0,9314 correspondiente al numerador de nuestro controlador se muestra arriba. Una

vez realizados estos cambios, la respuesta al escalón debería aparecer de la siguiente manera.

La respuesta se muestra arriba cumple con todos los requisitos que se indican tal como se resume a

continuación.
 Overshoot = 5% <10%

 Tiempo de subida = 1,2 segundos <2 segundos

 Tiempo de establecimiento = 5 segundos <10 segundos

 Error de estado estacionario = 0% <2%

Por lo tanto, este controlador PID proporcionar el rendimiento deseado de la altura tonal de la aeronave.

Aviones Pitch: Raíz Diseño Controller


Locus
MATLAB comandos clave utilizados en este tutorial son: tf , sisotool
Contenido
 Original diagrama del lugar de raíces

 Plomo compensación

Partir del problema principal, la función de transferencia a lazo abierto para la dinámica de paso de aviones es

(1)

donde la entrada es ascensor ángulo de desviación y la salida es el ángulo de cabeceo de la aeronave .

Por originales del problema y la derivación de la función de transferencia anterior, consulte el Paso del avión:

Modeling System página.

Para una referencia de paso de 0,2 radianes, los criterios de diseño son las siguientes.
 Sobrepico menor que 10%

 Tiempo de subida menos de 2 segundos

 Tiempo de establecimiento menor de 10 segundos

 Error de estado estacionario menor del 2%

Recuerde que en la Introducción: Diseño Controller Lugar de Raíces página. un diagrama del lugar de raíces

muestra todas las posibles ubicaciones de los polos en lazo cerrado como un parámetro (normalmente una

ganancia proporcional K ) varía de 0 a infinito. Vamos a utilizar el lugar de raíces para el diseño de nuestro

controlador para colocar polos de lazo cerrado de nuestro sistema en lugares que se traducirá en un

comportamiento que satisface nuestros requisitos dados. Recuerde que en elPaso del avión: Análisis del

sistema de la página. cómo ubicaciones de los polos afectan directamente el carácter de la respuesta del

sistema a una referencia de paso.

Usaremos específicamente de MATLAB SISO Design Tool para modificar lugar de las raíces del sistema para

diseñar un compensador para colocar polos de lazo cerrado del sistema para alcanzar los requisitos de diseño

dado. Más en concreto, vamos a utilizar el lugar de las raíces para el diseño de los requisitos de respuesta

transitoria. Asumiremos la siguiente arquitectura con realimentación unitaria.

Original diagrama del lugar de raíces


Vamos a comenzar por el examen del lugar de las raíces del sistema bajo control simple proporcional C ( s )

= K . En primer lugar, introduzca el código siguiente en la línea de comandos para definir el modelo de la

planta de P ( s ). Consulte el Paso del avión: Modeling System página. para detalles de cómo obtener estos

comandos.

s = tf ( 's' );

P_pitch = (1.151 * s 0,1774) / (s ^ 3 0,739 * s ^ 2 0.921 * s);

A continuación, escriba sisotool ('rlocus', P_pitch) en la ventana de comandos. Dos ventanas

inicialmente abierto, uno es el diseño de tareas SISO que se abrirá con el lugar de las raíces de la planta con

el aumento de K , como se muestra a continuación, y el otro es el control y estimación Tool Manager , que

le permite diseñar compensadores, analizar las parcelas y así sucesivamente.


El control y Estimación Administrador de Herramientas ventana muestra la arquitectura del sistema de

control está diseñado como se muestra a continuación. Este defecto está de acuerdo con la arquitectura que

estamos empleando.

Desde nuestra referencia es una función de paso de 0,2 radianes, podemos establecer la precompensador

bloque F ( s ) igual a 0,2 para escalar una entrada escalón unitario en nuestro sistema. Esto se puede lograr
desde el Editor de Compensador de pestaña de la ventana abierta. En concreto, seleccione F en el menú

desplegable en el Compensador parte de la ventana y ajuste el compensador igual a 0,2 como se muestra en

la siguiente figura. Desde la incorporación de este precompensador no afecta a las ubicaciones de los polos

en lazo cerrado, el lugar de raíces se muestra permanecerá sin cambios.


Recordando que ubicaciones de los polos se relacionan con el desempeño transitorio, podemos identificar las

regiones del plano complejo que se corresponden con ubicaciones de los polos que cumplen con nuestros

requisitos. Estas regiones suponen un sistema de segundo orden canónico que no tenemos aún bajo control

proporcional, sin embargo, las regiones constituyen un buen punto de partida para nuestro diseño.

Para agregar los requisitos de diseño de la trama de lugar de raíces, haga clic en el gráfico y
seleccione Requisitos de Diseño> New en el menú resultante. Usted puede agregar muchos requisitos de

diseño incluyendo el tiempo de asentamiento, el exceso porcentual, coeficiente de amortiguamiento, la

frecuencia natural y la restricción Región genérico. Nuestro tiempo de establecimiento y los requisitos de

rebasamiento por ciento se pueden añadir empleo directo a estas opciones. Tiempo de subida no está incluido

explícitamente como una de las opciones desplegables, sin embargo, podemos utilizar la siguiente relación

aproximada que relaciona el tiempo de subida a la frecuencia natural.

(2)

Por lo tanto, nuestro requisito de que el tiempo de subida sea menos de 2 segundos corresponde

aproximadamente a una frecuencia natural de mayor que 0,9 rad / s para un sistema de segundo orden

subamortiguado canónica. La adición de este requisito de la parcela del lugar de raíces, además del tiempo

de asentarse y requisitos de rebasamiento genera la siguiente figura.


La región deseada como resultado de los polos en lazo cerrado se muestra por la región sombreada de la

figura anterior. Más específicamente, los dos rayos centrado en el origen representan el requisito de

sobreimpulso, el más pequeño es el ángulo de estos rayos hacen con el eje real negativo, se permite que el

menos sobreimpulso. La línea vertical en s = -0.4 representa el requisito de tiempo de asentamiento, donde

cuanto más a la izquierda de los polos en lazo cerrado se encuentra el menor es el tiempo de establecimiento

es. El tiempo de subida (frecuencia natural) requisito se corresponde con el círculo centrado en el origen,

donde el radio corresponde a una frecuencia natural de 0,9.

Del examen de la figura anterior, ya que ninguna de las tres ramas del lugar de las raíces entrar en la región

no sombreada, no podemos colocar los polos en lazo cerrado del sistema en la región deseada mediante la

variación de la ganancia proporcional K . Por lo tanto, debemos intentar un compensador dinámico con los

polos y / o ceros con el fin de remodelar el lugar de raíces.


Plomo compensación
En especial, hay que cambiar el lugar de las raíces más a la izquierda en el plano complejo conseguirlo dentro

de nuestra región deseada. Una forma de hacer esto es emplear un compensador de adelanto, consulte

la Compensadores Lag plomo y la página para más detalles.

La función de transferencia de un compensador de plomo típica es la siguiente, donde el cero es más

pequeño que el polo, es decir, que está más cerca del eje imaginario en el plano complejo.

(3)

Antes de comenzar el diseño del compensador de adelanto, tenemos que configurar la herramienta de

diseño SISO tener una parametrización compensador correspondiente a la mostrada anteriormente. Esto se

puede lograr haciendo clic en el Editar menú en la parte superior del control y estimación Manager

Tools ventana.A continuación, seleccione Preferencias SISO herramientas , y desde el Opciones

de pestaña de la ventana que aparece, seleccione un cero / polo / gananciaparametrización como se

muestra a continuación.

Vamos a optar por colocar el cero de nuestra compensador de adelanto sobre el eje real en el semicírculo

definido por nuestro requisito de tiempo de subida, z = -0.9.Esto asegurará que a medida que la

ganancia K se incrementa, la rama del lugar de las raíces que se aproxima a cero que en bucle abierto no

saldrá de la región deseada. Además, vamos a colocar el polo más a la izquierda que el cero, como lo exige la

definición de un compensador de adelanto. Para empezar, vamos a p = -3.

Dentro de la herramienta de diseño SISO puede agregar el compensador de adelanto de debajo del Editor

Compensador ficha del control y estimación Manager Toolsventana. En concreto, haga clic en la dinámica
de la sección de la ventana y seleccione Agregar Polo / Zero> Lead . A continuación, introduzca el real

cero y Bienes Polelugares como se muestra en la siguiente figura.

Con el fin de ver el efecto de mover el polo del compensador de adelanto, se puede introducir diferentes

valores numéricos en el marco del Editor Compensador ficha.Cualquier cambio en el compensador aquí se

reflejan en el diagrama del lugar de raíces. Alternativamente, se puede ajustar el compensador gráfica
directamente desde el diagrama del lugar de raíces. En concreto, si se hace clic en el polo en lazo abierto a -3
(marcado por un rojo x ), a continuación, puede deslizar el poste a lo largo del eje real y observar cómo los

cambios diagrama del lugar de raíces. En concreto, debería ver que a medida que se mueve el poste a la

izquierda, el lugar de las raíces consigue tirado más a la izquierda (y más en nuestra región

deseada). Colocar el polo a -30 generará la figura que se muestra a continuación.


Haga clic en el diagrama del lugar de raíces y elegir Propiedades en el menú resultante, podemos cambiar

los límites de la gráfica con el fin de ampliar la zona del lugar de las raíces más cerca del origen, como se

muestra a continuación.
Del examen de las dos parcelas mencionadas, tres de las ramas del lugar de las raíces pasan claramente a

través de la región deseada. La cuarta rama en el eje real más cerca del origen no se encuentra en la región

deseada. A pesar de que el polo en lazo cerrado asociado a esa rama es más lento que los otros polos de

lazo cerrado, su efecto será cancelado en parte por el circuito cerrado cero en -0.1541. Cuanto mayor sea el

valor de la ganancia de bucle K empleada, cuanto más cerca este polo de bucle cerrado será el cero de bucle

cerrado y el menor efecto que tendrá. Las ubicaciones de los polos en lazo cerrado para el valor actual de la

ganancia del bucle (en las figuras anteriores K = 33,3) se indican con las cajas de color rosa en el lugar de

raíces. El polo en lazo cerrado situado más a la izquierda tendrá un efecto mínimo en la respuesta transitoria

del sistema, ya que es significativamente más rápido que los otros polos en lazo cerrado.

Con el fin de ver el efecto explícito de los ceros y los polos de orden superior, tendremos que examinar la

respuesta al escalón a lazo cerrado. Esto se puede hacer dentro de la herramienta de SISO ,
específicamente, de debajo de la Análisis Parcelas pestaña del Control y Estimación Herramientas
Administrador . Una vez que haya hecho clic en esta pestaña, seleccione Paso en el menú desplegable

de parcela 1 del Análisis Parcelas sección de la ventana y seleccione Closed loop r a y de debajo de

los Contenidos de Parcelas sección de la ventana, como se muestra a continuación.

A continuación, haga clic en el Mostrar Terreno Análisis botón de una ventana titulada LTI Viewer para
SISO Design tareas se abrirá mostrando respuesta al escalón a lazo cerrado del sistema. También puede

identificar algunas características de la respuesta al escalón. En concreto, haga clic en la figura y en

virtud Característicaselegir Tiempo de asentamiento . A continuación, repita de tiempo de

subida . Aparecerá su figura, como se muestra a continuación.


De lo anterior, podemos ver que para el valor actual de la ganancia K del tiempo de establecimiento y tiempo

de subida son ambos demasiado grande. Vamos a intento de modificar la ganancia del bucle gráficamente

haciendo clic en uno de los cuadros de color rosa en el lugar de raíces y arrastrando la caja a lo largo del

lugar geométrico en la dirección de aumentar K . Al hacer esto, la respuesta al escalón se actualizará

automáticamente. El efecto de aumentar K a un valor de 200 será más lentos que los dos polos de lazo

cerrado se acercarán a ceros de bucle cerrado de este modo haciendo su efecto mínimo. Los próximos más

lentos polos se mueve a la izquierda en el plano complejo con el aumento de K que tiene el efecto de reducir

tanto el tiempo (aumento de resolver ) y el tiempo de subida (aumento ). Una ganancia de bucle de K =

200 mantiene todos los polos en el eje real, que conduce a ningún rebasamiento y la presencia del integrador

en la planta garantiza cero error de estado estacionario. Por lo tanto, este controlador cumple con todos los

requisitos que se indican como se muestra en la siguiente figura.


Aviones Pitch: Frecuencia Métodos de
dominio para el diseño del controlador
MATLAB comandos clave utilizados en este tutorial
son: tf , paso , retroalimentación , polos , margen , stepinfo
Contenido
 Respuesta a lazo abierto

 Respuesta a lazo cerrado

 Compensador

Partir del problema principal, la función de transferencia a lazo abierto para la dinámica de paso de aviones es

(1)

donde la entrada es ascensor ángulo de desviación y la salida es el ángulo de cabeceo de la aeronave .


Por originales del problema y la derivación de la función de transferencia anterior, consulte el Paso del avión:

Modeling System página

Para una referencia de paso de 0,2 radianes, los criterios de diseño son las siguientes.
 Sobrepico menor que 10%

 Tiempo de subida menos de 2 segundos

 Tiempo de establecimiento menor de 10 segundos

 Error de estado estacionario menor del 2%


Respuesta a lazo abierto
Vamos a empezar primero examinando el comportamiento de la planta de bucle abierto. En concreto, cree un

nuevo archivo-m e ingrese los siguientes comandos. Tenga en cuenta la escala de la respuesta al escalón por

0,2 para tener en cuenta el hecho de que la entrada es un paso de 0,2 radianes (11 grados). Al ejecutar este

archivo-m en la ventana de comandos del Matlab le debería dar la figura de la respuesta al escalón de abajo.

t = [0:0.01:10];

s = tf ( 's' );

P_pitch = (1.151 * s + 0.1774) / (s ^ 3 + 0.739 * s ^ 2 + 0,921 * s);

paso (0.2 * P_pitch, t);

eje ([0 10 0 0,8]);

ylabel ( 'ángulo de paso (rad)' );

título ( 'Respuesta a lazo abierto paso' );

cuadrícula
El examen de la trama anterior indica que el sistema de bucle abierto es inestable para una entrada escalón,

es decir, su salida crece sin límites cuando se administra una entrada de paso. Esto es debido al hecho de

que la función de transferencia tiene un polo en el origen.


Respuesta a lazo cerrado
Ahora vamos a cerrar el ciclo en nuestra planta y ver si se estabiliza el sistema. Tenga en cuenta la siguiente

arquitectura realimentación unitaria para nuestro sistema.


El siguiente código introducido en la ventana de comandos de MATLAB genera la función de transferencia a

lazo cerrado asumiendo la arquitectura con realimentación unitaria arriba y un controlador de ganancia

unitaria, C ( s ) = 1.

sys_cl = retroalimentación (P_pitch, 1)

sys_cl =

1.151 s + 0.1774

----------------------------------

s ^ 3 + 0.739 s ^ 2 + 2.072 + 0.1774 s

Función de transferencia de tiempo continuo.

Examinar los polos de esta función de transferencia utilizando el polo comando como se muestra a

continuación, se puede observar que este sistema de circuito cerrado es de hecho estable, ya que todos los

polos tienen parte real negativa.

polos (sys_cl)

ans =

-0,3255 + 1.3816i

-0,3255 - 1.3816i

-0,0881

La estabilidad de este sistema de bucle cerrado también puede determinarse usando la respuesta de
frecuencia del sistema en bucle abierto. El margen de comando genera el diagrama de Bode de la función

de transferencia dada con anotaciones para el margen de ganancia y margen de fase del sistema cuando el

bucle está cerrado como se demuestra a continuación.

margen (P_pitch), rejilla


El examen de lo anterior demuestra que el sistema de circuito cerrado es de hecho estable desde el margen

de fase y el margen de ganancia son ambos positivos.Específicamente, el margen de fase es igual a 46,9

grados y el margen de ganancia es infinita. Es bueno que este sistema de circuito cerrado es estable, pero no

se cumplen nuestros requisitos? Agregue el siguiente código a su archivo-m y vuelva a ejecutar y que va a

generar la respuesta al escalón se muestra a continuación.

sys_cl = retroalimentación (P_pitch, 1);

el paso (0.2 * sys_cl), rejilla

ylabel ( 'ángulo de paso (rad)' );

título ( "circuito cerrado de respuesta Step ' )


El examen de lo anterior demuestra que el asiente requisito de 10 segundos no está cerca de alcanzarse. Una

manera de abordar esto es hacer que la respuesta del sistema más rápido, pero entonces el sobreimpulso se

muestra arriba probablemente se convierta en un problema. Por lo tanto, el exceso debe ser reducida en

conjunción con la fabricación de la respuesta del sistema más rápido. Podemos lograr estos objetivos

mediante la adición de un compensador para remodelar el diagrama de Bode del sistema en lazo abierto. El

diagrama de Bode del sistema de bucle abierto indica el comportamiento del sistema de circuito cerrado. Más

específicamente,
 la frecuencia de cruce de ganancia está directamente relacionada con la velocidad del sistema de

circuito cerrado de respuesta, y


 el margen de fase es inversamente proporcional al rebasamiento del sistema de circuito cerrado.

Por lo tanto, tenemos que añadir un compensador que aumentará la frecuencia de cruce de ganancia y

aumentar el margen de fase como se indica en el diagrama de Bode del sistema en lazo abierto.
Compensador
Un tipo de compensador que puede realizar tanto de nuestras metas es un compensador de

adelanto. Haciendo referencia a la Compensadores plomo y Lag página, un compensador de adelanto añade

fase positiva para el sistema. Fase positiva adicional aumenta el margen de fase, por lo tanto, el aumento de

la amortiguación. El compensador de plomo también aumenta generalmente la magnitud de la respuesta de

frecuencia en bucle abierto a frecuencias más altas, con ello, el aumento de la frecuencia de cruce de
ganancia y la velocidad global del sistema. Por lo tanto, el tiempo de establecimiento debe disminuir como

resultado de la adición de un compensador de adelanto. La forma general de la función de transferencia de un

compensador de adelanto es la siguiente.

(2)

Por lo tanto tenemos que encontrar , T y K . Típicamente, la ganancia K se establece para satisfacer los

requisitos de error de estado estacionario. Dado que nuestro sistema ya es de tipo 1 (la planta tiene un

integrador) el error de estado estacionario para una entrada escalón será cero para cualquier valor de K . A

pesar de que el error de estado estacionario es cero, la cola lento en la respuesta se puede atribuir al hecho

de la constante de velocidad-error es demasiado pequeña. Esta deficiencia puede ser abordado mediante el

empleo de un valor de K que es mayor que 1, en otras palabras, un valor de K que cambiará la gráfica de la

magnitud hacia arriba. Con un poco de ensayo y error, vamos a algo arbitrariamente elegir K = 10. Ejecutar el

siguiente código en la ventana de MATLAB demostrará el efecto de la adición de este K .

K = 10;

margen (K * P_pitch), rejilla

figura;

sys_cl = retroalimentación (K * P_pitch, 1);

el paso (0.2 * sys_cl), rejilla

título ( 'Respuesta escalón a lazo cerrado con K = 10' )


Del examen de la trama anterior Bode, hemos aumentado la magnitud del sistema en todas las frecuencias y

han llevado a la frecuencia de cruce de ganancia superior.El efecto de estos cambios son evidentes en la

respuesta al escalón a lazo cerrado se muestra arriba. Desafortunadamente, la adición de la K también ha

reducido margen de fase del sistema como se evidencia por el aumento de sobreimpulso en la respuesta al

escalón del sistema. Como se mencionó anteriormente, el compensador de adelanto ayudará a añadir

amortiguación al sistema con el fin de reducir el sobreimpulso en la respuesta al escalón.

Continuando con el diseño de nuestra compensador, vamos a abordar el siguiente parámetro que se define

como la relación entre el cero y el polo. Cuanto mayor sea la separación entre el cero y el polo mayor es el

bache en fase en la que la cantidad máxima de fase que se puede agregar con un solo par de polos y ceros

es 90 grados. La siguiente ecuación de la fase de captura añadido máximo por un compensador de adelanto

como una función de .

(3)

Las relaciones entre el tiempo de respuesta y la respuesta de frecuencia de un sistema de segundo orden

subamortiguado estándar se pueden derivar. Una relación de este tipo que es una buena aproximación para

relaciones de amortiguamiento menor que aproximadamente 0,6 o 0,7 es la siguiente.

(4)

Mientras que nuestro sistema no tiene la forma de un sistema de segundo orden estándar, podemos utilizar la

relación anterior como punto de partida en nuestro diseño.Como estamos obligados a tener sobreimpulso

menos de 10%, necesitamos nuestra coeficiente de amortiguamiento a ser mayor que aproximadamente

0,59 y por lo tanto necesitamos un margen de fase mayor que aproximadamente 59 grados. Dado que nuestro

margen de fase de corriente (con la adición de K ) es de aproximadamente 10,4 grados, un adicional de 50

grados de protuberancia de fase desde el compensador de plomo debería ser suficiente. Puesto que se sabe

que el compensador de adelanto aumentará aún más la magnitud de la respuesta de frecuencia, tendremos
que añadir más de 50 grados de avance de fase para tener en cuenta el hecho de que la frecuencia de cruce

de ganancia se incrementará a un punto en el que el sistema tiene más retardo de fase. Vamos a añadir algo

arbitrariamente 5 grados y el objetivo de un golpe total fase 50 5 = 55 grados.

A continuación, puede utilizar este número para resolver la relación anterior de la siguiente manera.

(5)

De lo anterior, podemos calcular que debe ser inferior a aproximadamente 0,10. Para este valor de , la

siguiente relación se puede utilizar para determinar la cantidad de aumento de magnitud que será

suministrado por el compensador de adelanto en la ubicación de la protuberancia máxima en fase.

(6)

Examinando el diagrama de Bode se muestra arriba, la magnitud del sistema no compensado es igual a -10

dB a aproximadamente 6,1 rad / seg. Por lo tanto, la adición de nuestra compensador de adelanto se moverá
la frecuencia de cruce de ganancia de 3,49 rad / seg a aproximadamente 6,1 rad / seg. Usando esta

información, entonces podemos calcular un valor de T a partir de la siguiente con el fin de centro de la

protuberancia máxima en fase en la nueva frecuencia de cruce de ganancia con el fin de maximizar el margen

de fase resultante del sistema.

(7)

Con los valores de K = 10, = 0,10 y T = 0,52 calculado anteriormente, ahora tenemos un primer intento de

nuestra compensador de adelanto. Agregar las siguientes líneas a su archivo-m y en funcionamiento en la

línea de comandos generará la gráfica se muestra a continuación muestra el efecto del compensador de

adelanto sobre la respuesta de frecuencia del sistema.

K = 10;

alfa = 0,10;

T = 0,52;

C_lead = K * (T * s + 1) / (alfa * T * s + 1);

margen (C_lead * P_pitch), rejilla

El examen de lo anterior demuestra que el compensador de adelanto aumentó margen de fase del sistema y

la frecuencia de cruce de ganancia como se desea. Ahora tenemos que ver la respuesta al escalón a lazo

cerrado real con el fin de determinar si estamos cerca de cumplir con nuestros requisitos. Reemplace el
código de respuesta de paso en su archivo-m con el siguiente y volver a ejecutar en la ventana de comandos

de MATLAB.

sys_cl = retroalimentación (C_lead * P_pitch, 1);

el paso (0.2 * sys_cl), rejilla

título ( 'Respuesta escalón a lazo cerrado con K = 10, a = 0,10 y T = 0,52' )

El examen de lo anterior demuestra que estamos cerca de cumplir con nuestros requisitos. El uso del
comando MATLAB stepinfo como se muestra a continuación se puede ver con precisión las características

de la respuesta al escalón a lazo cerrado.

stepinfo (0.2 * sys_cl)

ans =

Tiempo de subida: 0.2073

SettlingTime: 8.9835

SettlingMin: 0.1819

SettlingMax: 0.2240

Overshoot: 11.9781

Undershoot: 0
Pico: 0.2240

Peaktime: 0.4870

A partir de lo anterior, todos nuestros requisitos se cumplen, excepto para el rebasamiento que es un poco

más grande que el requisito de 10%. Iteración en el proceso de diseño anterior, llegamos a los parámetros K =

10, = 0,04 y T = 0,55. El rendimiento obtenido con este controlador puede entonces ser verificada mediante

la modificación del código en su archivo-m de la siguiente manera.

K = 10;

alfa = 0,04;

T = 0,55;

C_lead = K * (T * s + 1) / (alfa * T * s + 1);

sys_cl = retroalimentación (C_lead * P_pitch, 1);

el paso (0.2 * sys_cl), rejilla

título ( 'Respuesta escalón a lazo cerrado con K = 10, \ alpha = 0,04 y T = 0,55'

El examen de la respuesta al escalón anterior demuestra que ahora se cumplen los requisitos. Usando
el stepinfo comando de nuevo más claramente demuestra que se cumplen los requisitos.
stepinfo (0.2 * sys_cl)

ans =

Tiempo de subida: 0.2202

SettlingTime: 9.0427

SettlingMin: 0.1828

SettlingMax: 0.2137

Overshoot: 6.8495

Undershoot: 0

Pico: 0.2137

Peaktime: 0.5344

Por lo tanto, el siguiente compensador en adelanto es capaz de satisfacer todos nuestros requerimientos de

diseño.

(8)

Aviones Pitch: Métodos de espacio de


estado para el Diseño del controlador
MATLAB comandos clave utilizados en este tutorial son: ss , ctrb , rango , lqr , paso
Contenido
 Controlabilidad

 Control de diseño a través de la colocación de polos

 Regulación cuadrática lineal

 Adición precompensación

En el Paso del avión: Modeling System página. el modelo de espacio de estados de la planta se derivó como

(1)

(2)

donde la entrada es ascensor ángulo de desviación y la salida es el ángulo de cabeceo de la aeronave . Las

ecuaciones anteriores coinciden con la forma espacio de estado general lineal.


(3)

(4)

Para una referencia de paso de 0,2 radianes, los criterios de diseño son las siguientes.
 Sobrepico menor que 10%

 Tiempo de subida menos de 2 segundos

 Tiempo de establecimiento menor de 10 segundos

 Error de estado estacionario menor del 2%

En esta página vamos a aplicar un espacio de estado del controlador técnica de diseño. En particular, se

tratará de colocar los polos en lazo cerrado del sistema mediante el diseño de un controlador que calcula su

control basado en el estado del sistema.


Controlabilidad
Con el fin de aplicar nuestras técnicas de estado-espacio de diseño de controlador que tenemos que verificar

primero una propiedad importante, capacidad de control. La propiedad controlabilidad es necesaria para

garantizar que tenemos la autoridad para conducir el estado del sistema en cualquier lugar que nos

gusta. Esto corresponde a la capacidad de colocar los polos en lazo cerrado del sistema en cualquier lugar en

el complejo de s -plano.

Para que el sistema sea de estado completamente controlable, la matriz de controlabilidad

(5)

debe tener rango n . El rango de una matriz es el número de filas independientes (o columnas). El

número n corresponde al número de variables de estado del sistema.Adición de términos adicionales a la

matriz de controlabilidad con poderes superiores de la matriz A no va a aumentar el rango de la matriz de

controlabilidad ya que estos términos adicionales serán sólo las combinaciones lineales de los términos

anteriores.

Desde nuestra matriz de controlabilidad es 3x3, el rango de la matriz debe ser 3. El comando de
MATLAB rango puede darle el rango de esta matriz. Cree un nuevoarchivo-m e ingrese los siguientes

comandos. Al ejecutar este archivo-m en la ventana de comandos de MATLAB, producirá la siguiente salida.

A = [-0.313 56,7 0; -0.0139 -0.426 0, 0 56,7 0];

B = [0.232, 0.0203, 0];

C = [0 0 1];

D = [0];

co = ctrb (A, B);

Controlabilidad = rango (co)


Controlabilidad =

Por lo tanto, nuestro sistema es de estado completamente controlable ya que la matriz de controlabilidad tiene

rango 3.
Control de diseño a través de la colocación de polos
El esquema de un sistema de control de realimentación completa de estado se muestra a continuación

(con D = 0).

donde
 K = control de ganancia de la matriz

 x = [ alpha , q , theta ] '= vector de estado

 theta_des = referencia ( r )

 delta = theta_des - K x = entrada de control ( u )

 theta de salida = ( Y )

Volviendo a las ecuaciones de espacio de estado en la parte superior de la página, vemos que la sustitución

de la ley estatal-feedback = - K x para lleva a la siguiente.

(6)

(7)

Basado en lo anterior, la matriz A - BK determina la dinámica en bucle cerrado de nuestro sistema. Specfically,

las raíces del determinante de la matriz [ sI - ( A - BK )] son los polos de lazo cerrado del sistema. Dado que el

determinante de [ sI - ( A - BK )] es un polinomio de tercer orden, hay tres polos que podemos colocar y ya

que nuestro sistema es de estado completamente controlable, podemos colocar los polos en cualquier lugar

que nos gusta. Recuerde que en la Introducción: Los métodos de espacio de estado para el Diseño

Controller página. que una técnica "de asignación de polos" se puede utilizar para encontrar la ganancia de

control de matrices K para colocar los polos en lazo cerrado en los lugares deseados. Tenga en cuenta que

esta ley retroalimentación presume que todas las variables de estado en el vector x se miden, a pesar de
que es nuestra única salida. Si este no es el caso, entonces un observador necesita ser diseñado para

estimar las otras variables de estado.

Sabemos de lo anterior que podemos colocar los polos en lazo cerrado del sistema de cualquier lugar que nos

gustaría. La pregunta, entonces lo que queda es, ¿dónde los ponemos? Si tenemos un primer o segundo

orden del sistema estándar, que luego tienen relaciones que se relacionan directamente ubicaciones de los

polos a las características de la respuesta al escalón y podemos utilizar estas relaciones para colocar los

postes con el fin de cumplir con nuestros requisitos dados. Este proceso se hace más difícil si tenemos un

sistema de orden superior o ceros. Con un sistema de orden superior, un método consiste en colocar los polos

de orden superior 5-10 veces más a la izquierda en el plano complejo que los polos dominantes, lo que

conduce a ellos, tienen una contribución insignificante a la respuesta transitoria. El efecto de ceros es más

difícil de abordar el uso de un enfoque de asignación de polos de controlar. Otra limitación de este enfoque de

asignación de polos es que no toma explícitamente en cuenta otros factores como la cantidad de esfuerzo de

control requerido.
Regulación cuadrática lineal
Vamos a utilizar una técnica llamada Regulador Lineal Cuadrático (LQR) método para generar el "mejor"

matriz de ganancia K , sin elegir explícitamente a colocar los polos en lazo cerrado en lugares

particulares. Este tipo de técnica de control equilibra de manera óptima el error del sistema y el esfuerzo de

control sobre la base de un coste que el diseñador especifica que define la importancia relativa de minimizar

los errores y minimimizing esfuerzo de control. En el caso de que el problema del regulador, se asume que la

referencia es cero. Por lo tanto, en este caso la magnitud del error es igual a la magnitud del estado. Por

favor, consultar su libro de control para más detalles . Para utilizar este método LQR, necesitamos definir dos

parámetros: la matriz ponderada de costo de estado ( Q ) y la matriz ponderada de control ( R ).Para

simplificar, vamos a elegir la matriz ponderada de control equivalente al 1 ( R = 1), y la matriz de costo de

estado ( Q ) igual a pC'C . Empleando el vector C de la ecuación de salida significa que sólo vamos a

considerar los estados en la salida en la definición de nuestro costo. En este caso, es la única variable de

estado en la salida. El factor de ponderación ( p ) será variado con el fin de modificar la respuesta al

escalón. En este caso, R es un escalar, ya que tenemos un sistema de entrada única.


Ahora estamos listos para hallar la matriz de control ( K ) empleando el comando MATLAB lqr . Primero

vamos a dejar que el factor de ponderación ( p ) igual a 2.Agregue los siguientes comandos al archivo-m y

ejecútelo en la ventana de comandos de MATLAB.

p = 2;

Q = p * C '* C

R = 1;

[K] = LQR (A, B, Q, R)


Q =

0 0 0

0 0 0

0 0 2

K =

52.8645 -0.5034 1.4142

Tenga en cuenta la estructura de la matriz de ponderación Q y la ganancia resultante matriz K . En referencia

a las ecuaciones de estado de circuito cerrado dadas anteriormente suponiendo una ley de control con

referencia distinto de cero, = - K x , podemos generar la respuesta al escalón a lazo cerrado mediante la

adición de los siguientes comandos para su archivo-m y ejecutarlo en el ventana de comandos de

MATLAB. Tenga en cuenta que la respuesta se escala para modelar el hecho de que la referencia de ángulo

de paso es un radianes (11 grados) paso 0.2. La respuesta al escalón de abajo a continuación, se debe

generar.

sys_cl = ss (AB * K, B, C, D);

paso (0.2 * sys_cl)

ylabel ( 'ángulo de paso (rad)' );

título ( "Paso de circuito cerrado de respuesta: LQR ' );


El examen de lo anterior demuestra que la respuesta es demasiado lento. Podemos ajustar el rendimiento de

nuestro sistema para ser más rápido mediante la ponderación de la importancia del error en mayor medida

que la importancia de los esfuerzos de control. Más específicamente, esto se puede hacer mediante el

aumento del factor de ponderación p . Después de un poco de ensayo y error, nos instalamos en un valor

de p = 50. Modificar el código de su archivo-m, la siguiente ya continuación, ejecute la línea de comandos

para producir la siguiente respuesta al escalón.

p = 50;

Q = p * C '* C;

R = 1;

[K] = LQR (A, B, Q, R)

sys_cl = ss (AB * K, B, C, D);

paso (0.2 * sys_cl)

ylabel ( 'ángulo de paso (rad)' );

título ( "Paso de circuito cerrado de respuesta: LQR ' );

K =

-0,6435 169,6950 7,0711


El examen de lo anterior demuestra que el tiempo de subida, el exceso, y el tiempo de asentamiento son

satisfactorios. Sin embargo, existe un error de estado estacionario grande. Una forma de corregir esto es

mediante la introducción de un precompensador ( Nbar ) para escalar la salida global.


Adición precompensación
A diferencia de otros métodos de diseño, el sistema de realimentación completa de estados no compara la

salida de la referencia, sino que compara todos los estados multiplicados por la matriz de control ( K x ) a la

referencia (ver el esquema de abajo). Por lo tanto, no debemos esperar que la salida sea igual a la referencia

mandado.Para obtener la salida deseada, se puede escalar la entrada de referencia, de manera que la salida

es igual que la referencia en estado estacionario. Esto se puede hacer mediante la introducción de un factor

de escala precompensador llamado Nbar . El esquema básico de nuestro sistema estatal de retroalimentación

con el factor de escala ( Nbar ) se muestra a continuación.

Podemos encontrar fácilmente Nbar de la función de MATLAB rscale.m . Desde rscale.m es una función

definida por el usuario, debe copiar y guardar la función a su directorio. Para obtener más ayuda en el uso de

las funciones definidas por el usuario, consulte la función de la página. Después de haber guardado
la rscale.m archivo a su directorio, modifique el código de su archivo-m de la siguiente y ejecútelo en la

ventana de comandos de MATLAB.

p = 50;

Q = p * C '* C;

R = 1;

[K] = LQR (A, B, Q, R);

Nbar = rscale (A, B, C, D, K)

Nbar =

7.0711
Agregar el siguiente código y volver a ejecutar su archivo-m generará entonces la respuesta se muestra a

continuación.

sys_cl = ss (AB * K, B * Nbar, C, D);

paso (0.2 * sys_cl)

ylabel ( 'ángulo de paso (rad)' );

título ( "Closed-Loop Paso Respuesta: LQR con precompensación ' );

Ahora bien, el error de estado estacionario se ha eliminado y se satisface todos los requisitos de diseño.

Tenga en cuenta que el precompensador Nbar empleada anteriormente se calcula basándose en el modelo de

la planta y, además, que el precompensador se encuentra fuera del bucle de realimentación. Por lo tanto, si

hay errores en el modelo (o trastornos desconocidos) el precompensador no corregir por ellos y no habrá error

de estado estacionario. Usted puede recordar que la adición de control integral también puede ser usada para

eliminar el error de estado estacionario, incluso en la presencia de la incertidumbre del modelo y

perturbaciones paso. Para ver un ejemplo de cómo implementar el control integral en el entorno de espacio de

estado, consulte la DC Motor Posición: Métodos de espacio de estado para el Diseño Controller página. La

desventaja con el uso de un control integral es que el error debe desarrollar primero antes de que pueda ser

corregido para, por lo tanto, el sistema puede ser lento para responder. El precompensador por otra parte es

capaz de anticipitate el estado estacionario compensar utilizando el conocimiento de la planta modelo. Una
técnica útil es combinar el precompensador con control integral para aprovechar las ventajas de cada

enfoque.

Aviones Pitch: Diseño Controlador Digital


MATLAB comandos clave utilizados en este tutorial son: ss , C2D , rango , ctrb , dlqr , lsim , escaleras
Contenido
 Espacio de estado Discreto

 Controlabilidad

 Control de diseño a través de la colocación de polos

 Adición precompensación

En esta página, vamos a considerar la versión digital del problema de control de cabeceo de la aeronave. Una

versión de datos muestreados de la dinámica de tono airplance se puede obtener a partir del modelo continuo,

como describiremos. En este ejemplo vamos a aplicar las técnicas de espacio de estado para diseñar el

controlador.

Desde el Paso del avión: Modeling System página el modelo estado-espacio continuo en tiempo de la

dinámica de cabeceo de la aeronave se derivó como

(1)

(2)

donde la entrada es ascensor ángulo de desviación y la salida es el ángulo de cabeceo de la aeronave .

Para una referencia de paso de 0,2 radianes, los criterios de diseño son las siguientes.
 Sobrepico menor que 10%

 Tiempo de subida menos de 2 segundos

 Tiempo de establecimiento menor de 10 segundos

 Error de estado estacionario menor del 2%


Espacio de estado Discreto
El primer paso en el diseño de un sistema de control digital es para generar un modelo de datos muestreados

de la planta. MATLAB se puede utilizar para generar este modelo a partir de un modelo de tiempo continuo
utilizando el C2D comando. El C2D comando requiere tres argumentos: un modelo del sistema, el tiempo de
muestreo (Ts ) y el tipo de circuito de espera. En este ejemplo vamos a asumir un mantenedor de orden cero

( zoh circuito). Consulte la Introducción: Diseño Controlador digital de página, para más detalles.

En la elección de un tiempo de muestreo, tenga en cuenta que se desea que la frecuencia de muestreo ser

rápido en comparación con la dinámica del sistema con el fin de que la salida muestreada del sistema captura

el comportamiento completo del sistema, es decir, de modo que significativa ISN comportamiento entre

muestras 't perder. Una medida de la "velocidad" de un sistema es su ancho de banda de bucle cerrado. Una

buena regla de oro es que el tiempo de muestreo será menor de 1/30o de la frecuencia de ancho de banda de

lazo cerrado.

Desde el bucle cerrado diagrama de Bode, la frecuencia de ancho de banda puede ser determinada a ser de

aproximadamente 2 rad / s (0,32 Hz). Puede comprobarlo usted mismo. Por lo tanto, para asegurarse de que

tenemos un pequeño tiempo de muestreo suficiente, vamos a utilizar un tiempo de muestreo de 1/100 seg /
muestra.Ahora estamos listos para utilizar el C2D función. Introduzca los siguientes comandos en un archivo-

m . Al ejecutar este archivo-m en la ventana de comandos del Matlab le da las siguientes cuatro matrices que

representan el modelo de espacio de estados de datos muestreados.

A = [-0,313 56,7 0;

-0.0139 -0.426 0;

0 56,7 0];

B = [0,232;

0.0203;

0];

C = [0 0 1];

D = [0];

sys_ss = ss (A, B, C, D);

Ts = 1/100;

sys_d = C2D (sys_ss, Ts, 'zoh' )

sys_d =

a =

x1 x2 x3

x1 0,9968 0,5649 0

x2 -0.0001385 0.9957 0

x3-3.931e-05 0,5658 1
b =

u1

x1 0.002374

x2 0.0002024

x3 5.744e-05

c =

x1 x2 x3

y1 0 0 1

d =
u1

y1 0

Tiempo de la muestra: 0,01 segundos

Modelo de espacio de estado en tiempo discreto.

Ahora hemos obtenido el modelo en espacio de estado en tiempo discreto se muestra a continuación.

Controlabilidad
Al igual que en el caso continuo, antes de que podamos diseñar nuestro controlador debemos verificar la

capacidad de control del sistema. Para que el sistema sea de estado completamente controlable la matriz de

controlabilidad debe ser de rango n , donde el rango de una matriz es el número de filas independientes (o

columnas). La matriz de controlabilidad de un sistema de tiempo discreto tiene la misma forma como un

sistema continuo de tiempo.

(3)
Desde nuestra matriz de controlabilidad es 3x3, su rango debe ser 3. El comando de MATLAB rango puede

calcular el rango de una matriz para usted. Agregar los siguientes comandos adicionales a su archivo-m y se

ejecuta en la ventana de comandos de MATLAB producirá la siguiente salida.

co = ctrb (sys_d);

Controlabilidad = rango (co)

Controlabilidad =

Por lo tanto, nuestro sistema es de estado completamente controlable ya que la matriz de controlabilidad tiene

rango 3.
Control de diseño a través de la colocación de polos
El esquema de un sistema de control de realimentación completa de estado discreto se muestra a

continuación, donde q-1 es el operador de retardo (no la velocidad de cabeceo de la aeronave q ). Tenga en

cuenta que se supone que D = 0.

donde
 K = control de ganancia de la matriz

 x = [ alpha , q , theta ] '= vector de estado

 theta_des = referencia ( r )

 delta = theta_des - K x = entrada de control ( u )

 theta de salida = ( Y )

Volviendo a las ecuaciones de espacio de estado en la parte superior de la página, vemos que la sustitución

de la ley estatal de la retroalimentación ( k ) = ( k ) - K x (k ) de ( k ) conduce a la siguiente, donde

vamos a suponer que todas las variables de estado se miden.

(4)

(5)
En las continuas cabeceo de la aeronave: Métodos de espacio de estado para el diseño del controlador de

página, el Regulador Lineal Cuadrático (LQR) método fue utilizado para hallar la matriz de control ( K ). En

esta versión digital, usaremos la versión discreta del mismo método LQR. Este tipo de técnica de control

equilibra de manera óptima el error del sistema y el esfuerzo de control sobre la base de un coste que el

diseñador especifica que define la importancia relativa de minimizar los errores y minimimizing esfuerzo de

control. En el caso de que el problema del regulador, se asume que la referencia es cero. Por lo tanto, en este

caso la magnitud del error es igual a la magnitud del estado. Por favor, consultar su libro de control para más

detalles . Para utilizar este método LQR, necesitamos definir dos parámetros: la matriz ponderada de costo de

estado ( Q ) y la matriz ponderada de control ( R ). Para simplificar, vamos a elegir la matriz ponderada de

control equivalente al 1 ( R = 1), y la matriz de costo de estado ( Q ) igual a pC'C . Empleando el vector C de

la ecuación de salida significa que sólo vamos a considerar los estados en la salida en la definición de nuestro

costo. En este caso, es la única variable de estado en la salida. El factor de ponderación ( p ) será elegido

por ensayo y error con el fin de modificar la respuesta de paso para lograr nuestros requerimientos dados. En

este caso, R es un escalar, ya que tenemos un sistema de entrada única.


Ahora estamos listos para hallar la matriz de control ( K ) empleando el comando MATLAB dlqr que es la

versión dicrete tiempo del lqr comandos. Vamos a elegir un factor de ponderación p igual a 50, según se

determina en la continua Pitch avión: Los métodos de espacio de estado para el diseño del controlador de

página, agregue los siguientes comandos al archivo-m y ejecútelo en la ventana de comandos de

MATLAB. Tenga en cuenta que en el siguiente nos sobrescribir los valores de las matrices de espacio de
estado A , B , C y D con sus equivalentes en tiempo discreto utilizando el modelo derivado del C2D comando

anterior.

A = sys_d.a;

B = sys_d.b;

C = sys_d.c;

D = sys_d.d;

p = 50;

Q = p * C '* C

R = 1;

[K] = dlqr (A, B, Q, R)

Q =

0 0 0

0 0 0

0 0 50

K =

-0,6436 168,3611 6,9555


Tenga en cuenta la estructura de la matriz de ponderación Q y la ganancia resultante matriz K . Haciendo

referencia a las ecuaciones de estado de bucle cerrado dadas anteriormente suponiendo una ley de control

con referencia distinto de cero, ( k ) = ( k ) - K x ( k ), entonces podemos generar la respuesta de paso de

bucle cerrado mediante la adición de los siguientes comandos para su archivo-m y ejecutarlo en la ventana de

comandos de MATLAB. La respuesta tipo escalera se muestra a continuación a continuación, se debe

generar.

tiempo = 0:0.01:10;

theta_des = 0.2 * ones (size (tiempo));

sys_cl = ss (AB * K, B, C, D, Ts);

[Y, t] = lsim (sys_cl, theta_des);

stairs (t, y)

xlabel ( 'tiempo (segundos)' );

ylabel ( 'ángulo de paso (rad)' );

título ( "Paso de circuito cerrado de respuesta: DLQR ' );

El examen de lo anterior demuestra que el tiempo de subida, el exceso, y el tiempo de asentamiento son

satisfactorios. Sin embargo, existe un error de estado estacionario grande. Una forma de corregir esto es

mediante la introducción de un precompensador ( Nbar ) para escalar la salida global.


Adición precompensación
A diferencia de otros métodos de diseño, el sistema de realimentación completa de estados no compara la

salida de la referencia, sino que compara todos los estados multiplicados por la matriz de control ( K x ) a la

de referencia (véase el diagrama abajo). Por lo tanto, no debemos esperar que la salida sea igual a la

referencia mandado. Para obtener la salida deseada, se puede escalar la entrada de referencia, de manera

que la salida es igual que la referencia en estado estacionario. Esto se puede hacer mediante la introducción

de un factor de escala precompensador llamado Nbar . El esquema básico de nuestro sistema estatal de

retroalimentación con el factor de escala ( Nbar ) se muestra a continuación.

Desafortunadamente, no podemos usar nuestra función definida rscale.m encontrar Nbar , ya que sólo se

define para sistemas continuos. Podemos, sin embargo, encontrar la escala correcta por ensayo y

error. Después de varios ensayos, se encontró que Nbar igual a 6,95 proporcionado una respuesta

satisfactoria. Modifique su archivo-m, como se muestra a continuación. El funcionamiento de su archivo-m en

la línea de comandos de MATLAB generará entonces la respuesta tipo escalera se muestra a continuación.

Nbar = 6,95;

sys_cl = ss (AB * K, B * Nbar, C, D, T);

[Y, t] = lsim (sys_cl, theta_des);

stairs (t, y)

xlabel ( 'tiempo (segundos)' );

ylabel ( 'ángulo de paso (rad)' );

título ( "Closed-Loop Paso Respuesta: DLQR con precompensación ' );


De esta figura, vemos que el Nbar factor que elimina el error de estado estacionario. Ahora se cumplen todos

los requisitos de diseño.

Aviones Pitch: Simulink Modelado


Contenido
 Configuración física y ecuaciones del sistema

 Construir el modelo de espacio de estado

 La generación de la respuesta de bucle abierto y de bucle cerrado


Configuración física y ecuaciones del sistema
Las ecuaciones que gobiernan el movimiento de una aeronave son un conjunto muy complicado de seis

ecuaciones diferenciales acopladas no lineales. Sin embargo, bajo ciertas suposiciones, que pueden ser

desacoplados y linealizadas en ecuaciones longitudinal y lateral. Pitch aviones se rige por la dinámica

longitudinal. En este ejemplo vamos a diseñar un piloto automático que controla el paso de un avión.

En este ejemplo vamos a simular el modelo de aeronave linealizado con el controlador de estado de

retroalimentación diseñado anteriormente en el ejemplo. Vamos a utilizar específicamente el modelo en

espacio de estado linealizado obtenido en avión Pitch: Modeling System página. Este modelo, con valores

numéricos en el sustituidos, se da a continuación.


(1)

(2)

Las ecuaciones anteriores coinciden con la forma espacio de estado general lineal.

(3)

(4)
Construir el modelo de espacio de estado
Ahora vamos a construir un modelo de Simulink de las ecuaciones anteriores. Una opción es construir un

modelo de la planta con tecnología de retroalimentación que emula la figura que se muestra a continuación.

Nosotros, más bien, emplear el bloque de Espacio de Estado a disposición de Simulink para modelar la planta

en lazo abierto. Especificamente, siga los pasos que se indican a continuación.


 Abra Simulink y abrir una nueva ventana del modelo.

 Inserte un bloque de Paso del Simulink / library Fuentes.

 Para proporcionar una entrada de paso apropiado en t = 0, haga doble clic en el bloque de paso y

establecer el tiempo de paso a "0". También establecer el valor final a "0,2" para representar a la

referencia de 0,2 radianes estamos asumiendo.


 Inserte un bloque demultiplexores de la biblioteca de enrutamiento Simulink / señal. Haga doble clic

en el bloque y escriba "3" para el número de salidas , una salida para cada una de las tres variables de

estado.
 Inserte un Ámbito de la biblioteca Simulink / Fregaderos y conecte la tercera salida del bloque

demultiplexores al alcance. Nosotros sólo trazar la tercera variable de estado que corresponde a la salida

del sistema, que es el tono de la aeronave theta .


 Añadir Terminator cuadras de la biblioteca Simulink / Disipadores de las dos señales del bloque

demultiplexores que no estamos conspirando.


 Inserte un bloque de Espacio de Estado de la biblioteca Simulink / Continua y conectar la entrada al

bloque de Paso y la salida al bloque demultiplexores.


 Haga doble clic en el bloque de Espacio de Estado y de introducir los parámetros del sistema, como

se muestra en la siguiente figura.


Tenga en cuenta que en la figura anterior el C de la matriz se introduce como una matriz de identidad 3x3 con
el ojo de comandos en lugar de [0 0 1] como se indica en las ecuaciones de espacio de estado originales. La

razón de esto es porque en el control de realimentación de estado, se supone que todas las variables de

estado se miden, no sólo la salida. Si este no es el caso, entonces un observador necesita ser diseñado para

estimar las variables de estado que no se miden. Consulte laIntroducción: Los métodos de espacio de estado

para el Diseño Controller página. para más detalles.

Cuando haya terminado, el modelo completo debería aparecer como se muestra a continuación.

La generación de la respuesta de bucle abierto y de bucle


cerrado
Siguiente generación de la respuesta al escalón a lazo abierto mediante la ejecución de la simulación

(pulse Ctrl-T o seleccione Inicio de la simulación del menú). Una vez finalizada la simulación, haga doble

clic sobre el alcance y la escala del y -axis y usted debería ser capaz de recrear la figura siguiente.
Esta respuesta es inestable y idéntica a la obtenida dentro de MATLAB en el cabeceo de la aeronave: Análisis

del sistema de la página. Para ver una respuesta estable, ahora vamos a agregar rápidamente la ganancia de

control estatal-feedback K diseñado en el Paso del avión: Los métodos de espacio de estado para el Diseño

Controller página. Recordemos que este aumento fue diseñado utilizando el método Regulador Lineal

Cuadrático y dio como resultado un cálculo de K = [-0,6435 7,0711 169,6950].

Con el fin de agregar el control estatal de la retroalimentación de su modelo, siga los pasos que se indican a

continuación.
 Inserte un bloque Sum de la biblioteca Operaciones Simulink / Math. A continuación, haga doble clic

en el bloque y escriba "| + -" por su lista de signos donde el símbolo "|" sirve como separador entre los

puertos del bloque. Inserte el bloque entre la referencia de paso y el bloque de Espacio de Estado.
 Inserte un bloque de ganancia de la biblioteca Operaciones Simulink / Math. Con el bloque

seleccionado, pulse Ctrl-I para dar la vuelta a la manzana. A continuación, conecte la salida del bloque

del signo "-" del bloque Suma y la entrada a la salida del bloque de Espacio de Estado por el que se

desvía la señal de salida, haga clic en la línea existente.


 A continuación, haga doble clic en el bloque de ganancia e introduzca la información como se

muestra a continuación. Específicamente, introduzca el valor de la matriz de ganancia K y cambiar


el Multiplicación ajuste de Matrix (K * u) como se muestra a continuación.
Adición de las etiquetas apropiadas entonces te dejará con el modelo de Simulink se muestra a continuación.
A continuación, ejecute la simulación pulsando Ctrl-T o seleccionando Inicio de la simulación del menú. Una

vez finalizada la simulación, haga doble clic sobre el alcance y pulse el botón autoescala para recrear la figura

siguiente.

Esta respuesta es idéntica a la obtenida en MATLAB en el Paso del avión: Los métodos de espacio de estado

para el Diseño Controller página, donde fue diseñado el controlador de estado-reacción.

Si a usted le gustaría continuar para desarrollar y evaluar los algoritmos de control de este sistema, es posible

que continúe con el Paso del avión: diseño del controlador Simulink página.

Aviones Pitch: Controller Diseño Simulink


Contenido
 El control estatal de la retroalimentación con precompensación

 Solidez del sistema

 Sintonización automática PID con Simulink


El control estatal de la retroalimentación con precompensación
En esta página vamos a construir fuera del modelo construido en el Paso del avión: modelado

Simulink sección para desarrollar e investigar diferentes estrategias de control. El modelo de la que estamos

empezando se puede descargar aquí, pitch_control.mdl . El modelo completo se muestra a continuación.


En lo anterior, el bloque de Espacio de Estado se define como se muestra a continuación, donde el C de la

matriz es la matriz de identidad. Esto da como resultado en las tres variables de estado de salida son tales

que pueden ser utilizados por la ley de control de realimentación de estado. Si no todas las tres variables de

estado pueden ser medidos, a continuación, un observador necesita ser diseñado.


La respuesta a lazo cerrado bajo el control estatal de la retroalimentación se puede generar mediante la

ejecución del modelo de simulación anterior (pulse Ctrl-T o seleccione Inicio de la simulación del

menú). Una vez finalizada la simulación, haga doble clic sobre el alcance y pulse el botón autoescala para

recrear la figura siguiente.


El examen de lo anterior demuestra que el tiempo de subida, tiempo de asentarse, y los requisitos de

sobreimpulso se reunieron todos. Sin embargo, el requisito de error de estado estacionario no se cumple ya

que la respuesta no resuelve dentro del 2% de la referencia al mando de 0,2 radianes. En el Paso del avión:

Los métodos de espacio de estado para el Diseño Controller página, esta deficiencia se abordó mediante la

adición de una constante precompensador Nbar = 7.0711 para escalar la salida al nivel deseado.

Este precompensador se puede implementar mediante la adición de un bloque de ganancia a partir de la

biblioteca de Operaciones Simulink / Math para el modelo de Simulink anteriormente. Inserte el bloque entre el

bloque y el bloque Paso Sum. A continuación, haga doble clic en el bloque de ganancia y escriba "7.0711", en

el Gaincampo. El modelo resultante se muestra a continuación.


Ejecución de la simulación y la autoescala la salida trazada en el ámbito generará una respuesta como la que

se muestra a continuación.

Aviso de lo anterior que la adición de la precompensador logró conducir el error de estado estacionario a cero

de manera que ahora todos los requisitos dados están satisfechos.


Solidez del sistema
El inconveniente de utilizar un precompensador como el implementado anteriormente es que se calcula sobre

la base de un modelo de la planta y se encuentra fuera del bucle de realimentación tal que la salida de la

unión aditiva en el modelo anterior ya no es el verdadero de error. Por lo tanto, si hay errores en el modelo o

una perturbación desconocida, el precompensador será no corrige para ellos y no habrá error de estado

estacionario.

Para investigar este fenómeno, vamos a añadir una perturbación de nuestro modelo como se muestra en la

siguiente figura. La perturbación es generada por un bloque de Paso con el valor límite establecido en "0.2" y

el tiempo de paso ajustado a "3". La perturbación se modela como entrar en el sistema de la misma manera

que la entrada de control . El bloque de resumen adicional se encuentra, como se muestra, y la lista de los

signos se introduce "+ + |". También vamos a observar la entrada de control del sistema . Para hacer esto,

primero haga doble clic en el bloque de Alcance y haga clic en el Parámetros botón. En la ventana que

aparece, escriba "2" para elnúmero de ejes . Entonces ramifican la señal y conectarse a la nueva entrada

del bloque Scope. También asegúrese de que las señales que entran en el bloque Scope se nombran. Esto se

logra haciendo doble clic en una señal y luego escribir en su respectivo nombre. El modelo resultante debe

aparecer como sigue.

Ejecución de la simulación y la autoescala la salida trazada en el ámbito generará una respuesta como la que

se muestra a continuación.
La inspección de la figura de arriba muestra cómo la ocurrencia de la perturbación en un tiempo de 3

segundos acciona el sistema lejos del valor de estado estacionario deseado de 0,2 radianes y la presencia de

la precompensador constante no es capaz de corregir el efecto de la perturbación . Usted puede recordar que

la adición de control integral puede ayudar a corregir la incertidumbre, como la perturbación. Este enfoque

alternativo para el control se investiga en la siguiente sección.

La incertidumbre del modelo es otra fuente de error que debe ser considerado. Por ejemplo, si el modelo del

sistema "real" tuvo un B matriz igual a [0.232 * 1.4 * 0.6 0.0203 0] ', entonces el controlador K utilizada

anteriormente daría lugar a un sistema inestable. Esto se puede verificar mediante la modificación del bloque

de Espacio de Estado que representa la planta y volver a ejecutar la simulación. Este hecho también se puede

verificar comprobando los polos de lazo cerrado del sistema (valores propios de [ A - BK ]). Este tipo de

resultado no es raro controladores diseñados utilizando una técnica como el método Regulador Lineal

Cuadrático. Esto tiene algún sentido en el que el control de ganancia K se diseñó sólo para minimizar el error

resultante y el esfuerzo de control requerido; otros objetivos, como la robustez de la incertidumbre del modelo,

no se consideraron en el diseño. Las técnicas más avanzadas de control robusto sí existen esa dirección tales

consideraciones.
Sintonización automática PID con Simulink
Como se mencionó anteriormente, la adición de control integral de nuestra compenstator puede ayudar a

reducir el error de estado estacionario que se produce debido a los disturbios y la incertidumbre del

modelo. Es posible ampliar el vector de estado para incluir un estado de la integral del error y volver a aplicar

las técnicas de espacio de estado que previamente empleados. Más bien, vamos a implementar un

controlador PID asumiendo sólo la salida se mide. Además, vamos a utilizar las capacidades incorporadas

de Simulink para sintonizar automáticamente el controlador PID. Tenga en cuenta que esta capacidad de

sintonización PID automatizado requiere que tenga el Simulink Control Design caja de herramientas.
Siga los pasos que se indican a continuación para diseñar un controlador PID para nuestro sistema.
 Retire los bloques de ganancia para el estado de ganancias de realimentación K y la

precompensador Nbar . Asimismo, eliminar la señal de retroalimentación se separaron del vector de

estado x , y vuelva a conectarlo a la salida .


 Inserte un bloque controlador PID de la biblioteca Simulink / Continuous y colocarlo inmediatamente

después del bloque Suma un voto negativo.

El modelo resultante debe aparecer como sigue.

A continuación, haga doble clic en el bloque controlador PID. Aparecerá la siguiente ventana.
Asumiremos los parámetros por defecto que se muestran arriba, que corresponden a un controlador PID con

filtro de paso bajo en el término derivativo. Más específicamente, la estructura del controlador se muestra a
continuación, donde la Coeffient filtro ( N ) define la constante de tiempo (igual a 1 / N ) del filtro en el

término derivado de primer orden de paso bajo.

(1)

Los valores predeterminados del controlador PID se muestran en la ventana anterior y se pueden modificar

manualmente. Nosotros, sin embargo, vamos a encontrar las ganancias del controlador usando la función de
ajuste automático. Esto se logra haciendo clic en el ... Tune botón momento en el que el modelo se linealiza

alrededor de un punto de funcionamiento predeterminado y las ganancias de control PID se sintonizan a

equilibrar el rendimiento y la robustez del sistema. En nuestro ejemplo, el modelo ya es lineal. La siguiente

figura muestra la ventana que aparecerá.


Inicialmente, la respuesta del sistema con las ganancias del controlador de corriente se muestra en gris y la

respuesta del sistema con parámetros sintonizados propuestas se muestran en azul. A fin de que la figura

más clara, seguir adelante y comprobar la Actualizar automáticamente los parámetros de bloque casilla

para aplicar los parámetros ajustados a nuestro modelo Simulnk. Con este sistema, podremos desactivar

la Mostrar respuesta del bloque desde el controlador de corriente coincide ahora con el controlador

propuesto. Por último, haga clic en el cuerpo de la trama para añadir características a la respuesta de paso

para ayudarnos a evaluar si se cumplen los requisitos. Inspección de la trama anterior parece indicar que la

respuesta con el controlador recién sintonizada es demasiado lento.


A continuación, puede acelerar la respuesta desplazando el tiempo de respuesta de barra a la derecha. Si

los límites de la barra como se da no son suficientes, puede pulsar el boton marcado por flechas dobles en el

extremo derecho de la barra para cambiar la escala de los tiempos de respuesta disponibles. En general, nos

gustaría que el sistema sea lo suficientemente rápido como para satisfacer nuestros requisitos de margen,

pero no más rápido. La razón es que una respuesta más rápida, generalmente a costa de un mayor esfuerzo

de control. El comportamiento del sistema con un ajuste de tiempo de respuesta de 0,0894 segundos más de

lo que se dan los objetivos, como se muestra a continuación. Un tiempo de respuesta más rápido de lo

necesario se elige de manera que nuestra meta el tiempo de establecimiento se cumple incluso con los

disturbios.
También puede hacer clic en Mostrar parámetros de flecha para mostrar las ganancias resultantes de control

y medidas de desempeño. Para ver el rendimiento de este controlador (incluyendo el esfuerzo de control

requerido), ejecute la simulación y la escala de la salida que se muestra en el alcance para generar una figura

como la que se muestra a continuación.


Inspección de lo anterior, un par de cosas que se destacan. Uno de los disturbios que se corrija en el estado

de equilibrio ya que el controlador PID estamos utilizando incluye un término integral. Además, el esfuerzo de

control requerido por este controlador es mucho mayor que la requerida por nuestro controlador de

realimentación de estado. Esto es probablemente debido a que el algoritmo utilizado para el ajuste automático

no tuvo en cuenta el esfuerzo de control, o si lo hizo, el esfuerzo de control no se ponderó como fuertemente

como lo fue en la función de coste se definió por el Regulador Cuadrático Lineal.

En la práctica, es probable que el ángulo de ascensor de la aeronave estaría limitado a algo así como que

los -25 grados (-0,4363 rad) a 25 grados (0,4363 rad). Para asegurarse de que no vamos más allá de este

límite, se puede configurar el controlador para saturar. Esto se lleva a cabo bajo la avanzada PID pestaña de

la ventana de configuración de bloque PID Controller marcando la salida Límite caja y entrar en "0.4363" para

el límite de saturación superior y "-0.4363" para el límite de saturación inferior como se muestra en la

siguiente figura.
Un problema con el control PID que surge cuando un actuador satura es que el término integrador puede

continuar integrando el error, esencialmente pidiendo mayor y un mayor control, incluso cuando el esfuerzo de
control ha saturado. Esto es problemático porque cuando el error de tiempo empieza a disminuir, el esfuerzo

de control seguirá a estar saturado porque el integrador ha construido hasta un valor tan grande. Esto hace

que el sistema lento, ya que puede tomar mucho tiempo para que el integrador para "relajarse". Este bloque

de control PID puede ayudar con este problema mediante la aplicación de una estrategia contra el

integrador. Esta opción también se establece bajo la avanzada PID pestaña como se muestra en la figura
anterior. Vamos a elegir la sujeción opción de método de anti-windup . Esta estrategia se detiene

fundamentalmente integrador de la integración cuando el actuador se satura y luego la vuelve a encender

cuando la salida del controlador vuelva a situarse dentro de los límites de saturación.

Después de seleccionar estas opciones, la aplicación de estas ganancias y ejecutar la simulación genera los

siguientes resultados que parecen satisfacer nuestras necesidades, incluso en la presencia de perturbaciones

como se muestra a continuación. Observe que el esfuerzo de control se mantiene dentro de los límites de

-0,4363 a 0,4363 radianes y tiene el efecto de reducir el exceso del sistema.

Vous aimerez peut-être aussi