Escolar Documentos
Profissional Documentos
Cultura Documentos
Componentes:
Alexandre Roitman Rosset Nº USP: 4941539
Cassio Hideyuki Kawakita Nº USP: 3129704
Valter Unterberger Filho Nº USP: 3528522
Vinícius Lopes dos Santos Nº USP: 3725672
São Paulo
2006
2
SUMÁRIO
1. Introdução ............................................................................................................................... 5
2. Modelo Físico .......................................................................................................................... 5
3. Modelo Matemático do Submarino........................................................................................ 6
4. Sensores e Atuadores Necessários .................................................................................... 12
5. Determinação da Função de Transferência e dos Pólos de Malha Aberta do Sistema . 14
6. Análise de Estabilidade do Sistema em Malha Aberta ...................................................... 16
7. Análise de Estabilidade pelo Critério de Routh-Hurwitz ................................................... 17
8. Diagramas de Bode e de Nyquist do Sistema .................................................................... 18
9. Análise da Controlabilidade e Observabilidade do Sistema............................................. 25
10. Projeto de um Observador de Estados............................................................................. 26
11. Matriz de Transição............................................................................................................. 29
11. Projeto de um Regulador de Estados ............................................................................... 31
11.1. Regulador de Estados por Alocação de Pólos ............................................................. 32
11.2. Regulador de Estados por Controle Linear Quadrático............................................... 36
12. Projeto de um Seguidor de Trajetória ............................................................................... 40
12.1. Determinação da Trajetória............................................................................................. 40
12.2. Seguidor de Trajetória por Alocação de Pólos ............................................................. 42
12.3. Seguidor de Trajetórias por Controle Linear Quadrático............................................. 44
13. Controle Clássico................................................................................................................ 46
13.1. O Projeto do Controlador ................................................................................................ 46
13.2. Alocação de Empuxo....................................................................................................... 50
13.3. Seleção dos Parâmetros de Controle ............................................................................ 51
14. Conclusão............................................................................................................................ 54
14. Referências Bibliográficas ................................................................................................. 56
Anexo A – Parâmetros Principais do submersível VSNT Jaú I ............................................ 57
Anexo B – Determinação da Trajetória a ser Seguida em Autolev ...................................... 58
Anexo C – Código Fonte para o Regulador de Estados em Scilab...................................... 59
2
3
Lista de Figuras
Figura 1: Configuração básica do VSNT Jaú I. .......................................................... 6
Figura 2: Esboço do Veículo Submarino Não-Tripulado (VSNT).............................. 7
Figura 3: Pólos e funções de transferência para u = 0,15; v = 0; r = 0;ψ = 0 ................... 15
Figura 4: Diagrama de pólos do sistema em malha aberta para u = 0,15; v = 0; r = 0;ψ = 0 . 16
G32 . ..................................................................... 21
Figura 9: Diagrama de Bode para
3
4
Figura 29: Submersível com PD – Trajetória real (vermelha) e trajetória de referência (azul)
...................................................................................................................................... 53
4
5
1. Introdução
2. Modelo Físico
5
6
6
7
7
8
FX = (m + m11 ) ⋅ (u& − v ⋅ r )
FY = (m + m22 ) ⋅ (v& + u ⋅ r ) (1)
N = ( I Z + m66 ) ⋅ r&
onde:
• FX e FY são, respectivamente, as forças resultantes atuantes nas direções X1 e Y1.
• N é o momento resultante atuante em relação ao eixo O1Z1.
• m é a massa do veículo.
• m11 e m22 são as massas adicionais nas direções X1 e Y1, respectivamente.
• IZ é o momento de inércia do veículo em relação ao eixo O1Z1.
• m66 é o momento de inércia adicional em relação ao eixo O1Z1.
• u, v e u& , v& são, respectivamente, as velocidades e acelerações lineares do veículo
nos eixos O1X1 e O1Y1 (medidas a partir do referencial fixo ao submarino).
• r e r& são, respectivamente, a velocidade e aceleração angular do veículo em
relação ao eixo O1Z1 (medidas a partir do referencial fixo ao submarino).
F = −A + P + E
onde:
• A é a força (ou momento) devido ao amortecimento viscoso, que envolve um termo
linear e outro quadrático da respectiva velocidade.
• P é a força (ou momento) devido aos propulsores.
• E é a força de perturbação gerada pela correnteza e aplicada ao veículo.
Logo:
FX = − AX + PX + E X
FY = − AY + EY (2)
N = − AN + PN
8
9
A = c⋅a + d ⋅a⋅ a
onde:
• c e d são, respectivamente, os coeficientes de amortecimento linear e quadrático.
• a é a velocidade do corpo (medida no referencial móvel) no eixo em que se
averigua o amortecimento.
Obtém-se:
A X = c11 ⋅ u + d 11 ⋅ u ⋅ u
AY = c 22 ⋅ v + d 22 ⋅ v ⋅ v (3)
AN = c 66 ⋅ r + d 66 ⋅ r ⋅ r
PX = F1 + F2
d (4)
PN = ⋅ ( F1 − F2 )
2
As forças de perturbação EX e EY nada mais são que as projeções das forças de
correnteza conhecidas no referencial inercial (OXYZ) no referencial solidário ao veículo
(OX1Y1Z1):
onde:
• EXo é a força de correnteza na direção de X (referencial inercial).
• EYo é a força de correnteza na direção de Y (referencial inercial).
• ψ é o ângulo de yaw do veículo, ou seja, ângulo formado entre OX1 e OX.
De (3), (4) e (5) em (2) resulta:
9
10
FX = −c11 ⋅ u − d11 ⋅ u ⋅ u + F1 + F2 + E Xo ⋅ cosψ + EYo ⋅ senψ
FY = −c 22 ⋅ v − d 22 ⋅ v ⋅ v − E Xo ⋅ senψ + EYo ⋅ cosψ (6)
d
N = −c66 ⋅ r − d 66 ⋅ r ⋅ r + ⋅ ( F1 − F2 )
2
Pode-se mudar do referencial fixo ao veículo para o referencial inercial através das
Equações de Euler [2]:
Nas equações (7) e (8), nota-se a presença de termos não lineares. Faz-se
necessária, portanto, a linearização dos mesmos ao redor de um ponto de equilíbrio do
sistema ( x , y , z ,...) , através da série de Taylor, desprezando os termos de segunda ordem
[3]:
∂f ∂f ∂f
f ( x, y, z ,...) = f ( x , y , z ,...) + ⋅ (x − x) + ⋅ ( y − y) + ⋅ (z − z)K
∂x X ,Y , Z ,... ∂y X ,Y , Z ,...
∂z X ,Y , Z ,...
Nota-se que, para linearizar uma das equações, deve-se isolar as variáveis do
vetor de estados derivado no tempo ( u& , v&, r&, X& , Y& ,ψ& ) e linearizá-las em torno de um ponto
10
11
[(−c11 ⋅ u − d11 ⋅ u ⋅ u ) + F1 + F2 + E Xo ⋅ cosψ + EYo ⋅ senψ ]
u& = +v⋅r
(m + m11 )
(−c 22 ⋅ v − d 22 ⋅ v ⋅ v − E Xo ⋅ senψ + EYo ⋅ cosψ )
v& = −u⋅r
(m + m22 )
⎡ ( F1 − F2 ) ⋅ d ⎤
⎢(−c66 ⋅ r − d 66 ⋅ r ⋅ r ) + ⎥ (9)
r& = ⎣ ⎦
2
( I Z + m66 )
X& = u ⋅ cosψ − v ⋅ senψ
Y& = u ⋅ senψ + v ⋅ cosψ
ψ& = r
Assim, adotando-se que u& , v&, r&, X& , Y& ,ψ& são funções de u , v, r ,ψ , F1 , F2 , e definindo
∂a = a − a , as equações de (8) ao serem linearizadas com o polinômio de Taylor de
primeira ordem correspondente, resultam nas seguintes equações:
x& = A ⋅ x + B ⋅ u + E ⋅ p
(11) e (12)
y = C ⋅ x + D ⋅u
11
12
⎡ − c11 − 2 ⋅ d11 ⋅ u ⎤
⎢ r v 0 0 0 ⎥
⎡ ∂u& ⎤ ⎢ m + m11 ⎥ ⎡ ∂u ⎤
⎢ ∂v& ⎥ ⎢ − c22 − 2 ⋅ d 22 ⋅ v ⎥ ⎢ ∂v ⎥
⎢ ⎥ ⎢ −r −u 0 0 0 ⎥ ⎢ ⎥
⎢ ∂r& ⎥ ⎢ m + m22
⎥ ⎢ ∂r ⎥
⎢ &⎥=⎢ − c66 − 2 ⋅ d66 ⋅ r ⎥⋅⎢ ⎥ +
⎢ ∂X ⎥ ⎢ 0 0
I Z + m66
0 0 0 ⎥ ⎢ ∂X ⎥
⎢ ∂Y& ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ cosψ − senψ 0 0 0 − u ⋅ senψ − v ⋅ cosψ ⎥ ⎢ ∂Y ⎥
⎣⎢∂ψ& ⎦⎥ ⎢ senψ cosψ 0 0 0 u ⋅ cosψ − v ⋅ senψ ⎥ ⎣⎢∂ψ ⎦⎥
⎢ ⎥
⎣ 0 0 1 0 0 0 ⎦
⎡ 1 1 ⎤ ⎡ cosψ senψ ⎤
⎢ m+m ⎢m+m m + m11 ⎥
m + m11 ⎥ ⎢ ⎥
⎢ ⎥
11
ψ cosψ ⎥
11
0 0 ⎢ − sen
⎢ ⎥
⎢ d −d ⎥ ⎡ ∂F1 ⎤ ⎢ m + m22 m + m22 ⎥ ⎡∂E Xo ⎤
+ ⎢ 2 ⋅ (I + m ) 2 ⋅ (I z + m66 )⎥ ⋅ ⎢∂F ⎥ + ⎢ 0 0 ⎥ ⋅ ⎢ ∂E ⎥
⎥ ⎣ 2⎦ ⎢ ⎥ ⎣ Yo ⎦
z 66
⎢ 0 0
⎢ ⎥ ⎢ 0 0 ⎥
⎢ 0 0 ⎥ ⎢ 0 0 ⎥⎥
⎢ ⎥ ⎢ (13)
⎣ ⎦ ⎣⎢ 0 0 ⎦⎥
0 0
⎡ 0 ⎤ ⎡0 0 0 0 0 0⎤ ⎡ ∂u ⎤ ⎡0 0⎤
⎢ 0 ⎥ ⎢0 0 0 0 0 0⎥⎥ ⎢⎢ ∂v ⎥⎥ ⎢⎢0 0⎥⎥
⎢ ⎥ ⎢
⎢ 0 ⎥ ⎢0 0 0 0 0 0⎥ ⎢ ∂r ⎥ ⎢0 0⎥ ⎡ ∂F1 ⎤
⎢ ⎥=⎢ ⎥⋅⎢ ⎥ + ⎢ ⎥⋅
⎢ ∂X ⎥ ⎢0 0 0 1 0 0⎥ ⎢ ∂X ⎥ ⎢0 0⎥ ⎢⎣∂F2 ⎥⎦
⎢ ∂Y ⎥ ⎢0 0 0 0 1 0⎥ ⎢ ∂Y ⎥ ⎢0 0⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢⎣∂ψ ⎥⎦ ⎢⎣0 0 0 0 0 1⎥⎦ ⎢⎣∂ψ ⎥⎦ ⎢⎣0 0⎥⎦
A partir das equações matriciais (13), fica claro que não se tem a intenção de medir
todas as variáveis de estado do sistema. O objetivo é medir apenas as posições X, Y e ψ
do submersível e utilizar um observador de estados para que todas as outras variáveis de
estado sejam determinadas.
Cabe aqui um pequeno esclarecimento sobre o cálculo do ponto de equilíbrio
u , v , r , X , Y ,ψ . Para o caso do regulador de estados, estas grandezas possuem valores
constantes e, portanto, pode-se utilizar uma única matriz A no projeto de controle. Já no
caso do seguidor de trajetória, estes pontos de operação variam ao longo do seguimento
do percurso, e, por isso, a matriz A acaba sendo constante apenas dentro de um intervalo
linearizado da trajetória (que é não linear). O item 10.1 discorre mais detalhadamente
sobre o cálculo da trajetória do submersível e de seus pontos de equilíbrio.
12
13
na região de operação faróis acústicos (no mínimo três deles) cujas posições são
conhecidas. O submersível também possui um sensor deste tipo e, assim pode se
localizar através da troca de sinais acústicos com esses faróis. O veículo interroga cada
um dos faróis a uma dada freqüência e estes respondem com um sinal a outra freqüência.
Medindo o tempo que decorre entre o envio de um sinal e a recepção da resposta,
determina-se a distância a cada um dos faróis, o que permite, através de triangulação,
estimar a sua posição [4].
Aparelhos giroscópicos têm sido amplamente aplicados em sistemas de navegação
para veículos aquáticos e subaquáticos. As grandezas que tipicamente são medidas por
tais dispositivos são os ângulos de Euler de orientação do veículo e/ou suas velocidades
angulares [5]. Dessa forma, através da utilização de um giroscópio, pode-se determinar as
variáveis r e ψ .
As velocidades de avanço (u) e deriva (v) podem ser obtidas a partir de
acelerômetros. Tais aparelhos medem acelerações através de medidas de inércia de
pequenas partículas móveis e, por integração, podem ser obtidas as velocidades. No caso
do submersível, seriam necessários dois acelerômetros: um posicionado
longitudinalmente (para a determinação da velocidade u) e o outro posicionado de forma
transversal (para determinar a velocidade v).
Em resumo, para que todas as variáveis de estado do veículo sejam medidas, faz-
se necessário o uso dos seguintes dispositivos de medição:
• 4 faróis acústicos (um deles instalado no veículo e os outros espalhados pela
região de operação) para a obtenção de X e Y.
• 1 giroscópio para a obtenção de ψ e r.
• 2 acelerômetros para a obtenção de u e v.
• 2 propulsores, que produzem a entrada de controle do sistema.
⎡ ∂u ⎤ ⎡G11 G12 ⎤
⎢ ∂v ⎥ ⎢G G22 ⎥⎥
⎢ ⎥ ⎢ 21
⎢ ∂r ⎥ ⎢G31 G32 ⎥ ⎡ ∂F1 ⎤
⎢ ⎥=⎢ ⎥⋅ (14)
⎢ ∂X ⎥ ⎢G41 G42 ⎥ ⎢⎣∂F2 ⎥⎦
⎢ ∂Y ⎥ ⎢G51 G52 ⎥
⎢ ⎥ ⎢ ⎥
⎢⎣∂ψ ⎥⎦ ⎢⎣G61 G62 ⎥⎦
14
15
Conhecidas as funções de transferência do sistema, pode-se calcular facilmente
seus pólos, que, por sua vez, podem ser representados pelo diagrama de pólos. Este
diagrama pode ser obtido com o comando “plzr” no SCILAB. Com o comando “spec”
pode-se obter os pólos do sistema (que também poderiam ser obtido a partir da leitura do
diagrama).
Como a matriz A depende do ponto de operação u , v , r ,ψ do veículo, ela varia em
cada situação de simulação do submarino. No caso de seguidores de trajetória, ter-se-á
um ponto de operação e, conseqüentemente uma matriz A para cada trecho da
linearização da trajetória. Para que o texto não se torne demasiadamente extenso, serão
exibidos a matriz de funções de transferência do sistema bem como seus pólos para o
caso de u = 0,15; v = 0; r = 0;ψ = 0 , situação de cruzeiro esta explorada no item 10 para
um regulador de estados.
15
16
16
17
poderiam instabilizar o sistema) surgem da inserção da equações de Euler ao modelo
matemático do veículo, este foi um artifício usado para a obtenção das posições X, Y e ψ
do veículo a partir do próprio sistema linear. Assim, os únicos pólos intrínsecos ao modelo
do veículo são: p1 = −0,3086599 ; p 2 = −0,2887311 e p3 = −0,4762651 , todos com parte real
C ( s) k ⋅ ( s m + d1 ⋅ s m −1 + K + d m −1 ⋅ s + d m )
=
R( s ) s n + a1 ⋅ s n −1 + a 2 ⋅ s n − 2 + L + a n −1 ⋅ s + a n
ii) Se todos os coeficientes ai , i = 1,L , n forem positivos, então deve-se montar a tabela:
sn 1 a2 a4 a6 L
s n −1 a1 a3 a5 a7 L
n−2
s b1 b2 b3 b4 L
n −3
s c1 c2 c3 c4 L
M M M
1
s t1 t2
s 0 an
a1 ⋅ a 2 − a3 ⋅ a 0 a ⋅ a − a5 ⋅ a 0 a ⋅ a − a7 ⋅ a0 a ⋅ a − a9 ⋅ a0
com: b1 = ; b2 = 1 4 ; b3 = 1 6 ; b4 = 1 8
a1 a1 a1 a1
b1 ⋅ a3 − a1 ⋅ b2 b ⋅ a − a1 ⋅ b3
c1 = ; c2 = 1 5
b1 b1
c1 ⋅ b2 − b1 ⋅ c 2 c ⋅b − b ⋅c
d1 = ; d2 = 1 3 1 3
c1 c1
17
18
0,0034529
G11 = G12 =
0,3086599 + s
s1 1
s 0 0,3086599
− 0,0011973
G21 = −G22 =
0,1375125 + 0,7649962 ⋅ s + s 2
s2 1 0,1375125
1
s 0,7649962
s 0 0,1375125
0,0079819
G31 = −G32 =
0,4762651 + s
s1 1
0
s 0,4762651
18
19
( F2 Î r ), que são as funções de transferência que realmente influenciam a dinâmica do
veículo em questão, conforme explicado no tópico anterior.
19
20
20
21
21
22
Dos diagramas de Bode pode-se perceber que quase todo o sistema é estável e de
fase mínima, o que garante velocidade de resposta, com exceção da função , que se
apresentou como um sistema de fase mínima e pode ser instável, mas como comentado
anteriormente essa possível instabilidade se deve a inserção das equações de Euler e
não afetará o modelo.
A seguir estão explícitos os diagramas de Nyquist para as funções de transferência G11
( F1 Î u ), G12 ( F2 Î u ), G21 ( F1 Î v ), G22 ( F2 Î v ), G31 ( F1 Î r ), G32 ( F2 Î r ).
22
23
23
24
24
25
Dos diagramas de Nyquist podemos observar que o sistema é estável em malha
fechada, pois não existe nenhum envolvimento do ponto -1+j0 e não existe pólos do
sistema em malha aberta no semi-plano direito de s.
ς = [B AB A 2 B ...... A n −1 B ] (15)
Com o comando “contr” no SCILAB é possível obter o posto para uma determinada
matriz A. Caso o posto fosse diferente de 6 (número de variáveis de estado) o sistema
seria não controlável. Esta análise foi feita para o sistema em questão
( u = 0,15; v = 0; r = 0;ψ = 0 ), que se mostrou controlável. No Anexo C pode-se ler o código-
fonte em Scilab para a verificação da controlabilidade do sistema.
O sistema é observável se a história das entradas u (t ) ; t 0 < t < t1 ; é suficiente para
estado x(t ) contribuem para as saídas de y (t ) . Essa análise pode ser feita através da
matriz de observabilidade σ definida por:
[
σ = CT AT C T (A ) C
T 2 T
...... (A )
T n −1
CT ] (16)
25
26
Anexo C pode-se ler o código-fonte em Scilab para a verificação da observabilidade do
sistema.
x& = A ⋅ x + B ⋅ u
(17)
y =C⋅x
~ x + B ⋅ u + Ke ⋅ (y − C ⋅ ~
x& = A ⋅ ~ x ) = (A − K e ⋅ C )⋅ ~
x + B ⋅ u + Ke ⋅ y (18)
onde:
• ~
x é o estado estimado e C ⋅ ~
x é a saída estimada.
• A saída y e a entrada de controle u são as entradas do observador.
26
27
• A matriz K e , que é denominada matriz de ganho do observador é uma matriz de
x& − ~ x − K e ⋅ (C ⋅ x − C ⋅ ~
x& = A ⋅ x − A ⋅ ~ x ) = ( A − Ke ⋅ C) ⋅ (x − ~
x) (19)
e= x−~
x (20)
e& = ( A − K e ⋅ C ) ⋅ e (21)
vetor erro convergirá para zero, qualquer que seja o vetor de erro inicial e, dessa forma,
~
x (t ) convergirá para x(t ) . Se os autovalores de A − K e ⋅ C forem escolhidos de tal
x& = A ⋅ x + B ⋅ u
(22)
y =C⋅x
27
28
u = −K ⋅ ~
x (23)
x& = A ⋅ x − B ⋅ K ⋅ ~
x = ( A − B ⋅ K ) ⋅ x + B ⋅ K ⋅ (x − ~
x) (24)
x& = ( A − B ⋅ K ) ⋅ x + B ⋅ K ⋅ e (25)
⎡ x& ⎤ ⎡ A − B ⋅ K B⋅K ⎤ ⎡ x⎤
⎢ e& ⎥ = ⎢ ⋅
A − K e ⋅ C ⎥⎦ ⎢⎣ e ⎥⎦
(26)
⎣ ⎦ ⎣ 0
⎡ x& ⎤ ⎡ A − B ⋅ K B ⋅ K ⎤ ⎡ x⎤ ⎡ E ⎤
⎢ e& ⎥ = ⎢ 0 ⋅ + ⋅ [ p]
⎣ ⎦ ⎣ 6 x6 A − K e ⋅ C ⎥⎦ ⎢⎣ e ⎥⎦ ⎢⎣0 6 x 2 ⎥⎦
(27)
⎡ x⎤ ⎡ x⎤
⎢ e ⎥ = I 12 x12 ⋅ ⎢ e ⎥
⎣ ⎦ ⎣ ⎦
Este novo sistema, agora 12x12, deverá ser resolvido na simulação do controlador
por alocação de pólos e do controlador linear quadrático.
28
29
11. Matriz de Transição
A matriz de transição pode ser dada por:
φ = e A∆t = I + A ⋅ ∆t +
(A 2
⋅ ∆t 2 ) (A 3 ⋅ ∆t 3 )
+
2! 3!
onde I é a matriz identidade. Quanto maior a série de Taylor empregada melhor é a
aproximação, mas também maior é a necessidade de processamento.
Para simular um sistema forçado, foi utilizado um sinal de entrada (ou controle)
constante no intervalo de tempo ∆t, que para este trabalho foi considerado 1s. Por ser
constante, facilita a obtenção do termo de convolução dado por:
⎡
θ = ∆t ⋅ ⎢ I + A ⋅ ∆t +
(A 2
⋅ ∆t 2 ) (
+
A 3 ⋅ ∆t 3 ⎤ )
⎥⋅B
⎣ 2! 3! ⎦
onde B é a matriz de entradas.
A simulação foi feita seqüencialmente, de instante ∆t em instante ∆t, utilizando a
seguinte equação:
x(k +1) = φ ⋅ x( k ) + θ ⋅ u ( k )
isto é, obteve-se x(k +1) a partir do estado no instante anterior, onde u (k ) é o controle
usado no intervalo k. Para este trabalho foi considerada uma entrada degrau unitária.
A entrada degrau unitária proporciona uma força equivalente a 1N nos propulsores
no sistema de controle em malha aberta. Sendo esta constante e igual em ambos os
propulsores espera-se que o submarino realize uma trajetória linear, com velocidade
constante em X, como mostrado nas figuras a seguir:
29
30
30
31
0,019 m . O código fonte para esta aplicação se encontra no Anexo C, junto com o
s
Observador de Estados. A matriz de transição é muito semelhante ao comando “csim” do
Scilab.
31
32
controle empregados, os ajustes realizados e os resultados obtidos para cada um dos
reguladores de estados construídos.
x& = A ⋅ x + B ⋅ u
(28)
y =C⋅x
Existirá sempre uma matriz de ganhos tal que a lei de controle aloca os pólos do
sistema em malha fechada em posições previamente escolhidas pelo projetista. Assim:
u = − K AP ⋅ x (29)
Desta forma, pode-se controlar um sistema instável em malha aberta (desde que o
mesmo seja controlável), posicionando-se seus pólos de malha fechada no semi-plano
esquerdo do plano complexo. Substituindo (29) em (28):
x& = ( A − B ⋅ K AP ) ⋅ x (30)
Os novos pólos do sistema (em malha fechada) serão definidos pelas raízes do
polinômio característico:
det [ sI − ( A − BK AP ) ] = ( s − µ1 )( s − µ2 )( s − µ3 )( s − µ n ) = 0 (31)
seguidas:
33
34
para várias matrizes KAP distintas e escolher aquela que confere o melhor desempenho
global do sistema.
A partir de agora, aplicar-se-á a teoria acima ao projeto do regulador de estados
em questão, lembrando que o submersível, partindo do repouso, deve desempenhar uma
trajetória retilínea em X=0 a uma velocidade de avanço constante u=0,15m/s e com
velocidade de deriva e yaw nulas (v=0m/s e r=0rad/s, respectivamente), apesar da
correnteza que gera uma força de 5N na direção positiva de Y tendendo a deslocar o
veículo lateralmente da trajetória desejada. Tal manobra deve ser simulada durante 60
segundos. O código fonte em Scilab para o observador de estados por alocação de pólos
encontra-se no Anexo C.
Os ajustes feitos ao regulador de estados por alocação de pólos foram:
• Alocação de pólos do observador de estados:
[-3; -3; -3; -3; -3; -3], observe que o observador de estados responde, no mínimo, três
vezes mais rápido que o controlador, característica esta fortemente recomendada na
literatura de controle.
• Alocação de pólos do controlador:
[-0,87; -0,55; -0,72+0,81*i; -0,72-0,81*i; -0,48+0,77*i; -0,48-0,77*i], tais pólos foram
escolhidos por tentativa e erro, escolhendo-se pólos de forma arbitrária e verificando-
se se a resposta do sistema era ou não adequada.
Os resultados obtidos a partir da simulação da manobra foram:
34
35
Figura 18: Desvios das variáveis de estado – Regulador de estados por alocação de pólos.
Figura 19: Trajetória real e a trajetória desejada – Regulador de estados por alocação de pólos.
35
36
u = − K LQ ⋅ x (36)
( )
J = ∫ xT Qx + u T Ru dt (37)
0
36
37
possível e o menor gasto possível de energia. Essa é a solução ótima que se está
buscando.
Na equação acima a matriz Q é pelo menos semi-definida positiva e R é uma
matriz definida positiva. O segundo termo da integral representa o gasto de energia,
enquanto que o primeiro termo representa o erro do sistema.
Substituindo-se (36) em (28):
x& = ( A − B ⋅ K LQ ) ⋅ x (38)
reais negativas, pode-se deduzir que a função objetivo atinge seu valor mínimo quando:
K LQ = R −1 BT P (39)
A T ⋅ P + P ⋅ A + Q − P ⋅ B ⋅ R −1 ⋅ B T ⋅ P = 0 (40)
37
38
[-3; -3; -3; -3; -3; -3].
• Matrizes de ponderação Q e R:
⎡1 0 0 0 0 0⎤
⎢0 1 0 0 0 0⎥⎥
⎢
⎢0 0 1 0 0 0⎥ ⎡1 0 ⎤
Q=⎢ 2 ⎥ e R=⎢ ⎥
⎢0 0 0 10 0 0⎥ ⎣0 1 ⎦
⎢0 0 0 0 10 5 0⎥
⎢ ⎥
⎣⎢0 0 0 0 0 1⎦⎥
tais matrizes foram escolhidas por tentativa e erro, escolhendo-as de forma arbitrária e
verificando se a resposta do sistema era ou não adequada.
Os resultados obtidos a partir da simulação da manobra foram:
Figura 20: Desvios das variáveis de estado – Regulador de estados linear quadrático.
38
39
Figura 21: Trajetória real e a trajetória desejada – Regulador de estados linear quadrático.
39
40
40
41
Tal manobra deve ser realizada pelo submersível em 720 segundos mesmo na
presença de correntezas que prejudiquem o seu movimento. A trajetória parametrizada
em relação ao tempo t tem a seguinte forma:
t
X (t ) =
γ
⎛ t⎞
Y (t ) = α ⋅ sen⎜⎜ β ⋅ ⎟⎟ (41)
⎝ γ⎠
⎡ ⎛ t ⎞⎤
ψ (t ) = arctg ⎢α ⋅ β ⋅ cos⎜⎜ β ⋅ ⎟⎟⎥
⎣ ⎝ γ ⎠⎦
2 ⋅π
com α = 5 , β = e γ = 24
30
41
42
Com a definição do percurso e de todas as matrizes A, o modelo matemático
linearizado encontra-se completo, restando apenas escrever as equações obtidas no
Scilab para o início do projeto do seguidor de trajetória do submarino.
42
43
43
44
a necessidade das diversas matrizes de controle empregadas. Isso mostra que o desvio
permanece praticamente estável para um determinado trecho, e não apresenta tendência
de se deslocar para o valor que o desvio do próximo trecho, estabilizado, possui.
Por outro lado, ao se analisar a trajetória seguida, nota-se que os desvios entre os
trechos são insignificantes frente a amplitude da trajetória, e que após a oscilação o SVNT
continua a seguir a trajetória real paralelamente. Esse desvio é causado no início da
trajetória, e é conservado até o final. Se for analisado detalhadamente, notar-se-á que o
desvio é da ordem de 0,3m , valor considerado excelente frente aos 5m de amplitude da
senóide.
Tentou-se fazer o controle do submarino pelo método de alocação de pólos
primeiramente em SCILAB, mas o resultado obtido foi péssimo, não chegando a trajetória
nem a caracterizar uma senóide. Isso se deu provavelmente pelo algoritmo usado pelo
programa que, em alguns pontos, divergia. Sabendo-se que a teoria e o código aplicado
aplicados estavam corretos, foi decidido tentar em MATLAB, onde foi obtido êxito, como
mostrado acima.
Mais uma vez não será necessário repetir toda a teoria já descrita no item 11.XX,
onde um observador de estados já foi desenvolvido pelo método de controle Linear
Quadrático. Para o seguidor de trajetória as equações aplicadas são as mesmas,
diferenciando, novamente, apenas o fato de serem necessárias mais de uma matriz de
controle, devido aos diferentes pontos em torno dos quais o sistema foi linearizado.
Para a obtenção dos resultados que serão apresentados mais adiante, foi utilizada
as seguintes matizes de ponderação Q e R:
⎡1 0 0 0 0 0⎤
⎢0 1 0 0 0 0⎥⎥
⎢
⎢0 0 1 0 0 0⎥ ⎡1 0 ⎤
Q=⎢ 4 ⎥ e R=⎢ ⎥
⎢0 0 0 10 0 0⎥ ⎣0 1 ⎦
⎢0 0 0 0 10 4 0⎥
⎢ ⎥
⎣⎢0 0 0 0 0 1⎦⎥
Estas matrizes também foram atingidas por tentativa e erro, apesar de ela ser
intuitiva. Os maiores valores no quarto e quinto elementos da diagonal representam um
44
45
maior esforço para manter as variáveis X e Y o mais próximo possível do definido, ou
seja, um esforço maior para tentar manter o submarino na trajetória. Caso fosse escolhido
o primeiro elemento da diagonal, seria realizado um esforço maior para tentar manter a
velocidade U próxima àquela definida para a realização da trajetória.
Os resultados obtidos estão apresentados a seguir:
46
47
FX = (m + m11 ) ⋅ (u& − v ⋅ r )
FY = (m + m22 ) ⋅ (v& + u ⋅ r ) (42)
N = ( I Z + m66 ) ⋅ r&
X ( s) 1
= (48)
FPX ( s) [(m + m11 ) ⋅ s 2 + c11 ⋅ s ]
47
48
Y (s) 1
= (49)
FPY ( s) [(m + m22 ) ⋅ s 2 + c 22 ⋅ s]
ψ ( s) 1
= (50)
FPN ( s) [( I z + m66 ) ⋅ s 2 + c66 ⋅ s]
Sabe-se que, há um certo atraso entre o sinal de controle e atuação real dos
propulsores. Para levar esse efeito em consideração introduziu-se entre o controlador e
os atuadores um atraso de primeira ordem dado por:
FPX ( s ) 1
= (51)
FPX ' ( s ) T ⋅ s + 1
Admitiu-se que a constante de tempo T seja da ordem de 0,5 segundo [1]. A figura
27 abaixo, mostra a estrutura de controle numa única direção, considerando a função de
transferência do sistema e o atraso do propulsor.
K P (1 + Td s) 1 1
T ⋅ s +1 M ⋅s + c⋅s
2
O controlador a ser projetado deve orientar o veículo segundo uma trajetória dada
e mantê-lo, dentro de uma pequena tolerância. A passagem de uma orientação para outra
deve realizar-se com o mínimo sobressinal e menor tempo de acomodação possível,
levando em consideração a limitação de rotação dos propulsores. O controlador deve,
também, ser ajustado de modo a não excitar excessivamente outros modos de oscilação
do veículo [1].
Conforme pode ser observado pelas equações (48), (49) e (50) a função de
transferência do veículo para uma dada direção é de um sistema de ordem 1, isto é,
48
49
apresenta um pólo na origem do plano complexo. Para aplicar o controle clássico a este
tipo de sistema há de se observar que controladores PI (proporcional-integral) ou PID
(proporcional-integral-derivativo) não são adequados, pois introduzem mais um pólo na
origem do plano complexo, o que pode tornar o sistema instável [1]. Por este motivo
desenvolver-se-á um controlador tipo PD (proporcional-derivativo), que é adequado
inserir um amortecimento no sistema, favorecendo sua estabilidade.
A lei de controle aqui aplicada é baseada no erro de posição do centro de
gravidade do veículo em relação à posição de referência no instante t. Sejam no instante
e X e eY os erros de traqueio das coordenadas X e Y:
eX = X r − X
(52) (53)
eY = Yr − Y
⎛ de ⎞
FPX = K pX ⋅ ⎜ e X + TdX ⋅ X ⎟ (54)
⎝ dt ⎠
⎛ de ⎞
FPY = K pY ⋅ ⎜ eY + TdY ⋅ Y ⎟ (55)
⎝ dt ⎠
Para o rumo será admite-se que a sua referência é dada por [1]:
49
50
Yr − Y
ψ r = arctg (57)
Xr − X
⎛ deψ ⎞
FPN = K pN ⋅ ⎜⎜ eψ + Tdψ ⋅ ⎟ (58)
⎝ dt ⎟⎠
F1 + F2 = FP
d d (59)
F1 ⋅ − F2 ⋅ = FPN
2 2
FP FPN
F1 = + (60)
2 d
FP FPN
F2 = − (61)
2 d
50
51
13.3. Seleção dos Parâmetros de Controle
Para determinar os valores dos parâmetros dos controladores PD, que constituem-
se em seis no total, ou seja, Kp e Td para cada um dos três movimentos possíveis,
admitiu-se que tais movimentos sejam completamente independentes e amortecidos
linearmente.
A função de transferência em malha aberta deste sistema para uma direção
genérica é dada por:
x( s) K p ⋅ (1 + Td ⋅ s ) 1
= . (62)
e( s ) (T ⋅ s + 1) s ⋅ ( M G ⋅ s + c)
1
e( s ) = .x r ( s ) (63)
1 + G ( s)
K p ⋅ (1 + Td ⋅ s) 1
onde G ( s ) = . (64)
(T ⋅ s + 1) s ⋅ ( M G ⋅ s + c)
Pode-se mostrar que para sistemas como este, do tipo 1, o erro em regime
permanente é zero para entrada de referência igual a degrau unitário e igual a 1/Kp para
entrada rampa [1].
A função de transferência entre a saída e a referência para uma direção genérica é
dada por:
x( s) K p ⋅ (1 + Td ⋅ s )
= (65)
xr ( s ) T ⋅ M G ⋅ s + (T ⋅ c + M G ) ⋅ s 2 + (c + K p ⋅ Td ) s + K p
3
51
52
ganhos que apresentassem melhor tempo de resposta e sem sobressinal. Tais
procedimentos foram realizados por Sorani utilizando recursos do Matlab. Os parâmetros
obtidos para o controlador estão exibidos na tabela 1 [1]:
Tdi 3 4 1
Uma vez conhecidos os parâmetros do controlador para cada uma das direções
verificou-se o desempenho de todo o sistema de controle através de simulação dinâmica
considerando o modelo matemático completo e impondo uma determinada trajetória para
o veículo.
Uma trajetória idêntica àquela do item 12.1 sujeita às mesmas condições de
perturbação dos itens 12.2 e 12.3, isto é, uma correnteza que proporciona uma força
constante de módulo 5N na direção positiva do eixo Y, foi imposta ao veículo visando
verificar a eficiência do controlador PD desenvolvido. A ferramenta computacional
utilizada nesta simulação foi o Simulink (Matlab). Um diagrama de blocos foi construído a
partir das equações (65) e a força de perturbação foi inserida conforme mostra a figura
29.
52
53
Figura 29: Submersível com PD – Trajetória real (vermelha) e trajetória de referência (azul)
53
54
14. Conclusão
54
55
de perturbações externas causadas por correntezas. Nas simulações, as perturbações
foram consideradas como uma força constante, o que modela matematicamente o efeito
do fluxo das águas de um rio. Os três seguidores de trajetória, assim como os reguladores
de estado, apresentaram certo erro em regime que é característico do sistema estudado.
Em geral as respostas obtidas foram bastante próximas e satisfatórias, porém o seguidor
por Alocação de Pólos apresentou uma pequena oscilação na resposta e o seguidor AP
exibiu um erro em regime um pouco superior àquele apresentado pelos outros dois
seguidores, isto é, cerca de 0,6m de desvio em relação à referência.
Muitas dificuldades foram encontradas, principalmente quando da elaboração do
relatório parcial. No entanto, com esta versão final do trabalho, conseguiu-se atingir os
objetivos e os resultados obtidos foram bastante realistas e plausíveis.
55
56
[2] FOSSEN, T. I., 1994, “Guidance and Control of Ocean Vehicles”, John Wiley & Sons,
Chichester.
[3] OGATA, K., 1982, “Engenharia de Controle Moderno” – 8ª edição, Prentice Hall do
Brasil, Rio de Janeiro.
56
57
Propulsão
Número de Hélices 2 -
Configuração Longitudinal -
Distância entre Propulsores (d) 0,265 m
Velocidade Máxima 0,30 m/s
Velocidade Média 0,15 m/s
57
58
(5) y=alpha*sin(beta*t/gamma)
-> (6) Y = ALPHA*SIN(BETA*T/GAMMA)
(7) psi=atan(alpha*beta*cos(beta*t/gamma))
-> (8) PSI = ATAN(ALPHA*BETA*COS(BETA*T/GAMMA))
(9) euler[1]=-d(x,t)+u*cos(psi)-v*sin(psi)
-> (10) EULER[1] = U*COS(PSI) - 1/GAMMA - V*SIN(PSI)
(11) euler[2]=-d(y,t)+u*sin(psi)+v*cos(psi)
-> (12) EULER[2] = U*SIN(PSI) + V*COS(PSI) - ALPHA*BETA*COS(BETA*T/GAMMA)/GAMMA
(13) euler[3]=-d(psi,t)+r
-> (14) EULER[3] = ALPHA*BETA^2*SIN(BETA*T/GAMMA)/
(GAMMA*(1+ALPHA^2*BETA^2*COS(BETA*T/GAMMA)^2)) + R
(15) solve(euler,u,v,r)
-> (16) U = (COS(PSI)+ALPHA*BETA*COS(BETA*T/GAMMA)*SIN(PSI))/GAMMA
-> (17) V = -(SIN(PSI)-ALPHA*BETA*COS(BETA*T/GAMMA)*COS(PSI))/GAMMA
-> (18) R = -ALPHA*BETA^2*SIN(BETA*T/GAMMA)/
(GAMMA*(1+ALPHA^2*BETA^2*COS(BETA*T/GAMMA)^2))
(19) explicit(u,t)
-> (20) U = (COS(ATAN(ALPHA*BETA*COS(BETA*T/GAMMA)))+ALPHA*BETA*COS(BETA*T/GAMMA)*
SIN(ATAN(ALPHA*BETA*COS(BETA*T/GAMMA))))/GAMMA
(21) explicit(v,t)
-> (22) V = -(SIN(ATAN(ALPHA*BETA*COS(BETA*T/GAMMA)))-
ALPHA*BETA*COS(BETA*T/GAMMA)*COS(ATAN(ALPHA*BETA*COS(BETA*T/GAMMA))))/GAMMA
(23) explicit(r,t)
-> (24) R = -ALPHA*BETA^2*SIN(BETA*T/GAMMA)/
(GAMMA*(1+ALPHA^2*BETA^2*COS(BETA*T/GAMMA)^2))
58
59
//Referências
ubarra=0.15;
vbarra=0;
rbarra=0;
psibarra=0;
//Condição inicial
x0=[-0.15;0;0;0;0;0];
//Controlabilidade
postoC=contr(A,B);
if postoC==6
disp('Sistema Controlável')
end
if postoC~=6
disp('Sistema nao Controlável')
end
//Observabilidade
O=obsv_mat(A,C);
postoO=rank(O);
if postoO==6
disp('Sistema Observável')
end
if postoO~=6
disp('Sistema nao Observável')
end
//Matriz de Transicao
deltaT=1;
Ident=diag([1 1 1 1 1 1]);
psi=Ident+A*deltaT+(A^2*deltaT^2)/2+(A^3*deltaT^3)/6
theta=deltaT*psi*B
t=1:1:756;
59
60
u=ones(2,max(size(t)));
xmt=[0;0;0;0;0;0];
for i=1:1:max(size(t))-1
xmt(:,i+1)=psi*xmt(:,i)+theta*u(:,i);
end
xset('window', 5)
plot(t,xmt(1,:));
xtitle('Velocidade U (m/s) no Tempo t (s)')
xset('window', 6)
plot(t,xmt(4,:));
xtitle('Trajetoria X (m) no Tempo t (s)')
xset('window', 7)
plot(xmt(4,:),xmt(5,:));
xtitle('Trajetoria Y (m) por X (m)')
60
61
x0apobs=[x0;zeros(6,1)];
t=0:0.5:60;
[lin col]=size(t);
p=[zeros(1,col);5*ones(1,col)];
subcontapobs=syslin('c',Aapobs,Eapobs,Capobs,Dapobs,x0apobs);
yapobs=csim(p,t,subcontapobs);
Xbarra=ubarra*t;
Ybarra=zeros(1,col);
PSIbarra=zeros(1,col);
Xtotapobs=Xbarra+yapobs(4,:);
Ytotapobs=Ybarra+yapobs(5,:);
PSItotapobs=PSIbarra+yapobs(6,:);
xset('window',1)
plot2d(t,yapobs(1,:),style=color("red"),rect=[0,-0.4,60,0.2]);
plot2d(t,yapobs(2,:),style=color("blue"),rect=[0,-0.4,60,0.2]);
plot2d(t,yapobs(3,:),style=color("green"),rect=[0,-0.4,60,0.2]);
xtitle('AP - Desvios das variáveis de estado: du (vermelho), dv (azul), dr (verde)','Tempo (s)','Desvios');
xset('window',2)
plot2d(Xbarra,Ybarra,style=color("blue"),rect=[0,-0.02,9,0.14]);
plot2d(Xtotapobs,Ytotapobs,style=color("red"),rect=[0,-0.02,9,0.14]);
xtitle('AP - Trajetórias: real(vermelho) e desejada(azul)','X','Y');
t=0:0.5:60;
[lin col]=size(t);
p=[zeros(1,col);5*ones(1,col)];
subcontlqobs=syslin('c',Alqobs,Elqobs,Clqobs,Dlqobs,x0lqobs);
ylqobs=csim(p,t,subcontlqobs);
Xbarra=ubarra*t;
Ybarra=zeros(1,col);
PSIbarra=zeros(1,col);
Xtotlqobs=Xbarra+ylqobs(4,:);
Ytotlqobs=Ybarra+ylqobs(5,:);
PSItotlqobs=PSIbarra+ylqobs(6,:);
xset('window',3)
plot2d(t,ylqobs(1,:),style=color("red"),rect=[0,-0.4,60,0.2]);
plot2d(t,ylqobs(2,:),style=color("blue"),rect=[0,-0.4,60,0.2]);
plot2d(t,ylqobs(3,:),style=color("green"),rect=[0,-0.4,60,0.2]);
xtitle('LQ - Desvios das variáveis de estado: du (vermelho), dv (azul), dr (verde)','Tempo (s)','Desvios');
xset('window',4)
plot2d(Xbarra,Ybarra,style=color("blue"),rect=[0,-0.02,9,0.14]);
plot2d(Xtotlqobs,Ytotlqobs,style=color("red"), rect=[0,-0.02,9,0.14]);
61
62
xtitle('LQ - Trajetórias: real(vermelho) e desejada(azul)','X','Y');
t = 1:1:756;
Xbara = t/gama;
Ybara = alpha*sin(beta*t/gama);
psibara = atan(alpha*beta*cos(beta*t/gama));
% plot(Xbara,Ybara);
for i=1:1:11
psi(i) = atan(alpha*beta*cos(beta*T(i)/gama));
u(i) = (cos(psi(i))+alpha*beta*cos(beta*T(i)/gama)*sin(psi(i)))/gama;
v(i) = (alpha*beta*cos(beta*T(i)/gama)*cos(psi(i))-sin(psi(i)))/gama;
r(i) = -alpha*beta^2*sin(beta*T(i)/gama)/(gama*(1+alpha^2*beta^2*cos(beta*T(i)/gama)^2));
end
%Parâmetros do Submarino
c11 = 39.63;
c22 = 78.07;
c66 = 7.906;
d11 = 165.87;
d22 = 936.69;
d66 = 83.20;
m = 164.14;
m11 = 125.47;
m22 = 106.25;
m66 = 5.96;
Iz = 10.64;
d = 0.265;
62
63
msgbox(resulto,'Observabilidade');
end
end
%O programa só se manifesta caso o sistema nao seja conrolável ou observável.
t = 0:1:72;
[lin col] = size(t);
P = [zeros(1,col);5*ones(1,col)];
subcontap = ss(AKap,E,C,D);
Yap = lsim(subcontap,P,t,x0);
if i == 1
Respap = Yap;
x0 = [Yap(36,1);Yap(36,2);Yap(36,3);Yap(36,4);Yap(36,5);Yap(36,6)];
end
if i ~= 1
conti = (i-1)*72-36;
contf = (i-1)*72+36;
for j = conti:1:contf
Respap(j,1) = Yap(j-conti+1,1);
Respap(j,2) = Yap(j-conti+1,2);
Respap(j,3) = Yap(j-conti+1,3);
Respap(j,4) = Yap(j-conti+1,4);
Respap(j,5) = Yap(j-conti+1,5);
Respap(j,6) = Yap(j-conti+1,6);
end
x0 = [Yap(73,1);Yap(73,2);Yap(73,3);Yap(73,4);Yap(73,5);Yap(73,6)];
end
end
t = 1:1:756;
Xtotap = Xbara.'+Respap(:,4);
Ytotap = Ybara.'+Respap(:,5);
psitotap = psibara.'+Respap(:,6);
63
64
figure
plot(t,Respap(:,4),'red'); hold on;
plot(t,Respap(:,5),'green'); hold on;
plot(t,Respap(:,6),'blue');
title('AP - Desvios das variáveis de estado: X(vermelho), Y(verde) e PSI(azul)');
xlabel('Tempo (s)')
ylabel('Desvios')
figure
plot(Xbara,Ybara,'blue'); hold on;
plot(Xtotap,Ytotap,'red');
title('AP - Trajetórias: real(vermelho) e desejada(azul)');
xlabel('Saida x')
ylabel('Saída y')
for i = 1:1:11
A = [(-c11-2*d11*abs(u(i)))/(m+m11) r(i) v(i) 0 0 0;-r(i) (-c22-2*d22*abs(v(i)))/(m+m22) -u(i) 0 0 0;0 0 (-c66-
2*d66*abs(r(i)))/(Iz+m66) 0 0 0;cos(psi(i)) -sin(psi(i)) 0 0 0 -u(i)*sin(psi(i))-v(i)*cos(psi(i));sin(psi(i)) cos(psi(i)) 0 0 0
u(i)*cos(psi(i))-v(i)*sin(psi(i));0 0 1 0 0 0];
E = [cos(psi(i))/(m+m11) sin(psi(i))/(m+m11);-sin(psi(i))/(m+m22) cos(psi(i))/(m+m22);0 0;0 0;0 0;0 0];
%BR = B*inv(R)*B';
[Klq,P,e] = lqr(A,B,Q,R);
%Klq = inv(R)*B'*P;
AKlq = A-B*Klq;
%spec(AKlq)
t = 0:1:72;
[lin col] = size(t);
P = [zeros(1,col);5*ones(1,col)];
subcont = ss(AKlq,E,C,D);
Ylq = lsim(subcont,P,t,x0);
if i == 1
Resplq = Ylq;
x0 = [Ylq(36,1);Ylq(36,2);Ylq(36,3);Ylq(36,4);Ylq(36,5);Ylq(36,6)];
end
if i ~= 1
conti = (i-1)*72-36;
contf = (i-1)*72+36;
for j = conti:1:contf
Resplq(j,1) = Ylq(j-conti+1,1);
Resplq(j,2) = Ylq(j-conti+1,2);
Resplq(j,3) = Ylq(j-conti+1,3);
Resplq(j,4) = Ylq(j-conti+1,4);
Resplq(j,5) = Ylq(j-conti+1,5);
Resplq(j,6) = Ylq(j-conti+1,6);
end
x0 = [Ylq(73,1);Ylq(73,2);Ylq(73,3);Ylq(73,4);Ylq(73,5);Ylq(73,6)];
end
end
t = 1:1:756;
Xtotlq = Xbara.' + Resplq(:,4); %hold on;
Ytotlq = Ybara.' + Resplq(:,5); %hold on;
PSItotlq = psibara.' + Resplq(:,6);
64
65
figure
plot(t,Resplq(:,4),'red'); hold on;
plot(t,Resplq(:,5),'green'); hold on;
plot(t,Resplq(:,6),'blue');
title('LQ - Desvios das variáveis de estado: X(vermelho), Y(verde) e PSI(azul)');
xlabel('Tempo (s)')
ylabel('Desvios')
figure
plot(Xbara,Ybara,'blue'); hold on;
plot(Xtotlq,Ytotlq,'red');
title('LQ - Trajetórias: real(vermelho) e desejada(azul)');
xlabel('Saida x')
ylabel('Saída y')
65