109
CURSO DE BACHARELADO EM ENGENHARIA DE CONTROLE E AUTOMAÇÃO CAMILA FONSECA LINS FÁBIO VINÍCIUS BARRADAS DE SOUZA DESENVOLVIMENTO DE UM SIMULADOR DIDÁTICO DE UM PÊNDULO INVERTIDO COM MODELAGEM E CONTROLE EM ESPAÇO DE ESTADOS CAMPOS DOS GOYTACAZES - RJ ABRIL/2013

CURSO DE BACHARELADO EM ENGENHARIA DE …bd.centro.iff.edu.br/bitstream/123456789/878/1/DESENVOLVIMENTO DE... · Aos colegas de curso, ... propósito apresentar uma simulação didática

  • Upload
    vandan

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

CURSO DE BACHARELADO EM ENGENHARIA DE CONTROLE E

AUTOMAÇÃO

CAMILA FONSECA LINS

FÁBIO VINÍCIUS BARRADAS DE SOUZA

DESENVOLVIMENTO DE UM SIMULADOR DIDÁTICO DE UM PÊNDULO INVERTIDO COM MODELAGEM E CONTROLE EM ESPAÇO

DE ESTADOS

CAMPOS DOS GOYTACAZES - RJ

ABRIL/2013

CAMILA FONSECA LINS

FÁBIO VINÍCIUS BARRADAS DE SOUZA

DESENVOLVIMENTO DE UM SIMULADOR DIDÁTICO DE UM PÊNDULO INVERTIDO COM MODELAGEM E CONTROLE EM ESPAÇO

DE ESTADOS

Trabalho de conclusão de curso apresentado ao Instituto Federal de Educação, ciência e tecnologia Fluminense como requisito parcial para conclusão do curso de Bacharelado em Engenharia de Controle e Automação.

Orientador: Prof. Edson Simões dos Santos

CAMPOS DOS GOYTACAZES - RJ

ABRIL/ 2013

L759d Lins, Camila Fonseca. Desenvolvimento de um simulador didático de um pêndulo invertido com modelagem e controle em espaço de estados / Camila Fonseca Lins, Fábio Vinícius Barradas de Souza – Campos dos Goytacazes, RJ : [s.n.], 2013. 108f. il. Orientador: Edson Simões dos Santos. Monografia ( Engenharia de Controle e Automação). Instituto Federal de Educação, Ciência e Tecnologia Fluminense. Campus Campos Centro, 2013. Referencias bibliográficas: p. 93 – 94. 1. Controle automático. 2. Simulação – Computadores. I. Souza, Fábio Vinícius Barradas de. II. Santos, Edson Simões dos, orient. III. Título.

CDD – 629.83

Dados Internacionais de Catalogação na Publicação (CIP) Biblioteca. Setor de Processos Técnicos (IFF)

CAMILA FONSECA LINS

FÁBIO VINÍCIUS BARRADAS DE SOUZA

DESENVOLVIMENTO DE UM SIMULADOR DIDÁTICO DE UM PÊNDULO INVERTIDO COM MODELAGEM E CONTROLE EM ESPAÇO DE ESTADOS

Trabalho de conclusão de curso apresentado ao Instituto Federal de Educação, ciência e tecnologia Fluminense como requisito parcial para conclusão do curso de Bacharelado em Engenharia de Controle e Automação.

Orientador: Prof. Edson Simões dos Santos

Aprovada em 25 de abril de 2013

Banca Avaliadora:

_____________________________________________________________

Prof° Edson Simões dos Santos (orientador)

Bacharel em Engenharia de Controle e Automação, IFF

Instituto Federal de Educação, ciência e tecnologia Fluminense.

________________________________________________________________

Prof° Adelson Siqueira Carvalho

Doutor em Informática na Educação, UFRGS

Instituto Federal de Educação, ciência e tecnologia Fluminense.

________________________________________________________________

Prof° William da Silva Viana

Doutor em Engenharia e Ciências dos Materiais, UENF

Instituto Federal de Educação, ciência e tecnologia Fluminense.

AGRADECIMENTOS

Gostaríamos de agradecer primeiramente a Deus, pela nossa vida e por ter-nos

possibilitado saúde, inteligência e capacidade para vencer mais este desafio. Nada seria de nós

se não fosse a fé que temos nEle.

Aos nossos pais e familiares que foram pilares de sustentação nos momentos de

cansaço físico e mental e nos ajudaram a manter o foco neste projeto. Pelo apoio,

compreensão e amor dedicados a nós nesses cinco anos e desde sempre, principalmente neste

momento de nossas vidas, no qual caminhamos a fim de conquistar o sucesso tão almejado

que é a conclusão do curso.

Ao nosso orientador e amigo Edson Simões dos Santos pela colaboração,

solidariedade e paciência demonstradas em todas as fases de elaboração do presente trabalho.

Aos professores membros da banca avaliadora, Adelson Siqueira Carvalho e William

da Silva Vianna, por terem enriquecido este trabalho e dado sugestões de melhoria.

Àqueles professores que foram mestres no seu papel de nos passar conhecimento e

sabedoria e à professora Maria Inês Albernaz, que disponibilizou seu tempo para verificar o

resumo em língua inglesa deste trabalho.

Aos colegas de curso, sinceros colegas de turma que certamente deixarão saudades,

pela amizade e companheirismo nesses cinco anos de curso.

E por fim, agradecemos a todos que de alguma forma passaram pela nossa vida e

contribuíram para a construção de quem somos hoje.

Obrigado.

Camila Fonseca Lins e Fábio Vinícius Barradas de Souza

Os nossos ideais se transformarão em realidade sempre que os tentemos

corporificar através de um pensamento firme e valoroso.

Alberto Montalvão

RESUMO

O controle automático tem desempenhado um papel de grande importância no avanço da

tecnologia. Diversos sistemas tem se aperfeiçoado graças a esse avanço e podem ser

utilizados em uma gama de aplicações. O sistema de controle do pêndulo invertido, por

exemplo, pode ser utilizado para simular testes em sistemas de veículos espaciais, sistemas de

direcionamento de mísseis, sistemas robóticos, entre outros. O presente trabalho tem por

propósito apresentar uma simulação didática de um pêndulo invertido através da modelagem e

controle no espaço de estados. O Pêndulo Invertido é um processo mecânico absolutamente

instável, ou seja, está sujeito a cair em qualquer direção a menos que uma força adequada seja

aplicada ao carro de suporte da base do pêndulo acelerando-o em uma determinada direção. O

controle foi realizado através da modelagem do sistema linearizado do pêndulo com o

objetivo de encontrar suas funções de transferências e, a partir delas, as matrizes de estado do

sistema. Através de um projeto do sistema de controle no Simulink® e de sua comunicação

com o Blender, foi possível realizar a simulação do controle do pêndulo, de maneira a

possibilitar a análise do comportamento das variáveis em conjunto com a animação gráfica

em 3D. Esta comunicação foi realizada através do servidor OPC (OLE - Object Linking and

Embedding - for Process Control), pelo software Matrikon. O sistema implementado para o

pêndulo invertido usando a variável força como entrada e as variáveis ângulo, velocidade

angular, posição e velocidade linear como saídas a serem controladas, forneceu bons

resultados.

Palavras-chave: Pêndulo Invertido. Modelagem e Controle no Espaço de Estados. Simulação.

Comunicação OPC.

ABSTRACT

Automatic control has played a major role in the advancement of technology. Several systems

have been perfected through this advance and can be used in a variety of applications. The

control system of the inverted pendulum, for example, can be used to simulate tests in

spacecraft systems, missile guidance systems and robotic systems, among others. The purpose

of this final paper is to present a simulation of an inverted pendulum through modeling and

control in state space. The inverted pendulum is a mechanical process absolutely unstable,

that is, is subject to fall in any direction unless an appropriate force is applied to the pendulum

car support accelerating it in a certain direction. The control was performed by modeling the

pendulum system linearized in order to find their transfer functions and, from them, the

matrices of system state. Through a project control system in Simulink® and its

communication with Blender, it was possible to perform the simulation of the control of the

pendulum, so as to enable analysis of the behavior of the variables together with the 3D

graphical animation. This communication was done through communication OPC (OLE -

Object Linking and Embedding - for Process Control) at Matrikon software. The implemented

system for the inverted pendulum using the variable force as input and the variables angle,

angular speed, linear speed and position as outputs to be controlled, gave good results.

Keywords: Inverted Pendulum. Modeling and Control in State Space. Simulation. OPC

Communication.

LISTA DE FIGURAS

Figura 1.1: Pêndulo Invertido................................................................................................... 13

Figura 1.2: Segway................................................................................................................... 14

Figura 1.3: Classificação dos sistemas para fins de modelagens ............................................. 21

Figura 1.4: Propriedade de Invariância no Tempo (a).............................................................. 24

Figura 1.5: Propriedade de Invariância no Tempo (b).............................................................. 24

Figura 1.6: Representação do Problema................................................................................... 27

Figura 1.7: Problema de re-arranjo de blocos .......................................................................... 28

Figura 1.8: Representação gráfica do espaço de estados para o problema em estudo. ............ 29

Figura 1.9: Sistema de controle de malha fechada com u = - Kx............................................. 44

Figura 2.1: Sistema do pêndulo invertido................................................................................. 49

Figura 2.2: Representação do movimento horizontal............................................................... 49

Figura 2.3: Representação do movimento vertical ................................................................... 50

Figura 2.4: Diagrama do corpo livre (a) ................................................................................... 50

Figura 2.5: Diagrama do corpo livre (b)................................................................................... 50

Figura 2.6: Sistema de controle de malha fechada no Simulink® ............................................ 72

Figura 2.7: Function referente à matriz A ................................................................................ 73

Figura 2.8: Configuração da Function referente à matriz A..................................................... 74

Figura 2.9: Function referente à matriz B................................................................................. 74

Figura 2.10: Configuração da Function referente à matriz B................................................... 75

Figura 2.11: Function referente à matriz C............................................................................... 75

Figura 2.12: Configuração da Function referente à matriz C................................................... 76

Figura 2.13: Function referente à matriz D .............................................................................. 76

Figura 2.14: Configuração da Function referente à matriz D................................................... 77

Figura 2.15: Function referente à matriz de ganho K............................................................... 77

Figura 2.16: Configuração da Function referente à matriz de ganho K ................................... 78

Figura 2.17: Tela inicial do Matrikon....................................................................................... 79

Figura 2.18: Criação do grupo no Matrikon............................................................................. 80

Figura 2.19: Criação da variável “angulo” ............................................................................... 80

Figura 2.20: Criação da variável “posicao”.............................................................................. 81

Figura 2.21: Projeto do sistema de controle no Simulink® ...................................................... 81

Figura 2.22: Tela de configuração do bloco OPC Write .......................................................... 82

Figura 2.23: Adição do cliente OPC no bloco OPC Write (a) ................................................. 83

Figura 2.24: Adição do cliente OPC no bloco OPC Write (b) ................................................. 83

Figura 2.25: Adição do cliente OPC no bloco OPC Write (c) ................................................. 84

Figura 2.26: Adição das variáveis de saída no bloco OPC Write (a) ....................................... 84

Figura 2.27: Adição das variáveis de saída no bloco OPC Write (b)....................................... 85

Figura 2.28: Bloco OPC Write configurado............................................................................. 85

Figura 2.29: Configuração do bloco Saturação ........................................................................ 86

Figura 2.30: Configuração do bloco OPC Configuration......................................................... 86

Figura 2.31: Projeto do sistema de controle configurado......................................................... 87

Figura 3.1: Gráfico do comportamento do ângulo ................................................................... 89

Figura 3.2: Gráfico do comportamento da velocidade angular ................................................ 90

Figura 3.3: Gráfico do comportamento da posição .................................................................. 90

Figura 3.4: Gráfico do comportamento da velocidade linear ................................................... 91

Figura 3.5: Visualização do simulador do pêndulo quando submetido a um distúrbio até o equilíbrio................................................................................................................................... 91

Figura A.1: Tela inicial do Blender.......................................................................................... 95

Figura A.2: Escalonamento do objeto ...................................................................................... 95

Figura A.3: Visão Perspectiva.................................................................................................. 96

Figura A.4: Adição de um novo objeto (a)............................................................................... 96

Figura A.5: Adição de um novo objeto (b)............................................................................... 97

Figura A.6: Objeto criado......................................................................................................... 97

Figura A.7: Movimentação do objeto....................................................................................... 98

Figura A.8: Extrusão da roda.................................................................................................... 98

Figura A.9: Extrusão do objeto em apenas um eixo................................................................. 99

Figura A.10: Renomeação dos objetos (a) ............................................................................... 99

Figura A.11: Renomeação dos objetos (b) ............................................................................. 100

Figura A.12: Escalonamento da roda ..................................................................................... 100

Figura A.13: Duplicação da roda............................................................................................ 101

Figura A.14: Duplicação das rodas......................................................................................... 101

Figura A.15: Criação da haste ................................................................................................ 102

Figura A.16: Modificação do tamanho do novo objeto (haste).............................................. 102

Figura A.17: Criação da haste ................................................................................................ 103

Figura A.18: Renomeação do objeto ...................................................................................... 103

Figura A.19: Criação do topo da haste (a).............................................................................. 104

Figura A.20: Criação do topo da haste (b).............................................................................. 104

Figura A.21: Criação da base fixa para a haste (a)................................................................. 105

Figura A.22: Criação da base fixa para a haste (b)................................................................. 105

Figura A.23: Criação da base da haste ................................................................................... 106

Figura A.24: Modificação das cores dos objetos.................................................................... 106

Figura A.25: Modelo pronto do pêndulo invertido ................................................................ 107

SUMÁRIO

AGRADECIMENTO ................................................................................................................. 3

RESUMO ................................................................................................................................... 5

ABSTRACT ............................................................................................................................... 6

LISTA DE FIGURAS ................................................................................................................ 7

SUMÁRIO................................................................................................................................ 10

INTRODUÇÃO........................................................................................................................ 13

OBJETIVO............................................................................................................................... 16

JUSTIFICATIVA. ................................................................................................................... 17

1 – MÉTODOS E FERRAMENTAS....................................................................................... 18

1.1 – Simulador didático ........................................................................................................ 18

