0% encontró este documento útil (0 votos)
111 vistas89 páginas

Universidad Catolica de Santa Maria: Facultad de Ciencias E Ingenierias Fisicas Y Formales

Este documento presenta una guía de prácticas para el curso de Control Mecatrónico III. Incluye 10 ejercicios sobre temas como modelado en espacio de estados, linealización, transformaciones canónicas, linealidad de sistemas, control por realimentación de estados, observadores, identificación experimental de funciones de transferencia, control óptimo cuadrático y control LQG con filtro de Kalman. Los estudiantes deberán resolver los ejercicios aplicando conceptos teóricos a casos prácticos y presentando informes
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
111 vistas89 páginas

Universidad Catolica de Santa Maria: Facultad de Ciencias E Ingenierias Fisicas Y Formales

Este documento presenta una guía de prácticas para el curso de Control Mecatrónico III. Incluye 10 ejercicios sobre temas como modelado en espacio de estados, linealización, transformaciones canónicas, linealidad de sistemas, control por realimentación de estados, observadores, identificación experimental de funciones de transferencia, control óptimo cuadrático y control LQG con filtro de Kalman. Los estudiantes deberán resolver los ejercicios aplicando conceptos teóricos a casos prácticos y presentando informes
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD CATOLICA DE SANTA MARIA

FACULTAD DE CIENCIAS E INGENIERIAS FISICAS


Y FORMALES

E. P. DE INGENIERÍA MECANICA, MECANICA –ELECTRICA Y


MECATRONICA

GUÍA DE PRACTICAS DE CONTROL MECATRONICO III

Ing. Marcelo Jaime Quispe Ccachuco

2023
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

INDICE
Ejercicio 1: Modelado en espacio de estados ……….... 3

Ejercicio 2: Linealización + Modelado en espacio de estados …….... 7

Ejercicio 3: Espacio de estados. Transformaciones canónicas ………… 11

Ejercicio 4: Linealidad de los sistemas en espacio de estados…………... 16

Ejercicio 5: Control por realimentación de estados…………… 20

Ejercicio 6: Observadores de Orden completo………..… 24

Ejercicio 7: Observadores de Orden reducido…………… 30

Ejercicio 8: Identificación experimental de función de transferencia…. 37

Ejercicio 9: Control optimo cuadrático (LQR)…………………………….. 55

Ejercicio 10: Control LQG Y Filtro de Kalman………………………….. 58

Anexo para el Ejercicio 1………………………………………………….. 64

2
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Ejercicio 1

Modelado en espacio de estados.


Objetivos didácticos
• Obtener las ecuaciones diferenciales de cada sistema.
• Realizar el modelo en espacio – estado a partir de las ecuaciones diferenciales.
• Realizar un código en MATLAB para simular el sistema ante una entrada.

• Realizar la simulación también con simulink.


Descripción de la tarea a resolver
Esquema de situación.

Condiciones generales
• Se han planteado 16 sistemas que serán sorteados, para que cada grupo de 3 alumnos realice las
tareas propuestas.
• Entrega del informe con los anexos a través del aula virtual del curso.
• Duración 1 sesión.

3
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Tareas a resolver
1. Explicar el modelamiento en espacio-estado
2. Definir las entradas, salidas, estados a parir de las ecuaciones diferenciales del sistema.
3. Realizar las simulaciones en MATLAB, considerar entradas (escalón, rampa, etc) de acuerdo al sistema.
4. Elaborar un informe y enviarlo por el aula virtual.
Medios auxiliares
• Lista de ejercicios completos disponible en el aula virtual.
• Libros del curso disponibles en el aula virtual.
1. Explicar el modelamiento en espacio-estado
Damos un pequeño desplazamiento hacia arriba

𝑎 = 𝐿1 𝑠𝑖𝑛(𝜃) ≈ 𝐿1 (𝜃)

𝑏 = 𝐿2 𝑠𝑖𝑛(𝜃) ≈ 𝐿2 (𝜃)

D.C.L. de la masa m

𝐾2 (𝑏 − 𝑦) = 𝑚2 𝑦̈

2da ley de newton en la barra

𝑢𝐿2 − 𝐾2 (𝑏 − 𝑦)𝐿2 − 𝐾1 𝑎𝐿1 = 𝐼𝜃̈

Reemplazando a y b

𝐾2 (𝐿2 𝜃 − 𝑦) = 𝑚2 𝑦̈

𝑢𝐿2 − 𝐾2 (𝐿2 𝜃 − 𝑦)𝐿2 − 𝐾1 (𝐿1 𝜃)𝐿1 = 𝐼𝜃̈


Estados Salidas Entradas

𝑥1 = 𝑦 y=y u=u
𝑥2 = 𝑦̇ = 𝑥1̇
𝑥3 = 𝜃
𝑥4 = 𝜃̇ = 𝑥3̇
Pasando a espacio de estados

𝐾2 (𝐿2 𝑥3 − 𝑥1 ) = 𝑚2 𝑥2̇
𝑢𝐿2 − 𝐾2 (𝐿2 𝑥3 − 𝑥1 )𝐿2 − 𝐾1 (𝐿1 𝑥3 )𝐿1 = 𝐼𝑥4̇

4
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

