Pêndulo Invertido Autocontrolado
PIBIC – Centro Univiversitátio FIEO - 2008
Pedro Henrique Sant’ana Coimbra Rocha (aluno)
Prof. Ms. Eduardo Lorenzetti Pellini (orientador)
Resumo
Este trabalho de iniciação cientifica se propõe a
descrever o processo de desenvolvimento de um
protótipo de Pêndulo Invertido Autocontrolado. Foram
utilizados sensores do tipo acelerômetro e giroscópio
que provêem a informação necessária para o cálculo do
ângulo de inclinação estimado do centro de massa do
protótipo em relação ao eixo da força gravitacional,
possibilitando assim a atuação adequada do sistema de
controle de forma a manter a condição de equilíbrio
inicial do conjunto, por meio do acionamento de motores
que impulsionam o protótipo para frente ou para trás.
Foi utilizado para o processamento digital das
informações aquisitadas um processador ARM
LPC2148, dotado de diversos periféricos pertinentes ao
projeto, como conversores analógico-digital, módulos
PWM, porta serial, temporizadores, portas digitais de
uso geral, etc. Foi verificado que o ponto crucial do
projeto não é o tipo de controle utilizado, mas sim o
cálculo do ângulo estimado de inclinação do protótipo
de forma confiável, através das grandezas medidas
pelos sensores utilizados. Foram experimentadas
algumas técnicas para se obter este ângulo, porém pela
utilização de recursos de integração numérica
computacional, que gera um erro acumulativo ao longo
do tempo por se tratar de um cálculo por aproximação, o
sistema ficava instável após um determinado período de
tempo. Este problema levou ao desenvolvimento de
outra técnica que não utiliza recursos de integração
computacional, evitando assim a instabilidade ao longo
do tempo do sistema de controle.
1. Introdução
O objeto de estudo deste projeto de iniciação
científica é o sistema dinâmico denominado Pêndulo
Invertido. Classicamente, este sistema consiste em uma
base móvel sobre a qual existe uma haste articulada. O
pêndulo está sujeito a cair em qualquer direção a menos
que uma força adequada seja aplicada na base móvel,
acelerando-o em um determinado sentido de modo a
manter a condição de equilíbrio inicial.
O objetivo principal deste trabalho é projetar um
sistema de controle automatizado que seja capaz de
manter o equilíbrio de um Pêndulo Invertido. O projeto
se torna um problema importante do ponto de vista
didático, pois é extremamente multidisciplinar,
abrangendo inúmeras áreas da engenharia. Além disso,
o conceito de locomoção humana sobre um pêndulo
invertido é uma solução que vem sendo explorada
comercialmente há alguns anos, dada sua simplicidade
mecânica, sua versatilidade, fácil mobilidade e tamanho
reduzido, frente a outras soluções tradicionais de
veículos de duas, três e quatro rodas.
2. O estado da arte dos Pêndulos Invertidos
Autocontrolados
2.1.
“Self-Balancing Robot” de Angulo, J.P.
O artigo de Angulo [1] descreve um projeto de
pêndulo invertido que implementou soluções simples e
baratas para manter o equilíbrio do protótipo. Sensores
de infravermelho foram utilizados para informar a
posição relativa com o solo, o que resulta no ângulo de
inclinação da haste. Um simples sistema de controle
proporcional controla os atuadores em direção e
velocidade adequada para manter o equilíbrio do
protótipo.
Segundo Angulo [1], o problema de controle de
um pêndulo invertido é comumente resolvido através do
uso de sensores do tipo piezo-giroscópio em
combinação com acelerômetros, os quais necessitam
usar filtros Kalman para fornecer uma leitura livre de
ruídos. Entretanto, além desta solução ser cara,
também requer uma grande capacidade computacional
para processar toda informação aquisitada.
2.2. “Balancing Robot Project – Bender” de Larson,
T.
O artigo de Larson [2] descreve uma
implementação de controle que utilizou um processador
PIC18F452 e um sistema de controle PID.
Foi
observado através da análise dos resultados que,
apesar de estável, o comportamento final não foi
absolutamente preciso. Os sensores utilizados foram
um piezo-giroscópio combinado com acelerômetro
biaxial.
O autor menciona que o protótipo foi
propositadamente construído em PVC e alumínio para
ser muito leve. No inicio da fase de testes, foram
colocadas duas rodas auxiliares para testar apenas o
sistema de movimentação e comunicação. Após a
fixação de todos os itens, Larson [2] lembra que é
necessário ajustar o centro de massa do protótipo.
2.3. “Balibot, The Inverted Pendulum Robot” de
Sherman, B.
O artigo de Sherman [3] descreve um projeto de
pêndulo invertido utilizando o processador PIC16F876,
um acelerômetro Motorola MMA2260, e implementando
uma estratégia de controle proporcional. Os testes
mostraram que a utilização unicamente de um
acelerômetro para estimação do ângulo em relação à
gravidade não é possível, pois o sensor é perturbado
por outras forças além da gravidade, como ruídos da
vibração mecânica das rodas em contato com o solo e
principalmente pela força aplicada pelos motores no
conjunto. Para solucionar este problema o acelerômetro
foi
substituído
por
sensores
distanciômetros
infravermelhos para mediar a distancia entre a haste e o
solo em ambos os lados do protótipo, possibilitando
assim outro método para estimação do ângulo de
inclinação do protótipo. Segundo Sherman [3], o
desempenho do protótipo em manter seu equilíbrio
melhorou muito após o aumento do diâmetro das rodas,
o que refletiu no aumento da velocidade de
1
deslocamento da base e conseqüentemente
correção posicional do conjunto.
na
quadrática dos estados, mais a medida quadrática das
ações de controle.
2.4. “Balancing Robot BBOT”, de Wu, J. et al
2.7. Pesquisa e desenvolvimento comercial
O artigo de Wu [4] trata de um projeto
desenvolvido na Carnegie Mellon University, dentro de
um período estipulado de um semestre. Dado o curto
espaço de tempo, optou-se pela utilização de
dispositivos modulares comerciais, como controladores
para servo-motor, unidade inercial, e um pocket PC para
o processamento das rotinas de controle, ao invés da
criação de um hardware dedicado para este fim. Através
de testes foi determinado que a utilização de motores de
corrente contínua controlados com uma ponte tipo H
(chopper) seria mais indicado para esta aplicação frente
aos servo-motores utilizados. Assim como Sherman [3],
Wu [4] também concluiu que com o aumento do
diâmetro das rodas utilizadas para o deslocamento do
protótipo, melhora-se consideravelmente a velocidade
de resposta de correção da posição para manter o
equilíbrio do conjunto.
O principio dinâmico do pêndulo invertido e a
possibilidade de controle do mesmo têm sido
largamente explorados comercialmente na forma de
veículos de tamanho reduzido para transporte de uma
pessoa, utilizando apenas duas rodas paralelas para
locomoção em solo. A empresa Segway [6] é
atualmente a líder de mercado mundial neste segmento,
oferecendo este tipo de veículo como solução para
diversas situações comerciais ou domésticas. No Brasil,
estes veículos têm sido utilizados largamente pelos
órgãos de segurança pública e privada, por permitir a
locomoção dos agentes com maior facilidade, agilidade
e destreza, mesmo em locais pequenos e de difícil
acesso.
3. Descrição de componentes
3.1. Unidade de processamento central
2.5. “JOE: A Mobile, Inverted Pendulum” de Grasser,
F. et al
O projeto Joe é um exemplo de implementação
de um sistema de controle para pêndulo invertido de
alta precisão e desempenho. O sistema é baseado em
dois controladores de espaço de estado, um
responsável pelo controle da estabilidade e
deslocamento para frente e para trás, e outro
responsável pelo controle de movimentação sobre o
próprio eixo. Testes com alguns tipos de sensores
mostraram que o sensor de inclinação tem um tempo de
resposta muito lento para esta aplicação; acelerômetros
são muito suscetíveis a ruídos, gerando erros nas
leituras; e o giroscópio é eficaz na rejeição de ruídos em
aplicação desta natureza, porém seu erro de medição
residual pode levar as medições incorretas ao longo do
tempo. Por isso o ideal é a utilização do giroscópio em
associação com acelerômetros, resultando em medidas
sem ruído e sem erros acumulativos ao longo do tempo.
Segundo os autores [5], a implementação de um
sistema de controle adaptativo, usando lógica Fuzzy,
por exemplo, traria uma melhora significativa para o
desempenho do protótipo.
A plataforma escolhida para o desenvolvimento
deste projeto foi o kit de desenvolvimento comercial
eLPCMain2122 da EsysTech [7], que utiliza um
processador ARM7 LCP2148 [8] da Philips.
Esta placa de avaliação e desenvolvimento foi
escolhida porque utiliza um processador com arquitetura
ARM7, que possui capacidade computacional suficiente
para realização dos cálculos em tempo real dos filtros,
algoritmos e rotinas de controle, além de atender todos
os requisitos técnicos mínimos estabelecidos para o
projeto.
3.2. Ferramentas de programação
A linguagem de programação utilizada para o
desenvolvimento do software de controle embarcado foi
o C ANSI, devido suas características de desempenho,
portabilidade, segurança e confiabilidade.
Adotamos o WinArm [9] (OpenSource) como
ferramenta de desenvolvimento, devido a qualidade das
ferramentas de compilação GNU e ao grande número
de desenvolvedores que contribuem em diversos fóruns
de discussão na internet, provendo uma grande base de
conhecimento para consulta.
2.6. “BALLBOT” de Lauwers, T. et al
3.3. Sensores
Em novembro de 2006, a conceituada revista
Scientific American Brasil publicou uma matéria sobre
um notável robô e sua habilidade de equilibrar-se e
mover-se sobre uma única esfera, o Ballbot [10].
Construído pela Universidade Carnegie Mellon, este
protótipo é dotado de uma unidade inercial composta
por três giroscópios de fibra óptica e três acelerômetros,
dispostos em ângulos retos entre si em uma caixa presa
firmemente ao corpo do protótipo. Diferentemente dos
outros protótipos apresentados até aqui, o BallBot se
move sobre uma esfera, possibilitando o deslocamento
para qualquer direção no plano horizontal.
Foi utilizado um método de controle, criado pelo
matemático Rudolf Kalman, denominado regulador
quadrático linear, que engenhosamente minimiza uma
função integral ao longo do tempo, que inclui a medida
A principal informação de entrada para as
equações do sistema de controle é o ângulo entre o eixo
vertical do protótipo em relação ao eixo da força
gravitacional, denominado φ.
O projeto desenvolvido neste trabalho tem a
característica de se deslocar sobre qualquer superfície
plana, o que impossibilita a instalação de qualquer
dispositivo posicional rigidamente acoplado entre o
mesmo e a superfície. Dado esta condição, a única
forma de obter o ângulo do conjunto em relação ao
prumo vertical é por meio de sensores como
distanciômetros, acelerômetros, giroscópios, entre
outros.
Este projeto adotou um acelerômetro de duplo
eixo e um giroscópio para estimar o ângulo de
2
F
inclinação do protótipo. Os dois sensores devem ser
usados em conjunto permitindo a medição indireta do
ângulo da haste do pêndulo invertido em relação a
horizontal, sem nenhuma fixação rígida com um ponto
de apoio.
verificador que esta disposição física é a mais indicada
para este tipo de aplicação.
3.3.1. Acelerômetro
O acelerômetro utilizado é um sensor microeletrônico, fabricado com a tecnologia de micromáquina
(MEMS) [11], e sua função é medir a força aplicada
sobre seus eixos. O acelerômetro utilizado tem as
seguintes características:
Fabricante: Analog Devices
Modelo: ADXL203
Intervalo de leitura: +/- 1,7g
Precisão: +/- 4%
Freqüência de amostragem: 2.5 kHz
Números de eixos: 2
Este sensor foi instalado na parte superior do
protótipo, com seus eixos ortogonais a 45 graus em
relação ao eixo gravitacional; como mostrado na fig. 3.
Através de experimentos em laboratório e citações em
outros trabalhos estudados da área, foi verificador que
esta disposição física é a mais indicada para este tipo
de aplicação.
Figura 3.3
Giroscópio ADXRS300
Giroscópio
Figura 3.2
Esquema de montagem do giroscópio
3.3.3. Chaves de segurança
Existe mais um tipo de sensor de entrada
utilizado no sistema, na forma de duas chaves do tipo
“fim-de-curso”, comumente utilizadas em circuitos de
automação industrial.
Estas
chaves
foram
posicionadas
nas
extremidades frontal e traseira do protótipo, como
mostrado nas figuras abaixo.
Chaves
Acelerômetro
eixos x e y
Figura 3.1
Acelerômetro ADXL203
Figura 3
Esquema de montagem do acelerômetro
3.3.2 Giroscópio
O giroscópio utilizado é outro tipo de sensor
micro-eletrônico, também fabricado com a tecnologia de
micromáquina (MEMS) [12], e sua função é medir a
velocidade angular aplicada ao centro de rotação da
pastilha do circuito integrado. O giroscópio utilizado tem
as seguintes características:
Fabricante: Analog Devices
Modelo: ADXRS300
Intervalo de leitura: +/- 300 graus
Precisão: +/- 8%
Freqüência de amostragem: 2KHz
Este sensor foi instalado na parte inferior do
protótipo, com seu eixo muito próximo ao eixo das
rodas, aumentando a sensibilidade ao movimento
angular que o conjunto desenvolve; como mostrado na
fig.3.2. Através de experimentos em laboratório e
citações em outros trabalhos estudados da área, foi
Figura 3.5
Chaves instaladas no protótipo
Figura 3.4
Esquema de montagem das chaves
O objetivo destas chaves é basicamente
desligar o protótipo caso este venha a colidir contra
alguma barreira intransponível ou caso o controle não
seja capaz de manter seu equilíbrio por alguma razão e
o sistema despenque ao chão.
3.4. Circuito de acondicionamento dos sinais
analógicos
Os sensores utilizados neste projeto para
estimação do ângulo do protótipo (acelerômetros e
giroscópio),
apresentam
como
mecanismo
de
transdução, uma variação do sinal de tensão de saída
em função da grandeza medida por cada um deles.
Porém, os níveis de tensão de saída destes
dispositivos não são compatíveis com os níveis de
tensão aceitos pelo conversor analógico-digital que
compõem o hardware. Além disso, na aplicação do
Pêndulo
Invertido
Autocontrolado
não
existe
necessidade de se ler os sinais de saída destes
sensores em todas as suas faixas de variação
possíveis. Alguns sinais precisam ser observados
apenas em torno de um determinado ponto de operação
com a maior resolução possível de digitalização.
3
Outro fator relevante é a necessidade de
filtragem analógica adicional para evitar o recobrimento
espectral dos sinais aquisitados pelo microprocessador
(aliasing). Utilizando uma determinada freqüência de
amostragem, o sistema deve ser capaz de reconstruir o
sinal de tensão aquisitado sem que ruídos ou
componentes harmônicas de ordem elevada poluam a
informação coletada.
Devido a estes fatos, foi projetada uma placa de
acondicionamento de sinais analógicos utilizando
circuitos amplificadores operacionais para constituir
filtros ativos passa-baixa e circuitos de ajuste. Desta
forma, as tensões de saída dos sensores foram
devidamente filtradas e condicionadas aos níveis
adotados
pelo
conversor
analógico-digital
do
microprocessador, evitando perda de informação ou
contaminação por ruídos e perturbações externas.
3.5. Conjunto de tração e locomoção
O sistema de controle micro-processado deve
atuar sobre o conjunto mecânico a fim de mantê-lo em
equilíbrio permanente através da movimentação
horizontal de sua base.
Dado a característica de mobilidade do
protótipo, este foi projetado para se deslocar sobre duas
rodas paralelas e independentes, constituindo dois
graus de liberdade distintos, horizontal (para frente e
para trás), e rotacional (sentido horário ou anti-horário).
A combinação destes dois graus de liberdade
possibilita ao protótipo o deslocamento em qualquer
direção no plano horizontal.
3.5.1. Motores
Foi escolhido um par de motores de corrente
contínua de imã permanente, acoplado a uma caixa de
redução, resultando numa velocidade máxima na ponta
de eixo de até 85 RPM. Tais motores foram aprovados e
amplamente testados para uso no protótipo.
3.5.2. Encoders
Os motores de corrente-contínua (CC), diferente
dos motores de passo, não possuem naturalmente um
controle confiável da velocidade de rotação ou posição
angular do eixo do rotor. Para um controle preciso de
velocidade/rotação, a teoria clássica de sistemas de
controle descrito por Ogata [13] propõe um circuito em
malha fechada, onde um transdutor acoplado no eixo do
motor retorna um sinal que expressa a velocidade de
rotação atual do mesmo. Este sinal é então subtraído da
velocidade desejada, resultando em uma estimativa de
erro de velocidade. Este erro pode ser então utilizado
para o reajuste da tensão aplicada no motor de forma
que a compensar variações na velocidade de rotação
frente a quaisquer perturbações.
Neste projeto foi necessário projetar um
transdutor (encoder) de velocidade do tipo incremental,
constituído basicamente por um disco com ranhuras
(cortes) simetricamente espaçadas por toda sua
circunferência, permitindo que um sinal de luz
atravesse, hora sim, hora não, a superfície ranhurada. A
figura a seguir retrata a montagem do disco no eixo do
motor, e os sensores ópticos utilizados.
Figura 3.6 Encoder montado
Outro fator que deve ser considerado é a
necessidade de se saber o sentido de rotação do motor.
Para resolver este problema, colocamos não penas um
sensor foto-receptor, mas sim dois, lado a lado,
ligeiramente espaçados. Desta forma, dependendo do
sentido de rotação, um entre os dois sensores sempre
será excitado antes que o outro, sintetizando a
informação de sentido de rotação.
O sistema, quando posto em rotação, apresenta
sinais defasados no tempo devido ao esquema de
montagem apresentado. Além disso, pôde-se verificar
que os sinais apresentam muitas incertezas devido ao
bouncing dos foto-receptores durante o chaveamento
entre os níveis alto e baixo. Tal sinal foi filtrado através
de uma lógica digital entre os sinais originais,
sintetizando um sinal limpo que será usado
posteriormente para contagem da velocidade de rotação
e para determinação da direção de rotação.
3.5.3. Rodas
As
rodas
foram
então confeccionadas
utilizando-se um conjunto de CD-ROM’s convencionais
dispostos em pilha, envoltos por um anel de borracha
sólido, utilizado normalmente na vedação de instalações
hidráulicas pressurizadas.
3.5.4. Placa de controle dos motores
Existem diferentes métodos para se fazer o
acionamento de motores de correte-continua.
Neste projeto, o método escolhido e
implementado para tal foi a Modulação em Largura de
Pulso, ou PWM (Pulse Width Modulation). Foi utilizado o
circuito integrado L298 que implementa um circuito
clássico para acionamento de motores CC, também
conhecido como Ponte H (chopper).
Este circuito é responsável pelo chaveamento
da tensão nos terminais dos motores, possibilitando
assim tanto o controle da velocidade de rotação como o
sentido de rotação do motor.
3.6. Fontes energéticas
O fornecimento de energia elétrica para o
funcionamento do protótipo é provido por duas fontes de
alimentação separadas, a primeira dedicada apenas
para os circuitos digitais e analógicos de baixa potência,
e a segunda dedicada apenas para os circuitos de maior
potência.
O uso de fontes independentes de alimentação
para o subsistema de locomoção e para a eletrônica
digital permite certo grau de isolamento dos circuitos
digitais de baixa potência que compõe o hardware, do
circuito de maior potência para a tração do sistema,
4
evitando que possíveis sobrecargas ou curtos-circuitos
venham a danificar toda a eletrônica embarcada.
Foi destinada apenas uma bateria de 12V e
3A/h para os circuitos de maior potência, uma bateria de
12v e 3A/h para a alimentação positiva dos circuitos
digitais e analógicos, e duas baterias de 9V e 700mA/h
em paralelo para a alimentação negativa dos circuitos
digitais e analógicos. Esta configuração resultou em um
melhor equilíbrio enérgico, quando a autonomia dos
circuitos de maior potência e a autonomia dos circuitos
digitais e analógicos de controle ficaram muito próximos.
período de desativação, o motor era aterrado em ambos
os terminais também pelo circuito L298, configurando
um curto-circuito. O fig. 4 mostra um gráfico da
velocidade de rotação do motor pelo tempo de ativação
do PWM:
3.7. Estrutura mecânica
A estrutura mecânica que compreende todo o
espaço onde são acomodadas as placas eletrônicas,
baterias e sensores, ou o corpo do pêndulo invertido
propriamente dito, foi construída utilizando cantoneiras
de alumínio encontradas em casas de material de
construção.
Um perfil metálico rígido foi fixado na base da
estrutura em alumínio, de forma centralizada, onde todo
o peso do protótipo é suportado, e onde os motores são
fixados.
Foi levado em consideração o posicionamento e
a fixação das partes dentro do corpo do protótipo, de
forma que a distribuição de massa viesse a manter o
centro de gravidade do conjunto o mais próximo do
centro geométrico do mesmo. A forma retangular da
estrutura em alumínio foi elaborada justamente para
facilitar este ajuste.
4. Desenvolvimento
4.1. Desenvolvimento do sistema locomotor
Como citado no item 3.5.4, foi utilizado o
método de Modulação em Largura de Pulso (PWM) para
o acionamento dos motores de corrente-contínua.
A primeira implementação desta técnica foi feita
do seguinte modo: durante o período de ativação, o
motor era alimentado pelo circuito L298 com a tensão
de alimentação nominal de 12V; e durante o período de
desativação, o motor era posto em estado de alta
impedância.
Foi verificado através dos ensaios realizados
que a relação existente entre o duty cycle do PWM e a
resposta em velocidade do motor cc. é exponencial
neste configuração.
A teoria sobre este tipo de acionamento mostra
que a relação entre o duty cicle aplicado e a potência
transferida para uma carga é linear, o que não foi
constatado neste primeiro experimento. Investigando
este comportamento mais profundamente e estudando
as particularidades de maquinas eletromecânicas, foi
verificado que quando o motor se encontra no ciclo de
desativação do PWM, estando em alta impedância, o
motor deixar de ser consumidor de energia, e passa a
ser gerador da mesma, através do movimento inercial
do seu rotor que é induzido pelo campo magnético dos
imãs permanentes, e acaba por criar uma tensão
elétrica reversa em seus terminais.
A segunda implementação desta técnica foi feita
do seguinte modo: durante o período de ativação do
pulso, o motor era alimentado pelo circuito L298 com a
tensão de alimentação nominal de 12V; e durante o
Figura 4 Resposta do motor cc ao acionamento PWM
Nesta condição, é verdadeira a afirmação de
linearidade entre a resposta do motor e o duty cycle
aplicado. Dada a maior simplicidade em trabalhar com
um sistema que tenha uma resposta linear do que
exponencial, este ultimo método foi implementado
definitivamente para o controle dos motores.
Também foram projetados e implementados os
encoders incrementais instalados nos dois motores do
protótipo como descrito no item 3.5.2. O objetivo deste
sensor era possibilitar o controle em malha fechada da
velocidade dos motores individualmente, de modo a
evitar divergência no comportamento dinâmico de
ambos.
O disco utilizado entre os sensores ópticos
possui 6 cortes, ou 6 passos por volta, que é uma
quantidade pequena quando comparado a encoders
comerciais que possuem centenas de passos por volta.
Esta baixa resolução afetou a dinâmica do feedback de
velocidade do eixo do motor. Com os motores utilizados
neste protótipo, foi visto em laboratório que o tempo
mínimo para se obter um valor de velocidade válido
para o motor era de cerca de 200ms. Porém a taxa de
leitura dos sensores giroscópio e acelerômetro, como
também a taxa de atualização do comando dos motores
é de cerca de 500 vezes for segundo. Ou seja, o
encoder fornece apenas 5 leituras da velocidade do
motor por segundo, 100 vezes a menos que as outras
informações. Em razão deste problema, foi decidido não
utilizar-se o controle em malha fechada para a
velocidade dos motores, visto que, apesar das
características dinâmicas intrinsecamente diferentes dos
motores, um pequeno ajuste de ganho entre os dois
acionadores PWM permitiria um resultado aceitável.
4.2. Desenvolvimento da placa de acondicionamento
de sinais
A criação de uma placa de acondicionamento
de sinais foi necessária por dois motivos iniciais, a
compatibilidade elétrica entre os sensores e os
conversores
analógico-digital,
e
o
melhor
aproveitamento da precisão dos conversores limitando o
intervalo de variação do sinal dos sensores na faixa de
utilização real, como esta descrito no item 3.4.
Porém, durante o primeiro experimento com
estes dispositivos, foi verificado um novo fator que
justifica
a
necessidade
deste
estagio
de
acondicionamento. Os sensores utilizados neste projeto
5
são construídos utilizando a tecnologia de micromaquinas, e sendo assim por melhor que sejam eles
também são vulneráveis a choques mecânicos bruscos.
Foi verificado que as características elétricas
reais dos sensores não condiziam exatamente com as
informações provenientes da documentação do
fabricante. A explicação para isso possivelmente é que
os sensores sofreram algum tipo de choque mecânico
durante o processo de importação do material, e as
características funcionais foram levemente alteradas.
Este é mais um problema que a placa de
acondicionamento de sinais resolveu, através de
circuitos analógicos como amplificadores operacionais,
aplicando ganhos e somando offsets aos sinais de saída
dos sensores de forma a compatibilizar os sinais dos
sensores aos padrões descritos pelo fabricante.
4.3. Desenvolvimento do cálculo do ângulo de
inclinação
O ponto crucial de todo o sistema está em
justamente ter a capacidade de estimar com certa
precisão o ângulo de inclinação do conjunto em relação
ao eixo vertical da força da gravidade.
A fig. 4.1 mostra alguns gráficos que foram
gerados a partir das leituras capturadas dos sensores
utilizados, e servirá de base para iniciarmos as
discussões sobre o problema do cálculo do ângulo
estimado do protótipo.
Figura 4.1
Gráfico da captura de diversos sinais dos sensores
O gráfico da fig. 4.1 mostra cinco gráficos
gerados pela captura de alguns sinais relevantes do
sistema de controle durante o período de 5 segundos.
O primeiro gráfico, denominado “Ax + Ay”, é a
representação das forças medidas pelo acelerômetro
em seus dois eixos ortogonais, sendo que estes estão
posicionados a 45 graus em relação ao eixo da
gravidade.
O segundo gráfico, denominado “giro_filtrado”, é
a representação da velocidade angular desenvolvida
pelo protótipo em seu movimento característico.
O terceiro gráfico, denominado “PotRef”, é a
representação da leitura de um potenciômetro instalado
entre o protótipo e uma superfície de apoio,
exclusivamente posicionado para se obter o ângulo real
de inclinação frente ao ângulo calculado com base na
medição dos outros sensores, com o intuito de aferir a
precisão do método de cálculo.
O quarto gráfico, denominado “Teta_acel”,
representa o método mais simples para se obter o
ângulo de inclinação com base nas forças medidas
somente pelo acelerômetro. Dados os dois eixos deste
sensor posicionados a 45 graus em relação ao eixo da
gravidade, a força exercida sobre eles é a
decomposição da força gravitacional no eixo X e Y, o
que significa que o arco tangente entre eles é
diretamente proporcional ao ângulo de inclinação do
sensor, e consecutivamente do protótipo.
Tal fato é verdade apenas quando a gravidade é
a única força envolvida no sistema, porém a força que
os motores aplicam no conjunto é medida também pelos
acelerômetros, e este método de cálculo passa a
apresentar ângulos de inclinação perturbados pela
aceleração inercial do conjunto.
Através da comparação entre os gráficos
“PotRef” e “Teta_acel” é possível analisar que o cálculo
do ângulo estimado por esta técnica condiz com a
realidade durante o período que não existe variações
nas forças inerciais sobre o sistema, porem quando uma
perturbação é aplicada, os valores calculados se
divergem muito dos valores reais. Sendo assim, não é
possível utilizar somente o acelerômetro para este fim.
O quinto gráfico, denominado “Teta_giro”,
representa outro método de calculo do ângulo de
inclinação do protótipo com base somente no
giroscópio. Dada a velocidade angular desenvolvida
pelo protótipo, é possível se obter a posição angular, ou
ângulo de inclinação, através da integração numérica
deste valor ao longo do tempo.
Uma característica favorável da utilização do
giroscópio neste método é que as perturbações
aplicadas pelo motor para locomover o protótipo não
são percebidas por ele, eliminando o problema
encontrado com os acelerômetros.
Contudo, existem características problemáticas
a serem levadas em conta. A primeira é que o protótipo
sempre deve partir da posição de equilíbrio, pois o
método de integração fornece um valor incremental e
não absoluto da posição. A segunda é que os métodos
de integração computacionais apresentam erros
numéricos devidos à conversão entre o ambiente de
tempo contínuo (mundo real) e o ambiente de cálculo
discreto (no micro-processador). Um terceiro fator é que
o giroscópio, mesmo quando não está submetido a
nenhuma velocidade de rotação, não apresenta em sua
saída um valor de velocidade zero. Existe sempre um
pequeno erro de medição devido a inúmeros fatores,
desde à variação da temperatura ambiente até a ruídos
conduzidos através da eletrônica do conjunto.
Todos estes fatores e pequenos erros, quando
acumulados ao longo do tempo alteram fortemente a
estimativa do ângulo do pendulo, trazendo instabilidade
ao sistema após um determinado período de tempo.
Desta forma, também não é possível utilizar apenas um
giroscópio para calculo da inclinação do protótipo.
A partir do estudo de outras implementações de
unidades inerciais que utilizam estes tipos de sensores,
foi verificado que a combinação entre os dois tipos de
sinais medidos é o melhor caminho para se obter uma
estimativa confiável.
O método desenvolvido foi a utilização das
forças medidas pelo acelerômetro para o cálculo direto
do ângulo de inclinação como citado anteriormente.
Como estas forças medidas compreendem a força da
6
gravidade e a força aplicada pelos motores, a inovação
está em derivar a velocidade angular proveniente do
giroscópio, resultando na aceleração tangencial do
protótipo, que nada mais é do que a força aplicada
pelos motores. Tendo esta informação é possível
subtrair do sinal medido pelo acelerômetro a
componente da força do motor, resultando apenas na
componente gravitacional.
processamento digital, pode ser obtido para análise e
simulação posteriores.
Esta interface possui dois modos de utilização,
o Modo Operação, onde é possível visualizar as
informações do processamento em tempo de execução
do sistema de controle; e o Modo Debug, onde é
possível verificar as tensões medidas por todos os
canais do conversor analógico-digital como também
controlar manualmente o acionamento dos motores.
4.5. Resultados
A figura a seguir mostra o protótipo do Pêndulo
Invertido Autocontrolado concluído.
Figura 4.2 Gráfico da derivada da velocidade
angular medida pelo giroscópio
A fig. 4.2 mostra dois gráficos, a velocidade
angular medida diretamente do giroscópio (gráfico
superior) e a sua derivada no tempo resultando na
aceleração tangencial do sistema (gráfico inferior). Se
compararmos este gráfico da derivada da velocidade
angular com o gráfico “Ax + Ay” apresentado acima, é
possível verificar que nos momentos onde não existe
aceleração angular, as forças medidas pelo
acelerômetro permanecem continuas, e o ângulo
estimado é valido. Durante os momentos em que existe
a aceleração angular, a componente somada nas forças
medidas pelo acelerômetro é a mesma calculada
através da derivada da velocidade angular, sendo assim
possível sua subtração no calculo do ângulo de
inclinação do protótipo.
Dado a disponibilidade da informação do ângulo
de inclinação de forma confiável, um sistema de
controle proporcional seria suficiente para manter um
regime permanente de equilíbrio do protótipo. Esta
ultima técnica descrita não foi implementada no
protótipo real por questão de tempo hábil.
4.4.
Desenvolvimento do ambiente de depuração
Durante o desenvolvimento da placa de
acondicionamento de sinais analógicos, foi possível a
utilização da instrumentação comumente presente em
laboratórios de eletrônica, tais como osciloscópios,
multímetros, etc., para efetuar as medições necessárias.
Entretanto, devido à aquisição de dados feita
pela parte de processamento digital de sinais do microcontrolador, as informações deixam de estar disponíveis
de forma analógica e por isso não podem ser mais
medidas pela instrumentação convencional. Para obter
as informações digitalizadas armazenadas dentro do
processador, foi desenvolvida uma interface de dados
específica no programa do micro-controlador através de
um canal serial RS-232.
Foi necessária ainda a implementação de um
software para computador IBM PC que permitisse a
interação com o sistema de aquisição do microcontrolador e a visualização das informações em tempo
real. Desta forma, qualquer sinal em qualquer ponto do
Figura 4.3 Protótipo do Pêndulo Invertido
Autocontrolado
Pela implementação e teste real de uma
estratégia de controle proporcional entre o ângulo de
inclinação do protótipo e a velocidade de deslocamento
da base pela ação dos motores, e utilizando o método
da integração da velocidade angular provida pelo
giroscópio para se obter o ângulo indiretamente, foi
observado que o protótipo permanece cerca de 10 á 15
segundo em regime de equilíbrio, corrigindo neste
período sua posição, como o esperado, para não cair.
Esta limitação de tempo ocorreu dado o erro
acumulativo da integração numérica computacional, que
ao longe de tempo invalida o valor de referencia inicial
perseguido pelo sistema de controle para manter o
equilíbrio. As simulações realizadas com novos métodos
de se obter o ângulo de inclinação do protótipo
indiretamente, como citados no item 4.3, mostraram
solucionar o problema de limitação de tempo de
operação, dado que não necessita utilizar o recurso da
integração numérica computacional.
7
4.6. Desenvolvimentos futuros
A finalização de uma plataforma de hardware
robusta possibilita a continuação no desenvolvimento no
software de controle, que pode ser amadurecido ainda
mais, explorando algoritmos de filtros digitais e rotinas
de controle mais sofisticadas e aproveitando na
totalidade a grande capacidade de processamento do
micro-controlador ARM7. Algumas características além
do controle automático de equilíbrio podem ser
agregadas ao protótipo, como o deslocamento retilíneo
e curvilíneo em superfícies planas, e num próximo
passo em superfícies de leve inclinação. O
monitoramento de todo o funcionamento do sistema de
controle em tempo real, como também a interação com
o envio de comandos ao protótipo poderá ser feita atrás
de meios de comunicação sem fio, através de
dispositivos que utilizam a tecnologia Bluetooth, Serial
Wireless, sistemas de Rádio Freqüência, entre outros.
5. Conclusão
Podemos enumerar as conclusões mais
relevantes do projeto de iniciação científica:
- O protótipo apresenta resultados satisfatórios de
equilíbrio, podendo ser melhorado com a adoção de
novas técnicas de processamento digital de sinais e
outros tipos de sensores.
- O cerne do sistema são o elemento giroscópio e os
acelerômetros. Infelizmente não há alternativa comercial
aos componentes que foram importados especialmente
para o projeto.
- A utilização de um micro-controlador da família ARM7
mostrou-se extremamente eficiente em termos
computacionais e em termos de custo. A documentação
encontrada é vasta e detalhada sobre o assunto.
- A respeito dos métodos experimentados para
acionamento de um motor CC por PWM , foi verificado
que quando o ciclo de desativação é feito em estado de
alta impedância, a velocidade do motor responde
exponencialmente ao duty cycle aplicado. Quando o
ciclo de desativação é considerado estado de curtocircuito, a velocidade do motor responde linearmente ao
duty cycle aplicado. Apesar deste ultimo modo citado
proporcionar um controle mais simples da velocidade do
motor pelo comportamento linear, o período de
desativação aterra os terminais do motor, e toda a
corrente gerada neste período pela indução
eletromagnética do mesmo passa pelo circuito integrado
L298, que aquece consideravelmente para dissipar
parte desta potencia.
- O encoder utilizado neste projeto foi descartado
porque o tempo de resposta para se obter a velocidade
do motor era muito grande, comparado com o tempo de
aquisição outras informações do sistema. Seria
necessário um encoder com no mínimos centenas de
passos por volta, par implementação a implementação
de um sistema de controle em malha fecha para a
velocidade do motor.
- O cálculo do ângulo estimado de inclinação foi a parte
mais difícil no desenvolvimento deste projeto, devido as
várias possibilidades combinações entre os sensores
acelerômetro e giroscópio, como os métodos utilizados
para tal. Ficou claro que apensar dos métodos de
integração computacional serem eficientes, o erro
acumulativo causado pela quantização das amostras ao
longo do tempo inviabilizou o uso deste recurso para
este fim.
Bibliografia
[1] Angulo, Juan Pablo. Self-Balancing Robot, site:
http://www.parallax.com/tabid/505/Default.aspx,
25/03/2008 ás 14:00;
em
[2] Larson, Ted. Balancing Robot Project – Bender, site:
http://www.tedlarson.com/robots/balancingbot.htm, em
26/03/2008 ás 07:00;
[3] Sherman, Bill. Balibot, The Inverted Pendulum Robot,
site:
em
http://home.comcast.net/~botronics/balibot.html,
26/03/2008 ás 07:00;
[4] Wu, Jack; Bai, Jim; Atkeson, Chris. Balancing Robot
– BBOT, site:
http://www.wulabs.org/bbot.html, em 09/10/2207 ás
14:00;
[5] Grasser, Felix; D’Arrigo, Aldo; Colombi, Silvio; Rufer,
Alfred C. JOE: A Mobile,
Inverted Pendulum, site:
http://ieeexplore.ieee.org/Xplore/login.jsp?url=/iel5/41/21
159/00982254.pdf?arnumber=982254, em 20/03/2008
ás 14:00;
[6] Segway, site:
http://www.segway.com, em 20/03/2008 ás 17:00;
[7] Esystech, site:
http://www.esystech.com.br, em 20/03/2008 ás 17:00;
[8] Datasheet dos processador LPC2148, site:
http://www.nxp.com, em 20/03/2008 ás 17:00;
[9] Winarm Project, site:
http://www.siwawi.arubi.unikl.de/avr_projects/arm_projects,
18:00;
em
20/03/2008
[10] BallBot, site:
http://www.msl.ri.cmu.edu/projects/ballbot,
01/11/2006 as 12:00
ás
em
[11] Datasheet do acelerômetro ADXL203, site:
http://www.analog.com/en/prod/0,2877,ADXL203,00.htm
l, em 20/03/2008 ás 18:00;
[12] Datasheet do giroscópio ADXRS300, site:
http://www.analog.com/en/prod/0,2877,ADXRS300,00.ht
ml, em 10/03/2008 ás 18:00
[13] OGATA, K.
Modern
Minnesota: Prentice-Hall, 1970.
Control
Engineering.
8
Download

Pêndulo Invertido Autocontrolado