trabajo 3

14
UNIVERSIDAD DE ANTIOQUIA INSTRUMENTACIÓN Y CONTROL TRABAJO #3 Control de ángulo y posición de un vehículo tipo Segway Juan Sebastian Gomez Mejia 14-3-2014

Upload: nestorlagos

Post on 07-Feb-2016

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Trabajo 3

UNIVERSIDAD DE ANTIOQUIA

INSTRUMENTACIÓN Y CONTROL

TRABAJO #3 Control de ángulo y posición de un vehículo tipo Segway

Juan Sebastian Gomez Mejia 14-3-2014

Page 2: Trabajo 3

Introducción

En el presente trabajo nos disponemos al diseño, control y co-simulación de un dispositivo

regido por el sistema de péndulo invertido, para este caso en particular se desea controlar el

ángulo y la posición de un vehículo tipo Segway, para lograr este objetivo fue necesario

obtener un modelo matemático que describe la dinámica del sistema.

También es necesario modelar el sistema mediante el software NX y aplicar una fuerza en el

sentido de desplazamiento y para este sistema fue necesario en base a los parámetros del

sistema diseñar un control mediante el uso del método de espacio de estados para controlar el

ángulo y la posición y usar este en una simulación en Simulink y también una co-simulación con

NX después de obtener este controlador nos disponemos a diseñar un observador de estados

para unirlo al controlador diseñado anteriormente y comparar los resultados obtenidos con los

resultados del trabajo pasado y sacar las respectivas conclusiones.

Page 3: Trabajo 3

Objetivos

Se desea obtener un modelo matemático que describa la dinámica del sistema.

Por medio del método de espacio de estados y calcular un compensador angular y de

posición para el sistema.

Simular el sistema primero mediante Simulink de Matlab y luego realizar una

co- simulación entre Simulink y NX.

Diseñar un observador de estados e incluirlo en el control diseñado mediante el

método de espacio de estados.

Comparar los resultados obtenidos en este desarrollo con los resultados obtenidos en

el trabajo anterior.

Page 4: Trabajo 3

1. Obtener un modelo matemático en variables de estado que describa la dinámica del sistema:

Diagrama de cuerpo libre del sistema

Para el análisis se tomaron las siguientes consideraciones:

Masa del eje M = 5 Kg Masa del péndulo m = 15 Kg Coeficiente de fricción b = 0 N/m*s Distancia al centro de masa l = 0.675 m Momento de inercia del péndulo I=44.41 Kg*m2

Fuerza aplicada F

Posición del Segway x Angulo del péndulo respecto a la vertical θ

Page 5: Trabajo 3

La forma más general para representar la dinámica de este sistema de vehículo tipo segway, que se puede expresar como un sistema lineal es de la siguiente manera:

𝑥 = 𝐴𝑥 + 𝐵𝑢 𝑦 = 𝐶𝑥 + 𝐷𝑢

Donde: x es el vector de estados del sistema u es el vector de entrada A es la matriz del sistema (n*n) B es la matriz de entrada (n*1) C es la matriz de salida (1*n) D es una matriz Ya que se cuenta con el análisis general, se puede disponer a hallar las matrices A y B de la siguiente manera:

(𝐼 + 𝑚𝑙2)�̈� − 𝑚𝑔𝑙𝜙 = 𝑚𝑙�̈� (1) (𝑀 + 𝑚)�̈� + 𝑏�̇� − 𝑚𝑙�̈� = 𝑢 (2)

Ahora despejaremos �̈� de la ecuación (2)

�̈� =𝑢

𝑀 + 𝑚−

𝑏�̇�

𝑀 + 𝑚+

𝑚𝑙�̈�

𝑀 + 𝑚 (3)

Ahora remplazamos la ecuación (3) en (1)

(𝐼 + 𝑚𝑙2)�̈� − 𝑚𝑔𝑙𝜙 = 𝑚𝑙 (𝑢 − 𝑏�̇� + 𝑚𝑙�̈�

𝑀 + 𝑚)

(𝐼 + 𝑚𝑙2)�̈� −𝑚2𝑙2�̈�

M + m=

𝑚𝑙𝑢

𝑀 + 𝑚−

𝑚𝑙𝑏�̇�

𝑀 + 𝑚 + 𝑚𝑔𝑙𝜙

�̈� [(𝐼 + 𝑚𝑙2) −𝑚2𝑙2

M + m] =

𝑚𝑙𝑢

M + m−

𝑚𝑙𝑏�̇�

M + m + 𝑚𝑔𝑙𝜙

�̈� [(M + m)(𝐼 + 𝑚𝑙2) − 𝑚2𝑙2

M + m] =

𝑚𝑙𝑢

M + m−

𝑚𝑙 𝑏�̇�

