Aplicativo de Identificação de Sistemas Utilizando MATLAB App Designer
O aplicativo se encontra no link a seguir, porém ressalta-se que ele foi produzido na versão R2021a do MATLAB e não foi testada a compatibilidade com versões anteriores. Para utilizar o app, abra o MATLAB e execute o arquivo .mlapp.
Link do GoogleDrive com o aplicativo
Introdução
A modelagem é a área do conhecimento que estuda maneiras de desenvolver e implementar modelos matemáticos de sistemas reais. Existem diversas formas e técnicas de se obter modelos matemáticos. Além de estar bem familiarizado com o sistema, por vezes é necessário conhecer relações matemáticas que descrevem os fenômenos físicos envolvidos. Por outro lado, a identificação de sistemas é uma área do conhecimento que estuda técnicas alternativas de modelagem matemática. A identificação de sistemas dedica-se a encontrar uma relação matemática entre as entradas e saídas de um sistema, sem necessariamente se ater às relações físicas que o regem.
A identificação pode ser feita considerando somente as séries de entrada e saída do sistema, entretanto informações da física podem ser utilizadas para melhorar a qualidade do modelo. Chama-se de identificação caixa cinza a estratégia de identificação que busca incorporar dados adicionais sobre o sistema, além das informações obtidas das séries de entrada e saída. Em outros métodos de identificação como a caixa preta, nenhuma informação sobre o sistema está disponível além dos dados de entrada e saída ou, se disponível, não é usada no procedimento de obtenção do modelo. Por outro lado, na identificação caixa-branca o processo de obtenção do modelo se baseia em leis da natureza e princípios físicos, todos os parâmetros são conhecidos, ou previamente determinados o que o torna complexo para diversos casos reais.
A identificação de sistemas dinâmicos é uma área de intensa aplicação na engenharia, na qual estudos são realizados com grau de representatividade satisfatório. Porém exigem a proposição de modelos matemáticos que representem, não em sua totalidade, mas em alguns aspectos os sistemas dinâmicos. Esse processo facilita a forma de lidar com o sistema sem a necessidade de analisar toda sua complexidade. Vista a importância da identificação de sistemas, o problema abordado neste trabalho é a dificuldade em modelar sistemas dinâmicos lineares e não lineares por essa técnica, seja caixa preta ou caixa cinza.
Apesar da necessidade de um modelo para realizar controle, são vistas poucas técnicas de identificação ao longo do curso. Busca-se portanto, uma solução para que usuários com pouco conhecimento de identificação de sistemas possam obter modelos capazes de representar sistemas lineares e não lineares.
Objetivos
O objetivo deste post é apresentar a implementação de uma interface gráfica intuitiva no MATLAB de forma que, a partir de um conjunto de dados de entrada e saída, seja gerada uma representação que consiga descrever o comportamento dinâmico do sistema. Ou seja, pretende-se desenvolver um aplicativo para identificação de sistemas dinâmicos. Com a intenção de maximizar os tipos de plantas que podem ser identificadas, deve-se utilizar modelos lineares e não lineares. Além disso, índices de desempenho serão empregados para auxiliar o usuário na escolha do modelo assim como verificar sua qualidade.
Descrição do Funcionamento
Foi desenvolvido um aplicativo utilizando a ferramenta app designer do MATLAB 2021 que tem a capacidade de identificar um modelo a partir de dados de entrada e saída (discretos) de um determinado sistema. O programa tem uma interface gráfica clara, exibindo uma aba para identificação e outra aba para a análise dos sistemas dinâmicos. De acordo com isso, a utilização de um modelo adequado para qualquer estratégia de controle a ser desenvolvida a é de suma importância e alguém com poucos conhecimentos na área de controle será capaz de identificar um modelo por meio desta interface.
Na aba de identificação, logo na parte superior à direita haverá uma opção para carregar o arquivo que contém o conjunto de dados de entrada, podendo ser arquivos de formatos .mat, .dat, que contenham a entrada (u), saída (y) e período de amostragem (T). Esse espaço e os demais que serão descritos abaixo, relacionados à aba de identificação, estão esboçados na Figura 1.
Figura 1: Aba de identificação. |
O usuário pode escolher qual modelo ele quer aplicar nos dados que foram carregados. Para isso um menu drop down foi desenvolvido, um com cada um dos modelos: AutoRregressivo (AR), AutoRregressivo com entradas eXógenas (ARX), AutoRregressivo com média Móvel e entradas eXógenas (ARMAX) e ainda caso seja observado que a utilização de um modelo não linear seja a melhor opção, nesse spinner também tem uma opção do modelo Não linear AutoRregressivo Com média Móvel e entradas eXógenas polinomial (NARMAX).
Quando houver a seleção do modelo desejado, podendo ser linear ou não linear, irão aparecer a equação matemática que descreve o modelo assim como as opções para seleção dos parâmetros referentes a ele. A inserção dos valores dos parâmetros pode ser feita ao digitar dentro da caixa do spinner ou apenas aumentando e diminuindo o valor por meio dos botões up e down que estão presentes ao lado da caixa de inserção de valor. Esses valores são limitados a números inteiros na própria interface gráfica.
Assim que um modelo for gerado, de forma oculta ao usuário, os dados de entrada que foram inseridos no aplicativo serão empregados para estimar os dados de saída do modelo. A saída estimada será plotada no mesmo gráfico que a saída do sistema para que o usuário possa comparar se os parâmetros e se o tipo de modelo que ele selecionou satisfazem suas necessidades. Nesse gráfico não será feita uma distinção maior entre os dados de identificação e validação que não seja uma linha separando os dados. A validação em si será apresentada na aba de Análise.
Alinhado com a ambição de comparar os modelos obtidos, de acordo com a vontade do usuário, ele pode acessar uma segunda aba no programa nomeada Análise. Ela contém um ambiente para apresentar os modelos identificados em forma matemática. Note que diferentemente do que ocorria na aba de Identificação que aparecia um modelo genérico, nessa aba será apresentado o modelo com os parâmetros que foram estimados, ou seja, números. A cada novo modelo que o usuário gerar na aba de Identificação, ele poderá selecioná-lo e visualizá-lo nesse ambiente da aba de Análise. Além disso, independente da vontade do usuário (salvo o caso em que ele clicar no botão reset) as curvas identificadas serão sobrepostas no gráfico que haverá disponível nessa tela. Para distinguir os modelos, cada curva identificada apresentará uma cor diferente e a legenda irá apresentar um dos índices de desempenho, por exemplo, o VAF (Variance Accounted For), permitindo ao usuário uma análise rápida dos modelos gerados. Logo abaixo uma tabela apresentará os demais índices para análise completa.
De forma resumida, durante a execução do aplicativo, o usuário deverá inserir os dados iniciais e quanto quer usar para identificação/validação, selecionar o modelo junto aos seus parâmetros e clicar no botão "Identificar sistema". Poderá ver o resultado (curva identificada junto da curva do sistema) no gráfico inferior à direita e gerar outros modelos se assim desejar. Em seguida, o usuário deve seguir para a aba Análise. O programa irá retornar lá os resultados referentes a cada modelo usado, exibindo-os em um único gráfico cada resultado, contendo traços e pontos com características distintas para facilitar a compreensão do usuário junto a uma legenda que mostrará o resultado obtido por cada método e permitindo que o usuário faça a comparação entre os diversos métodos.
Em uma tabela, haverá a exibição dos índices de desempenhos, sendo eles, EQM (Erro Quadrático Médio) e VAF, esses índices tem um valor de referência informado no layout, facilitando a compreensão dos diferentes resultados obtidos, de forma bem intuitiva. Além disso fica indicado para o usuário em verde qual o melhor modelo dentre os apresentados na tabela. A escolha é baseada na média dos índices.
Por fim a última aba apresenta e salva os dados de saída em diferentes formatos, como espaço de estados e função de transferência.
SANTOS, L. H. Aplicativo de Identificação de Sistemas Utilizando MATLAB App Designer . ago. de 2022. Disponível em: https://identificacao-e-controle.blogspot.com/2022/08/aplicativo-de-identificacao-de-sistemas.html
Obrigado por compartilhar esse conteúdo. Vai ajudar demais no tcc.
ResponderExcluir