0 1 0 0
𝑥1̇ 𝐾2 𝐾2 𝐿2 0
− 0 0 0
𝑥̇ 𝑚2 𝑚2
[ 2] = 𝒙+ 0 𝑢
𝑥3̇ 0 0 0 1 𝐿2
𝑥4̇ 𝐾2 𝐿2 −𝐾1 𝐿1 − 𝐾2 𝐿2 2
2
[
0 0] 𝐼]
[ 𝐼 𝐼
𝑦 = [1 0 0 0]𝒙 +
Dar valores para las constantes, y considerar condiciones iniciales.

2. Realizar las simulaciones en MATLAB

5
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Simulink en matlab CODIGO EN MATLAB

%declarar datos
B1=0.01; B2=0.2;
B3=0.5;
K1=1; K2=2;
M1=12; M2=8;
%declarar matrices
A=[0 1 0 0;
-(K1/M1) -
((B1+B2+B3)/M1) 0
(B2/M1);
0 0 0 1;
0 (B2/M2) -(K2/M2)
-(B2/M2)];
B=[0 0 0 1/M2];
C=[1 0 0 0];
D=0;
%CONDICION INICIAL
X0=[0 pi/4 0 pi/4];
SYS1=ss(A,B,C,D);
t=0:0.1:5;
u=2*ones(1,lenght(t))
step(SYS1);

6
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Ejercicio 2

Linealización + Modelado en espacio de estados.


Objetivos didácticos
• Obtener las ecuaciones diferenciales no lineales de cada sistema.
• Linealizar usando el Jacobiano
• Realizar el modelo en espacio luego de la linealizacion.

• Realizar un código en MATLAB para simular el sistema sin linealizar vs el sistema linealizado, alrededor
de un punto.
• Realizar la simulación también con simulink.
Descripción de la tarea a resolver
• La figura a continuación es un modelo físico para un sistema eléctrico. Se observa que tiene un
elemento no lineal, se pide modelar el sistema en espacio – estado, luego de linealizar.
𝟏
• 9.31. Para el circuito mostrado en la figura, 𝒊𝟎 = 𝒆𝒐 𝟑 y 𝒆𝒊 (𝒕) = 𝟖 + 𝒆̅𝒊 (𝒕)
𝟒

Esquema de situación.

Condiciones generales
• Se han planteado 16 sistemas (Libro CLOSE AND DEAN Capitulo 9) que serán sorteados, para que cada
grupo de 2 alumnos realice las tareas propuestas.
• Entrega del informe con los anexos a través del aula virtual del curso.
• Duración 1 sesión.

Tareas a resolver
1. Explicar la linealización de sistemas no lineales en espacio-estado
2. Definir las entradas, salidas, estados a parir de las ecuaciones diferenciales del sistema.
3. Realizar las simulaciones en MATLAB, considerar entradas (escalón, rampa, etc) de acuerdo al sistema.

7
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

4. Elaborar un informe y enviarlo por el aula virtual.


Medios auxiliares
• Lista de ejercicios completos disponible en el aula virtual.
• Libros del curso disponibles en el aula virtual.
1. Explicar el modelamiento en espacio-estado
Verificar que las ecuaciones de
estado variable son:
𝒆̇ 𝑨 = 𝟐[−𝒆𝑨 − 𝒊𝑳 + 𝒆𝒊 (𝒕)]
𝟏
𝒆̇ 𝑶 = 𝟔 [− 𝒆𝒐 𝟑 + 𝒊𝑳 ]
𝟒
𝒅𝒊𝑳
= 𝟑[𝒆𝑨 − 𝒆𝟎 − 𝟐𝒊𝑳 ]
𝒅𝒕
𝑒𝑖 = 𝐼𝑅 + 𝑒𝐴
𝑒𝑖 = 𝐼(1Ω) + 𝑒𝐴
𝐼 = 𝑒𝑖 − 𝑒𝐴

Para el nodo A En el nodo B


𝐼 = 𝐼𝐶 + 𝐼𝐿 𝐼𝐿 = 𝐼𝐹 + 𝐼𝑂
𝐼𝐶 = 𝐼 − 𝐼𝐿 𝐼𝐹 = 𝐼𝐿 − 𝐼𝑂
1 𝑒𝑂̇ = 6(−𝐼𝑂 + 𝐼𝐿 )
𝑒𝐴 = ∫ 𝐼𝐶 𝑑𝑡 1
𝐶 𝐼0 = 𝑒𝑜 3
1 4
𝑒𝐴̇ = 𝐼𝐶 1 3
𝐶 𝑒𝑂̇ = 6 (− 𝑒𝑜 + 𝐼𝐿 )
𝐼𝐶 = 𝐶𝑒𝐴̇ 4
𝐶𝑒𝐴= ̇ 𝐼 − 𝐼𝐿
𝐶𝑒𝐴=̇ 𝑒𝑖 − 𝑒𝐴 − 𝐼𝐿 𝑒𝐴 = 𝑒𝐿 + 𝐼𝑅2 + 𝑒𝑂
𝑒𝐴̇ = 2(𝑒𝑖 − 𝑒𝐴 − 𝐼𝐿 ) 𝑑𝐼𝐿
𝑒𝐴 = 𝐿 + 𝐼𝐿 𝑅2 + 𝑒𝑂
𝑑𝑡
𝑒𝐹 = 𝑒𝑂 1 𝑑𝐼𝐿
𝑒𝐴 = + 2𝐼𝐿 + 𝑒𝑂
1 3 𝑑𝑡
𝑒𝑂 = ∫ 𝐼𝐹 𝑑𝑡 𝑑𝐼𝐿
𝐶 = 3(𝑒𝐴 − 𝑒𝑂 − 2𝐼𝐿 )
1 𝑑𝑡
𝑒𝑂 = ∫ 𝐼𝐹 𝑑𝑡
1
6
𝑒𝑂̇
= 𝐼𝐹
6

Verificar que el punto de operación es definido por 𝒆̅𝒐 = 𝟐𝑽


Estados Entrada Salida
𝑿𝟏 = 𝒆 𝑨 𝑢 = 𝑒𝑖 ℎ(𝑥, 𝑢) = 𝑦 = 𝑒𝑂
𝑿𝟐 = 𝒆 𝑶
𝑿𝟑 = 𝑰𝑳

𝑒𝐴̇ = −2𝑒𝐴 − 2𝐼𝐿 + 2𝑒𝑖


1
𝑒̇𝑂 = 6 [− 𝑒𝑜 3 + 𝑖𝐿 ]
4
𝐼𝐿̇ = 3(𝑒𝐴 − 𝑒𝑂 − 2𝐼𝐿 )

8
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Hacemos el cambio de variable e igualamos a 0 para encontrar los puntos de equilibrio


𝒇𝟏 (𝒙, 𝒖, 𝒚) = 𝑿̇𝟏 = −𝟐𝑿𝟏 − 𝟐𝑿𝟑 + 𝟐𝒖 = 𝟎
𝟏
𝒇𝟐 (𝒙, 𝒖, 𝒚) = 𝑿̇𝟐 = 𝟔 [− 𝑿𝟐 𝟑 + 𝑿𝟑 ] = 𝟎
𝟒
𝒇𝟑 (𝒙, 𝒖, 𝒚) = 𝑿̇𝟑 = 𝟑𝑿𝟏 − 𝟑𝑿𝟐 − 𝟔𝑿𝟑 = 𝟎
En la primera ecuación.
−2𝑋1 − 2𝑋3 + 2(8 + 𝑒̅(𝑡))
𝑖 =0
−2𝑋1 − 2𝑋3 + 2(8) = 0
8 = 𝑋1 + 𝑋3
𝑋1 = 8 − 𝑋3
En la tercera ecuación.

3𝑋1 − 3𝑋2 − 6𝑋3 = 0


𝑋1 − 𝑋2 − 2𝑋3 = 0
𝑅𝑒𝑒𝑚𝑝𝑙𝑎𝑧𝑎𝑛𝑑𝑜 𝑙𝑎 𝑝𝑟𝑖𝑚𝑒𝑟𝑎 𝑒𝑛 𝑒𝑠𝑡𝑎 𝑒𝑐𝑢𝑎𝑐𝑖𝑜𝑛
8 − 𝑋3 − 𝑋2 − 2𝑋3 = 0
8 − 𝑋2 = 3𝑋3
En la segunda ecuación.

1
6 [− 𝑋2 3 + 𝑋3 ] = 0
4
1 3
− 𝑋2 + 𝑋3 = 0
4
1 3 (8 − 𝑋2 )
− 𝑋2 + =0
4 3
4(8 − 𝑋2 ) = 3𝑋2 3
32 − 4𝑋2 = 3𝑋2 3
3𝑋2 3 + 4𝑋2 − 32 = 0
𝑋̂2 = 2 = 𝑒̅𝑜

Encontrar las ecuaciones de estado variable para el punto de operación de la parte b y dibuje el circuito
equivalente linealizado

𝒇𝟏 = 𝑿̇𝟏
𝒇𝟐 = 𝑿̇𝟐
𝒇𝟑 = 𝑿̇𝟑

𝝏𝒇𝟏 𝝏𝒇𝟏 𝝏𝒇𝟏


𝝏𝑿𝟏 𝝏𝑿𝟐 𝝏𝑿𝟑
𝝏𝒇𝟐 𝝏𝒇𝟐 𝝏𝒇𝟐
𝐴̂ = 𝑝𝑎𝑟𝑎 𝑋1 = 6, 𝑋2 = 2, 𝑋3 = 2
𝝏𝑿𝟏 𝝏𝑿𝟐 𝝏𝑿𝟑
𝝏𝒇𝟑 𝝏𝒇𝟑 𝝏𝒇𝟑
[𝝏𝑿𝟏 𝝏𝑿𝟐 𝝏𝑿𝟑 ]

9
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

𝝏𝒇𝟏 𝝏𝒇𝟏 𝝏𝒇𝟏


= −𝟐 =𝟎 = −𝟐
𝝏𝑿𝟏 𝝏𝑿𝟐 𝝏𝑿𝟑
𝝏𝒇𝟐 𝝏𝒇𝟐 𝟗 𝟐 𝝏𝒇𝟐
𝐴̂ = =𝟎 =− 𝑿 ̂ = 𝟔 𝑝𝑎𝑟𝑎 𝑋̂1 = 6, 𝑋̂2 = 2, 𝑋̂3 = 2
𝝏𝑿𝟏 𝝏𝑿𝟐 𝟐 𝟐 𝝏𝑿𝟑
𝝏𝒇𝟑 𝝏𝒇𝟑 𝝏𝒇𝟑
[ 𝝏𝑿𝟏 = 𝟑 𝝏𝑿𝟐
= −𝟑
𝝏𝑿𝟑
= −𝟔 ]
−𝟐 𝟎 −𝟐
𝐴̂ = [ 𝟎 −𝟏𝟖 𝟔 ]
𝟑 −𝟑 −𝟔

𝝏𝒇𝟏
𝝏𝒖
𝜕𝑓2
𝐵̂ =
𝜕𝑢
𝝏𝒇𝟑
[ 𝝏𝒖 ]
𝟐
𝐵̂ = [0]
𝟎

̂ = [ 𝝏𝒉
𝑪
𝝏𝒉 𝝏𝒉
]
𝝏𝒙𝟏 𝝏𝒙𝟐 𝝏𝒙𝟑
̂ = [𝟎 𝟏 𝟎]
𝑪

𝑫̂
=𝟎

10
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Libro Close and Dean – parte1 disponible en el aula virtual del curso
Ejemplo 9.8: Añasco Coila, Frank Chambi, Bardo Nuñez
Ejemplo 9.10: Alexis Valderrama, Gustavo Ccapa
========
Problema 9.13: kevin Cortez, Corzo LAra ,Alberto Hinojosa
Problema 9.14: Bryan Reyes, Melany Castro, Fatima Apaza.
Problema 9.18: Goober Chacon
Problema 9.19: Pacheco Luis, Condori Henry, Tomaylla Jeyson
Problema 9.20: Berly, RENZO, Angel
Problema 9.21: Jean Paul GAMERO Muñoz
Problema 9.22: Henry Coaguila, Bryan Heracles,Marjoriet
Problema 9.23: Gilmar, Linda, Armejo
Problema 9.25: Chalco Bruno, Sanchez Kevin, Anghelt
Problema 9.26: García, Valcarcel, Sotomayor
Problema 9.27: Enriquez, Peña, Peralta
Problema 9.28: Hermoza, Mamani , Saldaña

Libro Close and Dean – parte1 disponible en el aula virtual del curso
Problema 9.1
Problema 9.2

11
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Ejercicio 3

Espacio de estados. Transformaciones canónicas


Objetivos didácticos
• Realizar las transformaciones de un sistema en espacio de estados a una forma canónica (modal,
controlable u observable).
Descripción de la tarea a resolver
• Dado un sistema en forma de espacio de estados, se pide obtener una transformación canónica y
realizar una simulación en matlab y simulink.
Esquema de situación.
Transformación canónica modal

12
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Transformación canónica controlable

Transformación canónica observable

13
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Problema 1: Dado el sistema en espacio de estado:

0 1 0
𝑥̇ = [ ] 𝑥 + [ ] 𝑢, 𝑦 = [1 −1]𝑥, 𝑥0 = [1 0]
−3 −4 1

a) Encuentre la transformación canónica modal (Am, Bm, Cm, Dm) usando las funciones del matlab o un
script, y grafíquelo en un diagrama de simulink.

Problema 2: Dado el sistema en espacio de estado:


−7 1 1
𝑥̇ = [ ] 𝑥 + [ ] 𝑢, 𝑦 = [1 0]𝑥
−12 0 2

a) Encuentre la transformación canónica controlable y muestre el diagrama de simulación en simulink.

Problema 3: Dado el sistema en espacio de estado:


−3 1 1 1
𝒙̇ = [−1 −5 1 ] 𝒙 + [0] 𝒖
2 2 −4 0

𝒚 = [1 0 1]𝒙

a) Encuentre la transformación canónica observable y muestre el diagrama de simulación en simulink.

14
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Condiciones generales
• Se debe hacer un cálculo teórico para hallar la matriz de trasformación T, y con esa matriz hallar las
nuevas matrices A, B, C, D.
• En el simulink se espera que se halle la forma estándar de cada transformación canónica.
• Entrega del informe con los anexos a través del aula virtual del curso.
• Duración 1 sesión.
Tareas a resolver
1. Explicar el procedimiento para hacer una transformación canónica en espacio de estados
2. Definir las entradas, salidas, estados a parir de las ecuaciones diferenciales del sistema.
3. Realizar las simulaciones en MATLAB, considerar entradas (escalón, rampa, etc) de acuerdo al sistema.
4. Elaborar un informe y enviarlo por el aula virtual.
Medios auxiliares
• Software de simulación MATLAB.
• Libros del curso disponibles en el aula virtual.
1. Explicar el procedimiento para hacer una transformación canónica en espacio de estados
Sistema lineal, forma espacio de estados:

𝑑𝑥
= 𝐴𝑥 + 𝐵𝑢, 𝑥(0) = 𝑥0
𝑑𝑡
𝑦 = 𝐶𝑥 + 𝐷𝑢

𝐴 ∈ ℝ𝑛𝑥𝑛 , 𝐵 ∈ ℝ𝑛𝑥𝑝 , 𝐶 ∈ ℝ𝑞𝑥𝑛 , 𝐷 ∈ ℝ𝑞𝑥𝑝

• u(t): vector de entradas


• y(t): vector de salidas
• x(t): vector de variables de estado que depende del sistema coordenado elegido

Las matrices variables A, B, y C son afectadas por el sistema coordenado elegido para los estados, la matriz
D no queda afectada ya que mapea entradas a salidas. Si elegimos el conjunto de coordenadas 𝑧 = 𝑇𝑥,
donde T ∈ ℝ𝑛𝑥𝑛 es una matriz invertible. Haciendo el cambio de variable se tiene:

𝑑𝑧 𝑑𝑥
=𝑇 = 𝑇(𝐴𝑥 + 𝐵𝑢) = 𝑇𝐴𝑥 + 𝑇𝐵𝑢 = 𝑇𝐴𝑇 −1 𝑧 + 𝑇𝐵𝑢
𝑑𝑡 𝑑𝑡
𝑦 = 𝐶𝑥 + 𝐷𝑢 = 𝐶𝑇 −1 𝑧 + 𝐷𝑢

Y definiendo: 𝐴̃ = 𝑇𝐴𝑇 −1 , 𝐵̃ = 𝑇𝐵, 𝐶̃ = 𝐶𝑇 −1

𝒅𝒛
̃𝒛 + 𝑩
=𝑨 ̃𝒖
𝒅𝒕
̃ 𝒛 + 𝑫𝒖
𝒚=𝑪

15
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

16
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Ejercicio 4

Linealidad de los sistemas en espacio de estados.


Objetivos didácticos
• Identificar un sistema lineal, así como su respuesta a condiciones iniciales y a una entrada externa
(solución homogénea y solución particular).
Descripción de la tarea a resolver
• Dado un sistema en forma de espacio de estados, se pide obtener la solución homogénea, luego la
particular y finalmente la suma de las respuestas anteriores y realizar una simulación en matlab y
simulink.
Esquema de situación.
Problema 1: Para el siguiente sistema obtener la respuesta del sistema y graficar con ayuda del matlab.
Considere usted las condiciones iniciales diferentes de 0. Pruebe para una entrada escalón y una entrada
sinusoide

𝜕 2𝑥 𝜕𝑥
𝑓=𝑚 2
+𝑐 + 𝑘𝑥
𝜕𝑡 𝜕𝑡
m = 250; % system mass
k = 40; % spring constant
b = 60; % damping constant
A = [0, 1; -k/m, -b/m];
x1 posicion -azul, x2 velocidad-verde
B = [0; 1/m];
C = [1, 0];
X0=[2;-1]

