• Nenhum resultado encontrado

3. METODOLOGIA

3.2. Desenvolvimento do controlador nebuloso

3.2.2. Inserção dos dados na ferramenta ANFIS

Na ferramenta ANFIS o mapeamento das entradas com as saídas através do sistema de inferência nebuloso se dá por meio da utilização de dados de entrada e de saída do sistema. Porém, observou-se que na rotina criada por Sousa e Sousa (2015), a saída do sistema de inferência nebuloso não era a vazão de ar ou a vazão de oxigênio diretamente. Tratava-se de uma variável auxiliar (QarEscolha ou QO2Escolha, respectivamente). Elas são faixas de valores

que mimetizam as opções fornecidas pela árvore de decisão (o trecho da rotina em que se encontram as faixas de valores está ilustrado no Quadro 10). Observa-se que no caso da vazão de ar, tem-se que se QarEscolha for maior ou igual, por exemplo, a 0,595, soma-se um valor DeltaP à vazão de ar calculada no passo anterior (QarantP). Caso contrário, diminui-se um valor delta da vazão de ar calculada no passo anterior. O mesmo raciocínio aplica-se para QO2Escolha, porém com três faixas de valores.

Logo não seria possível utilizar diretamente os dados das vazões de ar e oxigênio fornecidos pela árvore de decisão do SUPERSYS_HCDC. Isto fez com que fosse necessária a aplicação de um raciocínio reverso detalhado nas subseções subsequentes.

Quadro 10 - Faixas de QarEscolha e QO2Escolha na rotina em MATLAB.

b = readfis('princ1S_red5');

QarEscolha = evalfis([CXP AgitMedP ODP QarSeP mi],b); if QarEscolha >=0.595; QarP = QarantP+1*DeltaP; end if QarEscolha < 0.595; QarP=QarantP-1.*DeltaP; end c = readfis('Princ2S_red13');

QO2Escolha = evalfis([CXP AgitMedP ODP QarSeP mi],c); if QO2Escolha >=0.63; QO2P = QO2antP+1.*DeltaP; end if QO2Escolha <=0.28; QO2P = QO2antP-1.*DeltaP; end if QO2Escolha > 0.28; if QO2Escolha <0.63; QO2P = QO2antP; End end

Fonte: Acervo Pessoal

3.2.2.1. Ajuste do sistema de inferência nebuloso Delta

Para o ajuste de Delta foram necessários apenas dois conjuntos de dados, as vazões de oxigênio e os valores de Delta. O primeiro foi adquirido de forma direta, utilizando os dados de vazão de oxigênio fornecidos pela árvore de decisão. Já para o segundo conjunto, como Delta é uma variação da vazão de ar e/ou oxigênio, foi feito o seguinte procedimento:

I. De posse dos valores das vazões de ar e/ou oxigênio que seriam os valores fornecidos pela árvore de decisão do SUPERSYS_HCDC, criou-se duas colunas de dados. A primeira coluna foi formada pelos dados de vazão de ar ou oxigênio, com exceção do último valor, denominados QarantP/QO2antP, representando as vazões anteriores. A segunda coluna foi formada deslocando-se a primeira em um passo, ou seja, englobando do segundo valor de vazão até o ultimo. Esta foi chamada de QarP/QO2P, representando as vazões correntes.

II. Delta é o valor absoluto da subtração de uma das colunas pela outra coluna. Destaca-se que esta operação só é possível pois Delta é um número pertencente ao conjunto dos naturais.

III. De posse dos valores de entrada e saída criou-se um arquivo de dados no formato requerido pelo ANFIS.

IV. Por fim ajustou-se o número de valores linguísticos das variáveis linguísticas de entrada (tal como disposto no Quadro 9) para criação do sistema de inferência nebuloso. Foi utilizada uma função de pertinência da forma Gaussiana 2 (gauss2mf), cuja equação é dada pela Equação 18:

𝑓 𝑥, 𝜎, 𝑐 = 𝑒

x §x¨ …

…©…

(18)

