Você está na página 1de 31

CENTRO FEDERAL DE EDUCAO TECNOLGICA

CEFET-RJ/UnED NOVA IGUA

CURSO DE ENGENHARIA DE CONTROLE E AUTOMAO

MODELAGEM E CONTROLE DO PNDULO INVERTIDO


USANDO REPRESENTAO NO ESPADO DE ESTADOS

Thales Henriques da Silva

Rio de Janeiro
2015
Sumrio

1. INTRODUO .......................................................................................................... 3

2. ANLISE DA DINMICA ......................................................................................... 3


2.1. Determinando a acelerao no centro de massa .........................................4
2.2. Equaes do movimento para um corpo rgido ...........................................5

3. O SISTEMA DE EQUAES DIFERENCIAIS E SUA REPRESENTAO NO


ESPAO DE ESTADOS .................................................................................................. 6
3.1. A substituio de variveis e a montagem do siste ma de equaes ........7
3.1.1. Obtendo as derivadas , , .......................................................8
3.1.2. A linearizao por expanso em Sries de Taylor ................................9
3.1.3. Obtendo o sistema linearizado .............................................................. 10

4. PROJETO DE UM CONTROLADOR POR REALIMENTAO DE ESTADOS


COM INTEGRADOR ...................................................................................................... 11
4.1. A realimentao de estados .......................................................................... 11
4.2. O controle integral e o sistema de ordem aumentada ............................... 12

5. PROJETO DO ESTIMADOR DE ESTADOS ......................................................... 13


5.1. Aspectos matemticos do estimador ........................................................... 14

6. SIMULAO DO PNDULO INVERTIDO EM SIMULINK ................................... 16


6.1. Implementao do controle integral............................................................. 16
6.2. Implementao do estimador de estados para o sistema com controle
integral ........................................................................................................................ 21
6.2.1. A localizao dos polos do estimador.................................................. 21

7. CONCLUSO ......................................................................................................... 30

BIBLIOGRAFIA.............................................................................................................. 31

2
1. INTRODUO

O sistema do pndulo invertido utilizado neste trabalho consiste em uma


haste delgada fixada ao corpo de um carro por meio de um pino. O carro possui
um motor eltrico conectado alimentao.

Figura 1: Sistema do pndulo invertido.

Quando um sinal eltrico aplicado ao motor, o carro sofre a ao de


uma fora de entrada .

Observando o modelo apresentado, podemos perceber que para o


sistema inicialmente em repouso em seu ponto de equilbrio, quando um sinal
eltrico aplicado o conjunto acelera e se torna dinmico.

Este trabalho parte inicialmente da anlise mecnica do sistema para um


melhor entendimento de sua modelagem e para observar importantes
caractersticas sobre sua natureza e, somente ento, discutir temas do ponto de
vista do controle no espao dos estados.

2. ANLISE DA DINMICA

Para chegarmos as equaes que descrevem como o pndulo varia sua


posio devido a aplicao de foras usamos as Equaes de movimento para
um corpo rgido:

= . ,
3
= . .

A acelerao no centro de massa do pndulo pode ser achada por meio


da anlise da cinemtica do sistema.

Figura 2- Movimento do corpo.

2.1. Determinando a acelerao no centro de massa

Com base na figura 2, a acelerao no centro de massa G do pndulo


a acelerao do ponto A, mais a acelerao do ponto G em relao ao ponto A

= + /,

onde a acelerao de G em relao a A composta pelas componentes normal


e tangencial

= + / + / .

Logo

= + 2 .
/ +
/,

/ o vetor que sai de A e vai para G,


onde

/ =
( () + ()).
2

Portanto, chegamos a concluso que a acelerao no centro de massa


do pndulo

4

= () + 2 . 2 . ( () + ()) + () 2 . ( () + ()).

Realizando o produto vetorial, temos que



= () 2 . 2 . () + 2 . 2 . () . 2 . () . 2 . ().

Como podemos ver, tem componentes na direo () e () e se


separarmos as componentes do vetor temos que

= 2 . . . . ,
2 2

e

= 2 . 2 . . 2 . .

2.2. Equaes do movimento para um corpo rgido

Figura 3-Diagrama de corpo livre do pndulo.