Figure 5.8: Transient versus steady-state response. The input to a linear system is shown in (a), and the
corresponding output with x(0) = 0 is shown in (b). The output signal initially undergoes a transient before
settling into its steady-state behavior.

17
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

http://www.cds.caltech.edu/~murray/amwiki/Main_Page

Problema 2:

Condiciones generales
• Se debe hacer un cálculo teórico para hallar la respuesta en el tiempo de la salida y(t).
• El primer problema se prueba hasta una entrada escalón unitario.
• En el segundo caso se debe probar con una entrada sinusoide de una frecuencia adecuada.
• Entrega del informe con los anexos a través del aula virtual del curso.
• Duración 1 sesión.
Tareas a resolver
1. Realizar las simulaciones en MATLAB, considerar entradas (escalón, rampa, etc) de acuerdo al sistema.
2. Elaborar un informe con sus anexos y enviarlo por el aula virtual.
Medios auxiliares
• Software de simulación MATLAB.
• Libros del curso disponibles en el aula virtual.
2. Explicar el procedimiento para obtener analíticamente la respuesta de un sistema lineal en espacio de
estados
Es fácil mostrar que dos soluciones dadas x1(t) y x2(t) para este sistema de ecuaciones, satisfacen las
condiciones de linealidad.

Definiendo xh(t) como la solución con entrada cero (solución homogénea) y la solución xp(t) como la
solución con condiciones iniciales igual a cero (solución particular). La Fig. 1 ilustra como dos soluciones
individuales se pueden superponer para formar la solución completa.

18
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Respuesta a la condición inicial

• En esta sección calcularemos la solución de un sistema de la forma:

𝑑𝑥
= 𝐴𝑥, 𝑥(0) = 𝑥0
𝑑𝑡
• Para la ecuación diferencial escalar se tiene:

𝑑𝑥
= 𝑎𝑥, 𝑥 ∈ ℝ, 𝑎 ∈ ℝ
𝑑𝑡
• y la solución está dada por:

𝒙(𝒕) = 𝒆𝒂𝒕 𝒙(𝟎)

𝓛{𝒆𝑨𝒕 } = (𝒔𝑰 − 𝑨)−𝟏

Respuesta entrada/salida

• Ecuación de convolución

𝒕
𝒙(𝒕) = 𝒆𝑨𝒕 𝒙(𝟎) + ∫ 𝒆𝑨(𝒕−𝝉) 𝑩𝒖(𝝉)𝒅𝝉
𝟎

𝒕
𝒚(𝒕) = 𝑪𝒆𝑨𝒕 𝒙(𝟎) + ∫ 𝑪𝒆𝑨(𝒕−𝝉) 𝑩𝒖(𝝉)𝒅𝝉 + 𝑫𝒖(𝒕)
𝟎

19
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

• Esta ecuación se denomina ecuación de convolución y representa la forma general de solución de un


sistema de ecuaciones diferenciales acopladas. Esta ecuación ha sido calculada en el dominio del
tiempo.

• También se puede calcular las soluciones en el dominio de la frecuencia usando la transformada de


Laplace. Aplicando la transformada se obtiene:

𝑋(𝑠) = (𝑠𝐼 − 𝐴)−1 [𝑥(0) + 𝐵𝑈(𝑠)]

𝑌(𝑠) = 𝐶(𝑠𝐼 − 𝐴)−1 𝑥(0) + [𝐶(𝑠𝐼 − 𝐴)−1 𝐵 + 𝐷]𝑈(𝑠)

20
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Ejercicio 5

Control por realimentación de estados


Objetivos didácticos
Una vez realizado este ejercicio, el estudiante habrá adquirido los conocimientos que se indican a
Continuación:
• Diseña el primer control moderno que es por realimentación de estados.
Descripción de la tarea a resolver
• Dado un sistema en forma de espacio de estados, así como los polos deseados, se pide obtener un
controlador por realimentación de estados (acker, place) y realizar una simulación en matlab y
simulink.
Esquema de situación.

Problema 1: Sea el sistema regulador que se muestra

La planta está dada por

21
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

𝟎 𝟏 𝟎 𝟎 𝟏
𝒙̇ = [ 𝟎 𝟎 𝟏 ] 𝒙 + [𝟎] 𝒖, 𝒙 𝟎 = [𝟎 ]
−𝟏 −𝟓 −𝟔 𝟏 𝟎

✓ Encontrar los valores de k por el método de Ackerman; para diseñar el controlador por
realimentación de estados, 𝑢 = −𝐾𝑥, tal que los polos en lazo cerrado estén localizados en 𝑠 =
−2 + 𝑗4, 𝑠 = −2 − 𝑗4, 𝑠 = −10.
✓ Obtenga la respuesta del sistema a la condición inicial x0
✓ Implementar con un código en matlab, indicando una comparación del sistema con controlador y
sin controlador.
✓ Graficar la señal de control u
✓ Implementar en simulink de forma similar.

Problema 2: Realizar el procedimiento anterior para el siguiente motor DC (control de velocidad). Polos
deseados 𝑠 = −5 ± 𝑗, ante una entrada escalón unitario.

𝑤̇ −10 1 𝑤 0
[ ]=[ ] [ ] + [ ] 𝑣(𝑡)
𝑖̇ −0.02 −2 𝑖 2

𝑤
𝑦 = [1 0] [ ]
𝑖

0.2
𝑥(0) = [ ]
1

✓ Para los incisos anteriores graficar en una sola figura la respuesta al step del sistema original y la
respuesta del sistema para la ley de control 𝑢 = −𝐾𝑥 + 𝐾𝑟 𝑟,
✓ Graficar la señal de control u

Problema 3: Realizar el procedimiento anterior para el siguiente motor DC (control de posición).

Considere el sistema motor DC


de armadura que presenta la
figura, donde Ra=5, La=200mH,
Kb=0.1V/rad/sec, Ki=0,1Nm/A, la
razón del engranaje
N1/N2=1/50. La inercia de la
armadura es Iarmadura
=2*10−3kgm2. La carga de 10 kg
Fig. 1: Modelo de un motor DC de armadura
está localizada a un radio
efectivo de 0.2 m. La inercia del
engranaje y fricción son

22
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

despreciables.
Luego de construir el modelo espacio de estados del motor DC, se tiene:

Para 𝑥1 = 𝑖𝑎 , 𝑥2 = 𝜃, 𝑥3 = 𝜃̇ = 𝑤, 𝑢 = 𝑒𝑎 , y 𝑦 = 𝜃𝑙

Los autovalores de A-bK son: {−1 + 𝑖, −1 − 𝑖, −10}

Condiciones generales
• Se debe hacer un cálculo teórico para hallar el vector K, por el método de Ackerman de preferencia.
• Entrega del informe con los anexos a través del aula virtual del curso.
• Duración 1 sesión.
Tareas a resolver
1. Explicar el procedimiento para hallar el vector K, a parir de los polos deseados.
2. Realizar las simulaciones en MATLAB, considerar entradas (escalón, rampa, etc) de acuerdo al sistema.
3. Elaborar un informe y enviarlo por el aula virtual.
Medios auxiliares
• Software de simulación MATLAB.
• Libros del curso disponibles en el aula virtual.
1. Explicar el procedimiento para hallar el vector K, a partir de los polos deseados
Estructura del controlador:

23
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Ejemplo del Método de ACKERMAN

Para el sistema dinámico lineal:


1 −1 2
𝑥̇ = [ ]𝑥 + [ ]𝑢
1 −2 1
Encontrar los valores de kij por el método de Ackerman; para diseñar el controlador por realimentación de
estados, u=-Kx, tal que los polos en lazo cerrado estén localizados en {-1, -2}
det(𝑠𝐼 − 𝐴) = 𝑠 2 + 𝑠 − 𝟏 = 𝑠 2 + 𝑎1 𝑠 + 𝑎0
Paso 1: Matriz de controlabilidad
2 1
𝑊𝑐 = [𝑏 𝐴𝑏] = [ ]
1 0
0 1
𝑊𝑐 −1 = [ ]
1 −2
Entonces 𝑞1 = [1 − 2]

Paso 2: Polinomio característico deseado


𝛼𝑐 (𝑠) = (𝑠 + 1)(𝑠 + 2) = 𝑠 𝑛 + 𝛼𝑛−1 𝑠 𝑛−1 + ⋯ + 𝛼1 𝑠 + 𝛼0

𝛼𝑐 (𝑠) = 𝑠 2 + 𝟑𝑠 + 𝟐 = 𝑠 2 + 𝛼1 𝑠 + 𝛼0
Para el sistema dinámico lineal:
1 −1 2
𝑥̇ = [ ]𝑥 + [ ]𝑢
1 −2 1
u=-Kx, tal que los polos en lazo cerrado estén localizados en {-1, -2}
Paso 3: Encontrando el valor de K
𝑘 = 𝑞1 𝛼𝑐 (𝐴)
𝑘 = 𝑞1 (𝐴2 + 3𝐴 + 2𝐼2 )
1 −1 1 −1 1 −1 1 0
𝑘 = 𝑞1 ([ ][ ]+ 3[ ] + 2[ ])
1 −2 1 −2 1 −2 0 1
5 −2
𝑘 = [1 −2] [ ]
2 −1
𝒌 = [𝟏 𝟎]

24
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Ejercicio 6

Observadores de orden completo


Objetivos didácticos
Una vez realizado este ejercicio, el estudiante habrá adquirido los conocimientos que se indican a
Continuación:
• En base a los polos deseados encuentra el observador de orden completo.

• Libros del curso disponibles en el aula virtual.

25
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

26
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Descripción de la tarea a resolver


• Dado un sistema en forma de espacio de estados, asi como los polos deseados, se pide obtener un
controlador por realimentación de estados y el observador de orden completo, luego realizar una
simulación en matlab y simulink.
Esquema de situación.
Problema 1
Diseñar el observador para el péndulo invertido en el carro

0 1 0 0 0
m 0 0 −1 0  1
 x (t ) = 
0 0 0 1
 x (t ) +   u (t )
0
0   −2 
 0 5 0  
A b
l

1 0 0 0 
y (t ) =   x (t )
0 0 1 0 
C

u M x1 = y x2 = y x3 =  x4 = 
Los polos del controlador son−1.50.5j y −1j

y
Se seleccionan los autovalores deseados del observador escogidos por las propiedades de la respuesta

1 = −15 + 5 j
2 = −15 − 5 j
3 = −10 + 10 j
4 = −10 − 10 j

̂(𝟎) = 𝟎
Hacer una simulación en simulink, luego en un script de MATLAB para los estados iniciales 𝒙

𝝅
𝒙(𝟎) = [−𝟏 −𝟏 𝟎]
𝟔

Comprobamos si el par (AT, CT) es controlable desde la primera salida

y 
y =  1
 y2 
C = 1 0 0 0

27
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078


(CA2 ) (CA3 )
T T
Q = CT (CA)T 
 

1 0 0 0
0 1 0 0
= 
0 0 −1 0 
0 0 0 −1

Se seleccionan los autovalores deseados del observador escogidos por las propiedades de la respuesta

1 = −15 + 5 j
2 = −15 − 5 j

3 = −10 + 10 j
4 = −10 − 10 j

Polinomio característico deseado en lazo cerrado

q ( s ) = ( s + 10 − 10 j )( s + 10 + 10 j )( s + 15 − 5 j )( s + 15 + 5 j )
= s 4 + 50 s3 + 1050 s 2 + 11000 s1 + 50000 s0
( 2
)(
= s + 20s + 200 s + 30s + 2502
) 3 2 1 0

