APLICAÇÃO DE UM SISTEMA NEURO-FUZZY NA SINTONIA DE UM CONTROLADOR PID DE UM SISTEMA DE POSICIONAMENTO DINÂMICO DE UMA EMBARCAÇÃO

Share Embed


Descrição do Produto

Graduação em Engenharia de Controle e Automação campus Macaé

FABRICIO AGUIAR DE OLIVEIRA

APLICAÇÃO DE UM SISTEMA NEURO-FUZZY NA SINTONIA DE UM CONTROLADOR PID DE UM SISTEMA DE POSICIONAMENTO DINÂMICO DE UMA EMBARCAÇÃO

MACAÉ, RJ 2016

FABRICIO AGUIAR DE OLIVEIRA

APLICAÇÃO DE UM SISTEMA NEURO-FUZZY NA SINTONIA DE UM CONTROLADOR PID DE UM SISTEMA DE POSICIONAMENTO DINÂMICO DE UMA EMBARCAÇÃO

Trabalho de Conclusão de Curso apresentado ao Instituto Federal de Educação, Ciência e Tecnologia Fluminense – IFF, Campus Macaé, como exigência parcial para a obtenção do título de Bacharelado em Engenharia de Controle e Automação.

Orientador: Prof. Marcos Antonio Cruz Moreira

MACAÉ, RJ 2016

Dados Internacionais de Catalogação na Publicação (CIP)

O482a

Oliveira, Fabrício Aguiar de. Aplicação de um sistema neuro-fuzzy na sintonia de um controlador pid de um sistema de posicionamento dinâmico de uma embarcação/ Fabrício Aguiar de Oliveira. — . Macaé, RJ, 2016. 57 f.; il. color. Orientador: Marcos Antonio Cruz Moreira. Trabalho de Conclusão de Curso (Graduação em Engenharia de Controle e Automação) — Instituto Federal de Educação, Ciência e Tecnologia Fluminense. Macaé, RJ, 2016. Bibliografia: f. 39-41. 1. Controladores PID. 2. Navios (Brasil). 3. Instrumentos náuticos. 4. Robótica. 5. Sistemas difusos. 6. Estruturas marítimas semi-submersíveis – Ancoradouros. I. Moreira, Marcos Antonio Cruz, orient. II. Título. CDD 629.13251

23.ed.

Bibliotecário-Documentalista |Henrique Barreiros Alves | CRB-7/ 6326

Dedicatória opcional. “Dedico este trabalho àquela pessoa em especial...” A dedicatória é formatada com o estilo “Dedicatória”. Não leva título.

Dedico este trabalho aos meus pais, que além de me conscientizar da importância da educação, sempre me motivaram, acreditaram e me apoiaram até o final desta trajetória.

AGRADECIMENTOS A Deus pоr tеr mе dado saúde е força pаrа superar аs dificuldades. Aos meus pais, Marxsuel Fabiano e Vilma Aguiar e meu irmão Fabiano Aguiar, por todo suporte, incentivo e conselhos durante toda esta trajetória. Ao Instituto Federal Fluminense, pela oportunidade dе fazer о curso. Ao meu orientador, Marcos Cruz, que muito me auxiliou para conclusão deste Trabalho de Conclusão de Curso, pela paciência, dedicação, incentivo e sabedoria. Ao Rafael Wajnsztajn e ao professor Eduardo Aoun Tannuri (USP) que gentilmente me cederam o simulador de Sistema de Posicionamento Dinâmico. A professora Nathálie Terra que me apresentou a Vanessa Keith e ao Bruno Rangel, que prontamente me ajudaram e tiraram todas minhas dúvidas sobre Sistema de Posicionamento Dinâmico. Ao professor Fernando Osório (USP) que me ajudou a resolver o problema da base de dados do Neuro-fuzzy.

“A melhor maneira de prever o futuro é criá-lo” Peter Drucker

RESUMO

O controlador PID é amplamente utilizado na indústria, mas sua sintonia pode ser bastante desafiadora quando se trata de plantas complexas, nas quais as variações na dinâmica da planta estão sujeitas a um comportamento não linear e fatores ambientais. Encontrar os parâmetros apropriados para um controlador PID é uma tarefa difícil, onde na prática, o método de tentativa e erro ainda é frequentemente utilizado. Este é um método relativamente fácil, mas que pode demandar muito tempo, além de não garantir um desempenho satisfatório. Este trabalho visa utilizar sistemas neuro-fuzzy para realizar, de forma automática, a sintonia de um controlador PID de uma planta com comportamento não linear. Para estudo de caso, o sistema neuro-fuzzy será utilizado para fazer a sintonia de um controlador PID de um Sistema de Posicionamento Dinâmico (SPD) de uma embarcação. Palavras-chave: PID, Lógica Fuzzy, Redes Neurais, Neuro-fuzzy, ANFIS, Sistema de Posicionamento Dinâmico.

ABSTRACT

The PID controller is widely used in industry, but its tuning can be very challenging when dealing with complex plants. In these cases, changes in the dynamic behavior of the plant subject to non-linear behavior and environmental factors. Finding the appropriate parameters for a PID controller is a difficult task, where in practice the trial and error method is still often used. This is a relatively easy method, but it can take a lot of time, and does not ensure satisfactory performance. This study aims at using neuro-fuzzy systems to perform, automatically, tuning of a PID controller with a plant that presents nonlinear behavior. For case study, the neurofuzzy system will be used to tune a PID controller of a Dynamic Positioning System of a vessel. Keywords: PID, Fuzzy Logic, Neural Network, Neuro-fuzzy, ANFIS, Dynamic Positioning.

LISTA DE ILUSTRAÇÕES

Figura 1: Variáveis de movimento de uma Embarcação ........................................... 13 Figura 2: Exemplo das taças vazias .......................................................................... 15 Figura 3: Exemplo das taças cheias.......................................................................... 16 Figura 4: Exemplo das taças com volumes variados ................................................ 16 Figura 5: Organização em camadas de uma RNA .................................................... 18 Figura 6: Arquitetura ANFIS ...................................................................................... 19 Figura 7: Exemplo de funcionamento da arquitetura ANFIS ..................................... 20 Figura 8: Função triangular ....................................................................................... 21 Figura 9: Função trapezoidal ..................................................................................... 21 Figura 10: Função gaussiana .................................................................................... 21 Figura 11: Combinação gaussiana ............................................................................ 22 Figura 12: Função sino generalizada ........................................................................ 22 Figura 13: Função sigmóide ...................................................................................... 22 Figura 14: Diferença entre sigmóides ........................................................................ 23 Figura 15: Produto entre sigmóides .......................................................................... 23 Figura 16: Função de pertinência Z........................................................................... 23 Figura 17: Função de pertinência S .......................................................................... 24 Figura 18: Função de pertinência

.......................................................................... 24

Figura 19: Sentido do fluxo de dados em uma ANFIS .............................................. 25 Figura 20: Representação do controlador PID .......................................................... 26 Figura 21: Neuro-fuzzy Designer............................................................................... 32 Figura 22: Bloco Fuzzy Logic Controller.................................................................... 33 Figura 23: Configuração do bloco Fuzzy Logic Controller ......................................... 33 Figura 24: ANFIS do ganho proporcional .................................................................. 34 Figura 25: ANFIS do ganho integral .......................................................................... 35 Figura 26: Modelo que gera os ganhos PID .............................................................. 35 Figura 27: Resposta do controlador PID ................................................................... 37

LISTA DE ABREVIATURAS E SIGLAS

PID – Proporcional Integral Derivativo SPD – Sistema de Posicionamento Dinâmico RNA – Rede Neural Artificial ANFIS – Adaptive Neuro-fuzzy Inference System DP – Dynamic Positioning MISO – Multiple Input, Single Output

SUMÁRIO

1 INTRODUÇÃO ................................................................................................................... 12 1.1

OBJETIVO ...................................................................................................................... 13

1.2

JUSTIFICATIVA ............................................................................................................. 14

2 FUNDAMENTOS TEÓRICOS ......................................................................................... 15 2.1

LÓGICA FUZZY ............................................................................................................. 15

2.2

REDE NEURAL ARTIFICIAL ....................................................................................... 17

2.3

NEURO-FUZZY .............................................................................................................. 18

2.3.1 Arquitetura ANFIS ...................................................................................................... 18 2.3.2 Função de pertinência ................................................................................................... 20 2.3.3 Algoritmo de aprendizado ............................................................................................ 24 2.4

CONTROLADOR PID ................................................................................................... 25

3 METODOLOGIA ............................................................................................................... 28 4 DESENVOLVIMENTO ...................................................................................................... 29 4.1

GERANDO A BASE DE DADOS .................................................................................. 29

4.2

ARMAZENANDO OS DADOS ..................................................................................... 30

4.3

CONFIGURANDO O ANFIS ......................................................................................... 31

4.4

TOPOLOGIA ANFIS ...................................................................................................... 34

4.5

BASE DE DADOS .......................................................................................................... 36

5 CONCLUSÕES.................................................................................................................... 38 5.1

CONSIDERAÇÕES FINAIS .......................................................................................... 38

5.2

TRABALHOS FUTUROS .............................................................................................. 38

REFERÊNCIAS ..................................................................................................................... 39 APÊNDICE A – TABELA DE TREINAMENTO NEURO-FUZZY ................................ 42 APÊNDICE B – TABELA GERADA PELO NEURO-FUZZY......................................... 45 APÊNDICE C – ALGORITMO DO SIMULADOR COM NEURO-FUZZY ................. 50

12

1 INTRODUÇÃO

