image/svg+xml

Ubicación de polos

94ada253c94f95a407868dd77fad2aae.png
Donde:
yy es la salida disponible
uu es la señal de control

Si la señal de referencia es una constante
3bbe704107a611a276bf2e6058f1e334.png
Si la señal de referencia varía con respecto al tiempo
a3cf1313ecec788a396952c27b04eb17.png

Ubicación de polos por retroalimentación de estado

Considere el sistema SISO

(1){x˙=Ax+Buy=Cx(1)\begin{cases} \dot{x} &= Ax + Bu\\ y &= Cx \end{cases}

El polinomio característico del sistema (1)(1) es,

p(s)=det(sIA)=sn+a1sn1+a2sn2++an1s+an=(sq1)(sq2)(sqn)\begin{aligned} p(s) &= \det(sI-A) = s^n + a_1 s^{n-1}+ a_2 s^{n-2} + \cdots + a_{n-1} s + a_n\\ &=(s-q_1)(s-q_2)\cdots(s-q_n) \end{aligned}

Donde: q1,q2,,qnq_1, q_2, \ldots, q_n son los polos en lazo abierto.

El problema de ubicación de polos consiste en asignar vectores μ1,μ2,,μn\mu_1, \mu_2,\ldots,\mu_n al polinomio característico en lazo cerrado.

q1q2qnμ1μ2μn\begin{matrix}q_1\\ q_2\\ \vdots\\ q_n\end{matrix} \longrightarrow \begin{matrix}\mu_1\\ \mu_2\\ \vdots\\ \mu_n\end{matrix}

Se define la retroalimentación de estado:

(2)u=rkx,k=[k1 k2  kn]:1×n=r[k1 k2  kn][x1x2xn]=r(k1x1+k2x2++knxn)\begin{aligned} (2)\quad u &= r-kx\quad,\quad k=[k_1\ k_2\ \ldots\ k_n]:1\times n\\ &= r-[k_1\ k_2\ \ldots\ k_n]\begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix}\\ &= r-(k_1x_1+k_2x_2+\ldots+k_nx_n) \end{aligned} u=ri=1nkixiu = r - \sum^n_{i=1}k_ix_i

Sustituyendo (2)(2) en (1)(1):

x˙=Ax+B(rkx)=Ax+BrBkx\begin{aligned} \dot{x} &= Ax + B(r-kx)\\ &= Ax + Br-Bkx\\ \end{aligned} (3)x˙=(ABk)x+BrSistema en lazo cerrado(3)\quad \dot{x} = (A-Bk)x + Br\quad\text{Sistema en lazo cerrado}

Calculando el polinomio característico:

pLC(s)=det(sI(ABk))=sn+a~1sn1+a~2sn2++a~n1s+a~n=(sμ1)(sμ2)(sμn)\begin{aligned} p_{LC}(s) &= \det(sI-(A-Bk)) = s^n + \tilde{a}_1 s^{n-1}+ \tilde{a}_2 s^{n-2} + \cdots + \tilde{a}_{n-1} s + \tilde{a}_n\\ &=(s-\mu_1)(s-\mu_2)\cdots(s-\mu_n) \end{aligned}

Procedimiento

  1. Calcular el polinomio característico en función de los polos deseados en lazo cerrado.
pLC=(sμ1)(sμ2)(sμn)=sn+a~1sn1++a~np_{LC}=(s-\mu_1)(s-\mu_2)\cdots(s-\mu_n) = s^n + \tilde{a}_1 s^{n-1}+ \cdots + \tilde{a}_n
  1. Calcular pLCp_{LC} en términos de la ganancia kk
pLC(s)=det(sI(ABk))=sn+a~1sn1+a~2sn2++a~n1s+a~np_{LC}(s) = \det(sI-(A-Bk)) = s^n + \tilde{a}_1 s^{n-1}+ \tilde{a}_2 s^{n-2} + \cdots + \tilde{a}_{n-1} s + \tilde{a}_n\\
  1. Igualar los coeficientes
