Sistemas de Controle II
Universidade Federal do Pará
Consideramos sistemas LIT representados em espaço de estados:
\[\begin{cases} \dot{x}(t) = Ax(t) + Bu(t) \\ y(t) = Cx(t) \end{cases}\]
Os polos de malha aberta são os autovalores de \(A\):
\[\det(sI - A) = 0\]
Problema
E se os polos de malha aberta não atenderem às especificações de desempenho desejadas?
\[A = \begin{bmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ -1 & -5 & -6 \end{bmatrix} \implies \det(sI - A) = s^3 + 6s^2 + 5s + 1 = 0\]
Polos de malha aberta: \(p_1 \approx -0{,}308 \qquad p_2 \approx -0{,}643 \qquad p_3 \approx -5{,}049\).
Análise
A posição dos polos determina o comportamento dinâmico do sistema:
\[G(s) = \frac{K\omega_n}{s^2 + 2\xi\omega_n s + \omega_n^2} \quad\implies\quad \text{polos} = -\xi\omega_n \pm j\omega_n\sqrt{1-\xi^2}\]
| Especificação | Relação com os polos |
|---|---|
| Estabilidade | Polos no semiplano esquerdo |
| Tempo de acomodação | Parte real \(\xi\omega_n\) |
| Frequência de oscilação | \(\omega_d = \omega_n\sqrt{1-\xi^2}\) |
| Sobressinal | Fator de amortecimento \(\xi\) |
Ideia Central
Polos de malha fechada bem posicionados \(\implies\) especificações de desempenho atendidas.
\[\begin{cases} \dot{x}(t) = Ax(t) + Bu(t) \\ y(t) = Cx(t) \end{cases}\]
Sinal de controle como combinação linear dos estados:
\[u(t) = -Kx(t) + r(t)\]
onde \(K = \begin{bmatrix} k_1 & k_2 & \cdots & k_n \end{bmatrix}\) é o vetor de ganhos e \(r(t)\) a referência. Substituindo:
\[\dot{x}(t) = Ax(t) + B\bigl(-Kx(t) + r(t)\bigr)\]
Sistema em malha fechada:
\[\begin{cases} \dot{x}(t) = (A - BK)x(t) + Br(t) \\ y(t) = Cx(t) \end{cases}\]
Observação
A realimentação modifica a matriz dinâmica: \(A \rightarrow A_{cl} = A - BK\). Os autovalores de \(A_{cl}\) são os polos de malha fechada.
Observação
O ganho \(K\) realimenta todos os estados \(x(t)\) — não apenas a saída \(y(t)\). Diferente da realimentação de saída clássica.
Matriz de malha fechada: \(A_{cl} = A - BK\).
Polos de malha fechada — autovalores de \(A_{cl}\):
\[\det\bigl(sI - (A - BK)\bigr) = 0\]
Alocação de Polos
Com \(K\) adequado, os polos de malha fechada podem ser posicionados em qualquer lugar do plano complexo — desde que o sistema seja controlável.
Questão fundamental
Dado \(\dot{x} = Ax + Bu\), sempre existe \(K\) que posicione os polos arbitrariamente?
Não necessariamente. Depende da capacidade de \(u\) em influenciar os estados.
Condição necessária
A alocação arbitrária de polos exige que o sistema seja completamente controlável.
O sistema \(\dot{x} = Ax + Bu\) é completamente controlável se e somente se:
\[\text{posto}(\mathcal{C}) = n, \quad \mathcal{C} = \begin{bmatrix} B & AB & A^2B & \cdots & A^{n-1}B \end{bmatrix}\]
onde \(n\) é a ordem do sistema.
\[\text{rank}(\mathcal{C}) = \text{posto}(\mathcal{C}) = n, \det(\mathcal{C}) \neq 0. \text{ Ou seja:} \mathcal{C} \text{é invertível!}\]
Interpretação
Controlabilidade garante a existência de \(K\) capaz de levar o sistema a qualquer estado em tempo finito.
Sistema não controlável — considere:
\[A = \begin{bmatrix} -1 & 0 \\ 0 & -2 \end{bmatrix}, \quad B = \begin{bmatrix} 1 \\ 0 \end{bmatrix}\]
A matriz de controlabilidade:
\[\mathcal{C} = \begin{bmatrix} B & AB \end{bmatrix} = \begin{bmatrix} 1 & -1 \\ 0 & 0 \end{bmatrix}\]
\[\det(\mathcal{C}) = 0 \implies \text{posto}(\mathcal{C}) = 1 < n = 2\]
Conclusão
O estado \(x_2\) não é influenciado por \(u\) — o polo em \(s = -2\) não pode ser movido. A alocação arbitrária de polos é impossível para este sistema.
Polos desejados \(p_1, p_2, \ldots, p_n\) definem o polinômio característico desejado:
\[\alpha(s) = (s - p_1)(s - p_2)\cdots(s - p_n) = s^n + \alpha_{n-1}s^{n-1} + \cdots + \alpha_1 s + \alpha_0\]
Objetivo: encontrar \(K\) tal que:
\[\det\bigl(sI - (A - BK)\bigr) = \alpha(s)\]
Em outras palavras
O polinômio característico de \(A_{cl} = A - BK\) deve coincidir exatamente com \(\alpha(s)\).
Igualando coeficientes de \(\det\bigl(sI - (A - BK)\bigr) = \alpha(s)\), obtêm-se \(n\) equações nas \(n\) incógnitas \(k_1, \ldots, k_n\).
Para sistemas controláveis, a solução é dada pela fórmula de Ackermann:
\[\boxed{K = \begin{bmatrix} 0 & \cdots & 0 & 1 \end{bmatrix} \mathcal{C}^{-1} \,\alpha(A)}\]
onde \(\alpha(A)\) é o polinômio desejado avaliado na matriz \(A\):
\[\alpha(A) = A^n + \alpha_{n-1}A^{n-1} + \cdots + \alpha_1 A + \alpha_0 I\]
Intuição
\(\mathcal{C}^{-1}\) desfaz a estrutura do sistema — \(\alpha(A)\) impõe a dinâmica desejada.
Determinar \(K\) para o sistema que atenda aos polos desejados:
\[A = \begin{bmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ -1 & -5 & -6 \end{bmatrix}, \quad B = \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}\] Polos desejados: \(\boxed{p_1 = -2 + j4, \quad p_2 = -2 - j4, \quad p_3 = -10}\)
Roteiro
Calculamos a matriz de controlabilidade \(\mathcal{C} = \begin{bmatrix} B & AB & A^2B \end{bmatrix}\):
\[AB = \begin{bmatrix}0\\1\\-6\end{bmatrix}, \quad A^2B = \begin{bmatrix}1\\-6\\31\end{bmatrix}\]
\[\mathcal{C} = \begin{bmatrix} 0 & 0 & 1 \\ 0 & 1 & -6 \\ 1 & -6 & 31 \end{bmatrix}\]
\[\det(\mathcal{C}) = 1 \neq 0 \implies \text{posto}(\mathcal{C}) = 3 = n \checkmark\]
Conclusão
O sistema é completamente controlável — a alocação arbitrária de polos é possível.
A partir dos polos desejados:
\[\phi(s) = (s - p_1)(s - p_2)(s - p_3) = (s+2-j4)(s+2+j4)(s+10)\]
Agrupando o par complexo conjugado:
\[\phi(s) = (s^2 + 4s + 20)(s + 10)\]
Expandindo:
\[\boxed{\phi(s) = s^3 + 14s^2 + 60s + 200}\]
O polinômio característico desejado!
\[\phi(A) = A^3 + 14A^2 + 60A + 200I\]
Calculando as potências de \(A\):
\[A^2 = \begin{bmatrix} 0 & 0 & 1 \\ -1 & -5 & -6 \\ 5 & 25 & 31 \end{bmatrix}, \quad A^3 = \begin{bmatrix} -1 & -5 & -6 \\ 5 & 25 & 31 \\ -25 & -125 & -181 \end{bmatrix}\]
Somando termo a termo:
\[\phi(A) = \begin{bmatrix} 199 & -10 & -6 \\ -4 & 80 & 1 \\ -20 & -100 & 0 \end{bmatrix}\]
\[K = \begin{bmatrix} 0 & 0 & 1 \end{bmatrix} \mathcal{C}^{-1} \,\phi(A)\]
Calculando \(\mathcal{C}^{-1}\):
\[\mathcal{C}^{-1} = \begin{bmatrix} 5 & 6 & 1 \\ 6 & 1 & 0 \\ 1 & 0 & 0 \end{bmatrix}\]
Calculando \(\mathcal{C}^{-1}\phi(A)\):
\[\mathcal{C}^{-1}\phi(A) = \begin{bmatrix} 940 & 1186 & 199 \\ 1186 & 489 & 55 \\ 199 & 55 & 8 \end{bmatrix}\]
O vetor \(\begin{bmatrix} 0 & 0 & 1 \end{bmatrix}\) seleciona a última linha:
\[\boxed{K = \begin{bmatrix} 199 & 55 & 8 \end{bmatrix}}\]
A lei de controle \(u = -Kx\) resulta em \(A_{cl} = A - BK\):
\[A_{cl} = \begin{bmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ -1 & -5 & -6 \end{bmatrix} - \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}\begin{bmatrix} 199 & 55 & 8 \end{bmatrix} = \begin{bmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ -200 & -60 & -14 \end{bmatrix}\]
O polinômio característico de \(A_{cl}\):
\[\det(sI - A_{cl}) = s^3 + 14s^2 + 60s + 200 = \phi(s) \checkmark\]
Conclusão
Os polos de malha fechada são exatamente \(p_1 = -2+j4\), \(p_2 = -2-j4\), \(p_3 = -10\) ✓
% Matrizes do sistema:
A = [0 1 0;
0 0 1;
-1 -5 -6];
B = [0; 0; 1];
% Polos desejados:
p = [-2+4j, -2-4j, -10];
% Verificar controlabilidade
Co = ctrb(A, B);
fprintf('Posto de C: %d\n', rank(Co));
% Ganho via Ackermann
K = acker(A, B, p);
fprintf('K = [%.0f %.0f %.0f]\n', K(1), K(2), K(3));
% Matriz de malha fechada
Acl = A - B*K;
fprintf('Polos de malha fechada:\n');
disp(eig(Acl))acker vs place
acker implementa a fórmula de Ackermann — adequado para sistemas SISO de baixa ordem. Para sistemas de ordem elevada, prefira place (algoritmo de Kautsky-Nichols), numericamente mais robusto e que também suporta sistemas MIMO.
| Etapa | Operação |
|---|---|
| 1. Controlabilidade | \(\text{posto}(\mathcal{C}) = n\)? |
| 2. Polinômio desejado | \(\alpha(s) = \prod_i(s - p_i)\) |
| 3. Avaliar \(\alpha(A)\) | Substituir \(s \to A\) |
| 4. Ganho de Ackermann | \(K = e_n^T \mathcal{C}^{-1} \alpha(A)\) |
| 5. Verificação | \(\text{eig}(A - BK) \stackrel{?}{=} \{p_i\}\) |
Dado o sistema:
\[A = \begin{bmatrix} 0 & 1 \\ -2 & -3 \end{bmatrix}, \quad B = \begin{bmatrix} 0 \\ 1 \end{bmatrix}\]
Prof. Dr. Raphael Teixeira
raphaelbt@ufpa.br