O controlador PID é amplamente utilizado na indústria, mas sua sintonia pode ser bastante desafiadora quando se trata de plantas industriais complexas; nestas, as variações do comportamento dinâmico da planta estão sujeitas a um comportamento não linear e fatores ambientais aleatórios. Encontrar os parâmetros apropriados para um controlador PID é uma tarefa difícil, onde na prática, o método de tentativa e erro ainda é frequentemente utilizado. Este é um método relativamente fácil, mas que pode demandar muito tempo, além de não garantir um desempenho satisfatório. Existem outros métodos de sintonia bastante utilizados como: Ziegler e Nichols, Método CHR, Método da Integral do Erro, Método do Modelo Interno. Porém, estes métodos foram projetados para sistemas com comportamento linear, o que faz com que eles se tornem ineficientes para sistemas de comportamento não linear. Este trabalho visa utilizar sistemas neuro-fuzzy para realizar, de forma automática, a sintonia de um controlador PID de uma planta com comportamento não linear. O sistema neurofuzzy é a fusão de duas técnicas: redes neurais artificiais e lógica fuzzy. Somando a capacidade de aprendizagem das redes neurais, com a capacidade de inferência da lógica fuzzy. Ambas técnicas não dependem do conhecimento do modelo da planta, o que as tornam ideais para tratar sistemas não lineares. Para estudo de caso, o sistema neuro-fuzzy será utilizado para fazer a sintonia de um controlador PID em um Sistema de Posicionamento Dinâmico (SPD) de uma embarcação. “O SPD deverá ser dotado de um sistema de controle capaz de compensar as perturbações geradas pela variação das condições ambientais encontradas em alto mar como vento, correnteza e ondas através da ação dos propulsores instalados no casco da embarcação, que geram forças e momentos para contrabalançar as forças ambientais de forma a manter a embarcação estável

13

sobre a locação ou determinada trajetória” (Wajnsztajn, 2012). Além da influência dos fatores ambientais, devido a condições operacionais, o SPD possui comportamento não linear. Um exemplo de não linearidade de uma embarcação, é um fenômeno chamado broaching, causado pela perda de eficiência do leme devido à velocidade orbital das partículas fluidas do escoamento das ondas incidentes pela popa, pelo trim1 do navio e pela própria aceleração longitudinal do navio na descida da onda, produzindo uma guinada brusca, tipicamente não linear, que combinada com a ação das ondas subsequentes, provoca o emborcamento do navio. (Quinteros, 2005). Assim, por se tratar de um sistema complexo, um SPD se demonstra como uma boa forma de avaliar a eficiência do sistema neuro-fuzzy, na sintonia de controladores PID.

1.1 OBJETIVO O objetivo deste trabalho é avaliar a efetividade da inclusão de um sistema neuro-fuzzy em um simulador de um SPD, para determinar os ganhos do controlador e assim realizar sua sintonia. O SPD de uma embarcação está sujeito seis graus de liberdade, no qual se dividem em movimentos lineares: SURGE, SWAY e HEAVE; e os movimentos angulares: ROLL, PITCH e YAW (Figura 1). Este trabalho irá considerar apenas o movimento da embarcação no eixo x (Surge), pois as análises dos outros movimentos utilizados no controle do SPD são análogas. Figura 1 - Variáveis de movimento de uma Embarcação

Fonte: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO (2016)

1

trim - constitui a inclinação longitudinal de um navio para uma das suas extremidades (proa ou popa).

14

1.2 JUSTIFICATIVA A sintonia de um controlador PID pode demandar muito tempo e um profissional muito experiente, que tenha um bom conhecimento da planta. Mesmo assim, é um processo muito suscetível a falhas. Sobretudo, quando se trata de um sistema não linear e que está sujeito a fatores ambientais. O SPD é um processo altamente dinâmico, que está sujeito a condições ambientais que podem variar constantemente, como: vento, ondas e correnteza. Sendo assim, a sintonia realizada em uma condição pode não ser mais adequada durante a operação, devido as variações nas condições ambientais. Através de um banco de dados de simulações e/ou operações realizadas com sucesso, nas mais adversas condições climáticas. Pode-se treinar uma rede neural artificial para determinar os ganhos de forma mais precisa. E através da lógica fuzzy, pode-se incorporar o conhecimento de um especialista para a tomada de decisão de acordo com os dados adquiridos. Ambas as técnicas já foram empregadas com sucesso no processo de sintonia de um controlador PID, como pode ser visto em: Karasakal et al (2005) e Wajnsztajn (2012). Portanto, a utilização de um sistema neuro-fuzzy se mostra bastante promissora no processo de sintonia do controlador PID.

15

2 FUNDAMENTOS TEÓRICOS

Nesta sessão, serão explicados todos os conceitos teóricos que serviram como base para a realização deste trabalho. Estes conceitos são de fundamental importância para o entendimento das explicações dos algoritmos desenvolvidos. 2.1 LÓGICA FUZZY A teoria dos conjuntos fuzzy vem se desenvolvendo, ganhando espaço e está sendo usada como ferramenta para a formulação de modelos nos vários campos das ciências. Esta teoria foi introduzida pelo matemático Lotfi Asker Zadeh (1965), com a intenção de dar um tratamento matemático a certos termos linguísticos subjetivos como: “aproximadamente”, “em torno de”, dentre outros. Pode-se dizer que a Teoria dos Conjuntos Fuzzy representa um primeiro passo no sentido de se programar e armazenar conceitos vagos em computadores, tornando possível a produção de cálculos com informações imprecisas, a exemplo do que faz o ser humano. (SOUZA, 2010). A lógica fuzzy surgiu como uma alternativa a lógica booleana, pois vários problemas não podem ser apenas representados na forma booleana, como verdadeiros ou falsos (1 ou 0). As figuras 2, 3 e 4 representam um exemplo citado por (COX 1994) para exemplificar a vantagem da lógica fuzzy sobre a lógica booleana.

Figura 2 – Exemplo das taças vazias

Fonte: AGUADO (2010)

16

Figura 3 – Exemplo das taças cheias

Fonte: AGUADO (2010)

Nas figuras 2 e 3, temos situações claras e bem definidas. Ou seja, é fácil definir se é verdade se a taça está cheia ou se a taça está vazia. É uma situação em que podemos utilizar a lógica booleana, pois se trata de uma questão de verdadeiro ou falso.

Figura 4 – Exemplo das taças com volumes variados

Fonte: AGUADO (2010)

Na figura 4, temos uma situação mais subjetiva, onde seria difícil de se representar utilizando a lógica booleana. Pois não é inteiramente verdade se a taça está cheia ou vazia. Nesses casos é que surge a necessidade de se utilizar a lógica fuzzy para representar o problema. Pois a lógica fuzzy nos permite representar valores entre 0 e 1 ( 0 a 100%). Assim, utilizando o exemplo da figura 4, podemos dizer que a primeira taça está 50% e a segunda 75% cheia. Essa é a grande

17

vantagem da lógica fuzzy, à partir problemas subjetivos, pode-se definir uma escala de valores para descrever uma variável linguística. Mas o que é uma variável linguística ? Uma variável linguística é uma variável cujos valores são nomes de conjuntos fuzzy. No exemplo anterior, o volume da taça seria uma variável linguística assumindo valores como: muito cheio, pouco cheio, muito vazio, pouco vazio, etc. E é através dessa representação linguística que se pode incorporar o conhecimento de um especialista, como por exemplo: SE (ibovespa) = (baixo) ENTÃO (comprar) SE (ibovespa) = (neutro) ENTÃO (comprar) SE (ibovespa) = (alto) ENTÃO (não comprar) Onde um especialista, de acordo com o índice bovespa, define o que seria um índice baixo, neutro ou alto. Ou seja, traduz de um valor numérico para um valor linguístico. E através desse valor linguístico da variável ibovespa uma ação é realizada.

2.2 REDE NEURAL ARTIFICIAL

Redes Neurais Artificiais (RNA) são sistemas computacionais com processamento altamente paralelo e distribuído e que apresentam a capacidade de aprender e armazenar conhecimento experimental. Estes sistemas computacionais apresentam características similares e análogas as observadas no funcionamento do cérebro humano, destacando-se : 1. Conhecimento é adquirido ou “aprendido” pela rede neural, como no cérebro humano, através de um processo de aprendizado. 2. Pesos existentes nas conexões entre neurônios artificiais, análogos às sinapses em neurônios biológicos, são responsáveis por armazenar o conhecimento aprendido. 3. Apresenta como o cérebro humano, a capacidade de generalização baseada no conhecimento aprendido. Isto significa que uma rede neural consegue produzir saídas adequadas para entradas não observadas no seu processo de treinamento (SILVA, 2005).

A grande vantagem de Redes Neurais Artificiais é sua capacidade de aprendizado, a RNA aprende como determinado processo funciona e então pode prever quais serão as saídas do processo, de acordo com os valores da entrada. Esse aprendizado se dá de forma semelhante ao aprendizado humano, onde através de experiências anteriores são observados os erros e acertos. Dessa forma, para o funcionamento de uma RNA, é necessário haver uma base de dados para que a rede possa aprender os padrões. Essa base de dados possui a relação de dados de entrada

18

com os dados de saída, com isso, os dados de entrada são apresentados a RNA e então a resposta gerada é comparada com os dados de saída da base de dados. Então, através do algoritmo backpropagation, os pesos são recalculados para que a resposta da rede se aproxime mais dos dados de saída armazenados na base de dados. Esse processo pode ser repetido várias vezes, aproximando cada vez mais a resposta da rede para a resposta esperada. Assim, quando a resposta da rede está igual ou muito próxima da resposta esperada, os pesos já estão bem definidos, e com isso a RNA pode prever as respostas para valores de entradas que não estavam na base de dados.