a~1(k)=a1,a~2(k)=a2,,a~n(k)=an\tilde{a}_1(k) = a_1\quad,\quad \tilde{a}_2(k) = a_2\quad,\quad \ldots\quad,\quad \tilde{a}_n(k) = a_n
  1. Realizar la comprobación. Calcular los valores propios de (ABk)(A-Bk)

Ubicación de polos por forma canónica controlable

Se define la retroalimentación de estado:

u=rkx=rkP1x~=rkˉx~u = r-kx = r - kP^{-1}\tilde{x} = r - \bar{k}\tilde{x} x~=Pxx=P1x~kˉ=kP1k=kˉP\tilde{x} = Px\\ x = P^{-1}\tilde x\\ \bar{k} = kP^{-1} \Rightarrow k=\bar{k}P

Sustituyendo x~=Px\tilde x = Px en (1)

P1x~˙=AP1x~+Bux~˙=PAP1x~+PBu=PAP1x~+PB(rkP1x~)=PAP1x~+PBrPBkP1x~=P(ABk)P1x~+PBrP^{-1}\dot{\tilde x} = AP^{-1}\tilde x + Bu\\ \begin{aligned} \dot{\tilde x} &= PAP^{-1}\tilde x + PBu\\ &= PAP^{-1}\tilde x + PB(r-kP^{-1}\tilde x)\\ &= PAP^{-1}\tilde x + PBr-PBkP^{-1}\tilde x\\ &= P(A-Bk)P^{-1}\tilde x + PBr \end{aligned}

Por lo que los sistemas (3)(3) y (4)(4) son similares.

Es decir, ABkA-Bk y P(ABk)P1P(A-Bk)P^{-1} tienen los mismos valores propios

pLC=det(sI(ABk))=det(sIP(ABk)P1)=sn+a~1sn1+a~2sn2++a~n1s+a~n\begin{aligned} p_{LC} &= det(sI-(A-Bk)) = det(sI - P(A-Bk)P^{-1})\\ &= s^n + \tilde{a}_1 s^{n-1}+ \tilde{a}_2 s^{n-2} + \cdots + \tilde{a}_{n-1} s + \tilde{a}_n\\ \end{aligned} A~B~kˉ=[a1~a2~a3~an~100010010]=[a1a2a3an100010010][100][kˉ1 kˉ2 kˉn]=[a1kˉ1a2kˉ2a3kˉ3ankˉn100010010]\begin{aligned} \tilde{A}-\tilde{B}\bar{k}= \begin{bmatrix} -\tilde{a_1} &-\tilde{a_2} &-\tilde{a_3} & \cdots & -\tilde{a_n}\\ 1&0&\cdots&\cdots&0\\ 0&1&0&\cdots&\vdots\\ \vdots&\ddots&\ddots&\ddots\\ 0&\cdots&\cdots&1&0\\ \end{bmatrix} &= \begin{bmatrix} -a_1 &-a_2 &-a_3 & \cdots & -a_n\\ 1&0&\cdots&\cdots&0\\ 0&1&0&\cdots&\vdots\\ \vdots&\ddots&\ddots&\ddots\\ 0&\cdots&\cdots&1&0\\ \end{bmatrix} - \begin{bmatrix}1\\0\\\vdots\\0\end{bmatrix}[\bar{k}_1\ \bar{k}_2\ \ldots \bar{k}_n]\\ &=\begin{bmatrix} -a_1-\bar{k}_1 &-a_2-\bar{k}_2 &-a_3-\bar{k}_3 & \cdots & -a_n-\bar{k}_n\\ 1&0&\cdots&\cdots&0\\ 0&1&0&\cdots&\vdots\\ \vdots&\ddots&\ddots&\ddots\\ 0&\cdots&\cdots&1&0\\ \end{bmatrix} \end{aligned}

Por lo tanto:

a~1=a1kˉ1a~2=a2kˉ2a~n=ankˉnkˉ1=a~1a1kˉ2=a~2a2kˉn=a~nan\begin{matrix} -\tilde{a}_1 = -a_1 - \bar{k}_1\\ -\tilde{a}_2 = -a_2 - \bar{k}_2\\ \vdots\\ -\tilde{a}_n = -a_n - \bar{k}_n\\ \end{matrix}\quad\Longrightarrow\quad\begin{matrix} \bar{k}_1 = \tilde{a}_1 - a_1\\ \bar{k}_2 = \tilde{a}_2 - a_2\\ \vdots\\ \bar{k}_n = \tilde{a}_n - a_n\\ \end{matrix}

