​​​La herramienta de diseño interactivo rltool de MatLab proporciona una interfaz gráfica de usuario que puede utilizarse para:
  • Analizar el lugar de las raíces para los sistemas de control LTI (lineal e invariante en el tiempo) SISO (entrada simple y salida simple).
  • Especificar los parámetros de un compensador de realimentación: polos, ceros y ganancia.
  • Examinar cómo cambiando los parámetros del compensador, cambia el lugar de las raíces y varias respuestas a lazo cerrado, como la respuesta al escalón unitario, respuesta al impulso unitario, diagramas de Bode y/o Nyquist entre otros.

Debajo se muestra un video que pretende ilustrar la utilidad de la herramienta en la construcción de un controlador, también se facilita un breve tutorial de rltool.



Para explicar mejor el uso de esta herramienta, seguiremos un ejemplo que involucra un servomecanismo electro-hidráulico, que esencialmente es un amplificador de potencia electro-hidráulico, controlado por una válvula piloto y un actuador. Estos servomecanismos son muy pequeños y se utilizan para controlar posición.
r.2.pngr.3.png
En la figura, K(s) representa el compensador que deseamos diseñar. Este compensador puede ser tanto una ganancia como un sistema LTI. La planta linealizada viene dada por:
r.1.png
Para este ejemplo, queremos diseñar un controlador de forma tal que la respuesta al escalón a lazo cerrado cumpla con las siguientes especificaciones de diseño:
  • El tiempo de establecimiento menor a 0,05 seg.
  • El sobrevalor máximo menor al 5%.

Para comenzar, desde el workspace de MatLab, introducimos el comando rltool, con el que abrimos una nueva ventana (puede cambiar según la versión del programa), en la que encontramos:
  • Una barra de menú, entre los que encontramos, por ejemplo, una opción para importar/exportar modelos y para editarlos.
  • Un gráfico de bloques que es la estructura de realimentación que utilizaremos; si hacemos click sobre el bloque K, podemos ver o editar el compensador, y sobre P, F o H para ver las características de diseño del modelo.
  • Un botón para cambiar entre realimentación negativa y positiva.
  • Una descripción del compensador que configuraremos. Por defecto toma el valor de ganancia igual a 1 (K = 1).
  • Cuatro botones que utilizaremos para agregar polos o ceros del compensador, borrarlos o moverlos.
  • Un cuadro de texto para editar la ganancia que modificará el lugar de los polos a bucle cerrado.
  • Botones para editar los ejes.
  • Botones para modificar el zoom del gráfico.
  • Check boxes para abrir herramientas de análisis de respuesta del sistema.
  • Una barra de status que provee información.
    r.4.png
Una vez abierta la ventana, debemos importar el modelo del sistema para el que queremos diseñar un compensador. Existen cuatro formas para importar un modelo LTI, y éstas son:
  1. Cargar el modelo desde el workspace de MatLab, con el comando rltool(sys,comp), donde sys es la función transferencia del sistema introducida como tal, y comp la del compensador (opcional).
  2. Cargar el modelo desde un archivo de extensión .mat de un disco.
  3. Cargar bloques LTI SISO desde un diagrama de SIMULINK.
  4. Crear los modelos utilizando tf, ss o zpk.
Para este ejemplo, importemos nuestro modelo del servomecanismo desde el workspace. Para ello debemos previamente ingresar el modelo con la función tf o zpk y guardarla en una variable, por ejemplo Gservo. Una vez cargado el modelo, lo podemos importar desde el menú Import Model del menú File. En la ventana de importación que se desplegará encontraremos:
  • Un diagrama correspondiente a la estructura de realimentación que utilizaremos.
  • Un botón que conmuta entre las dos posibles estructuras de realimentación que hay configuradas.
  • Una lista para seleccionar desde dónde se importará el modelo.
  • Una lista de sistemas LTI disponibles o bloques.
  • Un cuadro de texto para editar el nombre del diseño.
  • Tres botones con flechas para transferir el modelo seleccionado de la lista al componente de diseño del modelo, ya sea P, F o H.
  • Tres cuadros de textos para los nombres de los componentes del diseño. Desde este recuadro podemos también definir funciones de transferencias para cada componente, utilizando tf, ss o zpk.
