Você está na página 1de 65

O ESCOLA POLITÉCNICA

DEPARTAMENTO DE ENGENHARIA MECÂNICA

Controle do Movimento Plano de um VSNT


(Veículo Submersível Não Tripulado)

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

Figura 5: Diagrama de Bode para G11 e G12 ............................................................. 19

Figura 6: Diagrama de Bode para G 21 . ..................................................................... 20

Figura 7: Diagrama de Bode para G22 . ..................................................................... 20

Figura 8: Diagrama de Bode para


G31 . ..................................................................... 21

G32 . ..................................................................... 21
Figura 9: Diagrama de Bode para

Figura 10: Diagrama de Nyquist para G11 e G12 . ..................................................... 22

Figura 11: Diagrama de Nyquist para G 21 . ............................................................... 23

Figura 12: Diagrama de Nyquist para G22 . ............................................................... 23


G31 . ............................................................... 24
Figura 13: Diagrama de Nyquist para

Figura 14: Diagrama de Nyquist para


G32 . ............................................................... 24

Figura 15: Representação da Velocidade no Tempo............................................... 30


Figura 16: Trajetória Percorrida ................................................................................ 30
Figura 17: Posição X, em metros, no tempo. ........................................................... 31
Figura 18: Desvios das variáveis de estado – Regulador de estados por alocação de pólos.
...................................................................................................................................... 35
Figura 19: Trajetória real e a trajetória desejada – Regulador de estados por alocação de
pólos. ........................................................................................................................... 35
Figura 20: Desvios das variáveis de estado – Regulador de estados linear quadrático. 38
Figura 21: Trajetória real e a trajetória desejada – Regulador de estados linear quadrático.
...................................................................................................................................... 39
Figura 22: Trajetória a ser seguida. .......................................................................... 40
Figura 23: Desvios das Variáveis de Estado para o AP. ......................................... 43
Figura 24: Trajetórias para o Método por Alocação de Pólos ................................ 43
Figura 25: Desvios das variáveis de Estado obtidos com o Método do LQ.......... 45
Figura 26: Trajetória Percorrida pelo Submarino Controlado por LQ ................... 45
Figura 27: Diagrama de blocos - Controle para uma direção genérica. ................ 48
Figura 28: Diagrama de blocos no Simulink para o controlador PD...................... 52

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

O presente trabalho tem como objeto de estudo a simulação e o controle do


movimento plano um VSNT (Veículo Submersível Não Tripulado) de pequenas dimensões
para captação de imagens em ambiente fluvial a pequenas profundidades.
A modelagem do sistema de lastro do submersível não está no escopo deste
trabalho, pois se trata de um assunto bastante complicado para o presente nível de
conhecimento. Desse modo, será feita apenas a análise do movimento plano do veículo
em questão, que já possibilita o entendimento e a aplicação dos vários conceitos
envolvidos num projeto de controle.
Pretende-se, a partir do modelo físico do veículo, desenvolver um modelo
matemático linearizado em torno de uma trajetória pré-definida. Com essa modelagem e
com a aplicação da teoria de controle aprendida em sala (até então Método de Alocação
de Pólos e Método Linear Quadrático), é possível desenvolver tanto reguladores de
estado quanto seguidores de trajetórias adequados.
Reguladores de estado são controladores que visam estabilizar as variáveis de
estado do sistema em valores constantes e pré-especificados apesar da atuação de
excitações externas de correnteza. Seguidores de trajetórias são controladores
responsáveis por manter o submersível em uma rota pré-especificada e, portanto,
conhecida, apesar da influência de correntezas que possam prejudicar a manobra
planejada. Assim, a finalidade do projeto de controle em questão seria determinar os
incrementos de empuxo necessários para compensar os desvios provocados por
perturbações externas tanto no caso de reguladores de estado quanto no caso de
seguidores de trajetórias.

2. Modelo Físico

A estrutura do veículo a ser controlado, no caso o VSNT Jaú I, divide-se em três


partes principais: o corpo básico, a torreta e a bolina, conforme pode ser observado na
figura 1.

5
6

Figura 1: Configuração básica do VSNT Jaú I.

O corpo básico tem formato cilíndrico e extremidades em formato de parabolóide.


Nele encontram-se abrigados os sistemas elétricos, eletrônicos, mecânicos e
pneumáticos. Na proa situa-se a câmera de vídeo responsável pela captura de imagens e,
na popa, encontram-se as saídas dos dois propulsores que compõe o sistema propulsor.
Sobre o corpo básico situa-se a torreta. Nela está abrigado o refletor, cuja função é
a geração de luz artificial para auxiliar o registro de imagens. A bolina localiza-se na parte
inferior do corpo básico e em seu interior abriga-se o sistema de lastro, responsável pelo
movimento de caturro (subida e descida do submersível), que não será analisado no
presente relatório.
Os parâmetros (dimensões, massa, momento de inércia, massas adicionais e
amortecimentos viscosos) do veículo submersível adotado, foram obtidos
experimentalmente [1] e estão exibidos no Anexo A.

3. Modelo Matemático do Submarino

O modelo do submarino, esboçado na figura 2, pode ser interpretado como um


modelo físico, que deve ser traduzido matematicamente para que se possa realizar a
simulação dinâmica do mesmo.

6
7

Figura 2: Esboço do Veículo Submarino Não-Tripulado (VSNT).

A modelagem matemática do problema envolve a escolha de dois sistemas de


referenciais: um referencial inercial OXYZ e um segundo referencial, este solidário ao
veículo, O1X1Y1Z1, cujos eixos são coincidentes com os eixos principais de inércia do
submarino. A origem do sistema de coordenadas solidário ao veículo é o seu centro
geométrico. A fim de se iniciar a modelagem, foram adotadas algumas hipóteses
simplificadoras:
• O corpo do submersível é rígido.
• Os pesos e suas distribuições no veículo são constantes.
• O centro de gravidade do veículo coincide com o seu centro geométrico, isto é X1G
= Y1G = Z1G = 0.
• O modelo se movimenta apenas no plano XY (bidimensional), pois admite-se que a
força peso e a força de empuxo hidrostático têm o mesmo módulo, mesma direção,
sentidos opostos e mesmo ponto de aplicação;
• A velocidade na direção X1 é sempre maior ou igual a zero, ou seja, o movimento é
sempre avante.
• As massas adicionais são constantes e, portanto, independem das acelerações do
veículo.
• As forças de correnteza podem transladar o baricentro do submersível no espaço,
no entanto, não são capazes de faze-lo girar em torno de seu centro de massa.

Tendo em vista as hipóteses citadas, as equações de movimento em relação ao


