Вы находитесь на странице: 1из 15

Aplicao de controle no equilbrio de um pndulo

invertido utilizando-se um rob feito com o kit LEGO


mindstorms

Ana Lcia Hernandes Nawate, Felipe Sachi Patricio, Kaio Alexandre Passos
Maia, Lucas Gabriel Melo Nunes, Paloma Vieira dos Santos e Rafael Masayuki
Mizumura
Universidade Federal do ABC
Av. dos Estados, 5001 - Bang, Santo Andr - SP, 09210-580

Abstract

Currently, automated control systems are widely found in all industry sectors,
assuming a progressively important role in the development of modern civili-
zation and technology. Concerning the advancement of technologies and kno-
wledge related to automatic control, the problem of the inverted pendulum is
one of the most difficult problem to work with, which is an absolutely unsta-
ble mechanical process and has have only one degree of freedom. The main
objective of this article is the use of a LEGO Mindstorms kit for the creation
of a robot that balances an inverted pendulum. The car was developed using
the four bigger tires, two motors and reinforcing the axles of the bottom part.
The NXT was centrally positioned and horizontally aligned. The car movement
was restricted in just one direction, according to the pendulum movement. The
weight and height of the pendulum were defined to guarantee that the move-
ment occurs in just one direction and the angles variation does not drastically
change, respectively. The communication between the MPUs gyroscope and
NXT was made directly, giving the pendulum inclination value without needing
the Arduino computer. In this system, the input is the pendulum inclination
given by the gyroscope, upon that the PD controller is applied changing the pro-
portional and derivative values until the system gets the maximum pendulums
stability. The proportional and derivative values have being reduced to control

Preprint submitted to Journal of LATEX Templates 7 de dezembro de 2016


the inclination of the pendulum and the programing code was adapted to avoid
the pendulum reference, at the vertical, changes during the programs execu-
tion. The best scenario was reached when the values were angle speed0 = 21,
KP = 2.1 e KD = 1.6. The present work was not very successful regarding
the attempt to keep the pendulum stable vertically all the time, as defined by
the main objective. However it was possible to maintain it balanced for a few
seconds, due to the unbalanced unrecoverable system. Thus, a manual aid to
help the control was necessary to try to balance it again.

Resumo

Atualmente, os sistemas de controle automtico so amplamente encontrados


em todos os setores da indstria, assumindo um papel progressivamente im-
portante no desenvolvimento da moderna civilizao e tecnologia. Relacionado
ao avano das tecnologias e conhecimentos relacionados ao controle automtico
est o problema do pndulo invertido, que um processo mecnico absoluta-
mente instvel e possui apenas um grau de liberdade. Este presente artigo tem
como objetivo principal a utilizao de um kit LEGO mindstorms para a con-
feco de um rob que equilibre um pndulo invertido. O carrinho montado foi
montado utilizando-se os quatro pneus maiores, dois motores e reforando-se os
eixos da parte inferior. O NXT foi posicionado centralmente, deitado e alinhado
com a direo horizontal. O movimento do carrinho foi restringido em apenas
uma direo, em consonncia com o movimento do pndulo. O peso e o com-
primento do pndulo foram definidos para que o movimento ocorresse em uma
nica direo e a variao do ngulo no fosse drstica, respectivamente. A co-
municao entre o giroscpio do MPU e o NXT foi feita diretamente, fornecendo
os valores de inclinao do pndulo sem necessitar do arduino. Neste sistema, a
varivel de entrada a inclinao do pndulo, fornecido pelo giroscpio, sobre
esta aplicado o controle PD, alterando-se os valores dos ganhos proporcio-
nal e derivativo at que se obtivesse mxima estabilidade do pndulo. Foi-se
diminuindo os valores dos ganhos proporcional e derivativo para controle da in-

2
clinao e tambm foram feitas algumas adaptaes no cdigo para evitar que
a referncia zero com a vertical fosse alterada durante a execuo do programa.
O melhor cenrio de equilbrio atingido pelo pndulo ocorreu para os valores
de angle speed0 = 21, KP = 2.1 e KD = 1.6. Este trabalho no obteve
sucesso na tentativa de manter o pndulo estvel na vertical, mas foi possvel
mant-lo por poucos segundos equilibrado, pois logo em seguida o sistema se
desequilibrava de maneira irrecupervel precisando de um auxlio manual para
que o controle tornasse a tentar equilibr-lo novamente.
Keywords: Controle Pndulo Invertido Kit LEGO MPU NXT

