The use of Educational Robotics as an tool in the teachinglearning
process allows students to develop hypotheses related to the development
of skills, finding solutions, building relationships, among others. The
Proportional-Integral-Derivative (PID) control algorithm is a widely used in
industry and academia. Its popularity can be attributed in part to its robust
performance and its simplicity. The McLab2 is an educational board for easy
access and management that was used in this work for the student to study and
implement the PID in a practical way without using the time to build the hardware
to validate the algorithm.
Robótica Educacional: Estudo com Validação Real do Controlador Proporcional Integral e Derivativo na Plataforma McLab2
1. Rob´otica Educacional: Estudo com Validac¸ ˜ao Real do
Controlador Proporcional Integral e Derivativo na Plataforma
McLab2
Daniel Rodrigues de Sousa1, Leandro Zanolla1, Wagner Tanaka Botelho1,
Maria das Grac¸as Bruno Marietto2 e Renan Morais Furlaneto2
1Mestrado 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
2Universidade Federal do ABC (UFABC)
Centro de Matem´atica, Computac¸ ˜ao e Cognic¸ ˜ao (CMCC)
fdaniel.sousa, leandro.zanollag@ufabc.edu.br
fwagner.tanaka, graca.mariettog@ufabc.edu.br
Abstract. The use of Educational Robotics as an tool in the teaching-learning
process allows students to develop hypotheses related to the devel-opment
of skills, finding solutions, building relationships, among others. The
Proportional-Integral-Derivative (PID) control algorithm is a widely used in
industry and academia. Its popularity can be attributed in part to its robust
performance and its simplicity. The McLab2 is an educational board for easy
access and management that was used in this work for the student to study and
implement the PID in a practical way without using the time to build the hard-ware
to validate the algorithm.
Resumo. A utilizac¸ ˜ao da Rob´otica Educacional como ferramenta de aux´ılio
no processo de ensino-aprendizagem permite aos estudantes desenvolverem
capacidades relacionadas `a elaborac¸ ˜ao de hip´oteses, busca de soluc¸ ˜oes, es-tabelecimento
de relac¸ ˜oes, entre outras. O controle Proporcional-Integral-
Derivativo (PID) ´e um algoritmo muito utilizado em meios industriais e
acadˆemicos. A sua popularidade pode ser atribu´ıda em parte ao seu desem-penho
robusto e da sua simplicidade. O McLab2 ´e uma placa did´atica de f´acil
acesso e manejo que foi utilizada neste trabalho para que o aluno possa estudar
e implementar o PID de forma pr´atica sem utilizar o tempo na construc¸ ˜ao do
hardware para validar o seu algoritmo.
1. Introduc¸ ˜ao
A Rob´otica ´e um ramo da ciˆencia constitu´ıda de ferramentas, metodologias e tecnologias
da mecˆanica, da eletrˆonica e da computac¸ ˜ao. Compreende conceitos te´oricos referentes
a algumas ´areas do saber, tais como Matem´atica, F´ısica, Qu´ımica, Biologia e Educac¸ ˜ao.
Al´em disso, busca informac¸ ˜oes em outras ´areas como Neurologia, Fisiologia e Psicologia,
por exemplo. Assim, ´e uma ciˆencia interdisciplinar e, para o seu desenvolvimento, ´e
necess´aria a contribuic¸ ˜ao de pessoas de diversas ´areas [Gonc¸alves 2012].
A preocupac¸ ˜ao maior no ensino tradicional est´a na apresentac¸ ˜ao de conceitos con-tidos
em um curr´ıculo escolar de modo principalmente te´orico. Esse enfoque provoca um
2. distanciamento entre o que ´e ensinado e a realidade dos fenˆomenos f´ısicos, biol´ogicos e
sociais em que o aprendiz est´a inserido. Isto pode ser observado pelo significativo n´umero
de estudantes que sentem dificuldades em aprender conceitos de matem´atica, ciˆencias, bi-ologia
entre outras disciplinas. Tamb´em ´e elevado o n´umero de alunos que, embora nunca
tenham demonstrado problemas no aprendizado de tais conceitos se mostram incapazes
de aplic´a-los de forma pr´atica [Valente e Canhette 1995].
Diante da importante contribuic¸ ˜ao que a Rob´otica Educacional vem trazendo para
a educac¸ ˜ao, esse artigo pretende analisar a maneira como utilizar a Rob´otica Educacional,
mais especificamente a plataforma McLab2 a ser utilizada para auxiliar no processo de
ensino-aprendizagem no estudo e implementac¸ ˜ao do controlador Proporcional, Integral
e Derivativo (PID) muito utilizado no controle de robˆos m´oveis. A partir dos resultados
obtidos pretende-se modelar e implementar experimentos relacionados ao PID, propor-cionando
aos alunos a possibilidade de entender toda a teoria de controle antes de imple-mentar
em um robˆo m´ovel real. ´E
importante destacar que o uso de plataformas prontas
reduz o tempo de desenvolvimento em qualquer projeto.
A placa de desenvolvimento McLab2 [SOUSA et al. 2010], produzido pela Mo-saico
Engenharia [Mosaico 2014] ´e uma placa educacional de f´acil utilizac¸ ˜ao para ser
usado em diversos tipos de projetos, desde controle, automac¸ ˜ao, ´audio, acionamento de
motores e outros. O hardware foi projetado de modo que n˜ao h´a necessidade de prototi-pagem
em placas padr˜oes, montagens em protoboards, entre outras. Pode-se ser usada
perfeitamente em rob´otica no estudo de t´ecnicas de controle, algoritmos, acionamento de
perif´ericos e outros testes preliminares.
Na Sec¸ ˜ao 2 tem-se a descric¸ ˜ao sobre a Rob´otica Educacional, citando alguns kits
rob´oticos, como por exemplo o McLab2 que ser´a utilizado nos experimentos do presente
trabalho. A teoria do Controlador PID ´e descrito na Sec¸ ˜ao 3. Os resultados dos experi-mentos
e as conclus˜oes e trabalhos futuros est˜ao detalhados nas Sec¸ ˜oes 4 e 5, respectiva-mente.
2. Rob´otica Educacional
A Rob´otica com fins educacionais configura-se como uma das novas possibilidades de
uso tecnol´ogico que est˜ao adentrando o universo escolar e modificando a forma de trans-miss
˜ao de conte´udos. Entretanto, antes de adentrar instituic¸ ˜oes educacionais, a rob´otica
atravessa fases evolutivas, oferecendo contribuic¸ ˜oes diversas para ˆambitos da sociedade,
perpassando assim, pela educac¸ ˜ao [Silva et al. 2008].
A Rob´otica Educacional ´e uma pr´atica envolvendo hardware e software, onde a
l´ogica ´e inerente na montagem e programac¸ ˜ao dos robˆos que normalmente s˜ao problemas
do mundo real que estimulam o aprendizado de conceitos intuitivos. Portanto, v´arios kits
rob´oticos educacionais, descritos a seguir, podem ser utilizados para tornar o aprendizado
mais significativo por mobilizar, atrav´es de seu estudo pedag´ogico, diferentes tipos de
conhecimento e competˆencias.
2.1. Kits Rob´oticos
Os kits rob´oticos tamb´em contribu´ıram para a conduc¸ ˜ao de uma s´erie de experimentos
nesta tem´atica. Tais kits consistem de diversas pec¸as, motores e sensores control´aveis por
computador e softwares que permitem programar o funcionamento dos robˆos montados.
3. Como exemplo, pode-se citar os kits LEGO Mindstorms [LEGO 2014], VEX
Robotis [VEX 2014], Robotics [Robotis 2014] utilizados na construc¸ ˜ao e programac¸ ˜ao
de diversos tipos de robˆos que podem ser constru´ıdos pelos alunos na tentativa de adquirir
meios para resolver diversos problemas. Al´em disso, o professor pode utilizar todo re-curso
dispon´ıvel nesses kits para demonstrar na pr´atica muitos conceitos te´oricos.
2.2. Placas Rob´oticas
As placas rob´oticas s˜ao placas de circuito impresso, ou seja, que possuem a superf´ıcie
coberta numa ou nas duas faces por uma fina pel´ıcula de cobre, prata, ou ligas `a base
de ouro, n´ıquel entre outras, nas quais s˜ao desenhadas pistas condutoras que representam
o circuito onde ser˜ao fixados os componentes eletrˆonicos. Muitas placas podem ser uti-lizadas
na realizac¸ ˜ao de pequenos experimentos at´e mesmo no controle de robˆos m´oveis.
A placa GoGo Board foi desenvolvida pelos pesquisadores do Future of Learning
Group no Media Laboratory do MIT. Inicialmente foi proposta como uma alternativa ao
RCX do conjunto de rob´otica LEGO [Sipitakiat et al. 2004]. O Arduino [Arduino 2014] ´e
um projeto de uma plataforma eletrˆonica baseada em um hardware e um software flex´ıveis
e de f´acil aprendizado.
A placa McLab2 [SOUSA et al. 2010, Mosaico 2014], produzida pela Mosaico
Engenharia ´e utilizada neste trabalho para validar o controle PID e ser´a descrita a seguir.
2.2.1. A Plataforma McLab2
A plataforma McLab2 ´e ilustrada com os seus principais componentes na Figura 1, sendo
dotada de um microcotrolador PIC18F452, LCD alfanum´erico 16x2 com controlador HD
44780 Hitachi ou similar, displays de LEDs de sete segmentos, teclas e LEDs, buzzer,
mem´oria serial EEPROM 24C04 (protocolo I2C), comunicac¸ ˜ao serial RS-232, convers˜ao
anal´ogico/digital, sensor de temperatura, aquecedor, ventilador, tacˆometro, leitura de
jumpers, conector de expans˜ao contendo 15 I/O’s, bot˜ao de reset manual e conector in-circuit
para gravac¸ ˜ao do microcontrolador.
Uma possibilidade de aplicac¸ ˜ao da plataforma McLab2 ´e a prototipagem de di-versos
projetos, sem a necessidade de montagens em protoboard ou em placa universal.
Pode-se testar diversas aplicac¸ ˜oes, acelerando assim o desenvolvimento de projetos de
sistemas embarcados.
O elemento principal da placa McLab2 ´e o microcontrolador PIC18F452
[SOUSA et al. 2010] de 8 bits que oferece um tempo de resposta r´apido para a maio-ria
das aplicac¸ ˜oes. Internamente o PIC possui uma arquitetura Harvard, com um set de
instruc¸ ˜oes RISC contendo 75 instruc¸ ˜oes. Al´em disso, possui uma s´erie de recursos que fa-cilita
ao desenvolvedor na elaborac¸ ˜ao do hardware, sem a necessidade de incluir recursos
externos [SOUSA et al. 2010].
3. O Controlador PID
Os controladores podem ser definidos como equipamentos que, de acordo com sua es-trat
´egia de controle, atuam no processo, tomando as decis˜oes necess´arias conforme o sinal
recebido em sua entrada. No caso de controle em malha fechada, ou seja, um controle
4. Conector de RS-232
LCD Expansão
alfanumérico PIC18F452
BO
Botões e LEDs Display de
LED Buzzer
Jumper
Conector de
gravação
Ventilador
Figure 1. A Plataforma McLab2.
em que h´a a existˆencia de um feedback ou realimentac¸ ˜ao a partir de um sensor, enviando
um comando ao atuador, o qual entrega energia ao processo, com o intuito de manter a
grandeza controlada dentro dos limites pr´e-determinados.
O controlador PID ´e um sistema de controle de malha fechada cl´assico usado na
rob´otica e tamb´em na industria e automac¸ ˜ao em geral. O erro ´e calculado pela diferenc¸a
entre o valor do processo (Process Variable - PV) e o valor desejado (Set Point - SP). Neste
caso, o controlador tenta minimizar o erro atrav´es do uso de uma variavel manipulada.
Nas pr´oximas sec¸ ˜oes ser˜ao descritas as principais ac¸ ˜oes deste controlador.
3.1. Ac¸ ˜ao Proporcional
Na Ac¸ ˜ao Proporcional (P), a relac¸ ˜ao entre a sa´ıda e o sinal de erro, ´e dada pela Equac¸ ˜ao
1, onde Kp ´e o ganho proporcional, u(t) ´e que o valor de sa´ıda e e(t) ´e o valor do erro.
u(t) = Kp e(t) (1)
Este tipo de controlador ´e relativamente simples, por´em em alguns casos, depen-dendo
do processo de interesse a ser controlado, n˜ao atinge a estabilidade desejada, po-dendo
gerar oscilac¸ ˜oes permanentes que dependem do ajuste do seu ganho. Uma carac-ter
´ıstica deste controlador ´e o sistema n˜ao se estabilizar no PV, gerando um erro chamado
de off-set.
3.2. Ac¸ ˜ao Integral
Considerando que a sa´ıda do controlador ´e func¸ ˜ao do erro e da integral do erro, tem-se um
controlador do tipo Integral (I), que pode ser descrito na Equac¸ ˜ao 2, onde Ki ´e o ganho
integral.
u(t) = Ki
Z t
0
e( )d (2)
5. Com este tipo de ac¸ ˜ao, elimina-se um dos problemas do controlador propor-cional,
que ´e o off-set, fazendo com que este conjunto seja mais preciso. Na maioria das
aplicac¸ ˜oes, o controlador Proporcional-Integral (PI) j´a soluciona a maioria dos problemas
de controle.
3.3. Ac¸ ˜ao Derivativa
No controlador Derivativo (D) o sinal de controle u(t) ´e proporcional ao erro e a taxa de
variac¸ ˜ao, resultando em uma correc¸ ˜ao antecipada por meio da derivada do sinal de erro,
podendo ser descrito pela Equac¸ ˜ao 3, onde Kd ´e o ganho derivativo.
u(t) = Kd
de
dt
(3)
Para entender melhor essa ac¸ ˜ao, pode-se imaginar o seguinte caso: se o erro cresce
rapidamente, sua sa´ıda ser´a um valor grande e se o erro cresce lentamente, a sa´ıda apre-sentar
´a um valor menor. Assim, tem a caracter´ıstica de responder rapidamente a qualquer
variac¸ ˜ao da grandeza em relac¸ ˜ao ao SP. O controlador Proporcional-Derivarivo (PD) ´e
usado quando necessita de uma ac¸ ˜ao r´apida de controle.
3.4. Ac¸ ˜ao Proporcional-Integral-Derivativa
A ac¸ ˜ao P, I, D resulta da combinac¸ ˜ao de cada modo. Neste caso, utiliza-se as vantagens e
desvantagens de um PI e as vantagens de um PD, em uma soma ponderada das trˆes ac¸ ˜oes,
podendo ser expresso pela junc¸ ˜ao das Equac¸ ˜oes 1, 2 e 3.
Com essa ac¸ ˜ao obt´em-se um controle com resposta r´apida e com condic¸ ˜ao de
minimizar o erro de regime permanente, consistindo em uma das estrat´egias de controle
mais utilizadas.
4. Resultados
O algoritmo PID descrito na Sec¸ ˜ao 3 foi implementado, utilizando a linguagem C, no
McLab2 ilustrado na Figura 1, tendo como compilador o C18, fornecido gratuitamente
pela Microchip [Microchip 2014].
Um detalhe da placa McLab2 que possibilitou a implementac¸ ˜ao do PID foi o con-tador
de pulsos montado em torno do ventilador indicado na Figura 1. Al´em disso, a placa
´e composta por um LED infravermelho e um fototransistor montados de forma que as p´as
do ventilador corte o feixe de infravermelho, gerando assim os pulsos. Como o ventilador
usado possui sete p´as, logo temos sete pulsos por volta.
Os pulsos gerados pelo fototransistor s˜ao entregues ao pino de entrada do Timer 1,
sendo este configurado como contador de pulsos. Tendo uma base de tempo gerado pelo
Timer 2, pode-se ter uma leitura destes pulsos em rotac¸ ˜oes por segundo ou rotac¸ ˜oes por
minuto.
Como a base de tempo escolhido para este c´alculo e execuc¸ ˜ao do algoritmo PID
´e de 100 milissegundos, logo o valor da rotac¸ ˜oes em rotac¸ ˜oes por segundo (RPS) ´e dado
pela Equac¸ ˜ao 4.
RPS =
(pulsos 10)
7
(4)
6. Figure 2. Diagrama com a Implementac¸ ˜ao do Controlador PID no McLab2.
O valor da rotac¸ ˜ao ´e simplesmente para efeito de visualizac¸ ˜ao no LCD al-fanum
´erico e no canal de comunicac¸ ˜ao serial. O valor dos pulsos capturados na base
de tempo de 100 milissegundos ´e processado diretamente pelo algoritmo PID, evitando
assim c´alculos desnecess´arios. Em outras palavras o valor dos pulsos capturados ´e o PV.
J´a a velocidade do motor ´e controlado por uma tens˜ao modulada, usando o
m´odulo Capture, Compare, PWM (CCP) do microcontrolador configurado como PWM.
A frequˆencia deste PWM est´a em torno de 10 kHz com 10 bits de resoluc¸ ˜ao. O esforc¸o de
sa´ıda do algoritmo PID ´e inserido na func¸ ˜ao que controla o ciclo ativo do PWM, mudando
assim a velocidade do ventilador.
De acordo com a Figura 2, valor do Set Point (SP) ´e inserido atrav´es de uma
comunicac¸ ˜ao serial RS-232 entre a placa McLab2 e o PC atrav´es do software Docklight
[DockLight 2014]. O pacote de dados enviado `a McLab2 ´e composto por 4 bytes, sendo
que o primeiro byte ´e a letra ’S’ seguido de trˆes bytes correspondendo ao SP desejado,
podendo variar de 000 a 100 RPS. A placa McLab2 recebe esta informac¸ ˜ao e ajusta a
velocidade do motor, que ´e a planta do processo. O valor do processo (PV) ´e enviado
novamente pelo canal de comunicac¸ ˜ao serial para o PC e o software Docklight recebe os
dados para a elaborac¸ ˜ao de gr´aficos e estudo do comportamento do controle. O mesmo
dado do valor do processo (PV) ´e mostrado ao usu´ario atrav´es do LCD alfanum´erico.
Para a sintonia do PID foi usado o “m´etodo do ciclo m´aximo” proposto por
Ziegler-Nichols [ZIEGLER e NICHOLS 1993] que permite o ajuste dos parˆametros do
controlador PID sem a necessidade do conhecimento pr´evio da planta de controle. Ini-cialmente
os ganhos Kp, Ki e Kd foram zerados. O valor do SP foi colocado em 20 RPS
e o ganho Kp foi incrementado aos poucos, de modo a observar uma certa oscilac¸ ˜ao na
resposta ap´os o c´alculo do PID. Feito isso, o ganho Kp e a frequˆencia desta oscilac¸ ˜ao s˜ao
utilizados para calcular os valores de Kp, Ki e Kd segundo as Equac¸ ˜oes 5, 6 e 7 para um
controlador PI e Equac¸ ˜oes 8, 9 e 10 para um controlador PID.
Controlador PI:
Kp = 0; 45 Kp(ant) (5)
7. Figure 3. Resposta do PID na Placa McLab2.
Ki =
Freq
1; 2
(6)
Kd = 0 (7)
Controlador PID:
Kp = 0; 6 Kp(ant) (8)
Ki = 0; 5 Freq (9)
Kd = 0; 125 Freq (10)
Ap´os a sintonia do PID, verificou-se que a velocidade manteve constante no SP
ajustado pelo RS-232. Entretanto, velocidades abaixo de 8 RPS acaba gerando oscilac¸ ˜oes
devido a in´ercia do motor, mas observa-se o controle PID ajustando a velocidade. Con-tudo,
para simular uma carga (esforc¸o) na ponta de eixo do motor foi colocado o dedo
nas p´as do ventilador. De acordo com a Figura 3 com um valor de SP de 50 RPS foi
observado a ac¸ ˜ao de controle para manter a velocidade desejada. Ao retirar o esforc¸o,
foi observado a ac¸ ˜ao de controle inicialmente acelerando e rapidamente ajustando a ve-locidade
desejada, comprovando assim a ac¸ ˜ao do PID. Al´em disso, pode-se notar que o
gr´afico compara a ac¸ ˜ao do PID com o motor do ventilador sem carga, com carga e sem
carga ap´os a retirada da mesma.
5. Conclus˜oes e Trabalhos Futuros
Neste trabalho foi visto que o uso da placa McLab2 ajuda o aluno no entendimento
e implementac¸ ˜ao do algoritmo de controle PID. Os resultados mostraram que o cont-role
funcionou quando ru´ıdos foram inseridos no sistema de ventilac¸ ˜ao da placa. Com
isso, o aluno passa a entender o funcionamento do controle em um sistema real de f´acil
utilizac¸ ˜ao.
Como trabalhos futuros, pode-se realizar testes do algoritmo PID em Rapberry Pi,
BeagleBone Black e em diversos controles, como sistema de carga de baterias, controle
8. de posic¸ ˜ao de eixos, controle de velocidade e outros sistemas. Outros m´etodos de sintonia
autom´atica dever˜ao ser testados para tornar o uso do algoritmo PID mais simples no ponto
de vista de sintonia inicial. Al´em disso, os resultados mostram que ´e mais vi´avel entender
o PID utilizando a plataforma McLab2 antes de implementar o algoritmo em um hardware
mais complexo, como por exemplo no controle de um robˆo m´ovel.
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
Arduino (2014). What is arduino? Dispon´ıvel em: ¡http://arduino.cc/¿. Acesso
em 12 de Setembro de 2014.
DockLight (2014). Docklight version 2.0. Dispon´ıvel em: ¡http://www.
docklight.de/¿. Acesso em 11 de Setembro de 2014.
Gonc¸alves, L. M. G. (2012). Rob´otica, Principais Tendˆencias e Direc¸ ˜oes.
Dispon´ıvel em: ¡http://www.comciencia.br/reportagens/2005/10/
09.shtml¿. Acesso em 16 de Junho de 2014.
LEGO (2014). Lego mindstorms. Dispon´ıvel em: ¡http://www.lego.com/
mindstorms/default.aspx?domainredir=www.legomindstorms.
com¿. Acesso em 12 de Setembro de 2014.
Microchip (2014). Mplab c compiler for pic18 mcus (c18). Dispon´ıvel em: ¡http:
//www.microchip.com/Developmenttools/ProductDetails.aspx?
PartNO=SW006011¿. Acesso em 11 de Setembro de 2014.
Mosaico (2014). Manual da placa mclab2. Dispon´ıvel em: ¡http://mosaico.com.
br/Midias/Documentacao/ManualMcLab2(18F4550)_rev_02.pdf¿.
Acesso em 11 de Setembro de 2014.
Robotis (2014). Robotis kits. Dispon´ıvel em: ¡http://www.robotis.com/xe/¿.
Acesso em 12 de Setembro de 2014.
Silva, A. A. R. S., Barros, P. R., e Coelho, M. G. (2008). A Rob´otica Pedag´ogica no
Contexto da Educac¸ ˜ao Infantil: Auxiliando o Alfabetismo. pages 1–9.
Sipitakiat, A., Blikstein, P., e Cavallo, D. P. (2004). Gogo board: Augmenting pro-grammable
bricks for economically challenged audiences. In Proc. of the 6th Int. Conf.
on Learning Sciences, pages 481–488. International Society of the Learning Sciences.
SOUSA, D. R., SOUZA, D. J., e LAVINIA, N. C. (2010). Desbravando o Microcontro-lador
PIC18 (PIC18F4520) - Recursos Avanc¸ados. Editora ´ Erica, 1 edition.
Valente, J. A. e Canhette, C. C. (1995). LEGO-LOGO Explorando o Conceito de Design.
In Computadores e Conhecimento: Repensando a Educac¸ ˜ao.
VEX (2014). Vex robotics kits. Dispon´ıvel em: ¡http://www.vexrobotics.
com/¿. Acesso em 12 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.