Polinomio característico en lazo abierto

= s 4 + 0 s3 − 5 s 2 + 0 s1 + 0 s0
q ( s ) = det ( sI − A) 3 2 1 0
Ganancia del observador, para el sistema en la forma canónica

LT1 = 0 − 0 1 − 1 2 − 2 3 − 3 
T
L1 = 50000 11000 1055 50

La ganancia de realimentación en las coordenadas originales es,

LT = LT P = LT CC −1
 1 1  2  3 
0 1   
P −1 =  B AB A2 B A B  
3 1 2

 0 0 1 1 
 
0 0 0 1 

28
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Finalmente
T
L1 = 50 1055 −11250 −55275

Problema 2: MOTOR DC. Modelado de sistema.

Considere el sistema motor DC de


armadura que presenta la figura,
donde Ra=5, La=200mH,
Kb=0.1V/rad/sec, Ki=0,1Nm/A, la
razón del engranaje N1/N2=1/50. La
inercia de la armadura es Iarmadura
=2*10−3kgm2. La carga de 10 kg está
localizada a un radio efectivo de 0.2
Fig. 1: Modelo de un motor DC de armadura
m. La inercia del engranaje y fricción
son despreciables.
Luego de construir el modelo espacio de estados del motor DC, se tiene:

Para 𝑥1 = 𝑖𝑎 , 𝑥2 = 𝜃, 𝑥3 = 𝜃̇ = 𝑤, 𝑢 = 𝑒𝑎 , y 𝑦 = 𝜃𝑙

Sustituyendo los parámetros dados, obtenemos la ecuación de estados siguiente:

Parte 1: Diseño por realimentación de estados

Graficar en una sola figura la respuesta al step del sistema original y la respuesta del sistema para la ley de
control 𝑢 = −𝐾𝑥 + 𝐾𝑟 𝑟, tal que los autovalores de A-bK son: {−1 + 𝑖, −1 − 𝑖, −10}

29
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Parte 2: Observador de orden completo

Obtenga la ganancia del estimador L para los polos deseados: {−4, −5 + 2𝑖, −5 − 2𝑖}

Conectamos el estimador de orden completo del motor DC, junto con la realimentación de estados,
entonces obtenemos el sistema en lazo cerrado con el compensador controlador-estimador-orden-
completo combinado. La Fig. 2 muestra la gráfica de x1 y su estimado para el sistema en lazo cerrado con
estimador en el lazo, donde r = 0, 𝑥(0) = [1 2 − 0.1]𝑇 , y 𝑥̂(0) = 0. Graficar.

Fig 2: Gráfica de x1 y su estimado versus el tiempo para el sistema en lazo cerrado con un estimador de
orden completo en el lazo.

Problema 3: Volvamos al ejemplo del motor DC visto antes. Se desea seguimiento robusto de una
referencia y rechazo a disturbios.La realimentación de estados requiere la medición de los dos estados: la
corriente i(t) y la velocidad w(t).

Y los polos deseados para el control son: 𝒔 = −𝟓 ± 𝒋

Se pide repetir el procedimiento del problema 2, para los polos deseados del observador son 𝒔 = −𝟔 ± 𝒋𝟐

30
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Condiciones generales
• Se debe hacer un cálculo teórico para hallar el vector K, y el vector L, por el método de ackerman de
preferencia.
• Entrega del informe con los anexos a través del aula virtual del curso.
• Duración 1 sesión.
Tareas a resolver
1. Explicar el procedimiento para hallar el vector L, a parir de los polos deseados.
2. Realizar las simulaciones en MATLAB, considerar entradas (escalón, rampa, etc) de acuerdo al sistema.
3. Elaborar un informe y enviarlo por el aula virtual.
Medios auxiliares
• Software de simulación MATLAB.

31
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Ejercicio 7

Observadores de orden reducido


Objetivos didácticos
Una vez realizado este ejercicio, el estudiante habrá adquirido los conocimientos que se indican a
Continuación:
• En base a los polos deseados encuentra el observador de orden reducido.
Descripción de la tarea a resolver
• Dado un sistema en forma de espacio de estados, asi como los polos deseados, se pide obtener un
controlador por realimentación de estados y el observador de orden reducido, luego realizar una
simulación en matlab y simulink.
Esquema de situación.

Problema 1: Considerar que tenemos el sistema


𝒙̇ = 𝑨𝒙 + 𝑩𝒖
𝒚 = 𝑪𝒙
0 1 0 0
𝑨 = [0 0 1] 𝑩=[ 0 ] 𝑪 = [1 0 0]
0 −8 −6 −10

Se desean polos de lazo cerrado en –4 ± 6j y en –8. Se asume que se puede medir con precisión y que por lo
tanto no se necesita estimarse la variable de estado x ( la cual es igual a y). Diseñaremos un observador de

32
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

orden mínimo (El observador de orden mínimo es de segundo orden). Suponer que los valores principales
deseados para el observador de orden mínimo son
μ1,2 = -6 ± 8j
- Paso 1: hallar la matriz K de realimentación de estados.
K=acker(A,B,P) –4 ± 6j y en –8.
- Paso 2: Hallar L, para lo cual se debe partir el sistema en estados medidos y estados que se van a
estimar, además considerando que se tienen polos deseados para el estimador de orden reducido L.

Para el observador de orden completo, el estimador se calculaba así:

• Obtener L = KT
• con la función K = place(AT, CT,P) de MATLAB
Para el observador de orden reducido, la nueva matriz 𝑨 = 𝑨𝒃𝒃 y la nueva matriz 𝑪 = 𝑨𝒂𝒃

𝟎 𝟏
𝑨𝒃𝒃 = [ ] 𝑨𝒂𝒃 = [𝟏 𝟎] μ1,2 = -6 ± 8j
−𝟖 −𝟔
Paso 4: Realizar el diagrama de bloques siguiente:

33
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Problema 2: MOTOR DC. Modelado de sistema.

Reordenar los estados, para q el primer estado sea la posición angular. Y repetir el problema anterior.

Considere el sistema motor DC de


armadura que presenta la figura,
donde Ra=5, La=200mH,
Kb=0.1V/rad/sec, Ki=0,1Nm/A, la
razón del engranaje N1/N2=1/50. La
inercia de la armadura es Iarmadura
=2*10−3kgm2. La carga de 10 kg está
localizada a un radio efectivo de 0.2
Fig. 1: Modelo de un motor DC de armadura
m. La inercia del engranaje y fricción
son despreciables.
Luego de construir el modelo espacio de estados del motor DC, se tiene:

Para 𝑥1 = 𝑖𝑎 , 𝑥2 = 𝜃, 𝑥3 = 𝜃̇ = 𝑤, 𝑢 = 𝑒𝑎 , y 𝑦 = 𝜃𝑙

34
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Sustituyendo los parámetros dados, obtenemos la ecuación de estados siguiente:

Parte 1: Diseño por realimentación de estados


Graficar en una sola figura la respuesta al step del sistema original y la respuesta del sistema para la ley de
control 𝑢 = −𝐾𝑥 + 𝐾𝑟 𝑟, tal que los autovalores de A-bK son: {−1 + 𝑖, −1 − 𝑖, −10}

Parte 2: Observador de orden reducido


De la Fig. 1, se observa que el estado que es la posición se puede medir, gracias al potenciómetro, por lo
que se pide encontrar la ganancia del estimador reducido L para los polos deseados: {−5 + 2𝑖, −5 − 2𝑖}.
Recuerde que antes de empezar debe hacer una transformación canónica.

Si conectamos el estimador de orden reducido del motor DC, junto con la realimentación de estados
(calculada en la parte 1 de esta guía), entonces obtenemos el sistema en lazo cerrado con el compensador
controlador – estimador – orden - reducido combinado. La Fig. 3 muestra la gráfica de x1 y su estimado
para el sistema en lazo cerrado con estimador en el lazo, donde r= 0, 𝑥(0) = [1 2 − 0.1]𝑇 , y z(0) = 0.

Fig. 3: Gráficas de x1 y su estimado versus tiempo para el sistema no lineal en lazo cerrado con estimador
de orden reducido en el lazo.

Condiciones generales
• Se debe hacer un cálculo teórico para hallar el vector K, y el vector L, por el método de ackerman de
preferencia.
• Entrega del informe con los anexos a través del aula virtual del curso.

35
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

• Duración 1 sesión.
Tareas a resolver
1. Explicar el procedimiento para hallar el vector L, a parir de los polos deseados.
2. Realizar las simulaciones en MATLAB, considerar entradas (escalón, rampa, etc) de acuerdo al sistema.
3. Elaborar un informe y enviarlo por el aula virtual.
Medios auxiliares
• Software de simulación MATLAB.
• Libros del curso disponibles en el aula virtual.
1. Explicar el procedimiento para hallar el vector L, a partir de los polos deseados
El observador de orden reducido

Se supondrá, ahora, que q de los n estados del sistema pueden ser medidos en forma directa.

» Estos estados se agrupan en el vector

x1T =  x1 , x2 , , xq 

» mientras que los restantes n − q estados se agrupan en

x2T =  xq +1 , xq + 2 , , xn 

» La ecuación de estado original

x = Ax + Bu
:
y = Cx

A : n  n, B : n  p, C : q  n
Si C = [ I 0 ], entonces y(t) son los primeros q estados, definiendo,

( )
−1
Q1 = CT CCT  R nq

CQ1 = I q

• definiendo

Q2  R (
n n−q )
: CQ2 = 0 y rank (Q2 ) = n − q
• Una base para Null(C)

( )
−1 T
R = Q2 Q2 Q2  R nq
T

36
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

( )
−1
RQ2 = Q2T Q2 Q2T Q2 = I( n − q )( n − q )

• Definiendo la transformación P

Q := P −1 = Q1 Q 2  Q1 : n  q, Q 2 : n  (n − q )

C   CQ CQ2  I q 0 
I n = PQ =   Q1 Q2  =  1 =
R  RQ1 RQ2   0 I n−q 

• ̅ = 𝑷𝒙
Por la transformación 𝒙

 −1
x = PAP x + PBu
:  
y = CP−1
x = I 0
 q  x

  x1   A11 A12   x1   B1 
   =     +  u
  x 2   A 21 A 22   x2   B2 

y = I q 0  x = x1

• ̅.
Todos los estados x1 son accesibles. Solo necesitan ser estimados los ultimos n−q elementos de 𝒙

Usando 𝒚 = 𝒙𝟏 , tenemos.


x2 = A21 y + A22 x2 + B2u

y = A11 y + A12 x2 + B1u

Definiendo,



u = A21y + B2u x 2 = A 2 2x 2 + u
 
w = y − A11y − B1u
 w = A1 2x 2

El problema se reduce a diseñar un observador para el sistema:

x 2 = A 2 2x 2 + u

w = A1 2x 2

Definiendo,


u = A21y + B2u

w = y − A11y − B1u

37
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

El observador:


xˆ 2 = A 22 xˆ2 + u + L w − A12 xˆ2 ( )
Definiendo,


u = A21y + B2u

w = y − A11y − B1u

Para eliminar la derivada, definir

 ( t ) = xˆ 2 ( t ) − Ly ( t )
Entonces,

d d d
 ( t ) = xˆ 2 ( t ) − L y ( t )
dt dt dt
Para eliminar la derivada, definir

 ( t ) = xˆ 2 ( t ) − Ly ( t )
Entonces,

d
 ( t ) = ( A 22 − LA12 ) ( t ) + ( B2 − LB1 ) u ( t )
dt
+ ( A 21 − LA11 + ( A 22 − LA12 ) L ) y ( t )