1. Introduo

Atualmente, os sistemas de controle automtico so amplamente encontrados


em todos os setores da indstria, tais como: controle de qualidade de produtos
manufaturados, linha de montagem automtica, controle de mquinas opera-
5 trizes, tecnologia espacial, sistemas de armamento e defesa, sistemas de trans-
porte, sistemas de potncia, robtica e muitos outros. Dessa forma, os sistemas
de controle automtico tm assumido um papel progressivamente importante
no desenvolvimento da moderna civilizao e tecnologia [1].
Relacionado ao avano das tecnologias e conhecimentos relacionados ao con-
10 trole automtico est o problema do pndulo invertido, que um processo mec-
nico absolutamente instvel, em outras palavras, est sujeito a cair em qualquer
direo se uma fora com magnitude adequada no for aplicada base do pn-
dulo para que o coloque em movimento em determinada direo. O pndulo
um componente desenvolvido de forma a ter apenas um grau de liberdade, neste
15 artigo, considera-se como sendo o respectivo ao movimento do pndulo de cair
para esquerda, ou direita, quando posicionado na vertical [2].

3
2. Reviso Bibliogrfica

2.1. Controlador PD

Um controlador automtico compara o valor real de sada da planta com a


20 entrada de referncia (valor desejado), determina o desvio e produz um sinal de
controle que reduzir o desvio a zero ou a um valor pequeno. A maneira pela
qual o controlador automtico produz o sinal de controle chamada ao de
controle [3].
O controlador detecta o sinal de erro atuante, o qual normalmente de
25 potncia muito baixa, e o amplifica a um nvel suficientemente alto. A sada
de um controlador automtico alimenta um atuador, como um motor eltrico,
um motor hidrulico, um motor pneumtico ou uma vlvula. (O atuador um
dispositivo de potncia que produz o sinal de entrada na planta de acordo com
o sinal de controle, de modo que a sada se aproxime do sinal de entrada de
30 referncia) [3].
O controlador PD um algoritmo de controle que tem como entrada um
sinal de erro e gera uma sada que se torna a entrada para o elemento corretivo
do sistema. Ele caracterizado pela unio dos dois modos bsicos de controle
contnuo (o proporcional e o derivativo) [4] [5].
35 A ao do controle do modo proporcional diretamente proporcional sua
entrada (o sinal do erro), e neste caso, o controlador apenas um amplificador
com um ganho constante, ou seja, quanto maior o erro, maior a ao de controle
gerada. O ganho proporcional (Kp ) determina a taxa de resposta de sada para
o sinal de erro, e caso ocorra o aumento do Kp , a velocidade de resposta do
40 sistema de controle tambm aumenta [4] [5].
J no modo derivativo, a ao de controle proporcional taxa de variao
do sinal do erro, e seu objetivo estimar a tendncia de aumento ou diminuio
do erro no futuro, o que aumenta a velocidade de correo do processo. Da
mesma forma, o Kd representa a importncia do tempo de resposta no clculo
45 do U(t) [4] [5].
O modo de funcionamento do controlador se d pela determinao do erro

4
E(t) a partir do clculo da diferena entre um ponto de referncia R(t) , determi-
nado pelo programa utilizado, e o valor real medido Y(t) . Esta posio de sada
Y(t) , medida pelo codificador interno, retorna como entrada no controlador para
50 o clculo do erro, caracterizando assim um sistema de malha fechada [4] [5].
O controlador PD tende a ser muito sensvel a rudos no erro de entrada.
Se uma oscilao causada por rudo causar uma derivada muito elevada, esta
oscilao pode tornar o sistema instvel. Os valores das constantes do controla-
dor podem ser calculados utilizando vrios mtodos e podem ser escritos como
55 indicado na Equao 1:

dE(t)
U(t) = Kp E(t)) (1)
dx

2.2. LEGO Mindstorms NXT