Procedimiento

  1. Polinomio característico en lazo abierto. Determinar a1,a2,,ana_1, a_2, \ldots, a_n
  2. Calcular P1P^{-1}, luego P=(P1)1P = (P^{-1})^{-1}
  3. Polinomio característico en lazo cerrado a~1,a~2,,a~n\tilde{a}_1, \tilde{a}_2, \ldots, \tilde{a}_n
  4. Calcular kˉ=[a~1a1,a~2a2,,a~nan]\bar{k} = [\tilde{a}_1-a_1,\tilde{a}_2-a_2, \ldots, \tilde{a}_n-a_n]
  5. Obtener k=kˉPk = \bar k P
  6. Comprobación
    >> eig(A-Bk)
    
μ1μ2μn\mu_1\\ \mu_2\\ \vdots\\ \mu_n\\

Teorema de Cayley-Hamilton

Toda matriz satisface su polinomio característico.

p(s)=det(sIA)=sn+a1sn1+a2sn2++an1s+an=An+a1An1+a2An2++anI=0\begin{aligned} p(s) &= \det(sI-A) = s^n + a_1 s^{n-1}+ a_2 s^{n-2} + \cdots + a_{n-1} s + a_n\\ &= A^n + a_1 A^{n-1} + a_2 A^{n-2} + \cdots + a_n I = 0\\ \end{aligned}

Ubicación de polos por el método de Ackerman

Es un método muy importante y de hecho matlab tiene un comando para esto:

acker()

Se tiene el sistema SISO