Figura 5 – Organização em camadas de uma RNA

Fonte: LANHELLAS (2016)

2.3 NEURO-FUZZY

O sistema neuro-fuzzy é a fusão de duas técnicas: redes neurais artificiais e lógica fuzzy. Somando a capacidade de aprendizagem das redes neurais, com a capacidade de inferência da lógica fuzzy.

2.3.1

Arquitetura ANFIS

O ANFIS (Adaptive Neuro-fuzzy Inference System) é uma arquitetura que combina um sistema de inferência fuzzy com redes neurais artificiais. Essa arquitetura está dividida em 5 camadas:

19

Figura 6 – Arquitetura ANFIS

Fonte: Adaptado de YARPIZ (2016)

Camada 1 – Fuzzyficação, é o processo de conversão da entrada numérica em uma variável linguística, de acordo com a função de pertinência escolhida. O neurônio produz uma resposta igual ao grau de pertinência da variável de entrada no conjunto nebuloso associado ao neurônio. Camada 2 – Inferência Fuzzy, Etapa na qual as regras são definidas e depois são examinadas paralelamente. Exemplo de regra: se x é A1 e y é B1 então z1 = p1 x + q1 y + r1. A saída do neurônio é o produto dos graus de pertinência dos antecedentes da regra. Camada 3 – Calcula a razão entre o valor de disparo da regra e a soma dos valores de todas as regras. A saída é a normalização dos valores, utilizada como um pré-processamento para a defuzzyficação. Camada 4 – Cálculo do consequente da regra, as saídas representam a contribuição de cada regra na saída total e são calculadas pelo valor da função no consequente da regra ponderada pelo valor normalizado da ativação. Camada 5 – Defuzzyficação, Etapa no qual é calculada a saída precisa do sistema. A resposta do modelo é a média ponderada dos consequentes das regras.

Nota: Em alguns casos, a arquitetura ANFIS pode ser representada com 4 camadas, nesse caso, as camadas 3 e 4 são combinadas em uma única camada.

20

Abaixo (Figura 7) segue o esquema de representação da arquitetura ANFIS com dois inputs e 9 regras, onde cada input possui 3 valores linguísticos. A fim de exemplificar, podemos dizer que um modelo ANFIS foi construído para que um fazendeiro atualize o preço de seus produtos de acordo com o preço do mercado.

Figura 7 – Exemplo de funcionamento da arquitetura ANFIS

Fonte : PIANESE (2016)

Considerando que x é o preço do trigo e y o preço da soja, A1 e B1 representam alto, A2 e B2 representam médio, A3 e B3 representam baixo. Como exemplo de regra poderíamos ter: Se

(x)

= (A1) e

(y)

= (B1) então ( Região 1 )

Se (preço_trigo) = (alto) e (preço_soja) = (alto) então (aumenta o preço de 70 a 100%) Ou seja, para cada regra será delimitada uma região e dentro de cada região existirá uma faixa de valores dependendo do grau de pertinência dos inputs.

2.3.2 Função de pertinência

Função de pertinência é uma curva que define a forma como cada input da base de dados é mapeado para um valor de adesão (ou grau de pertinência) entre 0 e 1. A seguir alguns exemplos de função de pertinência:

21

Figura 8 – Função triangular

Função triangular:

trimf(x ∶ a, b, c) =

Funções de pertinência

1

Função A Função B

0, , , ,

≤ ≤ ≤

,



0,





0.5

0 0

1

2

3

4

5

6

7

8

9

10

Input

Fonte: Do autor (2016)

Figura 9 – Função trapezoidal

Função trapezoidal:

trapmf(x ∶ a, b, c, d) =

0, , ,

#

#

1,

,

,

≤ ≤ ≤





0, $ ≤

Funções de pertinência

1

Função A Função B



≤$

0.5

0 0

1

2

3

4

5

6

7

8

9

10

Input

Fonte: Do autor (2016) Figura 10 – Função gaussiana

% &''()(x ∶ *, c) = +

1 , . 0 - /

Grau de pertinência

Função gaussiana:

Fonte: Do autor (2016)

22

Figura 11 – Combinação gaussiana

Combinação gaussiana: % &''2()(x ∶ *, c, *1, c1)

Funções de pertinência

1

Função A Função B

Onde *, c determina o formato da curva na subida,

e *1, c1 determina o formato da curva na descida.

0.5

Sempre que c < c1, a função gauss2mf atinge um valor máximo de 1. Caso contrário, o valor máximo

0 0

1

2

3

4

5

6

7

8

9

10

Input

é inferior a 1.

Fonte: Do autor (2016)

Figura 12 – Função sino generalizada

Função sino generalizada:

Funções de pertinência

1

Função A Função B

% +33()(x ∶ a, b, c) =

1+5

1 −

-

5

0.5

0 0

1

2

3

4

5

6

7

8

9

10

Input

Fonte: Do autor (2016)

Figura 13 – Função sigmóide Funções de pertinência

1

Função A Função B

Função sigmóide: '7%()(x ∶ a, c) =

1++

1

(

)

0.5

0 0

1

2

3

4

5

6

7

8

Input

Fonte: Do autor (2016)

9

10

23

Figura 14 – Diferença entre sigmóides

Diferença entre sigmóides:

Funções de pertinência

1

Função A Função B

$'7%()(x ∶ a, c, a1, c1) =

'7%()(x ∶ a, c) − '7%()(x ∶ a1, c1)

0.5

0 0

1

2

3

4

5

6

7

8

9

10

Input

Fonte: Do autor (2016)

Figura 15 – Produto entre sigmóides

Produto entre sigmóides:

Funções de pertinência

1

Função A Função B

8'7%()(x ∶ a, c, a1, c1) =

'7%()(x ∶ a, c) × '7%()(x ∶ a1, c1)

0.5

0 0

1

2

3

4

5

6

7

8

9

10

Input

Fonte: Do autor (2016)

Figura 16 – Função de pertinência Z

Função de pertinência Z:

Funções de pertinência

1

1, − 1− 2. 0 , − zmf(x ∶ a, b) = − 2; < , − 0,



Função A Função B



≤;

+ ; 5.5 Hs = 5.5; end end . . . P_surge = 2200*idgp;

I_surge = 26*idgi;

D_surge = 480000*idgd;

Onde a cada entrada das condições ambientais ( vel_vento = velocidade do vento em m/s, U= velociadade da correnteza em m/s, e Hs = altura da onda em m), são realizadas 30 tentativas oscilando os fatores PID. Ou seja, cada fator é alterado 10 vezes, por isso as variáveis: idgp, idgi e idgd vão de 0 a 10. A velocidade do vento pode oscilar de 0 a 26 m/s, a velocidade da correnteza de 0 a 1,8 m/s e a altura da onda de 0 a 5,5 m. No código: vel_vento=randi([0, 26]) é gerado um valor aleatório de 0 a 26. Agora que a estrutura de repetição foi criada e as variáveis são alteradas conforme as iterações, é necessário gerar dados relativos ao desempenho da resposta. E para isso foi utilizado o comando stepinfo, que gera informações como: overshoot, tempo de assentamento, tempo de subida, ...

4.2 ARMAZENANDO OS DADOS Tão importante quanto gerar os dados é armazená-los, para que analises posteriores possam ser realizadas. Neste programa, era necessário armazenar os dados de input e output e além disso, os gráficos gerados. Para armazenar os dados em uma planilha, os seguintes comandos foram utilizados:

31

XL = {idg,U,vel_vento,Hs,P_surge,I_surge,D_surge,S.Overshoot,S.RiseTime,S.SettlingTime, S.SettlingMin, S.SettlingMax, S.Undershoot, S.Peak, S.PeakTime}; TXL = [TXL;XL]; filename = 'testdataNF.xlsx'; xlswrite(filename,TXL,1,'A1');

Onde XL é um vetor que armazena as informações temporariamente, TXL é uma matriz que a cada iteração é acrescida de uma linha (XL). E com o comando xlswrite é criada uma planilha no excel com os valores armazenados em TXL. Para armazenar os gráficos existem 2 opções: salvar no formato jpg ou fig. Salvando no formato fig, é possível editar o gráfico posteriormente no matlab. hf=figure; plot (t,x(:,4),t,ref(:,1));ylabel('x SM (m)'); xlabel('Tempo (seg)'); . . . name=strcat('Grafico',int2str(idg)); name1=strcat('Figura',int2str(idg)); fpath = 'C:\Users\Fabricio\Desktop\TCC\Modelo-Simulink\Simulador de DP\mpgwrite\ImagensNF'; saveas(hf,fullfile(fpath,name),'jpg') saveas(hf,fullfile(fpath,name1),'fig')

Desta maneira, todos os dados gerados pelas simulações são armazenados, garantindo a possibilidade de se analisar os dados no futuro.

4.3 CONFIGURANDO O ANFIS O matlab possui um app chamado neuroFuzzyDesigner, onde é possível desenvolver um modelo ANFIS.

32

Figura 21 – Neuro-fuzzy Designer

Fonte: Do autor (2016)

Primeiramente é preciso carregar os dados clicando em “Load Data”, os dados precisam estar com extensão txt ou dat. Atenção, para o app números decimais são representados com ponto, se o app se deparar com uma vírgula ele entenderá um número decimal como dois números distindos. Por exemplo: 1,2 1,3 será tratado como 3 inputs e 1 output, e 1.2 1.3 seria tratado como 1 input e 1 output. Além disso, para o app funcionar, todos os números devem conter a mesma quantidade de casas decimais. Depois de carregar os dados, o próximo passo é clicar em “Generate FIS”. Para assim definir o número de funções de pertinência para cada input, qual função de pertinência, e se o output será constante ou linear. Após definir o FIS, pode-se escolher o algoritmo de aprendizado (híbrido ou retropropagação) clicando em “Optim. Method”. Depois de definir o algoritmo, é só clicar em “Train now” e logo após em “Test now”. Depois de cumprir esses passos, o sistema