M + m+ 𝑚𝑔𝑙𝜙

Page 6: Trabajo 3

�̈� =

𝑚𝑙𝑢𝑀 + 𝑚

−𝑚𝑙𝑏�̇�𝑀 + 𝑚

+ 𝑚𝑔𝑙𝜙

(M + m)(𝐼 + 𝑚𝑙2) − 𝑚2𝑙2

𝑀 + 𝑚

�̈� =𝑚𝑙𝑢 − 𝑚𝑙𝑏�̇� + (M + m)𝑚𝑔𝑙𝜙

𝐼(𝑀 + 𝑚) + 𝑀𝑚𝑙2

Ahora despejamos �̈� en la ecuación (1)

�̈� = 𝑚𝑙�̈� + 𝑚𝑔𝑙𝜙

(𝐼 + 𝑚𝑙2) (5)

Remplazamos la ecuación (5) en la ecuación (2)

(𝑀 + 𝑚)�̈� + 𝑏�̇� −𝑚2𝑙2�̈�

𝐼 + 𝑚𝑙2−

𝑚2𝑙2g

𝐼 + 𝑚𝑙2𝜙 = 𝑢

�̈� ((𝑀 + 𝑚) −𝑚2𝑙2

𝐼 + 𝑚𝑙2) = 𝑢 +

𝑚2𝑙2g𝜙

𝐼 + 𝑚𝑙2− 𝑏�̇�

�̈� [𝐼𝑀 + 𝐼𝑚 + 𝑀𝑚𝑙2

𝐼 + 𝑚𝑙2] = 𝑢 +

𝑚2𝑙2g𝜙

𝐼 + 𝑚𝑙2− 𝑏𝑥

.

�̈� =𝑢 +

𝑚2𝑙2g𝜙𝐼 + 𝑚𝑙2

− 𝑏�̇�

𝐼𝑀 + 𝐼𝑚 + 𝑀𝑚𝑙2

𝐼 + 𝑚𝑙2

�̈� =(𝐼 + 𝑚𝑙2)𝑢 + 𝑚2𝑙2g𝜙 − (𝐼 + 𝑚𝑙2)𝑏�̇�

𝐼(𝑀 + 𝑚) + 𝑀𝑚𝑙2

𝑥1 = 𝑥, 𝑥2 = �̇�1 = �̇�, 𝑥3 = 𝜃, 𝑥4 = �̇�3 = �̇�

�̇�1 =𝑚𝑙𝑢

𝐼(𝑀 + 𝑚) + 𝑀𝑚𝑙2−

𝑚𝑙𝑏𝑥2

𝐼(𝑀 + 𝑚) + 𝑀𝑚𝑙2+

(𝑀 + 𝑚)𝑚𝑔𝑙𝑥3

𝐼(𝑀 + 𝑚) + 𝑀𝑚𝑙2

Page 7: Trabajo 3

�̇�2 =(𝐼 + 𝑚𝑙2)𝑢

𝐼(𝑀 + 𝑚) + 𝑀𝑚𝑙2+

𝑚2𝑙2g𝑥3

𝐼(𝑀 + 𝑚) + 𝑀𝑚𝑙2−

(𝐼 + 𝑚𝑙2)𝑏𝑥2

𝐼(𝑀 + 𝑚) + 𝑀𝑚𝑙2

𝐶𝑡𝑒 = 𝐼(𝑀 + 𝑚) + 𝑀𝑚𝑙2

[

�̇�1

�̇�2

�̇�3

�̇�4

] =

[ 0 1 0 0

0 −(𝐼 + 𝑚𝑙2)𝑏

𝑐𝑡𝑒

𝑚2𝑙2g

𝑐𝑡𝑒0

0 0 0 1

0 −𝑚𝑙𝑏

𝑐𝑡𝑒

(𝑀 + 𝑚)𝑚𝑔𝑙

𝑐𝑡𝑒0]

∗ [

𝑥1

𝑥2

𝑥3

𝑥4

] +

[

0𝐼 + 𝑚𝑙2

𝑐𝑡𝑒0𝑚𝑙

𝑐𝑡𝑒 ]

𝑢

𝑦1 = 𝑥, 𝑦2 = 𝜃

[y1

y2] = [

1 0 0 00 0 1 0

] ∗ [

x1

x2

x3

x4

] + [00] u

Page 8: Trabajo 3

2. Diseñar un sistema de control por realimentación de estados que permita mantener el péndulo en la posición vertical y además desplazar el péndulo a una posición deseada. Simular el comportamiento para diferentes valores de posición y utilizando tanto el modelo en variables de estado como el modelo proporcionado por el software NX.

Usando el software Matlab se realizó el siguiente código para obtener los valores de las ganancias que son necesarias para lograr controlar la posición y el angulo del sistema. %Trabajo 3 control de angulo y posicion de un vehiculo tipo segway

