Guide Lab 3 CP 2021 2
Guide Lab 3 CP 2021 2
Guide Lab 3 CP 2021 2
Lima, Peru
2021 – 2
Lab 3 – LQR Control
1. Objectives
Design LQR control systems
Implement LQR control systems
3. Procedure
En la Figura 1 se muestra el código que contiene los parámetros, las matrices de estado y
el LQR control. También, está incluido la gráfica simulink que se utiliza para la simulación
junto con los valores obtenidos del LQR control.
% Mass (kg)
Mp = 0.024;
% Total length (m)
Lp = 0.129;
% Moment of inertia about pivot (kg-m^2)
Jp = Mp*Lp^2/12;
% Equivalent Viscous Damping Coefficient (N-m-s/rad)
Dp = 0; % O 0.0005
% Gravity Constant
g = 9.81;
%
%% State-Space Model
% Find Total Inertia
Jt = Jr*Jp + Mp*(Lp/2)^2*Jr + Jp*Mp*Lr^2;
En las siguientes imágenes se muestra la simulación en simulink del control LQR con los
parámetros mostrados anteriormente.
Imagen 1: Muestra todas las señales: thetha, alpha, la señal de referencia y la ley de
control.
Imagen 4: Alpha
2. Implement the LQR control of the rotary inverted pendulum. Use a signal generator
with a square wave for reference with a frequency of 0.125 Hz and an amplitude of
1 (The square signal goes from 1 to -1). Control specifications required: percent
overshoot < 4%, settling time < 3 s and steady state error < 4%. Show the response of
theta, alpha and the control force. (Hint: Use the q_qube_bal_lqr.slx as a
reference).
Con el fin de poder cumplir con las especificaciones, se realizaron 4 intentos. Se obtuvo
mejor resultado en el cuarto intento. En la imagen 5 se puede apreciar el diagrama que se
utilizó en Simulink. Este estaba ya pre realizado en los archivos dados para este
laboratorio. Se hicieron dos cambios, se agregó un saturador y la ganancia luego del
generador de señal.
Los valores de las matrices Q y R se fueron modificando a medida que nos acercábamos a
una respuesta con especificaciones aceptables. A continuación se muestran los parámetros
de las matrices, el número del intento en cuestión y la respuesta en dicho caso.
Cabe resaltar que, en todos los intentos, los gráficos del comportamiento de los vectores
de control, así como el ángulo del péndulo, han sido los esperados. En primer lugar, el
vector de control se encargaba de dar el voltaje respectivo para que el péndulo pueda
mantenerse equilibrado, por lo que este varía en 1.5 y -1.5 voltios. En segundo lugar,
debido al método LQR, el ángulo del péndulo tenía como referencia 0, siendo esta la razón
por la que se mantenía en equilibrio.
Primer intento:
Para este intento se utilizaron las matrices Q y R de la simulación de la primera consigna.
● Matrices
○ Q = [5 0 0 0;0 1 0 0;0 0 1 0;0 0 0 20]
○ R = [1];
● Parámetros de desempeño
○ % Overshoot: 37.9 %
○ Error en estado estacionario: No hay
○ Tiempo de establecimiento: No hay
Imagen 7: Scope mostrando el ángulo theta la referencia de este (Posición del brazo)
Segundo intento:
Para este intento se modificaron las matrices Q y R intuyendo lo que pasaría.
● Matrices
○ Q = [300 0 0 0;0 1 0 0;0 0 0.0001 0;0 0 0 100]
○ R = [11];
○ K = [-5.2223 50.2214 -2.0160 5.3439]
● Parámetros de desempeño
○ % Overshoot:
Imagen 10: Scope mostrando el ángulo theta la referencia de este (Posición del brazo)
Tercer intento:
Para este intento se modifica R intuyendo lo que pasaría en función al segundo intento.
Subieron los porcentajes de las especificaciones, por lo que subir el valor de R no era lo
correcto.
● Matrices
○ Q = [300 0 0 0;0 1 0 0;0 0 0.0001 0;0 0 0 100]
○ R = [15];
○ K = [-4.4721 44.2148 -1.7363 4.6343]
● Parámetros de desempeño
○ % Overshoot:
■ Referencia de 10: 29.1 % (arriba)
■ Referencia de -10: 10 % (abajo)
○ Error en estado estacionario:
■ Referencia de 10: 20 % (arriba)
■ Referencia de -10: menor 4 % (abajo)
○ Tiempo de establecimiento: menor a 2 segundos
Imagen 14: Scope mostrando el ángulo theta la referencia de este (Posición del brazo)
Para este intento se modifican Q y R intuyendo lo que pasaría en función al tercer intento.
Subieron los porcentajes de las especificaciones, por lo que subir excesivamente el valor
de R y Q no era lo correcto.
● Matrices
○ Q = [5300 0 0 0;0 1 0 0;0 0 0.001 0;0 0 0 100]
○ R = [50];
● Parámetros de desempeño
○ % Overshoot:
■ Referencia de 10: 30.3 % (arriba)
■ Referencia de -10: 25.6 % (abajo)
○ Error en estado estacionario:
■ Referencia de 10: No se puede sacar, no llega a 10 +- 1%
■ Referencia de -10: No se puede sacar, no llega a 10 +- 1%
○ Tiempo de establecimiento: menor a 3 segundos
Imagen 18: Scope mostrando el ángulo theta la referencia de este (Posición del brazo)
● Matrices
○ Q = [1000 0 0 0;0 1 0 0;0 0 0.00001 0;0 0 0 100]
○ R = [10];
● Parámetros de desempeño
○ % Overshoot:
■ Referencia de 10: 12.4 % (arriba)
■ Referencia de -10: 10.45 % (abajo)
○ Error en estado estacionario:
■ Referencia de 10: 8.9 %
■ Referencia de -10: 6.2 %
○ Tiempo de establecimiento: 1.772 seg (a 6.2 % de error abajo)
Imagen 22: Scope mostrando el ángulo theta la referencia de este (Posición del brazo)
Se realizará la comparación de las respuestas obtenidas tanto para la simulación como para
la implementación de los apartados [1] y [2].
OS 3.75% 10.45%
Ess 0% 6.2%
Podemos ver cómo en la simulación el porcentaje de sobre impulso se mantiene bajo los
parámetros especificados (<4%), mientras que en la implementación esto varía
considerablemente. En la implementación, además, existe un error en estado estacionario
del 6.2%, mientras que en la simulación esto no ocurre. Los tiempos de establecimiento de
ambos casos, sin embargo, parecen estar bastante cerca, aunque el de la simulación sigue
siendo menor al de la implementación.
En la última imagen mostrada, se observa cuadros marcados en los bloques de simulink, las
cuales serán utilizadas para explicarlos. En la siguiente tabla se hace un resumen de lo que
significa cada bloque marcado.
2 Crea en una matriz los valores del péndulo en X = [theta, alpha, theta_dot,
alpha_dot].
4. Observations
- Este laboratorio, para el trial and error de las matrices Q y R, se necesitaba de una
persona que levantara el péndulo y ver su comportamiento. Por este motivo, para
este laboratorio, hubiese sido mejor tener un asesor más o poder hacerlo como
parte de los laboratorios presenciales. Así, podíamos tener más intentos y conseguir
estar en el rango que pedías de los parámetro de desempeño.
5. Conclusions
- Se logró realizar la simulación utilizando Simulink del control simultáneo del
soporte del péndulo invertido rotatorio y la posición del mismo implementando un
control de tipo LQR. Los parámetros utilizados y las respuestas tanto de la salida
final como de la ley de control se obtuvieron satisfactoriamente.
- Se realizó la implementación del algoritmo de control LQR anteriormente simulado
de forma remota para controlar el péndulo rotatorio invertido en tiempo real, se
tuvieron que realizar varios ajustes de los parámetros de control (las matrices Q y
R) para lograr el control óptimo que se nos pedía como requerimiento.
- En cuanto a la comparación de la simulación realizada en el apartado [1] y la
implementación realizada en el apartado [2], se concluye que si bien los valores de
las matrices Q y R pueden controlar el sistema en la simulación, estos deben
sintonizarse con mayor precisión en la práctica. Las respuestas a la simulación y la
implementación se mostraron diferentes dados los mismos parámetros de Q y R. La
respuesta en la implementación demostró tener un porcentaje de sobre impulso
mayor, error en estado estacionario y un mayor tiempo de estabilización.
- Se explicó el algoritmo “swing_up.slx”, el cual implementa el control swing up del
péndulo rotatorio invertido. Asimismo, en el apartado [4] se explicaron de forma
detallada la función que realizan cada uno de los bloques y cómo es que el
programa es capaz de controlar el péndulo.
References
1. Plant manuals [10]
2. Document: PIR Modelo.pdf
3. Document: QUBE-Servo State Space Workbook (Instructor).pdf
Evaluation Rubric
Competence b1: Capacity for designing and developing experiments (level 1).
Unaccep-
EVALUATION CRITERIA Very good Good Fair
table
TEST
Student will take a test about the before laboratory
Total Grade
Student He/She is 100% engaged He/She is 50% engaged in He/She is 20% He/She is not
attitude in the session lab, in the the session lab, in the engaged in the cooperative,
material and is 100% material and is 50% session lab, in the optimistic, or
enthusiastic about enthusiastic about material and is not constructive.
learning, He/She is able learning, not about enthusiastic about He/she is not
to learn from mistakes getting a particular grade. learning. Rarely, responsible and
and seeks improvement. He/She could learn from he/she could learn do not care about
mistakes and might seeks from mistakes and learning.
improvement. might seeks
improvement.