1.1.1 – Modelos ................................................................................................................. 18

1.1.1.1 – Modelos matemáticos .................................................................................... 19

1.1.1.2 – Modelos de simulação ................................................................................... 20

1.1.2 – Sistemas................................................................................................................. 20

1.1.2.1 - Sistemas lineares ............................................................................................ 21

1.1.2.2 – Sistemas não-lineares..................................................................................... 23

1.1.2.3 – Sistemas invariantes no tempo....................................................................... 23

1.1.2.4 – Sistemas variantes no tempo.......................................................................... 24

1.1.3 – Simulação .............................................................................................................. 25

1.2 – Animação 3D ................................................................................................................ 26

1.3 – Linearização de sistemas não-lineares .......................................................................... 27

1.4 – Modelagem no espaço de estados ................................................................................. 27

1.5 – Representação de sistemas dinâmicos no espaço de estados ........................................ 33

1.5.1 – Correlação entre funções de transferência e equações no espaço de estados........ 33

1.5.2 – Representação de funções de transferência no espaço de estados......................... 34

1.6 – Análise de Sistemas de Controle no Espaço de Estados...............................................35

1.6.1 - Controlabilidade..................................................................................................... 36

1.6.1.1 – Controlabilidade completa de estado de sistemas de tempo contínuo........... 36

1.6.1.2 – Condição de controlabilidade completa de estado no plano s....................... 38

1.6.1.3 – Controlabilidade de saída .............................................................................. 38

1.6.1.4 – Estabilizabilidade........................................................................................... 39

1.6.2 – Observabilidade..................................................................................................... 40

1.6.2.1 – Observabilidade completa de sistemas de tempo contínuo ........................... 40

1.6.2.2 – Condição de observabilidade completa no plano s........................................ 42

1.6.2.3 – Detectabilidade .............................................................................................. 42

1.7 – Projeto de Sistemas de Controle no Espaço de Estados................................................ 43

1.7.1 – Projeto por Alocação de Pólos .............................................................................. 43

1.7.1.1 – Condição necessária e suficiente para alocação arbitrária de pólos .............. 44

1.7.1.2 – Determinação da matriz K com a utilização da matriz de transformação T..45

1.7.1.3 – Escolhendo a localização dos pólos de malha fechada desejados ................. 46

1.8 – Servidor OPC ................................................................................................................ 46

1.9 – Software Matemático .................................................................................................... 47

1.9.1 – Plataforma de simulação para modelos contínuos ................................................ 48

2 – DESENVOLVIMENTO..................................................................................................... 49

2.1 – Modelo matemático do pêndulo invertido .................................................................... 49

2.2 – Modelagem no Espaço de Estados................................................................................ 54

2.3 – Funções de transferência do sistema ............................................................................. 56

2.4 – Representação das funções de transferência no espaço de estados na forma canônica controlável.............................................................................................................................. 60

2.5 – Análise do Sistema de Controle no Espaço de Estados do Pêndulo Invertido.............. 61

2.5.1 – Controlabilidade completa de estado..................................................................... 62

2.5.2 – Controlabilidade de saída ......................................................................................63

2.5.3 – Observabilidade completa ..................................................................................... 67

2.6 – Projeto do controlador do pêndulo invertido no MATLAB®........................................ 70

2.7 – Comunicação entre Blender e Simulink® via protocolo OPC....................................... 79

2.8 – Programação em Python no Blender............................................................................. 87

3 – ANÁLISE DOS RESULTADOS ....................................................................................... 89

4 – CONCLUSÃO.................................................................................................................... 92

REFERÊNCIAS ....................................................................................................................... 93

APÊNDICE A .......................................................................................................................... 95

INTRODUÇÃO

O controle automático tem sido cada vez mais utilizado em sistemas de veículos

espaciais, sistemas de direcionamento de mísseis, sistemas robóticos, processos industriais e

de produção, além de otimizar o desempenho de sistemas dinâmicos.

A complexidade desses sistemas de engenharia tem aumentado pela necessidade de

realizar tarefas complexas e de alta precisão, podendo ter entradas e saídas múltiplas e serem

variantes no tempo. Surge então a diferença entre a teoria de controle moderno e teoria de

controle convencional. Enquanto a convencional é aplicável somente a sistemas lineares,

invariantes no tempo, de entrada e saída únicas, a moderna é aplicada a sistemas de entradas e

saídas múltiplas, que podem ser lineares ou não-lineares (OGATA, 2003).

Devido suas características de instabilidade, o pêndulo invertido (Figura 1.1) é um

problema clássico de dinâmica e teoria de controle, representando um sistema não-linear e,

normalmente, invariante no tempo, sendo frequentemente citado em diversas literaturas do

gênero.

Figura 1.1: Pêndulo Invertido

O pêndulo invertido consiste de uma haste solidária a um eixo livre de um carro

motorizado. Uma força adequada aplicada ao carro resulta em uma aceleração em uma

determinada direção, o que faz com que ele se movimente horizontalmente e mantenha a haste

14

equilibrada na posição vertical. Segundo Ogata (2003), pode-se associar esse modelo ao

controle de posição de um foguete na fase de lançamento, onde o objetivo do problema de

controle é manter o foguete na posição vertical. Já Dorf e Bishop (2009), fazem analogias

entre o pêndulo invertido e equilibrar um cabo de vassoura na mão de alguém ou controlar a

atitude de um míssil durante os estágios iniciais do lançamento.

Outras comparações podem ser feitas ao pêndulo invertido, como por exemplo, a

posição ereta estável de um homem ao caminhar. O resultado desta modelagem é conhecido

como Pêndulo Invertido Humano (HIP – Human Inverted Pendulum). Modelos biomecânicos

do modo de caminhar dos seres humanos tem aplicações em muitas áreas como esportes,

fabricação de calçados, robótica, entre outros (SILVA, 2009).

Como na maioria dos trabalhos, a movimentação do carro utilizado nesta pesquisa é

permitida em apenas uma direção, porém é possível encontrar sistemas onde o movimento do

carro não está limitado a somente um eixo, como a versão comercial Segway, um veículo

semelhante a um patinete onde suas duas rodas estão acopladas uma ao lado da outra, como

apresentado na Figura 1.2.

