Sistema para verificação Lógica do Controlo
Dezembro 2003
9. Considerações Finais
9.1. Descrição do trabalho realizado
Após definidos os objectivos do trabalho, ou seja desenvolver um programa/algoritmo que
permita calcular uma estimativa do conjunto dos estados que um dado sistema dinâmico pode
atingir, foi necessário estudar as bases teóricas que permitiram a elaboração desse algoritmo.
Assim sendo foi necessário começar por estudar a teoria de Controlo Óptimo e Optimização,
questões como formulação de um problema de Controlo Óptimo, noções de Sistema Dinâmico,
Controlo Admissível, Mínimos/Máximos, Trajectórias, Processo Fronteira e Conjunto de Estados
Atingíveis, assim como a verificação das Condições Necessárias e Suficientes de Optimalidade e a
existência de solução, e ainda o conceito de convexidade foram, nesta primeira fase (capítulos 1 e 2
deste trabalho), fundamentais para o desenvolvimento do algoritmo a implementar.
Continuando ainda com o estudo teórico, foi necessário concretizar melhor, dentro da matéria de
controlo óptimo, o que nos levaria a determinar o conjunto dos estados, o Controlo Óptimo para
Sistemas Lineares (capítulo 3) aborda essa questão para Sistemas Lineares. A equação diferencial
que nos dá a evolução no tempo do estado do sistema, a formulação do Problema de controlo
óptimo linear, a dedução da fórmula da solução da equação diferencial linear e o Principio do
Máximo foram assuntos abordados nesta fase do trabalho.
Sabendo que a equação diferencial linear nos dá a evolução no tempo do estado do sistema, foi
importante chegar a um ponto de partida, ou seja as bases matemáticas que levam a essa equação,
essas bases vão estar na Análise de Sistemas de controle por Espaço de Estados (capitulo 4), foram
aqui estudadas as definições de Estado, Variáveis de estado, Vector estado e Espaço de estados, e
abordados assuntos como a representação de sistemas por Espaço de estados, Solução da Equação
de Estado, Matriz exponencial e Matriz de transição de estado.
Após todo o estudo teórico envolvente à necessidade da concretização dos objectivos propostos,
passamos a fase de implementação do programa/algoritmo. Nesta fase foi necessário ainda
relembrar matéria relacionada com a Álgebra Linear como por exemplo, operações com matrizes e
vectores visto estes serem parte fundamental no desenvolvimento do algoritmo, sendo a ferramenta
matemática utilizada para o desenvolvimento do mesmo o MATLAB foi também necessário fazer
algum estudo desta aplicação matemática.
Entrando na fase de Implementação, começamos por elaborar uma função que determinasse o
estado de um sistema quando aplicado um controlo constante (capitulo 5). Para tal foi necessário
fazer o desenvolvimento da solução da equação de estados, calcular a exponencial matricial assim
como o integral do exponencial matricial, feito este desenvolvimento, chegamos a nossa primeira
função xt(a,b,x0,u,t) implementada no MATLAB, que testamos para um exemplo de sistema
achando assim um estado possível de ser alcançado pelo mesmo.
O nosso objectivo passava por encontra, não só um estado do sistema, mas todos os estados
possíveis, ou seja o conjunto dos estados atingíveis, partindo da função implementada para um
estado chegamos a uma função que calculava todos os estados possíveis (capitulo 6) para uma gama
de controlos aplicados ating(nu,a,b,x0,t), para testar a função ao exemplo já referido
aplicamos a esta uma gama de 1024 controlos possíveis e chegamos a uma “nuvem” representativa
do conjunto dos estados atingíveis, verificou-se que podia-se simplificar o problema se
encontrássemos apenas o conjunto dos estados da margem dessa mesma nuvem visto que com estes
estava perfeitamente definido o conjunto dos estados atingíveis, verificou-se que com uma gama de
controlos que dentro da divisão feita anteriormente para os 1024 valores, fossem apenas aplicados
-1-
Sistema para verificação Lógica do Controlo
Dezembro 2003
os que abrangiam apenas as transições de 0 para 1 e de 1 para o do controlo, encontrava-se o
conjunto “margem” pretendido, assim com ajuda de uma função muito simples de implementar
nu(n) que gerava esses mesmo controlos chegamos ao resultado simplificado pretendido, testamos
novamente esta função no nosso exemplo de sistema.
Uma questão que ficava em aberto era justificar porque é que esta simplificação de facto
resultava, e qual o papel do Principio do Máximo. Para responder a esta questão foi implementada
uma nova função pmax() em que se aplica o principio do máximo (capitulo 7), após testar e feita a
comparação entre o resultado obtido por esta função e o resultado obtido pela simplificação que nos
deu o conjunto “margem” descrito acima era idêntico, para justificar esta situação recorremos à
função de “switching” que nos estabeleceu uma correspondência entre a variação de um angulo
presente no principio do máximo com a variação do tempo de “switching” que não é mais que as
transições de 0 para 1 e de 1 para 0 gerados pela função nu(n)que aplicamos na versão
simplificada da determinação do conjunto dos estados atingíveis ating(nu,a,b,x0,t).
Até aqui foram tratados apenas sistemas lineares, como tinha também interesse saber o
comportamento do algoritmo para sistemas não lineares, testamos este num problema com um
sistema não linear, embora tendo sido feito uma transformação para que o sistema se tornasse
linear, e no fim desfeita essa transformação para dar o comportamento real do sistema, conseguimos
ver o comportamento para sistemas não lineares de onde sobressai a possível não convexidade do
conjunto dos estados atingíveis.
O trabalho realizado terminou neste ponto, no entanto, partindo do principio que existe sempre
algo por fazer ou melhorar, talvez este não seja um ponto final mas sim um contributo para voltar a
pegar no assunto e progredir no estudo de Sistemas para Verificação Lógica de Controlo.
9.2. Conclusões
Uma das conclusões a tirar deste trabalho é que se consegue, usando técnicas de Controlo
Óptimo, chegar a um “primeiro” programa/algoritmo que calcula uma estimativa do conjunto dos
estados que um dado sistema pode atingir, tal como era proposto pelo objectivo do trabalho.
Verificamos que para Sistemas Lineares o algoritmo criado, através das funções MATLAB
criadas ao longo do trabalho, funciona bem, foi ainda experimentada uma primeira abordagem aos
Sistemas Não Lineares que resultou, no entanto com a ressalva que o Sistema utilizado sofreu uma
transformação para Sistema Linear.
Outra conclusão é que com a utilização da função de “switching” podemos simplificar o
problema do calculo do conjunto dos estados atingíveis, de modo a não termos de testar todas as
hipóteses de controlo, mas sim só aquelas que correspondem a valores de controlo óptimo.
Verificou-se ainda, que enquanto o resultado do conjunto dos estados atingíveis dos Sistemas
Lineares dava um conjunto convexo, para Sistemas não Lineares o conjunto pode ser não convexo
(côncavo), o que nos leva a dizer que enquanto para Sistemas Lineares o Principio do Máximo pode
ser aplicado directamente, para Sistemas Não Lineares devemos procurar uma forma de superar o
problema que a não convexidade do resultado nos põem.
Por essas razões, chegamos também à conclusão que fica muito por explorar e melhorar neste
campo, nomeadamente no que diz respeito a Sistemas não Lineares, sendo assim podemos dizer que
em parte o objectivo deste trabalho também pode ser visto como a abertura de uma porta que nos
leve a explorar ainda mais esta matéria.
-2-
Download

9. Considerações Finais