Ya sea en cualquiera de las dos configuraciones, cada componente representa: F - prefiltro; P - modelo de la planta; H - dinámica de la planta; K - compensador a diseñar.
Siguiendo con nuestro ejemplo, carguemos el modelo lineal en P, seleccionándolo desde la lista de workspace y luego haciendo un click sobre la flecha que señala a P, o simplemente tipeando en el cuadro de texto Gservo (nombre de nuestro modelo). Luego de seleccionar OK, en la región de gráfico de la ventana de diseño, aparecerá el gráfico del lugar de las raíces del modelo ingresado, Los pequeños cuadros rojos sobre él corresponden a los polos a lazo cerrado correspondientes al valor de la ganancia del compensador.
r.5.png
Veamos hasta qué valor de ganancia podemos aplicarle al compensador para que se mantenga estable a lazo cerrado, es decir, hasta que los polos a lazo cerrado se mantengan en el semi-plano izquierdo del plano complejo. Este límite lo podemos calcular de la siguiente forma:
  1. Mover el puntero del mouse sobre un de los cuadrados rojos, donde aparecerá una mano en lugar del puntero. Arrastrar dicho cuadrado hasta lo más cerca del eje imaginario. Observar que el valor de la ganancia se va modificando.
  2. Como no podemos saber si los polos se encuentran exactamente sobre el eje imaginario, utilizar el zoom para acercarlos mejor. Una vez alcanzado el eje imaginario, quitar el zoom con el botón de los binoculares.
  3. Por último, verificar que la ganancia correspondiente para que los polos a lazo cerrado sean imaginarios puros es aproximadamente 43,5 (ganancia críitica).
El valor de la ganancia podría haberse modificado directamente desde el recuadro correspondiente a la ganancia del compensador, hasta que los polos a lazo cerrado se ubiquen sobre el eje imaginario.
Antes de diseñar el compensador, quisiéramos conocer cómo se comporta el sistema a lazo cerrado para un determinado valor de ganancia. Para ello, debemos seleccionar el check box que aparece en la parte inferior de la ventana la opción del gráfico que no interesa conocer. Para este ejemplo las especificaciones de diseño vienen dadas sobre la respuesta al escalón, por lo que seleccionaremos dicha opción, que desplegará una ventana de LTIVIEWER. Si editamos el valor de la ganancia, por ejemplo 20, y presionamos ENTER, veremos como la respuesta al escalón de la ventana LTIVIEWER se modificó. Recordemos que en dicha ventana, cuando hacemos click sobre la figura con el botón derecho del mouse, podemos seleccionar que nos muestre las características que necesitamos, en este caso el sobrevalor y el tiempo de establecimiento. Podemos observar que en este caso por más que modifiquemos la ganancia, las especificaciones nunca se alcanzan. Por lo que para que se cumplan debemos diseñar un compensador.
Para diseñar el compensador, debemos conocer dónde queremos que se ubiquen los polos a lazo cerrado para que las especificaciones se cumplan. Por eso vamos a elegir del menú Tools, la opción Add Grid/Boundary, que realizará rectas donde se especifiquen, en este caso le indicaremos el tiempo de establecimiento igual a 0,05 seg. y el factor de amortiguamiento igual a 0.7. Una vez seleccionados dichos valores, veremos que en el gráfico aparecen las dos rectas correspondientes a las características ingresadas. Ahora sabemos que para que se cumplan las especificaciones de diseño, los polos dominantes del sistema a lazo cerrado deberán ubicarse en la intersección de dichas rectas. Para ello, debemos ”mover” el lugar de las raíces agregando polos y ceros al compensador. Para ello debemos proceder de alguna de las siguientes formas:
  • Utilizando los botones de agregar, o quitar, polos o ceros: seleccionar el botón correspondiente, luego con el puntero del mouse indicar dónde se ubicará el polo y hacer un click en dicho lugar. Para nuestro ejemplo, ubiquemos un par de polos complejos conjugados por debajo y a la derecha de los polos a lazo abierto. Agreguemos un par de ceros complejos conjugados ”cerca” de los polos a lazo abierto. Observemos cómo se modificó el lugar de las raíces. Si todavía no pasa por la intersección de las rectas correspondientes a las características de diseño, mover los polos y/o ceros. Una vez conseguido esto, modificar la ganancia para que los polos a lazo cerrado se ubiquen donde queremos. Por último nos queda verificar con la respuesta al escalón que se cumplen las especificaciones dadas.
r.6.pngr.7.png
  • Utilizando el menú Edit compensator del menú Tools, o haciendo un click sobre el compensador del gráfico de bloques de la derecha. Si ya realizamos el procedimiento anterior, sabemos que los polos, ceros y ganancia del compensador se puede aproximar con
K = 9.7
Polos = - 110 ± 140 i
Ceros = - 70 ± 270 i


Una vez encontrado el compensador que lleva a nuestro sistema a que cumpla con las especificaciones dadas, podemos guardar los parámetros desde el menú File, con la opción Export podemos llevarlo a un disco, o al workspace de MatLab.

Principal