referencial móvel são [1]:

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).

As forças (ou momentos) resultantes atuantes em cada um dos eixos têm a


seguinte forma:

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

Tendo em vista que o amortecimento viscoso pode ser modelado como:

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

Levando em consideração a arquitetura do submarino, as forças e momentos


devido aos propulsores são:

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):

E X = E Xo ⋅ cosψ + EYo ⋅ senψ


(5)
EY = − E Xo ⋅ senψ + EYo ⋅ cosψ

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

Obtêm-se as equações finais substituindo-se (6) em (1):

(m + m11 ) ⋅ (u& − vr ) = −c11 ⋅ u − d11 ⋅ u ⋅ u + F1 + F2 + E Xo ⋅ cosψ + EYo ⋅ senψ


( m + m22 ) ⋅ (v& + ur ) = −c 22 ⋅ v − d 22 ⋅ v ⋅ v − E Xo ⋅ senψ + EYo ⋅ cosψ (7)
d
( I Z + m66 ) ⋅ r& = −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]:

X& = u ⋅ cosψ − v ⋅ senψ


Y& = u ⋅ senψ + v ⋅ cosψ (8)
ψ& = r

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

de equilíbrio em que u , v , r , F1 , F2 , X , Y ,ψ são as variáveis de regime. Isolando as variáveis


em questão, obtém-se:

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:

(−c11 − 2 ⋅ d11 ⋅ u ) 1 1 cosψ senψ


∂u& = ⋅ ∂u + r ⋅ ∂v + v ⋅ ∂r + ⋅ ∂F1 + ⋅ ∂F2 + ⋅ ∂E Xo + ⋅ ∂EYo
(m + m11 ) (m + m11 ) ( m + m11 ) m + m11 m + m11
(−c 22 − 2 ⋅ d 22 ⋅ v ) senψ cosψ
∂v& = ⋅ ∂v − r ⋅ ∂u − u ⋅ ∂r − ⋅ ∂E Xo + ⋅ ∂EYo
( m + m22 ) m + m22 m + m 22 (10)
( −c 66 − 2 ⋅ d 66 ⋅ r ) d d
∂r& = ⋅ ∂r + ⋅ ∂F1 − ⋅ ∂F2
( I Z + m66 ) 2 ⋅ ( I Z + m66 ) 2 ⋅ ( I Z + m66 )
&
∂X = cosψ ⋅ ∂u − senψ ⋅ ∂v − u ⋅ senψ ⋅ ∂ψ − v ⋅ cosψ ⋅ ∂ψ
∂Y& = senψ ⋅ ∂u + cosψ ⋅ ∂v + u ⋅ cosψ ⋅ ∂ψ − v ⋅ senψ ⋅ ∂ψ
∂ψ& = ∂r

Da teoria de modelagem de sistemas lineares e controle, sabe-se que as equações


de (10) podem ser escritas na forma

x& = A ⋅ x + B ⋅ u + E ⋅ p
(11) e (12)
y = C ⋅ x + D ⋅u

Este mesmo sistema escrito na forma matricial fica:

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.

4. Sensores e Atuadores Necessários

O sistema de controle responsável pela execução de uma determinada missão


requer, em cada instante, que se conheça com alguma precisão a posição do veículo no
meio subaquático, ou seja, as variáveis X e Y. Para tal, devem ser instalados previamente

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.

Tais equipamentos são, no entanto, muito caros e, na realidade, dispensáveis já


que se pode fazer uso de um observador de estados. O submersível permanece
observável mesmo que apenas as posições X, Y e ψ sejam medidas. Assim, utilizando-
se 3 faróis acústicos posicionados estrategicamente na região de operação e mais 2
faróis no veículo (um na proa e o outro na popa), é possível, a partir do observador de
estados, determinar todas as outras variáveis de estado do sistema.
Os atuadores empregados no controle do submarino são os dois propulsores
(motores elétricos) localizados na popa do veículo, que juntos permitem que o veículo se
locomova com velocidades de cruzeiro de até 0,30 m/s.
13
14

5. Determinação da Função de Transferência e dos Pólos de Malha Aberta do


Sistema

A função de transferência de um sistema linear invariante no tempo é a razão entre


as transformadas de Laplace da saída (função resposta) e a transformada de Laplace da
entrada (função excitação). É importante ressaltar que a função de transferência é uma
expressão que relaciona a saída à entrada de um sistema linear invariável no tempo em
termos dos parâmetros do sistema [3].
Uma função de transferência é capaz de relacionar uma única saída do sistema a
uma única entrada do mesmo, sendo, portanto, ideal para sistemas SISO (“Single Input –
Single Output”). Assim, para sistemas SIMO (“Single Input – Multiple Output”), MISO
(“Multiple Input – Single Output”) e MIMO (“Multiple Input – Multiple Output”) são
necessárias várias funções de transferência.
No caso do submarino em estudo, tem-se 6 saídas (desvios das velocidades u, v e
r medidas em relação ao referencial móvel, e também os desvios das variáveis da
equação de Euler X , Y e ψ ) e 2 entradas (desvios das forças propulsoras F1 e F2), o que
caracteriza um sistema MIMO. Assim, serão necessárias 12 funções de transferência (Gij),
que irão compor a matriz das funções de transferência H(s). Uma vez que o sistema tem 2
entradas e 6 saídas, pode-se representá-lo na forma matricial:

⎡ ∂u ⎤ ⎡G11 G12 ⎤
⎢ ∂v ⎥ ⎢G G22 ⎥⎥
⎢ ⎥ ⎢ 21
⎢ ∂r ⎥ ⎢G31 G32 ⎥ ⎡ ∂F1 ⎤
⎢ ⎥=⎢ ⎥⋅ (14)
⎢ ∂X ⎥ ⎢G41 G42 ⎥ ⎢⎣∂F2 ⎥⎦
⎢ ∂Y ⎥ ⎢G51 G52 ⎥
⎢ ⎥ ⎢ ⎥
⎢⎣∂ψ ⎥⎦ ⎢⎣G61 G62 ⎥⎦

Com o comando “ss2tf” pode-se, no SCILAB, calcular as funções de transferência


para um dado sistema.
Pólos são pontos singulares das funções de transferência em que elas se
aproximam do infinito. Matematicamente, podem ser definidos como as raízes do
polinômio do denominador da função de transferência. Os pólos são importantíssimos na
verificação da estabilidade (ou instabilidade) de um sistema dinâmico [3].

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.

Figura 3: Pólos e funções de transferência para u = 0,15; v = 0; r = 0;ψ = 0 .

O diagrama de pólos para o mesmo caso fica:

15
16