Entonces,

d
 ( t ) = ( A 22 − LA12 ) ( t ) + ( B2 − LB1 ) u ( t )
dt
+ ( A 21 − LA11 + ( A 22 − LA12 ) L ) y ( t )

Estimar:

 y (t ) 
xˆ ( t ) =  
 ( t ) + Ly ( t ) 
Realimentación de los estados estimados

El control se genera por la realimentación de los estados estimados

38
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

 y (t ) 
u ( t ) = −K P xˆ ( t ) = −  K1 K 2   y ( t ) 
u ( t ) = −Kxˆ ( t ) = −  K1 K 2    ( t ) + Ly ( t ) 
 ( t ) + Ly ( t )
 y (t ) 
= −  K1 + K 2L K 2   y ( t )
= −  K1 + K 2 L K 2  ( t ) 
 ( t ) 

Sistema aumentado en lazo cerrado

d  A − BK BK 2 
xa ( t ) =  x (t )
dt  0 A22 − LA12  a
Existe separación de los problemas de la estimación de los estados y el control

Si (A, C) es observable, puede ser construido un estimador completo o de orden reducido con valores
propios arbitrarios

Si las variables de estado NO están disponibles para realimentación, podemos diseñar un estimador de
estado

u = r − kxˆ

u (t )
r (t ) Plant y (t )
+−


k Estimator

39
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

40
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Ejercicio 8

Identificación experimental de función de transferencia.


Objetivos didácticos
Una vez realizado este ejercicio, el estudiante habrá adquirido los conocimientos que se indican a
Continuación:
• Identifica un sistema de forma experimental, usando la herramienta ident del matlab.
Descripción de la tarea a resolver
• Dado un sistema en forma de espacio de estados, se pide obtener la solución homogénea, luego la
particular y finalmente la suma de las respuestas anteriores y realizar una simulación en matlab y
simulink.
Esquema de situación.

Esquema general de la adquisición de datos.

Condiciones generales
• Se debe hacer un cálculo teórico para hallar la respuesta en el tiempo de la salida y(t).
• El primer problema se prueba hasta una entrada escalón unitario.
• En el segundo caso se debe probar con una entrada sinusoide de una frecuencia adecuada.
• Entrega del informe con los anexos a través del aula virtual del curso.
• Duración 1 sesión.
Tareas a resolver
1. Diseñar el sistema de adquisición de datos.
2. Procesamiento de datos para la identificación.
3. Identificación del modelo.
4. Elaborar un informe y enviarlo por el aula virtual.

Medios auxiliares
• Software de simulación MATLAB.
• Tarjetas NIDAQ usb6008.

41
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

1.- Diseñar el sistema de adquisición de datos.


El sistema de adquisición de datos fue desarrollado con un microcontrolador PIC18F2550 de Microchip
el cual cuenta con un módulo USB para transmisión de información y se utilizó para enviar los datos de
entrada y salida del sistema hacia el computador para su respectivo procesamiento.

Figura 1. Diagrama esquemático Tarjeta de adquisición de datos.

Medida de la velocidad del motor


Como sensor se utilizó el QME–01 que es un encoder incremental en cuadratura que tiene una
resolución de 100ppv por canal y se puede hacer lectura en cuadratura de 400 pulsos por vuelta, el
voltaje de alimentación es 5Vdc.

Figura 2. Encoder incremental.


Características
• Resolución 100 ciclos por vuelta en un canal ó 400 pulsos en cuadratura

42
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

• Voltaje 5Vdc, Canales Canal A y Canal B


Normalmente este tipo de encoders se utilizan en aplicaciones en donde se necesita conocer la
velocidad y la dirección de giro y por esto traen dos canales desfasados 90º entre sí.
Desarrollo del programa en Labview para la visualización y almacenamiento de los datos.
En el software desarrollado se pueden observar la entrada y salida del sistema, también se muestra el
tiempo de adquisición de los datos el cual es necesario para la determinación del periodo de muestreo
de la señal. Posee al opción de guardar los datos en un archivo .lvm

Figura 3. Interfaz. Panel frontal

Figura 4. Librería USB Labview (picusb.vi)

Los datos recibidos en el programa no corresponden a las magnitudes físicas que necesitamos (voltaje
y rpm), por lo tanto se debe realizar una serie de operaciones con el fin de hallar los valores reales de
las variables. Este proceso se realiza en la Figura 5.

43
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Figura 5. Diagrama de bloques para conversión de los datos

Luego de haber realizado la adecuación de los datos, estos son graficados e indicados por el diagrama
de bloques de la Figura 6.

Figura 6. Diagrama de bloques para graficas de la medición

Por último y más importante bloque tenemos en la Figura 7 el encargado del almacenamiento de los
datos, el VI encargado es el Write to measurement, este genera un archivo .lvm

Figura 7. Diagrama de bloques de almacenamiento


En el archivo generado se almacenan los datos de voltaje en el motor, rpm y tiempo, necesarios para
la identificación del mismo.
2.- Procesamiento de datos para la identificación.
Luego de tomar y almacenar los datos mediante el programa en Labview, obtenemos un archivo .lvm que
necesitamos llevar a Matlab para su procesamiento.

44
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Pasos.
1. IMPORTAR ARCHIVO .LVM A EXCEL, este procedimiento se hace necesario ya que directamente
desde Matlab no se puede acceder a documentos de extensión .lvm
>> Nuevo documento de Excel
>> Seleccionamos archivo
>> abrir archivo .lvm de la ubicación donde se almaceno desde Labview, se inicia el asistente Figura 8,
para cargar archivos, seguimos las instrucciones y damos finalizar.

Figura 8. Asistente de Excel para importar archivos de texto

45
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Al finalizar el asistente el libro de Excel debe verse de la siguiente forma:

Figura 9. Documento Excel con los datos cargados

Posee cuatro columnas: Primera es nula, Segunda contiene los datos del voltaje aplicado al motor,
Tercera registra la velocidad en rpm del motor, Cuarta el tiempo de adquisición.

2. CARGAR ARCHIVO DE EXCEL A MATLAB: la función utilizada en Matlab es xlsread, y tiene la