Observando a figura 3 e aplicando as frmulas citadas no tpico anterior,


o somatrio de foras na direo igual a massa vezes a acelerao na
direo , logo

= . ,

onde = = , e portanto

5

= ( 2 . 2 . . 2 . ).

O somatrio de foras na direo igual a massa vezes a acelerao


na direo , logo

= . ,

e portanto

= (2 . 2 . . 2 . ),


= ( 2 . . . . ).
2 2

O somatrio dos momentos em relao ao centro de massa igual ao


momento de inrcia no centro de massa vezes a acelerao angular, logo

= . ,

e portanto

. 2 + . 2 = . .

Alm das trs equaes para o pndulo, temos tambm a equao do


carro que de aparncia bem mais simples:

= ( + ). .

3. O SISTEMA DE EQUAES DIFERENCIAIS E SUA


REPRESENTAO NO ESPAO DE ESTADOS

importante notar que as velocidades e aceleraes lineares e


angulares so respectivamente derivadas da posio e do ngluo de forma
que

= , = , = = .

Portanto, se substirtuirmos os termos citados acima nas quatro


equaes que descrevem o movimento do nosso sistema temos

= ( . 2 . . 2 . ),

6

= ( . 2 . . 2 . ),


. 2 + . 2 = . ,

= ( + ). .

Termos como velocidade angular ao quadrado, e a presena de senos


e cossenos caracterizam o nosso sistema como sendo do tipo no linear, mas
para que o sistema possa ser representado na forma matricial, necessria para
representao no espao de estados, ele precisa ser linearizado.

3.1. A substituio de variveis e a montagem do sistema de


equaes

Definimos que 1 = , 2 = , 3 = 4 = .

Se adotarmos a seguinte substituio de variveis, as equaes podem


ser reescritas como

= (3 4. 2 . 2 4 . 2 . cos 2),


= (4. . 2 4. . 2 ),
2 2


. 2 + . 2 = . 4,
2 2

= ( + ). 3.

Sabemos que

1 = 3

e que

2 = 4,

ento nos resta trabalhar as equaes para isolarmos os termos 3 e 4.

O peso algbrico do procedimento o torna invivel, ento vamos utilizar


uma rotina desenvolvida no MATLAB para evitar erros e poupar esforos.

7
3.1.1. Obtendo as derivadas 1, 2, 3 4

Temos quatro equaes e o objetivo isolarmos os termos 3 e 4


visto que j temos as duas primeiras, o primeiro passo j que vamos usar o
MATLAB para resoluo de equaes, declarar as variveis como
simblicas e escrever as equaes a serem resolvidas para ento usarmos
a funo solve.

Figura 4 - Declarando as variveis.

Chamando a fora de entrada de , temos que



3 = (+),


. 2+. 2
4 = 2 2
.

Ento,

3 (+) = 0,


. 2+. 2
4 2 2
= 0.

Figura 5-Escrevendo as equaes e usando a funo solve.

Com isso, o nosso sistema de equaes diferenciais j est montado


visto que temos 1, 2, 3 4.

8
3.1.2. A linearizao por expanso em Sries de Taylor

Dada uma funo () infinitamente diferencivel, a Expanso em


Sries de Taylor afirma que em torno de um ponto 0 () pode ser aproximada
por
0
( ) 0 ( ) 0 ( )
( ) = ( 0 ) + | ( 0 ) + | ( 0 )2 + + | ( 0 ) .

razovel que para uma regio bem prxima 0 uma aproximao


usando apenas a derivada de primeira ordem seja feita, visto que o erro ser de
ordem bem pequena. Caso as derivadas de ordens maiores fossem
implementadas, o sistema voltaria a se tornar no linear devido aos expoentes.

0,0 0,0
(, ) (, )
(, ) = ( 0, 0, ) + | ( 0 ) + | ( 0 )

No nosso sistema, o (, ) so as nossas equaes 1, 2, 3 4


obtidas atravs do MATLAB. O vetor de estados = [1 2 3 4] , e como
o sistema est no ponto de equilbrio cabe dizer que ( 0, 0, ) = 0.

Para no confundir a simbologia de derivadas vamos chamar