Figura 4: Diagrama de pólos do sistema em malha aberta para u = 0,15; v = 0; r = 0;ψ = 0 .

6. Análise de Estabilidade do Sistema em Malha Aberta

Um sistema, linear ou não, é dito estável se:


• Permanece em equilíbrio num ponto de operação quando não existem
perturbações, isto é, os transitórios já se dissiparam.
• Responde com variações finitas de suas variáveis quando forçado por perturbação
finita.
• Resposta transiente a uma entrada pulso ou degrau cai sempre a zero.

Esta estabilidade está ligada diretamente à posição de seus pólos no plano


complexo. Caso todos os pólos estejam situados do lado esquerdo no plano complexo –
parte real negativa –, o sistema é dito estável ou amortecido. Caso pelo menos um de
seus pólos esteja situado na parte real positiva, o sistema é instável (ou não amortecido)
[3].
Além disso, para um sistema estável, a velocidade de resposta do sistema é dada
pelo pólo (ou par de pólos) mais próximo do eixo imaginário.
No diagrama de pólos mostrado na figura 4 parte dos pólos se encontra na parte
real negativa do plano imaginário e a outra metade se encontra sobre o eixo imaginário. O
sistema pode ser considerado estável porque os três pólos com parte real nula (que

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

negativa. Tal artifício justifica também o fato de termos 6 variáveis de estado em um


sistema físico com apenas 3 graus de liberdade.

7. Análise de Estabilidade pelo Critério de Routh-Hurwitz

O objetivo deste critério é descobrir se um sistema é estável ou não sem ter de


calcular os seus pólos. Dada uma função de transferência:

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

O Critério de Routh-Hurwitz estabelece:

i) Se um dos coeficientes ai , i = 1,L , n for zero ou negativo, o sistema é instável.

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

Para as funções de transferência G11 e G12 , tem-se:

0,0034529
G11 = G12 =
0,3086599 + s

s1 1
s 0 0,3086599

Como todos os elementos da coluna são positivos, o subsistema é estável.


Para as funções de transferência G21 e G22 :

− 0,0011973
G21 = −G22 =
0,1375125 + 0,7649962 ⋅ s + s 2

s2 1 0,1375125
1
s 0,7649962
s 0 0,1375125

Todos os termos da coluna da esquerda são positivos, portanto o subsistema é


estável.
Para as funções de transferência G31 e G32 , tem-se:

0,0079819
G31 = −G32 =
0,4762651 + s

s1 1
0
s 0,4762651

Os termos da coluna são positivos, portanto este subsistema também é estável.


Como o modelo matemático do veículo é caracterizado por três subsistemas
estáveis, pode-se afirmar pelo critério de Routh-Hurwitz que o submersível é estável.

8. Diagramas de Bode e de Nyquist do Sistema

Estão exibidos nas figuras a seguir os diagramas de Bode para as funções de


transferência G11 ( F1 Î u ), G12 ( F2 Î u ), G 21 ( F1 Î v ), G22 ( F2 Î v ), G31 ( F1 Î r ), G32

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.

Figura 5: Diagrama de Bode para G11 e G12 .

19
20

Figura 6: Diagrama de Bode para G 21 .

Figura 7: Diagrama de Bode para G 22 .

20
21

Figura 8: Diagrama de Bode para


G31 .

Figura 9: Diagrama de Bode para


G32 .

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 ).

Figura 10: Diagrama de Nyquist para G11 e G12 .

22
23

Figura 11: Diagrama de Nyquist para G 21 .

Figura 12: Diagrama de Nyquist para G22 .

23
24

Figura 13: Diagrama de Nyquist para


G31 .

Figura 14: Diagrama de Nyquist para


G32 .

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.

9. Análise da Controlabilidade e Observabilidade do Sistema

Controlabilidade é a habilidade das variáveis de controle u (t ) afetarem todas as


variáveis de estado x(t ) . Se alguma das variáveis de estado não é afetada pelo controle o
sistema é dito não controlável.
Matematicamente é o mesmo que dizer que um sistema é controlável se, e
somente se, a matriz de controlabilidade ς tiver posto n, ou seja, de ς é possível extrair
uma matriz nxn com determinante não nulo, onde n é o número de variáveis de estado e
ς , definido por:

ς = [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

determinar x0 . Em outras palavras, o sistema é observável se todas as variáveis de

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)

Da mesma maneira que se faz para a matriz de controlabilidade faz-se com a de


observabilidade, se o posto de σ for menor que o número de variáveis de estado, o
sistema não é observável.
A matriz de observabilidade pode ser obtida com o comando “obsv_mat” no
SCILAB. O posto pode, então, ser obtido com o comando “rank”. Através deste
procedimento, verificou-se que o sistema ( u = 0,15; v = 0; r = 0;ψ = 0 ) é observável. No

25
26
Anexo C pode-se ler o código-fonte em Scilab para a verificação da observabilidade do
sistema.

10. Projeto de um Observador de Estados

No projeto de controle em questão, nem todas as variáveis estão disponíveis para


realimentação, então é necessário estimar as variáveis de estado não disponíveis. A
estimativa de variáveis de estado não mensuráveis é comumente denominada
observação e o dispositivo que estima ou observa as variáveis de estado é denominado
observador de estado ou simplesmente observador. Desenvolver-se-á nesta seção a
teoria de um observador de estados de ordem plena, isto é, um tipo de observador que
observa todas as variáveis do sistema, independentemente de algumas delas estarem
disponíveis para medição direta [3].
O Conceito de observabilidade tem aqui um papel importante: observadores de
estado podem ser projetados se, e somente se, a condição de observabilidade for
satisfeita [3].
Nas discussões seguintes, utilizar-se-á a notação ~
x para designar o vetor de
estado observado. Considere a planta definida por:

x& = A ⋅ x + B ⋅ u
(17)
y =C⋅x

O modelo matemático do observador é basicamente o mesmo que o da planta,


exceto por um termo adicional que incorpora o erro de estimação para compensar as
incertezas nas matrizes A e B e a ausência do erro inicial, portanto define-se o modelo
matemático do observador como:

~ 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

penalização do termo de correção que envolve a diferença entre a saída medida y


e a saída estimada C ⋅ ~
x.

Para que se obtenha o erro de observação, deve-se subtrair a equação (18) da


equação (17). Assim:

x& − ~ x − K e ⋅ (C ⋅ x − C ⋅ ~
x& = A ⋅ x − A ⋅ ~ x ) = ( A − Ke ⋅ C) ⋅ (x − ~
x) (19)

Define-se, então, o vetor erro de estimação:

e= x−~
x (20)

A equação (19) resulta, então, em:

