Este relatório apresenta o trabalho de identificação e controlo de um processo térmico. O relatório descreve a identificação recursiva do sistema usando uma estrutura ARX, a determinação de um controlador por colocação de pólos e os resultados dos testes aos controladores não adaptativo e adaptativo no sistema real.
Este documento descreve uma estratégia baseada em redes neurais artificiais para seleção on-line de controladores para sistemas não-lineares. O método é aplicado a um tanque esférico sujeito a perturbações, onde diferentes controladores PID são avaliados e uma rede neural é treinada para selecionar o melhor controlador com base em critérios de desempenho. Resultados de simulação demonstram a capacidade da rede neural em alternar entre controladores para manter o desempenho do sistema.
O documento discute a análise de desempenho de sistemas computacionais, incluindo a importância da área, objetivos da análise de desempenho e desafios como a escolha da métrica correta. Ele também apresenta uma metodologia para avaliação e comparação do desempenho de microprocessadores usando benchmarks sintéticos e ferramentas estatísticas. Os resultados do estudo de caso mostraram desempenhos similares entre os processadores Turion X2 e Core 2 Duo para o cenário proposto.
ESTUDO DE MÉTODOS DE IDENTIFICAÇÃO DE SISTEMAS EM MALHA FECHADA APLICADOS A P...Patrick Pires Alvim
Neste trabalho são apresentados os principais métodos de identificação em malha fechada
para a obtenção de modelos matemáticos mais exatos do processo. Como contribuição é
proposto a aplicação do método em uma planta real didática. Inicialmente é realizado o ensaio
da planta em malha aberta e então projetado um controlador do tipo PI discreto para o
controle do nível. Com a planta operando em malha fechada controlada foi aplicado o método
de identificação em malha fechada denominado método de entrada-saída conjunta em três
diferentes ensaios, com diferentes sinais de excitação e então, estimado os possíveis modelos
matemáticos da planta. Para a estimativa dos modelos foram testadas as estruturas ARX,
ARMAX e OE no qual a OE foi a que apresentou melhores resultados. Com a realização dos
ensaios foi possível concluir que o controlador PI projetado em malha aberta obteve bom
desempenho, porém o método de identificação em malha fechada não obteve bom resultado,
podendo este estar relacionado à dificuldade da estimativa da função de sensibilidade do
sistema, às componentes de alta freqüência existentes nos sinais utilizados para identificação,
ou aos zeros de fase não mínima dos controladores e funções de transferência estimadas.
Este documento descreve um projeto de controle de nível de líquido em um tanque utilizando um controlador PID eletrônico analógico. O objetivo é modelar matematicamente o sistema, projetar e implementar um controlador PID para manter o nível do tanque próximo ao nível de referência, mesmo em presença de perturbações. O documento apresenta a modelagem do sistema, os sensores e atuadores, o microcontrolador e detalhes sobre o algoritmo PID que será implementado no controlador eletrônico.
Este documento fornece uma apostila introdutória sobre como usar o software PSPICE para simular circuitos eletrônicos. A apostila explica como criar e editar circuitos no PSPICE, configurar diferentes tipos de análises, visualizar e interpretar resultados, e fornece exemplos passo a passo.
Um framework para validação automática de modelos aplicado ao subsistema de e...Italo Pinto Rodrigues
O documento apresenta a defesa final de dissertação de mestrado de Italo Pinto Rodrigues sobre um framework para validação automática de modelos aplicado ao subsistema de energia de um picossatélite. O framework propõe: 1) Definir regras para modelar equipamentos do subsistema de energia; 2) Demonstrar interface entre simulação e modelo físico; 3) Desenvolver estratégia de associação entre simulação e execução automática de testes funcionais. O documento descreve conceitos, a demonstração do framework e conclusões, contribu
Este documento descreve uma metodologia para monitoramento da segurança estática em tempo real de sistemas elétricos utilizando árvores de decisão. A metodologia envolve gerar uma base de dados extensa de simulações off-line para treinar árvores de decisão a classificar estados do sistema como seguros ou inseguros com base em medições on-line. A metodologia foi testada no sistema elétrico de Amapá e mostrou ser uma ferramenta útil para avaliação da segurança no centro de operação.
Este documento descreve uma estratégia baseada em redes neurais artificiais para seleção on-line de controladores para sistemas não-lineares. O método é aplicado a um tanque esférico sujeito a perturbações, onde diferentes controladores PID são avaliados e uma rede neural é treinada para selecionar o melhor controlador com base em critérios de desempenho. Resultados de simulação demonstram a capacidade da rede neural em alternar entre controladores para manter o desempenho do sistema.
O documento discute a análise de desempenho de sistemas computacionais, incluindo a importância da área, objetivos da análise de desempenho e desafios como a escolha da métrica correta. Ele também apresenta uma metodologia para avaliação e comparação do desempenho de microprocessadores usando benchmarks sintéticos e ferramentas estatísticas. Os resultados do estudo de caso mostraram desempenhos similares entre os processadores Turion X2 e Core 2 Duo para o cenário proposto.
ESTUDO DE MÉTODOS DE IDENTIFICAÇÃO DE SISTEMAS EM MALHA FECHADA APLICADOS A P...Patrick Pires Alvim
Neste trabalho são apresentados os principais métodos de identificação em malha fechada
para a obtenção de modelos matemáticos mais exatos do processo. Como contribuição é
proposto a aplicação do método em uma planta real didática. Inicialmente é realizado o ensaio
da planta em malha aberta e então projetado um controlador do tipo PI discreto para o
controle do nível. Com a planta operando em malha fechada controlada foi aplicado o método
de identificação em malha fechada denominado método de entrada-saída conjunta em três
diferentes ensaios, com diferentes sinais de excitação e então, estimado os possíveis modelos
matemáticos da planta. Para a estimativa dos modelos foram testadas as estruturas ARX,
ARMAX e OE no qual a OE foi a que apresentou melhores resultados. Com a realização dos
ensaios foi possível concluir que o controlador PI projetado em malha aberta obteve bom
desempenho, porém o método de identificação em malha fechada não obteve bom resultado,
podendo este estar relacionado à dificuldade da estimativa da função de sensibilidade do
sistema, às componentes de alta freqüência existentes nos sinais utilizados para identificação,
ou aos zeros de fase não mínima dos controladores e funções de transferência estimadas.
Este documento descreve um projeto de controle de nível de líquido em um tanque utilizando um controlador PID eletrônico analógico. O objetivo é modelar matematicamente o sistema, projetar e implementar um controlador PID para manter o nível do tanque próximo ao nível de referência, mesmo em presença de perturbações. O documento apresenta a modelagem do sistema, os sensores e atuadores, o microcontrolador e detalhes sobre o algoritmo PID que será implementado no controlador eletrônico.
Este documento fornece uma apostila introdutória sobre como usar o software PSPICE para simular circuitos eletrônicos. A apostila explica como criar e editar circuitos no PSPICE, configurar diferentes tipos de análises, visualizar e interpretar resultados, e fornece exemplos passo a passo.
Um framework para validação automática de modelos aplicado ao subsistema de e...Italo Pinto Rodrigues
O documento apresenta a defesa final de dissertação de mestrado de Italo Pinto Rodrigues sobre um framework para validação automática de modelos aplicado ao subsistema de energia de um picossatélite. O framework propõe: 1) Definir regras para modelar equipamentos do subsistema de energia; 2) Demonstrar interface entre simulação e modelo físico; 3) Desenvolver estratégia de associação entre simulação e execução automática de testes funcionais. O documento descreve conceitos, a demonstração do framework e conclusões, contribu
Este documento descreve uma metodologia para monitoramento da segurança estática em tempo real de sistemas elétricos utilizando árvores de decisão. A metodologia envolve gerar uma base de dados extensa de simulações off-line para treinar árvores de decisão a classificar estados do sistema como seguros ou inseguros com base em medições on-line. A metodologia foi testada no sistema elétrico de Amapá e mostrou ser uma ferramenta útil para avaliação da segurança no centro de operação.
Troca de contexto segura em sistemas operacionais embarcados utilizando técni...Rodrigo Almeida
A segurança e a confiabilidade em sistemas embarcados são áreas críticas e de recente desenvolvimento. Além das complicações inerentes à área de segurança, existem restrições quanto a capacidade de processamento e de armazenamento destes sistemas. Isto é agravado em sistemas de baixo custo. Neste trabalho, é apresentada uma técnica que, aplicada à troca de contexto em sistemas operacionais, aumentando a segurança destes. A técnica é baseada na detecção e correção de erros em sequência de valores binários. Para realização dos testes, foi desenvolvido um sistema operacional de tempo real e implementado numa placa de desenvolvimento. Observou-se que o consumo de processamento das técnicas de detecção de erro são inferiores às de correção, cerca de 2% para CRC e 8% para Hamming. Objetivando-se minimizar o tempo de processamento optou-se por uma abordagem mista entre correção e detecção. Esta abordagem reduz o consumo de processamento medida que os processos que exigem tempo real apresentem uma baixa taxa de execução, quando comparados com o período de troca de contexto. Por fim, fica comprovada a possibilidade de implementação desta técnica em qualquer sistema embarcado, inclusive em processadores de baixo custo.
A cadeia de Markov na análise de convergência do algoritmo genético quando...vcsouza
1. O documento apresenta uma tese de doutorado sobre análise de convergência de algoritmos genéticos usando cadeia de Markov.
2. A tese usa cadeia de Markov para modelar e analisar a convergência tanto de algoritmos genéticos homogêneos quanto não-homogêneos.
3. Testes comparam o desempenho de um algoritmo genético padrão com um algoritmo genético nebuloso, onde a taxa de mutação é ajustada por um controlador nebuloso.
O documento descreve um projeto de conclusão de curso de engenharia que construiu e controlou um sistema de pendulo invertido utilizando lógica fuzzy em um microcontrolador. Foi construído um protótipo inicial e uma planta maior para testes. O sistema de controle fuzzy foi implementado no microcontrolador Arduino e mostrou bons resultados no controle do pendulo invertido.
Monografia sobre Inteligência artificial para comparar algoritmos de treiname...Fabiano Rates
Monografia para obtenção de graduação em ciências da computação sobre o estudo comparativo entre os algoritmos de treinamento de redes neurais artificiais : back propagation e resilient propagation.
Este documento apresenta uma monografia sobre um estudo comparativo entre os algoritmos Backpropagation e Resilient Propagation para treinamento de redes neurais artificiais. O trabalho analisa a eficácia e eficiência dos algoritmos, considerando a predição de formas geométricas com ruído de entrada.
Este documento apresenta um livro sobre controle de processo industrial. O livro discute os conceitos básicos de controle de processo, incluindo malhas de controle, instrumentos, controladores e algoritmos PID. Também aborda tópicos como processos industriais, sistemas de controle, automação e controle multivariável. O livro parece ser destinado a engenheiros e técnicos interessados em aprender os fundamentos teóricos e práticos do controle e automação de processos industriais.
Este documento apresenta um livro sobre Controle de Processo em sua 8a edição. O livro introduz os principais conceitos e práticas de controle de processo, incluindo malha de controle, instrumentos, controladores, algoritmos PID e controle multivariável. O livro é usado como texto em cursos de controle de processo para engenheiros.
PROJETO DE ESTABILIZADORES DE SISTEMAS ELÉTRICOS DE POTÊNCIA UTILIZANDO CONTR...UFPA
1. O documento descreve um projeto de estabilizadores de sistemas elétricos de potência utilizando controle adaptativo auto-ajustável. O projeto é apresentado como trabalho de conclusão de curso de engenharia de controle e automação no IFPA campus Belém.
2. O trabalho investiga o desempenho de uma estratégia de controle adaptativo do tipo auto-ajustável aplicada ao amortecimento de oscilações eletromecânicas em sistemas de potência interligados.
3. Um modelo paramétrico linear é
1) O documento discute conceitos e análises de sistemas de medição, incluindo tendência, linearidade, repetitividade, reprodutibilidade e estabilidade.
2) É explicado como realizar estudos para avaliar cada um desses fatores e determinar se um sistema de medição é aceitável.
3) São fornecidos detalhes sobre causas possíveis de erros em cada fator e equações para analisar os resultados dos estudos.
Este documento fornece uma estrutura modelo para relatórios de projetos da disciplina de Sistemas Operativos. Após a introdução, descreve o ambiente de trabalho, especifica e analisa o problema, propõe uma solução com estruturas de dados e algoritmos, detalha a codificação e testes, e conclui com um manual do utilizador e referências.
1. O documento apresenta os principais tópicos da engenharia de confiabilidade, incluindo introdução à análise de falhas, princípios de confiabilidade, obtenção de parâmetros de confiabilidade a partir de históricos de falhas e análise funcional de sistemas.
2. Aborda também os princípios do RCM (Reliability Centered Maintenance) e introdução à análise de causas fundamentais de falha.
3. Inclui glossário de termos técnicos e parte introdutória sobre objetivos da ab
Livro analise de dados amostrais complexosDiogo Freire
Este documento discute a análise de dados amostrais complexos, abordando: 1) A motivação para considerar os aspectos do plano amostral ao analisar dados de pesquisas; 2) A estrutura do livro, que apresenta métodos para incorporar corretamente esses aspectos; 3) Uma introdução que destaca como os pacotes estatísticos tradicionais podem fornecer estimativas incorretas ao ignorar características como probabilidades de seleção, estratificação e conglomeração.
Este trabalho investiga o uso de meta-aprendizado para recomendar classificadores robustos para conjuntos de dados com ruído. Medidas de complexidade são utilizadas para caracterizar os conjuntos de dados e analisar como o ruído influencia nas mesmas. O trabalho é desenvolvido utilizando conjuntos de dados reais e a linguagem R, calculando medidas de complexidade e avaliando o desempenho de meta-regressores.
Este documento fornece um resumo sobre sistemas operacionais. Ele discute os conceitos básicos de sistemas operacionais, incluindo definição, objetivos, histórico e tipos. Também aborda tópicos como processos, escalonamento de processos, gerenciamento de memória e entrada e saída. O documento serve como uma referência geral sobre os principais componentes e funcionalidades de sistemas operacionais.
O documento descreve tipos de dados em estruturas de dados. Discute tipos primitivos como valores booleanos, caracteres, valores numéricos e tipos definidos pelo programador como strings e classes. Também aborda tipos agregados como vetores, listas e conjuntos associativos.
O documento descreve tipos de dados em estruturas de dados. Discute tipos primitivos como valores booleanos, caracteres, números inteiros e reais. Também aborda tipos definidos pelo programador como strings e classes. Por fim, apresenta tipos agregados como vetores e listas.
O documento descreve um sistema especialista desenvolvido para diagnosticar falhas na proteção de subestações distribuidoras. O sistema coleta dados de relés de proteção usando comunicação OPC, simula disjuntores e gera diagnósticos usando regras de produção em CLIPS. Testes mostraram que o sistema pode identificar erros de configuração mais rápido que especialistas, embora apresente limitações com alguns protocolos e tipos de relé.
Rede Neural MLP para reconhecimento de FacesAdilmar Dantas
Este documento apresenta um algoritmo de reconhecimento facial usando redes neurais MLP. É descrito o processo de extração de características das imagens, treinamento da rede neural e teste do sistema em diferentes configurações, alcançando taxa de acerto de até 98,33%.
Este documento apresenta um resumo sobre sistemas operacionais. Aborda tópicos como definição de sistemas operacionais, objetivos, breve histórico, tipos de sistemas operacionais, processos, escalonamento de processos, gerenciamento de memória, gerenciamento de E/S e sistemas de arquivos. Fornece conceitos fundamentais sobre cada um desses tópicos de forma concisa.
Se você possui smartphone há mais de 10 anos, talvez não tenha percebido que, no início da onda da
instalação de aplicativos para celulares, quando era instalado um novo aplicativo, ele não perguntava se
podia ter acesso às suas fotos, e-mails, lista de contatos, localização, informações de outros aplicativos
instalados, etc. Isso não significa que agora todos pedem autorização de tudo, mas percebe-se que os
próprios sistemas operacionais (atualmente conhecidos como Android da Google ou IOS da Apple) têm
aumentado a camada de segurança quando algum aplicativo tenta acessar os seus dados, abrindo uma
janela e solicitando sua autorização.
CASTRO, Sílvio. Tecnologia. Formação Sociocultural e Ética II. Unicesumar: Maringá, 2024.
Considerando o exposto, analise as asserções a seguir e assinale a que descreve corretamente.
ALTERNATIVAS
I, apenas.
I e III, apenas.
II e IV, apenas.
II, III e IV, apenas.
I, II, III e IV.
Entre em contato conosco
54 99956-3050
O presente trabalho consiste em realizar um estudo de caso de um transportador horizontal contínuo com correia plana utilizado em uma empresa do ramo alimentício, a generalização é feita em reserva do setor, condições técnicas e culturais da organização
Troca de contexto segura em sistemas operacionais embarcados utilizando técni...Rodrigo Almeida
A segurança e a confiabilidade em sistemas embarcados são áreas críticas e de recente desenvolvimento. Além das complicações inerentes à área de segurança, existem restrições quanto a capacidade de processamento e de armazenamento destes sistemas. Isto é agravado em sistemas de baixo custo. Neste trabalho, é apresentada uma técnica que, aplicada à troca de contexto em sistemas operacionais, aumentando a segurança destes. A técnica é baseada na detecção e correção de erros em sequência de valores binários. Para realização dos testes, foi desenvolvido um sistema operacional de tempo real e implementado numa placa de desenvolvimento. Observou-se que o consumo de processamento das técnicas de detecção de erro são inferiores às de correção, cerca de 2% para CRC e 8% para Hamming. Objetivando-se minimizar o tempo de processamento optou-se por uma abordagem mista entre correção e detecção. Esta abordagem reduz o consumo de processamento medida que os processos que exigem tempo real apresentem uma baixa taxa de execução, quando comparados com o período de troca de contexto. Por fim, fica comprovada a possibilidade de implementação desta técnica em qualquer sistema embarcado, inclusive em processadores de baixo custo.
A cadeia de Markov na análise de convergência do algoritmo genético quando...vcsouza
1. O documento apresenta uma tese de doutorado sobre análise de convergência de algoritmos genéticos usando cadeia de Markov.
2. A tese usa cadeia de Markov para modelar e analisar a convergência tanto de algoritmos genéticos homogêneos quanto não-homogêneos.
3. Testes comparam o desempenho de um algoritmo genético padrão com um algoritmo genético nebuloso, onde a taxa de mutação é ajustada por um controlador nebuloso.
O documento descreve um projeto de conclusão de curso de engenharia que construiu e controlou um sistema de pendulo invertido utilizando lógica fuzzy em um microcontrolador. Foi construído um protótipo inicial e uma planta maior para testes. O sistema de controle fuzzy foi implementado no microcontrolador Arduino e mostrou bons resultados no controle do pendulo invertido.
Monografia sobre Inteligência artificial para comparar algoritmos de treiname...Fabiano Rates
Monografia para obtenção de graduação em ciências da computação sobre o estudo comparativo entre os algoritmos de treinamento de redes neurais artificiais : back propagation e resilient propagation.
Este documento apresenta uma monografia sobre um estudo comparativo entre os algoritmos Backpropagation e Resilient Propagation para treinamento de redes neurais artificiais. O trabalho analisa a eficácia e eficiência dos algoritmos, considerando a predição de formas geométricas com ruído de entrada.
Este documento apresenta um livro sobre controle de processo industrial. O livro discute os conceitos básicos de controle de processo, incluindo malhas de controle, instrumentos, controladores e algoritmos PID. Também aborda tópicos como processos industriais, sistemas de controle, automação e controle multivariável. O livro parece ser destinado a engenheiros e técnicos interessados em aprender os fundamentos teóricos e práticos do controle e automação de processos industriais.
Este documento apresenta um livro sobre Controle de Processo em sua 8a edição. O livro introduz os principais conceitos e práticas de controle de processo, incluindo malha de controle, instrumentos, controladores, algoritmos PID e controle multivariável. O livro é usado como texto em cursos de controle de processo para engenheiros.
PROJETO DE ESTABILIZADORES DE SISTEMAS ELÉTRICOS DE POTÊNCIA UTILIZANDO CONTR...UFPA
1. O documento descreve um projeto de estabilizadores de sistemas elétricos de potência utilizando controle adaptativo auto-ajustável. O projeto é apresentado como trabalho de conclusão de curso de engenharia de controle e automação no IFPA campus Belém.
2. O trabalho investiga o desempenho de uma estratégia de controle adaptativo do tipo auto-ajustável aplicada ao amortecimento de oscilações eletromecânicas em sistemas de potência interligados.
3. Um modelo paramétrico linear é
1) O documento discute conceitos e análises de sistemas de medição, incluindo tendência, linearidade, repetitividade, reprodutibilidade e estabilidade.
2) É explicado como realizar estudos para avaliar cada um desses fatores e determinar se um sistema de medição é aceitável.
3) São fornecidos detalhes sobre causas possíveis de erros em cada fator e equações para analisar os resultados dos estudos.
Este documento fornece uma estrutura modelo para relatórios de projetos da disciplina de Sistemas Operativos. Após a introdução, descreve o ambiente de trabalho, especifica e analisa o problema, propõe uma solução com estruturas de dados e algoritmos, detalha a codificação e testes, e conclui com um manual do utilizador e referências.
1. O documento apresenta os principais tópicos da engenharia de confiabilidade, incluindo introdução à análise de falhas, princípios de confiabilidade, obtenção de parâmetros de confiabilidade a partir de históricos de falhas e análise funcional de sistemas.
2. Aborda também os princípios do RCM (Reliability Centered Maintenance) e introdução à análise de causas fundamentais de falha.
3. Inclui glossário de termos técnicos e parte introdutória sobre objetivos da ab
Livro analise de dados amostrais complexosDiogo Freire
Este documento discute a análise de dados amostrais complexos, abordando: 1) A motivação para considerar os aspectos do plano amostral ao analisar dados de pesquisas; 2) A estrutura do livro, que apresenta métodos para incorporar corretamente esses aspectos; 3) Uma introdução que destaca como os pacotes estatísticos tradicionais podem fornecer estimativas incorretas ao ignorar características como probabilidades de seleção, estratificação e conglomeração.
Este trabalho investiga o uso de meta-aprendizado para recomendar classificadores robustos para conjuntos de dados com ruído. Medidas de complexidade são utilizadas para caracterizar os conjuntos de dados e analisar como o ruído influencia nas mesmas. O trabalho é desenvolvido utilizando conjuntos de dados reais e a linguagem R, calculando medidas de complexidade e avaliando o desempenho de meta-regressores.
Este documento fornece um resumo sobre sistemas operacionais. Ele discute os conceitos básicos de sistemas operacionais, incluindo definição, objetivos, histórico e tipos. Também aborda tópicos como processos, escalonamento de processos, gerenciamento de memória e entrada e saída. O documento serve como uma referência geral sobre os principais componentes e funcionalidades de sistemas operacionais.
O documento descreve tipos de dados em estruturas de dados. Discute tipos primitivos como valores booleanos, caracteres, valores numéricos e tipos definidos pelo programador como strings e classes. Também aborda tipos agregados como vetores, listas e conjuntos associativos.
O documento descreve tipos de dados em estruturas de dados. Discute tipos primitivos como valores booleanos, caracteres, números inteiros e reais. Também aborda tipos definidos pelo programador como strings e classes. Por fim, apresenta tipos agregados como vetores e listas.
O documento descreve um sistema especialista desenvolvido para diagnosticar falhas na proteção de subestações distribuidoras. O sistema coleta dados de relés de proteção usando comunicação OPC, simula disjuntores e gera diagnósticos usando regras de produção em CLIPS. Testes mostraram que o sistema pode identificar erros de configuração mais rápido que especialistas, embora apresente limitações com alguns protocolos e tipos de relé.
Rede Neural MLP para reconhecimento de FacesAdilmar Dantas
Este documento apresenta um algoritmo de reconhecimento facial usando redes neurais MLP. É descrito o processo de extração de características das imagens, treinamento da rede neural e teste do sistema em diferentes configurações, alcançando taxa de acerto de até 98,33%.
Este documento apresenta um resumo sobre sistemas operacionais. Aborda tópicos como definição de sistemas operacionais, objetivos, breve histórico, tipos de sistemas operacionais, processos, escalonamento de processos, gerenciamento de memória, gerenciamento de E/S e sistemas de arquivos. Fornece conceitos fundamentais sobre cada um desses tópicos de forma concisa.
Se você possui smartphone há mais de 10 anos, talvez não tenha percebido que, no início da onda da
instalação de aplicativos para celulares, quando era instalado um novo aplicativo, ele não perguntava se
podia ter acesso às suas fotos, e-mails, lista de contatos, localização, informações de outros aplicativos
instalados, etc. Isso não significa que agora todos pedem autorização de tudo, mas percebe-se que os
próprios sistemas operacionais (atualmente conhecidos como Android da Google ou IOS da Apple) têm
aumentado a camada de segurança quando algum aplicativo tenta acessar os seus dados, abrindo uma
janela e solicitando sua autorização.
CASTRO, Sílvio. Tecnologia. Formação Sociocultural e Ética II. Unicesumar: Maringá, 2024.
Considerando o exposto, analise as asserções a seguir e assinale a que descreve corretamente.
ALTERNATIVAS
I, apenas.
I e III, apenas.
II e IV, apenas.
II, III e IV, apenas.
I, II, III e IV.
Entre em contato conosco
54 99956-3050
O presente trabalho consiste em realizar um estudo de caso de um transportador horizontal contínuo com correia plana utilizado em uma empresa do ramo alimentício, a generalização é feita em reserva do setor, condições técnicas e culturais da organização
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...Consultoria Acadêmica
Os termos "sustentabilidade" e "desenvolvimento sustentável" só ganharam repercussão mundial com a realização da Conferência das Nações Unidas sobre o Meio Ambiente e o Desenvolvimento (CNUMAD), conhecida como Rio 92. O encontro reuniu 179 representantes de países e estabeleceu de vez a pauta ambiental no cenário mundial. Outra mudança de paradigma foi a responsabilidade que os países desenvolvidos têm para um planeta mais sustentável, como planos de redução da emissão de poluentes e investimento de recursos para que os países pobres degradem menos. Atualmente, os termos
"sustentabilidade" e "desenvolvimento sustentável" fazem parte da agenda e do compromisso de todos os países e organizações que pensam no futuro e estão preocupados com a preservação da vida dos seres vivos.
Elaborado pelo professor, 2023.
Diante do contexto apresentado, assinale a alternativa correta sobre a definição de desenvolvimento sustentável:
ALTERNATIVAS
Desenvolvimento sustentável é o desenvolvimento que não esgota os recursos para o futuro.
Desenvolvimento sustantável é o desenvolvimento que supre as necessidades momentâneas das pessoas.
Desenvolvimento sustentável é o desenvolvimento incapaz de garantir o atendimento das necessidades da geração futura.
Desenvolvimento sustentável é um modelo de desenvolvimento econômico, social e político que esteja contraposto ao meio ambiente.
Desenvolvimento sustentável é o desenvolvimento capaz de suprir as necessidades da geração anterior, comprometendo a capacidade de atender às necessidades das futuras gerações.
Entre em contato conosco
54 99956-3050
Introdução ao GNSS Sistema Global de PosicionamentoGeraldoGouveia2
Este arquivo descreve sobre o GNSS - Globas NavigationSatellite System falando sobre os sistemas de satélites globais e explicando suas características
Os nanomateriais são materiais com dimensões na escala nanométrica, apresentando propriedades únicas devido ao seu tamanho reduzido. Eles são amplamente explorados em áreas como eletrônica, medicina e energia, promovendo avanços tecnológicos e aplicações inovadoras.
Sobre os nanomateriais, analise as afirmativas a seguir:
-6
I. Os nanomateriais são aqueles que estão na escala manométrica, ou seja, 10 do metro.
II. O Fumo negro é um exemplo de nanomaterial.
III. Os nanotubos de carbono e o grafeno são exemplos de nanomateriais, e possuem apenas carbono emsua composição.
IV. O fulereno é um exemplo de nanomaterial que possuí carbono e silício em sua composição.
É correto o que se afirma em:
ALTERNATIVAS
I e II, apenas.
I, II e III, apenas.
I, II e IV, apenas.
II, III e IV, apenas.
I, II, III e IV.
Entre em contato conosco
54 99956-3050
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...Consultoria Acadêmica
“O processo de inovação envolve a geração de ideias para desenvolver projetos que podem ser testados e implementados na empresa, nesse sentido, uma empresa pode escolher entre inovação aberta ou inovação fechada” (Carvalho, 2024, p.17).
CARVALHO, Maria Fernanda Francelin. Estudo contemporâneo e transversal: indústria e transformação digital. Florianópolis, SC: Arqué, 2024.
Com base no exposto e nos conteúdos estudados na disciplina, analise as afirmativas a seguir:
I - A inovação aberta envolve a colaboração com outras empresas ou parceiros externos para impulsionar ainovação.
II – A inovação aberta é o modelo tradicional, em que a empresa conduz todo o processo internamente,desde pesquisa e desenvolvimento até a comercialização do produto.
III – A inovação fechada é realizada inteiramente com recursos internos da empresa, garantindo o sigilo dasinformações e conhecimento exclusivo para uso interno.
IV – O processo que envolve a colaboração com profissionais de outras empresas, reunindo diversasperspectivas e conhecimentos, trata-se de inovação fechada.
É correto o que se afirma em:
ALTERNATIVAS
I e II, apenas.
I e III, apenas.
I, III e IV, apenas.
II, III e IV, apenas.
I, II, III e IV.
Entre em contato conosco
54 99956-3050
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...
TP1CI_57572.pdf
1. Relatório do Primeiro Trabalho Prático da Unidade Curricular
Controlo Inteligente
Identificação e Controlo Adaptativo de um
Processo Térmico
Monte da Caparica, 12 de janeiro de 2022
Elaborado por:
Alice Dias, aluna N.º 57572
2.
3. Índice
1. Introdução....................................................................................................................3
2. Conceitos.....................................................................................................................5
2.1. Identificação de sistemas .....................................................................................5
2.1.1. Propriedades dos dados recolhidos ..................................................................5
2.1.2. Estrutura ARX..................................................................................................6
2.1.3. Identificação recursiva .....................................................................................7
2.1.4. Validação do modelo........................................................................................7
2.2. Controlador por colocação de pólos ....................................................................8
2.3. Controlador adaptativo.......................................................................................10
3. Desenvolvimento e teste............................................................................................11
3.1. Recolha de dados do sistema .............................................................................11
3.2. Seleção dos parâmetros a utilizar da estrutura ARX .........................................11
3.3. Identificação recursiva.......................................................................................14
3.4. Controlador não adaptativo................................................................................15
3.5. Controlador adaptativo.......................................................................................17
4. Implementação no sistema real .................................................................................20
4.1. Diferenças entre o código utilizado para simulações e o código utilizado para
testes ao processo.................................................................................................................20
4.2. Resultados obtidos .............................................................................................21
4.3. Discussão dos resultados....................................................................................24
5. Conclusões ................................................................................................................25
Referências Bibliográficas ..................................................................................................26
Anexos.................................................................................................................................27
Anexo I – Código do MATLAB utilizado para recolher os dados do sistema ...............27
Anexo II – Código do MATLAB utilizado para realizar a identificação recursiva........27
Anexo III – Função do MATLAB utilizada para determinar os pólos ...........................28
Anexo IV – Função do MATLAB utilizada para determinar a convolução entre os
polinómios............................................................................................................................29
Anexo V – Função do MATLAB utilizada para sintonizar o controlador por colocação
de pólos sem efeito integral .................................................................................................29
Anexo VI – Código do MATLAB utilizado para simular o controlador não adaptativo
projetado (para a referência pedida) ....................................................................................30
4. 2
Anexo VII – Código do MATLAB utilizado para simular o controlador adaptativo
projetado (para a referência pedida) ....................................................................................31
Anexo VIII – Live Script do MATLAB utilizado determinar matriz de transformação
utilizada para determinar os parâmetros do controlador adaptativo ....................................33
Anexo IX – Código do MATLAB utilizado para testar o controlador não adaptativo
projetado ..............................................................................................................................33
Anexo X – Código do MATLAB utilizado para testar o controlador adaptativo
projetado ..............................................................................................................................34
5. 3
1. Introdução
Este trabalho prático, que é realizado no âmbito da disciplina de Controlo Inteligente, tem
como principal objetivo realizar o controlo por colocação de pólos de um sistema dinâmico
cuja modelização é realizada de forma empírica, denominando-se assim identificação.
O sistema a ser estudado é um processo laboratorial térmico denominado PCT 37-100, da
Feedback, que é utilizado como plataforma de teste para controladores e posterior análise do
seu desempenho. Este sistema é composto por um ventilador, uma resistência que permite
aquecer o ar, um transdutor de temperatura (termístor) de resposta linear (face à tensão) para
temperaturas em 30°C e 60°C e um tubo por onde o ar aquecido circula, como se pode ver na
Figura 1.
Figura 1 – Processo laboratorial térmico PCT 37 – 100.
O PCT 37-100 permite modificar a velocidade de rotação do ventilador, tendo uma escala
com 11 posições de velocidade de rotação (de 0 a 10). Também tem 3 posições para o sensor,
início, meio e fim do tubo, o que permite conferir diferentes tempos de atraso ao processo.
No entanto, neste trabalho laboratorial irá trabalhar-se a uma velocidade constante na posição
intermédia 5 e o sensor estará na posição intermédia do tubo.
Para ser possível determinar os parâmetros do controlador de forma que o sistema em anel
fechado do sistema apresente os pólos desejados, é necessário realizar a identificação do
sistema. Isto implica executar os seguintes passos:
1. Especificação dos ensaios a realizar;
2. Aquisição de dados experimentais.
3. Seleção de uma estrutura de modelos que faça sentido face ao sistema estudado;
4. Estimação dos parâmetros de acordo com a estrutura de modelo selecionada;
5. Validação do modelo.
O primeiro passo é dado no enunciado deste trabalho: a entrada do sistema é a tensão
aplicada à resistência que aquece o ar, a saída do sistema é a temperatura no sensor (que é
proporcional à tensão no termístor) e a velocidade de amostragem tanto na entrada como na
saída do sistema será de 80 milissegundos. Os restantes passos da identificação são
apresentados no ponto 3 deste trabalho.
A modelação de um sistema a partir de dados empíricos é um processo iterativo como o
esquematizado na Figura 2. Como se pode ver, poderia ter que se escolher uma estrutura de
modelos diferente da escolhida inicialmente se não se considerar que o modelo é válido.
6. 4
Também se poderia optar por realizar os ensaios de forma diferente, recolhendo dados de
variáveis diferentes. No entanto, neste trabalho laboratorial o tipo de ensaio é o dado pelo
enunciado e a estrutura de modelos a utilizar será a estrutura ARX. A parte iterativa utilizada
neste processo laboratorial corresponderá à escolha dos parâmetros do polinómio de forma ao
modelo não ser excessivamente complexo, mas reproduzir o comportamento do sistema
ensaiado com um erro reduzido.
Figura 2 – Processo iterativo de identificação de um sistema [1].
A estrutura deste documento consiste em apresentar no ponto 2 os conceitos teóricos
relacionados com a identificação e realização do controlador (adaptativo e não adaptativo). O
ponto 3 corresponde à parte prática, desde a identificação em si do sistema estudado até ao
projeto e teste do controlador não adaptativo. Já no ponto 4 é apresentada a informação
relativa ao teste do controlador adaptativo projetado no sistema real, ou seja, no processo
PCT 37-100, sendo feita a discussão dos resultados obtidos. Por fim, apresentam-se as
conclusões obtidas com a realização deste trabalho.
7. 5
2. Conceitos
Neste ponto do relatório serão explicados os principais conceitos teóricos por detrás da
realização deste trabalho laboratorial.
2.1. Identificação de sistemas
Como foi referido na introdução, a modelação do sistema através da recolha de dados
experimentais denomina-se identificação e é um processo iterativo representado na Figura 2 e
constituído pelos 5 estados seguintes:
1. Especificação dos ensaios a realizar;
2. Aquisição de dados experimentais.
3. Seleção de uma estrutura de modelos que faça sentido face ao sistema estudado;
4. Estimação dos parâmetros de acordo com a estrutura de modelo selecionada;
5. Validação do modelo.
2.1.1. Propriedades dos dados recolhidos
As propriedades dos dados recolhidos na fase de ensaio serão utilizados posteriormente na
estimação dos parâmetros, pelo que são muito importantes para a qualidade do modelo
obtido, sendo que se considera que o conjunto de dados não é “informativo” caso a entrada
não seja persistentemente excitante.
Para um sinal u ser designado de “persistentemente excitante” (PE) de ordem n é
necessário verificar duas condições: a existência de 𝑅(𝜏) e a verificação de que R é uma
matriz definida positiva, sendo que é possível fazer estas determinações a partir das Equações
2.1 e 2.2.
𝑅(𝜏) = 𝑙𝑖𝑚
𝑁→∞
1
𝑁
∑ 𝑢(𝑘)𝑢(𝑘 − 𝜏), 𝜏 = 0, … , 𝑛 − 1
𝑁
𝑘=1 Equação 2.1
𝑅 = 𝑙𝑖𝑚
𝑁→∞
1
𝑁
𝑅𝑁 = [
𝑅(0)
𝑅(1)
⋮
𝑅(𝑛 − 1)
𝑅(1)
𝑅(2)
⋮
𝑅(𝑛 − 2)
⋯
⋯
⋱
⋯
𝑅(𝑛 − 1)
𝑅(𝑛 − 2)
⋮
𝑅(0)
] Equação 2.2
A matriz de autocorrelação pode ser obtida pela expressão da Equação 2.3, sendo que a
solução da equação normal é única se a característica desta matriz for máxima (n).
𝑅𝑁 = 𝛷𝑇
𝛷 = (
∑ 𝑢2
(𝑘 − 1)
𝑁
𝑘=𝑛+1 ⋯ ∑ 𝑢(𝑘 − 1)𝑢(𝑘 − 𝑛)
𝑁
𝑘=𝑛+1
⋮ ⋱ ⋮
∑ 𝑢(𝑘 − 1)𝑢(𝑘 − 𝑛)
𝑁
𝑘=𝑛+1 ⋯ ∑ 𝑢2
(𝑘 − 𝑛)
𝑁
𝑘=𝑛+1
) Equação 2.3
onde Φ = [
𝜑𝑇
(1)
⋮
𝜑𝑇
(𝑁)
]
8. 6
2.1.2. Estrutura ARX
A estrutura “AutoRegressiva com excitação eXógena”, mais conhecida como estrutura
ARX, é um método simples e eficiente de estimação polinomial que consiste na resolução de
equações de regressão linear na forma analítica.
Figura 3 – Diagrama de blocos representativo da estrutura ARX.
Uma das grandes vantagens que esta estrutura apresenta consiste em a sua ser solução ser
única, ou seja, os modelos com esta estrutura são globalmente identificáveis. Já a principal
desvantagem que este modelo apresenta deve-se às perturbações fazerem parte da dinâmica
do sistema, o que representa que estes modelos consideram que a resposta do sistema face à
excitação e a resposta do sistema face a perturbações compartilham o mesmo conjunto de
pólos o tempo todo. Ora isto não corresponde ao sistema real. No entanto, é possível reduzir
esta desvantagem tendo uma boa relação sinal-ruído.
Considera-se que a perturbação aplicada ao sistema é ruído branco Gaussiano discreto, ou
seja, considera-se que a perturbação é um processo estocástico com densidade espectral
constante, consistindo em uma sucessão de variáveis aleatórias independentes igualmente
distribuídas, de média nula e variância 𝜎2
. Quando a perturbação não é ruído branco, o
acoplamento entre a dinâmica (determinística) do sistema e a dinâmica estocástica pode
enviesar a estimação do modelo ARX, pelo que é aconselhável utilizar um modelo com
ordem mais elevada do que o modelo real (tendo em atenção que aumentar a ordem do
modelo pode alterar a dinâmica deste, inclusive a estabilidade).
O preditor da estrutura de dados ARX é dado pela expressão da Equação 2.4, onde 𝜑
corresponde ao vetor de regressão e 𝜃 ao vetor de parametrização.
{
𝑦
̂(𝑘) = 𝜑𝑇(𝑘)𝜃
𝜑𝑇(𝑘) = [−𝑦(𝑘 − 1) … −𝑦(𝑘 − 𝑛𝑎) 𝑢(𝑘 − 1) … 𝑢(𝑘 − 𝑛𝑏)]
𝜃 = [𝑎1 … 𝑎𝑛𝑎 𝑏1 … 𝑏𝑛𝑏]𝑇
Equação 2.4
O polinómio associado a esta estrutura é caracterizado por três parâmetros diferentes: 𝑛𝑎
que corresponde à ordem do polinómio 𝐴(𝑞−1), 𝑛𝑏 que corresponde à ordem do polinómio
𝐵(𝑞−1) e 𝑛𝑘 que é o atraso do sistema, ou seja, é a ordem do primeiro coeficiente não nulo
do polinómio B.
𝐵(𝑞−1
)
𝐴(𝑞−1)
=
𝑏1𝑞−1
+ 𝑏2𝑞−2
+ ⋯ + 𝑏𝑛𝑏
𝑞−𝑛𝑏
1 + 𝑎1𝑞−1 + 𝑎2𝑞−2 + ⋯ + 𝑎𝑛𝑎
𝑞−𝑛𝑎
1
𝐴(𝑞−1)
=
1
1 + 𝑎1𝑞−1 + 𝑎2𝑞−2 + ⋯ + 𝑎𝑛𝑎
𝑞−𝑛𝑎
𝑢(𝑘)
𝑒(𝑘)
𝑦(𝑘)
9. 7
2.1.3. Identificação recursiva
Como as observações neste trabalho laboratorial surgem sequencialmente em tempo real,
faz sentido proceder a uma identificação em linha. Isso significa que a matriz de covariância
no instante k, 𝑃(𝑘), e o vetor de parametrização no mesmo instante, 𝜃
̂(𝑘), deverão ser
obtidos recursivamente a partir dos valores no instante passado.
Na Equação 2.5 apresenta-se a expressão do vetor de parametrização obtido
iterativamente, tendo sido esta expressão deduzida recorrendo ao método dos mínimos
quadrados recursivos. Nesta expressão 𝜀(𝑘) corresponde ao erro de modelação no instante k.
𝜃
̂(𝑘) = 𝜃
̂(𝑘 − 1) + 𝑃(𝑘)𝜑(𝑘)𝜀(𝑘), com Equação 2.5
𝜀(𝑘) = 𝑦(𝑘) − 𝑦
̂(𝑘|𝜃
̂(𝑘 − 1) = 𝑦(𝑘) − 𝜑𝑇
𝜃
̂(𝑘 − 1)
Outro aspeto a ter em conta na obtenção da matriz de covariância está relacionado com o
tipo de dinâmica do sistema. Caso o sistema a identificar seja variante, há que ter em
consideração esse aspeto, reinicializando a matriz de covariância (𝑃(𝑘) = 𝑃(0)) quando
houver uma reconfiguração abrupta do sistema e incorporando um fator de esquecimento λ
sempre que haja uma alteração suave de parâmetros. Este fator de esquecimento,
compreendido entre 0,95 e 1, deve ser tal que o método dos mínimos quadrados contenha
apenas as observações mais relevantes para a descrição do sistema tendo em conta a janela de
amostras relevantes, podendo ser determinado pela expressão apresentada na Equação 2.6,
onde 𝑁𝑘 é o número de amostras consideradas relevantes.
𝑁𝑘 =
1
1−𝜆
⇔ 𝜆 = 1 −
1
𝑁𝑘
Equação 2.6
Tendo em conta o que foi referido, a matriz de covariância pode ser obtida a partir de
valores passados da mesma (𝑃(𝑘 − 1)) recorrendo à expressão da Equação 2.7, onde 𝕀𝑛
corresponde à matriz identidade de ordem n, 𝜆 ao fator de esquecimento e 𝜑 ao vetor de
regressão. Esta matriz é proporcional à covariância do erro de estimação, é positiva e
influencia a qualidade do modelo obtido.
𝑃(𝑘) =
𝑃(𝑘−1)
𝜆
[𝕀𝑛 −
𝜑(𝑘)𝜑𝑇(𝑘)𝑃(𝑘−1)
𝜆+𝜑𝑇(𝑘)𝑃(𝑘−1)𝜑(𝑘)
] Equação 2.7
As expressões recursivas para obter o vetor de parametrização (Equação 2.5) e para a
matriz de covariância (Equação 2.7) precisam ser inicializadas. Quanto ao vetor de
parametrização, como existe estimativa inicial através da estrutura ARX, deve conter os
parâmetros estimados (ver Equação 2.4). A matriz de covariância deve ser inicializada como
uma matriz diagonal (quadrada) da dimensão do vetor de parametrização, sendo que se esta
matriz 𝑃(0) tiver valores elevados há uma elevada incerteza em 𝜃(0).
2.1.4. Validação do modelo
Antes de se utilizar determinado modelo para projetar um controlador é essencial validar o
modelo, ou seja, avaliar se o modelo representa de forma adequado o comportamento
dinâmico do sistema a identificar. Os dois processos de validação a ser utilizados neste
trabalho consistem na validação cruzada e na análise dos resíduos.
10. 8
A validação cruzada consiste em utilizar um determinado critério, como, por exemplo, a
média do somatório do quadrado do erro de predição, para comparar o desempenho do
modelo para um conjunto de dados diferentes dos dados de estimação. Caso a ordem de
grandeza da medida de desempenho utilizada for a mesma para os dados de estimação e de
validação então o modelo pode ser considerado aceitável. Caso contrário será necessário
procurar outro modelo, seja modificando a ordem dos polinómios ou selecionando outro tipo
de estrutura.
A Equação 2.8 descreve o critério utilizado como medida de desempenho do modelo face
aos dados, sendo este a média do somatório do quadrado do erro de predição, onde 𝜀
corresponde ao erro de predição, N ao número de amostras utilizadas, 𝑦 o valor real na saída
e 𝑦
̂ o valor da saída previsto pelo modelo.
𝑉(𝜃, 𝑍𝑁) =
1
𝑁
∑ 𝜀2
(𝑘)
𝑁
𝑘=1 =
1
𝑁
∑ [𝑦(𝑘) − 𝑦
̂(𝑘|𝜃
̂)]
2
𝑁
𝑘=1 Equação 2.8
Os resíduos entre as saídas do sistema e do modelo, cuja expressão é apresentada na
Equação 2.9, deverão apresentar-se como um ruído branco e deverão ser independentes da
entrada para que o modelo descreva adequadamente o sistema, sendo importante avaliar que
isto acontece antes de validar o modelo.
𝜀(𝑘, 𝜃
̂𝑁) = 𝑦(𝑘) − 𝑦
̂(𝑘|𝜃
̂𝑁) Equação 2.9
A condições prática para que os resíduos possam ser considerados uma sucessão de
variáveis independentes consiste em verificar que o módulo da covariância normalizada dos
resíduos é inferior a um valor tal que o modelo apresente um nível de confiança de 95%,
como se pode ver na Equação 2.10, onde 𝑅
̂𝜀(𝜏) corresponde à covariância e 𝑅
̂𝜀
̅̅̅(𝜏) à
covariância normalizada. Este nível de confiança corresponde a um intervalo de [−
1,96
√𝑁
:
1,96
√𝑁
]
para uma distribuição assintótica normal de cada componente.
|𝑅
̂𝜀
̅̅̅(𝜏)| ≤
1,96
√𝑁
; 𝜏 ≥ 1, onde Equação 2.10
𝑅
̂𝜀
̅̅̅(𝜏) =
𝑅
̂𝜀(𝜏)
𝑅
̂𝜀(0)
=
1
𝑁
∑ 𝜀(𝑘)𝜀(𝑘 + 𝜏)
𝑁−𝜏
𝑘=1
1
𝑁
∑ 𝜀2(𝑘)
𝑁
𝑘=1
2.2. Controlador por colocação de pólos
O controlador por colocação de pólos é caracterizado pelo seu projeto ser assente na
determinação dos parâmetros do controlador de tal forma que o sistema em anel fechado
apresente os pólos desejados. Neste trabalho pretende-se projetar um controlador deste tipo
sem que haja efeito integral nem cancelamento de zeros.
Considere-se um controlador a controlar um sistema identificado através da estrutura
ARX e cujo diagrama de blocos está representado na Figura 4, então a expressão que
descreve o controlador será dada pela Equação 2.11.
𝐹(𝑞−1)𝑢(𝑘) = 𝐻(𝑞−1)𝑟(𝑘) − 𝐺(𝑞−1)𝑦(𝑘), onde Equação 2.11
11. 9
{
𝐻(𝑞−1
) = ℎ0 + ℎ1𝑞−1
+ ℎ2𝑞−2
+ ⋯ + ℎ𝑛ℎ
𝑞−𝑛ℎ
𝐹(𝑞−1
) = 1 + 𝑓1𝑞−1
+ 𝑓2𝑞−2
+ ⋯ + 𝑓𝑛𝑓
𝑞−𝑛𝑓
𝐺(𝑞−1
) = 𝑔0 + 𝑔1𝑞−1
+ 𝑔2𝑞−2
+ ⋯ + 𝑔𝑛𝑔
𝑞−𝑛𝑔
Figura 4 - Diagrama de blocos do controlador.
O projeto deste controlador consiste em determinar os coeficientes dos polinómios
𝐻(𝑞−1
), 𝐹(𝑞−1
) e 𝐺(𝑞−1
), tal que 𝐴𝑚(𝑞−1) apresente os pólos para o sistema em anel
fechado que façam com que este apresente a dinâmica pretendida. O polinómio característico
𝐴𝑚(𝑞−1) com ordem 𝑛𝛼 pode ser expresso pela Equação 2.12.
𝐴𝑚(𝑞−1) = 1 + 𝛼1𝑞−1
+ 𝛼2𝑞−2
+ ⋯ + 𝛼𝑛𝛼
𝑞−𝑛𝛼 Equação 2.12
Transformando o diagrama de blocos apresentado na Figura 4 numa expressão, obtém-se a
função de transferência em anel fechado em função dos polinómios 𝐴(𝑞−1) e 𝐵(𝑞−1) do
sistema e dos polinómios 𝐻(𝑞−1
), 𝐹(𝑞−1
) e 𝐺(𝑞−1
) do controlador, como se pode ver na
Equação 2.13.
𝑦(𝑘) =
𝐵
̃(𝑞−1)
𝐴
̃(𝑞−1)
𝑟(𝑘)
onde Equação 2.13
𝐵
̃(𝑞−1)
𝐴
̃(𝑞−1)
=
𝐵(𝑞−1)𝐻(𝑞−1)
𝐴(𝑞−1)𝐹(𝑞−1) + 𝐵(𝑞−1)𝐺(𝑞−1)
A Equação de Diophantine (ou identidade de Bezout) permite relacionar os pólos
pretendidos com os coeficientes do controlador, como se pode ver na Equação 2.14, onde d
corresponde ao atraso puro (delay). Esta equação só irá apresentar solução única caso A e B
não tenham fatores comuns.
𝐴𝑚(𝑞−1) = 𝐴(𝑞−1)𝐹(𝑞−1) + 𝑞−𝑑
𝐵
̅(𝑞−1)𝐺(𝑞−1) Equação 2.14
com 𝐵
̅(𝑞−1) = 𝑞+𝑑
𝐵(𝑞−1) = 𝑞+𝑑
(𝑏1𝑞−1
+ 𝑏2𝑞−2
+ ⋯ + 𝑏𝑛𝑏
𝑞−𝑛𝑏)
O primeiro passo consiste em determinar a ordem dos polinómios do controlador, de tal
forma que este não apresente efeito integral e de forma a não haver cancelamento de zeros.
Este passo é realizado determinando 𝑑, 𝑛𝑓 e 𝑛𝑔 através do sistema apresentado na Equação
2.15.
12. 10
{
𝑑 = 𝑛𝑘 − 1
𝑛𝑓 = 𝑛𝑏 − 1 + 𝑑
𝑛𝑔 = 𝑛𝑎 − 1
Equação 2.15
Seguidamente é necessário determinar a ordem do polinómio característico, através da
Equação 2.16.
𝑛𝛼 = 𝑚𝑎𝑥 (𝑛𝑎 + 𝑛𝑓, 𝑛𝑏 + 𝑛𝑔) Equação 2.16
Para um erro em regime final nulo o ganho estático terá de ser unitário, sendo que esta é a
razão da colocação do polinómio 𝐻(𝑞−1) em cascata. Este polinómio tem ordem zero, sendo
igual ao seu coeficiente ℎ0, o que permite escolher um valor que transforme o ganho estático
do sistema em anel fechado unitário. Esse valor é obtido através da Equação 2.17 quando
substituído o atraso 𝑞−1
por 1.
ℎ0 =
𝐴(𝑞−1)𝐹(𝑞−1) + 𝑞−1
𝐵
̅(𝑞−1)𝐺(𝑞−1)
𝐵(𝑞−1)
com Equação 2.17
𝑞−1
= 1
Os restantes coeficientes do controlador terão de ser determinados por inspeção,
comparando o polinómio 𝐴𝑚(𝑞−1) desejado com o segundo membro da Equação 2.14, ou
seja, com o denominador da função de transferência expresso em termos dos coeficientes de
𝐴(𝑞−1), 𝐵(𝑞−1), 𝐹(𝑞−1) e 𝐺(𝑞−1).
2.3. Controlador adaptativo
Controladores com parâmetros fixos apenas fazem sentido para sistemas lineares e
invariantes, pelo que não são apropriados para o sistema deste trabalho. Assim sendo a
solução consiste em projetar um controlador adaptativo, ou seja, um controlador constituído
por parâmetros ajustáveis e munido de mecanismos que o permitem alterar a sua dinâmica de
forma a fazer face a modificações ocorridas num dado ambiente, na dinâmica do processo
e/ou nas características de eventuais perturbações
Como a dinâmica do sistema estudado não é previsível, não é aconselhável ajustar os
parâmetros do controlador a partir de uma tabela de ganhos, sendo que a solução deverá
passar por projetar um controlador adaptativo autosintonizável, onde os parâmetros do
modelo são atualizados em-linha, recorrendo ao processo explicado no ponto 2.1.3 deste
relatório.
13. 11
3. Desenvolvimento e teste
3.1. Recolha de dados do sistema
Para ser possível determinar os polinómios A e B relativos ao modelo ARX (ver 2.1.2), foi
necessário recolher dois conjuntos de dados com a resposta do sistema a uma excitação
específica em tempo discreto. Um dos conjuntos destina-se à estimação dos parâmetros do
modelo, o conjunto 𝑍𝑒
𝑁
= {𝑌𝑒(𝑘), 𝑈𝑒(𝑘)}. O outro conjunto, 𝑍𝑣
𝑁
= {𝑌𝑣(𝑘), 𝑈𝑣(𝑘)},
destina-se à validação do modelo.
Considerando um tempo de amostragem de 80 milissegundos, o sensor inserido na posição
intermédia e com um caudal de ar nominal constante, recolheu-se 500 amostras da resposta
do sistema a dois sinais pseudoaleatórios com amplitudes compreendidas entre 2 e 5 volts a
partir da função idinput() do MATLAB. O código utilizado para recolher estas amostras é
apresentado no Anexo I.
Na Figura 5 é apresentada a resposta do sistema no tempo obtidos no ensaio e relativos aos
dados de estimação.
Figura 5 – Representação no tempo dos dados de estimação obtidos no ensaio.
3.2. Seleção dos parâmetros a utilizar da estrutura ARX
Utilizando o conjunto de dados para estimação, recorreu-se à aplicação
systemIdentification lançada a partir do MATLAB para comparar o ajuste, a autocorrelação
entre os resíduos da saída e correlação entre entrada e saída da estrutura ARX para vários
valores dos parâmetros 𝑛𝑎, 𝑛𝑏e 𝑛𝑘. Pretende-se obter uma estrutura que se ajuste bem aos
dados de estimação recolhidos e cuja análise dos resíduos permita obter um nível de
confiança de 95% (para a maior parte dos instantes k).
Na Tabela 1 apresenta-se o valor dos melhores ajustes para diversos modelos ARX obtido
a partir do da função model output do systemIdentification após se ter retirado a parte
14. 12
transiente dos dados. Também é realizada a validação cruzada, comparando o ajuste do
modelo aos dados de validação.
Tabela 1 – Ajuste de modelos ARX aos dados para diferentes parâmetros.
Modelo
Parâmetros do polinómio
Melhor ajuste
(best fit)
Melhor ajuste
aos dados de
validação
𝑛𝑎 𝑛𝑏 𝑛𝑘
ARX
1 1 1 82,87% 83,38%
2 1 1 80,91% 80,76%
2 2 1 83,03% 82,93%
3 2 1 84,58% 84,58%
3 3 1 84,51% 84,58%
2 4 1 85,47% 85,65%
4 3 1 86,62% 86,77%
Quanto à validação cruzada, pretende-se obter um modelo em que o melhor ajuste aos
dados de estimação seja da mesma ordem do ajuste aos dados de validação. Todos os
modelos apresentados cumprem essa especificação, sendo que o ARX(3,2,1) é o que melhor
cumpre este requisito visto que os ajustes são iguais.
Como se pode ver na Figura 6, obteve-se a autocorrelação entre os resíduos da saída e a
correlação entre os resíduos da entrada e saída do sistema para diferentes parâmetros desta
estrutura. Estes gráficos foram obtidos selecionando “Model resids” na aplicação de
identificação de sistemas, onde o intervalo de confiança a 95% é balizado por duas retas
horizontais.
Figura 6 – Autocorrelação entre os resíduos da saída (em cima) e correlação entre os resíduos da entrada e
da saída do sistema (em baixo) para modelos ARX com parâmetros diferentes utilizando os dados de estimação:
ARX(4,3,1), ARX(3,2,1), ARX(3,3,1), ARX(2,2,1), ARX(1,1,1), ARX(2,1,1).
15. 13
O aumento dos parâmetros aumenta a complexidade do modelo, em virtude de aumentar a
ordem dos polinómios. Complexidade implica gastos e, no caso de controlo adaptativo,
recursos de processamento. Desta forma é importante encontrar um compromisso entre a
qualidade e complexidade do modelo. Isto fez com que não se considerasse estruturas cuja
soma da ordem dos polinómios A e B fosse superior a 6. No entanto, serão comparadas as
métricas da estrutura ARX(4,3,1) com as duas estruturas cuja autocorrelação entre os
resíduos da saída foram consideradas aceitáveis, ARX(2,4,1) e ARX(3,3,1). Na Figura 7 é
apresentada a comparação dos ajustes entre estas três estruturas.
Figura 7 – “Model output” das estruturas ARX(4,3,1), ARX(2,4,1) e ARX(3,3,1)
Na Figura 8 é apresentada a comparação da análise dos resíduos para as três estruturas que
foram pré-selecionadas anteriormente.
Figura 8 – Autocorrelação entre os resíduos da saída (em cima) e correlação entre os resíduos da entrada e
da saída do sistema (em baixo) para o modelo ARX(4,3,1) a vermelho, para o modelo ARX(3,3,1) a rosa e para
o modelo ARX(2,4,1) a azul.
Como se pode ver na Figura 8, a estrutura ARX(3,3,1) está fora do intervalo de confiança
para mais instantes que as restantes estruturas. Também é possível verificar que a diferença
da qualidade da estrutura ARX(4,3,1) com a qualidade de ARX(2,4,1) relativamente à análise
de resíduos não é muito significativa. Por isto, embora a estrutura cuja soma da ordem do
numerador com a ordem do denominador é 7 apresente melhores resultados desta análise do
que a estrutura ARX(2,4,1), a diferença não justifica o aumento da soma da ordem dos
polinómios A e B.
Tendo-se escolhido a estrutura ARX(2,4,1) transportou-se esta para o Workspace do
MATLAB, obtendo-se os dados apresentados na Figura 9.
16. 14
Figura 9 – Descrição do modelo ARX(2,4,1) apresentada em MATLAB.
Assim sendo, a expressão que descreve o modelo ARX selecionado é apresentado na
Equação 3.1.
𝐵(𝑞−1
)
𝐴(𝑞−1)
=
0,0954𝑞−1
+ 0,0342𝑞−2
− 0,0616𝑞−3
− 0,0290𝑞−4
1 − 1,6189𝑞−1 + 0,6506𝑞−2
3.3. Identificação recursiva
As Equações 2.5 a 2.7 permitiram realizar uma identificação recursiva, ou seja, a
determinação dos parâmetros instante a instante, como se pode ver na Figura 10, onde é
apresentada a função que realiza esta identificação. Esta função recebe o vetor de
parametrização e a matriz de covariância no instante anterior, o valor da saída do sistema e o
vetor de regressão no próprio instante e o fator de esquecimento. Devolve o erro de
parametrização, o vetor de parametrização e a matriz de covariância no instante atual.
Figura 10 – Código MATLAB da função que realiza a identificação recursiva.
Como se pode ver no Anexo II, inicializou-se o vetor de parametrização com os
parâmetros dos polinómios A e B recorrendo à função getpvec() e iniciou-se a matriz de
covariância como a matriz identidade multiplicada por 5.
Ao fim de 495 iterações obteve-se o vetor de parametrização e os polinómios A e B
apresentados na Figura 11.
Equação 3.1
17. 15
Figura 11 – Resultados da identificação recursiva para 495 iterações.
3.4. Controlador não adaptativo
Pretende-se sintonizar o controlador por colocação de pólos recorrendo ao modelo obtido
no ponto 3.2 deste trabalho, pelo que primeiro é necessário determinar o grau dos vários
polinómios que caracterizam o controlador a partir do sistema apresentado na Equação 2.15.
Determinou-se que o atraso puro, d, é nulo (porque 𝑛𝑘é igual a um), que o polinómio 𝐺(𝑞−1
)
é de ordem um e que o polinómio 𝐹(𝑞−1
) é de terceira ordem, como se pode ver no sistema
apresentado na Equação 3.2.
{
𝑑 = 𝑛𝑘 − 1 = 1 − 1 = 0
𝑛𝑓 = 𝑛𝑏 − 1 + 𝑑 = 4 − 1 + 0 = 3
𝑛𝑔 = 𝑛𝑎 − 1 = 2 − 1 = 1
Equação 3.2
Tendo a dimensão dos polinómios que fazem parte do controlador, determinou-se que a
ordem do polinómio característico 𝐴𝑚(𝑞−1
) é cinco, isto recorrendo à equação 2.16
(max(2 + 3, 4 + 1) = 5). Isto significa que serão necessários 5 pólos para obter o polinómio
característico.
Para um sistema discreto ser estável é necessário que todos os seus pólos estejam contidos
no círculo unitário, sendo tão mais dominantes como mais próximos do círculo.
Considerando como especificação um tempo de estabelecimento (settling time) de 1 segundo
e uma sobrelevação (overshoot) de 1% com uma tolerância de 1%, determinou-se 5 pólos
utilizando a função apresentada no Anexo III, sendo esses pólos apresentados na Figura 12.
Figura 12 – Determinação do polinómio característico assumindo a existência de 5 pólos: dois associados
às especificações referidas e 3 pólos não dominantes (mais próximos da origem).
Recorrendo à função poly do MATLAB aplicada ao vetor constituído pelos pólos do
sistema (que correspondem aos zeros do polinómio característico), determinou-se os
coeficientes do polinómio 𝐴𝑚(𝑞−1
) que será considerado neste trabalho, como se pode ver na
Equação 3.3.
𝐴𝑚(𝑞−1) = 1 − 1,8157𝑞−1
+ 1,1912𝑞−2
− 0,3325𝑞−3
+ 0,0414𝑞−4
− 0,0019𝑞−5
18. 16
Equação 3.3
Para determinar os polinómios F e G recorreu-se à função sconv cedida pelo docente da
disciplina e apresentada no Anexo IV deste documento, sendo que o polinómio característico
do sistema em anel fechado (Equação 3.3) é a soma da covariância entre os polinómios A e F
com a covariância entre os polinómios B e G. Apresentando os polinómios F e G coeficientes
considerados simbólicos em MATLAB
Utilizando a Equação 2.17, determinou-se o único coeficiente do polinómio H. A
implementação em MATLAB da multiplicação dos polinómios apresentados quando 𝑞−1
é 1
foi realizada recorrendo à função sum() que soma todos os elementos de um vetor, visto que
os polinómios são representados sob a forma de vetor constituído pelos seus coeficientes.
Recorrendo aos resultados apresentados na Equação 3.4, implementou-se a função
MATLAB que sintoniza o controlador em função do vetor de parametrização e dos pólos
desejados para o sistema em anel fechado (denominada tuning(,)) que determina os
polinómios F, G e H. Esta função é apresentada no Anexo V.
Para os polinómios A e B apresentados na Equação 3.1 e os 5 pólos apresentados na
Figura 12, os parâmetros do controlador são os apresentados na Equação 3.4.
{
𝐻(𝑞−1
) = 2,1137
𝐹(𝑞−1) = 1 − 2,9813𝑞−1
− 3,1771𝑞−2
− 0,9854𝑞−3
𝐺(𝑞−1) = 29,1783 − 22,0622𝑞−1
Equação 3.4
Como definido pelo enunciado, o sinal de referência é constituído por uma sucessão de
ondas quadradas de amplitude {2,0; 4,0; 3,0; 4,5; 2,0} volts, cada uma com uma duração de
200 amostras, o que corresponde a um vetor coluna com 1000 amostras, 200 com o valor 2,0,
seguidas de 200 com valor 4,0, seguidas de 200 amostras com amplitude 3,0, seguidas de 200
amostras com amplitude 4,5 e finalizado com as 200 últimas linhas de amplitude 2,0. Isto é
possível observar no início do código MATLAB apresentado no Anexo VI, que corresponde
ao código utilizado para realizar a simulação do controlador não adaptativo.
Na Figura 13 é apresentada a resposta simulada do sistema em anel fechado, assim como a
atuação do controlador (não adaptativo) para 1000 amostras.
Figura 13 – Resposta do sistema em anel fechado (simulada) e atuação do controlador não adaptativo.
19. 17
Na Figura 14 é apresentada a mesma resposta da Figura 13, mas pormenorizando a
resposta quando há variação do valor da referência.
Figura 14 – Simulação da resposta do sistema: controlador não adaptativo.
É possível verificar que a resposta (a azul) segue a referência (a cor-de-laranja)
apresentando apenas uma pequena sobrelevação.
3.5. Controlador adaptativo
Para a realização da simulação do controlador adaptativo é necessário inicializar o vetor de
parametrização tendo em conta as amostras recolhidas para estimação (realizando a
identificação iterativa desde a amostra recolhida corresponde ao máximo entre a ordem do
polinómio A e a soma da ordem do polinómio B com o atraso até à última amostra dos dados
de estimação, num total de 495 amostras), o que resultou no vetor apresentado na Figura 11.
Depois da inicialização do vetor de parametrização, inicializou-se a matriz de covariância
como 5 vezes a matriz identidade de dimensão 6 por 6, o fator de esquecimento como 0,98
(considerou que o número de amostras relevantes é de 50) e considerou-se os mesmos pólos
utilizados para o controlador não adaptativo, como se pode ver no código apresentado no
Anexo VII.
Na Figura 15 é apresentada a resposta simulada do sistema em anel fechado, assim como a
atuação do controlador (adaptativo) para 1000 amostras. Já na Figura 16 é apresentada a
mesma resposta, mas em mais pormenor.
20. 18
Figura 15 – Resposta do sistema em anel fechado e atuação do controlador adaptativo.
Figura 16 – Simulação da resposta do sistema: controlador adaptativo.
Na Figura 17 são apresentados os resultados da média do erro quadrático na identificação
em-linha realizada no controlador adaptativo e da média do erro quadrático na identificação
21. 19
feita em diferido utilizando as amostras de estimação, sendo que se verifica que a última tem
uma ordem de grandeza muito mais elevada que a primeira, como seria de esperar.
Figura 17 – Média (à esquerda) e soma (à direita) do erro quadrático na identificação em linha realizada
no controlador adaptativo e erro quadrático utilizado na identificação realizada em diferido.
22. 20
4. Implementação no sistema real
4.1. Diferenças entre o código utilizado para simulações e o código
utilizado para testes ao processo
A aplicação das funções de teste dos controladores referidas no ponto anterior apresentam
algumas limitações quando aplicadas ao sistema real. Por exemplo, não é possível determinar
a covariância de duas matrizes recorrendo à função MATLAB sconv fornecida pelo professor
e apresentada no Anexo IV. Para solucionar este problema foi necessário arranjar uma forma
alternativa para determinar os parâmetros do controlador em-linha, conforme os valores das
matrizes A e B instante a instante.
Na Equação 4.1 encontra-se a expressão que o polinómio característico do sistema em anel
fechado deverá apresentar, sendo que os coeficientes 𝛼1, … , 𝛼5 dependem dos pólos que se
irá escolher para este sistema.
𝐴𝑚(𝑞−1) = 1 + 𝛼1𝑞−1
+ 𝛼2𝑞−2
+ 𝛼3𝑞−3
+ 𝛼4𝑞−4
+ 𝛼5𝑞−5
Equação 4.1
Na Equação 4.2 apresenta-se os polinómios 𝐻(𝑞−1
), 𝐹(𝑞−1
) e 𝐺(𝑞−1
) sem substituição
dos valores dos coeficientes.
{
𝐻(𝑞−1
) = ℎ0
𝐹(𝑞−1
) = 1 + 𝑓1𝑞−1
+ 𝑓2𝑞−2
+ 𝑓3𝑞−3
𝐺(𝑞−1
) = 𝑔0 + 𝑔1𝑞−1
Equação 4.2
Como se pode ver no código apresentado no Anexo VIII, igualou-se a soma da covariância
de A com F com a covariância de B com G de forma simbólica, obtendo-se as 5 equações
apresentadas na Figura 18, onde eq1 corresponde à matriz para o coeficiente de 𝑞−1
, eq2
corresponde à matriz para o coeficiente de 𝑞−2
e assim sucessivamente até ao quinto
coeficiente.
Figura 18 – Resultados MATLAB das equações genéricas entre os diversos coeficientes.
23. 21
Utilizando as equações apresentadas na Figura 18, determinou-se uma expressão matricial
que permite determinar os parâmetros do controlador em cada iteração, como se pode ver na
Equação 4.3.
(
1 0 0 𝑏1 0
𝑎1 1 0 𝑏2 𝑏1
𝑎2
0
0
𝑎1
𝑎2
0
1
𝑎1
𝑎2
𝑏3
𝑏4
0
𝑏2
𝑏3
𝑏4) (
𝑓1
𝑓2
𝑓3
𝑔0
𝑔1)
=
(
𝛼1 − 𝑎1
𝛼2 − 𝑎2
𝛼3
𝛼4
𝛼5 )
⇒ Equação 4.3
𝑃𝑎𝑟𝑎𝑚𝑒𝑡𝑟𝑜𝑠𝐶𝑜𝑛𝑡𝑟𝑜𝑙𝑎𝑑𝑜𝑟 =
(
𝑓1
𝑓2
𝑓3
𝑔0
𝑔1)
=
(
1 0 0 𝑏1 0
𝑎1 1 0 𝑏2 𝑏1
𝑎2
0
0
𝑎1
𝑎2
0
1
𝑎1
𝑎2
𝑏3
𝑏4
0
𝑏2
𝑏3
𝑏4)
−1
(
𝛼1 − 𝑎1
𝛼2 − 𝑎2
𝛼3
𝛼4
𝛼5 )
No Anexo V é apresentado como comentário o código correspondente à forma matricial
apresentadas.
No Anexo IX é apresentado o código para teste do processo para o controlador não
adaptativo e no Anexo X é apresentado o código para teste do controlador adaptativo. Como
se pode ver em ambos os códigos, para além da existência de funções específicas para
interagir com o processo PCT 37-100, tal como usbinit() para inicializar a placa de aquisição,
usbwrite(U,0) para excitar o sistema com uma tensão U e usbread(0) para ler o valor da saída
do sistema, outra diferença a assinalar entre os códigos para simulação e os códigos para teste
correspondem a tentar simplificar ao máximo os dados, inserindo diretamente os valores ao
invés de fazer leituras de ficheiros externos e evitando o uso de algumas funções tais como
sconv.
4.2. Resultados obtidos
Realizou-se tentativas de testes no sistema real em três ocasiões, sendo que em nenhuma
se obteve uma resposta e uma atuação estável no teste do sistema de controlo não adaptativo,
como se pode ver nas Figuras 19 e 20, onde se encontram as representações gráficas da
resposta e atuação no processo PCT 37-100 para o sistema de controlo não adaptativo
projetado neste trabalho. Na última tentativa utilizou-se o código apresentado no Anexo IX,
onde se utilizou diretamente os coeficientes dos polinómios F, G e H determinados na
simulação do controlador não adaptativo.
Como se pode ver na Figura 19, o comportamento tanto da resposta como da atuação
realizada pelo sistema de controlo é extremamente oscilatório. Para além disso, a média desta
oscilação não está centrada na referência: quando a referência corresponde a 2 volts, a média
encontra-se acima da referência; quando a referência apresenta um valor mais elevado, como
4 ou 4,5 volts, a média apresenta um valor abaixo da referência cerca de 1 volt. Para além
disso a atuação encontra-se a flutuar entre 0 e 5 volts, sendo estes os limites impostos à
atuação devido a condições operacionais na testagem do sistema. Isto significa que a atuação
ainda seria mais instável se não se tivesse imposto estas condições. O comportamento nas
últimas 200 amostras (para uma referência de 2 volts) é diferente do comportamento nas
restantes 800 amostras, com um período mais elevado entre oscilações da atuação.
24. 22
Figura 19 – Teste do controlador não adaptativo no processo real.
Na Figura 20 também é apresentado a variação do erro durante o teste realizado,
apresentando este um comportamento oscilatório entre -2 e 2 volts. Determinou-se que a
soma do erro quadrático neste teste foi de 1398,5, valor muito mais elevado do que o obtido
na simulação deste mesmo sistema de controlo (0,4025).
Figura 20 – Teste do controlador não adaptativo no processo real: a vermelho a referência, a azul a
resposta do sistema e a amarelo o erro apresentado.
25. 23
Quanto aos resultados do teste ao controlador não adaptativo, primeiro pensou-se que seria
um erro do código utilizado no teste. Mas, depois de todos os testes realizados ao processo,
penso que se pode concluir que este controlador, ou seja, o controlador não adaptativo
projetado, não poderia ser aplicado a um processo real. Isto acontece devido à diferença de
comportamento entre o processo real e o modelo considerado para representar o processo.
Para resolver este problema ter-se-ia que fazer outro modelo para o controlador não
adaptativo.
Como se pode ver na Figura 21, o teste do controlador adaptativo foi realizado com
relativo sucesso, apresentando apenas uma sobre-elevação elevada nas transições da
referência (principalmente quando o teste se inicia).
Figura 21 – Teste do controlado adaptativo no processo real.
Utilizando os resultados apresentados graficamente na Figura 21 determinou-se alguns
parâmetros de desempenho deste sistema de controlo no teste realizado: verifica-se que soma
do quadrado do erro é de 26,1516 e média do erro de -0,0377.
Figura 22 – Parâmetros de desempenho do sistema de controlo adaptativo projetado: média e soma do erro
quadrático.
26. 24
4.3. Discussão dos resultados
Como se pode ver na Tabela 2, o sistema de controlo adaptativo, tanto em termos dos
testes como em termos de simulação, apresenta um muito menor erro que o sistema de
controlo não adaptativo. No entanto, em termos de média do erro quadrático e do somatório
do erro quadrático, verifica-se que a diferença entre o erro do controlador adaptativo e o erro
do controlador não adaptativo é muito mais acentuada na simulação do que nos testes
realizados ao processo real.
Tabela 2 – Comparação dos sistemas de controlo implementados.
Sistema de controlo não adaptativo Sistema de controlo adaptativo
Soma do quadrado
do erro
Média do quadrado
do erro
Soma do quadrado
do erro
Média do quadrado
do erro
Simulação 0,4025 8,0496 × 10−4
2,0934 × 10−28
2,0934 × 10−31
Teste 1,3985 × 103 1,3985 1,059282 × 102 1,059282 × 10−1
Na Figura 23 é apresentada a evolução do erro do controlador não adaptativo (a azul) e a
evolução do erro do controlador adaptativo (a laranja), em volts, ao longo das 1000 amostras
consideradas nas simulações.
Figura 23 – Evolução do erro apresentado nas simulações do sistema de controlo não adaptativo a azul e
do sistema de controlo adaptativo a laranja.
Na Figura 24 é apresentada a evolução do erro do controlador não adaptativo (a azul) e a
evolução do erro do controlador adaptativo (a laranja), em volts, ao longo das 1000 amostras
utilizadas nos testes realizados no processo real.
27. 25
Figura 24 – Evolução do erro apresentado nos testes do sistema de controlo não adaptativo a azul e do
sistema de controlo adaptativo a laranja.
Como se pode visualizar nas Figuras 23 e 24, o comportamento nos testes é muito mais
oscilatório em termos de erro (relembrando que o teste do controlador não adaptativo
apresentou um comportamento mesmo instável). Mas nota-se um muito pior desempenho
para as primeiras amostras após a mudança de valor da referência, onde o erro apresenta um
pico elevado tanto nos testes como nas simulações realizadas.
5. Conclusões
Uma conclusão importante a retirar deste trabalho é a observação do quão diferente é o
processo real relativamente ao que é estimado por regressão linear. Em todas as simulações
realizadas obteve-se sempre um muito melhor comportamento do sistema do que o verificado
no respetivo teste real. Até se verificou (no controlador não adaptativo) que um sistema que
apresenta um ótimo comportamento em termos de simulação pode apresentar um
comportamento instável no processo real. Isto seria um problema muito grave se este não
fosse um projeto didático.
Pode-se concluir que para o processo estudado o controlo adaptativo apresenta um
desempenho consideravelmente melhor que o controlo não adaptativo, apresentando um
somatório do erro quadrático muito inferior.
Para o trabalho ficar concluído dever-se-ia retornar ao passo 3 do processo de
identificação do sistema (correspondente à escolha da estrutura ARX a utilizar) e realizar
novamente os passos seguintes até atingir o teste do sistema de controlo, fazendo verificação
da resposta do sistema real ao novo controlador não adaptativo. Quando se obtivesse uma
resposta satisfatória para o controlador não adaptativo, utilizar o mesmo modelo no
controlador adaptativo, de forma a poder comparar o desempenho dos dois sistemas de
controlo.
28. 26
Referências Bibliográficas
[1] Gil, Paulo. Introdução à Identificação de Sistemas Lineares. PhD, 2017.
[2] Silva, Rui Neves. Controlo de Sistemas Dinâmicos, 2008.
[3] Gil, Paulo. “Identificação e Controlo Adaptativo”. PhD, 2021. Apresentação em
PowerPoint.
29. 27
Anexos
Anexo I – Código do MATLAB utilizado para recolher os dados do
sistema
% Controlo Inteligente
% School year: 2021-2022
% getdataset.m
% Collecting 2 datasets from a system
% {Ue,Ye} and {Uv,Yv}
clear all, close, clc
Ue= idinput(500,'PRBS',[0 0.2],[2.0 5.0]); % Estimation input
Uv= idinput(500,'PRBS',[0 0.1],[2.0 5.0]); % Validation validation
Ts = 0.08; % Sampling time [s]
usbinit % DAQ initialisation
disp('Estimation dataset acquisition')
for index = 1:length(Ue)
usbwrite(Ue(index),0)
pause(Ts)
Ye(index,1) = usbread(0);
end
usbwrite(0,0) % Cooling down
pause(5)
clc % Clear screen
disp('Validation dataset acquisition')
for index = 1:length(Uv)
usbwrite(Uv(index),0)
pause(Ts)
Yv(index,1)= usbread(0);
end
usbwrite(0,0)
save dataset.mat Ue Ye Uv Yv -mat
Anexo II – Código do MATLAB utilizado para realizar a identificação
recursiva
clear
close all
clc
load dataset
load('arx241.mat')
A = polydata(arx241);
na = length(A)-1; % na = 2
theta = getpvec(arx241, 1); % vetor de parametrização para o instante
inicial (k = 1)
B = [0 theta(3) theta(4) theta(5) theta(6)];
dimARX = length(theta); % número de parâmetros
30. 28
nb = dimARX-na; % nb = 4
nk = 1;
N = length(Ue); % dimensão das amostras
lambda = 1-1/N; % factor de esquecimento
pk = eye(dimARX)*5; % incialização da matriz de covariância
% vetores e matrizes utilzados para guardar os valores ao longo do
tempo
Ni = max(na, nb+nk);
phi_matrix = zeros(dimARX, N-Ni); % incialização de uma matriz com os
vectores de regressão em cada instante como uma coluna
epsilon = zeros(N-Ni, 1); % incialização de um vetor com o erro em
cada instante
theta_matrix = zeros(dimARX, N-Ni);
theta_matrix(:,1) = theta;
i = 2;
% identificação em linha
for index = Ni : N
phik = [-Ye(index - 1); -Ye(index - 2); Ue(index - 1); Ue(index -
2); Ue(index - 3); Ue(index - 4)];
phi_matrix(:,index) = phik;
[epsilon_k, theta, pk] = thetarec(theta, pk, Ye(index), phik,
lambda);
theta_matrix(:,i) = theta;
i = i+1;
epsilon(index) = epsilon_k;
end
polos = det5Polos(1,1,1);
[F, G, H] = tuning(theta, polos);
Anexo III – Função do MATLAB utilizada para determinar os pólos
function [polos] = det5Polos(settlingTime, tolerancia, overshoot)
Tamostragem = 0.08;
Dmin =
(abs(((log(overshoot/100))^2)/((log(overshoot/100))^2+pi^2)))^(1/2);
ts_min = -log(tolerancia/100)/settlingTime; % ts_min = D * wn
wn = ts_min/Dmin;
real = -Dmin * wn; % real = D * wn
imag = wn*sqrt(Dmin^2-1);
polo1 = real + imag;
polo2 = real - imag;
polo3 = 5*real;
polo4 = 5*real;
polo5 = 5*real;
31. 29
polos = [exp(polo1*Tamostragem) exp(polo2*Tamostragem)
exp(polo3*Tamostragem) exp(polo4*Tamostragem) exp(polo5*Tamostragem)];
end
Anexo IV – Função do MATLAB utilizada para determinar a
convolução entre os polinómios
function w = sconv(u,v)
% CONV Nonnumeric convolution.
% W = CONV(U,V) is the convolution of symbolic vectors U and V.
% length(w) = length(u)+length(v)-1
% w(k) = sum(u(j)*v(k+1-j)), j = max(1,k+1-length(v):min(k,length(u))
% EXAMPLE
% syms a b c d
% u = [a b c d];
% v = [3 1 4 1 5 9];
%sconv(u,v).'
% Form Toeplitz matrix from v.
m = length(u);
n = length(v);
p = m+n-1;
T = [v(:); zeros(m,1)]*ones(1,m);
T = reshape(T(1:m*p),p,m);
% Convolve
w = T*u(:);
% Return row vector if appropriate
if size(u,2) > size(u,1)
w = w.';
end
Anexo V – Função do MATLAB utilizada para sintonizar o controlador
por colocação de pólos sem efeito integral
function [F, G, H] = tuning(theta,polos)
Am = poly(polos);
alfa1 = Am(2);
alfa2 = Am(3);
alfa3 = Am(4);
alfa4 = Am(5);
alfa5 = Am(6);
a1 = theta(1);
a2 = theta(2);
b1 = theta(3);
b2 = theta(4);
b3 = theta(5);
b4 = theta(6);
A = [1 a1 a2];
B = [0 b1 b2 b3 b4];
syms f1 f2 f3 g0 g1;
32. 30
F = [1 f1 f2 f3];
G = [g0 g1];
Af = sconv(A,F) + sconv(B,G);
eqns = [Af(2) == alfa1, Af(3) == alfa2, Af(4) == alfa3, Af(5) ==
alfa4, Af(6) == alfa5];
S = solve(eqns,[f1,f2,f3,g0,g1]);
f1_ = vpa(S.f1);
f2_ = vpa(S.f2);
f3_ = vpa(S.f3);
g0_ = vpa(S.g0);
g1_ = vpa(S.g1);
F = [ 1 double(f1_) double(f2_) double(f3_) ];
G =[ double(g0_) double(g1_) ];
% M = [1 0 0 b1 0; a1 1 0 b2 b1; a2 a1 1 b3 b2; 0 a2 a1 b4 b3; 0 0 a2 0
b4];
% T = [(alfa1-a1); (alfa2-a2); alfa3; alfa4; alfa5];
% MatrizParametros = M^(-1)*T;
% f1 = MatrizParametros(1);
% f2 = MatrizParametros(2);
% f3 = MatrizParametros(3);
% g0 = MatrizParametros(4);
% g1 = MatrizParametros(5);
% F = [1 f1 f2 f3];
% G = [g0 g1];
% h0 = (A*F+B*G)/B
h0 = (sum(A)*sum(F)+ sum(B)*sum(G))/(sum(B));
H = h0;
% roots( sconv(A,F) + sconv(B,G) );
end
Anexo VI – Código do MATLAB utilizado para simular o controlador
não adaptativo projetado (para a referência pedida)
% Código da simulação do controlador NA
clear, close, clc
load('dataset.mat')
% sinal de referencia
Ref = [2.0*ones(200,1); 4.0*ones(200,1); 3.0*ones(200,1); 4.5*ones(200,1);
2.0*ones(200,1)];
Nref = length(Ref);
u = zeros(Nref, 1);
y = zeros(Nref, 1);
Ts = 0.08 ; % intervalo de amostragem 80 ms
na = 2; nb = 4; nk = 1;
A = [1.0000 -1.6189 0.6506];
B = [ 0 0.0954 0.0342 -0.0616 -0.0290 ];
theta = [A(2); A(3); B(2); B(3); B(4); B(5)]; % vetor de parametrização
33. 31
para o instante inicial
dimARX = length(theta);
Ni = max(na,nb+nk);
N = length(Ue);
epsilon = zeros(N-Ni, 1);
lambda = 1-1/50; % factor de esquecimento
pk = 5*eye(dimARX); % incialização da matriz de covariância
dimARX = length(theta);
[A, B] = detAB(theta);
[polos] = det5Polos(1, 1, 1);
[F, G, H] = tuning(theta,polos);
disp("Em modo controlo!");
for index = Ni: Nref
% Função do controlador
u(index,1) = controlador(F(2), F(3), F(4), G(1), G(2), H(1),
Ref(index), u(index-1,1), u(index-2,1), u(index-3,1), y(index,1), y(index-
1,1));
% Saturação da excitação
u(index,1) = max(min(u(index,1),5),0);
y(index+1,1) = - theta(1)*y(index,1) - theta(2)*y(index-1,1) +
theta(3)*u(index,1)+ theta(4)*u(index-1,1) + theta(5)*u(index-2,1) +
theta(6)*u(index-3,1);
end
subplot(2,1,1), plot(y(Ni:end)),hold on, plot(Ref)
title("Resposta do sistema em anel fechado")
ylabel("Saída"), xlabel("Amostra")
subplot(2,1,2), plot(u(Ni:end))
title("Actuação")
ylabel("Acção de controlo"), xlabel("Amostra")
Anexo VII – Código do MATLAB utilizado para simular o controlador
adaptativo projetado (para a referência pedida)
% Script da simulação do controlador Adaptativo
clear, close, clc
load('dataset.mat')
% sinal de referencia
Ref = [2.0*ones(200,1); 4.0*ones(200,1); 3.0*ones(200,1); 4.5*ones(200,1);
2.0*ones(200,1)];
Nref = length(Ref);
u = zeros(Nref, 1);
y = zeros(Nref, 1);
na = 2; nb = 4; nk = 1;
A = [1.0000 -1.6189 0.6506];
B = [ 0 0.0954 0.0342 -0.0616 -0.0290 ];
theta = [A(2); A(3); B(2); B(3); B(4); B(5)]; % vetor de parametrização
34. 32
para o instante inicial
Ni = max(na,nb+nk);
dimARX = 6;
N = length(Ue);
lambda = 1-1/50; % factor de esquecimento
pk = 5*eye(dimARX); % incialização da matriz de covariância
quadradoErroA = zeros(N-Ni, 1);
quadradoErroNA = zeros(N-Ni, 1);
for index = Ni : N
phik = [-Ye(index - 1); -Ye(index - 2); Ue(index - 1); Ue(index - 2);
Ue(index - 3); Ue(index - 4)];
[epsilon_k, theta, pk] = thetarec(theta, pk, Ye(index), phik, lambda);
quadradoErroNA(index) = epsilon_k^2;
end
[polos] = det5Polos(1, 1, 1);
[A, B] = detAB(theta);
[F, G, H] = tuning(theta,polos);
disp("Em modo controlo!");
for index = Ni : Nref
phik = [-y(index-1,1); -y(index-2,1); u(index-1,1); u(index-2,1);
u(index-3,1); u(index-4,1)];
[epsilon_k, theta, pk] = thetarec(theta, pk, y(index,1), phik,
lambda);
quadradoErroA(index) = epsilon_k^2;
u(index,1) = controlador(F(2), F(3), F(4), G(1), G(2), H(1),
Ref(index), u(index-1,1), u(index-2,1), u(index-3,1), y(index,1), y(index-
1,1));
u(index,1) = max(min(u(index,1),5),0); % Saturação da excitação
[0, 5]V
y(index+1,1) = - theta(1)*y(index,1) - theta(2)*y(index-1,1) +
theta(3)*u(index,1)+ theta(4)*u(index-1,1) + theta(5)*u(index-2,1) +
theta(6)*u(index-3,1);
end
subplot(2,1,1), plot(y(Ni:end)),hold on, plot(Ref)
title('Resposta do sistema em anel fechado')
ylabel('Saída'), xlabel('Amostra')
subplot(2,1,2), plot(u(Ni:end))
title('Actuação')
ylabel('Acção de controlo'), xlabel('Amostra')
35. 33
Anexo VIII – Live Script do MATLAB utilizado determinar matriz de
transformação utilizada para determinar os parâmetros do
controlador adaptativo
syms f1 f2 f3 g0 g1 a1 a2 b1 b2 b3 b4 alfa1 alfa2 alfa3 alfa4 alfa5;
F = [1 f1 f2 f3];
G = [g0 g1];
A_sim = [1 a1 a2];
B_sim = [0 b1 b2 b3 b4];
Am_sim = [1 alfa1 alfa2 alfa3 alfa4 alfa5];
Af_sim = sconv(A_sim,F) + sconv(B_sim,G);
Af2_sim = Af_sim(2:end);
Am2_sim = Am_sim(2:end);
eq1 = Am2_sim(1) == Af2_sim(1);
eq2 = Am2_sim(2) == Af2_sim(2);
eq3 = Am2_sim(3) == Af2_sim(3);
eq4 = Am2_sim(4) == Af2_sim(4);
eq5 = Am2_sim(5) == Af2_sim(5);
Anexo IX – Código do MATLAB utilizado para testar o controlador não
adaptativo projetado
% Script de teste do controlador NA
clear all, close all, clc
na = 2;
nb = 4;
nk = 1;
% sinal de referencia
Ref = [2.0*ones(200,1); 4.0*ones(200,1); 3.0*ones(200,1); 4.5*ones(200,1);
2.0*ones(200,1)];
Nref = length(Ref);
u = zeros(Nref, 1);
y = zeros(Nref, 1);
Ts = 0.08 ; % intervalo de amostragem 80 ms
F = [1.0000 -2.9390 -3.1282 -0.9711];
G = [28.7444 -21.7211];
H = 2.1153;
usbinit;
Ni = 5;
disp('Em modo controlo!');
for index = Ni:length(Ref)
y(index,1)= usbread(0);
tic % Inicia cronómetro
if index <= max(na,nb+nk)
u(index,1) = Ref(index);
else
u(index,1) = controlador(F(2), F(3), F(4), G(1), G(2), H(1),
Ref(index), u(index-1,1), u(index-2,1), u(index-3,1), y(index,1), y(index-
1,1)); % Função do controlador
end
u(index,1) = max(min(u(index,1),5),0); % Saturação da excitação
usbwrite(u(index,1),0);
36. 34
Dt= toc; % Stop cronómetro
pause(Ts-Dt)
end
usbwrite(0,0);
save expdata_naoadap.mat Ref u y -mat
Anexo X – Código do MATLAB utilizado para testar o controlador
adaptativo projetado
% Script de teste do controlador Adaptativo
clear all, close all, clc
usbinit % Inicialização da placa de aquisição
% sinal de referencia
Ref = [2.0*ones(200,1); 4.0*ones(200,1); 3.0*ones(200,1); 4.5*ones(200,1);
2.0*ones(200,1)];
Nref = length(Ref);
u = zeros(Nref, 1);
y = zeros(Nref, 1);
Ts = 0.08 ; % intervalo de amostragem 80 ms
na = 2; nb = 4; nk = 1;
% A = [1.0000 -1.6189 0.6506];
% B = [ 0 0.0954 0.0342 -0.0616 -0.0290 ];
% theta = [A(2); A(3); B(2); B(3); B(4); B(5)]; % vetor de parametrização
para o instante inicial
theta = [ -1.5652; 0.6123; 0.0990; 0.0313; -0.0489; -0.0269]; % obtido em
diferido
Ni = max(na,nb+nk);
dimARX = length(theta);
[polos] = det5Polos(1, 1, 1);
lambda = 1-1/50; % factor de esquecimento
pk = 5*eye(dimARX); % incialização da matriz de covariância
disp('Em modo controlo!')
for index = 1:length(Ref)
y(index,1) = usbread(0);
tic % Inicia cronómetro
if index <= Ni
u(index,1) = Ref(index);
else
phik = [-y(index-1,1); -y(index-2,1); u(index-1,1); u(index-2,1);
u(index-3,1); u(index-4,1)];
[epsilon_k, theta, pk] = thetarec(theta, pk, y(index,1), phik,
lambda); % Adaptação em-linha dos parâmetros do modelo;
[A, B] = detAB(theta);
[F, G, H] = tuning(theta, polos); % Parâmetros do controlador
u(index,1) = controlador(F(2), F(3), F(4), G(1), G(2), H(1),
Ref(index), u(index-1,1), u(index-2,1), u(index-3,1), y(index,1), y(index-