1, 2, 3 4 respectivamente de 1, 2, 3 4.

Aplicando a expanso primeira equao temos


1 1
1 = + ,

onde

1 1 1 1 1
=[ ]
1 2 3 4

e como s temos uma entrada

1 1
= .

Logo,

9
1
1 1 1 1 2 1
1 = [ ] [ ]+
1 2 3 4 3
4

e o mesmo se aplica a todas as equaes:

1
2 2 2 2 2 2
2 = [ ] [ ]+ ;
1 2 3 4 3
4

1
3 3 3 3 2 3
3 = [ ] [ ]+ ;
1 2 3 4 3
4

1
4 4 4 4 2 4
4 = [ ] [ ]+ .
1 2 3 4 3
4

Com isso podemos ento reescrever todo o sistema na forma matricial:

1 1 1 1 1
1 2 3 4
1 2 2 2 2 1 2
2 4 [2] + .
[ ] = 1 2 3
3 3 3 3 3 3 3
4 1 2 3 4 4
4 4 4 4 4
[1 2 3 4] [ ]

3.1.3. Obtendo o sistema linearizado

Novamente, com a ajuda do MATLAB vamos implementar uma rotina


que faa automaticamente as derivadas parciais em funo de X e U.

Declaramos inicialmente o nosso vetores e

= [1 2 3 4],

= [1 2 3 4],

uma matriz quadrada de ordem 4 que ser o nosso A, e uma matriz coluna de
4 elementos que ser o nosso B.

10
Aps isso, criamos um loop que faz com que cada elemento da linha i
receba a derivada de em funo de , para = 1,2,3,4 e = 1,2,3,4.

Figura 6-Concluindo a etapa de modelagem do sistema.

Aps esse processo temos a matriz A e B. Como o sistema est no ponto


de equilbrio, 2 = 4 = 0. Se tambm negligenciarmos o momento de inrcia no
centro de massa , as matrizes A e B so dadas por

0 0 1 0 0
0 0 0 1 0
. 1
= 0 0 0 = .

( +) 1
[0 .
0 0] [.]

4. PROJETO DE UM CONTROLADOR POR REALIMENTAO DE


ESTADOS COM INTEGRADOR

4.1. A realimentao de estados

Quando usamos a realimentao de estados num sistema do tipo

= +

= + ,

Figura 7- Diagrama de blocos da realimentao de estados.

11
a figura 7 nos mostra que o sistema ser realimentado com .

Portanto,

= + ( )

= ( ) + ,

onde = [1 2 3 4].

Como a matriz de sistema para o sistema realimentado ( ), a


equao caracterstica do sistema em malha fechada ser

det( ( )),

e em consequncia disso, podemos manipular os valores dos elementos do vetor


de ganho K a fim de localizar os polos no lugar conveniente para o desempenho
desejado.

A desvantagem de simplesmente realimentar o sistema, que os


estados devem ser conhecidos. Ou seja, devemos ter sensores para medi-los.

4.2. O controle integral e o sistema de ordem aumentada

Para a implementao do integrador, primeiro definimos o sistema de


ordem aumentada que consiste no sistema original com um elemento a mais.

Este novo elemento o sinal de erro, ou seja, a entrada menos a sada.

O erro passar por uma caixa integradora que aumenta o grau do


sistema e zera o erro em estado estacionrio, garantindo assim que a sada siga
o sinal de entrada.

Matematicamente, temos que

onde = , ento

= .

e se a derivada de , logo

12
= .

Agora, com o nosso novo elemento definido, podemos escrever nosso


sistema de ordem aumentada que

0 0 1
[ ] = [ ] [ ] + [ ] [ ] .
0 0

Utilizando a realimentao de estados mostrada na seo anterior, os


polos do sistema de ordem aumentada sero determinados por

det( ( ))

onde o vetor K

= [ 1 2 3 4].

Logo, a equao caracterstica () do sistema realimentado com


controle integral ser

0 0 0
() = [[ ] ([ ] [ ] [ ])],
0 0

onde = [1 2 3 4].

Figura 8- Diagrama de blocos da realimentao de estados com controle integral.

5. PROJETO DO ESTIMADOR DE ESTADOS

O papel do estimador reduzir a necessidade de uma variedade de