e& = ( A − K e ⋅ C ) ⋅ e (21)

Nota-se que o comportamento dinâmico do vetor erro de estimação é determinado


pelos autovalores da matriz A − K e ⋅ C . Se a matriz A − K e ⋅ C for uma matriz estável, o

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

maneira que o comportamento dinâmico do vetor erro seja assintoticamente estável e


rápido, então qualquer vetor erro tenderá a zero com uma velocidade adequada. A
escolha da matriz de ganho K e do observador para que tal condição seja satisfeita pode

ser feita a partir da resolução de um problema dual àquele da determinação da matriz de


ganho de realimentação K do controlador pelo método da alocação de pólos [3].
Deve-se, agora, introduzir o observador de estados no sistema de controle de
malha fechada. Para isso, considera-se, novamente, o sistema de estado completamente
controlável e observável:

x& = A ⋅ x + B ⋅ u
(22)
y =C⋅x

Para o controle por realimentação de estado baseado no estado observado ~


x:

27
28

u = −K ⋅ ~
x (23)

Com esta lei de controle, a equação de estado resulta em:

x& = A ⋅ x − B ⋅ K ⋅ ~
x = ( A − B ⋅ K ) ⋅ x + B ⋅ K ⋅ (x − ~
x) (24)

Substituindo-se (20) em (24):

x& = ( A − B ⋅ K ) ⋅ x + B ⋅ K ⋅ e (25)

Combinando-se as equações (21) e (25):

⎡ x& ⎤ ⎡ A − B ⋅ K B⋅K ⎤ ⎡ x⎤
⎢ e& ⎥ = ⎢ ⋅
A − K e ⋅ C ⎥⎦ ⎢⎣ e ⎥⎦
(26)
⎣ ⎦ ⎣ 0

Note que os pólos de malha fechada do sistema de controle realimentado por


estado observado consistem nos pólos devidos ao projeto do controlador e dos pólos
devidos ao projeto do observador. Isso significa que os projetos do controlador e do
observador são independentes entre si, podendo, portanto, ser conduzidos
separadamente e combinados para formar o sistema de controle realimentado por estado
observado. Observe que, se a ordem da planta for n, então seu observador de ordem
plena também será de enésima ordem e a equação característica resultante do sistema
de malha fechada global terá ordem 2n [3].
Procedendo desta forma, o sistema realimentado com estado observado fica:

⎡ 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

Figura 15: Representação da Velocidade no Tempo.

Figura 16: Trajetória Percorrida

30
31

Figura 17: Posição X, em metros, no tempo.

É importante notar que a velocidade representa claramente a entrada degrau,


partindo do repouso e atingindo uma velocidade constante de aproximadamente

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.

11. Projeto de um Regulador de Estados

Pretende-se utilizar o regulador de estados desenvolvido para que o submersível,


partindo do repouso, desempenhe uma trajetória retilínea em X=0 a uma velocidade de
avanço constante u=0,15m/s e com velocidade de deriva nula (v=0m/s), apesar de uma
correnteza que gera uma força de 5N na direção positiva de Y que tenderia a deslocar o
veículo lateralmente da trajetória desejada.
Foram desenvolvidos dois reguladores de estados distintos, o primeiro baseado no
controle por alocação de pólos e o segundo a partir de teoria do controle linear quadrático.
Nas próximas seções serão exibidos uma rápida introdução à teoria dos métodos de

31
32
controle empregados, os ajustes realizados e os resultados obtidos para cada um dos
reguladores de estados construídos.

11.1. Regulador de Estados por Alocação de Pólos

Já satisfeitas as condições de controlabilidade de um sistema dinâmico, pode-se


efetuar o projeto de seu controlador. Seja um sistema dinâmico escrito na forma:

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)

As seguintes etapas para a determinação da matriz de ganho K AP devem ser

seguidas:

1. Garantir a controlabilidade do sistema;


2. A partir da equação característica da matriz A, ou seja:
det[s ⋅ I − A] = s n + a1 ⋅ s n −1 + a 2 ⋅ s n −2 + ... + a n −1 ⋅ s + a n = 0 (32)

determinar os valores dos coeficientes reais (designados pela letra a);


32
33
3. Determinar a matriz de transformação T que leva a equação de estado do sistema
à sua forma canônica controlável. A matriz T é dada por:
T = ς ⋅W (33)
onde:
• ς é a matriz de controlabilidade.
⎡ a n −1 an−2 L a1 1⎤
⎢a a n −3 L 1 0⎥⎥
⎢ n −2
• W =⎢ M M O M M⎥
⎢ ⎥
⎢ a1 1 K 0 0⎥
⎢⎣ 1 0 L 0 0⎥⎦
4. Com os autovalores desejados (pólos desejados em malha fechada) escrever o
polinômio característico:
( s + µ1 ) ⋅ ( s + µ 2 ) ⋅ ... ⋅ ( s + µ n ) = s n + α 1 ⋅ s n −1 + α 2 ⋅ s n − 2 + ... + α n −1 ⋅ s + α n = 0 (34)

5. A matriz de ganho de realimentação K AP requerida é determinada da seguinte


forma:
K AP = [α n − a n α n −1 − a n −1 L α 1 − a1 ] ⋅ T −1 (35)

A escolha de pólos não é uma tarefa simples de ser executada. Envolve a


experiência do projeto pelo lugar das raízes. Devem ser escolhidos pólos que fiquem
distantes e à esquerda dos pólos dominantes de malha fechada. Porém, se os pólos
dominantes forem alocados muito distantes do eixo imaginário de modo que a resposta do
sistema se torne muito rápida, os sinais no sistema podem se tornar muito elevados,
fazendo com que o sistema se torne não-linear, o que deve ser evitado.
A idéia fundamental para desenvolver um bom sistema de controle é escolher uma
solução de compromisso, visando ter uma atuação e uma resposta rápida do sistema
frente a perturbações e distúrbios, mas que não comprometa sua linearidade e não
despenda excessiva energia.
Quanto ao comportamento final do sistema, tem-se que se o mesmo for de
segunda ordem, então as dinâmicas do sistema poderão ser precisamente
correlacionadas com as localizações dos pólos de malha fechada e com os zeros da
planta. Para sistemas de ordem superior, a localização dos pólos de malha fechada e as
dinâmicas do sistema não são tão facilmente correlacionadas. Conseqüentemente, para a
determinação da matriz de ganho KAP de realimentação de estado para um dado sistema,
e desejável examinar a resposta característica por meio de simulações computacionais

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

Percebe-se a partir do gráfico da figura 5 percebe-se que as velocidades u e r


