Académique Documents
Professionnel Documents
Culture Documents
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
(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
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
(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,
(10)
(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
s = tf ( 's' );
P_pitch =
1.151 s + 0.1774
-------------------------
s ^ 3 + 0.739 s ^ 2 + 0,921 s
Para generar el modelo de espacio de estados se ha descrito anteriormente, en vez ingrese los siguientes
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
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.
(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:
Para una referencia de paso, los criterios de diseño son las siguientes.
Sobrepico menor que 10%
s = tf ( '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
t = [0:0.01:10];
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
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 =
1,151 s + 0.1774
----------------------------------
s ^ 3 + 0.739 s ^ 2 + 2.072 s + 0.1774
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 .
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
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
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
R = 0,2 / s;
Y = ZPK (sys_cl * R)
Y =
0.2302 (0.1541 s)
-------------------------------------
primer orden para el polo real de la función de transferencia, un término de segundo orden para los polos
(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
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
de los polos complejos conjugados de nuevo en una sola expresión, como se muestra a continuación.
tf (num, den)
ans =
-0.1121 s - 0.08071
----------------------
s ^ 2 + 0.6509 s 2,015 +
función de transferencia de tiempo continuo.
(9)
El empleo de una tabla transformada de Laplace, la transformada inversa de Laplace de la expresión anterior
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
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];
parcela (t, y)
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.
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)
Por originales del problema y la derivación de la función de transferencia anterior, consulte el Paso del avión:
Para una referencia de paso de 0,2 radianes, los criterios de diseño son las siguientes.
Sobrepico menor que 10%
Recuerde que en la Introducción: diseño del controlador PID página que la función de transferencia para un
(2)
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
s = tf ( '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
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
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 ,
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
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
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
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
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
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
(5)
Esta función de transferencia es un compensador PID con Ki = 4,45, Kp = 0,98, y Kd = 4,90. La respuesta al
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
(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%
Por lo tanto, este controlador PID proporcionar el rendimiento deseado de la altura tonal de la aeronave.
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)
Por originales del problema y la derivación de la función de transferencia anterior, consulte el Paso del avión:
Para una referencia de paso de 0,2 radianes, los criterios de diseño son las siguientes.
Sobrepico menor que 10%
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
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
= 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' );
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
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
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
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
(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
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,
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
de nuestra región deseada. Una forma de hacer esto es emplear un compensador de adelanto, consulte
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
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
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
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
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
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
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
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
Compensador
Partir del problema principal, la función de transferencia a lazo abierto para la dinámica de paso de aviones es
(1)
Para una referencia de paso de 0,2 radianes, los criterios de diseño son las siguientes.
Sobrepico menor que 10%
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' );
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
lazo cerrado asumiendo la arquitectura con realimentación unitaria arriba y un controlador de ganancia
unitaria, C ( s ) = 1.
sys_cl =
1.151 s + 0.1774
----------------------------------
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 (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
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
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
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
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
(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
K = 10;
figura;
han llevado a la frecuencia de cruce de ganancia superior.El efecto de estos cambios son evidentes en la
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
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
(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
(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
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
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á
(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
(7)
Con los valores de K = 10, = 0,10 y T = 0,52 calculado anteriormente, ahora tenemos un primer intento de
línea de comandos generará la gráfica se muestra a continuación muestra el efecto del compensador de
K = 10;
alfa = 0,10;
T = 0,52;
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.
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
ans =
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
K = 10;
alfa = 0,04;
T = 0,55;
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 =
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)
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
(4)
Para una referencia de paso de 0,2 radianes, los criterios de diseño son las siguientes.
Sobrepico menor que 10%
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
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.
(5)
debe tener rango n . El rango de una matriz es el número de filas independientes (o columnas). El
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.
C = [0 0 1];
D = [0];
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
theta_des = referencia ( r )
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
(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
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
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
vamos a dejar que el factor de ponderación ( p ) igual a 2.Agregue los siguientes comandos al archivo-m y
p = 2;
Q = p * C '* C
R = 1;
0 0 0
0 0 0
0 0 2
K =
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
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.
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
p = 50;
Q = p * C '* C;
R = 1;
K =
satisfactorios. Sin embargo, existe un error de estado estacionario grande. Una forma de corregir esto es
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
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
p = 50;
Q = p * C '* C;
R = 1;
Nbar =
7.0711
Agregar el siguiente código y volver a ejecutar su archivo-m generará entonces la respuesta se muestra a
continuació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
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.
Controlabilidad
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
(1)
(2)
Para una referencia de paso de 0,2 radianes, los criterios de diseño son las siguientes.
Sobrepico menor que 10%
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
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];
Ts = 1/100;
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
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
(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
co = ctrb (sys_d);
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
donde
K = control de ganancia de la matriz
theta_des = referencia ( r )
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
(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
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
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;
Q =
0 0 0
0 0 0
0 0 50
K =
referencia a las ecuaciones de estado de bucle cerrado dadas anteriormente suponiendo una ley de control
bucle cerrado mediante la adición de los siguientes comandos para su archivo-m y ejecutarlo en la ventana de
generar.
tiempo = 0:0.01:10;
stairs (t, y)
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
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
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
la línea de comandos de MATLAB generará entonces la respuesta tipo escalera se muestra a continuación.
Nbar = 6,95;
stairs (t, y)
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
espacio de estado linealizado obtenido en avión Pitch: Modeling System página. Este modelo, con valores
(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
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
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
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
Cuando haya terminado, el modelo completo debería aparecer como se muestra a continuació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
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
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
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.
Simulink sección para desarrollar e investigar diferentes estrategias de control. El modelo de la que estamos
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
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
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.
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
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
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
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
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
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
(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
equilibrar el rendimiento y la robustez del sistema. En nuestro ejemplo, el modelo ya es lineal. La siguiente
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
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
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
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
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