sensores na planta para medir os estados.

No caso do pndulo por exemplo, para a modelagem feita no incio deste


trabalho temos quatro estados a serem medidos: posio linear, posio angular,
velocidade linear e velocidade angular. Ento para que a realimentao fosse

13
possvel, teramos que usar pelo menos quatro sensores para fazer a
comparao da entrada com a sada.

O estimador vai usar a sada do sistema e por meios matemticos


estimar os outros estados de forma que o erro entre o valor estimado e o valor
real caia para zero de forma rpida o suficiente para no comprometer o
funcionamento do sistema.

5.1. Aspectos matemticos do estimador

Figura 9- Diagrama de blocos do estimador de ordem completa.

Paralelamente planta, colocamos um sistema muito bem equacionado


e preciso.

Suponha que uma entrada seja aplicada a planta, e que a mesma


entrada seja aplicada ao sistema 2 que adicionamos. A sada da planta ser
medida por um sensor e ento comparada a sada do sistema 2 gerando um
sinal de erro. Esse sinal de erro ser realimentado no sistema 2 com um ganho
.

Com a realimentao, de forma semelhante a demonstrada


anteriormente, podemos por meio do valor do ganho definir a equao
caracterstica do estimador, e portanto alocar seus polos onde desejarmos.

Vamos definir o erro de estimao como

14
e

= .

Sabemos que a equao da planta

= +

e que

= + +

onde

= = ( ).

Logo, o comportamento do erro de estimao dada por

= + ( + + )

= ( ) ( )

= ( )( )

= ( ).

Como qualquer sistema, a soluo para essa equao diferencial vai


estar relacionada com as condies iniciais (0) e com exponenciais do tipo
onde so os polos da equao. Quanto mais a esquerda da origem os polos
estiverem, mais rpido a exponencial vai levar o valor para zero.

() (0) = ( )()

() ( )() = (0)

()( ( )) = (0)

1
() = (0)
( ( ))

() = (0) ( )

Analisando de outra forma, a equao caracterstica do erro de


estimao definida pela determiante de ( ), e podemos manipular para
que os polos estejam em qualquer lugar que desejarmos.
15
Na prtica isso significa que para quaisquer as condies iniciais,
podemos manipular o para que erro de estimao adquira um valor infinitesimal
de forma rpida o suficiente para que o sistema no seja prejudicado.

() = det( ( )).

6. SIMULAO DO PNDULO INVERTIDO EM SIMULINK

Utilizando os valores fornecidos pela tabela para o pndulo de tamanho


mdio, obtemos as matrizes e .

Na abordagem feita no incio do trabalho, consideramos que a entrada


era uma fora. Na verdade, esta fora ser aplicada por um motor eltrico de
corrente contnua e ela varia em funo da corrente na armadura do motor.

= ,

onde o rendimento do motor, uma constante e o raio do pinho


do motor.

A nossa varivel de controle ser, portanto, a corrente na armadura do


motor .

0 0 1 0 0
0 0 0 1 0
. 1
= 0 0 0 =

( + ) 1
0 0 0
[ . ] [. ]

Logo,

0 0 1 0 0
0 0 0 1 0
=[ ] =[ ].
0 0,3869 0 0 10,0609
0 57,3505 0 0 56,5852

6.1. Implementao do controle integral

Aplicando a metodologia apresentada anteriormente, o sistema de


ordem aumentada

16
0 1 0 0 0 0 1
1 0 0 0 1 0 1 0 0
2 = 0 0 0 0 1 2 + 0 0 .
3 0 0 0,3869 0 0 3 10,0609 0
[ 4] [0 0 57,3505 0 0] [4] [56,5852] [ 0]

Ento, a equao caracterstica em malha fechada ser

0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 1 0 [ 1 2 3 4] .
0 0 0 0 0 0 0,3869 0 0 10,0609
[ ] ([0 0 57,3505 0 0] [56,5852]
(0 0 0 0 ))

Desejamos que o sistema tenha polos em malha fechada em

13 10,8994, 1.5551 1.8533 3.6696

No entanto, ao invs de determinar o ganho K por comparao,


usaremos a funo acker no MATLAB, que faz o uso Frmula de Ackermann.