estabilizaram-se no valor desejado (já que seus desvios em relação a referência são
nulos), enquanto que a velocidade v apresentou um erro de regime de 0,07m/s.
Quanto à trajetória, percebe-se facilmente pelo gráfico da figura 6 que o veículo
executa uma trajetória paralela àquela desejada, sendo a diferença entre elas de
aproximadamente 0,11m.
O erro em regime apresentado pelas variáveis v e Y é uma característica inerente
ao sistema que podem ser corrigidas a partir da inserção de integradores ao modelo, no
entanto tal ação corretiva encontra-se fora do escopo do presente projeto de controle.
Acredita-se que os erros em regime apresentados na execução da manobra são
pequenos e aceitáveis, o que caracteriza a correção do projeto de controle do regulador
de estados por alocação de pólos.

11.2. Regulador de Estados por Controle Linear Quadrático

Para um sistema dinâmico formulado na forma de variáveis de estado e tendo-se já


provado que o mesmo é controlável, pode-se procurar uma matriz de ganho para o vetor
de controle que seja da forma:

u = − K LQ ⋅ x (36)

Pode-se resolver o problema da determinação da matriz de ganhos para três


diferentes objetivos: obter máxima precisão, atingir o mínimo gasto possível de energia,
ou, ainda, garantir minimização de um funcional que leva em consideração os dois
objetivos anteriores. Neste último caso, máxima precisão e mínimo gasto de energia são
ponderados pelas matrizes Q e R, respectivamente.
Tem-se, portanto, a seguinte formulação matemática para o problema:

( )
J = ∫ xT Qx + u T Ru dt (37)
0

A variável J é a função objetivo que se deseja minimizar e Q e R são as matrizes


de ponderação já mencionadas. Existe, aqui, um compromisso entre a maior precisão

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)

Supondo que a matriz A − B ⋅ K LQ é estável e que seus autovalores tenham partes

reais negativas, pode-se deduzir que a função objetivo atinge seu valor mínimo quando:

K LQ = R −1 BT P (39)

Onde P é a solução da equação algébrica de Riccati, escrita a seguir:

A T ⋅ P + P ⋅ A + Q − P ⋅ B ⋅ R −1 ⋅ B T ⋅ P = 0 (40)

Portanto, para se desenvolver um controlador linear quadrático deve-se seguir a


seguinte metodologia:
1. Escolher as matrizes Q e R.
2. Resolver a equação algébrica de Riccati para obter P (Equação 40).
3. Determinar K LQ (Equação 39).

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 linear quadrático
encontra-se no Anexo C.
Os ajustes feitos ao regulador de estados linear quadrático foram:
• Alocação de pólos do observador de estados:

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.

Assim como no caso do regulador por alocação de pólos, percebe-se que as


velocidades u e r estabilizaram-se no valor desejado (já que seus desvios em relação à
referência são nulos), enquanto que a velocidade v apresentou um erro de regime de
0,08m/s.
Quanto à trajetória, percebe-se facilmente pelo gráfico da figura 8 que o veículo
executa uma trajetória paralela àquela desejada, sendo a diferença entre elas de
aproximadamente 0,12m.
Os resultados obtidos através do regulador de estados linear quadrático foram
muito próximos àqueles obtidos com o regulador por alocação de pólos, o que demonstra
que a regulagem de ambos são bastante semelhantes apesar de os métodos serem
diferentes entre si.
Acredita-se que os erros em regime apresentados na execução da manobra são
pequenos e aceitáveis, o que caracteriza a correção do projeto de controle do regulador
de estados por alocação de pólos.

39
40

12. Projeto de um Seguidor de Trajetória

Tratando-se de um submarino, muitas vezes é mais interessante fazê-lo andar por


uma trajetória pré-definida, mais complexa do que simplesmente uma reta ou do que
conseguir garantir que ele consiga permanecer em uma determinada posição. Essa
trajetória deve ser definida em função do tempo para as coordenadas x e y, enquanto que
o ângulo relativo ao sistema de coordenadas inercial pode ser expresso como ψ = ψ ( x, y ) ,
que não deixa de ser também uma função do tempo.
Foram desenvolvidos dois seguidores distintos: por alocação de pólos e utilizando
o método do de controle linear quadrático, que serão discutidos nas seções seguintes. A
trajetória a ser seguida será esclarecida no próximo tópico.
Para o seguidor de trajetória foi aplicada uma força de 5N na direção positiva de Y
tentando afastar o submarino da trajetória. Essa perturbação foi escolhida aleatoriamente
e está sendo aplicada para todo o trabalho, com o intuito de proporcionar comparação
entre os diferentes métodos. Tanto para o método por Alocação de Pólos como para o
Linear Quadrático no seguidor de trajetória foi utilizada essa mesma perturbação.

12.1. Determinação da Trajetória

A trajetória que se pretende seguir é uma senóide completa de amplitude igual a 5


metros em torno do eixo X, o comprimento total a ser percorrido sobre este eixo deve ser
igual a 30 metros, conforme mostra a figura 3.

Figura 22: Trajetória a ser seguida.

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

Substituindo as equações (41) nas equações de Euler (8) e com alguma


manipulação algébrica, pode-se calcular u, v, r em função do parâmetro t em todos os
pontos da trajetória. De posse de u, v, r , pode-se substituir nas equações (7) da
modelagem matemática do submersível desconsiderando os termos referentes à
correnteza e descobrir as forças F1 , F2 também em função de t.
As expressões matemáticas para u , v, r , F1 , F2 foram obtidas através do software
Autolev, muito útil na resolução de problemas algébricos. Por serem muito extensas, tais
expressões, juntamente com o código fonte do programa, encontram-se no Anexo B.
Os pontos de equilíbrio u , v , r , X , Y ,ψ , F1 , F2 utilizados na linearização por partes da
matriz A nada mais são do que 10 pontos (um a cada 72 segundos) escolhidos sobre a
trajetória desejada. Substituindo-se valores do parâmetro t nas expressões de
u , v, r , X , Y ,ψ , F1 , F2 obtidas, determina-se os 10 pontos de equilíbrio u , v , r , X , Y ,ψ , F1 , F2 , e,
assim, pode-se calcular as 10 matrizes A necessárias para o problema linearizado do
seguimento da trajetória.
É importante ressaltar que no projeto do seguidor trabalha-se com incrementos
∂u , ∂v, ∂r , ∂X , ∂Y , ∂ψ , ∂F1 , ∂F2 em torno da trajetória e a estes devem ser somadas as

variáveis de regime u , v , r , X , Y ,ψ , F1 , F2 para que os valores u , v, r , X , Y ,ψ , F1 , F2 totais


sejam obtidos.

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.