siguiente sintaxis:
[datos columna Excel ,texto columna excel ]=xlsread('nombre
archivo.xlsx',-1)

La función retorna dos vectores tipo columna con los datos seleccionados de la hoja de Excel. Al
ejecutar la línea de código en Matlab, esta abre la hoja de datos de Excel y pide que se seleccione la
columna a importar al workspace, como se muestra Figura 10.

46
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Figura 10. Selección de datos para importar a Matlab

Al finalizar el seleccionado de los datos pulsamos “ok” y repetimos el procedimiento para las columnas
restantes. En el workspace se cargaran los vectores como se muestra Fig 11.

Figura 11. Vectores cargados desde Excel

47
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

3. GRAFICA DE LOS DATOS. Ejecutamos el siguiente código


subplot(1,2,1)
plot(tiempo_prueba_step_70V,entrada_prueba_step_70V)
title('ENTRADA STEP 70 VOLTIOS')
xlabel('TIEMPO [S]')
ylabel('VOLTAJE [V]')
subplot(1,2,2)
plot(tiempo_prueba_step_70V,salida_prueba_step_70V)
title('SALIDA RPM')
xlabel('TIEMPO [S]')
ylabel('VELOCIDAD [RPM]')

Figura 12. Graficas de los datos importados a Matlab

3. Identificación del modelo.


Para la identificación de modelo matemático de un sistema existen varios métodos de los cuales
algunos se a citarán a continuación y se explicarán los pasos a seguir para una correcta obtención del
modelo.

Utilizando la respuesta del sistema al paso de 70 voltios calculamos cada una de las constantes
necesarias para reemplazarlas en la función de transferencia correspondiente y así obtener el modelo.

48
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

IDENTIFICACIÓN USANDO EL TOOLBOX (System Identification Tool)


Para acceder al panel frontal Figura 13. Se ejecuta en Matlab el comando >>ident

Figura 13. Panel frontal System Identifiaction Tool

49
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

1. IMPORTAR LOS DATOS AL IDENT:

Figura 14. Importar datos

Al desplegar la pestaña Figura 14, de import data, seleccionamos la que nos indica Time domain data
y nos abre la ventana Figura 15.

Figura 15. Import Data

Ingresamos el nombre de los vectores de datos de entrada y salida del sistema a identificar
previamente cargados al workspace y especificamos el periodo de muestreo. En la casilla Sampling

50
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

interval de la sección Data information, procedemos a dar import, figura 15. Nos debe quedar el
panel frontal del indent como se muestra en la figura 16

Figura 16. Panel frontal datos cargados mydata

51
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

2. SELECCIÓN DE DATOS PARA IDENTIFICAR Y PARA VALIDAR


Se da click en el menú desplegable Operations >> Prepocess >> Quick start como se ilustra Figura
17.

Figura 17. Separación datos de identificación y validación Quick start

Con la función Quick start, figura 17, lo que realiza el programa es realizar un pre-procesado de los
datos así como la separación de los datos que se utilizaran en la identificación y la validación de los
modelos.

La casilla mydata son los datos originales al dar click en Quick start deben aparecer tres grupos de
datos adicionales Figura 18, los procesados, los de identificación y los de validación.

52
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Figura 18. Datos de identificación, validación y procesados

mydata: datos originales


mydatad: datos procesados
mydatade: datos para identificación que se cargan a Working Data
mydatadv: datos de validación que se cargan a Validation Data

3. ESTIMACIÓN DE MODELOS MÉTODO PARAMÉTRICOS


Desplegamos el menú de Estimate >> Linear parametric models y como se ve en la figura 19.

53
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Figura 19. Estimación de modelos

Figura 20. Ventana de selección de estructuras

En la Figura 20, se pueden ver las diferentes estructuras de estimación paramétrica ARX, ARMAX, OE,
BJ… se elige el orden del regresor para escoger [na nb nc nf nk ] según sea la estructura

Al estimar un modelo este se almacena en la parte derecha del panel import models como se muestra
Figura 21.

54
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Figura 21. Modelos estimados almacenados

En Model view se puede hacer una análisis de la respuesta del modelo a los datos de validación para
ver el porcentaje de ajuste, nos permite ver los residuos para observar la correlación de los datos, la
respuesta del trasciente, respuesta en frecuencia, los polos y ceros del sistema. Ejemplo seleccionando
Model output, Figura 22.

55
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Figura 22. Análisis con Model views

Después de seleccionar el modelo que mejor se ajuste al sistema se procede a exportar la función de
transferencia al workspace para que pueda ser utilizada sin problemas en el diseño de los sistemas de
control, para realizar esta acción basta con dar click sostenido sobre un modelo de la parte derecha
del panel frontal del ident, se arrastra hasta el recuadro en el centro del panel que dice To Workspace.
Figura 23.

Figura 23. Exportar modelo al Workspace

Luego de esto en Matlab es necesario ejecutar el siguiente comando:

FZ=tf(arx211) %donde arx211 nombre del modelo que se


exportó del ident

Y esta nos retorna la función de transferencia en “Z”

>> FZ=tf(arx211)

Transfer function from input "u1" to output "y1"

1.459 z
-----------------------
z^2 - 0.9969 z + 0.0216

56
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Sampling time: 0.0253

57
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Ejercicio 9

Control optimo cuadrático (LQR)


Objetivos didácticos
Una vez realizado este ejercicio, el estudiante habrá adquirido los conocimientos que se indican a
Continuación:
• Diseña el controlador óptimo cuadrático.
Descripción de la tarea a resolver
• Dado un sistema en forma de espacio de estados, se pide obtener un controlador óptimo y realizar
una simulación en matlab y simulink.
• Comparar con la técnica de asignación de polos, al llenar una tabla al ir variando la matriz Q.
Esquema de situación.
Problema 1: Sea el sistema regulador que se muestra

La planta está dada por

𝟎 𝟏 𝟎 𝟎 𝟏
𝒙̇ = [ 𝟎 𝟎 𝟏 ] 𝒙 + [𝟎] 𝒖, 𝒙 𝟎 = [𝟎 ]
−𝟏 −𝟓 −𝟔 𝟏 𝟎

✓ En una práctica anterior se determinó que el valor de K=[199 55 8]; para diseñar el controlador
por realimentación de estados, u=-Kx, tal que los polos en lazo cerrado estén localizados en 𝑠 =
−2 + 𝑗4, 𝑠 = −2 − 𝑗4, 𝑠 = −10. y para seguir una entrada escalón unitario kr=200
✓ Se pide encontrar una nuevo vector K, por el control optimo LQR (Regulador cuadrático lineal), en
matlab usar la función lqr

Considere el sistema de espacio de estados

58
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

y el criterio de desempeño

𝐽 = ∫ [𝑥 𝑇 (𝑡)𝑄𝑥(𝑡) + 𝑢𝑇 (𝑡)𝑅𝑢(𝑡)]𝑑𝑡
0

donde Q es no definida negativa y R es definida positiva. Entonces el control óptimo que minimiza (J)
está dado por la ley lineal de realimentación de estado,

y donde P es la única solución definida positiva de la matriz Ecuación Algebraica de Riccati (EAR),Para
el sistema dinámico lineal:

Asumir R=1, inicialmente q2=q3=1


𝑞1 0 0
𝑄=[0 𝑞2 0 ]
0 0 𝑞3
• Haga variar q1 desde 1 hasta 1 millón, el objetivo es que el error sea mínimo, para lo cual se usara
una función de desempeño basado en el error llamado IAE, se muestra un pequeño código para
medir un IAE

IAE2=0;
for i=1:length(t)
IAE2=IAE2+abs(1-y2(i));
end;

• Para que la salida alcance el valor de entrada en su estado estacionario, completar con kr igual q
en el método anterior.
• Vaya graficando ambos sistemas de realimentación de estados en una sola figura y llenando la
siguiente tabla:
q1 IAE Estable? Mp (%) Tss(seg)
1

.
.
.
1000 000

59
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Método de asignación de polos como punto de comparación


48.59 Sí 18% 1.96 seg

• Hay algún cambio si q2=q3=0?


• Investigue:¿como se puede tomar valores de Q?
• Luego de hallar una respuesta mejor que el obtenido en la práctica anterior, halar el J mínimo.

• Graficar también la señal de control u

Problema 2: Realizar el procedimiento anterior para el siguiente motor DC (control de velocidad). Polos

deseados 𝑠 = −5 ± 𝑗, ante una entrada escalón unitario.

𝑤̇ −10 1 𝑤 0
[ ]=[ ] [ ] + [ ] 𝑣(𝑡)
𝑖̇ −0.02 −2 𝑖 2

𝑤
𝑦 = [1 0] [ ]
𝑖

𝑥(0) = [0.2 1]′

✓ Para los incisos anteriores graficar en una sola figura la respuesta al step del sistema original y la
respuesta del sistema para la ley de control 𝑢 = −𝐾𝑥 + 𝐾𝑟 𝑟,

60
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Problema 3: Realizar el procedimiento anterior para el siguiente motor DC (control de posición).

Considere el sistema motor DC


de armadura que presenta la
figura, donde Ra=5, La=200mH,
Kb=0.1V/rad/sec, Ki=0,1Nm/A, la
razón del engranaje
N1/N2=1/50. La inercia de la
armadura es Iarmadura
−3
=2*10 kgm2. La carga de 10 kg
Fig. 1: Modelo de un motor DC de armadura
está localizada a un radio
efectivo de 0.2 m. La inercia del
engranaje y fricción son
despreciables.
Luego de construir el modelo espacio de estados del motor DC, se tiene:

Para 𝑥1 = 𝑖𝑎 , 𝑥2 = 𝜃, 𝑥3 = 𝜃̇ = 𝑤, 𝑢 = 𝑒𝑎 , y 𝑦 = 𝜃𝑙

Los autovalores de A-bK son: {−1 + 𝑖, −1 − 𝑖, −10}

61
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Problema 4: Realizar el procedimiento anterior para el siguiente caso.

Considere un motor DC como se muestra en la Figura. El modelo matemático para la relación entre el
voltaje, u, y el ángulo de desplazamiento, es:

(t) +(t) = u(t),


Donde 𝜃(0) = 0 y 𝜃̇(0) = 1. Queremos diseñar la señal de voltaje tal que el funcional de costo:

1 
J=
2 0
( (t ) 2 + 6(t ) 2 + 12  (t )(t ) + u(t ) 2 )dt
,
sea minimizado.

a. (2 pto) Formule este problema como un problema de control optimo en la forma estándar.
b. (3 ptos) Resuelva el problema de control óptimo. Encontrar u y J mínimo.
c. (2 pto) ¿El sistema en lazo cerrado es asintóticamente estable? Justifique calculando los polos del
sistema controlado.

Condiciones generales
• Se debe hacer un cálculo teórico para hallar el vector K, por la ecuación algebraica de Riccati.
• Entrega del informe con los anexos a través del aula virtual del curso.
• Duración 1 sesión.
Tareas a resolver
1. Explicar el procedimiento para hallar el vector K.
2. Realizar las simulaciones en MATLAB, considerar entradas (escalón, rampa, etc) de acuerdo al sistema.
3. Elaborar un informe y enviarlo por el aula virtual.
Medios auxiliares
• Software de simulación MATLAB.
• Libros del curso disponibles en el aula virtual.
1. Explicar el procedimiento para hallar el vector K
Considere el sistema de espacio de estados

62
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

y el criterio de desempeño

𝐽 = ∫ [𝑥 𝑇 (𝑡)𝑄𝑥(𝑡) + 𝑢𝑇 (𝑡)𝑅𝑢(𝑡)]𝑑𝑡
0

donde Q es no definida negativa y R es definida positiva. Entonces el control óptimo que minimiza (J) está
dado por la ley lineal de realimentación de estado,

y donde P es la única solución definida positiva de la matriz Ecuación Algebraica de Riccati (EAR),Para el
sistema dinámico lineal:

63
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Ejercicio 10

Control optimo cuadrático (LQR) - aplicación


Objetivos didácticos
Una vez realizado este ejercicio, el estudiante habrá adquirido los conocimientos que se indican a
Continuación:
• Diseña el controlador óptimo cuadrático.
Descripción de la tarea a resolver
• Se mostraran 3 aplicaciones reales, se pide hacer las simulaciones
Esquema de situación.
Problema 1: Se tiene un robot tipo carro con tracción delantera. Se desea que estacione de forma
horizontal con un control LQR y se muestre una simulación de la evolución de la posición, así como un
diagrama de la señal de control u (timón del carro)

r
Simplificación
La dirección y tracción
del modelo
es delantera

Para ver su recorrido, se trazan tangentes


Consideraciones:

- el robot va hacia atrás.


- la coordenada será ubicada en la parte delantera

𝛿 𝑒𝑠 𝑒𝑙 𝑎𝑛𝑔𝑢𝑙𝑜 𝑑𝑒𝑙 𝑡𝑖𝑚ó𝑛


𝑣 𝑒𝑠 𝑙𝑎 𝑣𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑 𝑑𝑒𝑙 𝑣𝑒ℎí𝑐𝑢𝑙𝑜
𝑥, 𝑦 𝑠𝑜𝑛 𝑙𝑎𝑠 𝑝𝑜𝑠𝑖𝑐𝑖𝑜𝑛𝑒𝑠 𝑑𝑒𝑙 𝑐𝑎𝑟𝑟𝑜
𝑒𝑛 𝑢𝑛 𝑝𝑙𝑎𝑛𝑜 𝑐𝑎𝑟𝑡𝑒𝑠𝑖𝑎𝑛𝑜
∅ 𝑒𝑠 𝑒𝑙 𝑎𝑛𝑔𝑢𝑙𝑜 𝑑𝑒𝑙 𝑐𝑎𝑟𝑟𝑜, 𝑟𝑒𝑠𝑝𝑒𝑐𝑡𝑜 𝑎𝑙 𝑒𝑗𝑒 ℎ𝑜𝑟𝑖𝑧𝑜𝑛𝑡𝑎𝑙

Haciendo un acercamiento en el modelo

64
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

El vehículo parte de la posición (𝑥𝑘 , 𝑦𝑘 , 𝜑𝑘 ), luego de un delta de tiempo llega a una nueva posicion
(𝑥𝑘+1 , 𝑦𝑘+1 , 𝜑𝑘+1 ) L: longitud del carro, r: distancia recorrida de la posición delantera del carro
(recordemos que el carro va hacia atrás)

𝑟
Sabemos que 𝑣 =
∆𝑡
𝑥𝑘+1 − 𝑥𝑘 = 𝑟𝑐𝑜𝑠(𝜙𝑘 + 𝛿)
𝑥𝑘+1 − 𝑥𝑘 𝑟
= cos(𝜙𝑘 + 𝛿)
∆𝑡 ∆𝑡
𝑥̇ = 𝑣 cos(𝜙𝑘 + 𝛿)

𝑦𝑘+1 − 𝑦𝑘 = 𝑟𝑠𝑒𝑛(𝜙𝑘 + 𝛿)
𝑦𝑘+1 − 𝑦𝑘 𝑟
= sen(𝜙𝑘 + 𝛿)
∆𝑡 ∆𝑡
𝑦̇ = 𝑣 sen(𝜙𝑘 + 𝛿)

65
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Aplicamos ley de senos

𝑟 𝐿
=
𝑠𝑒𝑛(𝜙𝑘− 𝜙𝑘+1 ) 𝑠𝑒𝑛(𝛿)

Por ser la diferencia pequeña

𝑟 𝐿
=
𝜙𝑘− 𝜙𝑘+1 𝑠𝑒𝑛(𝛿)

𝜙𝑘− 𝜙𝑘+1 𝑟
= 𝑠𝑒𝑛(𝛿)
Δ𝑡 Δ𝑡𝐿
sen(δ)
ϕ̇ = −v
L

Armando el sistema en espacio-estado

𝑦̇ = 𝑣 sen(𝜙𝑘 + 𝛿)

𝑠𝑒𝑛(𝛿)
𝜙̇ = −𝑣
𝐿
Si se consideran ángulos muy pequeños, entonces
𝑦̇ = 𝑣 (𝜙 + 𝛿)

𝛿
𝜙̇ = −𝑣
𝐿
Estados Entrada Salida
𝒙𝟏 = 𝒚 𝑢=𝜹 Y=x1
𝒙𝟐 = 𝝓
𝑥1̇ = 𝑣(𝑥2 + 𝑢)
𝑢
𝑥2̇ = −𝑣
𝐿

66
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

0 𝑣 𝑣
𝒙̇ = [ ] 𝒙 + [−𝑣/𝐿] 𝑢
0 0
a) Probar el siguiente programa con los siguientes valores

Peso q1: 0.2


Peso q2: 0.2
Introducir coordenada inicial x [10]: 20
Introducir coordenada inicial y [-30 30]: 5
Introducir angulo inicial phi (grados) [-180 180]: 90
Introducir yast(posicion de estacionar): 0

clear; Borra todas las variables cerradas