33

ANFIS está finalmente criado. Ao fechar o app aparecerá a opção de salvar o ANFIS, e assim gerar um arquivo .FIS. Para testar/utilizar o ANFIS, basta utilizar o bloco Fuzzy Logic Controller no simulink recebendo os valores dos inputs, como na figura abaixo:

Figura 22 – Bloco Fuzzy Logic Controller

Fonte: Do autor (2016)

Para configurar o bloco Fuzzy Logic Controller é só colocar o nome do arquivo ANFIS como na figura abaixo: Figura 23 – Configuração do bloco Fuzzy Logic Controller

Fonte: Do autor (2016)

34

4.4 TOPOLOGIA ANFIS Após desenvolver 3 modelos ANFIS, um para cada fator PID, pois o sistema ANFIS é MISO (Multiple Input, Single Output). A resposta do simulador de SPD ainda não estava boa. Cerca de 20% dos ganhos previstos não atingiram a resposta esperada. Inicialmente os 3 modelos ANFIS seguiam o seguinte padrão: 3 inputs (correnteza, vento e onda) e 1 output (P, I ou D).

Figura 24 - ANFIS do ganho proporcional

Fonte: Do autor (2016)

Após diversos testes, de diversas configurações para melhorar o desempenho da resposta do sistema. Foi verificado que cada ANFIS estava reagindo de forma diferente as mesmas entradas, deixando claro que era preciso estabelecer uma forma de “comunicação” entre as ANFIS. Pensando no método de Ziegler e Nichols, onde primeiramente o ganho proporcional é alterado, para então verificar a resposta do sistema e depois definir os ganhos. O padrão de ANFIS para o fator integral e derivativo foi alterado, para a seguinte configuração : 4 inputs (correnteza, vento e onda, P ) e 1 output (I ou D)

35

Figura 25 – ANFIS do ganho Integral

Fonte: Do autor (2016)

A partir dessa configuração as respostas erradas do sistema SPD cairam de 20 para 8%, a seguinte topologia foi definida:

Figura 26 – Modelo que gera os ganhos PID

Fonte: Do autor (2016)

36

4.5 BASE DE DADOS Inicialmente, o critério para selecionar os dados para fazer parte da base de dados de treinamento do neuro-fuzzy era: menor tempo de subida e resposta no regime estacionário com erro de ± 1m. Mas com esses critérios, para os mesmos inputs eram gerados diferentes ganhos com boas respostas. E todas essas respostas foram incluídas na base de dados. Depois do sistema chegar a 8% de erro e não reduzir mais que isso, foi observado que nas respostas erradas havia uma grande diferença do padrão de respostas. Com isso, decidiu-se melhorar os critérios de seleção de dados. Dessa forma, nos casos onde inputs iguais geram ganhos diferentes, apenas a melhor resposta foi para base de dados. Pois inputs bem próximos com respostas bem diferentes podem gerar um erro residual e fazer com que a rede não aprenda esse padrão. Outro fator importante emu ma base de dados, é que os dados tem que ser uniformes, porque valores discrepantes podem induzir o sistema neuro-fuzzy ao erro, dificultando a sua aprendizagem. Após modificações na base de dados, o erro finalmente caiu de 8% para zero, gerando os dados encontrados no apêndice B. Com respostas similares a :

37

Figura 27 – Resposta do controlador PID

Fonte: Do autor (2016)

38

5 CONCLUSÕES

Este trabalho provou que o sistema neuro-fuzzy pode ser uma boa solução para determinar os ganhos de uma planta (mesmo as plantas não-lineares). Sem conhecimento adequado em Sistema de Posicionamento Dinâmico, considerando apenas os dados gerados pelo modelo. Foi possível construir uma topologia ANFIS que prevê os ganhos e realiza uma sintonia de qualidade.

5.1 CONSIDERAÇÕES FINAIS Os pontos principais desse projeto foram a estrutura de repetição e o armazenamento de dados. Pois uma das grandes vantagens da automação é desenvolver soluções em que humanos são pouco eficientes. E sempre que um trabalho envolve muita repetição, geralmente induz ao erro, pois temos a tendência de se distrair. Ao criar uma estrutura de repetição, inúmeras possibilidades podem ser geradas e os resultados podem ser melhorados. Esse trabalho é um exemplo disso, se cada simulação fosse executada individualmente, o número de simulações com certeza não chegaria a 1000. Mas com a estrutura de repetição, foram realizadas mais de 6000 simulações. Gerar um grande volume de dados, e conseguir armazenar isso, faz com que seja possível realizar inúmeras análises e possibilita encontrar uma nova solução para um problema.

5.2 TRABALHOS FUTUROS Como sugestão de trabalhos futuros: Desenvolver um algoritmo genético melhorar os ganhos com base na resposta do sistema; Realizar a sintonia utilizando neuro-fuzzy em outra planta e comparar os resultados; Realizar a sintonia utilizando neuro-fuzzy com os outros graus de liberdade do SPD.

39

REFERÊNCIAS

AGUADO, Alexandre Garcia; CATANHEDE, Marco André. Lógica Fuzzy. [Artigo sem periódico indicado], São Paulo, 2010. ARIOSTON JÚNIOR. Lógica Fuzzy. Academia [site. S.l., 201-?]. Disponível em: . Acesso em: 17 jan. 2016. CALILI, Rodrigo Flora. Desenvolvimento de sistema para detecção de perdas comerciais em redes de distribuição de energia elétrica. [site. S.l., 201-?]. Disponível em: . Acesso em: 17 jan. 2016. COX, Earl. The fuzzy systems handbook: A practitioner’s guide to building, using, and maintaining fuzzy systems . New York: AP Professional, 1994. FULLER, R.. Introduction to Neuro-fuzzy Systems. New York: Springer-verlag New York, LLC, 2000. HALVORSEN, Håvard. Dynamic Positioning for Unmanned Surface Vehicles. 2008.104 f. Dissertação de Mestrado (Master of Science in Engineering Cybernetics) - Norwegian University of Science and Technology, 2008. IEEE CS. Architecture of ANFIS. [S.l., 2012?]. Disponível em: . Acesso em: 26 abr. 2016. INTRODUCTION to PID Controller With Detailed P,PI,PD & PD Control. VIVEK BOSE [site. S.l., 20--]. Disponível em: . Acesso em: 26 abr. 2016. JANG, J.-S. R.; SUN, C.T.; MIZUTANI, E; Neuro-fuzzy and Soft Computing: A Computational Approach to Learming and Machine Intelligence. [New York?]: Prentice Hall Inc, 1997. KARASAKAL, Onur; YESIL, Engin; GUZELKAYA, Mujde; EKSIN, Ibrahim. Implementation of a New Self-Tuning Fuzzy PID Controller on PLC. [S.l.]: Turkish Naval Academy and Istanbul Technical University, 2005. LANHELLAS, Ronaldo. Redes Neurais Artificiais: Algoritmo Backpropagation. DEVMEDIA [site. S.l., 201-?]. Disponível em: . Acesso em: 26 abr. 2016. MATHWORKS. Fuzzy Logic Toolbox Apps. [USA, 2012?]. Disponível em: . Acesso em: 17 jan. 2016. MATHWORKS. Neuro-Adaptive Learning and ANFIS. [USA, 2012?]. Disponível em: . Acesso em: 17 jan. 2016.

40

PIANESE, Cesare. DC/DC Converter-based Diagnos4cs for PEM systems (256673). [S.l.]: University of Salerno, 2012. Disponível em: . Acesso em: 26 abr. 2016 PRINCIPLES of PID Control and Tuning. EUROTHERM, [site. S.l., 201-?]. Disponível em: . Acesso em: 26 abr. 2016. QUINTEROS, William M Cipriano. Estabilidade do navio em condições extremas: Estudo de um modelo numérico não-linear de terceira ordem, acoplado em seis graus de liberdade. 2005. 137 f. Dissertação de Mestrado (Engenharia Oceânica) - Universidade Federal do Rio de Janeiro, Rio de Janeiro, 2005. RUSSELL, Stuart; NORVIG, Peter. Artificial Intelligence: A Modern Approach. 3th ed. USA: Prentice Hall, 2009. SÁNCHEZ, Eleazar Cristian Mejía; ALVA, Juan Gerardo Castillo. Controle por aprendizado neuro - fuzzy para incrementar a frequência de testes de máquinas de ensaios de fadiga. [S.l.: s.n., 2011]. Disponível em: < http://meggi.usuarios.rdc.pucrio.br/paper/C133_Coteq11_Controle_por_aprendizado_neuro_fuzzy.pdf >. Acesso em: 17 jan. 2016. SILVA, Renato Maia. Redes Neurais Artificiais aplicadas à Detecção de Intrusão em Redes TCP/IP. 2005. 144 f. Dissertação de Mestrado – Pontifícia Universidade Católica do Rio de Janeiro, Rio de Janeiro, 2005. SOUZA, Osmar do Nascimento. Teoria e Aplicações de Memórias Associativas Morfológicas Nebulosas. 2010. 15 f. Relatório de Iniciação Científica, Universidade Estadual de Londrina, Londrina, 2010. TANNURI, Eduardo Aoun. Desenvolvimento de Metodologia de Projeto de Sistema de Posicionamento Dinâmico aplicado a operações em Alto-Mar. 2001. 273 f. Tese de Doutorado (Engenharia Mecânica) - Universidade de São Paulo, São Paulo, 2002. TANNURI, Eduardo Aoun. Sistemas de posicionamento dinâmico: projeto, análise e novos desenvolvimentos. 2009. 93 f. Texto sistematizado de pesquisa (Livre Docência) Universidade de São Paulo, São Paulo,2009. THORLABS. Driver PID Settings. [S.l., 20--]. Disponível em: . Acesso em: 26 abr. 2016. UNIVERSIDADE FEDERAL DO RIO DE JANEIRO. Coordenação dos Programas de PósGraduação de Engenharia. Análise de Seakeeping. Rio de Janeiro, [20--]. Disponível em: . Acesso em: 17 jan. 2016. WAJNSZTAJN, Rafael. Projeto de Redes Neurais para determinar os ganhos PID de um