Esta função é uma combinação de 2 parâmetros. A primeira função, especificada por 𝜎$ e 𝑐$, determina a forma da parte esquerda da dependência funcional. Já a segunda função, especificada por 𝜎0 e 𝑐0, determina a forma da parte direita da dependência funcional.

V. Procedeu-se a fase de treinamento do sistema de inferência nebuloso.

3.2.2.2. Preparação do conjunto de variáveis de entrada e saída dos sistemas de inferência nebulosos Princ1 e Princ2

Para o ajuste dos sistemas de inferência nebulosos Princ1 e Princ2 foi necessária uma fase de preparação dos dados a serem utilizados. De posse de dados experimentais de concentração celular (CX), velocidade média de agitação (AgitMed) e porcentagem de oxigênio

dissolvido (OD) ainda restavam os valores de velocidade específica de crescimento (𝜇) e da variável auxiliar QarSe.

Para o primeiro conjunto de dados (A16) observou-se que os valores de velocidade específica de crescimento (on line) disponibilizados por Horta (2011) continham alguns valores negativos. Assim foi aplicada uma suavização tal como descrito pela Equação 19.

𝑆- = 𝛼𝑋-+ 1 − 𝛼 ∗ 𝑆-#$ (19)

Em que S é o valor suavizado da variável, 𝛼 é o grau de suavização, X são os valores de entrada da sequência e t é referente ao tempo.

Para realizar a suavização exponencial foram suprimidos os primeiros 1700 pontos, ou seja, diminui-se o conjunto de dados disponíveis de 6959 para 5259 pontos. O valor de 𝛼 utilizado foi de 0,00075.

Na Figura 25 tem-se o gráfico da velocidade específica de crescimento experimental (pontos em verde, por medidas de CX em massa seca) e a suavizada (pontos em vermelho, por suavização das medidas por permissividade) em função do tempo.

Figura 25 - Velocidade específica de crescimento experimental e a suavizada em função do tempo.

Fonte: Acervo Pessoal

A fase de indução foi iniciada a partir de 16,6 h, quando se tem uma redução de 𝜇. Por fim, utilizou-se um excerto da rotina já implementada no MATLAB por Sousa e Sousa (2015) para o cálculo de QarSe com base nos valores de QO2antP, QarantP e QmáxP tal como mostra o Quadro 11.

Fonte: SOUSA; SOUSA (2015)

3.2.2.3. Ajuste dos sistemas de inferência nebulosos Princ1 e Princ2

Procedendo-se para a última fase, o ajuste dos sistemas de inferência nebulosos Princ1 e Princ2 se deu através das seguintes etapas.

I. De posse dos valores das vazões de ar e/ou oxigênio novamente criou-se duas colunas de dados (a primeira dispondo os valores de QarantP/QO2antP e a segunda os valores de QarP e QO2P), seguindo o mesmo procedimento descrito na seção 3.2.2.1 para o ajuste do sistema de inferência nebuloso Delta.

II. Para QarEscolha e QO2Escolha, foi observado que não seria possível dispor de seus valores diretamente. Então, comparou-se o valor de QarP/QO2P com os valores de QarantP/QO2antP para definir qual seria o valor de QarEscolha/QO2Escolha. Foram utilizados valores extremos para QarEscolha e QO2Escolha, para que o ANFIS pudesse distinguir as diferentes condições que foram selecionadas pelo controle baseado na árvore de decisão. Para QarEscolha foram utilizados valores de 0,1 e 1,2 e para QO2Escolha foram utilizados valores de 0,1, 0,55 e 1.

III. De posse dos valores de entrada e saída criou-se um arquivo de dados no formato requerido pelo ANFIS.

IV. Por fim ajustou-se o número de valores linguísticos das variáveis linguísticas de entrada (tal como disposto no Quadro 1) para criação do sistema de inferência nebuloso. Foi utilizada a função de pertinência do tipo Gauss (gaussmf) cuja equação é dada pela Equação 13.

V. Procedeu-se para a fase de treinamento do sistema de inferência nebuloso. QarConta = QmaxP - QO2antP;

if QarantP >= QarConta; QarSeP = 0.9; end if QarantP < QarConta; QarSeP = 0.1; end