12.2. Seguidor de Trajetória por Alocação de Pólos

A teoria do método de alocação de pólos já foi toda desenvolvida no regulador de


estados e não é necessário repetí-la. Serão apenas destacadas as modificações
aplicadas para que o método surtisse efeito quando aplicado a um seguidor de trajetórias.
Como foi explicado no tópico sobre a trajetória a ser seguida, serão necessárias 10
matrizes A, e, para cada trecho será aplicada a mesma metodologia aplicada ao regulador
de estados, com a única diferença que como condição inicial para a solução numérica do
sistema, será utilizado o ultimo ponto do trecho anterior. Isso é realizado com alguns
simples comandos em MATLAB, que podem ser vistos no ANEXO D.
Os pólos para o seguidor de trajetória foram também escolhidos por tentativa e
erro, sendo adotados aqueles que fornecessem a trajetória mais próxima da real.
• Alocação de pólos do observador de estados:
[-3; -3; -3; -3; -3; -3], apesar de a literatura recomendar que os pólos sejam 3 vezes
maiores que os pólos do controlados, um dos pólos é superior a -1, mesmo assim o
resultado obtido foi satisfatório, e preferiu-se mantê-lo.
• Alocação de pólos do controlador:
[-1.8833, -0.2367+0.4632*i, -0.2367-0.4632*i, -0.1, -0.21+0.7*i, -0.21-0.7*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.

42
43

Figura 23: Desvios das Variáveis de Estado para o AP.

Figura 24: Trajetórias para o Método por Alocação de Pólos

Na Figura 10, apesar de os desvios parecerem gigantescos a escala mostra que


eles são inferiores a 0,5 para as variáveis x e y, enquanto que para ψ , inferiores a 1,6. As
posições onde ocorre a mudança da matriz de controle A são notáveis a partir do grande
salto que a os desvios apresentam a intervalos constantes.
Vale notar que após essas oscilações os desvios sofrem uma alteração
significativa, mantendo-se praticamente constante durante o trecho inteiro, o que justifica

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.

12.3. Seguidor de Trajetórias por Controle Linear Quadrático

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:

Figura 25: Desvios das variáveis de Estado obtidos com o Método do LQ

Figura 26: Trajetória Percorrida pelo Submarino Controlado por LQ

É importante notar que o resultado obtido para o LQ e para o AP são muito


semelhantes, inclusive o efeito causado pela mudança da Matriz de Controle calculada
para cada trecho. Mesmo assim o submarino responde muito bem ao controle aplicado,
conseguindo seguir a trajetória com erro muito pequeno proporcionalmente. Isso pode ser
comprovado com a Figura XX, onde são mostrados os erros das variáveis de estado em
45
46
relação à trajetória definida. Os erros de posição, tanto X como Y não superam os 0,4m,
enquanto que a trajetória escolhida tem amplitude de 10 metros. Vale notar também que
nas curvas o erro apresentado é maior, o que deve ser causado pela dificuldade do
submarino em fazer a curva, uma vez que ele não possui propulsores laterais, e quando o
VSNT finaliza a curva o erro é reduzido, porém, nunca se reduz a zero.

13. Controle Clássico

Nesta seção o controle do submersível será implementado utilizando-se a teoria


clássica com a lei de controle do tipo PID, isto é, Proporcional-Integral-Derivativo. Para
isso, é preciso partir das funções de transferência do sistema, que caracterizam a
abordagem freqüencial da teoria de controle. Tais funções de transferência podem ser
facilmente obtidas das equações matriciais desenvolvidas para o controle no espaço de
estados, equações (13), principalmente quando se tem acesso a um software como o
Scilab (comando “ss2tf”).
Apesar desta relação imediata entre funções de transferência e equações do
espaço de estados de um sistema, nesta seção as funções de transferência serão obtidas
a partir do próprio modelo matemático do veículo, isso porque serão feitas algumas
simplificações importantes que acabam sendo difíceis de serem realizadas a partir das
equações de estado.
No caso do submersível em questão, existe um alto grau de acoplamento entre os
movimentos de avanço, deriva e rumo. No entanto, neste projeto de controle, por
simplicidade, admite-se que os movimentos são desacoplados e que, por este motivo, os
controladores podem ser projetados independentemente. Esta abordagem é relativamente
comum na área de engenharia naval e oceânica [1].

13.1. O Projeto do Controlador

O primeiro passo para o projeto de um sistema de controle é a obtenção do modelo


matemático do sistema [3]. Para tanto, toma-se por base as equações (1) e (8), aqui
representadas sob nova numeração.

46
47
FX = (m + m11 ) ⋅ (u& − v ⋅ r )
FY = (m + m22 ) ⋅ (v& + u ⋅ r ) (42)
N = ( I Z + m66 ) ⋅ r&

X& = u ⋅ cosψ − v ⋅ senψ


Y& = u ⋅ senψ + v ⋅ cosψ (43)
ψ& = r

Considerando unicamente o movimento de avanço, desprezando a influência das


outras variáveis de controle:

u& ⋅ (m + m11 ) = −c11 ⋅ u − d11 ⋅ u ⋅ u + FPX (44)

Levando em consideração o movimento desacoplado, pode-se escrever que:

X& = u e X&& = u& (45)

Então, considerando apenas o termo linear de amortecimento:

X&& ⋅ (m + m11 ) + c11 ⋅ X& = FPX (46)

Aplicando-se a Transformada de Laplace, obtém-se:

[(m + m11 ) ⋅ s 2 + c11 ⋅ s] ⋅ X ( s) = FPX ( s) (47)

A função de transferência entre o deslocamento na direção X e a força propulsora


é dada por:

X ( s) 1
= (48)
FPX ( s) [(m + m11 ) ⋅ s 2 + c11 ⋅ s ]

Analogamente, para os movimentos transversal e de rumo:

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

onde FPX ' ( s ) é a saída do controlador.

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

Figura 27: Diagrama de blocos - Controle para uma direção genérica.

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

onde X r e Yr são as posições de referência definidas ao longo do tempo.

Adotando o controlador PD, conforme justificado acima, as forças nestas direções


são dadas por:

⎛ de ⎞
FPX = K pX ⋅ ⎜ e X + TdX ⋅ X ⎟ (54)
⎝ dt ⎠

⎛ de ⎞
FPY = K pY ⋅ ⎜ eY + TdY ⋅ Y ⎟ (55)
⎝ dt ⎠

onde K p é o ganho e Td é a constante de tempo do controlador.

Resta agora projetar estas forças no sistema de coordenadas móveis fixo ao


veículo. Convém ressaltar que o VSNT não possui propulsores laterais e, assim sendo,
somente será considerada a projeção das forças obtidas anteriormente na direção OX1,
que resulta em:

FP = FPX . cosψ + FPY .senψ (56)

Para o rumo será admite-se que a sua referência é dada por [1]:

49
50
Yr − Y
ψ r = arctg (57)
Xr − X

O momento de rumo requerido é, então, dado por:

⎛ deψ ⎞
FPN = K pN ⋅ ⎜⎜ eψ + Tdψ ⋅ ⎟ (58)
⎝ dt ⎟⎠

13.2. Alocação de Empuxo

Até o presente momento foram determinadas as forças requeridas nas direções de


avanço e deriva, bem como o momento de guinada. Estes esforços devem ser realizados
pelos dois propulsores do submersível. No plano horizontal o empuxo de cada um dos
propulsores pode ser determinado resolvendo-se o seguinte sistema de equações:

F1 + F2 = FP
d d (59)
F1 ⋅ − F2 ⋅ = FPN
2 2

Onde F1 e F2 são as forças dos propulsores de popa e d é a distância entre os eixos de


rotação dos propulsores.

Resolvendo-se este sistema de equações obtém-se que os empuxos são dados


pelas equações (60) e (61). Tal cálculo é feito para se descobrir as forças necessárias nos
propulsores para que o veículo siga a trajetória estabelecida apesar das perturbações.
Para um projeto aplicado de controle, esta é uma etapa muito importante, no entanto, no
presente trabalho limita-se a mostrar a eficácia do controlador.

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)

