implementação com validação real de um controle proporcional, integral e derivativo na...

8
Implementac ¸˜ ao com Validac ¸˜ ao Real de um Controle Proporcional, Integral e Derivativo na Plataforma Rob´ otica RoboDeck Leandro Zanolla 1 , Daniel Rodrigues de Sousa 1 , Renan Morais Furlaneto 2 , Wagner Tanaka Botelho 1 e Maria das Grac ¸as Bruno Marietto 2 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

Upload: daniel-rodrigues-de-sousa

Post on 22-Jul-2015

90 views

Category:

Technology


1 download

TRANSCRIPT

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

Implementacao com Validacao Real de um ControleProporcional, Integral e Derivativo na Plataforma Robotica

RoboDeck

Leandro Zanolla1, Daniel Rodrigues de Sousa1, Renan Morais Furlaneto2,Wagner Tanaka Botelho1 e Maria das Gracas Bruno Marietto2

1Mestrado em Ciencia da Computacao – Universidade Federal do ABC (UFABC)Av. dos Estados, 5001 – Bairro Bangu – CEP: 09210-580 – Santo Andre – SP – Brasil

2Universidade Federal do ABC (UFABC)Centro de Matematica, Computacao e Cognicao (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 lastdecades, 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 indifferent situations. For example, in the rescue, surveillance and perform tasksin areas with difficult access. Thus, this work aims to study and implement inthe real robot the Proportional, Integral and Derivative (PID) control algorithmin the RoboDeck platform.

Resumo. Embora a grande maioria dos robos atuais sejam manipuladores in-dustriais, nas ultimas decadas, surgiram robos de aplicacoes nao convencionaisconhecidos como os robos de servicos. Este tipo de robo executa tarefas deforma autonoma ou parcialmente, alem de serem uteis ao bem estar do homemem diversas situacoes. Por exemplo, no resgate, na vigilancia e na realizacaode tarefas em locais de difıcil acesso. Sendo assim, para que um robo movelpossa se locomover em um ambiente e necessario estudar e implementar em umrobo real o controlador do tipo Proporcional, Integral e Derivativo (PID) naplataforma robotica RoboDeck.

1. IntroducaoO conceito da robotica surgiu no inıcio da historia quando os mitos faziam referencia amecanismos que ganhavam vida. Os primeiros modelos de robos comecaram a ser encon-trados na civilizacao grega e tinham aparencia humana e/ou animal, alem de serem usadosem sistemas de pesos e bombas pneumaticas. Entretanto, nao tinham nenhuma necessi-dade pratica ou economica e nenhum sistema complexo de produtividade que exigisse aexistencia de robos.

O estudo da robotica movel e um tema bastante relevante e atual, sendo quepesquisas envolvendo essa area permitiram que houvesse um grande salto em seu de-senvolvimento nas ultimas duas decadas. A aplicacao pratica de robos moveis junto adiferentes atividades na sociedade vem demonstrando o quao promissor e o futuro desta

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

area [Wolf et al. 2009]. Portanto, pode-se citar alguns tipos de robos que reforcam a im-portancia das pesquisas, por diversos motivos, como economicos e estrategicos. Por ex-emplo, robos domesticos (e.g. aspiradores de po e cortadores de grama), industriais (e.g.veıculos autonomos), militares (sistemas de monitoramento aereo) e seguranca (robos depatrulhamento de ambientes).

Os diversos robos moveis existentes na literatura demonstram a sua relevancia nocenario atual da pesquisa na area. O uso de robos na navegacao em ambientes desconheci-dos apresenta-se como uma alternativa para evitar o trabalho do homem na exploracao delugares possivelmente hostis e podem ser utilizados em diversas aplicacoes. 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 robotica RoboDeck [XBot 2014] comtecnicas de visao computacional na navegacao, controlando os sensores e atuadores.

A navegacao de robos moveis e ainda uma das tarefas mais complexas de se re-alizar, envolvendo diversos tipos de incertezas nas medicoes que podem estar relacionadascom a instabilidade fısica das rodas, limitacoes do hardware, ente outros. Alem disso, oambiente de navegacao pode ser variavel, quando por exemplo, a existencia de pedestres,mudanca de luminosidade, obstaculos, dentre outros.

Na escolha de um sistema de navegacao, diversos fatores precisam ser levadosem consideracao, como a configuracao das rodas, o sistema de posicionamento e a tarefaa ser realizada. O sistema de navegacao precisa ser capaz de permitir uma navegacaosegura e precisa, sem fazer com que o robo se perca ou fique preso em algum obstaculopresente no percurso a realizar, o que pode afetar o sucesso na realizacao de sua tarefa[Lemvigh e Moller 2008]. Existem diversos trabalhos que utilizam tecnicas para que orobo 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 eum controle em malha fechada com realimentacao realizada a partir de um sensor queenvia um comando para o atuador.

A principal contribuicao do presente trabalho e mostrar a possibilidade de imple-mentar o controle PID na plataforma robotica RoboDeck. Portanto, para a validacao realdo controle implementado, o comportamento do robo e analisado na descida e subida deuma rampa.

Este trabalho esta organizado como se segue. Na Secao 2 o controlador PID im-plementado no RoboDeck sera explicado. Maiores detalhes sobre a plataforma RoboDeckserao considerados na Secao 3. Os resultados serao descritos na Secao 4. Finalmente, naSecao 5 as conclusoes e algumas propostas de trabalhos futuros sao apresentadas.

2. Controlador PIDO uso de sistemas de controle de malha fechada em robotica e de suma importancia parao controle de diversos dispositivos de tracao e direcao. Existem diversos metodos quepodem ser usados para o controle de velocidade e posicao.

O controlador PID [Ogata 2011] e um sistema de controle de malha fechada eamplamente usado em sistemas embarcados, automacao industrial e em diversos tipos decontroladores como de temperatura, velocidade, posicao, entre outros. O erro e calculadopela diferenca entre o valor do processo Process Variable (PV) e o valor desejado Setpoint

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

(SP). Neste caso, o controlador tenta minimizar o erro atraves de uso de uma variavelmanipulada.

O controlador PID, como a sua sigla sugere, e composto por tres termos: Pro-porcional (P), Integral (I) e Derivativo (D). O P depende do erro atual, I atua sobre oacumulo dos ultimos erros, e D e a previsao dos futuros erros, com base na taxa atual demudanca. A soma ponderada destas tres acoes e usada para ajustar um elemento de cont-role, como uma valvula, um motor, um atuador ou a potencia fornecida a um elemento deaquecimento, entre outros.

2.1. Controlador Proporcional

O controlador P e empregado em sistemas onde a acao de controle deve ser mais suave emrelacao ao controlador ON-OFF, onde neste tipo de controlador o elemento de controlee simplesmente chaveado de acordo com o SP e em cima de uma histerese para evitarchaveamentos rapidos de controle. Este controlador fornece uma relacao linear entre adiferenca do PV e SP, de modo que a acao de controle e proporcional ao ganho Kp,podendo ter uma acao rapida ou lenta. Uma escolha adequada de Kp e necessaria para ofuncionamento do sistema. A atuacao do controlador proporcional e dada pela Equacao1.

u(t) = Kp · e(t) (1)

Uma caracterıstica do P e que quando o sistema estabiliza a saıda nao se estabilizano SP, ficando um valor fora do PV, gerando um valor de erro entre o SP e o PV. Esteerro e chamado de offset, sendo maior quando o ganho Kp for menor. Em contrapartida,quanto maior o valor do Kp aumenta a possibilidade de oscilacoes no PV.

2.2. Controlador Integral

No controlador P, quando ocorrem variacoes de carga, o valor do offset varia, e este ajustedeve ser feito de forma automatica e nao manual. Este erro, ao ser integralizado no tempoajuda a zerar o offset. E por este motivo que o controlador I nao trabalha sozinho, estandosempre presente nos controladores PI ou PID. Portanto, a acao do controlador I e dadapela Equacao 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, aplicandouma correcao proporcional a esta velocidade, resultando em uma correcao antecipada pormeio da derivada do sinal de erro.

Como ocorre no controlador I, o D nao e implementado de forma isolada, estandopresente nos controladores PD ou PID. A Equacao 3 mostra a acao do controlador Dque tem como objetivo amortecer as oscilacoes do sistema, antecipando o sinal de errocalculando a sua derivada.

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

u(t) = Kd ·d e(t)

dt(3)

2.4. Controlador Proporcional, Integral e DerivativoFinalmente, com a juncao das Equacoes 1, 2 e 3 tem-se o controlador PID.

O uso do controlador PID e muito difundido para a maioria dos casos, ja que ini-cialmente nao ha necessidade de se conhecer a planta de controle. E possıvel o ajuste man-ual dos parametros Kp, Ki e Kd, como tambem pode-se usar alguns metodos consagra-dos para a sintonia desses parametros, como por exemplo o metodo de Ziegler-Nichols[ZIEGLER e NICHOLS 1993].

3. Plataforma RoboDeckA plataforma robotica RoboDeck e open source, desenvolvida pela XBot [XBot 2014]e ilustrada na Figura 1. O robo possui rodas omnidirecionais, que permite o seu deslo-camento em qualquer direcao, sensores ultrassonicos e infravermelho. Alem disso, ohardware basico e composto por modulos adicionais, como por exemplo, uma placa dealta performance com Linux embarcado, comunicacao wifi e bluetooth, uma camera cominterface USB, entre outros dispositivos. Sendo assim, pode ser controlado remotamenteou funcionar de forma autonoma para realizar tarefas pre-determinadas.

A arquitetura do RoboDeck pode ser dividida em software e hardware. O primeiromicrocontrolador responsavel pelos sensores e atuadores encontra-se na Placa Robotica,sendo o software utilizado e definido como Modulo de Controle Robotico (MCR). Estemodulo age como um robo escravo, executando sequencialmente os comandos enviadospela Universal Asynchronous Receiver/Transmitter (UART), que corresponde a interfaceserial. O segundo microcontrolador tem como objetivo realizar a comunicacao de con-trole do robo e tambem por manter a sua identidade. Neste caso, a comunicacao e im-plementada com o protocolo Zigbee pelo Modulo de Controle de Comunicacao (MCC)localizado na Placa de Comunicacao.

Uma possıvel aplicacao e o seu uso no monitoramento de areas de risco emindustrias petroquımicas e usinas de geracao de energia, como nuclear e termoeletrica[Finep 2013]. Em [Inovando 2013], a plataforma foi controlada a partir de um celular,mudando sua direcao e aceleracao. Em [Bezerra 2012], os movimentos do RoboDeckforam controlados por comandos de voz, alem de desviar de objetos e definir rotas es-pecıficas.

4. Resultados4.1. Implementacao do PID no RoboDeckOs resultados que serao descritos nesta secao foram obtidos implementando o controlePID descrito na Secao 2 na plataforma RoboDeck. A plataforma possui um SoftwareDevelopment KIT (SDK) desenvolvido pela XBot [XBot 2014], de modo que atraves daaplicacao elaborada, seja enviado querys de comando para o SDK que serao convertidospara a linguagem do robo, que efetuara o comando desejado.

A Figura 2 ilustra a funcionalidade do software implementado em C#. Estaaplicacao e responsavel pelo controle PID, leitura e envio dos dados ao SDK e coleta

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

Figure 1. A Plataforma Robotica RoboDeck [XBot 2014].

Figure 2. Fluxograma de Atuacao do PID no SDK.

Figure 3. Diagrama com a Implementacao do Controlador PID no RoboDeck.

de dados para analise atraves de uma query, convertendo em tempo real os comandospara ser enviado ao RoboDeck via wifi. Existe um delay entre o envio e resposta doscomandos e a latencia ocorre devido as camadas de aplicacao existentes, e pela respostado robo entre a Placa de Alta Performance e o microcontrolador que atua nos elementosde controle.

O diagrama ilustrado na Figura 3 mostra a implementacao do sistema de controle,com o controlador PID implementado em C# e a planta de controle, que e o Robodeck. Osparametros Kp, Ki e Kd, os dados de SP, o valor de processo (PV) e dados coletados estaono PC, ou seja na aplicacao. O envio do esforco de controle e recebimento dos dados doencoder e realizado pela conexao wifi para o PC com a aplicacao, fechando assim a malhade controle.

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

4.2. Experimentos

O controle dos motores no RoboDeck tem o seu valor corrigido por meio de um metodo doSDK, cujo esforco e representado por uma faixa que varia entre -32767 a +32767, sendo32767 a velocidade maxima. No algoritmo implementado, o SP e o valor desejado e asvariaveis Kp, Ki e Kd sao constantes que foram definidas tendo como base os movimentosdo RoboDeck durante o experimento. O SP corresponde ao numero de pulsos desejados acada segundo, e o valor do PV (Realimentacao), esta relacionado com o valor de retornodo encoder de cada motor. Os pulsos de cada motor sao obtidos pelo encoder, comvariacao na faixa de 0 a 400 pulsos por volta, ou seja, uma volta completa da roda do robocorresponde a 400 pulsos do encoder.

Como a base de tempo utilizado pela aplicacao e de 1 segundo, logo o valor darotacao em Rotacoes por Segundo (RPS) e dado pela Equacao 4.

RPS =pulsos

400(4)

A resultante do algoritmo proposto, exemplifica de forma ideal, o que de fato semostra ser um controle PID, dando estabilidade e suavidade a locomocao do robo emterrenos irregulares, rampas e declives, praticando uma correcao independente e propor-cional em seus dois motores de tracao. Portanto, cada motor do RoboDeck recebe umvalor de esforco diferente a cada iteracao, equilibrando as forcas para garantir uma mel-hor resposta do robo em diferentes cenarios.

O algoritmo PID no RoboDeck foi validado no cenario ilustrado na Figura 4.Pode-se observar que o robo esta se movimentando na descida de uma rampa com pe-quena inclinacao mas suficiente para validar o funcionamento do controle. E importantedestacar que a velocidade inicial definida no experimento foi de 10 pulsos de encoderpor segundo, equivalente a 0, 025RPS, calculado usando a Equacao 4. Durante o experi-mento foi capturado os dados relacionados aos encoders e tambem o esforco dos motorespara analisar e validar o comportamento do controle PID implementado e estao ilustradosnos graficos 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 acao do PID manteve a velocidade constante em 10 pulsos de encoder por segundo,em (b) o esforco do motor se manteve constante, em torno de 500, que corresponde a1, 52% da potencia do motor, a partir do momento que a velocidade inicial foi estabele-cida. No intervalo II entre 12 e 14 segundos houve uma aceleracao do RoboDeck, saindodo plano para a descida, fazendo com que o algoritmo faca a correcao, freando o robo,como pode ser visto em 3©, 4© e 5©. No intervalo posterior a 15 segundos em III , aretomada da velocidade em 6© foi realizada aumentando a potencia dos motores ate oRoboDeck alcancar a velocidade inicial.

O movimento de subida da rampa tambem foi realizado para verificar o compor-tamento do PID e o vıdeo pode ser visualizado em [Zanolla et al. 2014b].

5. Conclusoes e Trabalhos FuturosO controle PID foi implementado e validado atraves de um experimento real utilizandoa plataforma RoboDeck na descida de uma rampa. Os resultados obtidos mostra que e

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

Figure 4. Experimento Real do RoboDeck na Descida [Zanolla et al. 2014a].

Figure 5. Dados Reais do Encoder e Variacao da Potencia dos Motores em (a) e(b), respectivamente.

possıvel atraves de uma aplicacao de alto nıvel a implementacao do algoritmo, mesmocom algumas limitacoes decorrentes das latencias provocadas pelas diferentes camadasde hardware e software. Entretanto, uma forma de diminuir a latencia e a implementacaodo controlador PID diretamente no RoboDeck, seja na Placa de Alta Performance ouno microcontrolador, melhorando o controle de velocidade, alem de permitir folgas detempo para a implementacao de outros algoritmos. Contudo, e importante ressaltar queos resultados obtidos nos experimentos foram satisfatorios.

Como trabalho futuro, o RoboDeck precisa saber a sua posicao no espaco e teralguma referencia. Um dos maiores problemas encontrados para a localizacao esta rela-cionado com a tecnica Dead-reckoning. A ideia e a utilizacao da posicao atual somadaao deslocamento realizado, a partir do valor da velocidade e tempo. Assim, a posicao esempre uma funcao da anterior, o que acaba fazendo com que haja um grande acumulo deerros. Portanto, e necessario utilizar algum metodo matematico para a reducao dos erros,como por exemplo o Filtro de Kalman que e utilizado para a localizacao de robos moveistanto em ambientes conhecidos como desconhecidos. O filtro consiste de um conjuntode equacoes matematicas que fornece uma forma computacional eficiente para estimar oestado de um processo, de forma a minimizar o erro quadratico medio. Alem disso, epoderoso em diversos aspectos: (i) estimacoes de eventos passados, presentes e futuros;(ii) utilizado ate mesmo quando a natureza do sistema modelado for desconhecido.

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

AgradecimentosOs autores agradecem ao Conselho de Desenvolvimento Cientıfico e Tecnologico (CNPq)pelo apoio financeiro, no projeto 560067/2010-0 e a Fundacao de Amparo a Pesquisa doEstado de Sao Paulo (FAPESP) no processo 2013/16161-3.

ReferenciasBezerra, T. (2012). Robodeck: Controle de robos via voz. Disponıvel

em: ¡http://www.baguete.com.br/noticias/24/08/2012/robodeck-controle-de-robos-voz¿. Acesso em 03 de Marco de 2014.

Finep (2013). Robodeck: Plataforma universal para pesquisa e educacao.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 robo usando wi-fi via celular comacelerometro. 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 usinglego nxt. page 120, Technical University of Denmark,Informatics and MathematicalModelling Building, Denmark.

Netto, A. V., Miranda, F. A., e Pinto, M. A. G. (2012). Driver control for mobile robotand application control trajectory with computer vision. In RoboControl, 5a Workshopin Applied Robotics and Automation, pages 1–7.

Ogata, K. (2011). Engenharia de Controle Moderno. Pearson Education, 5 edition.

Pessin, G., Osorio, F., S.Musse., Nonnemmacher, V., e Ferreira, S. S. (2007). Utilizandoredes neurais artificiais no controle de robos moveis aplicados ao combate de incendiosflorestais. In SEMINCO, XVI Seminario de Computacao, 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., Osorio, F. S., Simoes, E., e Onofre, J. T. (2009). Intelligent robotics: Fromsimulation to real world applications. Universidade de Sao 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.