LEGO Mindstorms NXT uma linha do brinquedo LEGO, lanada comer-
cialmente em 2006, voltada para a Educao e tecnolgica, ma representao do
kit mostrada na Figura 1.. um kit de rob programvel com sensores de to-
60 que, som, luz e ultrassom. O Brick NXT a Pea principal que comanda todas
as outras peas e sensores que so utilizados num projeto e viabiliza a automa-
o da execuo de diferentes tarefas como criao, programao e montagem de
robs com noes de distncia, capazes de reagir a movimentos, rudos, e cores
alm de executar movimentos com razovel grau de preciso. Um ambiente de
65 programao grfico chamado NXT-G includo no Kit possibilita a criao e o
download de programas NXT [6].

2.3. MPU
MPU-6050 um sensor que contm em um nico chip um acelermetro e
um giroscpio tipo MEMS, como mostrado na Figura 2. So 3 eixos para o
70 acelermetro e 3 eixos para o giroscpio, sendo ao todo 6 graus de liberdade
(6DOF). ideal para projetos em que precisa saber com exatido o ngulo
de inclinao do sensor nos 3 eixos. Possui alta preciso devido ao conversor
analgico digital de 16-bits para cada canal. Portanto, o sensor capta os canais
X, Y e Z ao mesmo tempo [7].

5
Figura 1: Representao do kit LEGO Mindstorms.

Figura 2: Representao do MPU-6050.

75 3. Objetivos

Este presente artigo tem como objetivo principal a utilizao de um kit


LEGO mindstorms para a confeco de um rob que equilibre um pndulo
invertido. O objetivo secundrio consiste no desenvolvimento de competncias

6
de controle e na aplicao de diversas reas da engenharia.

80 4. Metodologia

Tendo como objetivo estabilizar o pndulo invertido, uma considerao im-


portante a montagem do carrinho utilizando as peas de lego de forma a
propiciar o melhor equilbrio de peso. Embora o manual do NXT fornea as
instrues para a montagem de um carrinho padro, a versatilidade de peas
85 disponveis possibilita muitos designs diferentes. Desta forma, foram feitas as
seguintes adaptaes em relao ao modelo padro:
i. utilizou-se os quatro pneus maiores em substituio aos dois menores e,
manteve-se maior distncia entre eles para conferir estabilidade;
ii. utilizou-se apenas dois dos trs motores;
90 iii. restringiu-se o movimento do carrinho em uma direo, em consonncia
com o movimento do pndulo;
iv. reforou-se a parte inferior no carrinho pois, com o trabalho dos motores,
o eixo entre as rodas apresentou tendncia a envergar;
v. manteve-se o NXT sobre o carrinho em posio central, deitado e alinhado
95 com a direo horizontal, j que ele representava a maior parcela do peso da
montagem e, por conseguinte, poderia acarretar desproporcionalidade de fora
nos motores na hora de equilibrar o pndulo.
Aps definido o design do carrinho atentou-se para a construo do brao
do pndulo a ser equilibrado, tambm constitudo por peas de lego, atendendo
100 ao requisito de restringir o movimento em apenas uma nica direo (i.e. um
grau de liberdade) e facilitar a ao de controle.
Pensando nisso, o comprimento no poderia ser muito pequeno, pois a vari-
ao do ngulo do pndulo em relao direo vertical seria drstica demais,
necessitando de uma ao de controle muito rpida e mximo trabalho dos
105 motores para corrigir. Por outro lado, se o comprimento fosse muito grande
acarretaria maior instabilidade, tambm necessitando maior ao de controle
e, dependendo da inclinao que ele atingisse, os motores no teriam potncia