Figura 1.2: Segway (Fonte: <http://www.segway.com/>).

15

Neste trabalho, optou-se por criar um ambiente de simulação onde é representado o

sistema do pêndulo invertido utilizando o controle no espaço de estado, uma forma de

controle moderno, muito abordado teoricamente, porém com poucos exemplos práticos. A

utilização de um software de animação 3D, Blender, possibilitou a análise das variáveis do

modelo já que as mesmas apresentam o mesmo comportamento dinâmico do sistema real.

Apesar desse modelo simulado possibilitar o movimento em apenas um eixo, o estímulo

visual em 3D é melhor se comparado com uma animação 2D.

16

OBJETIVO

Esta pesquisa tem como objetivos principais:

• Desenvolver um simulador didático de um pêndulo invertido através de

análise, modelagem e controle no espaço de estados utilizando uma animação

em 3D;

• Analisar por meio de animação visual o comportamento das variáveis de

estado do sistema verificando os quesitos de projeto quando submetido a um

distúrbio no modelo linearizado;

• Apresentar a configuração da malha de controle por meio de diagramas de

blocos.

17

JUSTIFICATIVA

A modelagem e simulação do pêndulo invertido permitem a análise do mesmo sem

que haja perturbação em um sistema real, como danos provocados por ajustes e sintonias

imprecisas, uma vez que os estudos são realizados no computador. Possibilita ainda o estudo

do modelo, com baixo custo de implementação, sem a necessidade da existência de um

sistema real.

A simulação controlada no espaço de estados serve didaticamente como exemplo

aplicável desse tipo de controle, integrando a metodologia teórica com a prática profissional,

seja para estudo de casos de sistemas lineares e invariante no tempo ou para sistemas

complexos não lineares e variantes no tempo.

1 – MÉTODOS E FERRAMENTAS

Este capítulo apresenta uma contextualização teórica dos métodos e ferramentas

utilizados neste trabalho: simulador didático, animação 3D, controle no espaço de estados,

servidor OPC, software matemático e plataforma de simulação para modelos contínuos.

1.1 – Simulador didático

O entendimento satisfatório sobre simulador didático e simulação de forma ampla,

requer conhecer as definições de modelo e sistema.

1.1.1 – Modelos

Um modelo pode ser definido como uma representação de um objeto, sistema, ou ideia

em alguma outra forma que não a da entidade em si. Em um sentido amplo, um modelo é

certa quantidade de informações e atributos sobre aquilo que é representado, conforme os

objetivos e necessidades da análise. Pode variar desde uma representação simplificada,

croqui, descrição, equação matemática ou até uma réplica acrescida de sensores para medida e

experimentação. Dados, parâmetros, relações e vínculos devem ter representação adequada ao

problema sob investigação (STRACK, 1984).

De acordo com Law e Kelton (2000), um modelo pode ser definido como uma

representação de um sistema desenvolvido com objetivo de estudo. O modelo pode ser

suficientemente detalhado ou “válido” para permitir ao analista ou tomador de decisão a sua

utilização para tomar as mesmas decisões que estes tomam utilizando o sistema real.

Segundo Bratley et al. (1987), um modelo é uma descrição de algum sistema com o

objetivo de se prever o que acontece quando determinada atitude é tomada. Para isso o mesmo

deve ser válido. No entanto, as fronteiras entre o sistema e o modelo devem ser bem definidas,

já que muitas forças que afetam o sistema precisam ser omitidas no modelo para que o mesmo

continue sendo tratável, mesmo quando não há provas de que tais fatores realmente afetam o

sistema. Sendo assim, inevitavelmente, o modelo acaba sendo mais bem definido do que o

sistema. Para um modelo ser útil, é essencial que após sua realização, qualquer

19

comportamento relevante ou propriedade seja determinado de maneira prática. Seja

analiticamente, numericamente ou manipulando o modelo com dados de entrada (aleatórios

ou não), que sejam capazes de produzir determinadas saídas. Este último processo é definido

como simulação.

Os modelos podem ser classificados como concretos, nos casos em que se tem uma

representação física, ou abstratos, quando são formulados por meio de descrições, dados ou

símbolos. São apresentados a seguir dois tipos de modelos abstratos utilizados neste trabalho.

1.1.1.1 – Modelos matemáticos

Segundo Strack (1984), são aqueles onde são buscadas interpretações matemáticas

para os atributos físicos, constituindo o tipo mais abstrato, mais geral e com grande uso em

estudos de sistemas. O mesmo autor os divide em dois grupos: analíticos e numéricos. Os

primeiros são aqueles que resultam em uma expressão matemática bem definida entre as

variáveis dependentes e independentes. A solução é alcançada através da resolução de tal

expressão. Nos modelos numéricos não é necessário o conhecimento de equações numéricas

que regem o sistema. A solução é obtida por interações, métodos de convergência,

interpolação, sendo fornecido um valor estimado juntamente com o erro do método.

O modelo matemático do pêndulo invertido adotado foi um modelo analítico,

constituindo-se de equações diferenciais ordinárias que representarão o sistema. Segundo

Ogata (2003), na obtenção de um modelo matemático deve-se estabelecer uma conciliação

entre a simplicidade do modelo e a precisão dos resultados da análise. Na obtenção de um

modelo matemático relativamente simplificado, com frequência, torna-se necessário ignorar

certas propriedades físicas inerentes ao sistema. Em particular, se for desejável um modelo

matemático linear de parâmetros concentrados (isto é, para empregar equações diferenciais

ordinárias), é sempre necessário ignorar certas não-linearidades e os parâmetros distribuídos

que podem estar presentes no sistema físico. Se os efeitos que essas propriedades ignoradas

têm na resposta forem pequenos, pode-se obter boa aproximação se comparado os resultados

da análise de um modelo matemático e os resultados de um estudo experimental do sistema

físico.

Em geral, na solução de um novo problema, é conveniente construir um modelo

simplificado para ter uma percepção geral em relação à solução (OGATA, 2003).

20

1.1.1.2 – Modelos de simulação

Os modelos são utilizados para simular as características básicas do sistema que

desejamos observar ou analisar (STAMM, 1998).

Segundo Law e Kelton (2000), quando as relações que compõe o modelo são

suficientemente simples, é possível empregar métodos matemáticos como a álgebra, o cálculo

ou a teoria da probabilidade para obter informações exatas sobre questões de nosso interesse.

Entretanto, para Stamm (1998), a maioria dos sistemas do mundo real é complexa demais

para permitir uma avaliação analítica, e por isto estes casos tem que ser estudados por meio de

simulação.

Neste tipo de modelo, as representações são feitas por meio de procedimentos lógicos

ou matemáticos e para obtenção de resultados, eles são “executados” ao invés de serem

“resolvidos”. A simulação não é uma teoria, mas uma metodologia de resolução de

problemas. Nesse sentido, trata-se de um método de análise que não gera soluções por si só,

como os modelos analíticos, mas servem como técnica ou ferramenta para “atuar da mesma

maneira” que o sistema estudado (STRACK, 1984).

1.1.2 – Sistemas

Sistemas podem ser definidos como um conjunto de objetos, entre os quais se podem

encontrar ou definir algum tipo de relação, que atuam e interagem (cooperam) com a intenção

de alcançar um objetivo ou um propósito lógico (TAYLOR, 1970). De forma mais resumida,

um sistema é a combinação de componentes que agem em conjunto para atingir determinado

objetivo (OGATA, 2003).

Para Freitas Filho (2008), pode ainda ser definido como um grupo de componentes

que recebem estímulos ou entradas e produzem respostas ou saídas. Sendo os componentes e

suas relações, tanto internas quanto externas ao próprio sistema, que determinam como este

converte estímulos em respostas.

Ainda segundo o mesmo autor, para o propósito de modelar e simular sistemas, estes

podem ser classificados como: estáticos ou dinâmicos, determinísticos ou aleatórios ou, ainda,

como contínuos ou discretos, como é representado pela Figura 1.3.

21

Figura 1.3: Classificação dos sistemas para fins de modelagens. (Fonte: Adaptado de Freitas Filho, 2008, p. 46)

O sistema do pêndulo invertido estudado, modelado e simulado é classificado como

dinâmico, determinístico e contínuo, uma vez que as variáveis de estado que o representa se

modificam na medida em que o tempo evolui, os possíveis estados destas variáveis podem ser

descritos e predeterminados e as mudanças de estado ocorrem de forma contínua e não em

pontos discretos no tempo.

Já que o intuito deste trabalho é controlar um sistema dinâmico, este deve ser

modelado e ter suas características dinâmicas analisadas, de forma que o modelo matemático

seja definido como um conjunto de equações que representa com precisão ou, pelo menos,

razoavelmente bem, a dinâmica do sistema.

Esse conjunto de equações que regem o sistema, ou seja, o modelo matemático,

permite classificar os sistemas de outra forma, levando em consideração sua linearidade e a

variabilidade no tempo.

1.1.2.1 - Sistemas Lineares

Matematicamente, um sistema linear é composto por um conjunto de equações

lineares cujos coeficientes são constantes ou funções da variável independente.

22

Segundo Lathi (2004), um sistema cuja saída seja proporcional a sua entrada é um

exemplo de um sistema linear. A linearidade implica em duas propriedades: a aditiva e a

homogeneidade. Na propriedade aditiva, se várias entradas estão atuando em um sistema,

então o efeito total no sistema devido a todas estas entradas pode ser determinado

considerando uma entrada por vez e assumindo todas as outras entradas iguais a zero. O efeito

total é, então, a soma de todas as componentes de efeito. Esta propriedade pode ser descrita

por: para um sistema linear, se uma entrada 1x está atuando sozinha e possui efeito 1y , e se

outra entrada 2x também atua sozinha e possui efeito 2y , então, quando as duas entradas

estiverem atuando no sistema, o efeito total será 21 yy + . Portanto, se

2211 y xe yx →→

então, para todo 1x e 2x

2121 y yxx +→+

A outra propriedade de um sistema linear, a homogeneidade ou escalonamento, afirma

que para um número real ou imaginário arbitrário k, se uma entrada aumentar k vezes, seu

efeito também aumentará k vezes. Portanto, se

yx →

então para todo k real ou imaginário

ykxk ×→×

As duas propriedades podem ser combinadas em uma única propriedade

(superposição), a qual é descrita como mostrado a seguir. Se,

2211 y xe yx →→

então para todos os valores de constantes k1 e k2,

22112211 yk ykxk xk +→+

Essa equação é válida para todo 1x e 2x (LATHI, 2004).

Ogata (2003) diz que o princípio da superposição permite construir soluções

complicadas para equações diferenciais lineares a partir de soluções simples.

23

Segundo o mesmo autor, na pesquisa experimental de um sistema dinâmico, se causa e

efeito forem proporcionais, significando assim que é válida a aplicação do princípio da

superposição, então o sistema pode ser considerado linear.

1.1.2.2 – Sistemas não-lineares

Um sistema é dito não-linear se o princípio da superposição não for aplicável a ele.

Assim, para um sistema não-linear, não se pode obter a resposta a duas entradas simultâneas

considerando as entradas individualmente e somando os resultados (OGATA, 2003).

De acordo com o mesmo autor, embora muitas relações de grandezas físicas sejam

representadas por equações lineares, na maioria dos casos a relação entre elas não é

efetivamente linear. De fato, um estudo cuidadoso dos sistemas físicos revela que mesmo os

chamados ‘sistemas lineares’ são realmente lineares somente para intervalos limitados de

operação. Na prática, muitos sistemas eletromecânicos, hidráulicos e outros envolvem

relações não-lineares entre as variáveis.

1.1.2.3 – Sistemas Invariantes no Tempo

Do ponto de vista matemático, um sistema linear é invariante no tempo quando possui

uma relação de entrada/saída descrita por uma equação diferencial linear cujos coeficientes

são constantes.

Segundo Lathi (2004), sistemas cujos parâmetros não são alterados com o tempo são

invariantes no tempo (também chamados de sistemas com parâmetros constantes). Para tais

sistemas, se a entrada for atrasada por T segundos, a saída é a mesma anterior, porém atrasada

também por T segundos (assumindo que as condições iniciais também sejam atrasadas T

segundos). Pode-se atrasar a saída y(t) de um sistema S aplicando um atraso de T segundos à

saída y(t). Se o sistema for invariante no tempo, então a saída atrasada y(t - T) pode ser obtida,

também, atrasando primeiro a entrada x(t) antes de aplicá-la ao sistema. Em outras palavras, o

sistema S e o atraso de tempo são comutativos se o sistema for invariante no tempo. Esse

sistema pode ser representado pelas Figuras 1.4 e 1.5.

24

Figura 1.4: Propriedade de Invariância no Tempo (a) (Fonte: Lathi, 2006, p. 107).

Figura 1.5: Propriedade de Invariância no Tempo (b) (Fonte: Lathi, 2006, p. 107).

1.1.2.4 – Sistemas Variantes no Tempo

Matematicamente, um sistema linear é variante no tempo quando possui uma relação

de entrada/saída descrita por uma equação diferencial linear cujos coeficientes são funções de

tempo.

O Ogata (2003) dá como exemplo de sistema de controle variante no tempo, o sistema

de controle de veículo espacial, onde a massa de um veículo espacial muda devido ao

consumo do combustível.

O pêndulo invertido se encaixa perfeitamente nesse exemplo se for considerado que a

massa do carro muda com o tempo devido ao seu consumo de combustível, porém para este

25

trabalho preferiu-se adotar o sistema como invariante no tempo devido sua maior

simplicidade, já que a simulação será utilizada para fins didáticos.

1.1.3 – Simulação

Com o aumento do poder de processamento dos computadores e a facilidade de uso

dos ambientes de desenvolvimento de modelos computacionais, o termo simulação

praticamente se tornou sinônimo de simulação computacional digital. Devido a isso, Pedgen

(1991, apud FREITAS FILHO, 2008) define simulação como o processo de projetar um

modelo computacional de um sistema real e realizar experimentos com o intuito de entender

seu comportamento.

O uso da simulação se deve, principalmente, ao fato que se podem responder

perguntas hipotéticas sem que os sistemas sob investigação sofram qualquer perturbação, pois

os estudos são realizados no computador.

Simular possibilita ainda o estudo do modelo sem a necessidade da existência do

sistema real. Se tratando do pêndulo invertido, experimentar com algum sistema real, tendo o

propósito de verificar fenômenos que ocorrem durante seu controle, seria muitas vezes

inapropriado. Controlar experimentalmente um foguete na fase inicial de lançamento, por

exemplo, seria inseguro.

A simulação desse trabalho visa demonstrar as mudanças nos estados que envolvem o

modelo de acordo com alterações de quatro variáveis de estado, sendo elas: ângulo da haste

em relação ao equilíbrio, velocidade angular da haste, posição e velocidade do carro. Essas

alterações se dão a partir do acontecimento de alguns eventos, que são os distúrbios

provocados no sistema com a evolução do tempo.

Considerando a aplicabilidade da simulação no ensino, seu uso tem sido uma das

formas mais recorrentes da inserção do computador nas atividades didáticas. O computador,

com o desenvolvimento tecnológico ágil, está se tornando uma ferramenta que consegue

expressar a realidade com grande similaridade, o que permite que o aluno tenha uma visão

dessa realidade virtual através de sua tela (KHALIL et al., 2011).

Neste trabalho a simulação foi realizada virtualmente através de uma animação em

3D.

26

1.2 – Animação 3D

A animação 3D consiste em animar objetos virtuais que simulam a realidade

utilizando três dimensões baseadas nas coordenadas x, y e z, com o objetivo de recriar

ambientes ou personagens com a maior semelhança possível da realidade proposta. Isto é

conseguido através da ilusão criada por duas dimensões elaboradas de modo a proporcionar

formas tridimensionais à imagem, que posteriormente ganha movimentos através de uma série

de instruções.

A plataforma utilizada para criar a animação 3D do pêndulo invertido foi escolhida

através da necessidade de se ter um software gratuito que contenha ao mesmo tempo todos os

requisitos para representar o sistema de forma compatível com o modelo real. Neste contexto

o software Blender 2.49 tornou-se a ferramenta adequada.

O programa Blender fornece um amplo conjunto de recursos de modelagem 3D,

texturização, iluminação, animação e pós-processamento de vídeo e desenvolvimento de

jogos 3D (http://wiki.blender.org/index.php/Doc:PT/2.4/Manual/Introduction). Distribuído

gratuitamente através de seu site oficial, funciona em vários sistemas operacionais, como as

versões do Windows, Linux, Mac OS X, entre outros.

Por se tratar de um software livre e aberto, tem seu código fonte disponível sob a

licença GPL (General Public License), permitindo que usuários desenvolvam aplicações que

ao serem rodadas juntamente com o Blender criem funcionalidades ou aperfeiçoem as que já

existem no programa. Essas aplicações que aumentam o poder do Blender são desenvolvidas

na linguagem Python.

De acordo com Rossum (2005), Python é uma linguagem de programação poderosa e

de fácil aprendizado que adota uma abordagem simples e efetiva para a programação

orientada a objetos. Sua sintaxe limpa e tipagem dinâmica, em adição à sua natureza

interpretada, tornam Python ideal para scripting e para o desenvolvimento rápido de

aplicações em diversas áreas e na maioria das plataformas.

Da mesma forma que um programa de computador, o modelo computacional para a

simulação do pêndulo invertido executa um conjunto de instruções. Essas instruções, escritas

na linguagem Python, ao serem executadas possibilitam alterar os valores de determinadas

variáveis do sistema na simulação, uma vez que se modificam as condições que influenciam o

comportamento do modelo.

27

1.3 – Linearização de sistemas não-lineares

Na engenharia de controle, uma operação normal do sistema pode ser em torno do

ponto de equilíbrio, e os sinais podem ser considerados pequenos sinais em torno do

equilíbrio. Se o sistema operar nessas condições é possível aproximar o sistema não-linear por

um sistema linear. Esse sistema linear é equivalente ao sistema não-linear considerado dentro

de um conjunto limitado de operações (OGATA, 2003).

Dessa forma, Ogata (2003) diz que para obter um modelo matemático linear de um

sistema não-linear, deve-se admitir que as variáveis desviem apenas ligeiramente de alguma

condição de operação.

O pêndulo invertido é um sistema não-linear que teve seu modelo matemático

linearizado, para isso foi admitido que o ângulo da haste em relação à posição de equilíbrio

)(θ e a velocidade angular da haste )(θ& são variáveis suficientemente pequenas na condição

de equilíbrio, ou seja, com o pêndulo invertido na posição vertical.

1.4 – Modelagem no Espaço de Estados

A modelagem de um problema no espaço de estados é elaborada utilizando-se um

conjunto de operações de transformação de estados para partir de um estado inicial e chegar a

um estado final conforme desejado, como pode ser observado na Figura 1.6 (GUARDA,

2004).

Figura 1.6: Representação do Problema (Fonte: Guarda, 2004, p. 8).

Para facilitar a compreensão dos conceitos, um exemplo de Guarda (2004) é

apresentado.

28

Tendo um conjunto de blocos (A, B e C) e uma mesa, os blocos podem estar sobre a

mesa ou empilhados. O problema é elaborar um plano para rearranjar a disposição dos blocos

de acordo com o desejado. Assim, um plano é uma sequência de movimentos de blocos que,

partindo de uma situação inicial, leva a uma situação desejada.

Figura 1.7: Problema de re-arranjo de blocos. (Fonte: Guarda, 2004, p. 8)

No problema evidenciado na Figura 1.7, a modelagem utilizando a abordagem no

espaço de estados é natural: a situação inicial dos blocos é o estado inicial, a situação desejada

é o estado final e a sequência de movimentos é uma sequência de operações válidas do

conjunto de operações de transformação de estados.

Uma operação é válida quando ela respeita as restrições impostas na definição do

problema. As restrições de movimentos no problema proposto são bastante simples: é

permitido mover apenas um bloco de cada vez, não pode haver outros blocos em cima do

bloco a ser movimentado nem do bloco sobre o qual se quer colocar um bloco em cima.

Os estados do problema e as operações de transformação de estados formam um grafo

dirigido chamado de espaço de estados, onde os nodos são os estados e os arcos são as

operações.

A Figura 1.8 evidencia o problema apresentado na Figura 1.7: o estado inicial com

linha mais grossa, o estado final está com linha dupla concêntrica e uma solução possível é o

caminho com setas maiores.

29

Figura 1.8: Representação gráfica do espaço de estados para o problema em estudo (Fonte: Guarda, 2004. p. 9)

Devido ao fato de ser aplicável a sistemas de entradas e saídas únicas, lineares e

invariantes no tempo, a teoria de controle convencional tem se tornado inaplicável no que diz

respeito aos novos sistemas de engenharia, os quais tendem a aumentar sua complexidade.

Este foi um dos motivos para o desenvolvimento da teoria de controle moderno, teoria que

enquadra sistemas de entradas e saídas múltiplas, lineares ou não-lineares e variantes ou

invariantes no tempo. O sistema do pêndulo invertido desenvolvido neste trabalho enquadra-

se nessa nova tendência, tratando-se de um sistema de entrada única e saídas múltiplas,

conhecido por SIMO (Single Input, Multiple Output).

Ogata (2003) expõe que a teoria de controle moderno tem sido desenvolvida em razão

da necessidade de atender às crescentes e rigorosas exigências de desempenho dos sistemas de

controle, ao aumento da complexidade dos sistemas e ao acesso fácil e em larga escala aos

computadores. Esta teoria é, também, essencialmente uma abordagem no domínio de tempo,

enquanto a teoria de controle convencional é uma abordagem no domínio da frequência

complexa.

Para um completo entendimento sobre Modelagem no Espaço de Estados, alguns

conceitos devem ser introduzidos.

Estado – Ogata (2003) define o estado de um sistema dinâmico como o menor

conjunto de variáveis (variáveis de estado), tais que o conhecimento dessas variáveis em

0tt = , juntamente com o conhecimento da entrada para 0tt ≥ , determina completamente o

comportamento do sistema para qualquer instante 0tt ≥ .

30

Para Dorf e Bishop (2009), o estado de um sistema é um conjunto de variáveis cujos

valores, em conjunto com sinais de entrada e as equações descrevendo a dinâmica, irão

fornecer o estado e a saída futuros do sistema.

Variáveis de estado – As variáveis de estado de um sistema dinâmico são aquelas que

constituem o menor conjunto de variáveis capaz de determinar o estado desse sistema

dinâmico. Se pelo menos n variáveis )(x1 t , )(x2 t ,... , )(xn t são necessárias para descrever

completamente o comportamento de um sistema dinâmico (tal que uma vez dada a entrada

para 0tt ≥ e o estado inicial em 0tt = é especificado, o estado futuro do sistema está

completamente determinado), então essas n variáveis )(x1 t , )(x2 t , ... , )(xn t são um

conjunto de variáveis de estado (OGATA, 2003).

De acordo com o mesmo autor, as variáveis de estado não necessitam serem

quantidades fisicamente mensuráveis ou observáveis. Essa liberdade de escolha das variáveis

de estado é uma vantagem dos métodos de espaço de estados. Entretanto, é conveniente

escolher-se para variáveis grandezas que sejam facilmente mensuráveis.

As variáveis de estado descrevem a configuração presente de um sistema e podem ser

usadas para determinar a resposta futura, dadas as excitações de entrada e as equações

descrevendo a dinâmica. Um exemplo simples de uma variável de estado é a condição de um

interruptor de luz liga/desliga. O interruptor pode estar tanto na posição ligado quanto na

posição desligado e, desse modo, o estado do interruptor pode assumir um dos dois valores

possíveis. Assim, se for conhecido o estado (posição) presente do interruptor em 0t e se uma

entrada for aplicada, é possível determinar o valor futuro do estado do elemento (DORF;

BISHOP, 2009).

Vetor de estado – Se n variáveis de estado são necessárias para descrever

completamente o comportamento de um sistema, então essas n variáveis de estado podem ser

consideradas como os n componentes de um vetor x(t). Tal vetor é chamado de vetor de

estado. Um vetor de estado é, portanto, um vetor que determina univocamente o estado do

sistema x(t) para qualquer 0tt ≥ uma vez dado o estado em 0tt = e especificada a entrada u(t)

para 0tt ≥ (OGATA, 2003).

De forma resumida, Dorf e Bishop (2009) definem vetor de estado como a matriz-

coluna que consiste nas variáveis de estado.

31

Espaço de estados – Segundo Ogata (2003), o espaço n-dimensional, cujos eixos

coordenados são formados pelos eixos de )(x1 t , )(x2 t ,... , )(xn t é chamado de espaço de

estados. Qualquer estado pode ser representado por um ponto no espaço de estados.

Equações no espaço de estados – A análise no espaço de estados envolve três tipos

de variáveis que estão presentes na modelagem de sistemas dinâmicos: variáveis de entrada,

variáveis de saída e variáveis de estado (OGATA, 2003).

Supondo um sistema com múltiplas entradas e múltiplas saídas, onde existam r

entradas )(1 tu , )(2 tu ,... , )(tur , m saídas )(y1 t , )(y2 t ,... , )(ym t e n variáveis de estado

)(x1 t , )(x2 t ,... , )(xn t . Então as equações do sistema podem ser descritas como:

saída de equação )u,(x, )y(

estado de equação )u,(x, )(x

→=→=

tgt

tft&

Onde:

=

)(

.

.

.

)(

)(

)(x

2

1

tx

tx

tx

t

n

=

)(

.

.

.

)(

)(

)(u

2

1

tu

tu

tu

t

r

=

)(

.

.

.

)(

)(

)(y

2

1

ty

ty

ty

t

m

saída de vetor )y(

entrada de vetor )u(

estado de vetor )x(

→→→

t

t

t

32

=

) ; , ... , , ; , ... , ,(

.

.

.

) ; , ... , , ; , ... , ,(

) ; , ... , , ; , ... , ,(

)u,x,(

2121

21212

21211

tuuuxxxf

tuuuxxxf

tuuuxxxf

tf

rnn

rn

rn

=

) ; , ... , , ; , ... , ,(

.

.

.

) ; , ... , , ; , ... , ,(

) ; , ... , , ; , ... , ,(

)u,x,(

2121

21212

21211

tuuuxxxg

tuuuxxxg

tuuuxxxg

tg

rnm

rn

rn

Segundo Ogata (2003), se as funções vetoriais f e/ou g envolverem explicitamente o

tempo t, então o sistema será denominado de sistema variante no tempo.

Ainda de acordo com o mesmo autor, se a equação de estado e a equação de saída

forem linearizadas em torno de um ponto de operação, então obtém-se as seguintes equações:

alinearizad saída de equação ))u(D( ))x(C( )y(

alinearizad estado de equação ))u(B( ))x(A( )(x

→+=→+=

ttttt

ttttt&

Sendo:

) (direta ão transmissde matriz )D(

saídas de número ) ( saída de matriz )C(

entradas de número ) ( entrada de matriz )B(

) ( estado de matriz )A(

rmt

mnmt

rrnt

nnt

×→=×→=×→

×→

Se as funções vetoriais f e g não envolverem o tempo t explicitamente, então o

sistema é chamado de sistema invariante no tempo. Nesse caso, a equação de estado

linearizada e a equação de saída linearizada podem ser simplificadas para:

)Du( )Cx( )y(

)Bu( )Ax( )(x

ttt

ttt

+=+=&

(OGATA, 2003).

33

1.5 – Representação de Sistemas Dinâmicos no Espaço de Estados

Um sistema dinâmico pode ser descrito por equações diferenciais ordinárias, nas quais

o tempo é a variável independente. Usando-se notação vetorial-matricial, uma equação

diferencial de ordem n pode ser representada por uma equação diferencial vetorial-matricial

de primeira ordem. Se n elementos do vetor formam um conjunto de variáveis de estado,

então a equação diferencial vetorial-matricial é uma equação de estado (OGATA, 2003).

1.5.1 – Correlação entre funções de transferência e equações no espaço de estados

De acordo com Ogata (2003), a função de transferência de um sistema representado

por uma equação diferencial linear invariante no tempo é definida como a relação entre a

transformada de Laplace da saída e a transformada de Laplace da entrada, admitindo-se todas

as condições iniciais nulas.

zero a iguais iniciais condiçõesL[entrada]

L[saída] )G( =s

)X(

)Y( )G(

s

ss =

Então, essa função pode ser obtida a partir das equações diferenciais lineares

invariantes no tempo, bem como a partir das equações no espaço de estados da seguinte

maneira:

)Du( )Cx( )y(

)Bu( )Ax( )(x

ttt

ttt

+=+=&

Aplica-se a transformada de Laplace:

)DU( )CX( )Y(

)BU( )AX( x(0)- )X(

sss

ssss

+=+=

Admite-se as condições iniciais nulas:

)DU( )CX( )Y(

)BU( )AX( )X(

sss

ssss

+=+=

34

)DU( )CX( )Y(

)BU( )AX( )X(

sss

ssss

+==−

Coloca-se X(s) em evidência na primeira equação:

)DU( )CX( )Y(

)BU( A) (sI )X(

sss

ss

+==−

Multiplica-se ambos os lados da primeira equação por (sI – A)-1:

)DU( )CX( )Y(

)BU(A) (sI )X( -1

sss

ss

+=−=

Substitui-se X(s) na segunda equação pela primeira equação:

)D]U( BA) C(sI[)Y( -1 ss +−=

Então:

D BA) C(sI)U(

)Y( 1- +−=s

s

D BA) C(sI)G( -1 +−=s

1.5.2 – Representação de Funções de Transferência no Espaço de Estados

Segundo Ogata (2003), muitas técnicas estão disponíveis para a obtenção da

representação no espaço de estados de funções de transferência. Neste trabalho, é utilizado o

método de representação no espaço de estados em formas canônicas, mais precisamente a

canônica controlável, já que a seguinte forma é importante na descrição do projeto de sistemas

de controle pela abordagem por alocação de pólos.

Considerando um sistema definido por:

ububububyayayay nn

nn

nn

n

... ... 1

)1(

1

)(

01

)1(

1

(n)

++++=++++ −

−&&

onde u é a entrada e y é a saída. Essa equação também pode ser escrita através da função de

transferência:

35

nn

nn

asasas

bsbsbsb

s

s

...

...

)U(

)Y(

11-n

1n

11-n

1n

0

++++++++=

Sua representação no espaço de estados na forma canônica controlável é:

1

0

.

.

.

0

0

.

.

.

...

1...000

....

....

....

0...100

0...010

.

.

.

1

2

1

121

1

2

1

u

x

x

x

x

aaaax

x

x

x

n

n

nnnn

n

+

−−−−

=

−−

&

&

&

&

[ ] ub

x

x

x

babbabbaby

n

nnnn

.

.

. . . . 0

2

1

0110110 +

−−−= −− MMM

1.6 – Análise de Sistemas de Controle no Espaço de Estados

De acordo com Ogata (2003), um sistema moderno complexo pode ter muitas entradas

e muitas saídas e estas podem estar inter-relacionadas de uma maneira complexa. Para

analisar tal sistema é fundamental reduzir a complexidade das expressões matemáticas, bem

como recorrer ao auxílio dos computadores. Sob esse ponto de vista, a abordagem com base

no espaço de estados é a mais apropriada para analisar o sistema.

Enquanto a teoria de controle convencional é fundamentada na relação entrada-saída,

ou função de transferência, a teoria de controle moderno é fundamentada na descrição de um

sistema de equações em termos de n equações diferenciais de primeira ordem, que podem ser

combinadas em uma equação diferencial vetorial-matricial de primeira ordem. O uso de uma

notação vetorial-matricial simplifica bastante a representação matemática do sistema de

equações fazendo com que um aumento do número de variáveis de estado, do número de

entradas ou do número de saídas não resulte em um aumento da complexidade das equações.

36

Sendo assim, a análise de sistemas complexos com múltiplas entradas e múltiplas saídas pode

ser conduzida por procedimentos que são apenas ligeiramente mais complicados se

comparados com os procedimentos para análise de sistemas de equações diferenciais escalares

de primeira ordem (OGATA, 2003).

Ainda segundo o mesmo autor, para o problema de projeto de sistemas de controle no

espaço de estados existem dois requisitos que podem ditar a existência de uma solução

completa, controlabilidade e observabilidade. Embora a maioria dos sistemas físicos seja

controlável e observável, os correspondentes modelos matemáticos podem não exibir essas

propriedades. Então, é necessário conhecer as condições nas quais um sistema é controlável e

observável.

1.6.1 - Controlabilidade

Dorf e Bishop (2009) definem um sistema como controlável se existe um controle u(t)

sem restrições que pode transferir qualquer estado inicial x(t0) para qualquer outra posição

desejada x(t) em um tempo finito, 10 ttt ≤≤ .

A seguir é determinada primeiramente a condição para controlabilidade completa de

estado. Posteriormente, a definição de controlabilidade completa de saída e por fim, o

conceito de estabilizabilidade.

1.6.1.1 – Controlabilidade completa de estado de sistemas de tempo contínuo

Considerando o sistema de tempo contínuo:

Bu Ax x +=&

Onde:

rn

nn

r

n

matriz B

matriz A

)(vetor controle de vetor u

)(vetor estado de vetor x

×→×→

→→

37

Segundo Ogata (2003), esse sistema é de estado controlável em t = t0 se for possível

construir um sinal de controle não limitado que transfira o sistema de um estado inicial para

qualquer estado final, em um intervalo de tempo finito 10 ttt ≤≤ . Se todo o estado for

controlável, então o sistema será considerado de estado completamente controlável.

A solução para a equação do sistema de tempo contínuo é obtida através de Laplace e

Laplace Inversa e é dada por:

∫+=t

dt tt

0

)-A(A )(Bu e x(0)e )(x τττ

Supondo que o estado final seja a origem do espaço de estados e o instante inicial seja

nulo ou t0 = 0, utilizando-se de ferramentas matemáticas que não há necessidade de serem

expostas neste trabalho, a solução torna-se:

∫∑=

−=1

0

1-n

0k

k )(u )( BA )0(xt

dk τττα

Para ∫1

0 )(u )(

tdk τττα = kβ , a equação apresenta-se da seguinte forma:

k

1-n

0k

k BA )0(x β∑=

−=

[ ]

.

.

. BA. . .ABB

1

1

0

1

−=

n

n

β

β

β

LLL

LLL

LLL

MMM

Segundo Ogata (2003), para estabelecer se o sistema é completamente controlável, é

necessário que os vetores B, AB, ... , BA 1−n sejam linearmente independentes ou que o posto

da matriz nrn ×

[ ] BA. . .ABB 1−nMMM

38

seja n .

1.6.1.2 – Condição de controlabilidade completa de estado no plano s

De acordo com Ogata (2003), a condição de controlabilidade completa de estado pode

ser determinada em termos de funções de transferência ou de matrizes de transferência.

Uma condição necessária e suficiente para a controlabilidade completa de estado é que

não ocorram cancelamentos na função de transferência ou matriz de transferência. Se

ocorrerem cancelamentos, o sistema não pode ser controlado na direção do modo cancelado.

A mesma conclusão pode ser obtida escrevendo a função de transferência na forma de uma

equação de estado e verificando através de sua representação no espaço de estados se

BA, . . . AB, B, 1−n são linearmente independentes ou se o posto da matriz nn ×

[ ] BA. . .ABB 1−nMMM for n (OGATA, 2003).

1.6.1.3 – Controlabilidade de saída

A controlabilidade completa de estado não é necessária nem suficiente para controlar a

saída de um sistema e no caso de um projeto prático de um sistema de controle, pode-se

desejar que a saída seja controlada ao invés de controlar o estado do sistema. Por essa razão, a

controlabilidade de saída torna-se importante (OGATA, 2003).

Considerando o sistema descrito por:

Bu Ax x +=&

Du Cx y +=

39

Onde:

matriz D

matriz C

matriz B

matriz A

)(vetor saída de vetor y

)(vetor controle de vetor u

)(vetor estado de vetor x

rm

nm

rn

nn

m

r

n

×→×→×→×→

→→→

Segundo Ogata (2003), esse sistema é considerado de saída completamente

controlável se for possível construir um vetor de controle u(t) não limitado que transfira

qualquer saída inicial y(t0) para qualquer saída final y(t1) em um intervalo de tempo finito

10 ttt ≤≤ .

De acordo com o mesmo autor, para estabelecer se o sistema é de saída

completamente controlável, é necessário que o posto da matriz rnm )1( +×

[ ]

DBCA. . .BCACABCB 12MMMMM

−n

seja m .

1.6.1.4 – Estabilizabilidade

Antes de ser definido o conceito de estabilizabilidade é necessário conhecer sobre

autovalores:

Os autovalores de uma matriz ) (A nn× são as raízes da equação característica

0 A - λI = . Dessa forma, os autovalores da matriz do sistema na forma de variáveis de

estado são equivalentes aos pólos do sistema em malha fechada. Portanto, se o autovalor for

real positivo o sistema é naturalmente instável, em contrapartida, caso seja real negativo o

sistema é naturalmente estável.

Ogata (2003) diz que um sistema parcialmente controlável é considerado estabilizável

se os modos não controláveis forem estáveis e os modos instáveis forem controláveis.

40

Portanto, caso o sistema possua autovalores reais negativos não controláveis e possua

autovalores reais positivos controláveis, é chamado de estabilizável.

1.6.2 – Observabilidade

Dorf e Bishop (2009) definem um sistema como observável se existe um tempo finito

1t tal que o estado inicial x(0) pode ser determinado a partir do histórico de observações da

saída y(t) dado o controle u(t), 10 ttt ≤≤ .

A seguir é determinada a condição para observabilidade completa e posteriormente, o

conceito de detectabilidade.

1.6.2.1 – Observabilidade completa de sistemas de tempo contínuo

Considerando o sistema de tempo contínuo:

Bu Ax x +=&

Du Cx y +=

Onde:

matriz D

matriz C

matriz B

matriz A

)(vetor saída de vetor y

)(vetor controle de vetor u

)(vetor estado de vetor x

rm

nm

rn

nn

m

r

n

×→×→×→×→

→→→

Então:

∫+=t

dut tt

0

)-A(A )(B e x(0)e )(x τττ

41

Du )(B eC x(0)Ce )(y0

)-A(A ++= ∫t

dut tt τττ

Segundo Ogata (2003), como as matrizes A, B, C e D e u(t) são conhecidos, os dois

últimos termos do lado direito dessa última equação são quantidades conhecidas. Portanto,

para investigar uma condição necessária e suficiente para observabilidade completa é

suficiente considerar o sistema sem excitação descrito por:

Ax x =&

Cx y =

Esse sistema é considerado completamente observável se todo estado )x(t0 puder ser

determinado pela observação de y(t) durante o intervalo de tempo finito, 10 ttt ≤≤ . Portanto, o

sistema é dito completamente observável se cada transição do estado puder afetar cada

elemento do vetor de saída y(t). Assim, pela saída poderá ser estimado o estado inicial do

sistema (OGATA, 2003).

Na prática, algumas variáveis não podem ser medidas diretamente num sistema,

necessitando serem estimadas para construir um sinal de controle adequado. Isto só é possível

se o sistema for completamente observável.

A solução para a equação do sistema sem excitação é dada por:

x(0)Ce )(y Att =

Logo obtém-se:

x(0)CA)( )(y1-n

0k

k∑=

= tt kα

Segundo Ogata (2003), para estabelecer se o sistema é completamente observável, é

necessário que o posto da matriz nnm ×

42

CA

.

.

.

CA

C

1

−n

LLL

LLL

LLL

seja n ou tenha n vetores-linha linearmente independentes.

No caso da matriz transposta nmn ×

[ ] *C(A*). . .*C*A*C 1-nMMM

é necessário que o posto seja n ou tenha n vetores-coluna linearmente independentes.

1.6.2.2 – Condição de observabilidade completa no plano s

De acordo com Ogata (2003), assim como a condição de controlabilidade completa de

estado, a determinação para a condição de observabilidade completa pode ser dada em termos

de funções de transferência ou de matrizes de transferência.

Portanto, uma condição necessária e suficiente para a observabilidade completa é que

não ocorram cancelamentos na função de transferência ou matriz de transferência. Caso

contrário, o modo cancelado não pode ser observado na saída (OGATA, 2003).

1.6.2.3 – Detectabilidade

Partindo do mesmo conceito de estabilizabilidade, um sistema parcialmente

observável será dito detectável se os modos não observáveis forem estáveis e os modos

observáveis forem instáveis. Portanto, caso o sistema possua autovalores reais negativos não

observáveis e possua autovalores reais positivos observáveis, é chamado de detectável.

43

1.7 – Projeto de Sistemas de Controle no Espaço de Estados

Neste tópico é discutido o projeto de sistemas de controle no espaço de estados

baseado no método da alocação de pólos, método este similar ao método do lugar das raízes,

no qual os pólos de malha fechada são alocados nas posições desejadas. No entanto, existem

algumas diferenças entre esses métodos. No projeto pelo lugar das raízes são alocados

somente os pólos dominantes de malha fechada nas posições desejadas, enquanto no projeto

por alocação de pólos são alocados todos os pólos de malha fechada nas posições desejadas

(OGATA, 2003).

Para Dorf e Bishop (2009), ao se projetar compensadores de variáveis de estado tem

que haver a possibilidade de todos os pólos do sistema em malha fechada serem

arbitrariamente posicionados no plano complexo. Se o sistema for controlável e observável,

então pode-se realizar o objetivo de projeto de alocar os pólos precisamente nas posições

desejadas para se atender às especificações de desempenho.

1.7.1 – Projeto por Alocação de Pólos

Segundo Ogata (2003), para este sistema de controle deve-se admitir que todas as

variáveis de estado sejam mensuráveis, disponíveis para realimentação e que este mesmo

sistema seja de estado completamente controlável. Desta forma, todos os seus pólos de malha

fechada podem ser arbitrariamente alocados na posição desejada por meio de uma

realimentação de estado, empregando uma matriz de ganho apropriada. Caso as variáveis de

estado não possam ser medidas com sucesso, é necessário a inclusão de um observador de

estado no sistema, para isto, o sistema deve ser completamente observável.

Considerando o sistema abaixo

Bu Ax x +=&

uy D Cx +=

44

O sinal de controle adotado será do tipo u = - Kx, o que significa que o sinal de

controle é determinado por um estado instantâneo (o estado o qual o sistema se encontra). A

matriz n 1K × é denominada matriz de ganho de realimentação de estado (OGATA, 2003).

O sistema de malha fechada não possui entradas e seu objetivo é manter nula a saída.

Podem ocorrer distúrbios no sistema que desviarão a saída de zero. Esta saída não-nula

retorna ao valor nulo correspondente à entrada de referência nula, devido ao esquema de

realimentação de estado. Um diagrama de blocos desse sistema é representado na Figura 1.9.

Figura 1.9: Sistema de controle de malha fechada com u = - Kx (Fonte: Adaptado de Ogata, 2003, p. 680)

1.7.1.1 – Condição necessária e suficiente para alocação arbitrária de pólos

Segundo Ogata (2003), a condição para a alocação arbitrária de pólos é que o sistema

necessita ser de estado completamente controlável. Isso significa que em qualquer momento

ou em qualquer estado que o sistema venha assumir durante o processo/ simulação, aquele

vetor de controle escolhido tem condições de realocar os pólos para os locais desejados. Se o

sistema não for de estado completamente controlável, então existirão autovalores da matriz A

– BK que não podem ser controlados por realimentação de estado, bem como não podem ser

arbitrariamente alocados.

45

1.7.1.2 – Determinação da matriz K com a utilização da matriz de transformação T

Supondo um sistema definido por

uB Ax x +=&

Ogata (2003) determina que o sinal de controle seja dado por

Kx- =u

Deste modo, pode ser determinado o vetor de ganho que foi utilizado. Ao trabalhar

com Kx- =u , o sistema é dado por

Bkx-Ax x =&

Colocando x (vetor de estado) em evidência,

Bk)x-(A x =&

Deste modo, a resolução se torna mais fácil, pois o que determina a função

característica é A – Bk. Portanto, sendo a função característica A – Bk e trabalhando com o

notação dela na forma canônica controlável, a matriz de transformação T, que transforma a

representação de um sistema em espaço de estados qualquer para forma canônica controlável,

é igual a 1. Neste caso, basta comparar a equação onde tem a nova alocação de pólos com a

alocação de pólo atual. Da diferença entre estes coeficientes é obtido o vetor de ganho

(OGATA, 2003).

A partir da equação característica da matriz A, ou seja,

nn asasass ... AI 11-n

1n ++++=− −

deve-se determinar os valores de , . . . ,2 ,1 naaa .

Utilizando os autovalores desejados (pólos desejados de malha fechada), escreve-se o

polinômio característico desejado:

nnnn

n ssssss αααµµµ ... )( ... ))(( 11-

121 ++++=−−− −

e determina-se os valores de , . . . ,2 ,1 nααα .

46

A matriz de ganho K de realimentação de estado requerida pode, então, ser

determinada por:

[ ] 1112211 T . . .K −

−− −−−−= aaaa nnnn αααα MMMM

1.7.1.3 – Escolhendo a localização dos pólos de malha fechada desejados

Segundo Ogata (2003), na abordagem por alocação de pólos o primeiro passo consiste

em escolher a localização dos pólos de malha fechada desejados. A escolha desses pólos é

baseada nos pré-requisitos de controle, como máximo sobressinal e tempo de acomodação.

Aloca-se um par de pólos dominantes de malha fechada e escolhem-se os outros pólos de

modo que eles fiquem bem distantes, à esquerda dos pólos dominantes de malha fechada.

Deste modo, o sistema passa a se comportar como um sistema de segunda ordem.

1.8 – Servidor OPC

No mundo de hoje, a automação é usada em destaque em toda grande indústria.

Embora diferentes indústrias costumem usar diferentes dispositivos especializados, sistemas

de controle e aplicativos, todos eles compartilham um desafio comum de rápido crescimento -

como compartilhar dados entre todos estes componentes e do resto da empresa.

O servidor OPC (OLE for Process Control) resolve o problema de comunicação entre

os controladores de dispositivos e aplicações. Ele é usado para responder a um dos maiores

desafios da indústria de automação, como a comunicação entre dispositivos, controladores e /

ou aplicações, sem se envolver nos problemas baseados em cada situação de conectividade

(http://www.matrikonopc.com/downloads/). O servidor OPC que foi utilizado para a

comunicação entre o Blender e o Simulink® foi o da empresa Matrikon.

47

1.9 – Software Matemático

Neste trabalho foi escolhido como software matemático o MATLAB®. Este é um

software com uma linguagem de alto nível e um ambiente interativo para computação

numérica, visualização e programação. Usando o MATLAB®, o usuário pode analisar os

dados, desenvolver algoritmos, criar modelos e aplicações. Sua linguagem, ferramentas e

funções matemáticas permitem explorar múltiplas abordagens e chegar a uma solução mais

rápida do que com planilhas ou linguagens de programação tradicionais

(http://www.mathworks.com/products/matlab/).

Este software pode ser utilizado para uma gama de aplicações, incluindo processamento

de sinais e comunicação, processamento de imagem e vídeo, sistemas de controle, teste e

medição, finanças computacionais e biologia computacional

(http://mathworks.com/products/matlab).

Segundo Gilat (2006), o MATLAB® é uma linguagem poderosa em termos de

computação técnica. O nome MATLAB® vem da junção das palavras MATrix LABoratory,

devido à base operacional do software que são as matrizes. É um software bastante versátil

em cálculos matemáticos, modelagens e simulações, análises numéricas e processamentos,

visualização e gráficos, desenvolvimento de algoritmos, etc.

Atualmente, o MATLAB® é largamente utilizado nas universidades e faculdades nos

cursos introdutórios ou avançados de matemática, ciências e, especificamente, nas

engenharias. Na indústria, o software alcançou o status de ferramenta de pesquisa, projeto e

desenvolvimento. O pacote-padrão do MATLAB® possui ferramentas (funções) comuns a

diversas áreas do conhecimento. Além disso, o MATLAB® disponibiliza uma série de

ferramentas adicionais (os toolboxes) que formam uma coleção de programas especiais

projetados para resolver problemas específicos. Dentre os toolboxes mais utilizados, pode-se

citar: processamento de sinais, cálculos simbólicos (literais), sistemas de controle e lógica

fuzzy (GILAT, 2006).

Para associar os dados das equações de controle com a simulação no Blender, é

necessário a utilização do MATLAB® juntamente com a implementação de uma lógica de

programação que seja capaz de fornecer as informações de controle do sistema para o modelo

simulado via comunicação OPC. Essa lógica foi criada no Simulink® utilizando blocos de

lógica e comunicação OPC.

48

1.9.1 – Plataforma de simulação para modelos contínuos

O projeto de controle do modelo do pêndulo invertido foi criado na plataforma de

simulação Simulink®, através de diagramas de blocos. O MATLAB® e o Simulink® são

ambientes integrados que permitem a análise, simulação e revisão dos modelos em qualquer

ambiente e em qualquer ponto (KARRIS, 2008).

Utilizado na simulação de sistemas dinâmicos, o Simulink® opera com o MATLAB®

com o objetivo de permitir a especificação de diferentes sistemas dinâmicos e determinar as

suas condições de simulação. Dispõe de uma biblioteca de módulos básicos, utilizados na

operação dos diagramas que especificam o sistema (POLLONI et al., 2010).

Esta ferramenta pode ser ainda definida como um sistema de gráficos para modelagem

de processos. Ele possui uma forma de diagrama de blocos que se ligam por uma linha de

conexão que mostra como as informações fluem de um bloco para outro. Estes realizam

funções específicas e podem ser encontrados como blocos padrões na biblioteca do sistema,

ou elaborados pelo usuário. É integrado com MATLAB®, que permite incorporar seus

algoritmos em modelos e exportar os resultados de simulação para análise posterior

(http://www.mathworks.com/products/simulink/).

2 – DESENVOLVIMENTO

2.1 – Modelo matemático do pêndulo invertido

Definindo o ângulo da haste a partir da linha vertical como θ , a distância entre o

ponto fixo da haste ao centro de gravidade como l e as coordenadas (x, y) do centro de

gravidade da haste como (xG, yG), conforme Figura 2.1, então:

θcos

sen

ly

θlxx

G

G

=+=

Figura 2.1: Sistema do pêndulo invertido

Figura 2.2: Representação do movimento horizontal

50

Figura 2.3: Representação do movimento vertical

Considerando os diagramas do corpo livre (Figura 2.4 e 2.5), é possível deduzir as

equações do movimento do sistema.

Figura 2.4: Diagrama do corpo livre (a)

Figura 2.5: Diagrama do corpo livre (b)

51

O movimento rotacional da haste do pêndulo em torno de seu centro de gravidade é

descrito por:

θθθ

θ

cos2M

sen)90cos(1M

2M1M

Hl

VlVl

I

==−=

−=&&

θθθ cos sen HlVlI −=&&

onde I é o momento de inércia da haste em relação ao centro de gravidade.

O movimento horizontal (Figura 2.2) do centro de gravidade da haste do pêndulo é:

Hlxdt

dm )sen (

2

2

=+ θ

O movimento vertical (Figura 2.3) do centro de gravidade da haste do pêndulo é dado

por:

mgVldt

dm −= )cos (

2

2

θ

O movimento horizontal do carro pode ser descrito por:

Hudt

xdM −=

2

2

Admitindo que o ângulo da haste em relação ao equilíbrio (θ ) e a velocidade angular

da haste (θ& ) são variáveis suficientemente pequenas na condição de equilíbrio, ou seja, com o

pêndulo invertido na posição vertical, pode-se considerar que θθ ≅sen , 1cos ≅θ e 02 =θθ & .

Então, as equações do movimento rotacional da haste, do movimento horizontal do centro de

gravidade e do movimento vertical do centro de gravidade podem ser linearizadas:

1

cos sen

×−=

−=

HlVlI

HlVlI

θθθθθ

&&

&&

HlVlI −= θθ&&

52

Hlxdt

dm

Hlxdt

dm

Hlxdt

dm

) (

) (

)sen (

1

1

2

2

2

2

=+

=+

=+

θ

θ

θ

&&

Hlxm ) ( =+ θ&&&&

mgm

mgldt

dm

mgVldt

dm

−=×

−=×

−=

V0

V)1(

)cos (

2

2

2

2

θ

mgV −= 0

A partir das equações linearizadas do movimento horizontal e vertical do centro de

gravidade, substitui-se V e H na equação linearizada do movimento rotacional da haste:

)(

θθθθθ

θθ

&&&&&&

&&

&&

mlxmlmglI

HlmglI

HlVlI

+−=

−=

−=

θθ mglxmlmlI =++ &&&&)( 2

E a equação de movimento horizontal do carro com a do movimento horizontal do

centro de gravidade da haste linearizada se da por:

θ

θ

&&&&&&

&&&&

mlxmuxM

lxmudt

xdM

Hudt

xdM

−−=

+−=

−=

)(

2

2

2

2

umlxmM )( =++ θ&&&&

53

As equações:

θθ mglxmlmlI =++ &&&&)( 2

e

umlxmM )( =++ θ&&&&

descrevem o movimento do sistema de pêndulo invertido sobre o carro e, por isso, constituem

o modelo matemático do sistema.

Considerando que a massa está concentrada no centro de gravidade no topo da haste e

o momento de inércia é definido por: ∑=

=n

1

2 i

ii rmI , pode-se dizer que 0 =r . Portanto, o

momento de inércia do pêndulo sobre seu centro de gravidade será 0=I . Então, o modelo

matemático para o sistema é:

θθ mglxmlml =+ &&&&2

e

umlxmM )( =++ θ&&&&

Dividindo a equação θθ mglxmlml =+ &&&&2 por ml :

θθ gxl =+ &&&&

θθ &&&& lgx −=

Substituindo x&& na equação umlxmM )( =++ θ&&&& :

θθθθθθθθ

θθθ

&&

&&&&

&&&&

&&&&

MlugmM

mllmMugmM

lmMumlgmM

umllgmM

=−+

−+=−+

+−=++

=+−+

)(

)( )(

)( )(

))((

ugmMMl )( −+= θθ&&

54

Dividindo a equação θθ 2 lmgxmlml =+ &&&& por l :

θθ mgxmml =+ &&&&

xmmgml &&&& −= θθ

Substituindo θ&&ml na equação umlxmM )( =++ θ&&&& :

umgxM

uxmmgxmxM

uxmmgxmM

)(

=+=−++=−++

θθθ

&&

&&&&&&

&&&&

θmguxM −= &&

Então, as duas equações do modelo matemático foram modificadas para:

ugmMMl )( −+= θθ&&

e

θmguxM −= &&

2.2 – Modelagem no Espaço de Estados

Definindo as variáveis de estado e , , 4321 xxxx como:

34

3

12

1

xxx

xx

xx

x

&&

&&

===

==

=

θθ

Pode-se substituir essas variáveis de estado no modelo matemático:

Ml

ugx

Ml

mMx

ugxmMxMl

ugmMMl

)(

)(

)(

12

12

−+=

−+=−+=

&

&

&& θθ

e

55

M

u

M

mgxx

mgxuxM

mguxM

+−=

−=−=

14

14

&

&

&& θ

Dessa forma, a equação de estado do sistema é dada por:

uB Ax x +=&

1

0

1

0

000

1000

000

0010

4

3

2

1

4

3

2

1

u

M

Ml

x

x

x

x

gM

m

gMl

mM

x

x

x

x

−+

+

=

&

&

&

&

Definindo as saídas do sistema 43,2,1 e yyyy como:

xy

xy

y

y

&

&

4

3

2

1

===

=

θθ

A equação de saída do sistema pode ser descrita por:

uD Cx y +=

0

0

0

0

1000

0100

0010

0001

4

3

2

1

4

3

2

1

u

x

x

x

x

y

y

y

y

+

=

56

2.3 – Funções de transferência do sistema

As funções de transferência do sistema podem ser encontradas aplicando Laplace nas

equações diferenciais lineares que constituem o modelo matemático.

Função de transferência I:

Ml

gmMs

MlsU

gmMMlssU

sUgmMMlssΘ

sUsgΘmMsΘMls

sUsgΘmMsΘMls

ugmMMl

)(

1

)(

)(

)(

1

)(

)(

)())()((

)()()()(

)()()()(

)(

2

2

2

2

2

+−

−=

+−−=

−=+−

−=+−

−+=−+= θθ&&

Como se trata de um sistema de 4ª ordem, multiplica-se por 2s :

24

2

)()(

)(

sMl

gmMs

Mls

sU

+−

−=

Função de transferência II:

)( )( )(

2 smgΘsUsXMs

mguxM

−=

−= θ&&

:então ,)(

)()( Como

2 gmMMls

sUsΘ

+−−=

+−+=

+−+=

gmMMls

mgsUsXMs

gmMMls

sUmgsUsXMs

)(1 )()(

)(

)( )( )(

22

22

57

24

2

242

2

2

22

)(

)(

)(

)(

)(

)(

)(

)()(

gsmMMls

gls

sU

sX

gsmMMlsM

MgMls

sU

sX

gmMMls

mgmgMgMlssUsXMs

+−−=

+−−=

+−+−−=

( )24

2

)(

)(

)(

sMl

gmMs

Mlgsl

sU

sX+−

−=

Função de transferência III:

θ&& saída como se-obtém , )( de variaçãode taxapara Mudando uuu

Ml

gmMs

Mls

sU

gmMMls

s

sU

ssUgmMMlssΘ

ssUsΘgmMsΘMls

dt

du

dt

tdgmM

dt

tdMl

ugmMMl

)()(

)(

)()(

)(

)(])()[(

)()()()(

))(()(

))((

)(

2

2

2

2

+−

−=

+−−=

−=+−

−=+−

−=+−

−+=

&

&

&

&&

&&

&&

θθθθ

24

3

)()(

)(

sMl

gmMs

Mls

sU

+−

−=

&

Função de transferência IV:

)()()(

))(())(())((

2 smgsΘssUsXMs

dt

tdmg

dt

tud

dt

txdM

mguxM

−=

−=

−=

&

&&

&&

θθ

:logo ,)(

)()( Se

2 gmMMls

sUsΘ

+−−=

58

gmMMls

mgss

U

XMs

gmMMls

ssUmgssUsXMs

)((s)

(s)

)(

)()()(

22

22

+−+=

+−−−=

&

&

])([M)(

)(

)()(

)(

)()(

)(

22

3

222

3

2

32

gmMlss

gsls

sU

sX

gmMMsMlsMs

MgsMls

sU

sX

gmMMls

mgsmgsMgsMls

sU

sXMs

+−−=

+−−=

+−+−−=

&

&

&

( )24

3

)((s)

(s)

sMl

gmMs

Mlgsls

U

X+−

−=

&

Outra forma de obter as funções de transferência é pela correlação com as equações

no espaço de estados, ou seja, através de D BA) C(sI)U(

)Y( 1- +−=s

s. Porém, como as matrizes

A e C são matrizes 44× , os cálculos inerentes desse processo são simples, porém longos para

serem expostos nesse trabalho.

Desta forma, escolheu-se a utilização de uma forma mais simples para verificar as

funções, através de um comando apropriado do MATLAB®.

Primeiramente, é necessário atribuir valores a M, m, l e g, caso contrário o MATLAB®

não consegue reproduzir as matrizes A e B. Para esse projeto, os valores são 2 kg, 0,1 kg,

0,5m e 9,81m/s², respectivamente (valores extraídos de: Ogata, 2003, p. 687) .

Os seguintes comandos foram dados no MATLAB®:

>> M=2;

>> m=0.1;

>> l=0.5;

59

>> g=9.81;

>> A=[0 1 0 0; (M+m)*g/(M*l) 0 0 0; 0 0 0 1; -m*g/M 0 0 0]

A =

0000.4905-

1.0000000

00020.6010

001.00000

>> B=[0; -1/(M*l); 0; 1/M]

B =

0.5000

0

1.0000-

0

>> C=[1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 1]

C =

1000

0100

0010

0001

>> D=[0;0;0;0]

D =

0

0

0

0

>> [a,b]=ss2tf(A,B,C,D)

60

a =

08100.90000.05000.00

8100.90000.05000.00000.00

000000.00000.10

000000.10000.00

−−−

−−−

b =

006010.200000.00000.1 −−

Como a corresponde a matriz dos numeradores e b a matriz do denominador,

compara-se as funções de transferência encontradas no MATLAB® com as encontradas

anteriormente:

24

2

24

2

)(

601020

)(

)(

sMl

gmMs

Mls

s.s

s

sU

+−

−=

−−=

24

3

24

3

)(

601020

)(

)(

sMl

gmMs

Mls

s.s

s

sU

+−

−=

−−=

&

( ) ( )24

2

24

2

)(

601020

81.9 5.0

)(

)(

sMl

gmMs

Mlgsl

s.s

s

sU

sX+−

−=

−−=

( ) ( )24

3

24

3

)(

601020

81.9 5.0

)(

)(

sMl

gmMs

Mlgssl

s.s

ss

sU

sX+−

−=

−−=

&

2.4 – Representação das funções de transferência no espaço de estados na forma

canônica controlável

Comparando as funções de transferência encontradas com a forma genérica:

nn

nn

asasas

bsbsbsb

s

s

...

...

)U(

)Y(

11-n

1n

11-n

1n

0

++++++++=

61

é possível representá-la no espaço de estados na forma canônica controlável.

1

0

.

.

.

0

0

.

.

.

...

1...000

....

....

....

0...100

0...010

.

.

.

1

2

1

121

1

2

1

u

x

x

x

x

aaaax

x

x

x

n

n

nnnn

n

+

−−−−

=

−−

&

&

&

&

[ ] ub

x

x

x

babbabbaby

n

nnnn

.

.

. . . . 0

2

1

0110110 +

−−−= −− MMM

1

0

0

0

0)(

00

1000

0100

0010

4

3

2

1

4

3

2

1

u

x

x

x

x

Ml

gmMx

x

x

x

+

+=

&

&

&

&

00

00

1000

0100

4

3

2

1

4

3

2

1

=

x

x

x

x

Mll

Mlg

Mll

Mlg

Ml

Ml

y

y

y

y

2.5 – Análise do Sistema de Controle no Espaço de Estados do Pêndulo Invertido

Antes de se projetar o sistema de controle no espaço de estados do pêndulo invertido,

foi verificado se o modelo matemático atendia a duas propriedades: controlabilidade e

observabilidade.

62

2.5.1 – Controlabilidade completa de estado

Como já visto anteriormente, foi confirmado se o posto da matriz nrn ×

[ ] BA. . .ABB 1−nMMM

é n ou se seus vetores são linearmente independentes.

=

+=

0

1

0

0

1

0

0

0

0)(

00

1000

0100

0010

AB

Ml

gmM

+

=

+

+=

+

+=

Ml

gmM

Ml

gmMMl

gmM

Ml

gmM

Ml

gmM

)(

0

1

0

BA

1

0

0

0

)(000

0)(

00

1000

0100

BA

1

0

0

0

0)(

00

1000

0100

0010

0)(

00

1000

0100

0010

BA

2

2

2

63

+=

+

+

+

=

+

+

+=

0

)(

0

1

BA

1

0

0

0

0)(

)(00

)(000

0)(

00

1000

BA

1

0

0

0

0)(

00

1000

0100

0010

)(000

0)(

00

1000

0100

BA

3

2

22

3

3

Ml

gmM

Ml

gmMMl

gmMMl

gmM

Ml

gmM

Ml

gmMMl

gmM

[ ]

+

+=

0)(

01

)(010

0100

1000

BABAABB 32

Ml

gmMMl

gmMMMM

Os vetores B, AB, ... , BA 1−n são linearmente independentes e o posto da matriz 4 4×

é 4, portanto, o sistema é de estado completamente controlável.

2.5.2 – Controlabilidade de saída

Para constatar se a saída é completamente controlável, será verificado se o posto da

matriz rnm )1( +×

[ ]

DBCA. . .BCACABCB 12MMMMM

−n

é m.

64

−=

=

Mll

Ml

Mll

Mlg

Mll

Mlg

Ml

Ml

0

1

0

1

0

0

0

00

00

1000

0100

CB

=

++−

+−

=

+

=

0

1

0

1

CAB

1

0

0

0

0)(

00

00

0)(

00

1000

CAB

1

0

0

0

0)(

00

1000

0100

0010

00

00

1000

0100

CAB

2

22

Ml

Ml

lM

gmM

Ml

gMl

lMl

glM

gmMMl

Ml

gmM

Mll

Mlg

Mll

Mlg

Ml

Ml

65

++−

+−=

++−

++−

+−

+−

=

+

++−

+−

=

+

+

=

lM

gmMMl

g

lM

gmM

lM

gmMMl

glM

gmMMl

glM

gmMlM

gmM

Ml

gmM

lM

gmMMl

gMMl

glM

gmMMl

Ml

gmM

Ml

gmM

MMlg

MMlg

Ml

Ml

2

222

2

2

22

22

2

2

222

2

)(0

)(0

BCA

1

0

0

0

)(000

0)(

00

)(000

0)(

00

BCA

1

0

0

0

0)(

00

1000

0100

0010

0)(

00

100

0)(

00

1000

BCA

1

0

0

0

0)(

00

1000

0100

0010

0)(

00

1000

0100

0010

100

010

1000

0100

BCA

66

++−

+−

=

−++

++−

+−

+−

=

+

++−

++−

+−

+−

=

+

+

++−

+−

=

0

)(

0

)(

BCA

1

0

0

0

01)(

)(00

)(000

0)(

)(00

)(000

BCA

1

0

0

0

0)(

00

1000

0100

0010

)(000

0)(

00

)(000

0)(

00

BCA

1

0

0

0

0)(

00

1000

0100

0010

0)(

00

1000

0100

0010

0)(

00

00

0)(

00

1000

BCA

2

22

3

22232

2

3

22

22

3

2

2

22

22

3

2

223

lM

gmMMl

g

lM

gmM

lMlM

mMmMg

lM

gmMMl

gMl

gmMlM

gmM

Ml

gmM

lM

gmMMl

glM

gmMMl

glM

gmMlM

gmM

Ml

gmM

Ml

gmM

lM

gmMMl

gMl

lMl

glM

gmMMl

67

[ ]

++−

++−

+−−

+−−

=

00)(

0

0)(

00

00)(

01

0)(

010

DBCABCACABCB

2

2

22

22

32

lM

gmMMl

gMl

llM

gmMMl

gMl

llM

gmMMl

lM

gmMMl

MMMM

Como o posto da matriz 5 4× é 4, a saída do sistema é completamente controlável.

2.5.3 – Observabilidade completa

Neste tópico foi verificado se o sistema é completamente observável. Isto não seria

necessário, pois suas variáveis podem ser medidas diretamente. Porém, esta condição foi

analisada somente para fins didáticos.

Para analisar se o sistema é completamente observável, foi necessário verificar se o

posto da matriz nnm ×

CA

.

.

.

CA

C

1

−n

LLL

LLL

LLL

é n ou tem n vetores-linha linearmente independentes.

68

0)(

00

00

0)(

00

1000

0)(

00

1000

0100

0010

00

00

1000

0100

CA

2

22

++−

+−

=

+

=

lM

gmMMl

gMl

lMl

glM

gmMMl

Ml

gmM

Mll

Mlg

Mll

Mlg

Ml

Ml

)(000

0)(

00

)( 000

0)(

00

0)(

00

1000

0100

0010

0)(

00

00

0)(

00

1000

CA

2

2

22

22

2

222

++−

++−

+−

+−

=

+

++−

+−

=

lM

gmMMl

glM

gmMMl

glM

gmMlM

gmM

Ml

gmM

lM

gmMMl

gMl

lMl

glM

gmMMl

0)(

00

1000

0100

0010

)(000

0)(

00

)( 000

0)(

00

CA

2

2

22

22

3 =

+

++−

++−

+−

+−

=

Ml

gmM

lM

gmMMl

glM

gmMMl

glM

gmMlM

gmM

69

01

)(

)(00

)(000

0)(

)( 00

)( 000

22232

2

3

22

22

−++

++−

+−

+−

lMlM

mMmMg

lM

gmMMl

gMl

gmMlM

gmM

−++

++−

+−

+−

++−

++−

+−

+−

++−

+−

=

01

)(

)(00

)(000

0)(

)( 00

)( 000

)(000

0)(

00

)( 000

0)(

00

0)(

00

00

0)(

00

1000

00

00

1000

0100

CA

CA

CA

C

22232

2

3

22

22

2

2

22

2

22

3

2

lMlM

mMmMg

lM

gmMMl

gMl

gmMlM

gmMlM

gmMMl

glM

gmMMl

glM

gmMMl

gmMlM

gmMMl

gMl

lMl

glM

gmMMl

Mll

Mlg

Mll

Mlg

Ml

Ml

A matriz 4 16× tem posto 4 (4 vetores-linha linearmente independentes), portanto, é

completamente observável.

70

2.6 – Projeto do controlador do pêndulo invertido no MATLAB®

Para o projeto do controlador é necessário que o sistema atenda a alguns requisitos de

projeto, como máximo sobressinal e tempo de acomodação. Para atingir esses requisitos é

necessário que as raízes da equação característica sejam modificadas através de uma matriz de

ganho K para os locais desejados. Inicialmente, adotaram-se valores no semiplano esquerdo

distantes da origem para as raízes reais. Através de um algoritmo de busca cega numa dada

região, foram obtidas as raízes complexas conjugadas, tendo como pré-requisito para a

variável ângulo um máximo sobressinal menor que 1,57 (valor correspondente à 90º em

radianos, o que não permite que a haste encoste no carro) e tempo de acomodação menor que

6 segundos (tempo aceitável para que o observador visualize a dinâmica do sistema) a um

critério de 2%, quando submetido a um distúrbio de 1 radianos em sua condição inicial.

.30p ;30p ;2,26,3p ;2,26,3p 4321 −=−=+−=−−= ii

A matriz K foi obtida através da matriz de transformação T.

[ ] -1112211 T . . .K aaaa nnnn −−−−= −− αααα MMMM

Onde, a equação característica da matriz A é:

nn asasass ... AI 11-n

1n ++++=− −

)(

00

100

010

001

AI

0)(

00

1000

0100

0010

000

000

000

000

AI

+−−

−−

=−

+−

=−

sMl

gmMs

s

s

s

Ml

gmMs

s

s

s

s

71

601.20AI

5.02

81.9)1.02(00

100

010

001

AI

24 sss

s

s

s

s

s

−=−

××+−

−−

=−

Utilizando os autovalores desejados (pólos desejados de malha fechada), escreveu-se o

polinômio característico desejado:

nnnn

n ssssss αααµµµ ... )( ... ))(( 11-

121 ++++=−−− −

16020 5487 8,1349 67,2 )30)(30)(2,26,3)(2,26,3( 234 ++++=++−+++ ssssssisis

A matriz de ganho de realimentação de estado pode, então, ser determinada por:

[ ]

[ ]

[ ]2,674.1370754816020K

102,67)601,20(8,134907548016020K

T . . .K

1

1112211

MMM

MMM

MMMM

=

×−−−−−=

−−−−=

−−− aaaa nnnn αααα

Outra forma mais simples de encontrar o ganho pode ser utilizando o MATLAB ®

através dos comandos:

>> M=2;

>> m=0.1;

>> l=0.5;

>> g=9.81;

>> A = [0 1 0 0; 0 0 1 0; 0 0 0 1; 0 0 (M + m)*g/(M*l) 0];

>> B = [0; 0; 0; 1];

>> J = [-3,6-2,2*i -3,6+2,2*i -30 -30];

72

>> K = acker(A,B,J)

K =

1.0e+004 *

1.60200 0.75480 0.13704 0.00672

Desta forma, utilizaram-se os seguintes valores para a matriz K:

[ ] [ ] 2,674,1370754816020 k4k3k2k1 =

Após encontrar a matriz de ganho K, foi criado o sistema de controle de malha fechada

no Simulink® conforme Figura 1.9 do tópico 1.7.1.

Figura 2.6: Sistema de controle de malha fechada no Simulink®

73

Onde:

Para bom entendimento do diagrama de blocos criado, é apresentada uma breve

explicação de cada componente utilizado:

MATLAB Function – Novas funções podem ser adicionadas ao vocabulário do

MATLAB ® através de termos de funções existentes. Os comandos e funções existentes que

compõem a nova Function são salvos em um arquivo de texto chamado M-file. As Functions

podem utilizar suas próprias variáveis locais e aceitar argumentos de entrada.

Foram utilizadas cinco Functions, correspondentes as matrizes A, B, C, D e a matriz

de ganho K. As functions e suas configurações são apresentadas nas Figuras 2.7 a 2.16.

Figura 2.7: Function referente à matriz A.

74

Figura 2.8: Configuração da Function referente à matriz A.

Figura 2.9: Function referente à matriz B.

75

Figura 2.10: Configuração da Function referente à matriz B.

Figura 2.11: Function referente à matriz C.

76

Figura 2.12: Configuração da Function referente à matriz C.

Figura 2.13: Function referente à matriz D.

77

Figura 2.14: Configuração da Function referente à matriz D.

Figura 2.15: Function referente à matriz de ganho K.

78

Figura 2.16: Configuração da Function referente à matriz de ganho K.

Integrator – De acordo com o Ogata (2003), em um sistema de controle de tempo

contínuo servem como dispositivo de memória, as saídas desses integradores podem ser

consideradas variáveis que definem o estado interno do sistema dinâmico. Assim, as saídas

dos integradores podem ser escolhidas como variáveis de estado. O número de variáveis de

estado que definem completamente a dinâmica de um sistema é igual ao número de

integradores existentes no sistema.

Sum – O bloco Soma realiza adição ou subtração em suas entradas. Este bloco pode

adicionar ou subtrair escalar, vetor ou entradas da matriz.

Mux – Combina suas entradas em um único vetor de saída. Uma entrada pode ser um

sinal de escalar ou vetor. Todas as entradas devem ser do mesmo tipo de dados e tipo

numérico.

Demux – Extrai os componentes de um sinal de entrada e emite os componentes de

saída como sinais separados.

Scope – Tem a função de gerar os gráficos das saídas do sistema.

79

Constant – O bloco constante gera um valor real ou complexo constante. Esse valor

pode ser escalar, vetor ou matriz de saída. Nesse sistema de controle, a constante foi

configurada para ter valor zero, já que a referência do sistema é zero.

2.7 – Comunicação entre Blender e Simulink® via protocolo OPC

Como já foi dito anteriormente, foi utilizado o software Matrikon para interação entre

o Blender e o Simulink® através da comunicação OPC.

Inicialmente, é necessário criar um grupo no Matrikon que contém as saídas do

sistema utilizadas no Simulink® e posteriormente chamadas através de uma linguagem Python

para o Blender.

A Figura 2.17 apresenta a primeira tela que o usuário encontra ao iniciar o Matrikon.

Figura 2.17: Tela inicial do Matrikon.

80

O grupo foi criado dentro do tópico “Alias Configuration”, clicando com o botão

direito do mouse sobre o mesmo, como mostra a Figura 2.18:

Figura 2.18: Criação do grupo no Matrikon.

Após a criação do grupo, este foi renomeado para “Saidas" e é dentro dele que foram

inseridas as variáveis necessárias para simulação do projeto. A primeira variável criada foi

“angulo", variável referente ao ângulo da haste em relação a sua posição de equilíbrio. Para

criação desta variável, clicou-se duas vezes dentro do grupo “Saidas”, como pode ser visto na

Figura 2.19:

Figura 2.19: Criação da variável “angulo”.

81

O mesmo foi feito para a variável posição:

Figura 2.20: Criação da variável “posicao”.

Após a configuração no Matrikon, foi necessário realizar algumas mudanças no

projeto do sistema de controle criado no Simulink®. Foram acrescentados novos blocos como

o OPC Configuration e OPC Write, que são detalhados na Figura 2.21:

Figura 2.21: Projeto do sistema de controle no Simulink®

As variáveis que foram criadas no Matrikon foram inseridas no sistema dentro do

bloco OPC Write, pois é através dele que são escritos seus valores.

82

As saídas referentes às variáveis ângulo e posição devem ser inseridas na entrada do

bloco OPC Write e, posteriormente, este bloco deve ser configurado. Antes de demonstrar a

configuração dos blocos, é necessário conhecer suas funcionalidades.

Bloco OPC Configuration – Este bloco define os clientes OPC usados em um

modelo, configura seu comportamento em tempo real, bem como seus erros e eventos. Não

possui portas de entrada, porém há uma porta de saída opcional que mostra o tempo decorrido

em segundos.

OPC Write – Escreve dados para um ou mais itens em um servidor OPC. A operação

de escrita ocorre de forma síncrona ou assíncrona. Cada elemento do vetor de entrada é

escrito para o item correspondente na lista de identificação de item definido para o bloco OPC

Write.

A Figura 2.22 apresenta a tela de configuração do bloco OPC Write.

Figura 2.22: Tela de configuração do bloco OPC Write

83

Para configurar o cliente OPC utilizado – neste caso, o Matrikon – clicou-se na opção

“Configure OPC Clientes” e posteriormente em “Add”:

Figura 2.23: Adição do cliente OPC no bloco OPC Write (a)

Na nova janela que se iniciou, o cliente OPC foi adicionado clicando sobre a opção

“Select”:

Figura 2.24: Adição do cliente OPC no bloco OPC Write (b)

84

Em seguida, o cliente OPC foi selecionado:

Figura 2.25: Adição do cliente OPC no bloco OPC Write (c)

Após este processo, voltou-se na tela inicial de configuração do bloco (ver Figura

2.22) e clicou-se em “Add Items”:

Figura 2.26: Adição das variáveis de saída ao bloco OPC Write (a)

85

As variáveis ângulo e posição, que estavam dentro do tópico “Configured Aliases >

Saídas”, foram selecionadas e inseridas em “Select server items”, clicando sobre o item “>>”:

Figura 2.27: Adição das variáveis de saída ao bloco OPC Write (b)

Após este processo o bloco se apresentou devidamente configurado:

Figura 2.28: Bloco OPC Write configurado

86

Pode-se observar na Figura 2.21 que um bloco “Saturação” foi adicionado antes da

entrada do bloco OPC Write. Isto foi feito para limitar a posição da haste em 90º. Sua

configuração foi feita inserindo os valores “1.57” e “-1.57” (valores em radianos referentes à

90º) nos campos “Upper limit” e “Lower limit”:

Figura 2.29: Configuração do bloco Saturação.

O bloco OPC Configuration não teve sua configuração alterada, escolheu-se manter os

valores padrões:

Figura 2.30: Configuração do bloco OPC Configuration.

87

Após as configurações dos blocos, o projeto do sistema de controle no Simulink®

encontrou-se devidamente configurado para o controle do modelo do pêndulo.

Figura 2.31: Projeto do sistema de controle configurado.

2.8 – Programação em Python no Blender

Após o processo de configuração do cliente OPC no Simulink®, foi criado o modelo

do pêndulo (Apêndice A) e uma programação em Python no Blender. Tal programação

contém instruções que captam os valores das variáveis de saída e torna possível a animação

do pêndulo.

A programação é apresentada a seguir:

# Disponibiliza a biblioteca OpenOPC e biblioteca Blender import OpenOPC import Blender # Utilizado para comunicar diretamente com servidores OPC Opc = OpenOPC.client () # Atribui variáveis aos objetos obh1 = Blender.Object.Get ('Haste.001') obh= Blender.Object.Get ('Haste') obc = Blender.Object.Get ('Carrinho') obci = Blender.Object.Get ('Circle') obci1 = Blender.Object.Get ('Circle.001') obr = Blender.Object.Get ('Rodas') obr1 = Blender.Object.Get ('Rodas.001') obr2 = Blender.Object.Get ('Rodas.002') obr3 = Blender.Object.Get ('Rodas.003')

88

# Utilizado para que o usuário saiba quando o script estiver processando Blender.Window.WaitCursor(1) # Conecta ao servidor OPC Opc.connect ('Matrikon.OPC.Simulation.1') # Repete a programação por 200 ciclos for i in range(1, 200): # Lê o valor das variáveis ângulo e posição e escreve em y e x. y=Opc['Saidas.angulo'] x=Opc['Saidas.posicao']

# Realiza a animação dos objetos: Rotação e Localização # Os valores entre parênteses se referem às posições nos eixos x, y e z de cada

objeto no Blender obh1.setEuler(0,y,0) obh1.setLocation(x,0,1.3) obh.setLocation(x,0,1.3) obc.setLocation(x,0,0.8) obci.setLocation(x,0.1,1.2) obci1.setLocation(x,-0.1,1.2) obr.setLocation(x+1.5,1.1,0.4) obr1.setLocation(x+1.5,-1.2,0.4) obr2.setLocation(x-1.5,1.1,0.4) obr3.setLocation(x-1.5,-1.2,0.4)

# Atualiza a tela para mostrar as mudanças nos objetos Blender.Redraw()

# Realiza um teste de parada if Blender.Window.TestBreak()==True:

brake() else:

# Utilizado para que o usuário saiba quando o script foi concluído Blender.Window.WaitCursor(0)

3 – ANÁLISE DOS RESULTADOS

Neste capítulo foi feita a análise do comportamento das variáveis quando submetidas

ao distúrbio de 1,0 radianos na condição inicial do ângulo. Através dos gráficos gerados pelo

MATLAB ® e da simulação no Blender foi possível verificar se a nova alocação dos pólos do

sistema em malha fechada atende aos pré-requisitos de projeto e levou o pêndulo ao

equilíbrio.

Iniciando a análise do comportamento do ângulo através do gráfico mostrado na

Figura 3.1 e dos dados obtidos pelo MATLAB®, pode-se constatar que os pré-requisitos de

projeto foram atendidos, com máximo sobressinal de 1,00 radianos e tempo de acomodação

de 5,36 segundos.

Figura 3.1: Gráfico do comportamento do ângulo

Para a variável velocidade angular o máximo sobressinal foi de 24,49 rad/s e o tempo

de acomodação foi de 2,05 segundos, no mesmo critério de 2%, como pode ser observado na

Figura 3.2:

90

Figura 3.2: Gráfico do comportamento da velocidade angular

Ao analisar os resultados da posição (Figura 3.3), o MATLAB® forneceu como

máximo sobressinal de 0.86 metros e o carro retornou à sua posição de origem em 3,19

segundos.

Figura 3.3: Gráfico do comportamento da posição

91

Para a variável velocidade linear os valores obtidos foram 12,48 m/s para máximo

sobressinal e 3,21 segundos para tempo de acomodação, conforme pode ser visualizado na

Figura 3.4:

Figura 3.4: Gráfico do comportamento da velocidade linear

A Figura 3.5 apresenta a simulação do pêndulo em diferentes momentos no tempo,

onde submetido a um distúrbio e em sua posição final, já equilibrado.

Figura 3.5: Visualização do simulador do pêndulo quando submetido a um distúrbio até o equilíbrio

4 – CONCLUSÃO

Após a realização dos testes e análises de comportamento do pêndulo, conclui-se que o

controle por realimentação de estados tornou-se uma ferramenta adequada para a proposta

inicial deste trabalho, obtida com sucesso. O simulador do modelo do pêndulo invertido se

tornou um bom recurso didático para estudos desse e de outros sistemas, apresentando um

comportamento adequado quando submetido a um distúrbio e atendendo aos requisitos

iniciais de tempo de acomodação e sobressinal.

Apesar da dificuldade encontrada no processo de modelagem do sistema, o modelo

matemático foi obtido e, após esse passo, encontrou-se maior facilidade em obter os vetores

de estado que regem o sistema.

Apresenta-se como sugestões para trabalhos futuros a melhoria da tela de simulação,

como a inserção de botões que estimulem o distúrbio no sistema e displays para visualização

das variáveis de saída. Outros softwares de modelagem/simulação podem ser utilizados para

este propósito.

Outra mudança de software pode ser feita com o intuito de utilizar somente softwares

gratuitos, para isso, sugere-se escolher o SCILAB ao invés do MATLAB®.

Pode-se também mudar a modelagem do pêndulo invertido considerando que a massa

do carro varia com o tempo devido ao consumo de combustível, ou seja, o sistema como

variante no tempo.

Seria interessante utilizar o simulador dentro de sala de aula como ferramenta

adicional, desta forma, os alunos do curso de Engenharia terão maior entendimento de como a

teoria de controle no espaço de estados é utilizada na prática, analisando pontos de melhoria a

serem feitas.

REFERÊNCIAS

BLENDER BRASIL. O que é o Blender?. Disponível em: <http://wiki.blender.org/index.php/Doc:PT/2.4/Manual/Introduction>. Acesso em: 12 de janeiro de 2013.

BRATLEY, P.; BENNET, F. L.; SCHRAGE, L. E. A Guide to Simulation. 2nd ed. Springer-Verlag, New York, 1987.

DORF, R.; BISHOP, R. Sistemas de Controle Modernos. 11° ed. Rio de Janeiro, LTC, 2009.

FREITAS FILHO, P. Introdução à Modelagem e Simulação de Sistemas com Aplicação em Arena. 2ª ed. Florianópolis, Visual Books, 2008.

GILAT, A. MATLAB® com aplicações em engenharia. 2ª ed. São Paulo, Bookman, 2006.

GUARDA, Á. CIC 250 - Inteligência Artificial , 2004.

KARRIS, S. K. Signals and Systems with MATLAB® Computing and Simulink® Modeling. 4th ed. United States, Orchard Publications, 2008.

KHALIL, R.; BOSSETTO, M.; FONTEBASSO NETO, J. O uso da tecnologia de simulação na prática docente na área de engenharia de produção, 2011.

LATHI, B. P. Sinais e Sistemas Lineares. 2ª ed. São Paulo, Bookman, 2004.

LAW, A.; KELTON, D. Simulation modeling and analysis. New York, McGraw-Hill, 2000.

MATHWORKS. MATLAB ®, The Language of technical Computing. Disponível em: <http://www.mathworks.com/products/matlab/>. Acesso em: 29 de janeiro de 2013.

MATHWORKS. SIMULINK ®, Simulation and Model-based Design. Disponível em: <http://www.mathworks.com/products/simulink/>. Acesso em: 29 de janeiro de 2013.

94

MATRIKON OPC. OPC Tutoriais. Disponível em: <http://www.matrikonopc.com/portal/downloads/whitepapers/Guide_to_OPC.pdf>. Acesso em: 25 de janeiro de 2013.

OGATA, K. Engenharia de Controle Moderno. 4ª ed. São Paulo, Pearson Prentice Hall, 2003.

POLLONI, E.; FEDELI, R.; PERES, F. E. Introdução à ciência da computação. 2ª ed. CENGAGE LEARNING, 2010.

ROSSUM, G. Tutorial Python . Fred L. Drake Jr., 2005.

SILVA, M. A. DE O. Estudo de Técnicas de Controle Aplicado ao Sistema Pêndulo Invertido. Monografia do Curso de Engenharia de Controle e Automação Industrial, 2009.

STAMM, H. Simulação Industrial: uma avaliação de sua utilização no sudeste e sul do Brasil, 1998.

STRACK, J. GPSS: modelagem e simulação de sistemas. Rio de Janeiro, LTC, 1984.

TAYLOR, F. Princípios de Administração Científica. 7ª ed. São Paulo, Atlas, 1970.

APÊNDICE A:

Passo a passo da criação do modelo do pêndulo invertido no Blender 2.49

Ao abrir o Blender 2.49 o usuário encontrará uma tela como esta:

Figura A.1 – Tela inicial do Blender

O programa já se inicia com um objeto, o cubo, que foi modelado para dar forma ao

carro. Para editar um objeto, o usuário deve mudar do modo objeto para modo de edição

(comando Tab). Para mexer com o tamanho, o comando utilizado foi S (escalonar) + X (Para

mexer com o tamanho apenas na coordenada x) e posteriormente S + Z (Para mudar a altura

do carro, escalonando apenas no eixo Z). A visão pode ser mudada para frontal (NumLock 1)

ou visão lateral (NumLock 3).

96

Figura A.2 – Escalonamento do objeto

Mudando a perspectiva através do NumLock 5, a visão que o usuário terá será a

seguinte:

Figura A.3 – Visão Perspectiva

Para criação das rodas do carro, adiciona-se um novo objeto (círculo) através dos

comandos Barra de Espaço > Add > Mesh > Circle.

97

Figura A.4 – Adição de um novo objeto (a)

Foi escolhido o número de vértices como 32, o raio igual a 1 e selecionada a opção

“Fill”, para que se forme um círculo com preenchimento.

Figura A.5 – Adição de um novo objeto (b)

O círculo se forma em qualquer lugar da tela.

Figura A.6 – Objeto criado

98

Para posicionar o círculo corretamente, basta move-lo através do comando G ou G + a

letra referente a uma das coordenadas, se for o caso de mover em apenas um eixo fixo.

Figura A.7 – Movimentação do objeto

Para dar profundidade a roda, basta extrudá-la através do comando E (o objeto

necessita estar em modo de edição). A visão foi mudada para lateral.

99

Figura A.8 – Extrusão da roda

A extrusão foi feita apenas no eixo x através dos comandos (E + X).

Figura A.9 – Extrusão do objeto em apenas um eixo

Antes de dar continuidade à edição das rodas, os objetos foram nomeados na opção

Panels > Link and Materials. Para renomear primeiro o carro, o mesmo foi selecionado

clicando sobre ele com o botão direito do mouse.

100

Figura A.10 – Renomeação dos objetos (a)

O mesmo foi feito com o objeto referente à roda.

Figura A.11 – Renomeação dos objetos (b)

O próximo passo é acertar o tamanho da roda de forma proporcional ao tamanho do

carro através do comando S (escalonar).

Figura A.12 – Escalonamento da roda

101

Para duplicar a roda foi dado o comando Shift + D, após isto a nova roda foi

posicionada de forma corretamente através do comando G + X (movida apenas no eixo X). A

visão escolhida para este passo foi a frontal (NumLock 1).

Figura A.13 – Duplicação da roda

Com a visão de cima (NumLock 7), as duas rodas já criadas foram duplicadas

novamente (Shift + D) e reposicionadas para o outro lado do carro (G + Y).

Figura A.14 – Duplicação das rodas

102

Para a criação da haste foi adicionada novamente um “circle” (Barra de Espaço > Add

> Mesh > Circle):

Figura A.15 – Criação da haste

O tamanho do círculo foi modificado escalonando o objeto (S):

Figura A.16 – Modificação do tamanho do novo objeto (haste)

103

Para dar altura a haste basta extrudar (E) e mover o mouse até a altura desejada:

Figura A.17 – Criação da haste

Este objeto também deve ser renomeado.

Figura A.18 – Renomeação do objeto

104

Com a haste posicionada em cima do carro (Comando G), foi feita uma nova extrusão

e escalonamento para criar um peso maior no topo da haste. Primeiramente foi feita uma

extrusão sem dar altura (Comando E + clique com o mouse) e logo em seguida o

escalonamento, para criar uma base.

Figura A.19 – Criação do topo da haste (a)

Foi realizada uma nova extrusão (E) para dar altura. O pêndulo deve se apresentar

desta forma:

Figura A.20 – Criação do topo da haste (b)

105

Para criar uma base onde a haste ficará fixada, foi criado um novo objeto (Circle) e

posicionado ao lado da haste, mas apenas com metade do círculo aparente. Os passos para dar

profundidade, modificar o tamanho e posicionar o objeto corretamente são os mesmos

realizados nos passos referentes à roda.

Esta deve ser a posição do novo objeto:

Figura A.21 – Criação da base fixa para a haste

O objeto deve ser duplicado (Shift + D) e posicionado do outro lado da haste (G + Y).

106

Figura A.22 – Criação da base fixa para a haste

Como a haste deve ter o formato de um “T”, deve ser criada uma base para ela. Basta

duplicar novamente o objeto do círculo, modificar o tamanho (S) até que fique proporcional à

haste e extrudá-lo (E) para dar profundidade até que a base passe através das duas bases fixas.

Figura A.23 – Criação da base da haste

As cores de cada objeto podem ser modificadas de acordo com as preferências do

usuário através do menu Panels > Shading > Material > Buttons. Para isto o objeto deve estar

selecionado (clique com o botão direito do mouse) e em modo objeto (Object Mode).

Figura A.24 – Modificação das cores dos objetos

107

Após a mudança de cores, o modelo pronto do pêndulo apresenta-se da seguinte

forma:

Figura A.25 – Modelo pronto do pêndulo invertido