41

Sistema de Posicionamento Dinâmico de uma Embarcação. 2012. 96 f. Dissertação de Mestrado (Engenharia Eletrônica) - Universidade do Estado do Rio de Janeiro, Rio de Janeiro, 2012. YARPIZ. Nonlinear Regression using ANFIS. [site. S.l., 201-?]. Disponível em: . Acesso em: 26 abr. 2016. ZADEH, Lotfi A. Fuzzy sets. Information and control, [S.l.], v. 8, n. 3, p. 338-353, 1965. ZALM, G.M. van der. Tuning of pid-type controllers: literature overview [relatório. S.l.]: DAF, [20--]. Disponível em: . Acesso em: 17 jan. 2016.

42

APÊNDICE A – TABELA DE TREINAMENTO NEURO-FUZZY

Tabela com os dados utilizados no treinamento do sistema neuro-fuzzy: U

V 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,2 0,2 0,2 0,2 0,2 0,2 0,2

Hs 0 1 2 2 2 3 4 5 6 9 9 10 12 14 16 1 1 2 2 2 3 4 4 5 6 6 7 9 11 18 2 2 3 4 5 6 6

0 0,5 0 0,5 1 1,5 1,5 2,5 2,5 1,5 2,5 4 2,5 2 1 0 0,5 0 0,5 1 1 0,5 1,5 1 1 2 1,5 4,5 4,5 4 0 1 0,5 0,5 1 1,5 2

P I D Mp ts Peak 21470,95 26,00 5931722,34 0,40 149,83 24,17 21499,09 26,00 5901977,09 0,46 149,76 24,12 21472,95 26,00 5939157,75 0,37 149,88 24,17 28091,75 136,92 71684598,12 0,01 148,20 24,00 21588,95 26,00 5612587,91 0,83 149,61 24,02 21743,07 130,00 5196097,16 0,70 150,96 24,11 17784,86 359,81 11199980,20 0,00 150,90 24,16 19134,22 113,39 25327738,62 1,38 146,50 23,83 19947,17 260,00 309480318,79 0,18 147,78 23,97 21720,60 78,00 5251864,30 0,22 151,76 24,12 16156,36 85,25 35002196,74 1,02 147,05 23,84 15285,30 229,58 75313287,63 1,39 146,48 23,84 22488,29 234,00 5578230,94 0,27 154,78 24,35 21703,54 52,00 5382070,27 0,55 153,08 23,98 19489,86 300,59 90341828,66 0,02 148,54 24,03 21507,38 26,00 5856567,72 0,32 149,98 24,13 21511,84 26,00 5868826,39 0,38 149,94 24,10 21508,97 26,00 5862024,25 0,30 150,03 24,13 21529,46 26,00 5818133,52 0,32 150,00 24,09 21677,36 78,00 5031735,73 0,41 150,54 24,08 28854,09 264,72 27741094,74 0,08 148,44 23,98 22351,06 264,22 39679893,88 0,02 148,50 24,02 21919,95 182,00 5146860,13 0,46 150,71 24,16 21651,68 52,00 5001262,20 0,19 150,73 24,08 21712,61 26,00 5474941,28 0,15 150,52 24,01 14235,84 194,61 2575404,64 2,37 154,30 24,69 11764,20 250,30 5520913,87 1,49 152,31 24,45 33471,43 260,00 6643054,23 2,08 164,58 24,05 20071,23 260,00 373093239,07 0,54 147,33 23,98 30798,12 260,00 5748858,72 3,16 153,77 24,53 49774,28 132,22 79477885,60 0,00 148,15 23,99 21795,68 104,00 4952290,12 0,32 151,32 24,09 21597,11 26,00 5731282,96 0,23 150,18 24,04 27355,88 174,21 70163349,17 0,02 148,21 23,98 19697,74 317,04 7097248,56 1,24 150,08 24,31 15275,77 265,01 10741919,80 0,10 151,16 24,15 19961,68 260,00 409704748,60 0,10 147,87 24,01

43

0,2 0,2 0,2 0,2 0,2 0,3 0,3 0,3 0,3 0,3 0,3 0,4 0,4 0,4 0,4 0,4 0,4 0,4 0,4 0,4 0,4 0,5 0,5 0,5 0,5 0,5 0,5 0,6 0,6 0,6 0,6 0,6 0,6 0,6 0,6 0,7 0,7 0,7 0,8 0,8 0,8 0,8 0,8 0,9 0,9

7 11 14 15 24 5 5 5 7 9 15 4 4 5 6 7 7 7 9 10 26 5 6 6 7 7 13 6 7 7 9 15 15 25 26 7 19 21 9 9 12 18 21 11 21

2,5 3,5 5,5 4,5 5,5 0 1,5 2 3,5 0,5 2,5 1 2 1 1,5 0 0,5 2,5 4 1,5 5,5 0,5 1,5 2 0,5 2 1 1 1,5 2,5 4,5 2 3 4,5 3 2,5 5,5 3,5 2 3,5 4 3 5,5 1,5 4,5

42941,52 15459,93 49561,85 23366,93 12014,09 22435,48 25949,28 26053,76 52142,19 21721,60 23653,62 21931,96 20049,60 34500,69 22593,25 21782,83 12104,04 42210,43 59419,78 22463,45 5654,58 21970,12 22241,92 24690,08 21989,21 22463,11 22183,87 55390,97 22600,42 23632,67 48396,43 36095,86 28731,60 103329,46 25743,59 23109,81 112630,93 161972,48 12335,11 57334,26 51068,50 28684,82 100426,50 14532,44 190281,91

260,00 260,00 260,00 260,00 177,32 309,81 85,93 198,08 260,00 26,00 156,00 130,00 260,00 309,62 84,95 52,00 233,60 260,00 156,00 81,23 27,47 130,00 182,00 138,38 104,00 260,00 78,00 260,00 136,75 260,00 260,00 260,00 260,00 143,00 130,00 182,00 143,00 143,00 195,42 130,00 182,00 130,00 143,00 342,01 143,00

7161259,10 6210478,21 4800000,00 6405059,87 230303156,95 49254302,65 22448441,53 19405716,36 10211396,87 5793532,82 4881897,07 4854922,93 5755142,22 36501987,13 9780368,18 4800000,00 7914196,08 5280000,00 4806031,28 45461742,89 242885473,76 4827033,16 4800000,00 3757468,38 4815965,33 3532851,68 4815958,44 9636247,81 3086861,99 4301114,10 3549753,63 6330086,82 6317339,74 207687727,66 5228588,20 5171872,67 207687727,66 207687727,66 117195160,32 5089780,13 4962607,83 4800000,00 207687727,66 210801846,60 207687727,66

0,78 0,84 3,33 3,31 1,30 0,00 0,52 0,14 0,27 0,03 0,83 0,22 0,04 0,08 0,00 0,05 0,15 0,31 0,28 0,42 1,50 0,05 0,00 1,04 0,11 0,97 0,13 0,13 0,52 0,95 0,51 0,45 1,04 0,99 0,36 0,36 1,26 0,44 0,75 1,18 1,02 1,62 1,43 0,32 1,08

151,67 164,55 159,71 163,09 146,13 148,41 147,98 149,40 155,94 151,33 158,99 152,50 154,20 148,43 149,60 151,69 152,30 152,55 159,24 147,77 146,26 152,50 154,08 158,56 152,56 154,09 154,15 150,51 156,53 157,75 167,05 155,13 160,20 146,77 166,52 161,15 146,48 147,49 147,17 156,39 160,68 164,58 146,18 147,57 146,58

24,08 24,36 23,57 24,36 23,76 24,00 23,86 23,85 24,14 24,06 24,28 24,12 24,17 23,94 23,69 24,06 24,29 23,97 24,12 23,88 23,83 24,12 24,12 24,33 24,10 24,37 24,14 24,05 24,22 24,25 24,04 24,24 24,45 23,82 24,40 24,02 23,72 23,82 23,87 23,39 23,76 24,09 23,66 23,93 23,82

44

1 1 1 1,1 1,1 1,2 1,2 1,3 1,3 1,3 1,3 1,3 1,4 1,4 1,5 1,5 1,5 1,6 1,8 1,8 1,8

10 11 19 14 26 14 17 13 16 18 19 21 14 21 18 19 24 20 18 20 22

0 2,5 4,5 4,5 4,5 5,5 5,5 3 4,5 2,5 5,5 1 5,5 2 4 5,5 3 2,5 4 3,5 2

22605,58 23161,93 212369,31 188878,21 42076,12 306819,02 328632,49 61349,86 347769,59 61412,65 346251,96 72336,36 486590,88 44059,55 358369,69 476081,53 60296,97 124131,31 426622,70 241125,40 52889,56

104,00 260,00 143,00 143,00 234,00 143,00 143,00 182,00 143,00 260,00 143,00 260,00 143,00 182,00 143,00 143,00 104,00 143,00 143,00 143,00 208,00