clc; anteriormente
close all; Limpia la pantalla
Cierra las ventanas como graficas
v = 2; Velocidad inicial
L = 3; Longitud del camion
dt = 0.001; Espaciado del tiempo
ti = 0; tf = 20; Tiempo inicial y final
A = [ 0 v Matrices de espacio estado
0 0 ];
B = [ v
-v/L ];
q1 = input('Peso q1: '); Pesos iniciales para la solución de riccati
q2 = input('Peso q2: ');
Q = diag([ q1 q2 ]); Se crea una matriz diagonal con esos pesos
R=[1 0;0 1];
K=lqr(A,B,Q,R) Solución de la ecuación de riccati
k1 = K(1,1); K es la ley de control u=.-kx
k2 = K(1,2); Se separa k1 y k2
x = input('Introducir Ingresar valores iniciales a traes del
coordenada inicial x [10]: '); workspace
y = input('Introducir
coordenada inicial y [-30
30]: ');
fi = input('Introducir angulo
inicial phi (grados) [-180
180]: ');
fi = fi*pi/180; Conversión de grados a radianes
yast = input('Introducir yast: Ingreso de ydeseado
'); Angulo inicial
fiast = 0; Contador inicia en 1
k = 1; Cambio de variable
tanpi4 = tan(pi/4);
while((x>0) & (x<50)) Bucle infinito
posx(k,1) = x; De la solución del modelo matemáticos,
posy(k,1) = y; tenesmo las siguientes ecuaciones y para
posphi(k,1) = fi; graficar se van generando vectores tiempo,
t(k,1) = (k-1)*dt; vector y, vector

67
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

tandel = -k1*(y-yast) - Ley de control


k2*(fi-fiast);%u=-Kx
if(tandel > tanpi4) Se hace la saturación al valor máximo y al
tandel = tanpi4; valor mínimo entre –pi/4 y pi/4
elseif(tandel < -tanpi4)
tandel = -tanpi4;
end
del = atan(tandel);
delta(k,1) = 180/pi*del;
xp = v*cos(fi);
yp = v*sin(fi); Se aplican las ecuaciones que encontramos
fip = -v/L*tan(del); matemáticamente y se van generando
x = x + xp*dt; vectores
y = y + yp*dt;
fi = fi + fip*dt;
k = k + 1;
end
figure(1); Se grafica en un plano xy
plot(posx,posy); grid; La variación del ángulo.
title('Trajectory'); Se imita la gráfica entre 0 y 50 en el eje x
axis([0 50 -40 40]); Y entre -40 y 40 el eje y
figure(2);
plot(t,delta); grid;
Se le pone título a la grafica
title('Steering Angle')

b) haciendo variar el ángulo inicial phi desde -180° hasta 180°, y la posición inicial “y” de -
30 a 30, con los valores invariantes de q1=0.1 y q2=0.1 xini=20 y*=0, llenar la siguiente tabla con
círculos negros si se llega a cero y con círculos blanco en caso de no llegar.

yini
-30 -25 -15 -10 -5 0 5 10 15 25 30
-180
-150
-120
-90
-60
fi_ini 0
60
90
120
150
180

68
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Trajectory Trajectory
40 40

30 30

20 20

10 10

0 0

-10
-10

-20
-20

-30
-30

-40
0 5 10 15 20 25 30 35 40 45 50 -40
0 5 10 15 20 25 30 35 40 45 50

69
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Problema 2: Se tiene un robot tipo carro con tracción delantera. Se desea que estacione de forma
horizontal con un control LQR y se muestre una simulación de la evolución de la posición, así como un
diagrama de la señal de control u (timón del carro)

La dirección y tracción es
delantera
Simplificación del modelo Simplificación del modelo

Consideraciones:

• No slipping, No skidding
• Low speed v < 3m/s
• Backwards v > 0
a) Demostrar las siguientes ecuaciones

𝛿 𝑒𝑠 𝑒𝑙 𝑎𝑛𝑔𝑢𝑙𝑜 𝑑𝑒𝑙 𝑡𝑖𝑚ó𝑛


𝑣 𝑒𝑠 𝑙𝑎 𝑣𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑 𝑑𝑒𝑙 𝑣𝑒ℎí𝑐𝑢𝑙𝑜
𝑥, 𝑦 𝑠𝑜𝑛 𝑙𝑎𝑠 𝑝𝑜𝑠𝑖𝑐𝑖𝑜𝑛𝑒𝑠 𝑑𝑒𝑙 𝑐𝑎𝑟𝑟𝑜
𝑒𝑛 𝑢𝑛 𝑝𝑙𝑎𝑛𝑜 𝑐𝑎𝑟𝑡𝑒𝑠𝑖𝑎𝑛𝑜
∅ 𝑒𝑠 𝑒𝑙 𝑎𝑛𝑔𝑢𝑙𝑜 𝑑𝑒𝑙 𝑐𝑎𝑟𝑟𝑜, 𝑟𝑒𝑠𝑝𝑒𝑐𝑡𝑜 𝑎𝑙 𝑒𝑗𝑒 ℎ𝑜𝑟𝑖𝑧𝑜𝑛𝑡𝑎𝑙

Lo que se desea controlar es:

70
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Armando el sistema en espacio-estado

Si se consideran ángulos muy pequeño:


𝑥̇ = 𝑣% se descarta, xq no depende de nada
𝑦̇ = 𝑣. 𝜃2
𝑣
𝜃2̇ = − 𝜃12
𝐿2
𝑣 𝑣
̇ = 𝜃12 − tan(𝛿)
𝜃12
𝐿2 𝐿1

Estados Entrada Salida


𝒙𝟏 = 𝒚 𝑢 = tan(𝜹)
𝒙𝟐 = 𝜽𝟐
𝒙𝟑 = 𝜽𝟏𝟐

Haciendo el cambio de variable

𝑥1̇ = 𝑣. 𝑥2
𝑣
𝑥2̇ = − 𝑥
𝐿2 3
𝑣 𝑣
𝑥3̇ = 𝑥3 − 𝑢
𝐿2 𝐿1

0 𝑣 0 0
𝒙̇ = [0 0 −𝑣/𝐿2 ] 𝒙 + [ 0 ] 𝑢
0 0 𝑣/𝐿2 −𝑣/𝐿1

71
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

b) Modificar el código anterior y probar el siguiente programa con los siguientes valores

Ubique una posición de inicio arbitraria

72
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Problema 3: Se tiene un robot manipulador de 2 GDL. Se desea controlar los torques para tener una
trayectoria lineal con un control LQR y se muestre una simulación de la evolución de la posición, así como
un diagrama de la señal de control u

Luego de hacer el modelamiento

Luego hacemos diagrama de cuerpo libre

73
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Luego de obtener las ecuaciones dinámicas, y haciendo un arreglo tenemos

Se hace una aproximación alrededor de

𝜑1 = 0, 𝜑2 = 0,

𝑚11 𝑚12 𝜑1̈ 0 𝐺1 𝜏1


[ ] [ ] = [ ] + [ ] 𝑔 + [𝑆] [𝜏 ]
𝑚21 𝑚22 𝜑 ̈
2 0 𝐺2 2

𝑀𝜑̈ = 𝑆𝑇

74
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

𝜑1̇ 0 0 1 0 𝜑1
𝜑2̇ 0 0 0 1 𝜑2 𝑍𝑒𝑟𝑜𝑠(2,2) 𝜏1
[ ]=[ ] [𝜑 ̇ ] + [ ] [𝜏 ]
𝜑1̈ 0 0 0 0 1 𝑀−1 𝑆 2
𝜑2̈ 0 0 0 0 𝜑2̇
M11 = I1 + m1*l1*l1 + m2*L1*L1 + m2*L1*l2;
M12 = m2*L1*l2;
M21 = I2 + m2*l2*l2 + m2*L1*l2;
M22 = I2 + m2*l2*l2;
M = [M11 M12; M21 M22];
S = [1 -1; 0 1];
m1 = 2.5; L1 = 0.35; l1 = 0.16; % Longitud
I1 = 1.1; % Inercia
m2 = 1.8; L2 = 0.30; l2 = 0.12; % Longitud
I2 = 0.8; % Inercia

a) Ejecutar el siguiente código y analizar cada una de sus partes


% Control de brazo robot de dos grados de libertad.
% Linealización por aproximación alrededor del punto
% de operación fi1=0, fi2=0.
clear;
close all;
clc;
m1 = 2.5;
L1 = 0.35;
l1 = 0.16; % Longitud
I1 = 1.1; % Inercia
m2 = 1.8;
L2 = 0.30;
l2 = 0.12; % Longitud
I2 = 0.8; % Inercia
M11 = I1 + m1*l1*l1 + m2*L1*L1 + m2*L1*l2;
M12 = m2*L1*l2;
M21 = I2 + m2*l2*l2 + m2*L1*l2;
M22 = I2 + m2*l2*l2;

M = [ M11 M12
M21 M22 ];
S = [ 1 -1
0 1 ];
ceros = zeros(2,2);
iden = eye(2);
A = [ ceros iden
ceros ceros ];
B = [ ceros
inv(M)*S ];

q1 = input('Peso q1 [100 - 5e5]: ');


q2 = input('Peso q2 [100 - 5e5]: ');
q3 = input('Peso q3 [5]: ');
q4 = input('Peso q4 [5]: ');
% El peso q3 y q4 reduce la mala respuesta inicial.

