Sistemas lineares discretos e amostrados Texto base: Alexandre Tofino Apresentação: Nestor Roqueiro DAS/CTC/UFSC Introdução • Processos contínuos controladores discretos • Período de amostragem (teorema de Shanon) • Diagrama de sistema continuo com controlador discreto • Considerações praticas Representação de estados Modelo em tempo discreto onde x(kT); u(kT); y(kT) é o estado, controle e saída no instante t = kT. A primeira equação indica como o estado é calculado a partir do estado e controle no instante atual gerando assim uma recursividade na atualização do estado Discretização das equações de estado Considerando as equações de tempo contínuo cuja solução é: Vamos assumir que o controle é constante entre os instantes de amostragem. Discretização das equações de estado • Como todas as componentes do sinal u(t) são constantes nos intervalos kT a kT + T tem-se: • Multiplicando por eAT e subtraindo Discretização das equações de estado • Como u(t) é constante no intervalo kT - kT +T podemos substituir a constante u( ) por u(kT) e mudar a variável (t = + kT) • Definindo • tem-se Propriedades estruturais • Controlabilidade: Um sistema discreto de dimensão n é controlável se for possível, por meio de um vetor de controle, constante nos intervalos de amostragem e sem restrições de magnitude, transferir o sistema de qualquer estado inicial x(kT) para qualquer outro estado desejado num intervalo de n períodos de amostragem. Propriedades estruturais Pode-se construir um teste para a controlabilidade do sistema a partir da a solução da equação recursiva: obtendo-se: Como os estados x(0) e x(nT) são arbitrários a matriz deve ter posto n. Logo, posto(Mc) = n é a condição (necessária e suficiente) para que um sistema seja controlável. Propriedades estruturais • Quando a matriz de controlabilidade possui posto r, inferior ao número de variáveis de estado, então existe uma transformação de similaridade T unitária (T’ =T-1) tal que: onde os autovalores de Anc são os autovalores não controláveis do sistema (se existir algum), o par (Ac;Bc) é controlável e a seguinte igualdade se verifca: • A função de transferência do sistema não se altera se descartamos os estados não controláveis Propriedades estruturais • Estabilizabilidade: O sistema é dito ser estabilizável quando os autovalores não controláveis são estáveis, isto é os autovalores de Anc possuem módulo inferior à unidade. • Observabilidade: O sistema é observável se todo estado inicial x(0) puder ser determinado a partir do conhecimento de y(kT); u(kT) durante um intervalo de tempo finito. Propriedades estruturais • Da definição podemos construir um teste para a observabilidade de um sistema. Para uma dada condição inicial x(0) e um sinal de controle conhecido u(kT), a resposta do sistema é: • Com as n primeiras medidas efetuadas temos as relações: Propriedades estruturais • Com as n primeiras medidas efetuadas temos as relações: • Como o lado esquerdo das igualdades acima são valores conhecidos (medidas e controle) poderemos encontrar x(0) a partir dessas expressões Propriedades estruturais • Isto será possível quando a matriz conhecida como matriz de observabilidade, possuir posto igual ao número de variáveis de estado. Por outro lado, quando posto(Mo) é inferior ao número de variáveis de estado existe uma condição inicial x(0) tal que Mox(0) = 0. Logo, para essa condição inicial teremos o lado direito de todas as expressões nulo e nesse caso a condição inicial desaparece das expressões indicando que não será possível recuperá-la e o sistema não é observável. Propriedades estruturais • Quando a matriz de observabilidade possui posto r, inferior ao número de variáveis de estado, então existe uma transformação de similaridade T unitária (T’ =T-1) tal que: onde Ano contém os autovalores não observáveis (se existir algum), o par (Ao;Co) é observável e a seguinte igualdade se verifca: A função de transferência do sistema não se altera se descartamos os estados não observáveis. Propriedades estruturais • Detectabilidade: O sistema é dito ser detectável quando os autovalores não observáveis são estáveis, isto á os autovalores de Ano possuem módulo inferior à unidade. Realização de estados • A obtenção de uma representação de estados do sistema a partir da sua função de transferência recebe o nome de realização de estados. • Para sistemas SISO existem procedimentos bastante simples de realização de estados. • Por exemplo, dado a função de transferência Realização de estados • Com a introdução de uma variável intermediária R(z) Sendo y(t)[n] = y(kT + nT) o deslocamento temporal de n passos à frente da variável y(t) no instante t = kT e lembrando que as condições iniciais são nulas nas equações acima, usando a transformada inversa podemos reescrevê-las: Realização de estados • Escolhendo como variáveis de estado Até i = q - 1, temos as seguintes relações: que nos conduz à equação de estados onde Realização de estados • Alem disso Logo a equação de saída é dada por y(kT) = Cx(kT) + Du(kT) onde Realização de estados • A representação de estados acima recebe o nome de forma canônica de controlabilidade pois o par (A;B) nessa representação será sempre controlável. • Note que não existem zeros na função de transferência de U(z) para R(z). Logo não pode haver cancelamento pólo/zero nessa parte do sistema que define a ação de controle. Isso justifica que o sistema seja controlável. • Entretanto, se existem cancelamentos pólo/zero em G(z), isto é, de U(z) para Y (z), esses cancelamentos ocorrem na função de transferência de R(z) para a saída Y (z). Logo o sistema não será observável. • A matriz A com a estrutura acima recebe o nome de forma companheira pois sua equação característica pode ser diretamente escrita com a última linha de A, isto é,: det(zI - A) = zq + a1zq-1 + ... + aq. • Como a realização de estados de uma dada função de transferência não é única existem outras formas de se obter a representação de estados do sistema. Realização de estados • Para sistemas MIMO podemos obter a função de transferência de cada entrada para cada saída, como se fossem sistemas SISO desacoplados, e em seguida acoplá-los, dois à dois, da seguinte forma: Realização de estados • Realização Mínima: A realização de estado (A;B;C;D) de um sistema é dita ser mínima se a matriz de dinâmica A possui a menor dimensão possível. • O procedimento para realização de estados descrito acima é simples mas normalmente não conduz á uma realização mínima. Para se obter uma realização de estados mínima a partir de uma realização não mínima basta se eliminar os estados não controláveis e não observáveis, pois uma realização (A;B;C;D) é mínima se e somente se (A;B) é controlável e (A;C) é observável. Pólos e zeros • Como as matrizes do modelo são constantes, i.e. o sistema é linear invariante no tempo, podemos utilizar a transformada Z para obter a matriz de transferência do sistema. Para isso basta supor condições iniciais nulas obtendo Pólos e zeros • Pólos: Um número complexo z é um pólo de G(z) se ele é um pólo de pelo menos uma das funções Gij(z). • Todo pólo de G(z) é um autovalor de A, porém o contrário não é verdade em geral pois cancelamentos pólos/zeros podem ocorrer nas funções Gij(z). Podemos mostrar as seguintes relações: Pólos e zeros • Teorema 1 Seja G(z) = C(zI - A)-1B + D. Então as seguintes afirmações são verdadeiras: – Se (A;B) é controlável e (A;C) observável então todos os autovalores de A são pólos de G(z). – Se (A;B) é estabilizável e (A;C) detectável então todos os autovalores de A localizados fora do círculo unitário são pólos de G(z). – Todos os autovalores de A que não são pólos de G(z) ou são não controláveis ou não observáveis. Pólos e zeros • Para definir zeros de um sistema multivariável note que dificilmente encontraríamos um número complexo z0 tal que G(z0) = 0 já que isso implicaria que z0 é um zero simultâneo de todos os elementos de G(z). Ao invés disso definiremos zero de um sistema multivariável como sendo um número complexo que anula simultaneamente todas as saídas do sistema (ou uma combinação delas) para algum sinal de entrada. Esta definição de zeros para sistemas multivariáveis é mais interessante pois nos permite levar em conta o acoplamento entrada/saída do sistema. Para uma definição formal de zeros, precisaremos da seguinte definição auxiliar. Pólos e zeros • Posto normal: definimos posto normal de G(z) o maior posto de G(z) qualquer que seja o complexo z. • Por exemplo o posto normal de: é 2, porém posto(G(0)) = 1. Assim o posto normal é o posto para a maior parte dos valores de z, excluindo-se apenas alguns valores para os quais existe redução do posto. • Dizemos que G(z) possui posto normal completo se o posto normal de G(z) coincide com o número de linhas ou colunas (o que for menor), isto é se as linhas ou colunas de G(z) forem linearmente independentes para a maior parte dos valores de z. Pólos e zeros • Zeros de transmissão: Seja G(z) uma matriz de posto normal completo. Dizemos que z0 é um zero de transmissão de G(z) se uma das condições abaixo está satisfeita: – (i) Posto normal de G(z) é igual à q e existe um vetor v tal que G(z0)v = 0. – (ii) Posto normal de G(z) é igual à r e existe um vetor w tal que wG(z0) = 0. – (iii) G(z) é quadrada e det(G(z0)) = 0. Veja na definição acima que se o posto de G(z) sofre redução para algum z = z0 então podemos encontrar um sinal de entrada v que pertence ao espaço nulo de G(z0) e dessa forma a saída y(z0) = G(z0)v será nula para a entrada v nos casos (i); (iii). No caso (ii) é uma combinação das saídas que se anula pois wy(z0) = wG(z0)v será nula para qualquer entrada v. Pólos e zeros • Uma forma alternativa de se definir zeros de um sistema multivariável vem da utilização das equações de estado ao invés da função de transferência. Impondo saída nula e tomando a transformada Z vemos que (zI - A)X(z) - BU(z) = 0 e CX(z) + DU(z) = 0 onde X(z); U(z) são as transformadas de x(kT); u(kT) respectivamente. De forma compacta temos: Pólos e zeros • Zero invariante: Um número complexo z0 é chamado de zero invariante de uma representação de estados se posto(R(z0)) é inferior ao posto normal de R(z). Para verificar um resultado interessante seja (v0; z0) um par autovetor/autovalor de A, isto é AT v0 = z0 v0 e suponha que v0* B = 0. Então o autovalor z0 não é controlável pois v0* Mc = 0 e isto implica que o posto da matriz de controlabilidade Mc é inferior ao número de variáveis de estado. Além disso note que [v0* 0] R(z0)=0. Logo todo autovalor não controlável de A é um zero invariante do sistema. Pólos e zeros Por outro lado se A v0 = z0 v0 e C v0 = 0 então z0 é um autovalor não observável de A já que Mc v0 = 0 indicando que o posto da matriz de observabilidade é menor que o número de variáveis de estado. Além disso note que R(z0) · [v0 ,0]T ¸= 0 Logo todo autovalor não observável de A é um zero invariante do sistema. Para X(z) = (zI - A)-1BU(z) a definição de zero invariante recupera a definição de zero de transmissão. Assim, todo zero de transmissão é também um zero invariante. Num sistema controlável e observável o conjunto de zeros invariantes e de transmissão coincidem. Para G(z) quadrada com D inversível, então todo zero invariante é um autovalor de A - BD-1C e todo zero de transmissão é um pólo de G(z) -1. Alocação de pólos para sistemas de tempo discreto • Para precisar o problema que gostaríamos de resolver, considere o seguinte sistema linear discreto x(kT + T) = Ax(kT) + Bu(kT) onde x(kT) representa o vetor de estados, u(kT) o sinal de controle, A;B são matrizes constantes com dimensões apropriadas. • Suponha que dispomos de medidores para todas as variáveis de estado. Gostaríamos de determinar uma lei de controle do tipo u(kT) = Fx(kT), onde F é a matriz de ganhos de realimentação a ser determinada, de tal forma que o sistema em malha fechada satisfaça os seguintes requisitos: – (i) o regime permanente seja atingido, isto é o sistema seja exponencialmente estável – (ii) que a resposta transitória satisfaça certos critérios de desempenho definidos pela localização desejada dos pólos do sistema realimentado. Alocação de pólos para sistemas de tempo discreto • O sistema em malha fechada com a lei de controle u(kT) =Fx(kT) é dado por x(kT + T) = (A + BF) x(kT) e para que ele seja exponencialmente estável todos os autovalores da matriz (A + BF) devem estar no interior do círculo unitário. Realimentação de estados com alocação de pólos A motivação para resolver o problema acima, conhecido como alocação de pólos, vem do fato de que a localização dos pólos de malha fechada define a estabilidade e está fortemente ligada ao comportamento transitório do sistema. Assim, basta o projetista escolher adequadamente a localização dos pólos de malha fechada que o sistema de controle irá funcionar adequadamente durante o transitório e atingindo o regime permanente (estabilidade). Observe entretanto que o transitório depende também dos zeros do sistema e não apenas dos pólos. Para acomodar a influência dos zeros, o projeto de alocação de pólos é feito tipicamente de forma iterativa até que os requisitos de resposta durante o transitório sejam atingidos nas simulações. Realimentação de estados com alocação de pólos • Para que possamos projetar os ganhos de realimentação de forma a atingir o desempenho desejado (a ser definido pelo projetista através da escolha dos pólos de malha fechada) o sistema de malha aberta precisa ser controlável . • Quando o sistema de malha aberta é controlável podemos escolher a localização dos pólos de malha fechada de forma a encontrar uma realimentação de estados que modifica os pólos da forma desejada. O projeto dos ganhos de realimentação é bastante simples no caso de sistemas com uma entrada e uma saída (SISO) e referência nula Referência nula: regulação Para o sistema x(kT + T) = Ax(kT) + Bu(kT) seja uma mudança de coordenadas Tw(kT) = x(kT) tal que o sistema transformado se encontre na forma canônica de controlabilidade, ou seja: Referência nula: regulação Onde é o polinômio característico de malha aberta do sistema SISO Referência nula: regulação Pode-se implementar a seguinte lei de controle: O problema que devemos resolver agora é encontrar Fc de forma que o sistema em malha fechada seja: Referência nula: regulação • Ora, a matriz Ac - BcFc está na forma companheira: • Como desejamos que, em malha fechada, o sistema seja estável e, ainda, atinja certas especificações de desempenho associadas aos pólos desejados para a malha fechada, queremos que os autovalores de malha fechada satisfaçam uma dada equação característica escolhemos ai + fi = i; • Ou seja, o vetor de ganhos para o sistema na forma canônica controlável é Fc = [n - an ... 1 – a1 ] Referência nula: regulação • A lei de controle será implementada para o sistema original, e não para o sistema transformado. Como • Tem-se • E importante notar que para que possamos calcular a matriz de ganhos acima, que aloca os pólos nas posições desejadas, é preciso que a matriz Mc seja inversível e isto ocorre se e somente se o sistema for controlável. Apesar da fórmula acima ser válida apenas para sistemas SISO, a controlabilidade ainda é requisito necessário e suficiente para alocação de pólos no caso MIMO Método para sistemas MIMO Dado o sistema em malha fechada: ou seja, x(kT + T) = (A - BF)x(kT). Queremos encontrar a matriz de ganhos F de tal forma que os autovalores de (A - BF) sejam {1, ... , n}. Para isso, devemos ter: (A - BF)vi = ivi sendo i autovalores e vi seus respectivos autovetores. Método para sistemas MIMO Podemos reescrever na forma: Lembrando que espaço nulo da matriz Mi é o conjunto de todos os vetores gi ≠0 que satisfazem Migi = 0, o problema a ser resolvido consiste em encontrar (vi; F) tal que o vetor gi = [vi, Fvi] T pertença ao espaço nulo da matriz Mi para todo i = 1, ... , n. Método para sistemas MIMO Se particionarmos a matriz [g1 , ..., gn] de acordo com os vetores vi e Fvi, obtemos: Supondo V inversível podemos obter a matriz de ganhos através da relação F = GV -1 Observador de ordem completa Consideraremos agora o problema de estimar todas as variáveis de estado de um sistema a partir dos sinais conhecidos disponíveis nesse sistema. Para isso admitiremos que o sistema seja descrito por x(kT + T) = Ax(kT) + Bu(kT); x(0) = x0 y(kT) = Cx(kT) onde x é o vetor de estados, u é a variável de controle que suporemos conhecida e y é o sinal de saída do sistema proveniente dos medidores e suporemos que não existe redundância nas variáveis medidas, isto é posto(C) = ny. Observe que, se o número de sensores for igual ao número de variáveis de estado (ny =n), e as medidas efetuadas não são redundantes (a matriz C é inversível) então podemos determinar o estado através da relação algébrica x(kT) = C -1 y(kT). Observador de ordem completa • No entanto, na grande maioria dos casos não dispomos de sensores para todas as variáveis de estado e nesses casos temos ny < n implicando que a matriz C não é mais inversível e portanto não mais podemos encontrar o estado através da relação algébrica acima. A solução nesses casos é obter uma estimativa xf (kT) do sinal x(kT) através de um filtro dinâmico cujas entradas são os sinais conhecidos do sistema y(kT); u(kT) e cuja saída é a estimativa xf (kT), Observador de ordem completa A representação de estados desse filtro é indicada abaixo. xf (kT + T) = Afxf (kT) + Bfu(kT) + Lfy(kT) onde as matrizes Af ;Bf ;Lf devem ser determinadas tais que as seguintes condições sejam satisfeitas: – (i) A estimativa xf (kT) deve convergir para x(kT) em regime permanente, i.e. – (ii) A dinâmica do erro de estimação e(kT) = x(kT) -xf (kT) deve depender apenas da condição inicial e(0) = x(0) - xf (0). Observador de ordem completa • Um filtro que satisfaz as condições acima é denominado de observador de Luenberger. • O observador é denominado de ordem completa quando o estado xf (kT) do observador possui dimensão igual a do estado x(kT) que se deseja estimar. • O requisito (i) indica que não existe erro de estimação em regime permanente, enquanto (ii) indica que o erro de estimação não depende dos sinais de entrada do filtro y(kT); u(kT) e portanto o projeto do observador e da lei de controle ficam independentes. Observador de ordem completa • Para determinar as matrizes do filtro que satisfazem as condições acima, basta calcular a dinâmica do erro de estimação e(kT) = x(kT) - xf (kT) que nos leva a: Observador de ordem completa • Para que o requisito (i) seja atendido devemos escolher Af = A - LfC ; Bf = B que resulta na seguinte dinâmica do erro de estimação e(kT + T) = (A - LfC)e(kT) e num filtro, conhecido como observador de Luenberger de ordem completa, dado pela equação abaixo xf (KT + T) = (A - LfC)xf (kT) + Bu(kT) + Lfy(kT) Observador de ordem completa • Por outro lado para que o requisito (ii) seja atendido devemos escolher a matriz Lf , conhecida como ganho do observador, de tal forma que os autovalores da matriz ALfC, que define a dinâmica do erro, tenham todos parte real negativa, pois dessa forma teremos e(kT) = (A - LfC)k e(0) , Técnicas para projeto do ganho do observador • O problema que queremos estudar consiste em projetar a matriz Lf de ganho do observador de tal forma que os autovalores da matriz A-LfC estejam no círculo unitário. • Este problema é similar ao de projeto de realimentação de estados, onde os autovalores da matriz A - BF devem ser definidos. A única diferença é a posição das matrizes F e Lf , a serem determinadas, em relação às matrizes constantes B e C. No entanto, essa dificuldade pode ser eliminada notando que os autovalores de A-LfC são os mesmos da sua transposta AT - CT LfT onde agora LfT e F aparecem na mesma posição. Portanto podemos estabelecer a seguinte correspondência: Técnicas para projeto do ganho do observador • A tabela indica que se definirmos um sistema de controle auxiliar fictício, chamado de sistema dual, na forma ed(kT + T) = AT ed(kT) + CT ud(kT) ; ud(kT) = - LfT ed(kT) onde ed(kT); ud(kT) são o estado dual e controle dual, respectivamente, podemos utilizar as mesmas técnicas da seção anterior para encontrar a matriz de ganho Lf tal que o sistema dual acima em malha fechada AT - CT LfT seja estável. • Note que controlabilidade no sistema dual significa observabilidade do par (A;C) que indica observabilidade do sistema original. Isto decorre do fato de que a matriz de controlabilidade do par (AT; CT ) é a transposta da matriz de observabilidade do par (A;C). Estabilidade segundo Lyapunov • Existem vários métodos para analisar estabilidade de sistemas lineares, porem, o segundo método de Lyapunov pode ser utilizado para analisar estabilidade tanto de sistemas lineares quanto não lineares, variantes ou invariantes no tempo. • Sabe-se que um sistema é estável se a energia total deste decresce continuamente ate atingir um estado de equilíbrio. Esta idéia é utilizada no método de Lyapunov, porem, para sistemas descritos por equações sem relação direta com sistemas físicos não é uma tarefa simples definir a “função energia”. Assim é introduzida uma função de energia “fictícia” denominada função de Lyapunov, que é uma função escalar que satisfaz as hipóteses do teorema de estabilidade de Lyapunov. Estabilidade segundo Lyapunov Estabilidade segundo Lyapunov Estabilidade segundo Lyapunov Estabilidade segundo Lyapunov • FIM