4800000,00 2997205,39 207687727,66 207687727,66 5450980,62 207687727,66 207687727,66 5077364,00 207687727,66 9102388,46 207687727,66 7401013,62 207687727,66 4800000,00 207687727,66 207687727,66 4800000,00 207687727,66 207687727,66 207687727,66 4800000,00

0,00 1,88 1,13 1,43 2,40 1,90 1,18 0,11 1,04 0,15 1,43 0,00 1,36 0,66 1,01 1,50 0,74 0,92 0,94 1,03 0,03

158,31 166,42 146,41 146,20 166,97 145,62 146,40 159,86 146,65 161,50 146,13 154,43 146,31 165,17 146,73 146,24 162,74 146,83 146,70 146,66 169,52

23,99 24,69 23,74 23,76 23,98 23,68 23,67 23,61 23,74 23,99 23,58 24,09 23,64 24,01 23,74 23,69 23,00 23,80 23,68 23,68 23,99

45

APÊNDICE B – TABELA GERADA PELO NEURO-FUZZY

Tabela com os dados gerados pelo sistema neuro-fuzzy: U

V 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1

Hs 1 3 3 4 5 5 6 6 7 7 9 9 11 11 12 13 13 14 15 16 16 17 20 26 4 5 5 8 10 11 12 12 14 15 18 20 26

P 0 20847,17 0 26243,20 0,5 27912,08 0,5 29706,89 1 26559,69 1,5 19250,85 1,5 17233,26 3 22258,68 2,5 17764,65 3 26892,84 0,5 37229,82 3,5 22550,63 2,5 20209,38 3 16549,14 3,5 10826,92 2 31278,92 5 120965,05 4 40903,22 5 125012,83 5 105212,89 5,5 19132,42 5,5 107702,68 5,5 465948,79 5,5 1173281,84 1 20265,51 0 19364,09 0,5 21730,25 0 15781,91 3 27574,00 5 67921,33 3,5 12993,15 5,5 138315,33 2 33928,77 3 19627,82 5 21183,64 5,5 517607,99 5,5 981317,96

I 85,58 102,24 111,35 114,46 105,33 83,83 74,26 106,80 88,29 132,30 108,65 109,18 103,86 86,05 53,90 144,80 255,82 180,78 237,51 258,43 61,33 228,73 27,74 192,90 80,74 67,06 78,30 44,50 141,74 235,30 64,25 208,77 152,47 93,80 58,76 54,36 192,90

D Mp ts Peak 206140076,62 0,00 148,03 24,00 206140076,62 0,00 148,04 24,00 206140076,62 0,01 148,02 24,00 206140076,62 0,01 148,03 24,00 206140076,62 0,04 148,00 23,99 206140076,62 0,10 147,92 23,99 206140076,62 0,06 147,98 23,98 206140076,62 0,46 147,39 23,93 206140076,62 0,40 147,53 23,98 206140076,62 0,53 147,41 23,94 206140076,62 0,01 148,07 24,01 206140076,62 0,61 147,22 23,97 206140076,62 0,36 147,54 23,98 206140076,62 0,44 147,53 23,96 206140076,62 0,45 147,50 23,88 206140076,62 0,17 147,81 23,99 206140076,62 0,76 147,31 23,82 206140076,62 0,59 147,36 23,92 206140076,62 0,67 147,03 23,80 206140076,62 0,44 147,47 23,85 206140076,62 0,85 146,96 23,78 206140076,62 1,24 146,56 23,71 206140076,62 0,44 147,66 23,81 206140076,62 0,13 147,90 23,93 206140076,62 0,06 147,96 24,00 206140076,62 0,00 148,04 24,00 206140076,62 0,01 148,04 24,00 206140076,62 0,00 148,08 24,00 206140076,62 0,35 147,56 23,98 206140076,62 0,81 147,04 23,85 206140076,62 0,73 146,95 23,93 206140076,62 0,94 146,82 23,72 206140076,62 0,12 147,91 23,96 206140076,62 0,34 147,62 23,95 206140076,62 1,41 146,19 23,77 206140076,62 0,52 147,28 23,83 206140076,62 0,53 147,59 23,93

46

0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,3 0,3 0,3 0,3 0,3 0,3 0,3 0,3 0,3 0,3 0,3 0,3 0,3 0,3 0,3 0,3 0,3 0,3 0,3 0,4 0,4 0,4 0,4

3 4 4 7 8 9 9 9 10 10 11 13 15 16 16 18 18 19 20 20 22 26 6 7 8 8 9 9 9 10 11 12 14 14 15 16 16 20 23 24 25 4 4 6 7

0 1 2 1,5 3,5 1,5 2,5 3 4 5 2 5,5 5,5 1 5,5 4 5 3 5 5,5 5,5 5,5 1 3 1 4 1 1,5 3 2,5 5,5 5,5 0 4,5 5,5 1,5 5,5 5,5 5,5 5,5 5,5 0,5 1,5 3 2

31286,37 21788,20 18062,30 18090,14 50626,64 24626,54 34298,55 40203,91 16847,31 47609,16 40797,31 79201,98 2384,22 63574,19 85090,90 25597,03 67245,79 332531,98 47580,49 531424,79 442822,89 721261,64 20290,13 55603,71 19360,05 47532,40 22632,62 25080,03 44872,27 36668,67 71327,56 63375,79 48535,78 18681,34 32091,97 75845,83 101161,61 479643,74 319486,05 130982,29 107150,49 29185,26 21732,01 44379,71 29827,75

113,66 83,40 79,01 74,09 230,98 99,94 171,11 200,96 72,02 152,08 191,72 255,60 7,56 167,00 243,50 84,31 182,95 51,32 98,93 95,02 52,95 192,90 70,48 254,44 64,55 180,38 73,97 99,54 219,30 182,06 209,49 192,13 99,01 68,39 96,31 257,82 248,46 138,27 172,68 106,06 96,69 90,36 77,55 183,80 125,34

206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62

0,00 0,06 0,28 0,09 0,50 0,08 0,22 0,35 0,53 0,98 0,15 1,19 1,65 0,02 1,00 0,71 1,22 0,18 1,13 0,88 1,02 0,08 0,07 0,47 0,06 0,90 0,06 0,12 0,28 0,33 1,63 1,47 0,00 0,97 1,36 0,02 1,62 0,74 0,83 1,18 1,36 0,05 0,17 0,57 0,26

148,02 147,98 147,67 147,94 147,42 147,97 147,78 147,65 147,31 146,73 147,88 146,50 145,96 148,11 146,86 147,16 146,52 147,81 146,63 147,05 146,71 148,01 147,95 147,39 147,98 146,78 147,97 147,92 147,68 147,65 145,92 145,91 148,14 146,74 146,30 148,10 145,88 147,07 147,23 146,65 146,47 147,96 147,82 147,28 147,73

23,99 24,00 23,98 23,99 23,93 23,99 23,93 23,97 23,90 23,77 23,94 23,71 23,77 24,00 23,84 23,92 23,85 23,95 23,82 23,95 23,84 23,84 23,99 23,88 23,99 23,85 23,99 23,96 23,94 23,97 23,81 23,76 24,00 23,91 23,82 23,97 23,80 23,84 23,88 23,83 23,82 23,99 23,98 23,96 23,95

47

0,4 0,4 0,4 0,4 0,4 0,4 0,4 0,4 0,4 0,4 0,4 0,4 0,4 0,5 0,5 0,5 0,5 0,5 0,5 0,5 0,5 0,5 0,5 0,5 0,5 0,5 0,5 0,5 0,6 0,6 0,6 0,6 0,6 0,6 0,6 0,6 0,6 0,7 0,7 0,7 0,7 0,7 0,7 0,7 0,7

7 8 8 9 12 12 12 15 16 18 19 21 25 5 5 5 5 6 7 7 10 11 11 12 15 18 21 21 6 8 9 11 14 14 16 18 22 8 10 11 12 13 13 17 18

3 2,5 3,5 4,5 3 5 5,5 3,5 3,5 5,5 4,5 5,5 5,5 0 1,5 2 2,5 3 1,5 3 2 3 4,5 1 5 5,5 2 4,5 2,5 3 4 5 4 5,5 2 5,5 2,5 3 4 2,5 0 2 5,5 2,5 5,5

56789,41 37242,64 65497,44 40921,05 19977,43 17485,84 56251,21 13238,46 20855,92 211264,56 88140,87 384626,42 132792,63 20139,49 22268,70 23898,42 26567,59 37661,74 17500,48 49913,01 5040,10 7358,76 44341,16 4180,12 7795,79 83044,14 70054,81 189285,40 30210,46 34122,47 76359,47 84929,31 595,67 78326,94 52574,12 36247,56 34331,92 30321,36 76969,52 16781,23 227582,62 7675,71 125019,63 24731,12 122840,42

247,69 171,10 277,75 127,26 99,38 52,75 156,35 59,12 88,61 305,55 210,21 216,95 123,36 52,72 73,80 85,89 98,42 145,46 61,82 205,80 22,25 35,60 141,44 12,61 21,52 186,39 155,76 215,32 110,87 142,62 262,21 207,77 2,27 181,14 213,34 77,46 73,33 121,83 266,55 77,79 7,84 33,58 338,49 101,16 292,59

206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62

0,45 0,35 0,55 1,01 0,50 1,41 1,51 0,79 0,72 1,16 1,11 0,92 1,10 0,06 0,21 0,26 0,43 0,55 0,20 0,54 0,32 0,55 1,20 0,09 1,80 1,44 0,10 0,76 0,44 0,61 0,84 1,34 0,98 1,88 0,26 1,66 0,26 0,58 0,92 0,57 0,03 0,30 1,75 0,35 1,59