Precisamos apenas definir uma matriz coluna contendo a localizao


dos polos desejados e usar o comando acker, passando como parmetro a
matriz de sistema, a matriz de entrada e a localizao dos polos como na figura
10.

Figura 10- Calculando o vetor de ganho K.

O ganho referente ao integrador o primeiro elemento de , e portanto

= (1) e o resto a parte correspondente ao sistema de ordem reduzida


= [(2) (3) (4) (5)].

= 11.1877

= [10.0037 11.3347 4.5849 1.3963]

17
Uma vez determinado os valores do ganho Ki do integrador e do ganho
Ko para o sistema, vamos para montagem do diagrama de blocos no SIMULINK
e para simulao de uma entrada em degrau com amplitude de 0,2.

Simulao 1

Simulao para o modelo linear do sistema.

Figura 11- Diagrama de blocos para o modelo linearizado.

Figura 12- Posio do carro variando no tempo para um degrau com 0,2 de amplitude
aplicado entrada.

18
Figura 13- ngulo(rad) do pndulo variando no tempo para um degrau com 0,2 de
amplitude aplicado entrada.

Simulao 2

Simualao para o modelo no linear do sistema.

Figura 14- Diagrama de blocos para o modelo no linear.

19
Figura 15- Posio do pndulo variando no tempo para um degrau com 0,2 de amplitude
aplicado entrada para o modelo no linear.

Figura 16- ngulo (rad) do pndulo variando no tempo para um degrau com 0,2 de
amplitude aplicado entrada para o modelo no linear.

20
6.2. Implementao do estimador de estados para o sistema com controle
integral

Para o projeto do estimador, utilizaremos a posio de sada para estimar


os outros estados.

Logo,

= [1 0 0 0].

A equao caracterstica do erro de estimao ser dada, como vimos


anteriormente pela determinante de ( ( )), onde

= [1 2 3 4] .

0 0 0 0 0 1 0 1
0 0 0 0 0 0 1
, () = [ ] ([ ] [2] [1 0 0 0] )
0 0 0 0 0,3869 0 0 3
0 0 0 0 57,3505 0 0 4
( )

6.2.1. A localizao dos polos do estimador

Para um desempenho satisfatrio, o erro de estimao deve cair para


zero mais rapidamente que o sistema em malha fechada.

A velocidade da resposta do sistema em malha fechada depende de


quo a esquerda esto seus polos, visto que quanto mais fundo no Semiplano
Lateral Esquerdo mais rpido as exponenciais vo cair. No entanto, ao
analisarmos os polos em malha fechada do sistema realimentado, vimos que
todos os mais lentos so:

Figura 17- Polos do sistema realimentado.

21
Para polos com parte imaginria, a parte imaginria responsvel pela
oscilao do sistema, mas a velocidade depende da parte real, e como 3,6926
est mais proximo da origem que 12,7489, ele o polo que vai diminuir a
velocidade da resposta do sistema.

A idia para tornar o sistema mais rpido deslocar sua parte real duas
vezes mais para a esquerda da origem.

Para fazer tudo isso de forma automtica, uma nova rotina


implementada.

Ela recebe um vetor que contm todos os polos em malha fechada do


sistema, identifica qual o mais lento deles, e depois de identificado o mais lento,
dobra a parte real para tornar o sistema mais rpido.

Figura 18- Rotina para tornar o estimador mais rpido. Pr so os polos em malha fechada
do sistema realimentado e Pe so os polos do estimador.

Agora que temos a localizao desejada dos polos do estimador,


poderamos usar a equao caracterstica encontrada resolvendo a
determinante e por meio da comparao achar os valores de , mas novamente,
para facilitar o clculos, vamos utilizar a funo acker do MATLAB com o cuidado
de transpor e [1 0 0 0].

22
Transpondo e [1 0 0 0], acharemos , para transforma-lo novamente
em uma matriz coluna, basta transpor novamente.

Figura 19- Utilizando a funo acker para achar o ganho L.

Agora que temos o ganho L, basta montar o diagrama de blocos e


simular o sistema no SIMULINK, lembrando que a matriz coluna de estados que
usaremos para realimentar o sistema no ser mais o de antes. A
realimentao ser feita com o .