(1){x˙=Ax+Buy=Cx(1)\begin{cases} \dot{x} &= Ax + Bu\\ y &= Cx \end{cases}

El polinomio característico del sistema (1)(1) es,

p(s)=det(sIA)=sn+a1sn1+a2sn2++an1s+an=(sq1)(sq2)(sqn)\begin{aligned} p(s) &= \det(sI-A) = s^n + a_1 s^{n-1}+ a_2 s^{n-2} + \cdots + a_{n-1} s + a_n\\ &=(s-q_1)(s-q_2)\cdots(s-q_n) \end{aligned}

Donde: q1,q2,,qnq_1, q_2, \ldots, q_n son los polos en lazo abierto.

Si u=rkxu = r-kx

x˙=(ABk)x+BrSistema en lazo cerrado\dot{x} = (A-Bk)x + Br\qquad\leftarrow \text{Sistema en lazo cerrado}

Cuyo polinomio característico (lazo cerrado):

pLC(s)=det(sI(ABk))=sn+a~1sn1+a~2sn2++a~n1s+a~n=(sμ1)(sμ2)(sμn)\begin{aligned} p_{LC}(s) &= \det(sI-(A-Bk)) = s^n + \tilde{a}_1 s^{n-1}+ \tilde{a}_2 s^{n-2} + \cdots + \tilde{a}_{n-1} s + \tilde{a}_n\\ &=(s-\mu_1)(s-\mu_2)\cdots(s-\mu_n) \end{aligned}

Por lo tanto:

PLC(ABk)=(ABk)n+a~1(ABk)n1+a~2(ABk)n2++a~nI=0P_{LC}(A-Bk)= (A-Bk)^n + \tilde{a}_1 (A-Bk)^{n-1} + \tilde{a}_2 (A-Bk)^{n-2} + \cdots + \tilde{a}_n I = 0\\

Considerando n=3n = 3

pLC(s)=s3+a~1s2+a~2s+a~3PLC(ABk)=(ABk)3+a~1(ABk)2+a~2(ABk)n2++a~nI=0\begin{aligned} p_{LC}(s) &= s^3 + \tilde{a}_1 s^{2}+ \tilde{a}_2 s +\tilde{a}_3\\ P_{LC}(A-Bk)&= (A-Bk)^3 + \tilde{a}_1 (A-Bk)^{2} + \tilde{a}_2 (A-Bk)^{n-2} + \cdots + \tilde{a}_n I = 0\\ \end{aligned} (ABk)2=A2ABkBkA+(Bk)2=A2ABkBk(ABk)(A-Bk)^2 = A^2 - ABk - BkA + (Bk)^2 = A^2 - ABk - Bk(A-Bk) (ABk)3=(ABk)(ABk)2=A3A2BkABk(ABk)Bk(ABk)2(A-Bk)^3 = (A-Bk)(A-Bk)^2 = A^3 - A^2Bk - ABk(A-Bk) - Bk(A-Bk)^2

Por lo tanto:

A3A2BkABk(ABk)Bk(ABk)2+a~1A2a~1ABka~1Bk(ABk)+a~2Aa~2Bk+a~3I=0A^3 - A^2Bk - ABk(A-Bk) - Bk(A-Bk)^2 + \tilde{a}_1A^2 - \tilde{a}_1ABk - \tilde{a}_1Bk(A-Bk) + \tilde{a}_2A - \tilde{a}_2Bk + \tilde{a}_3I = 0 A3+a~1A2+a~2A+a~3IpLC(A)0[B AB A2B]C[k(ABk)2+a~1k(ABk)+a~2kk(ABk)+a~1kk]=0\underbrace{A^3 + \tilde{a}_1A^2 + \tilde{a}_2A + \tilde{a}_3I}_{p_LC(A)\neq0} - \underbrace{[B\ AB\ A^2B]}_{C}\begin{bmatrix} k(A-Bk)^2 + \tilde{a}_1k(A-Bk) + \tilde{a}_2k\\ k(A-Bk) + \tilde{a}_1k\\ k \end{bmatrix} = 0 PLC(A)=C[k(ABk)2+a~1k(ABk)+a~2kk(ABk)+a~1kk]P_{LC}(A) = C\begin{bmatrix} k(A-Bk)^2 + \tilde{a}_1k(A-Bk) + \tilde{a}_2k\\ k(A-Bk) + \tilde{a}_1k\\ k \end{bmatrix} C1PLC(A)=[k(ABk)2+a~1k(ABk)+a~2kk(ABk)+a~1kk]C^{-1}P_{LC}(A) = \begin{bmatrix} k(A-Bk)^2 + \tilde{a}_1k(A-Bk) + \tilde{a}_2k\\ k(A-Bk) + \tilde{a}_1k\\ k \end{bmatrix}

Finalmente:

[0 0  0 1]C1PLC(A)Foˊrmula de Ackerman\boxed{[0\ 0\ \ldots\ 0\ 1]C^{-1}P_{LC}(A)}\\ \text{Fórmula de Ackerman}

Ecuación de Lyapunov

Sea una matriz F:n×nF : n\times n con valores propios iguales que los polos deseados en lazo cerrado, entonces

ABk=TFT1,T:n×n es invertibleA - Bk = TFT^{-1}\qquad ,T:n\times n \text{ es invertible}

Se construye FF para que tenga los mismos valores propios de (ABk)(A-Bk), como una matriz diagonal por bloques para que sea más fácil. Con bloques de Jordan para valores repetidos deseados (en la diagonal con 0s abajo y 1s arriba).

Ejemplo

f9bcf0d37e806510df54ab2ee38b6f10.png

Despejando

ATBkT=TFATTFBkTkˉ=0AT - BkT = TF\\ AT - TF - B\underbrace{kT}_{\bar{k}} = 0\\ ATTFBkˉ=0Ecuacioˊn de Lyapunov\boxed{AT - TF - B\bar{k} = 0}\\ \text{Ecuación de Lyapunov}

Procedimiento

  1. Construir una matriz FF con los polos deseados en lazo cerrado. Se recomienda que sea una matriz diagonal por bloques.
  2. Proponer kˉ\bar{k} tal que el par (F,kˉ)(F,\bar{k}) sea observable.
  3. Resolver la ecuación de Lyapunov para encontrar TT.
T=lyap(A,F,Bkˉ)T = \text{lyap}(A,-F,-B\bar{k})
T = lyap(A,-F,-B*kb)
  1. k=kˉT1k = \bar{k}T^{-1}