147,51 147,59 147,24 146,91 147,37 146,22 146,14 147,05 147,20 146,43 146,58 146,94 146,64 147,94 147,73 147,71 147,45 147,34 147,79 147,27 147,63 147,33 146,39 147,93 145,73 146,21 147,94 146,99 147,48 147,22 146,90 146,41 146,78 145,69 147,68 145,84 147,78 147,29 146,69 147,33 147,98 147,65 145,56 147,57 145,99

23,93 23,97 23,87 23,82 23,88 23,87 23,84 23,93 23,93 23,79 23,88 23,90 23,78 23,98 23,98 23,95 23,96 23,88 23,98 23,93 23,94 23,97 23,89 23,99 23,79 23,70 23,94 23,84 23,91 23,95 23,84 23,84 23,87 23,77 23,94 23,73 23,93 23,89 23,86 23,92 23,97 23,95 23,70 23,94 23,72

48

0,7 0,8 0,8 0,8 0,8 0,8 0,8 0,8 0,8 0,8 0,8 0,8 0,9 0,9 0,9 0,9 0,9 0,9 0,9 0,9 1 1 1 1 1 1 1 1 1 1 1 1 1,1 1,1 1,1 1,1 1,1 1,2 1,2 1,2 1,3 1,3 1,3 1,3 1,4

20 8 10 11 11 12 12 13 16 17 19 26 9 12 12 15 18 19 20 21 10 11 12 13 14 14 15 17 18 18 22 23 12 14 17 21 24 14 15 25 13 16 19 22 18

5 120802,86 2,5 15339,87 1 4654,97 3 4760,87 4,5 103665,16 1 139082,83 1,5 53392,19 2 10235,21 4 73448,35 5,5 172267,87 5,5 176282,45 5,5 459379,20 1 267934,89 1,5 40334,31 3,5 30225,20 5,5 190344,21 5,5 219491,53 4 159973,77 5,5 197234,19 0,5 1421266,82 1,5 220123,07 0,5 114910,92 3,5 47238,73 5,5 191572,26 4,5 140525,92 5,5 214578,01 4,5 146850,60 5,5 244442,22 2,5 36352,62 5,5 250654,97 5,5 133567,10 2 699,60 4 114046,26 5,5 253152,10 5 258144,90 5,5 229944,00 5,5 62499,14 2 68348,75 2,5 98293,68 5,5 137064,42 5,5 310774,34 1,5 284675,37 4 253045,90 5,5 306593,11 2 9504,16

249,32 60,10 13,12 21,52 275,84 163,62 194,16 44,03 250,37 552,55 477,06 153,24 47,08 142,80 124,53 692,95 674,40 295,47 488,03 192,90 78,19 157,20 185,95 703,67 385,11 787,41 400,44 803,72 129,66 762,43 245,31 1,36 298,99 884,95 751,59 471,69 101,95 228,21 290,09 178,33 855,84 124,87 345,38 432,82 20,47

206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62

1,23 0,61 0,24 0,77 1,28 0,13 0,25 0,36 1,07 1,21 1,28 0,81 0,17 0,28 0,88 1,24 1,12 0,75 1,05 0,01 0,27 0,19 1,18 1,23 1,08 1,49 1,03 1,15 0,54 0,66 1,48 0,43 1,07 1,63 1,06 1,15 2,53 0,57 0,57 2,01 0,88 0,31 0,91 1,36 0,84

146,48 147,19 147,71 147,07 146,31 147,88 147,68 147,56 146,62 146,51 146,34 147,09 147,80 147,67 146,82 146,51 146,58 147,23 146,70 148,13 147,63 147,77 146,45 146,49 146,56 146,06 146,66 146,57 147,38 147,13 146,12 147,43 146,50 145,93 146,61 146,38 144,88 147,28 147,27 145,54 146,82 147,64 146,78 146,26 146,90

23,76 23,90 23,95 23,87 23,87 23,95 23,95 23,95 23,87 23,69 23,72 23,79 23,95 23,93 23,84 23,66 23,65 23,78 23,69 24,00 23,93 23,93 23,85 23,61 23,80 23,67 23,80 23,77 23,90 23,62 23,73 23,90 23,82 23,74 23,68 23,67 23,57 23,88 23,85 23,61 23,66 23,89 23,75 23,64 23,85

49

1,4 1,4 1,5 1,5 1,5 1,5 1,5 1,6 1,6 1,6 1,6 1,6 1,7 1,7 1,7 1,7 1,7 1,8 1,8 1,8 1,8 1,8 1,8 1,8 1,8 1,8 1,8 1,8 1,8 1,8 1,8 1,8

20 26 15 19 22 22 25 16 18 18 20 22 17 17 18 21 26 18 18 19 20 20 21 22 22 22 23 23 24 25 26 26

5,5 377140,68 5,5 510671,79 5,5 647578,37 3,5 216222,37 2,5 68743,89 4 413645,07 5,5 624835,68 5,5 767696,09 2 62798,54 4 394887,53 5,5 518278,98 5,5 529620,49 3 25456,60 5,5 837000,09 4,5 658789,12 4 495242,33 5,5 982995,40 2,5 50286,04 4,5 724854,36 3 64692,51 4 477747,78 5,5 693796,28 5,5 664822,60 1,5 369076,11 2,5 147231,40 5,5 682754,48 4,5 846233,23 5,5 742809,40 5,5 835283,11 3 251340,90 5 1204741,61 5,5 1077804,66

718,93 554,33 2363,72 191,95 132,51 447,52 847,56 192,90 96,90 691,32 1378,09 1084,20 35,45 192,90 192,90 719,69 192,90 68,62 192,90 94,03 818,68 192,90 192,90 128,43 140,43 192,90 192,90 192,90 192,90 158,58 192,90 192,90

206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62 206140076,62

1,40 0,83 0,01 1,12 0,87 0,63 0,56 0,77 0,93 0,71 0,08 0,32 1,65 0,45 0,94 0,56 0,30 1,39 0,44 1,75 0,45 0,94 0,93 0,44 1,01 0,95 0,32 1,09 0,74 0,93 0,12 0,28

146,01 146,66 148,34 146,64 146,90 147,29 147,41 147,13 146,82 146,97 147,84 147,39 145,87 147,43 146,88 147,35 147,45 146,19 147,22 145,78 147,28 146,79 146,78 147,44 146,64 146,85 147,68 146,57 147,07 146,85 147,99 147,53

23,68 23,67 23,75 23,75 23,81 23,75 23,70 23,63 23,80 23,71 23,64 23,60 23,70 23,58 23,77 23,75 23,65 23,74 23,67 23,71 23,70 23,55 23,56 23,83 23,75 23,52 23,70 23,58 23,69 23,75 23,69 23,65

50

APÊNDICE C – ALGORITMO DO SIMULADOR COM NEURO-FUZZY

Código do programa funcionando com o sistema neuro-fuzzy integrado: % Inicializações global Ae n maxth x_th y_th global S_rao a_surge a_sway a_yaw f_surge f_sway f_yaw vet_RAO dir_onda psic fase_aleatoria a_heave a_pitch a_roll f_heave f_pitch f_roll; global Dox Doy Noz w ang; global P_surge I_surge D_surge global U vel_vento Hs opengl hardware open('testeNF_pid3.slx'); pause(5) TXL = {'Grafico','U','V','Hs','P','I','D','Mp','ts', 'SettlingTime', 'SettlingMin', 'SettlingMax', 'Undershoot', 'Peak', 'PeakTime'}; stream = RandStream('mt19937ar','Seed',0); RandStream.setGlobalStream(stream); reset(stream,sum(100*clock)); for idg=1:300 vel_vento=randi([0, 26]); U=(randi([0, vel_vento]))/10; if U > 1.8 U = 1.8; end Hsaux=randi([0, fix(vel_vento/2)]); Hs=(randi([Hsaux, vel_vento]))/2; if Hs > 5.5 Hs = 5.5; end VARU = [0; U]'; VARV = [0; vel_vento]'; VARH = [0; Hs]'; % Simulacao maximo = 30000; % Numero máximo de pontos armazenados mult = 1; % Não mexer step = 1; % Passo para amostragem tsimul = 600; x10 = 0 ; x20 = 0.001 ; x30 = 0 ; x40 = 0 ; x50 = 0 ; x60 = 0 ; % Dados gerais L = 120 ; B = 30 ; m = 17000e3 ; xg = -0 ; Ts = 5. ; raio_de_giracao = 30.00 ; Iz = m*raio_de_giracao^2 ;

% Comprimento (m) % Boca (m) % massa % posicao do CG % calado % (m) % Momento de inércia z (Gg.m2)

51

m11 = 0.1*m; m22 = 0.5*m; m66 = 0.05*m*L^2; m26 = 0; ro = 1025; mi = 1e-3; g = 9.8; (m/s2) roar = 1.28 ;

% m11 (Kg) % m22 (Kg) % m66 (Kg.m2) % m26 (kg.m) % Densidade da Água do mar (kg/m3) % Viscosidade da Água do mar (SI) % Aceleração da gravidade na Terra % Densidade do ar

% Dinamica do navio A_ = m + m22 ; B_ = m26 + m*xg ; C_ = Iz + m66 ; D_ = (A_*C_-B_^2); x_operacao = 0; y_operacao = 0; % Condicoes ambientais reais fat=1; psic = 180*pi/180;

% angulo correnteza (0 popa / 90 boreste ...)

errocorr = 0.2; dir_vento = 180*pi/180;

% angulo vento

espec_w = 2; % 1=Harris antigo 2=Harris DNV 3=Occhi DNV errovento = -0.2; deltaV = -0.1; % erro relativo na monitoracao da velocidade do vento dir_onda = 180*pi/180; Tp = 6 ;