Simulao 1

Simulao para o modelo linear do sistema.

Figura 20- Diagrama de blocos para o modelo linearizado do sistema.

23
Figura 21- Posio do carro variando no tempo para um degrau com 0,2 de amplitude aplicado
entrada.

Figura 22- ngulo (rad) do pndulo variando no tempo para um degrau com 0,2 de amplitude aplicado
entrada.

24
Figura 23- Sinal de controle, ou seja a corrente (A) na armadura do motor.

Figura 24- Estados estimados.

25
Figura 25- Erro de estimao.

interessante notar que o erro de estimao est constante em zero.


Isso acontece porque na simulao, as condies iniciais esto em zero. Como
o (0) igual a zero, o erro de estimao nulo.

Assumindo que o sistema em = 0 est com ngulo igual a 0 e


colocando no estimador que em = 0 o ngulo 0.1 radianos, o que equivale a
6, o erro de estimao ter valor inicial de 6 graus.

Os grficos do erro de estimao e do sinal de controle se alteram como


na figura 26 e 27:

Figura 26- Erro de estimao com condies iniciais para o erro diferentes de zero.

26
Ainda assim, podemos ver que o erro de estimao converge para zero
em menos de 1 segundo, mostrando um bom desempenho.

Figura 27- Sinal de controle com condies iniciais para o erro diferentes de zero.

Somente o erro introduzido no estimador pelas condies iniciais no


nulas para um nico estado fez o sinal de controle saltar de 2 amperes para um
valor de pico com mdulo maior que 40 amperes. Alocar os polos do estimador
demasiadamente a esquerda para que o erro v para zero num tempo pequeno
demais eleva o sinal de controle.

As condies iniciais do sistema em s tambm no so nulas. O pndulo


invertido nunca estar perfeitamente em equilbrio no momento em que for
colocado em funcionamento.

O tempo que a resposta de um sistema leva para convergir para um valor


depende do quo a esquerda da origem os seus polos esto. Isso significa que
quanto mais a esquerda estiverem os polos, mais rpido o sistema deve seguir
a entrada. intuitivo que quanto mais rpido se desejar que o sistema seja,
maior vai ter que ser o sinal de controle.

No nosso caso por exemplo, se colocarmos uma entrada para que o


carro do pndulo v para posio 50cm frente com polos demasiadamente a
esquerda, seria equivalente a fazer com que o sistema devesse convergir para

27
50cm de forma istantnea. Isso exigiria foras to grandes do motor que no
teramos como fornecer a corrente necessria.

Juntando todos estes fatores, deve haver cuidado ao alocar os polos


tanto do sistema como do estimador de forma correta.

Simulao 2

Simulao para o modelo no linear do sistema.

Para esta simulao, partimos do princpio que o sistema est


inicialmente em seu ponto de equilbrio e em repouso.

As condies iniciais do estimador foram colocadas bem prximas de


zero e todos os seus polos foram alocados em -1 para diminuir o sinal de
controle, visto que neste modelo existe uma limitao de 15 amperes imposta
por um saturador dentro do bloco azul.

Figura 28- Diagrama de blocos para o modelo no linear do sistema.

28
Figura 29- Posio do carro variando no tempo para um degrau com 0,2 de amplitude aplicado
entrada.

Figura 30- ngulo (rad) do pndulo variando no tempo para um degrau com 0,2 de amplitude aplicado
entrada.

29
Figura 31- - Sinal de controle.

Figura 32- Erro de estimao.

7. CONCLUSO

Apesar de sua natureza no linear e instvel, usando o controle no


espao dos estados possvel controlar o pndulo invertido com desempenho
satisfatrio apenas com a sada do sistema, por meio da implementao do
controle integral, da realimentao de estados e de um estimador de ordem
completa.

30
BIBLIOGRAFIA

FRANKLIN, G. F.; POWELL, J. D.; EMAMI-NAEINI, A. Sistemas de Controle para


Engenharia. 6 edio. Porto Alegre, 2013.

BEER, F. P.; JOHNSTON, E. R.; CORNWELL, P. J. Mecnica Vetorial para


Engenheiros Dinmica. 9 edio. Porto Alegre, 2012.

31