7
suficiente para compensar. Assim, definiu-se um comprimento na faixa de 30 a
40 cm como ideal, sendo este compatvel com a estrutura do carrinho.
110 Uma vez montada a estrutura, o prximo passo foi estabelecer comunica-
o entre o giroscpio do MPU e o NXT, de modo que ele pudesse receber um
estmulo externo e responder a ele de maneira autnoma. Neste caso, espe-
cificamente, a inclinao do pndulo seria o referido estmulo, ou varivel de
controle.
115 Considerando-se que a placa MPU 6050 possui os sensores acelermetro e
giroscpio e que ela projetada para comunicar-se com o arduino (placa mi-
crocontroladora), optou-se por fazer algumas modificaes nesta placa de modo
que ela se comunicasse diretamente ao NXT, fornecendo os valores de inclina-
o do pndulo sem necessitar do arduino. Em consonncia a isto, o seguinte
120 procedimento foi realizado:
i. arrancou-se os dois resistores de 2 k do MPU;
ii. utilizando-se a placa Pcb, colocou-se os dois resistores de 33 k em srie
com o diodo;
iii. utilizou-se fios para conexo da placa s vias VCC, SDA, SCL e GND
125 do MPU;
iv. adaptou-se um cabo de rede RJ45 com 8 vias para um de seis vias,
cortando-o para deix-lo com cerca de 50 cm de comprimento e, em seguida,
crimpando-o em uma das extremidades com conector igual ao de um cabo RJ12;
v. o conector do cabo foi lixado e adaptado de modo que fosse possvel
130 encaix-lo na entrada de sensor 2 do NXT;
vi. o NXT foi conectado a placa atravs do cabo de seis vias adaptado;
vii. verificou-se com o multmetro se o circuito estava fechado, desde as vias
do giroscpio at as vias do conector do cabo adaptado e,
viii. soldou-se os componentes e as vias dos cabos de conexo na placa Pcb.
135 A Figura 3, a seguir, ilustra a adaptao externa e as conexes estabelecidas
entre NXT, Placa Pcb e MPU.
Aps serem realizadas as adaptaes para estabelecer a comunicao, prendeu-
se o MPU na parte superior e a placa Pcb a meia altura do brao do pndulo.

8
Figura 3: Adaptao do MPU.

A Figura 4, a seguir, apresenta a montagem final do carrinho com o pndulo,


140 a placa MPU 6050 modificada e as conexes estabelecidas.

Figura 4: Montagem final.

O NXT foi conectado ao computador via cabo USB e, utilizando-se o Bricx


Command Center foi realizada a etapa de controle. A varivel de entrada do
sistema utilizada foi o ngulo de inclinao do pndulo, fornecido pelo girosc-
pio e, para garantir que este valor estava sendo recebido utilizou-se o comando

9
145 NumOut para print-lo na tela do NXT. Sobre esta varivel foi aplicado o con-
trole PD, alterando-se os valores dos ganhos proporcional e derivativo at que
se obtivesse mxima estabilidade do pndulo na direo vertical. Inicialmente
testou-se o programa com valores altos: KP=10 e KD=10, alm disso, utilizou-
se a deriva do giroscpio como -18 (angle speed0 = 18), porm observou-se que
150 o carrinho ficava instvel, balanando, desviando da posio inicial estabelecida
para o equilbrio da haste (ngulo zero em relao vertical). Esta posio de
referncia variava, ou seja, o controle j no sabia qual era a posio vertical
fazendo com que o carrinho permanecesse em movimento tentando equilibrar a
haste numa direo errnea. Foi-se diminuindo os valores dos ganhos propor-
155 cional e derivativo para controle da inclinao e tambm foram feitas algumas
adaptaes no cdigo para evitar que a referncia zero com a vertical fosse alte-
rada durante a execuo do programa. A ao de controle PD executada pode
ser representada de maneira simplificada pelo diagrama a seguir, conforme a
Figura 5.

Figura 5: Diagrama de controle PD.

160 O melhor cenrio de equilbrio atingido pelo pndulo ocorreu para os valores
de angle speed0 = 21, KP = 2.1 e KD = 1.6. A seguir nas Figuras 6, 7 e 8
apresentado o programa final implementado para equilibrar o pndulo, cujas
explicaes mais relevantes para seu entendimento esto inseridas no prprio
cdigo.

10
Figura 6: Cdigo utilizado para o controle.

11
Figura 7: Cdigo utilizado para o controle.

12
Figura 8: Cdigo utilizado para o controle.

165 5. Concluso

5.1. Desafios Enfrentados e Conhecimentos Adquiridos

Durante o desenvolvimento deste projeto, diversos desafios foram encontra-