% angulo correnteza

erroonda = 0.2;

% Correnteza dat_cor; calc_cor; % Vento dat_vento; % Ondas wo = 2*pi/Tp; dat_ond; [Dx,Dy,Nz,Dxwdd1,Dywdd1,Nzwdd1,Dxwdd2,Dywdd2,Nzwdd2,Dx_DL,Dy_DL,Nz_DL]=calc_ond2(Hs,Tp,dir_ond a,U,psic); w_DL = linspace(0,0.3*wo,80); delta_mi = w_DL(2)-w_DL(1); t_DL = 0:2*pi/wo/3:tsimul; for j=1:length(w_DL) fase1(j) = rand*2*pi; fase2(j) = rand*2*pi; fase3(j) = rand*2*pi; end; for i=1:length(t_DL)

52

f1_DL(i) = 0; f2_DL(i) = 0; f3_DL(i) = 0; for j=1:length(w_DL) f1_DL(i) = f1_DL(i) + cos(fase1(j) + w_DL(j)*t_DL(i)); f2_DL(i) = f2_DL(i) + cos(fase2(j) + w_DL(j)*t_DL(i)); f3_DL(i) = f3_DL(i) + cos(fase3(j) + w_DL(j)*t_DL(i)); end; end;

% Controle xd = 0; yd = 0; psid = 0*pi/180; xr = x_operacao; % posicao do ponto de referencia para controlador %PID %P_surge = 22000; I_surge = 260; D_surge = 4800000; P_sway = 12000; I_sway = 40; D_sway = 200000*5; P_yaw = 1e7; I_yaw = 1e4; D_yaw = 0; atraso_feedforward = 60; %feedback linearization wn1 = 2*pi/200 ; zeta1 = .7; % *************** wn2 = 2*pi/200 ; zeta2 = .7; % *************** wn3 = 2*pi/200 ; zeta3 = .7; % *************** xinid = x40; yinid = x50; psiinid = x60; xinid = xr; yinid = 0; psiinid = 0*pi/180; deltapsid = 30*pi/180 ; deltaxd = 24 ; deltayd = 10; tmax = 250; % referencia avanco 24m linear vel = 0.1; t_estab=100; dir_ref = 55*pi/180;

% Primeira ordem preparacao wo = 2*pi/Tp ; mo = 1/16*Hs^2 ; rao_bgl; w_rao=a_surge(:,1); for i=1:length(w_rao) zeta = w_rao(i)/wo; S_rao(i) = 5*mo/wo*1/zeta^5*exp(-5/4*1/zeta^4); end; fase_aleatoria=rand(size(w_rao))*pi; % filtro de onda nfiltro = 4;Tfiltro = 1/0.4; nfiltroc = 4;Tfiltroc = 1/0.5; zs=[]; ps=[-1/Tfiltroc] * ones(nfiltroc,1); go=[1/Tfiltroc]^nfiltroc; sys=zpk(zs,ps,go);

% Frequencia de pico (rad/s) % Momento de primeira ordem

% Integrandos

53

nfiltro = 1;Tfiltro = 1/0.8; ps=[-1/Tfiltro] * ones(nfiltro,1); go=[1/Tfiltro]^nfiltro; sys=zpk(zs,ps,go); tffinal = tf(sys); [numeradorc,denominadorc]=tfdata(tffinal,'v');

zeta=0.55; w1 = 0.5; tf1=tf([1 2*zeta*w1 w1^2],[1 2*w1 w1^2]); w2 = 0.73; tf2=tf([1 2*zeta*w2 w2^2],[1 2*w2 w2^2]); w3 = 1.1; tf3=tf([1 2*zeta*w3 w3^2],[1 2*w3 w3^2]); tffinal = tf1 * tf2 * tf3 ;

[numerador,denominador]=tfdata(tffinal,'v'); numeradorv=numerador; denominadorv=denominador;

% Controle Sliding Mode sliding_mode=1; if sliding_mode a_1 = m+m11; a_2 = m+m22; a_3 = Iz+m66-xr*(m26+m*xg); a_4 = m*xg+m26; a_5 = m*xg+m26-(m+m22)*xr; D_r = a_2*a_3-a_4*a_5; C_11 = 1/a_1; C_22 = (a_3-a_5*xr)/D_r; C_26 = -a_5/D_r; C_62 = C_26; C_66 = a_2/D_r; % Parametros de controle lambda1 = .04; lambda2 = .04; lambda3 = .04; treach eta1 = eta2 = eta3 =

= 200; 2*abs(5)*lambda1/treach; 2*abs(5)*lambda2/treach; 2*abs(5*pi/180)*lambda3/treach;

%fi1=4e-3/lambda1; fi1=8e-3/lambda1; fi1=3e-2/lambda1; %fi2=4e-2/lambda2; fi2=1e-2/lambda2; fi2=3e-2/lambda2; %fi3=3e-4/lambda3;

54

fi3=1e-4/lambda3; fi3=3e-4/lambda3;

% calculo do erro na forca de correnteza Util = 1.1*fat; deltaUmax = 0.1*fat; alfa = 10*pi/180; alfaOXYZtil = pi/2; deltaalfaOXYZmax = 10*pi/180; alfa_est = mat_cor(:,1)*pi/180; for i=1:length(alfa_est) C1c(i)=mat_cor(i,2)/(0.5*ro*ACL); C2c(i)=mat_cor(i,3)/(0.5*ro*ACL); C6c(i)=mat_cor(i,4)/(0.5*ro*ACL*L); end; dalfa = alfa_est(2)-alfa_est(1); dC1c = diff(C1c)/dalfa; dC1c = [dC1c dC1c(length(dC1c))]; dC2c = diff(C2c)/dalfa; dC2c = [dC2c dC2c(length(dC2c))]; dC6c = diff(C6c)/dalfa; dC6c = [dC6c dC6c(length(dC6c))]; Yvr = -ro*Ts*L^2*max(I1p)/L^2*sign(-sin(alfaOXYZtil)); Nvr = -ro*Ts*L^3*l6*Cy*sign(-sin(alfaOXYZtil)); ec=0.2; Xvr = m22-1/4*ro*pi*Ts^2*L; Xrr = -1/16*ro*pi*Ts^2*L^2; Yur = 1/4*ro*pi*Ts^2*L*(1-4.40*B/L+0.16*B/Ts); Nur = -1/8*ro*pi*Ts^2*L^2*(1+0.16*B/Ts-2.2*B/L); % calculo do erro na forca de onda Tptil = 7.14;%6*1.408 ; Hstil = 2 *fat; dir_ondatil = 70*pi/180; deltaTpmax = 1.4; deltaHsmax = 1; deltadirondamax = 20*pi/180; eo = 0.2; [Dxtil,Dytil,Nztil,Dxwdd1til,Dywdd1til,Nzwdd1til,Dxwdd2til,Dywdd2til,Nzwdd2til,Dx_DLtil,Dy_DLt il,Nz_DLtil]=calc_ond2(Hstil,Tptil,dir_ondatil,Util,alfaOXYZtil); psi_vet = (0:15:360)*pi/180; for i=1:length(psi_vet) betao = ((rem((dir_ondatil-psi_vet(i)),2*pi)*(dir_ondatil-psi_vet(i)>=0)) + ((rem((dir_ondatil-psi_vet(i)),2*pi)+2*pi)*(dir_ondatil-psi_vet(i) 0 pause(1) end

load_system('modelo_tese.mdl'); try set_param('modelo_tese','SimulationCommand','start'); catch E if isa(E, 'MSLException') errHndls = E.handles{1} end end while strcmp(get_param('modelo_tese', 'SimulationStatus'), 'running') > 0 pause(1) end ii_regime = round(0.4*length(x)):1:length(x); tmin = 0; tmax_ = max(t); clear x_ref x_oper x_setpoint; ref_ini(1) = x_operacao; ref_ini(2) = 0;

close_system('modelo_tese.mdl'); hf=figure; try plot (t,x(:,4),t,ref(:,1));ylabel('x SM (m)'); xlabel('Tempo (seg)'); S= stepinfo(x(:,4),t,'RiseTimeLimits',[0,0.9]) S2ref = stepinfo(ref(:,1),t,'RiseTimeLimits',[0,0.9]); fprintf('U = %.2f V = %.2f Hs = %.2f\nP = %.2f I = %.2f D = %.2f\nMp = %.2f ts = %.2f\n', U,vel_vento,Hs,P_surge,I_surge,D_surge,S.Overshoot,S.RiseTime); fprintf('\n - %d -\n', idg);

name=strcat('Grafico',int2str(idg)); name1=strcat('Figura',int2str(idg)); fpath = 'C:\Users\Fabricio\Desktop\TCC\Modelo-Simulink\Simulador de DP\mpgwrite\ImagensNF'; saveas(hf,fullfile(fpath,name),'jpg') saveas(hf,fullfile(fpath,name1),'fig') XL = {idg,U,vel_vento,Hs,P_surge,I_surge,D_surge,S.Overshoot,S.RiseTime,S.SettlingTime, S.SettlingMin, S.SettlingMax, S.Undershoot, S.Peak, S.PeakTime}; TXL = [TXL;XL]; XLref = {S2ref.Overshoot,S2ref.RiseTime,S2ref.SettlingTime, S2ref.SettlingMin, S2ref.SettlingMax, S2ref.Undershoot, S2ref.Peak, S2ref.PeakTime};

57

filename = 'testdataNF.xlsx'; xlswrite(filename,XLref,1,'H1'); xlswrite(filename,TXL,1,'A2'); end delete(hf); end close_system('testeNF_pid3.slx');

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.