%Datos del sistema

m_pend=15; %[kg] m_eje=5; %[kg] I=0 %[kg*m]Momento de inercia respecto al eje Y l=0.675*1000; %Longitud del pendulo [m] G=9.81*1000; %gravedad [m/s^2] Q=I*(m_eje+m_pend)+(m_eje*m_pend*l^2); b=0;

%Matrices A=[0 1 0 0; 0 -((I+m_pend*l^2)*b)/Q (m_pend^2*l^2*G)/Q 0; 0 0 0 1; 0 (m_pend*l*b)/Q ((m_eje+m_pend)*m_pend*G*l)/Q 0]; B=[0; (I+(m_pend*l^2))/Q; 0; (m_pend*l)/Q]; C=[1 0 0 0]; D=[0;0];

Ahat=[A zeros(4,1);-C 0]; Bhat=[B;0]; ts=1.5; zita=0.6; Wn=4/(zita*ts);

p1=-zita*Wn+Wn*((1-zita^2)^1/2)*j; p2=-zita*Wn-Wn*((1-zita^2)^1/2)*j; p3=3*-zita*Wn; p4=3.5*-zita*Wn; p5=4.1*-zita*Wn;

K=[p1 p2 p3 p4 p5]; Khat=place(Ahat,Bhat,K) Kc=[Khat(1) Khat(2) Khat(3) Khat(4)]; Ki=[Khat(5)] AA=[A-B*Kc B*Ki;-C 0] BB=[0;0;0;0;1] CC=[C 0] DD=[0]

a=A-B*Kc;

Page 9: Trabajo 3

bf=B*Ki; c=[1 0 0 0;0 0 1 0]; d=D; sys=ss(a,bf,c,d); t=0:0.03:10; ref=-1*ones(size(t)); [pos,t]=lsim(sys,ref,t); subplot(1,2,1) plot(t,pos(:,1)) title('Posición vs Tiempo') xlabel('Tiempo') ylabel('Posición') subplot(1,2,2) plot(t,pos(:,2)) title('angulo vs tiempo') xlabel('Tiempo') ylabel('Angulo')

Con el código anterior se obtuvieron las siguientes graficas:

Se observa que este metodo logra controlar la posición y el angulo del vehiculo en la referencia deseada.

Page 10: Trabajo 3

Usando Simulink se monto el siguiente sistema:

El subsistema esta compuesto asi:

A continuacion se muestran las graficas de posicion y angulo en ese orden Posición:

Page 11: Trabajo 3

Angulo:

Ahora se presenta las graficas en las que se muestra el comportamiento del sistema se lleva a varias posiciones. Posición

Page 12: Trabajo 3

Angulo

Se puede observar la capacidad de control que tiene este montaje para el sistema a estudiar, donde ademas de controlar una sola exitacion, logrando llevar de nuevo el sistema a la posicion deseada , tambien logra controlar el sistema bajo varias exitaciones en el tiempo Se presenta el sistema en simulink con el bloque generado por NX

Page 13: Trabajo 3

Se puede observar que el sistema no se logro controlar mediante el metodo de espacio de estados en la cosimulacion con el software NX ya que este programa tiene encuenta la incercia del sistema y gracias a la geometria del mismo, el vehiculo siempre intentara irse hacia delante, ademas se realizo la variacion de los valores zita, omega n y los coeficioentes de las ganancias en repetidas ocasiones logrando siempre el mismo comportamiento, no logrando controlar ni el angulo ni el movimiento.

3. Analizar los resultados obtenidos y compararlos con los resultados obtenidos en el trabajo anterior.

Se logro observar que este sistema es controlable si se desprecia la inrecia ya que por la misma geometria del diseño no se lograra tener control de la posicion y el angulo en la cosimulacion ya que esta si tiene en cuenta la incercia del cuerpo. Cabe resaltar que con el uso de este metodo de estado de espacios si es posible controlar el sistema pero es fundamental tener muy encuenta que sea una geometria donde el centro de masa se encuentre en el centro. Podemos ver que el control mediante PID es mucho mas rapido para el angulo pero la ventaja del diseño de controladores mediante el metodo de espacios de estado permite controlar la posicion.

Page 14: Trabajo 3

4. Conclusiones:

No es posible hacer la cosimulacion en NX por la geometria del sistema, ya que gracias a la incercia del mismo, este tiende a irse siempre para adelante.

Mediante el metodo de espacios de estado si es posible controlar la posicion y el angulo al mismo tiempo.

Al tener el centro de masa en el centro del sistema seria posible controlar el vehiculo en la cosimulacion.

Se observa como cambia el copmportamiento del sistema con la variacion de los polos, el valor de zita y de omega n.