O erro deste sistema é dado por:

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

Os parâmetros do controlador foram selecionados através do método de tentativa e


erro tomando como referência os valores sugeridos pelo critério de Ziegler-Nichols e
procurando observar a resposta do sistema considerando-se uma entrada degrau no sinal
de referência. Para orientar a busca variou-se Td dentro de uma determinada faixa e o
ganho foi selecionado baseando-se no gráfico do lugar das raízes. Para cada par de
parâmetros do sistema foi efetuada uma simulação dinâmica e procurou-se selecionar

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]:

Tabela 1: Parâmetros de sintonia do controlador PD.


X Y ψ
K pi 11 10 12

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.

Figura 28: Diagrama de blocos no Simulink para o controlador PD.

52
53

O gráfico da figura 29 a seguir mostra o comportamento do veículo ao trilhar a


trajetória senoidal imposta, tomando como base a trajetória desejada.

Figura 29: Submersível com PD – Trajetória real (vermelha) e trajetória de referência (azul)

Observa-se claramente que o desempenho do controlador foi satisfatório e


semelhante ao desempenho do seguidor de trajetórias desenvolvido a partir do Método da
Alocação de Pólos e do Método Linear Quadrático. No entanto, o erro em regime
apresentado pelo controlador PD foi um pouco superior àquele obtido com as teorias de
controle baseadas no espaço de estados (cerca de 0,6m). É importante ressaltar que o
atraso na atuação do controlador foi considerado apenas no projeto do PD, assim, já era
esperado um certo “delay” entre a trajetória efetiva e a trajetória de referência. Tal
comportamento pode ser mais facilmente observado a partir da simulação do mesmo
seguidor de trajetórias sem a perturbação introduzida no caso anterior, conforme mostra a
figura 30.

53
54

14. Conclusão

No presente trabalho de controle foram desenvolvidos reguladores de estados e


seguidores de trajetórias para um Veículo Submersível Não-Tripulado para operação em
ambiente fluvial. As teorias de controle aplicadas foram: Método da Alocação de Pólos,
Método Linear Quadrático e a Teoria Clássica de controle, mais especificamente o
controlador PD.
Antes de projetar os controladores, foi necessário realizar a modelagem
matemática do veículo e verificar a estabilidade do sistema, o que foi feito a partir do
cálculo de seus pólos, através do Critério de Routh-Hurwitz e a partir da observação dos
Diagramas de Bode e de Nyquist. Em seguida, verificou-se a controlabilidade e
observabilidade do submersível. O sistema mostrou-se estável, controlável e observável,
permitindo o prosseguimento do projeto sem a necessidade de modificações em seu
modelo matemático.
Para evitar o uso desnecessário de sensores, o que tornaria o projeto de controle
caro e inviável, foi implementado um observador de estados de ordem plena. Desta
forma, foi possível projetar controladores eficazes a partir da medição de apenas três das
seis variáveis de estado envolvidas no problema.
Foi desenvolvido um regulador de estados com o objetivo de manter o veículo
numa trajetória retilínea e a uma velocidade de avanço constante de 0,15m/s apesar de
perturbações laterais que tendem a desviá-lo da missão pretendida. Foram feitos dois
reguladores de estados com a mesma função, um deles a partir do Método da Alocação
de Pólos e o outro baseado no Método Linear Quadrático. Os resultados obtidos foram
satisfatórios e bastante semelhantes, o que demonstra a correção na aplicação das
teorias de controle.
Para o seguimento de trajetórias de referência foram elaborados controladores
baseados em nos Métodos da Alocação de Pólos, Linear Quadrático e Controle PD
(Proporcional-Derivativo). Apesar de a proposta inicial constituir na formulação de um
controlador tipo PID (Proporcional-Integral-Derivativo), o emprego de um controlador de
caráter integral adicionaria mais um pólo à origem do plano complexo, o que poderia
tornar o sistema instável. Por este motivo, optou-se pelo uso do controlador PD.
Os diferentes seguidores de trajetória foram testados a partir de simulações
dinâmicas nas quais uma trajetória senoidal de referência foi imposta apesar da existência

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

14. Referências Bibliográficas

[1] SORANI, L. A., 2003, “Estudo da Dinâmica e Controle de um Submersível não


Tripulado para Uso no Ambiente Fluvial”, Dissertação de Mestrado apresentada à Escola
Politécnica, São Paulo.