75
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Q = diag([ q1 q2 q3 q4 ]);
RR = [ 1 ];
P = are(A,B*inv(RR)*B',Q);
K = inv(RR)*B'*P;

%ti = 0; tf = 4; dt = 0.001;
%t = ti:dt:tf;
%t = t';
%r1 = 80*pi/180; % Angulo deseado r1
%r2 = 80*pi/180; % Angulo deseado r2

% Trayectoria triangular. Inicio (0.65,0)


% Triangulo vertices: (0.40,0.00)(0.525,0.10)(0.65,0)
v = 2*0.01; % Velocidad de desplazamiento en X
ti = 0; dt = 0.001;
t1 = 0.125/v;
t2 = 0.250/v;
tt1 = ti:dt:t1; tt1 = tt1';
tt2 = (t1+dt):dt:t2; tt2 = tt2';
tf = t2;
x1 = -0.125/t1*tt1 + 0.65;
x2 = 0.125/(t1-t2)*(tt2-t2) + 0.40;
xr = [ x1; x2 ];
y1 = 0.10/t1*tt1;
y2 = 0.10/(t1-t2)*(tt2-t2);
yr = [ y1; y2];
x2y2 = xr.*xr + yr.*yr;
AA = xr./sqrt(x2y2);
BB = (x2y2+L1*L1-L2*L2)./(2*L1*sqrt(x2y2));
r1A = acos(AA);
r1B = acos(BB);
r1 = r1A - r1B;
ZZ = (x2y2-(L1*L1+L2*L2))./(2*L1*L2);
r2 = acos(ZZ);
% r1 = r1A + r1B; % Calculo de r1 - Posicion simetrica
% r2 = -r2; % Calculo de r2 - Posicion
simetrica

r1 = real(r1);
r2 = real(r2);
nr12 = length(r1);
% r1 = pi/4*ones(nr12,1);
% r2 = -pi/6*ones(nr12,1);

xx = L1*cos(r1) + L2*cos(r1+r2);
yy = L1*sin(r1) + L2*sin(r1+r2);

fi1 = 0; fi2 = 0;
fi1p = 0; fi2p = 0;
ang = [ fi1 fi2 ]';
vel = [ fi1p fi2p ]';
k = 1;
for tt = ti:dt:tf
ang1(k,1) = fi1;
ang2(k,1) = fi2;
t(k,1) = tt;
x = [fi1-r1(k,1); fi2-r2(k,1); fi1p; fi2p ];
T = -K*x;

76
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

T1(k,1) = T(1,1);
T2(k,1) = T(2,1);
M11a = I1 + m1*l1*l1 + m2*L1*L1 + m2*L1*l2 * cos(fi2);
M12a = m2*L1*l2*cos(fi2);
M21a = I2 + m2*l2*l2 + m2*L1*l2*cos(fi2);
M22a = I2 + m2*l2*l2;
M = [ M11a M12a
M21a M22a ];
C1 = m2*L1*l2*(fi1p+fi2p)^2*sin(fi2);
C2 = -m2*L1*l2*fi1p*fi1p*sin(fi2);
C = [ C1
C2 ];
accel = inv(M)*(C + S*T);
ang = ang + vel*dt;
vel = vel + accel*dt;
fi1 = ang(1,1);
fi2 = ang(2,1);
fi1p = vel(1,1);
fi2p = vel(2,1);
k = k + 1;
end
%ang1 = ang1*180/pi;
%ang2 = ang2*180/pi;
%figure(1);
%plot(t,ang1);
%figure(2);
%plot(t,ang2);

xra = L1*cos(ang1) + L2*cos(ang1+ang2);


yra = L1*sin(ang1) + L2*sin(ang1+ang2);

figure(1); plot(t,ang1*180/pi,t,r1*180/pi); title('Angle Fi1 [deg]');


figure(2); plot(t,ang2*180/pi,t,r2*180/pi); title('Angle Fi2 [deg]');
figure(3);
plot(xra,yra,xx,yy); title('Trayectoria X - Y');
figure(4);
plot(t,T1,'-r',t,T2,'b'); title('Torques T1 (rojo) y T2 (azul)');

disp('Pause');
pause;
figure(5);
grid;
axis([ 0 0.8 -0.4 0.4]);
hold on;
nk = length(ang1);
dk = 15; % Saltos para la animación
xra = [ xra
xra(nr12,1)*ones(dk,1) ];
yra = [ yra
yra(nr12,1)*ones(dk,1) ];
% xra(nr12+1:nr12+dk-1,1) = xra(nr12,1)*ones(dk,1);
% yra(nr12+1:nr12+dk-1,1) = yra(nr12,1)*ones(dk,1);

for k = 1:dk:nk
x1A = 0;
y1A = 0;
x1B = x1A + L1*cos(ang1(k,1));
y1B = y1A + L1*sin(ang1(k,1));

77
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

x2A = x1B;
y2A = y1B;
ang12 = ang1(k,1) + ang2(k,1);
x2B = x2A + L2*cos(ang12);
y2B = y2A + L2*sin(ang12);
xxx = [ x1A x2A x2B ];
yyy = [ y1A y2A y2B ];
plot(xxx,yyy,'-b','Linewidth',2);
pause(0.001);
plot(xxx,yyy,'-w','Linewidth',2);
xxx1 = xra(k,1);
xxx2 = xra(k+dk-1,1);
yyy1 = yra(k,1);
yyy2 = yra(k+dk-1,1);
xxra = [ xxx1 xxx2 ];
yyra = [ yyy1 yyy2];
plot(xxra,yyra,'-r','Linewidth',2);
end
figure(5); plot(xx,yy,'-b'); grid;

c) modificar el código anterior, para que trace una trayectoria circular

La trayectoria que se desea seguir es:

K=

31.6228 -0.0000 12.0564 3.0007

0.0000 31.6228 3.0007 6.9449

Trayectoria X - Y
0.2

0.15

0.1

0.05

-0.05

-0.1

-0.15

-0.2
0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7

Empezando por el extremo dercho del diámetro y en sentido contrario del reloj llegar al mismo
punto.

78
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Ejercicio 10

Control LQG Y Filtro de Kalman


Objetivos didácticos
• Diseñar un controlador LQG y un filtro de Kalman.
Descripción de la tarea a resolver
• Diseñar el Filtro de Kalman del siguiente sistema.
Esquema de situación.

Consideremos el sistema continuo dado por

79
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

−𝟒 𝟐 𝟎 𝟏
𝒙̇ = [ ]𝒙+ [ ]𝒖 + [ ]𝒘
−𝟐 −𝟒 𝟏 −𝟏

𝒚 = [𝟏 𝟎]𝒙 + 𝒗

Donde el término de ruido v(t) tiene media cero y covarianza V = 0.25. El ruido de medición se asume de
media cero y covarianza W = 0.09. El objetivo es diseñar un filtro de Kalman continuo para estimar las
variables de estado de (1). Consideramos el estado inicial de la planta x(0) =[0.5 -0.5]T , con covarianza de
este estado inicial 𝑃𝑜 = 𝐼2𝑥2 .

Condiciones generales
• Se debe hacer un cálculo teórico para hallar la matriz de trasformación T, y con esa matriz hallar las
nuevas matrices A, B, C, D.
• En el simulink se espera que se halle la forma estándar de cada transformación canónica.
• Entrega del informe con los anexos a través del aula virtual del curso.
• Duración 1 sesión.
Tareas a resolver
1. Explicar el diseño de un filtro de Kalman.
2. Explicar la estimación de estados optima (LQE)
3. Explicar el diseño del controlador LQG.
4. Definir las entradas, salidas, estados a parir de las ecuaciones diferenciales del sistema.
5. Realizar las simulaciones en MATLAB, considerar entradas (escalón, rampa, etc) de acuerdo al sistema.
6. Elaborar un informe y enviarlo por el aula virtual.
Medios auxiliares
• Software de simulación MATLAB.
• Libros del curso disponibles en el aula virtual.
1. Explicar el diseño de un filtro de Kalman
Es un algoritmo de procesado de datos óptimo recursivo. Óptimo porque minimiza un criterio determinado
y porque incorpora toda la información que se le suministra para determinar el filtrado. Recursivo porque
no precisa mantener los datos previos, lo que facilita su implementación en sistemas de procesado en
tiempo real. Por último, algoritmo de procesado de datos, ya que es un filtro, pensado para sistemas
discretos.

El objetivo del filtro de Kalman es estimar los estados de una manera óptima, de manera que se minimiza
el índice del error cuadrático medio.

1.1.- Características de los filtros de Kalman

• El filtro Kalman es un algoritmo para procesar datos de manera iterativa.

• No requiere reprocesar todas las observaciones anteriores cada vez que se actualiza.

80
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

• El filtro sirve para estimar y predecir el movimiento de una variable que no observamos directamente
pero cuyo efecto medimos, contaminado por ruido, a través de otras variables.

• El filtro de Kalman proporciona un buen marco para la estimación de una variable, de la que se dispone
de medidas a lo largo del tiempo.

• Se trata de una técnica de estimación Bayesiana empleada para seguir sistemas estocásticos dinámicos
observados mediante sensores ruidosos.

El objetivo del filtro de Kalman es la obtención de un estimador óptimo de las variables de estado de un
sistema dinámico, basado en observaciones ruidosas y en un modelo de incertidumbre de la dinámica del
sistema.

1.2.- Descripción Del Filtro De Kalman

La descripción del filtro de Kalman con sus ecuaciones puede verse en el siguiente diagrama.

Diagrama 1: Descripción del filtro de kalman con sus ecuaciones

81
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Diagrama 2: Otra forma de interpretar l filtro de kalman con sus ecuaciones

1.3.- Filtros de Kalman en Sistema lineal en el espacio de estado

Como sabemos los filtros de Kalman sirve para poder identificar el estado oculto (no medible) de un
sistema dinámico lineal, al igual que el observador de Luenberger, pero sirve además cuando el sistema
está sometido a ruido blanco aditivo. La diferencia entre ambos es que en el observador de Luenberger, la
ganancia K de realimentación del error debe ser elegida "a mano", mientras que el filtro de Kalman es
capaz de escogerla de forma óptima cuando se conocen las varianzas de los ruidos que afectan al sistema.

Figura 1: Algoritmo recursivo del filtro de Kalman

Caso de tiempo continúo:


Se tiene un sistema representado en el espacio de estado:

82
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Dónde:

➢ Es ruido blanco de valor promedio igual a cero y con varianza en el intervalo de


tiempo descrito como t.

➢ Es ruido blanco de valor promedio igual a cero y con varianza en el intervalo de


tiempo descrito como t.

➢ El filtro de Kalman permite estimar el estado a partir de las mediciones anteriores


de , , , y las estimaciones anteriores de .

2. Estimación de estado optima LQE


Recordemos que el problema dual estimador optimo LQ lleva al filtro de Kalman, el cual es el mejor
estimador posible para la planta corrupta con ruidos w y v.

𝑥̇ = 𝐴𝑥 + 𝐵𝑢 + 𝐺𝑤
𝑦 = 𝐶𝑥 + 𝑣
Donde w y v son proceso Gaussianos estocásticos de media cero no correlacionados en el tiempo y el uno
al otro, con covarianzas 𝐸(𝑤𝑤 𝑇 ) = 𝑊 y 𝐸(𝑣𝑣 𝑇 ) = 𝑉. La ganancia del estimador óptimo es 𝐿 = 𝑃𝐶 𝑇 𝑉 −1
donde P es la solución de la EAR.

𝐴𝑃 + 𝑃𝐴𝑇 − 𝑃𝐶 𝑇 𝑉 −1 𝐶𝑃 + 𝑊 = 0

83
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

3. Control lineal cuadrático Gaussiano (LQG)


El control LQG es el controlador óptimo obtenido como la combinación de una ganancia de realimentación
de estado LQR con realimentación desde los estimados a partir de un estimador de estado óptimo LQE.

• El principio de separación nos permite diseñar una ganancia de realimentación LQR y el LQE
independientemente.
• El controlador combinado incluyendo LQR (regulador optimo lineal cuadrático) y un LQE (estimador
optimo lineal cuadrático) se denomina usualmente controlador lineal cuadrático gaussiano (LQG).
• LQG se puede usar como una herramienta simple para obtener un controlador ball-park con un
desempeño razonable. Como con la asignación de polos, la planta debe aumentarse si se desean
características como acción integral.

84
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

ANEXO 1: Laboratorio 1 - Modelado en espacio de estados

A continuación, se muestran diferentes sistemas, se pide que cada grupo a lo más de 3 alumnos,
escoja un sistema y realice las siguientes actividades:

1. Obtención de las ecuaciones diferenciales para cada sistema.


2. Realizar el modelamiento de espacio de estados a partir de las ecuaciones anteriores.
3. Dar valores a las constantes, realizar un código en matlab para simular el sistema ante una
entrada adecuada (Escalón, impulso, senoidal, etc), considerar condiciones iniciales.
4. Realizar el ítem anterior con simulink.

Sistema # 1: f(a) entrada y x1 salida

Sistema # 2: la entrada es la fuerza f y la salida x1

85
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Sistema # 3: la entrada es el desplazamiento x2 y la salida x1

Sistema # 4: la entrada es la fuerza fa y la salida x1

86
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Sistema # 5:

Sistema # 6: la salida es e0 y la entrada i1

87
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Sistema # 7: la salida es eB

Sistema # 8: la salida es x1

88
UNIVERSIDAD CATOLICA DE SANTA MARIA
E. P. DE INGENIERIA MECANICA, MECANICA – ELECTICA Y MECATRONICA

CONTROL MECATRONICO III - 4E09078

Sistema # 9: la salida es x1

Sistema # 10: la salida es e0

89

También podría gustarte