Modelos, Control y Sistema de Visión

Central     Modelos     Control     Visión     Aplicaciones     Mapa del sitio     Publicaciones     Sobre el autor      
Control de un servomotor (Parte I)
 
La descripción de los componentes del modelo de un motor ideal puede consultarlos aquí (modelo, que se crea como subsistema). Se desea controlar un servomotor Faulhaber de la serie 0615, por lo que se utiliza un modelo con sus especificaciones (fuente: ssc_dcmotor). Cuando se aplica un escalón de 1.5v la salida es 2000 rad/s (ello corresponde a 19100 RPM *2*pi/60, la velocidad sin carga especificada por el fabricante).
 
Se considera que el motor a controlar tendrá acoplado un reductor de 10 unidades y un par de carga que se representa como un generador de números aleatorios (este parámetro se desconoce, pero como es necesario adquirir los datos que simulan al hardware, se considerará aquí que sus valores están en el rango [0, -0.5e-3 Nm]).
 
Para obtener los datos de entrada-salida es necesario generar una señal de entrada que posea la suficiente dinámica y exportar el resultado de la medición al espacio de trabajo. Una opción sería que la señal de entrada sea entre +/-1.5V, generándose una salida que puede llegar a 250 rad/seg (incluyendo el reductor incorporado al servomotor, modelo). En el ejemplo que aquí se realiza se utilizó un escalón y un período de muestreo de 1e-4 s. El modelo utilizado para obtener los datos y los gráficos del voltaje de entrada y la velocidad angular de salida se muestran a continuación (modelo).
 

Modelo con generador de datos para un escalón

 

Velocidad angular con reductor y par de carga

 
Existen dos métodos fundamentales para obtener el modelo:
 
I.- Ajustar los parámetros de modelos basados en ecuaciones diferenciales y algebraicas conocidas.
II.- Obtener el modelo lineal invariante en tiempo.
 
Ajustar los parámetros de modelos basados en ecuaciones diferenciales y algebraicas
 
Se utiliza la herramienta: "Control and Estimation Tools Manager", de Simulink. En primer lugar se define el modelo en Simulink utilizando las ecuaciones y parámetros de acuerdo al modelo que lo represente en el espacio de estados (modelo de un servomotor). Posteriormente se seleccionan los elementos que lo componen y se crea un subsistema (Create subsystem). Se selecciona el susbsistema creado y se definen los parámetros que serán ajustables, entre otros (se puede adicionar una imagen). Las características de las variables se definen en: Edit à Edit Mask. Los parámetros deben definirse con letras dentro del bloque para que sean interpretadas como variables a adaptar, adicionalmente, estas deben inicializarse en el espacio de trabajo:

 

>> R= 1.0 % Ohms

L= 0.5 % Henrys

Km = .01 % V/(rad/s) torque constant

Kb = .01 % V/(rad/s) emf constant

Kf = 0.1 % Nms/(rad/s)

J= 0.01 % kg.m^2

 

 

Modelo del servomotor ideal

 

Subsistema del servomotor: Nótese los bloques In1, Out 1

 

 

Definición de variables

Definición de los parámetros a adaptar

 
El próximo paso es definir los parámetros a adaptar y proceder a ello. Para esto se activa, en la ventada de Simulink donde está el subsistema, Tools à Parameter Estimation.
 
Paso I.- Se procede a asociar las variables de entrada-salida presentes en el espacio de trabajo (medidas sobre el hardware) con las variables de entrada-salida del modelo Simulink (Transient Data à New Data). Utilizar: New Data à Import y asociar las variables de entrada y salida.
 

Asociación entre variables de Simulink y el espacio de trabajo

 
Paso II.- Se definen los parámetros a adaptar y el método como se adaptan. Utilizar: Variables à Add.

El cuadro de diálogo Estimation à Estimation Options… permite definir el método que se utilizará para adaptar los parámetros.

 

Parámetros a adaptar

Método de adaptación

 

 Paso III.- Adaptar los parámetros: Estimation à Start. Se deben combinar diferentes métodos para obtener una buena estimación. Los datos anteriormente estimados se mantienen.

 

 

Modelo obtenido

Evolución de los parámetros

 

 Obtener el modelo lineal invariante en tiempo

 
Se utiliza el System Identification Toolbox para obtener un modelo en el espacio de estado, basada en la GUI ident. Un ejemplo de como utilizar esta herramienta se describe aquí.
 
En nuestro caso, se obtuvo un modelo definiendo las variables de entrada-salida del espacio de trabajo con un período de muestreo de 1e-4, el método de estimación fue: Estimate à Linear parametric models  à State Space (orden 4). El modelo resultante se muestra a continuación
 
>> modelo
State-space model:  x(t+Ts) = A x(t) + B u(t) + K e(t)
                       y(t) = C x(t) + D u(t) + e(t)
A =
                        x1           x2           x3           x4
           x1      0.98763   0.00023769    0.0011671   -0.0035671
           x2    0.0095406      0.29888       0.8403      0.36656
           x3    0.0084437     -0.22165      0.35907      -1.0085
           x4   -0.0073578      0.34886      0.33093     0.089472
B =
                        u1
           x1    0.0025706
           x2     0.021592
           x3    -0.081077
           x4    -0.010065
C =
                        x1           x2           x3           x4
           y1       501.11    -0.078333    -0.053524     -0.10126
D =
                        u1
           y1            0
 
Una representación de la salida medida y la estimada se muestra a continuación
 

 

Salida real y estimada por el modelo

 

Modelo Idmodel, simulando respuesta

 

 
Una vez obtenido el modelo se procede al diseño del controlador.
 
Referencias:
 
Mathworks: "Design and Verify Control Systems using Simulink". Webinars.Partes I,II,III y IV. 2009.