[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.

[4] TEIXEIRA, R., 2001, “Missões de Monitorização Ambiental Utilizando o Veículo


Submarino Isurus”, Instituto de Sistemas e Robótica da Faculdade de Engenharia da
Universidade do Porto, Porto.

[5] TRABUCO, J., TAVARES, R., 2000, “Desenvolvimento de um Sistema de Navegação


para um Veículo Autônomo Submarino”, Trabalho Final de Curso apresentado ao Instituto
Superior Técnico da Universidade Técnica de Lisboa, Lisboa.

56
57

Anexo A – Parâmetros Principais do submersível VSNT Jaú I

Dados Módulo Unidade


Dimensões Principais
Comprimento 1,315 m
Largura 0,406 m
Altura 1,335 M
Inércia
Massa (m) 164,14 kg
Momento de Inércia (Iz) 10,64 kg.m2
Massas Adicionais
Sentido Longitudinal (m11) 125,47 kg
Sentido Transversal (m22) 106,25 kg
Sentido Rotacional (m66) 5,96 kg.m2
Amortecimentos Viscosos
Lineares
Sentido Longitudinal (c11) 39,63 kg/s
Sentido Transversal (c22) 78,07 kg/s
Sentido Rotacional (c66) 7,906 kg.m2/s
Quadráticos
Sentido Longitudinal (d11) 165,87 kg/m
Sentido Transversal (d22) 936,69 kg/m
Sentido Rotacional (d66) 83,20 kg/m2

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

Anexo B – Determinação da Trajetória a ser Seguida em Autolev

(1) constants alpha,beta,gamma


(2) variables x,y,psi,u,v,r
(3) x=t/gamma
-> (4) X = T/GAMMA

(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

Anexo C – Código Fonte para o Regulador de Estados em Scilab


//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;

//Referências
ubarra=0.15;
vbarra=0;
rbarra=0;
psibarra=0;

//Condição inicial
x0=[-0.15;0;0;0;0;0];

//Sistema em malha aberta


A=[(-c11-2*d11*abs(ubarra))/(m+m11) rbarra vbarra 0 0 0;-rbarra (-c22-2*d22*abs(vbarra))/(m+m22) -ubarra 0 0 0;0
0 (-c66-2*d66*abs(rbarra))/(Iz+m66) 0 0 0;cos(psibarra) -sin(psibarra) 0 0 0 -ubarra*sin(psibarra)-
vbarra*cos(psibarra);sin(psibarra) cos(psibarra) 0 0 0 ubarra*cos(psibarra)-vbarra*sin(psibarra);0 0 1 0 0 0];
B=[1/(m+m11) 1/(m+m11);0 0;d/(2*(Iz+m66)) -d/(2*(Iz+m66));0 0;0 0;0 0];
C=diag([0 0 0 1 1 1]);
D=zeros(6,2);
E=[cos(psibarra)/(m+m11) sin(psibarra)/(m+m11);-sin(psibarra)/(m+m22) cos(psibarra)/(m+m22);0 0;0 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)')

//Auto-valores, matriz de transferência, diagrama de pólos, Bode e Nyquist


//sub=syslin('c',A,B,C,D,x0);
//autoval=spec(A);
//disp(autoval,'Autovalores=');
//G=ss2tf(sub);
//disp(G,'Funcoes de Transferência=');
//xset('window',10);
//bode(G(1,1));
//xset('window',11);
//bode(G(1,2));
//xset('window',12);
//bode(G(2,1));
//xset('window',13);
//bode(G(2,2));
//xset('window',14);
//bode(G(3,1));
//xset('window',15);
//bode(G(3,2));
//xset('window',16);
//nyquist(G(1,1));
//xset('window',17);
//nyquist(G(1,2));
//xset('window',18);
//nyquist(G(2,1));
//xset('window',19);
//nyquist(G(2,2));
//xset('window',20);
//nyquist(G(3,1));
//xset('window',21);
//nyquist(G(3,2));
//xset('window',0)
//plzr(sub);

//Alocação de pólos do observador


polosobs=[-3,-3,-3,-3,-3,-3];
Ke=ppol(A',C',polosobs)';

//Método da alocação de pólos


polosap=[-0.87,-0.55,-0.72+0.81*%i,-0.72-0.81*%i,-0.48+0.77*%i,-0.48-0.77*%i];
Kap=ppol(A,B,polosap);
AKap=A-B*Kap;
Aapobs=[AKap B*Kap; zeros(6,6) A-Ke*C];
Eapobs=[E; zeros(6,2)];
Capobs=diag(ones(12,1));
Dapobs=zeros(12,2);

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');

//Método linear quadrático


Q=diag([1 1 1 10^2 10^5 1]);
R=diag([1 1]);
BR=B*inv(R)*B';
P=ricc(A,BR,Q,'cont');
Klq=inv(R)*B'*P;
AKlq=A-B*Klq;
Alqobs=[AKlq B*Klq; zeros(6,6) A-Ke*C];
Elqobs=[E; zeros(6,2)];
Clqobs=diag(ones(12,1));
Dlqobs=zeros(12,2);
x0lqobs=[x0;zeros(6,1)];

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');

Anexo D – Código Fonte para o Seguidor de Trajetória em Matlab

function VSNT = VSNT

%Trajetórias e Pontos de Equilíbrio


alpha = 5;
beta = 2*pi()/30;
gama = 24;
T = 0:72:720;

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;

% Calculo das Matrizes constantes no tempo


% As Matrizes A e E, por nao serem constantes, serao calculadas em cada trecho
B = [1/(m+m11) 1/(m+m11);0 0;d/(2*(Iz+m66)) -d/(2*(Iz+m66));0 0;0 0;0 0];
C = diag(ones(1,6));
C(1,1) = 0;
C(2,2) = 0;
C(3,3) = 0;
D = zeros(6,2);

% Análise de Controlabilidade e observabilidade


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];
Contr(i) = rank(ctrb(A,B));
if Contr(i) ~= 6
resultc = sprintf('A Matriz: [%s] nao é controlável',i);
msgbox(resultc,'Controlabilidade');
end
Observ(i) = rank(obsv(A,C));
if Observ(i) ~= 6
resulto = sprintf('A Matriz: [%s] nao é observável',i);

62
63
msgbox(resulto,'Observabilidade');
end
end
%O programa só se manifesta caso o sistema nao seja conrolável ou observável.

% Auto-valores, matriz de Transferência, diagrama de pólos


x0=[0;0;0;0;0;0];
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];
sub = ss(A,B,C,D);
%Quando se deseja obter as funcoes de transferencia e todos os diagramas de polos tira-se o comentário das 4
linhas abaixo. Elas ficam comentadas para que cada vez que se execute o programa nao sejam todas plotadas.
% autoval = eig(A)
% ft = ss2tf(A,B,C,D,2)
% figure
% pzmap(sub);
end

% Método de Alocacao de Polos


ira = sqrt(-1);
x0 = [0;0;0;0;0;0];
polosap = [-1.8833,-0.2367+0.4632*ira,-0.2367-0.4632*ira,-0.1,-0.21+0.7*ira,-0.21-0.7*ira];
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];
Kap = place(A,B,polosap);
AKap = A-B*Kap;
% verifap = spec(AKap);

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')

% Método linear quadrático (funcionando)


Q = diag([1 1 1 10000 10000 1]);
R = diag(ones(1,2));
x0 = [0; 0; 0; 0; 0; 0];

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

Você também pode gostar