dos e superados, dentre eles pode-se citar:
i. Os equipamentos e componentes do rob foram difceis de se obter, como
170 por exemplo o cabo RJ12, que no foi encontrado nos comrcios visitados, por-
tanto o utilizado foi confeccionado pelos integrantes a partir de um cabo RJ45;
ii. Com a adaptao do cabo RJ45 em RJ12, desenvolveu-se outro problema,
a dificuldade em manter o cabo plugado no carrinho o tempo todo;
iii. O peso do pndulo na construo do rob foi outro problema encontrado,
175 pois para encontrar o equilbrio perfeito entre comprimento e peso, diversas
maneiras precisaram ser testadas, at que se encontrasse a melhor proporo;
iv. A potncia dos motores do kit LEGO mindstorm no foi completamente
entendida e controlada, portanto o carrinho, quando em funcionamento, acele-
rava com muita potncia (dando trancos), o que mudava a direo de movimento
180 do mesmo;
v. A definio do zero referencial foi um problema reduzido, mas no com-
pletamente solucionado. O programa entendia o zero como o ponto em que a
haste era inicialmente posicionada (na vertical), mas alterava posteriormente
para uma outra posio aleatria;
185 vi. A haste do pndulo foi testada partindo de duas posies iniciais, uma
na horizontal e outra na vertical, como a acelerao propiciada pelos motores
no era suficiente, a haste colocada na horizontal no conseguia ser equilibrada;

13
vii. Na confeco do circuito, encontrou-se dificuldades quanto a soldagem
dos componentes, o que foi solucionado com o aperfeioamento da tcnica;
190 viii. A comunicao entre os elementos e componentes do carrinho foi muito
trabalhada e testada, pois a comunicao direta entre MPU e o NXT no foi,
no incio, facilmente compreendida e controlada;
ix. Um ltimo desafio enfrentado, foi a utilizao da linguagem LaTeX para a
preparao deste artigo, o que demandou tempo dos integrantes para aprend-la
195 e domin-la.

5.2. Objetivos Cumpridos


O presente trabalho no obteve sucesso na tentativa de manter o pndulo
estvel na vertical, como definia o objetivo principal, mas foi possvel mant-lo
por poucos segundos equilibrado, pois logo em seguida o sistema se desequi-
200 librava de maneira irrecupervel precisando de um auxlio manual para que o
controle tornasse a tentar equilibr-lo novamente.
Algumas outras ferramentas poderiam ser implementadas como a insero do
controle integral (tendo assim um sistema PID e no PD), utilizao do sensor
acelermetro, e ainda seria de grande vantagem aperfeioar o processo de inte-
205 grao da velocidade angular fornecida pelo MPU. Essas estratgias poderiam
ser de grande ajuda no cumprimento do objetivo. Futuramente esse projeto
pode se usar dessas ferramentas para o aprimoramento da tcnica e o completo
controle do rob e do pndulo.
O objetivo secundrio foi completamente cumprido, pois durante o desen-
210 volvimento do projeto o grupo teve a oportunidade de aplicar e desenvolver
conhecimentos de programao em BrixCC, LaTex, os conceitos envolvidos no
modelo PID de controle e conceitos ligados diretamente com diversas engenha-
rias.

Referncias

215 [1] F. Faccin, Abordagem inovadora no projeto de controladores pid, Ph.D.


thesis (2004).

14
[2] A. Muralikrishna, Implementao de um controlador pid para aplicao no
modelo do pndulo invertido em uma base mvel.
URL http://www.netsoft.inf.br/aulas/7_EAC_Sistemas_
220 Realimentados/PID_pendulo_invertido.pdf

[3] K. Ogata, Engenharia de controle moderno, Prentice Hall, 2003.

[4] G. Goodwin, M. Classical PID Control. Control System Design, Prentice


Hall, 2001.

[5] J. W. Webb, PID Control of Continuous Processes on Programmable Logic


225 Controllers, Prentice Hall, 1994.

[6] A. P. Suzuki, Introduo programao com rbos lego 3.


URL http://www.obr.org.br/wp-content/uploads/2014/03/
apostilaprogramaorobs1-111023145650-phpapp02.pdf

[7] InvenSense, Mpu-6000 and mpu-6050 product specification (2013).


230 URL https://www.invensense.com/wp-content/uploads/2015/02/
MPU-6000-Datasheet1.pdf

15

Вам также может понравиться