SlideShare uma empresa Scribd logo
1 de 8
Baixar para ler offline
Implementac¸˜ao com Validac¸˜ao Real de um Controle
Proporcional, Integral e Derivativo na Plataforma Rob´otica
RoboDeck
Leandro Zanolla1
, Daniel Rodrigues de Sousa1
, Renan Morais Furlaneto2
,
Wagner Tanaka Botelho1
e Maria das Grac¸as Bruno Marietto2
1
Mestrado em Ciˆencia da Computac¸˜ao – Universidade Federal do ABC (UFABC)
Av. dos Estados, 5001 – Bairro Bang´u – CEP: 09210-580 – Santo Andr´e – SP – Brasil
2
Universidade Federal do ABC (UFABC)
Centro de Matem´atica, Computac¸˜ao e Cognic¸˜ao (CMCC)
{leandro.zanolla, daniel.sousa}@ufabc.edu.br
{wagner.tanaka, graca.marietto}@ufabc.edu.br
Abstract. Although many robots are usually industrial manipulators, in the last
decades, the non-conventional robots appear and it is known as a service robots.
These are autonomous or partially and also are useful for the human being in
different situations. For example, in the rescue, surveillance and perform tasks
in areas with difficult access. Thus, this work aims to study and implement in
the real robot the Proportional, Integral and Derivative (PID) control algorithm
in the RoboDeck platform.
Resumo. Embora a grande maioria dos robˆos atuais sejam manipuladores in-
dustriais, nas ´ultimas d´ecadas, surgiram robˆos de aplicac¸˜oes n˜ao convencionais
conhecidos como os robˆos de servic¸os. Este tipo de robˆo executa tarefas de
forma autˆonoma ou parcialmente, al´em de serem ´uteis ao bem estar do homem
em diversas situac¸˜oes. Por exemplo, no resgate, na vigilˆancia e na realizac¸˜ao
de tarefas em locais de dif´ıcil acesso. Sendo assim, para que um robˆo m´ovel
possa se locomover em um ambiente ´e necess´ario estudar e implementar em um
robˆo real o controlador do tipo Proporcional, Integral e Derivativo (PID) na
plataforma rob´otica RoboDeck.
1. Introduc¸˜ao
O conceito da rob´otica surgiu no in´ıcio da hist´oria quando os mitos faziam referˆencia a
mecanismos que ganhavam vida. Os primeiros modelos de robˆos comec¸aram a ser encon-
trados na civilizac¸˜ao grega e tinham aparˆencia humana e/ou animal, al´em de serem usados
em sistemas de pesos e bombas pneum´aticas. Entretanto, n˜ao tinham nenhuma necessi-
dade pr´atica ou econˆomica e nenhum sistema complexo de produtividade que exigisse a
existˆencia de robˆos.
O estudo da rob´otica m´ovel ´e um tema bastante relevante e atual, sendo que
pesquisas envolvendo essa ´area permitiram que houvesse um grande salto em seu de-
senvolvimento nas ´ultimas duas d´ecadas. A aplicac¸˜ao pr´atica de robˆos m´oveis junto a
diferentes atividades na sociedade vem demonstrando o qu˜ao promissor ´e o futuro desta
´area [Wolf et al. 2009]. Portanto, pode-se citar alguns tipos de robˆos que reforc¸am a im-
portˆancia das pesquisas, por diversos motivos, como econˆomicos e estrat´egicos. Por ex-
emplo, robˆos dom´esticos (e.g. aspiradores de p´o e cortadores de grama), industriais (e.g.
ve´ıculos autˆonomos), militares (sistemas de monitoramento a´ereo) e seguranc¸a (robˆos de
patrulhamento de ambientes).
Os diversos robˆos m´oveis existentes na literatura demonstram a sua relevˆancia no
cen´ario atual da pesquisa na ´area. O uso de robˆos na navegac¸˜ao em ambientes desconheci-
dos apresenta-se como uma alternativa para evitar o trabalho do homem na explorac¸˜ao de
lugares possivelmente hostis e podem ser utilizados em diversas aplicac¸˜oes. O Curiosity
[Showstack 2011], que foi enviado pela NASA para explorar e colher imagens de Marte.
Em [Netto et al. 2012] utilizou-se o a plataforma rob´otica RoboDeck [XBot 2014] com
t´ecnicas de vis˜ao computacional na navegac¸˜ao, controlando os sensores e atuadores.
A navegac¸˜ao de robˆos m´oveis ´e ainda uma das tarefas mais complexas de se re-
alizar, envolvendo diversos tipos de incertezas nas medic¸˜oes que podem estar relacionadas
com a instabilidade f´ısica das rodas, limitac¸˜oes do hardware, ente outros. Al´em disso, o
ambiente de navegac¸˜ao pode ser vari´avel, quando por exemplo, a existˆencia de pedestres,
mudanc¸a de luminosidade, obst´aculos, dentre outros.
Na escolha de um sistema de navegac¸˜ao, diversos fatores precisam ser levados
em considerac¸˜ao, como a configurac¸˜ao das rodas, o sistema de posicionamento e a tarefa
a ser realizada. O sistema de navegac¸˜ao precisa ser capaz de permitir uma navegac¸˜ao
segura e precisa, sem fazer com que o robˆo se perca ou fique preso em algum obst´aculo
presente no percurso a realizar, o que pode afetar o sucesso na realizac¸˜ao de sua tarefa
[Lemvigh e Moller 2008]. Existem diversos trabalhos que utilizam t´ecnicas para que o
robˆo consiga navegar em um ambiente. Por exemplo, Redes Neurais [Pessin et al. 2007],
Controle Proporcional, Integral e Derivativo (PID) [Ogata 2011], entre outras. O PID ´e
um controle em malha fechada com realimentac¸˜ao realizada a partir de um sensor que
envia um comando para o atuador.
A principal contribuic¸˜ao do presente trabalho ´e mostrar a possibilidade de imple-
mentar o controle PID na plataforma rob´otica RoboDeck. Portanto, para a validac¸˜ao real
do controle implementado, o comportamento do robˆo ´e analisado na descida e subida de
uma rampa.
Este trabalho est´a organizado como se segue. Na Sec¸˜ao 2 o controlador PID im-
plementado no RoboDeck ser´a explicado. Maiores detalhes sobre a plataforma RoboDeck
ser˜ao considerados na Sec¸˜ao 3. Os resultados ser˜ao descritos na Sec¸˜ao 4. Finalmente, na
Sec¸˜ao 5 as conclus˜oes e algumas propostas de trabalhos futuros s˜ao apresentadas.
2. Controlador PID
O uso de sistemas de controle de malha fechada em rob´otica ´e de suma importˆancia para
o controle de diversos dispositivos de trac¸˜ao e direc¸˜ao. Existem diversos m´etodos que
podem ser usados para o controle de velocidade e posic¸˜ao.
O controlador PID [Ogata 2011] ´e um sistema de controle de malha fechada e
amplamente usado em sistemas embarcados, automac¸˜ao industrial e em diversos tipos de
controladores como de temperatura, velocidade, posic¸˜ao, entre outros. O erro ´e calculado
pela diferenc¸a entre o valor do processo Process Variable (PV) e o valor desejado Setpoint
(SP). Neste caso, o controlador tenta minimizar o erro atrav´es de uso de uma vari´avel
manipulada.
O controlador PID, como a sua sigla sugere, ´e composto por trˆes termos: Pro-
porcional (P), Integral (I) e Derivativo (D). O P depende do erro atual, I atua sobre o
ac´umulo dos ´ultimos erros, e D ´e a previs˜ao dos futuros erros, com base na taxa atual de
mudanc¸a. A soma ponderada destas trˆes ac¸˜oes ´e usada para ajustar um elemento de cont-
role, como uma v´alvula, um motor, um atuador ou a potˆencia fornecida a um elemento de
aquecimento, entre outros.
2.1. Controlador Proporcional
O controlador P ´e empregado em sistemas onde a ac¸˜ao de controle deve ser mais suave em
relac¸˜ao ao controlador ON-OFF, onde neste tipo de controlador o elemento de controle
´e simplesmente chaveado de acordo com o SP e em cima de uma histerese para evitar
chaveamentos r´apidos de controle. Este controlador fornece uma relac¸˜ao linear entre a
diferenc¸a do PV e SP, de modo que a ac¸˜ao de controle ´e proporcional ao ganho Kp,
podendo ter uma ac¸˜ao r´apida ou lenta. Uma escolha adequada de Kp ´e necess´aria para o
funcionamento do sistema. A atuac¸˜ao do controlador proporcional ´e dada pela Equac¸˜ao
1.
u(t) = Kp · e(t) (1)
Uma caracter´ıstica do P ´e que quando o sistema estabiliza a sa´ıda n˜ao se estabiliza
no SP, ficando um valor fora do PV, gerando um valor de erro entre o SP e o PV. Este
erro ´e chamado de offset, sendo maior quando o ganho Kp for menor. Em contrapartida,
quanto maior o valor do Kp aumenta a possibilidade de oscilac¸˜oes no PV.
2.2. Controlador Integral
No controlador P, quando ocorrem variac¸˜oes de carga, o valor do offset varia, e este ajuste
deve ser feito de forma autom´atica e n˜ao manual. Este erro, ao ser integralizado no tempo
ajuda a zerar o offset. ´E por este motivo que o controlador I n˜ao trabalha sozinho, estando
sempre presente nos controladores PI ou PID. Portanto, a ac¸˜ao do controlador I ´e dada
pela Equac¸˜ao 2.
u(t) = Ki · e(t) (2)
2.3. Controlador Derivativo
O controlador D atua sobre a velocidade com que o valor de desvio aumenta, aplicando
uma correc¸˜ao proporcional a esta velocidade, resultando em uma correc¸˜ao antecipada por
meio da derivada do sinal de erro.
Como ocorre no controlador I, o D n˜ao ´e implementado de forma isolada, estando
presente nos controladores PD ou PID. A Equac¸˜ao 3 mostra a ac¸˜ao do controlador D
que tem como objetivo amortecer as oscilac¸˜oes do sistema, antecipando o sinal de erro
calculando a sua derivada.
u(t) = Kd ·
d e(t)
dt
(3)
2.4. Controlador Proporcional, Integral e Derivativo
Finalmente, com a junc¸˜ao das Equac¸˜oes 1, 2 e 3 tem-se o controlador PID.
O uso do controlador PID ´e muito difundido para a maioria dos casos, j´a que ini-
cialmente n˜ao h´a necessidade de se conhecer a planta de controle. ´E poss´ıvel o ajuste man-
ual dos parˆametros Kp, Ki e Kd, como tamb´em pode-se usar alguns m´etodos consagra-
dos para a sintonia desses parˆametros, como por exemplo o m´etodo de Ziegler-Nichols
[ZIEGLER e NICHOLS 1993].
3. Plataforma RoboDeck
A plataforma rob´otica RoboDeck ´e open source, desenvolvida pela XBot [XBot 2014]
e ilustrada na Figura 1. O robˆo possui rodas omnidirecionais, que permite o seu deslo-
camento em qualquer direc¸˜ao, sensores ultrassˆonicos e infravermelho. Al´em disso, o
hardware b´asico ´e composto por m´odulos adicionais, como por exemplo, uma placa de
alta performance com Linux embarcado, comunicac¸˜ao wifi e bluetooth, uma cˆamera com
interface USB, entre outros dispositivos. Sendo assim, pode ser controlado remotamente
ou funcionar de forma autˆonoma para realizar tarefas pr´e-determinadas.
A arquitetura do RoboDeck pode ser dividida em software e hardware. O primeiro
microcontrolador respons´avel pelos sensores e atuadores encontra-se na Placa Rob´otica,
sendo o software utilizado ´e definido como M´odulo de Controle Rob´otico (MCR). Este
m´odulo age como um robˆo escravo, executando sequencialmente os comandos enviados
pela Universal Asynchronous Receiver/Transmitter (UART), que corresponde `a interface
serial. O segundo microcontrolador tem como objetivo realizar a comunicac¸˜ao de con-
trole do robˆo e tamb´em por manter a sua identidade. Neste caso, a comunicac¸˜ao ´e im-
plementada com o protocolo Zigbee pelo M´odulo de Controle de Comunicac¸˜ao (MCC)
localizado na Placa de Comunicac¸˜ao.
Uma poss´ıvel aplicac¸˜ao ´e o seu uso no monitoramento de ´areas de risco em
ind´ustrias petroqu´ımicas e usinas de gerac¸˜ao de energia, como nuclear e termoel´etrica
[Finep 2013]. Em [Inovando 2013], a plataforma foi controlada a partir de um celular,
mudando sua direc¸˜ao e acelerac¸˜ao. Em [Bezerra 2012], os movimentos do RoboDeck
foram controlados por comandos de voz, al´em de desviar de objetos e definir rotas es-
pec´ıficas.
4. Resultados
4.1. Implementac¸˜ao do PID no RoboDeck
Os resultados que ser˜ao descritos nesta sec¸˜ao foram obtidos implementando o controle
PID descrito na Sec¸˜ao 2 na plataforma RoboDeck. A plataforma possui um Software
Development KIT (SDK) desenvolvido pela XBot [XBot 2014], de modo que atrav´es da
aplicac¸˜ao elaborada, seja enviado querys de comando para o SDK que ser˜ao convertidos
para a linguagem do robˆo, que efetuar´a o comando desejado.
A Figura 2 ilustra a funcionalidade do software implementado em C#. Esta
aplicac¸˜ao ´e respons´avel pelo controle PID, leitura e envio dos dados ao SDK e coleta
Figure 1. A Plataforma Rob´otica RoboDeck [XBot 2014].
Figure 2. Fluxograma de Atuac¸ ˜ao do PID no SDK.
Figure 3. Diagrama com a Implementac¸ ˜ao do Controlador PID no RoboDeck.
de dados para an´alise atrav´es de uma query, convertendo em tempo real os comandos
para ser enviado ao RoboDeck via wifi. Existe um delay entre o envio e resposta dos
comandos e a latˆencia ocorre devido as camadas de aplicac¸˜ao existentes, e pela resposta
do robˆo entre a Placa de Alta Performance e o microcontrolador que atua nos elementos
de controle.
O diagrama ilustrado na Figura 3 mostra a implementac¸˜ao do sistema de controle,
com o controlador PID implementado em C# e a planta de controle, que ´e o Robodeck. Os
parˆametros Kp, Ki e Kd, os dados de SP, o valor de processo (PV) e dados coletados est˜ao
no PC, ou seja na aplicac¸˜ao. O envio do esforc¸o de controle e recebimento dos dados do
encoder ´e realizado pela conex˜ao wifi para o PC com a aplicac¸˜ao, fechando assim a malha
de controle.
4.2. Experimentos
O controle dos motores no RoboDeck tem o seu valor corrigido por meio de um m´etodo do
SDK, cujo esforc¸o ´e representado por uma faixa que varia entre -32767 a +32767, sendo
32767 a velocidade m´axima. No algoritmo implementado, o SP ´e o valor desejado e as
vari´aveis Kp, Ki e Kd s˜ao constantes que foram definidas tendo como base os movimentos
do RoboDeck durante o experimento. O SP corresponde ao n´umero de pulsos desejados a
cada segundo, e o valor do PV (Realimentac¸˜ao), est´a relacionado com o valor de retorno
do encoder de cada motor. Os pulsos de cada motor s˜ao obtidos pelo encoder, com
variac¸˜ao na faixa de 0 a 400 pulsos por volta, ou seja, uma volta completa da roda do robˆo
corresponde a 400 pulsos do encoder.
Como a base de tempo utilizado pela aplicac¸˜ao ´e de 1 segundo, logo o valor da
rotac¸˜ao em Rotac¸˜oes por Segundo (RPS) ´e dado pela Equac¸˜ao 4.
RPS =
pulsos
400
(4)
A resultante do algoritmo proposto, exemplifica de forma ideal, o que de fato se
mostra ser um controle PID, dando estabilidade e suavidade `a locomoc¸˜ao do robˆo em
terrenos irregulares, rampas e declives, praticando uma correc¸˜ao independente e propor-
cional em seus dois motores de trac¸˜ao. Portanto, cada motor do RoboDeck recebe um
valor de esforc¸o diferente a cada iterac¸˜ao, equilibrando as forc¸as para garantir uma mel-
hor resposta do robˆo em diferentes cen´arios.
O algoritmo PID no RoboDeck foi validado no cen´ario ilustrado na Figura 4.
Pode-se observar que o robˆo est´a se movimentando na descida de uma rampa com pe-
quena inclinac¸˜ao mas suficiente para validar o funcionamento do controle. ´E importante
destacar que a velocidade inicial definida no experimento foi de 10 pulsos de encoder
por segundo, equivalente a 0, 025RPS, calculado usando a Equac¸˜ao 4. Durante o experi-
mento foi capturado os dados relacionados aos encoders e tamb´em o esforc¸o dos motores
para analisar e validar o comportamento do controle PID implementado e est˜ao ilustrados
nos gr´aficos das Figuras 5 (a) e (b), respectivamente. No intervalo de tempo I , rela-
cionado aos movimentos do RoboDeck em 1 e 2 da Figura 4, pode-se observar em (a)
que a ac¸˜ao do PID manteve a velocidade constante em 10 pulsos de encoder por segundo,
em (b) o esforc¸o do motor se manteve constante, em torno de 500, que corresponde a
1, 52% da potˆencia do motor, a partir do momento que a velocidade inicial foi estabele-
cida. No intervalo II entre 12 e 14 segundos houve uma acelerac¸˜ao do RoboDeck, saindo
do plano para a descida, fazendo com que o algoritmo fac¸a a correc¸˜ao, freando o robˆo,
como pode ser visto em 3 , 4 e 5 . No intervalo posterior a 15 segundos em III , a
retomada da velocidade em 6 foi realizada aumentando a potˆencia dos motores at´e o
RoboDeck alcanc¸ar a velocidade inicial.
O movimento de subida da rampa tamb´em foi realizado para verificar o compor-
tamento do PID e o v´ıdeo pode ser visualizado em [Zanolla et al. 2014b].
5. Conclus˜oes e Trabalhos Futuros
O controle PID foi implementado e validado atrav´es de um experimento real utilizando
a plataforma RoboDeck na descida de uma rampa. Os resultados obtidos mostra que ´e
Figure 4. Experimento Real do RoboDeck na Descida [Zanolla et al. 2014a].
Figure 5. Dados Reais do Encoder e Variac¸ ˜ao da Potˆencia dos Motores em (a) e
(b), respectivamente.
poss´ıvel atrav´es de uma aplicac¸˜ao de alto n´ıvel a implementac¸˜ao do algoritmo, mesmo
com algumas limitac¸˜oes decorrentes das latˆencias provocadas pelas diferentes camadas
de hardware e software. Entretanto, uma forma de diminuir a latˆencia ´e a implementac¸˜ao
do controlador PID diretamente no RoboDeck, seja na Placa de Alta Performance ou
no microcontrolador, melhorando o controle de velocidade, al´em de permitir folgas de
tempo para a implementac¸˜ao de outros algoritmos. Contudo, ´e importante ressaltar que
os resultados obtidos nos experimentos foram satisfat´orios.
Como trabalho futuro, o RoboDeck precisa saber a sua posic¸˜ao no espac¸o e ter
alguma referˆencia. Um dos maiores problemas encontrados para a localizac¸˜ao est´a rela-
cionado com a t´ecnica Dead-reckoning. A ideia ´e a utilizac¸˜ao da posic¸˜ao atual somada
ao deslocamento realizado, a partir do valor da velocidade e tempo. Assim, a posic¸˜ao ´e
sempre uma func¸˜ao da anterior, o que acaba fazendo com que haja um grande ac´umulo de
erros. Portanto, ´e necess´ario utilizar algum m´etodo matem´atico para a reduc¸˜ao dos erros,
como por exemplo o Filtro de Kalman que ´e utilizado para a localizac¸˜ao de robˆos m´oveis
tanto em ambientes conhecidos como desconhecidos. O filtro consiste de um conjunto
de equac¸˜oes matem´aticas que fornece uma forma computacional eficiente para estimar o
estado de um processo, de forma a minimizar o erro quadr´atico m´edio. Al´em disso, ´e
poderoso em diversos aspectos: (i) estimac¸˜oes de eventos passados, presentes e futuros;
(ii) utilizado at´e mesmo quando a natureza do sistema modelado for desconhecido.
Agradecimentos
Os autores agradecem ao Conselho de Desenvolvimento Cient´ıfico e Tecnol´ogico (CNPq)
pelo apoio financeiro, no projeto 560067/2010-0 e a Fundac¸˜ao de Amparo `a Pesquisa do
Estado de S˜ao Paulo (FAPESP) no processo 2013/16161-3.
Referˆencias
Bezerra, T. (2012). Robodeck: Controle de robˆos via voz. Dispon´ıvel
em: ¡http://www.baguete.com.br/noticias/24/08/2012/
robodeck-controle-de-robos-voz¿. Acesso em 03 de Marc¸o de 2014.
Finep (2013). Robodeck: Plataforma universal para pesquisa e educac¸˜ao.
Dispon´ıvel em: ¡http://www.finep.gov.br/imprensa/noticia.asp?
cod_noticia=2102¿. Acesso em 2 de Setembro de 2014.
Inovando, C. (2013). Teste de controle do robˆo usando wi-fi via celular com
acelerometro. Dispon´ıvel em: ¡http://teas-star.com/x/portugues/
robodeck-teste-de-controle-do-robo-usando-wi-fi-via-celu
lar-com-acelerometro/¿. Acesso em 02 de Setembro de 2014.
Lemvigh, D. e Moller, A. (2008). Advanced robot navigation for multiagent systems using
lego nxt. page 120, Technical University of Denmark,Informatics and Mathematical
Modelling Building, Denmark.
Netto, A. V., Miranda, F. A., e Pinto, M. A. G. (2012). Driver control for mobile robot
and application control trajectory with computer vision. In RoboControl, 5a
Workshop
in Applied Robotics and Automation, pages 1–7.
Ogata, K. (2011). Engenharia de Controle Moderno. Pearson Education, 5 edition.
Pessin, G., Os´orio, F., S.Musse., Nonnemmacher, V., e Ferreira, S. S. (2007). Utilizando
redes neurais artificiais no controle de robˆos m´oveis aplicados ao combate de incˆendios
florestais. In SEMINCO, XVI Semin´ario de Computac¸˜ao, pages 19–30.
Showstack, R. (2011). Curiosity on the way to mars. Eos, Transactions American Geo-
physical Union, 92(49):455–455.
Wolf, D. F., Os´orio, F. S., Sim˜oes, E., e Onofre, J. T. (2009). Intelligent robotics: From
simulation to real world applications. Universidade de S˜ao Paulo, USP.
XBot (2014). Robodeck plataforma para pesquisa. Dispon´ıvel em: ¡http://www.
xbot.com.br/educacional/robodeck/¿. Acesso em 28 de Agosto de 2014.
Zanolla, L., de Sousa, D. R., Furlaneto, R. M., Botelho, W. T., e Marietto, M. G. B.
(2014a). Experimento real na descida - robodeck. Dispon´ıvel em: ¡https://www.
youtube.com/watch?v=EgZWQNXPoqg¿. Acesso em 18 de Setembro de 2014.
Zanolla, L., de Sousa, D. R., Furlaneto, R. M., Botelho, W. T., e Marietto, M. G. B.
(2014b). Experimento real na subida - robodeck. Dispon´ıvel em: ¡https://www.
youtube.com/watch?v=UecNM2E7C4c¿. Acesso em 18 de Setembro de 2014.
ZIEGLER, J. G. e NICHOLS, N. B. (1993). Optimum settings for automatic controllers.
J. Dyn. Sys. Meas. Control, 115(2B):220–222.

Mais conteúdo relacionado

Mais procurados

Automação industrial1 parte1 23_2_2011
Automação industrial1 parte1 23_2_2011Automação industrial1 parte1 23_2_2011
Automação industrial1 parte1 23_2_2011José Carlos Carlos
 
(2) apostila clp completa
(2) apostila clp completa(2) apostila clp completa
(2) apostila clp completaMarcus Paiva
 
Apostila clp (conceitos básicos)
Apostila clp (conceitos básicos)Apostila clp (conceitos básicos)
Apostila clp (conceitos básicos)jastro1984
 
Clp [automação residencial com clp]
Clp [automação residencial com clp]Clp [automação residencial com clp]
Clp [automação residencial com clp]Josemar Pereira
 
Apostila controladores ladder
Apostila controladores ladderApostila controladores ladder
Apostila controladores ladderMatheus Barbosa
 
Introdução automação
Introdução automaçãoIntrodução automação
Introdução automaçãopanelada
 
Automação com clp (ladder)
Automação com clp (ladder)Automação com clp (ladder)
Automação com clp (ladder)laenio
 
Automação de sistemas elétricos de potência
Automação de sistemas elétricos de potênciaAutomação de sistemas elétricos de potência
Automação de sistemas elétricos de potênciaAna Ribeiro
 
indrodução automação industrial
indrodução automação industrialindrodução automação industrial
indrodução automação industrialelliando dias
 

Mais procurados (17)

Apostila de CLP / PLC
Apostila de CLP / PLCApostila de CLP / PLC
Apostila de CLP / PLC
 
Apostila clp
Apostila clpApostila clp
Apostila clp
 
Apostila de automação cefet
Apostila de automação   cefetApostila de automação   cefet
Apostila de automação cefet
 
Automação industrial1 parte1 23_2_2011
Automação industrial1 parte1 23_2_2011Automação industrial1 parte1 23_2_2011
Automação industrial1 parte1 23_2_2011
 
ceel2013_069
ceel2013_069ceel2013_069
ceel2013_069
 
(2) apostila clp completa
(2) apostila clp completa(2) apostila clp completa
(2) apostila clp completa
 
Apostila clp (conceitos básicos)
Apostila clp (conceitos básicos)Apostila clp (conceitos básicos)
Apostila clp (conceitos básicos)
 
Clp [automação residencial com clp]
Clp [automação residencial com clp]Clp [automação residencial com clp]
Clp [automação residencial com clp]
 
Apostila controladores ladder
Apostila controladores ladderApostila controladores ladder
Apostila controladores ladder
 
Introdução automação
Introdução automaçãoIntrodução automação
Introdução automação
 
Automação com clp (ladder)
Automação com clp (ladder)Automação com clp (ladder)
Automação com clp (ladder)
 
Clp siemens
Clp siemensClp siemens
Clp siemens
 
Automação de sistemas elétricos de potência
Automação de sistemas elétricos de potênciaAutomação de sistemas elétricos de potência
Automação de sistemas elétricos de potência
 
Automação industrial
Automação industrialAutomação industrial
Automação industrial
 
indrodução automação industrial
indrodução automação industrialindrodução automação industrial
indrodução automação industrial
 
Automatos programaveis
Automatos programaveisAutomatos programaveis
Automatos programaveis
 
Logix 5000 (1)
Logix 5000 (1)Logix 5000 (1)
Logix 5000 (1)
 

Semelhante a Implementação com Validação Real de um Controle Proporcional, Integral e Derivativo na Plataforma Robótica RoboDeck

Apostila de automação com clp em linguagem ladder
Apostila de automação com clp em linguagem ladderApostila de automação com clp em linguagem ladder
Apostila de automação com clp em linguagem laddermarv2
 
Automação industrial prof. msc. marcelo eurípedes da silva, eep – escola de...
Automação industrial   prof. msc. marcelo eurípedes da silva, eep – escola de...Automação industrial   prof. msc. marcelo eurípedes da silva, eep – escola de...
Automação industrial prof. msc. marcelo eurípedes da silva, eep – escola de...Everton_michel
 
Redes industriais a informática aplicada no chão das fábricas
Redes industriais   a informática aplicada no chão das fábricasRedes industriais   a informática aplicada no chão das fábricas
Redes industriais a informática aplicada no chão das fábricasWilson Mathias Pereira Florentino
 
Automação ind 6_2014
Automação ind 6_2014Automação ind 6_2014
Automação ind 6_2014Marcio Oliani
 
Apostila de instrumentação
Apostila de instrumentaçãoApostila de instrumentação
Apostila de instrumentaçãophasetronik
 
Deborah deah sea2014
Deborah deah sea2014Deborah deah sea2014
Deborah deah sea2014Deborah Deah
 
CONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRE
CONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRECONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRE
CONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERREUFPA
 
Manual sol term_5.1.4
Manual sol term_5.1.4Manual sol term_5.1.4
Manual sol term_5.1.4Pedro Leite
 
Sintonia de Controladores PID
Sintonia de Controladores PIDSintonia de Controladores PID
Sintonia de Controladores PIDRayner Theodoro
 
Apostila automação controle de processos
Apostila automação controle de processosApostila automação controle de processos
Apostila automação controle de processosCiro Marcus
 
Automação ind 1_2014
Automação ind 1_2014Automação ind 1_2014
Automação ind 1_2014Marcio Oliani
 
Aula 12 controladores lógicos programáveis (cl ps)
Aula 12   controladores lógicos programáveis (cl ps)Aula 12   controladores lógicos programáveis (cl ps)
Aula 12 controladores lógicos programáveis (cl ps)Renaldo Adriano
 

Semelhante a Implementação com Validação Real de um Controle Proporcional, Integral e Derivativo na Plataforma Robótica RoboDeck (20)

Apostila curso clp 2
Apostila   curso clp 2Apostila   curso clp 2
Apostila curso clp 2
 
Apostila curso clp
Apostila   curso clpApostila   curso clp
Apostila curso clp
 
Automação industrial
Automação industrialAutomação industrial
Automação industrial
 
Clp
ClpClp
Clp
 
Apostila clp curso uerj 1
Apostila clp   curso uerj 1Apostila clp   curso uerj 1
Apostila clp curso uerj 1
 
Clp siemens s7 200
Clp siemens s7 200Clp siemens s7 200
Clp siemens s7 200
 
Apostila de automação com clp em linguagem ladder
Apostila de automação com clp em linguagem ladderApostila de automação com clp em linguagem ladder
Apostila de automação com clp em linguagem ladder
 
Automação industrial prof. msc. marcelo eurípedes da silva, eep – escola de...
Automação industrial   prof. msc. marcelo eurípedes da silva, eep – escola de...Automação industrial   prof. msc. marcelo eurípedes da silva, eep – escola de...
Automação industrial prof. msc. marcelo eurípedes da silva, eep – escola de...
 
Redes industriais a informática aplicada no chão das fábricas
Redes industriais   a informática aplicada no chão das fábricasRedes industriais   a informática aplicada no chão das fábricas
Redes industriais a informática aplicada no chão das fábricas
 
Automação ind 6_2014
Automação ind 6_2014Automação ind 6_2014
Automação ind 6_2014
 
Apostila de instrumentação
Apostila de instrumentaçãoApostila de instrumentação
Apostila de instrumentação
 
automação CLP
automação CLP automação CLP
automação CLP
 
Deborah deah sea2014
Deborah deah sea2014Deborah deah sea2014
Deborah deah sea2014
 
CONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRE
CONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRECONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRE
CONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRE
 
Manual sol term_5.1.4
Manual sol term_5.1.4Manual sol term_5.1.4
Manual sol term_5.1.4
 
Clp basico
Clp basicoClp basico
Clp basico
 
Sintonia de Controladores PID
Sintonia de Controladores PIDSintonia de Controladores PID
Sintonia de Controladores PID
 
Apostila automação controle de processos
Apostila automação controle de processosApostila automação controle de processos
Apostila automação controle de processos
 
Automação ind 1_2014
Automação ind 1_2014Automação ind 1_2014
Automação ind 1_2014
 
Aula 12 controladores lógicos programáveis (cl ps)
Aula 12   controladores lógicos programáveis (cl ps)Aula 12   controladores lógicos programáveis (cl ps)
Aula 12 controladores lógicos programáveis (cl ps)
 

Mais de Daniel Rodrigues de Sousa

Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB HarmonyDesenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB HarmonyDaniel Rodrigues de Sousa
 
Robótica Educacional: Estudo com Validação Real do Controlador Proporcional I...
Robótica Educacional: Estudo com Validação Real do Controlador Proporcional I...Robótica Educacional: Estudo com Validação Real do Controlador Proporcional I...
Robótica Educacional: Estudo com Validação Real do Controlador Proporcional I...Daniel Rodrigues de Sousa
 
Low-power: Como reduzir o consumo de energia do seu produto e aumentar a vida...
Low-power: Como reduzir o consumo de energia do seu produto e aumentar a vida...Low-power: Como reduzir o consumo de energia do seu produto e aumentar a vida...
Low-power: Como reduzir o consumo de energia do seu produto e aumentar a vida...Daniel Rodrigues de Sousa
 
Estudo com Validação Real do Controlador Proporcional Integral e Derivativo n...
Estudo com Validação Real do Controlador Proporcional Integral e Derivativo n...Estudo com Validação Real do Controlador Proporcional Integral e Derivativo n...
Estudo com Validação Real do Controlador Proporcional Integral e Derivativo n...Daniel Rodrigues de Sousa
 
Implementação do controle PID e validação real utilizando a plataforma robóti...
Implementação do controle PID e validação real utilizando a plataforma robóti...Implementação do controle PID e validação real utilizando a plataforma robóti...
Implementação do controle PID e validação real utilizando a plataforma robóti...Daniel Rodrigues de Sousa
 
Aplicação dos microcontroladores no dia a dia
Aplicação dos microcontroladores no dia a diaAplicação dos microcontroladores no dia a dia
Aplicação dos microcontroladores no dia a diaDaniel Rodrigues de Sousa
 
Bootloader: Teoria de operação e implementação via USB para PIC
Bootloader: Teoria de operação e implementação via USB para PICBootloader: Teoria de operação e implementação via USB para PIC
Bootloader: Teoria de operação e implementação via USB para PICDaniel Rodrigues de Sousa
 

Mais de Daniel Rodrigues de Sousa (13)

IoT arduino
IoT arduinoIoT arduino
IoT arduino
 
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB HarmonyDesenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
 
Criando sua própria nuvem com Raspberry Pi
Criando sua própria nuvem com Raspberry PiCriando sua própria nuvem com Raspberry Pi
Criando sua própria nuvem com Raspberry Pi
 
Existe vida após o arduino?
Existe vida após o arduino? Existe vida após o arduino?
Existe vida após o arduino?
 
Existe vida após o Arduino?
Existe vida após o Arduino?Existe vida após o Arduino?
Existe vida após o Arduino?
 
Robótica Educacional: Estudo com Validação Real do Controlador Proporcional I...
Robótica Educacional: Estudo com Validação Real do Controlador Proporcional I...Robótica Educacional: Estudo com Validação Real do Controlador Proporcional I...
Robótica Educacional: Estudo com Validação Real do Controlador Proporcional I...
 
Low-power: Como reduzir o consumo de energia do seu produto e aumentar a vida...
Low-power: Como reduzir o consumo de energia do seu produto e aumentar a vida...Low-power: Como reduzir o consumo de energia do seu produto e aumentar a vida...
Low-power: Como reduzir o consumo de energia do seu produto e aumentar a vida...
 
Estudo com Validação Real do Controlador Proporcional Integral e Derivativo n...
Estudo com Validação Real do Controlador Proporcional Integral e Derivativo n...Estudo com Validação Real do Controlador Proporcional Integral e Derivativo n...
Estudo com Validação Real do Controlador Proporcional Integral e Derivativo n...
 
Implementação do controle PID e validação real utilizando a plataforma robóti...
Implementação do controle PID e validação real utilizando a plataforma robóti...Implementação do controle PID e validação real utilizando a plataforma robóti...
Implementação do controle PID e validação real utilizando a plataforma robóti...
 
CPBR7 - Existe vida depois do Arduino?
CPBR7 - Existe vida depois do Arduino?CPBR7 - Existe vida depois do Arduino?
CPBR7 - Existe vida depois do Arduino?
 
Aplicações do microcontrolador PIC
Aplicações do microcontrolador PICAplicações do microcontrolador PIC
Aplicações do microcontrolador PIC
 
Aplicação dos microcontroladores no dia a dia
Aplicação dos microcontroladores no dia a diaAplicação dos microcontroladores no dia a dia
Aplicação dos microcontroladores no dia a dia
 
Bootloader: Teoria de operação e implementação via USB para PIC
Bootloader: Teoria de operação e implementação via USB para PICBootloader: Teoria de operação e implementação via USB para PIC
Bootloader: Teoria de operação e implementação via USB para PIC
 

Implementação com Validação Real de um Controle Proporcional, Integral e Derivativo na Plataforma Robótica RoboDeck

  • 1. Implementac¸˜ao com Validac¸˜ao Real de um Controle Proporcional, Integral e Derivativo na Plataforma Rob´otica RoboDeck Leandro Zanolla1 , Daniel Rodrigues de Sousa1 , Renan Morais Furlaneto2 , Wagner Tanaka Botelho1 e Maria das Grac¸as Bruno Marietto2 1 Mestrado em Ciˆencia da Computac¸˜ao – Universidade Federal do ABC (UFABC) Av. dos Estados, 5001 – Bairro Bang´u – CEP: 09210-580 – Santo Andr´e – SP – Brasil 2 Universidade Federal do ABC (UFABC) Centro de Matem´atica, Computac¸˜ao e Cognic¸˜ao (CMCC) {leandro.zanolla, daniel.sousa}@ufabc.edu.br {wagner.tanaka, graca.marietto}@ufabc.edu.br Abstract. Although many robots are usually industrial manipulators, in the last decades, the non-conventional robots appear and it is known as a service robots. These are autonomous or partially and also are useful for the human being in different situations. For example, in the rescue, surveillance and perform tasks in areas with difficult access. Thus, this work aims to study and implement in the real robot the Proportional, Integral and Derivative (PID) control algorithm in the RoboDeck platform. Resumo. Embora a grande maioria dos robˆos atuais sejam manipuladores in- dustriais, nas ´ultimas d´ecadas, surgiram robˆos de aplicac¸˜oes n˜ao convencionais conhecidos como os robˆos de servic¸os. Este tipo de robˆo executa tarefas de forma autˆonoma ou parcialmente, al´em de serem ´uteis ao bem estar do homem em diversas situac¸˜oes. Por exemplo, no resgate, na vigilˆancia e na realizac¸˜ao de tarefas em locais de dif´ıcil acesso. Sendo assim, para que um robˆo m´ovel possa se locomover em um ambiente ´e necess´ario estudar e implementar em um robˆo real o controlador do tipo Proporcional, Integral e Derivativo (PID) na plataforma rob´otica RoboDeck. 1. Introduc¸˜ao O conceito da rob´otica surgiu no in´ıcio da hist´oria quando os mitos faziam referˆencia a mecanismos que ganhavam vida. Os primeiros modelos de robˆos comec¸aram a ser encon- trados na civilizac¸˜ao grega e tinham aparˆencia humana e/ou animal, al´em de serem usados em sistemas de pesos e bombas pneum´aticas. Entretanto, n˜ao tinham nenhuma necessi- dade pr´atica ou econˆomica e nenhum sistema complexo de produtividade que exigisse a existˆencia de robˆos. O estudo da rob´otica m´ovel ´e um tema bastante relevante e atual, sendo que pesquisas envolvendo essa ´area permitiram que houvesse um grande salto em seu de- senvolvimento nas ´ultimas duas d´ecadas. A aplicac¸˜ao pr´atica de robˆos m´oveis junto a diferentes atividades na sociedade vem demonstrando o qu˜ao promissor ´e o futuro desta
  • 2. ´area [Wolf et al. 2009]. Portanto, pode-se citar alguns tipos de robˆos que reforc¸am a im- portˆancia das pesquisas, por diversos motivos, como econˆomicos e estrat´egicos. Por ex- emplo, robˆos dom´esticos (e.g. aspiradores de p´o e cortadores de grama), industriais (e.g. ve´ıculos autˆonomos), militares (sistemas de monitoramento a´ereo) e seguranc¸a (robˆos de patrulhamento de ambientes). Os diversos robˆos m´oveis existentes na literatura demonstram a sua relevˆancia no cen´ario atual da pesquisa na ´area. O uso de robˆos na navegac¸˜ao em ambientes desconheci- dos apresenta-se como uma alternativa para evitar o trabalho do homem na explorac¸˜ao de lugares possivelmente hostis e podem ser utilizados em diversas aplicac¸˜oes. O Curiosity [Showstack 2011], que foi enviado pela NASA para explorar e colher imagens de Marte. Em [Netto et al. 2012] utilizou-se o a plataforma rob´otica RoboDeck [XBot 2014] com t´ecnicas de vis˜ao computacional na navegac¸˜ao, controlando os sensores e atuadores. A navegac¸˜ao de robˆos m´oveis ´e ainda uma das tarefas mais complexas de se re- alizar, envolvendo diversos tipos de incertezas nas medic¸˜oes que podem estar relacionadas com a instabilidade f´ısica das rodas, limitac¸˜oes do hardware, ente outros. Al´em disso, o ambiente de navegac¸˜ao pode ser vari´avel, quando por exemplo, a existˆencia de pedestres, mudanc¸a de luminosidade, obst´aculos, dentre outros. Na escolha de um sistema de navegac¸˜ao, diversos fatores precisam ser levados em considerac¸˜ao, como a configurac¸˜ao das rodas, o sistema de posicionamento e a tarefa a ser realizada. O sistema de navegac¸˜ao precisa ser capaz de permitir uma navegac¸˜ao segura e precisa, sem fazer com que o robˆo se perca ou fique preso em algum obst´aculo presente no percurso a realizar, o que pode afetar o sucesso na realizac¸˜ao de sua tarefa [Lemvigh e Moller 2008]. Existem diversos trabalhos que utilizam t´ecnicas para que o robˆo consiga navegar em um ambiente. Por exemplo, Redes Neurais [Pessin et al. 2007], Controle Proporcional, Integral e Derivativo (PID) [Ogata 2011], entre outras. O PID ´e um controle em malha fechada com realimentac¸˜ao realizada a partir de um sensor que envia um comando para o atuador. A principal contribuic¸˜ao do presente trabalho ´e mostrar a possibilidade de imple- mentar o controle PID na plataforma rob´otica RoboDeck. Portanto, para a validac¸˜ao real do controle implementado, o comportamento do robˆo ´e analisado na descida e subida de uma rampa. Este trabalho est´a organizado como se segue. Na Sec¸˜ao 2 o controlador PID im- plementado no RoboDeck ser´a explicado. Maiores detalhes sobre a plataforma RoboDeck ser˜ao considerados na Sec¸˜ao 3. Os resultados ser˜ao descritos na Sec¸˜ao 4. Finalmente, na Sec¸˜ao 5 as conclus˜oes e algumas propostas de trabalhos futuros s˜ao apresentadas. 2. Controlador PID O uso de sistemas de controle de malha fechada em rob´otica ´e de suma importˆancia para o controle de diversos dispositivos de trac¸˜ao e direc¸˜ao. Existem diversos m´etodos que podem ser usados para o controle de velocidade e posic¸˜ao. O controlador PID [Ogata 2011] ´e um sistema de controle de malha fechada e amplamente usado em sistemas embarcados, automac¸˜ao industrial e em diversos tipos de controladores como de temperatura, velocidade, posic¸˜ao, entre outros. O erro ´e calculado pela diferenc¸a entre o valor do processo Process Variable (PV) e o valor desejado Setpoint
  • 3. (SP). Neste caso, o controlador tenta minimizar o erro atrav´es de uso de uma vari´avel manipulada. O controlador PID, como a sua sigla sugere, ´e composto por trˆes termos: Pro- porcional (P), Integral (I) e Derivativo (D). O P depende do erro atual, I atua sobre o ac´umulo dos ´ultimos erros, e D ´e a previs˜ao dos futuros erros, com base na taxa atual de mudanc¸a. A soma ponderada destas trˆes ac¸˜oes ´e usada para ajustar um elemento de cont- role, como uma v´alvula, um motor, um atuador ou a potˆencia fornecida a um elemento de aquecimento, entre outros. 2.1. Controlador Proporcional O controlador P ´e empregado em sistemas onde a ac¸˜ao de controle deve ser mais suave em relac¸˜ao ao controlador ON-OFF, onde neste tipo de controlador o elemento de controle ´e simplesmente chaveado de acordo com o SP e em cima de uma histerese para evitar chaveamentos r´apidos de controle. Este controlador fornece uma relac¸˜ao linear entre a diferenc¸a do PV e SP, de modo que a ac¸˜ao de controle ´e proporcional ao ganho Kp, podendo ter uma ac¸˜ao r´apida ou lenta. Uma escolha adequada de Kp ´e necess´aria para o funcionamento do sistema. A atuac¸˜ao do controlador proporcional ´e dada pela Equac¸˜ao 1. u(t) = Kp · e(t) (1) Uma caracter´ıstica do P ´e que quando o sistema estabiliza a sa´ıda n˜ao se estabiliza no SP, ficando um valor fora do PV, gerando um valor de erro entre o SP e o PV. Este erro ´e chamado de offset, sendo maior quando o ganho Kp for menor. Em contrapartida, quanto maior o valor do Kp aumenta a possibilidade de oscilac¸˜oes no PV. 2.2. Controlador Integral No controlador P, quando ocorrem variac¸˜oes de carga, o valor do offset varia, e este ajuste deve ser feito de forma autom´atica e n˜ao manual. Este erro, ao ser integralizado no tempo ajuda a zerar o offset. ´E por este motivo que o controlador I n˜ao trabalha sozinho, estando sempre presente nos controladores PI ou PID. Portanto, a ac¸˜ao do controlador I ´e dada pela Equac¸˜ao 2. u(t) = Ki · e(t) (2) 2.3. Controlador Derivativo O controlador D atua sobre a velocidade com que o valor de desvio aumenta, aplicando uma correc¸˜ao proporcional a esta velocidade, resultando em uma correc¸˜ao antecipada por meio da derivada do sinal de erro. Como ocorre no controlador I, o D n˜ao ´e implementado de forma isolada, estando presente nos controladores PD ou PID. A Equac¸˜ao 3 mostra a ac¸˜ao do controlador D que tem como objetivo amortecer as oscilac¸˜oes do sistema, antecipando o sinal de erro calculando a sua derivada.
  • 4. u(t) = Kd · d e(t) dt (3) 2.4. Controlador Proporcional, Integral e Derivativo Finalmente, com a junc¸˜ao das Equac¸˜oes 1, 2 e 3 tem-se o controlador PID. O uso do controlador PID ´e muito difundido para a maioria dos casos, j´a que ini- cialmente n˜ao h´a necessidade de se conhecer a planta de controle. ´E poss´ıvel o ajuste man- ual dos parˆametros Kp, Ki e Kd, como tamb´em pode-se usar alguns m´etodos consagra- dos para a sintonia desses parˆametros, como por exemplo o m´etodo de Ziegler-Nichols [ZIEGLER e NICHOLS 1993]. 3. Plataforma RoboDeck A plataforma rob´otica RoboDeck ´e open source, desenvolvida pela XBot [XBot 2014] e ilustrada na Figura 1. O robˆo possui rodas omnidirecionais, que permite o seu deslo- camento em qualquer direc¸˜ao, sensores ultrassˆonicos e infravermelho. Al´em disso, o hardware b´asico ´e composto por m´odulos adicionais, como por exemplo, uma placa de alta performance com Linux embarcado, comunicac¸˜ao wifi e bluetooth, uma cˆamera com interface USB, entre outros dispositivos. Sendo assim, pode ser controlado remotamente ou funcionar de forma autˆonoma para realizar tarefas pr´e-determinadas. A arquitetura do RoboDeck pode ser dividida em software e hardware. O primeiro microcontrolador respons´avel pelos sensores e atuadores encontra-se na Placa Rob´otica, sendo o software utilizado ´e definido como M´odulo de Controle Rob´otico (MCR). Este m´odulo age como um robˆo escravo, executando sequencialmente os comandos enviados pela Universal Asynchronous Receiver/Transmitter (UART), que corresponde `a interface serial. O segundo microcontrolador tem como objetivo realizar a comunicac¸˜ao de con- trole do robˆo e tamb´em por manter a sua identidade. Neste caso, a comunicac¸˜ao ´e im- plementada com o protocolo Zigbee pelo M´odulo de Controle de Comunicac¸˜ao (MCC) localizado na Placa de Comunicac¸˜ao. Uma poss´ıvel aplicac¸˜ao ´e o seu uso no monitoramento de ´areas de risco em ind´ustrias petroqu´ımicas e usinas de gerac¸˜ao de energia, como nuclear e termoel´etrica [Finep 2013]. Em [Inovando 2013], a plataforma foi controlada a partir de um celular, mudando sua direc¸˜ao e acelerac¸˜ao. Em [Bezerra 2012], os movimentos do RoboDeck foram controlados por comandos de voz, al´em de desviar de objetos e definir rotas es- pec´ıficas. 4. Resultados 4.1. Implementac¸˜ao do PID no RoboDeck Os resultados que ser˜ao descritos nesta sec¸˜ao foram obtidos implementando o controle PID descrito na Sec¸˜ao 2 na plataforma RoboDeck. A plataforma possui um Software Development KIT (SDK) desenvolvido pela XBot [XBot 2014], de modo que atrav´es da aplicac¸˜ao elaborada, seja enviado querys de comando para o SDK que ser˜ao convertidos para a linguagem do robˆo, que efetuar´a o comando desejado. A Figura 2 ilustra a funcionalidade do software implementado em C#. Esta aplicac¸˜ao ´e respons´avel pelo controle PID, leitura e envio dos dados ao SDK e coleta
  • 5. Figure 1. A Plataforma Rob´otica RoboDeck [XBot 2014]. Figure 2. Fluxograma de Atuac¸ ˜ao do PID no SDK. Figure 3. Diagrama com a Implementac¸ ˜ao do Controlador PID no RoboDeck. de dados para an´alise atrav´es de uma query, convertendo em tempo real os comandos para ser enviado ao RoboDeck via wifi. Existe um delay entre o envio e resposta dos comandos e a latˆencia ocorre devido as camadas de aplicac¸˜ao existentes, e pela resposta do robˆo entre a Placa de Alta Performance e o microcontrolador que atua nos elementos de controle. O diagrama ilustrado na Figura 3 mostra a implementac¸˜ao do sistema de controle, com o controlador PID implementado em C# e a planta de controle, que ´e o Robodeck. Os parˆametros Kp, Ki e Kd, os dados de SP, o valor de processo (PV) e dados coletados est˜ao no PC, ou seja na aplicac¸˜ao. O envio do esforc¸o de controle e recebimento dos dados do encoder ´e realizado pela conex˜ao wifi para o PC com a aplicac¸˜ao, fechando assim a malha de controle.
  • 6. 4.2. Experimentos O controle dos motores no RoboDeck tem o seu valor corrigido por meio de um m´etodo do SDK, cujo esforc¸o ´e representado por uma faixa que varia entre -32767 a +32767, sendo 32767 a velocidade m´axima. No algoritmo implementado, o SP ´e o valor desejado e as vari´aveis Kp, Ki e Kd s˜ao constantes que foram definidas tendo como base os movimentos do RoboDeck durante o experimento. O SP corresponde ao n´umero de pulsos desejados a cada segundo, e o valor do PV (Realimentac¸˜ao), est´a relacionado com o valor de retorno do encoder de cada motor. Os pulsos de cada motor s˜ao obtidos pelo encoder, com variac¸˜ao na faixa de 0 a 400 pulsos por volta, ou seja, uma volta completa da roda do robˆo corresponde a 400 pulsos do encoder. Como a base de tempo utilizado pela aplicac¸˜ao ´e de 1 segundo, logo o valor da rotac¸˜ao em Rotac¸˜oes por Segundo (RPS) ´e dado pela Equac¸˜ao 4. RPS = pulsos 400 (4) A resultante do algoritmo proposto, exemplifica de forma ideal, o que de fato se mostra ser um controle PID, dando estabilidade e suavidade `a locomoc¸˜ao do robˆo em terrenos irregulares, rampas e declives, praticando uma correc¸˜ao independente e propor- cional em seus dois motores de trac¸˜ao. Portanto, cada motor do RoboDeck recebe um valor de esforc¸o diferente a cada iterac¸˜ao, equilibrando as forc¸as para garantir uma mel- hor resposta do robˆo em diferentes cen´arios. O algoritmo PID no RoboDeck foi validado no cen´ario ilustrado na Figura 4. Pode-se observar que o robˆo est´a se movimentando na descida de uma rampa com pe- quena inclinac¸˜ao mas suficiente para validar o funcionamento do controle. ´E importante destacar que a velocidade inicial definida no experimento foi de 10 pulsos de encoder por segundo, equivalente a 0, 025RPS, calculado usando a Equac¸˜ao 4. Durante o experi- mento foi capturado os dados relacionados aos encoders e tamb´em o esforc¸o dos motores para analisar e validar o comportamento do controle PID implementado e est˜ao ilustrados nos gr´aficos das Figuras 5 (a) e (b), respectivamente. No intervalo de tempo I , rela- cionado aos movimentos do RoboDeck em 1 e 2 da Figura 4, pode-se observar em (a) que a ac¸˜ao do PID manteve a velocidade constante em 10 pulsos de encoder por segundo, em (b) o esforc¸o do motor se manteve constante, em torno de 500, que corresponde a 1, 52% da potˆencia do motor, a partir do momento que a velocidade inicial foi estabele- cida. No intervalo II entre 12 e 14 segundos houve uma acelerac¸˜ao do RoboDeck, saindo do plano para a descida, fazendo com que o algoritmo fac¸a a correc¸˜ao, freando o robˆo, como pode ser visto em 3 , 4 e 5 . No intervalo posterior a 15 segundos em III , a retomada da velocidade em 6 foi realizada aumentando a potˆencia dos motores at´e o RoboDeck alcanc¸ar a velocidade inicial. O movimento de subida da rampa tamb´em foi realizado para verificar o compor- tamento do PID e o v´ıdeo pode ser visualizado em [Zanolla et al. 2014b]. 5. Conclus˜oes e Trabalhos Futuros O controle PID foi implementado e validado atrav´es de um experimento real utilizando a plataforma RoboDeck na descida de uma rampa. Os resultados obtidos mostra que ´e
  • 7. Figure 4. Experimento Real do RoboDeck na Descida [Zanolla et al. 2014a]. Figure 5. Dados Reais do Encoder e Variac¸ ˜ao da Potˆencia dos Motores em (a) e (b), respectivamente. poss´ıvel atrav´es de uma aplicac¸˜ao de alto n´ıvel a implementac¸˜ao do algoritmo, mesmo com algumas limitac¸˜oes decorrentes das latˆencias provocadas pelas diferentes camadas de hardware e software. Entretanto, uma forma de diminuir a latˆencia ´e a implementac¸˜ao do controlador PID diretamente no RoboDeck, seja na Placa de Alta Performance ou no microcontrolador, melhorando o controle de velocidade, al´em de permitir folgas de tempo para a implementac¸˜ao de outros algoritmos. Contudo, ´e importante ressaltar que os resultados obtidos nos experimentos foram satisfat´orios. Como trabalho futuro, o RoboDeck precisa saber a sua posic¸˜ao no espac¸o e ter alguma referˆencia. Um dos maiores problemas encontrados para a localizac¸˜ao est´a rela- cionado com a t´ecnica Dead-reckoning. A ideia ´e a utilizac¸˜ao da posic¸˜ao atual somada ao deslocamento realizado, a partir do valor da velocidade e tempo. Assim, a posic¸˜ao ´e sempre uma func¸˜ao da anterior, o que acaba fazendo com que haja um grande ac´umulo de erros. Portanto, ´e necess´ario utilizar algum m´etodo matem´atico para a reduc¸˜ao dos erros, como por exemplo o Filtro de Kalman que ´e utilizado para a localizac¸˜ao de robˆos m´oveis tanto em ambientes conhecidos como desconhecidos. O filtro consiste de um conjunto de equac¸˜oes matem´aticas que fornece uma forma computacional eficiente para estimar o estado de um processo, de forma a minimizar o erro quadr´atico m´edio. Al´em disso, ´e poderoso em diversos aspectos: (i) estimac¸˜oes de eventos passados, presentes e futuros; (ii) utilizado at´e mesmo quando a natureza do sistema modelado for desconhecido.
  • 8. Agradecimentos Os autores agradecem ao Conselho de Desenvolvimento Cient´ıfico e Tecnol´ogico (CNPq) pelo apoio financeiro, no projeto 560067/2010-0 e a Fundac¸˜ao de Amparo `a Pesquisa do Estado de S˜ao Paulo (FAPESP) no processo 2013/16161-3. Referˆencias Bezerra, T. (2012). Robodeck: Controle de robˆos via voz. Dispon´ıvel em: ¡http://www.baguete.com.br/noticias/24/08/2012/ robodeck-controle-de-robos-voz¿. Acesso em 03 de Marc¸o de 2014. Finep (2013). Robodeck: Plataforma universal para pesquisa e educac¸˜ao. Dispon´ıvel em: ¡http://www.finep.gov.br/imprensa/noticia.asp? cod_noticia=2102¿. Acesso em 2 de Setembro de 2014. Inovando, C. (2013). Teste de controle do robˆo usando wi-fi via celular com acelerometro. Dispon´ıvel em: ¡http://teas-star.com/x/portugues/ robodeck-teste-de-controle-do-robo-usando-wi-fi-via-celu lar-com-acelerometro/¿. Acesso em 02 de Setembro de 2014. Lemvigh, D. e Moller, A. (2008). Advanced robot navigation for multiagent systems using lego nxt. page 120, Technical University of Denmark,Informatics and Mathematical Modelling Building, Denmark. Netto, A. V., Miranda, F. A., e Pinto, M. A. G. (2012). Driver control for mobile robot and application control trajectory with computer vision. In RoboControl, 5a Workshop in Applied Robotics and Automation, pages 1–7. Ogata, K. (2011). Engenharia de Controle Moderno. Pearson Education, 5 edition. Pessin, G., Os´orio, F., S.Musse., Nonnemmacher, V., e Ferreira, S. S. (2007). Utilizando redes neurais artificiais no controle de robˆos m´oveis aplicados ao combate de incˆendios florestais. In SEMINCO, XVI Semin´ario de Computac¸˜ao, pages 19–30. Showstack, R. (2011). Curiosity on the way to mars. Eos, Transactions American Geo- physical Union, 92(49):455–455. Wolf, D. F., Os´orio, F. S., Sim˜oes, E., e Onofre, J. T. (2009). Intelligent robotics: From simulation to real world applications. Universidade de S˜ao Paulo, USP. XBot (2014). Robodeck plataforma para pesquisa. Dispon´ıvel em: ¡http://www. xbot.com.br/educacional/robodeck/¿. Acesso em 28 de Agosto de 2014. Zanolla, L., de Sousa, D. R., Furlaneto, R. M., Botelho, W. T., e Marietto, M. G. B. (2014a). Experimento real na descida - robodeck. Dispon´ıvel em: ¡https://www. youtube.com/watch?v=EgZWQNXPoqg¿. Acesso em 18 de Setembro de 2014. Zanolla, L., de Sousa, D. R., Furlaneto, R. M., Botelho, W. T., e Marietto, M. G. B. (2014b). Experimento real na subida - robodeck. Dispon´ıvel em: ¡https://www. youtube.com/watch?v=UecNM2E7C4c¿. Acesso em 18 de Setembro de 2014. ZIEGLER, J. G. e NICHOLS, N. B. (1993). Optimum settings for automatic controllers. J. Dyn. Sys. Meas. Control, 115(2B):220–222.