• Nenhum resultado encontrado

2. Universidade Federal de Santa Maria - Control and Automation Engineering, Santa Maria, RS-Brazil. s:

N/A
N/A
Protected

Academic year: 2021

Share "2. Universidade Federal de Santa Maria - Control and Automation Engineering, Santa Maria, RS-Brazil. s:"

Copied!
6
0
0

Texto

(1)

ESTUDOCOMPARATIVODECONTROLADORESDESEGUIMENTODETRAJETÓRIAPARA ROBÔSDETRAÇÃODIFERENCIAL:FUZZY,GANHOSFIXOSEBACKSTEPPING EDUARDO ENRICO V.TOMMASI 1,HEITOR G. DE FARIA1,MARCO ANTONIO DE S.L.CUADROS1, GUSTAVO M.

ALMEIDA1, CASSIUS Z.RESENDE1, DANIEL FERNANDO TELLO GAMARRA2 1. Instituto Federal do Espírito Santo - Campus Serra

Rodovia ES 010, Km 6,5, 29173-087 Manguinhos, Serra, ES, Brasil.

E-mails: marcoantonio@ifes.edu.br, cassius@ifes.edu.br

2. Universidade Federal de Santa Maria - Control and Automation Engineering, Santa Maria, RS-Brazil.

E-mails: fernandotg99@yahoo.com

Abstract  This paper shows a performance comparison of three trajectory tracking controllers for differential drive robot. One is a fuzzy controller that corrects the robot position errors associating the position error with the linear velocity of the robot, in addition to associate the orientation error of the robot with the angular velocity. In the sequence, the article presents two other controllers that are designed following a methodology that ensures system stability, which are the kinematic trajectory tracking controller of fixed gains and the back-stepping controller. Ultimately, experimental results are presented and the three controllers are compared using the performance index IAE.

Keywords  Control of Robots, Mobile Robot, Trajectory Tracking

Resumo  O presente trabalho apresenta uma comparação do desempenho de três controladores de seguimento de trajetória pa- ra robôs de tração diferencial. Um deles é um controlador fuzzy próprio, que para corrigir os erros de posição do robô relaciona o erro de posição com a velocidade linear do robô, além de relacionar o erro de orientação do robô com a velocidade angular. Na sequência o artigo apresenta dois outros controladores projetados seguindo metodologias que garante a estabilidade do sistema, que são o controlador cinemático de seguimento de trajetória de ganhos fixos e o controlador backstepping. Ao final, resultados experimentais são apresentados e os três controladores são comparados utilizando-se o índice de desempenho IAE.

Palavras-chave  Controle de Robôs, Robôs Móveis, Seguimento de Trajetória.

1 Introdução

A comparação de desempenho de três controladores de seguimento de trajetória para robôs de tração diferencial é apresentada neste artigo. Os referidos controladores são: o controlador cinemático de se- guimento de trajetória de ganhos fixos (Martins et al., 2008) e (Resende et al. 2012), o controlador back-stepping (Fierro e Lewis, 1998) e (Jun Ye, 2008), e um controlador fuzzy do tipo Mandani pró- prio.

Para o desenvolvimento do controlador fuzzy, foram escolhidas duas entradas, que são o erro de posição e o erro de orientação do robô. Já as saídas do controlador fuzzy são a velocidade linear e a velo- cidade angular de referência para o robô controlado.

Inicialmente utilizada por (Antonelli et al., 2007) e por (Zapata et al, 2010), a opção de escolher as velo- cidades linear e angular como saídas do controlador é interessante, já que a maioria dos robôs comerciais possuem estas duas grandezas como variáveis de controle. Para corrigir os erros de posição do robô, as regras fuzzy do controlador relacionam o erro de posição com a velocidade linear do robô, e também relacionam o erro de orientação do robô com a velo- cidade angular.

A metodologia fuzzy do tipo Mandani possui a vantagem e a facilidade de permitir o controle de um sistema sem necessariamente conhecer sua dinâmica.

Porém, a comprovação da estabilidade do controla-

dor não é trivial (Sala e Ariño, 2009), ou seja, se a comprovação da estabilidade do controlador é essen- cial, o controlador fuzzy do tipo Mandani deixa de ser interessante.

Na literatura há controladores projetados de ma- neira rigorosa, seguindo metodologias que garante a estabilidade do sistema. Nesta linha cita-se o contro- lador cinemático de seguimento de trajetória de ga- nhos fixos desenvolvido por (Martins et al., 2008) e o controlador backstepping desenvolvido por (Fierro e Lewis, 1998). A principal diferença entre os últimos trabalhos citados é que no trabalho de (Martins et al., 2008) a posição do robô é definida por um ponto que está a frente do eixo virtual que liga as rodas do robô.

Já no trabalho de (Fierro e Lewis, 1998) a posição do robô é definida pelo ponto médio de tal eixo virtual.

Os três controladores citados foram implemen- tados utilizando o software LabVIEW Robotics Mo- dule e a plataforma robótica DaNI 2.0. Para compa- rá-los utilizou-se o índice de desempenho Integral of Absolute Error (IAE) que é baseado no cálculo da integral do erro absoluto.

O restante deste artigo é organizado da seguinte maneira: a Seção 2 apresenta os modelos cinemáticos do robô móvel de tração diferencial; a Seção 3 apre- senta os três controladores implementados; a Seção 4 detalha a plataforma robótica DaNI 2.0; a Seção 5 apresenta resultados de simulação, a Seção 6 apre- senta os resultados experimentais, e, finalmente a Seção 7 apresenta as conclusões obtidas no trabalho.

(2)

2 Modelo Cinemático do Robô Móvel de Tração Diferencial

A configuração do robô móvel utilizado nesse traba- lho está ilustrada na Figura 1. Um robô de tração diferencial possui duas rodas paralelas de tração, independentes uma da outra, e uma roda de apoio (roda boba ou caster).

Figura 1. Modelo do robô móvel de tração diferencial.

No modelo da Figura 1, considera-se que as du- as rodas motoras do robô são idênticas, com raio r, e atuadores independentes. A distância entre as duas rodas (tamanho do eixo virtual) é de 2L. A postura do robô é definida pelos parâmetros , onde é o ângulo de orientação do robô, e ( ) é a posição do robô no Sistema de Eixos Cartesianos xy.

O ponto C (considerado como centro de massa do robô) será utilizado como ponto de referência, ou ponto de interesse para o controle do robô no caso dos controladores Fuzzy e backstepping, já no caso especifico do controlador de ganhos fixos o ponto de interesse será o ponto Di, que está a metros a frente do eixo virtual que liga as rodas do robô.

A equação 1 representa o modelo cinemático do robô utilizado no desenvolvimento dos controladores Fuzzy e backstepping

, (1) onde v e w são, respectivamente, as velocidades linear e angular robô. Ressalta-se que em tal modelo considera-se como a posição do robô o ponto de interesse C.

A equação 2 apresenta o modelo cinemático não holonômico de acessibilidade melhorada utiliza- do no desenvolvimento do controlador cinemático de ganhos fixos. Neste modelo a posição do robô é definida pelo ponto de interesse Di (ver Figura 1).

(2)

Em relação ao comportamento do robô, quando v1=v2 o robô ira se deslocar em linha reta. Se a velo- cidade da roda direita (v1) for menor que a velocida- de da roda esquerda (v2), o robô irá se mover em uma trajetória circular no sentido horário.

3 Controladores

3.1 Controlador Cinemático de Seguimento de Traje- tória de Ganhos Fixos (CCSTGF)

Partindo da equação 2, para cálculos posteriores é definida a matriz A, dada por

(3) Pode-se obter facilmente também sua inversa, que é descrita por

. (4)

Utilizando a matriz inversa dada pela equação 4, pode-se obter a cinemática inversa do robô, dada por

(5)

A partir das equações anteriormente descritas, é possível propor a seguinte lei de controle:

, (6)

onde e são as saídas do controlador cinemáti- co, e são as velocidades das posições desejadas em X e Y, e são os erros de posição nos eixos X e Y, e são os ganhos do controlador, e são constan- tes de saturação, e são as coordenadas atual e desejada do ponto de interesse do robô.

Para o sistema em malha fechada, consideran- do-se o seguimento perfeito de velocidade, ou seja, e , pode-se determinar os valores de velocidade do ponto de interesse do robô nas dire- ções X e Y, substituindo-se a equação 6 na equação 2, obtendo-se que

(7)

x y

o

2L

2r v2 v

v1

C a Di

w

(3)

Para erros de posição elevados, a equação 7 po- de ser aproximada por

(8) uma vez que para ,

, e para , , onde representa o sinal do ar- gumento. Assim, os valores das constantes de satura- ção e da equação 7 podem ser determinados a partir das seguintes considerações de velocidade máxima:

Limites de velocidade para a trajetória pla- nejada:

Limites de velocidade para o ponto de inte- resse do robô nas direções X e Y:

Continuando, considerando que a velocidade da trajetória planejada tenha o valor máximo permitido, ou seja, , para que os limi- tes de velocidade para o ponto de interesse do robô sejam cumpridos, tem-se:

e . Concluin- do-se que a adequação dos valores para as constantes de saturação é dada por: . Onde quanto maior os valores de e , mais rápido o robô irá alcançar a trajetória de referência.

Já os valores adequados dos ganhos e são determinados de forma experimental, que consiste em executar o algoritmo de controle em tempo real no robô e ajustar os ganhos de forma que o robô seguisse a trajetória de forma mais adequada.

3.2 Controlador Backstepping

O segundo projeto refere-se à técnica de controle Backstepping, o desenvolvimento do mesmo foi baseado nos trabalhos de (Fierro e Lewis , 1996) e (Ye, 2008). A Figura 2 apresenta os erros considera- dos no desenvolvimento desse controlador, e que estão organizados na forma matricial na equação (9)

(9) A equação (10) apresenta a lei de controle do controlador Backstepping apresentado em Kanayama (1990) e bastante utilizada e recomendado nos traba- lhos de (Fierro e Lewis, 1996), (Jiang e Nijmeijer, 1997) e (Kukao, Nakagawa e Adachi, 2000)

, (10)

onde , e são parâmetros de sintonia do con- trolador, e são as saídas do controlador. Os ganhos , e devem ser tais que o erro de posi- ção do robô seja minimizado.

Figura 2. Erros no controlador Backstepping.

3.3 Controlador Fuzzy

O controlador de trajetória Fuzzy foi projetado com as seguintes etapas: definição das variáveis de entra- da e saída, criação das funções de pertinência, cria- ção das regras do controlador, definição do método de “defuzzificação” e ajuste de ganhos das variáveis de saída.

Figura 3. Erros controlador fuzzy.

As regras do controlador Fuzzy foram definidas a partir de duas entradas: o ângulo γ (erro de orienta- ção) e a distância D (erro de posição), ambos ilustra- das na Figura 3. O erro de orientação γ é calculado a partir da equação 11

(11)

onde α é o ângulo do vetor D e θ o ângulo de orienta- ção do robô. Já o erro de posição D é obtido através da equação 12

X o

θr

θ

x y

xr

yr

e1

e2 Y

(4)

. (12) As duas saídas do controlador Fuzzy foram de- finidas como sendo as velocidades linear e angular de referência para o robô controlado. A velocidade linear de referência será utilizada para minimizar o erro D, assim como a velocidade angular de referên- cia será utilizada para reduzir o erro γ.

A Tabela 1 apresenta todos os conjuntos fuzzy criados para cada variável de entrada e saída do con- trolador.

Tabela 1. Descrição dos conjuntos fuzzy.

Variável Sigla do

Conjunto Descrição

γ

NG NP ZE PP PG

Negativo Grande Negativo Pequeno

Zero Positivo Pequeno

Positive Grande

D

MP P M G MG

Muito Pequeno Pequeno

Médio Grande Muito Grande

v

MLe Le Me Ra MRa

Muito Lento Lento Médio Rápido Muito Rápido

EsRa EsLe Reto DiLe DiRa

Esquerda Rápido Esquerda Lento

Reto Direita Lento Direita Rápido

Para relacionar as entradas e saídas anterior- mente descritas, foram criadas 25 regras no formato de regras if-then (se-então). Sendo que estas estão apresentadas na Tabela 2.

Tabela 2. Tabela de regras fuzzy.

γ

NG NP ZE PP PG

D

MP MLe

EsRa MLe EsLe

MLe Reto

MLe DiLe

MLe DiRa

P Le

EsRa Le EsLe

Le Reto Le

DiLe Le DiRa

M Me

EsRa Me EsLe Me

Reto Me DiLe Me

DiRa

G Ra

EsRa Ra EsLe

Ra Reto

Ra DiLe

Ra DiRa

MG MRa

EsRa MRa EsLe

MRa Reto

MRa DiLe

MRa DiRa

O método de “defuzzificação” selecionado foi o Centro da Area (CoA), também conhecido como Centro de Gravidade (CoG).

4 Plataforma de Desenvolvimento Os experimentos desse trabalho foram realizados em duas etapas: simulações e testes práticos. A etapa de

simulação e todo o desenvolvimento dos códigos foi implementado no software LabVIEW. Nos experi- mentos práticos foi utilizado robô DaNI 2.0 (Figura 9), que forma parte do LabVIEW Robotics Starter Kit. O DaNI 2.0 possui uma placa NI sbRIO que integra um processador de tempo real, uma placa FPGA e uma placa de entradas e saídas digitais e analógicas. Essa placa possui integração com o Lab- VIEW, possibilitando sua programação desde que os módulos FPGA, Real-Time e Robotics estejam devi- damente instalados. Uma adaptação extra foi feita na estrutura original, adicionando um roteador Wi-Fi a estrutura, permitindo a comunicação com o compu- tador e monitoramento em tempo real do robô.

Figura 9. Estrutura e componentes do DaNI 2.0.

5 Resultados de Simulação

O modulo de robótica do software LabVIEW contém um ambiente de simulação que permite testar e im- plementar os códigos desenvolvidos para o DaNI 2.0.

Com pequenas alterações é possível testar os códigos simulados no robô real. Um código foi desenvolvido, para os três controladores, afim de realizar a simula- ção e verificar o desempenho dos controladores antes dos testes práticos.

Os resultados de simulação para os Controlado- res CCSTGF, Backstepping e Fuzzy são mostrados na Figura 10.

Figura 10. Simulação trajetória 8 (Gráfico xy).

1 1.5 2 2.5 3

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

X(m)

Y(m)

Posição Desejada Posição do Robô Cinemático Posição do Robô Backstepping Posição do Robô Fuzzy

(5)

O controlador Cinemático CCSTGF foi sintoni- zado com ganhos , com constantes de saturação . Já o valor de “a” utilizado foi de cm. O controlador Backstepping foi sinto- nizado com os ganhos: , e , para as velocidades m/s e rad/s.

Nota-se a posição inicial do robô foi (2;0,5) e que após a inicialização o robô segue o trajeto desejado.

Nas Figuras 11 e 12 são mostrados os gráficos comparativos dos erros absolutos nos eixos X e Y, respectivamente. Nos gráficos e possível verificar o desempenho de cada controlador em relação ao sinal de referência.

Figura 11. Erro absoluto dos controladores para a variável x.

Figura 12. Erro absoluto dos controladores para a variável y.

Para análise e comparação dos resultados tanto de simulação quanto práticos, foi utilizado o índice de desempenho Integral Absolute Erros (IAE) que é calculado através da integração do erro absoluto no período de tempo analisado.

A Tabela 3 contém os indicadores de desempe- nho dos três controladores obtidos para cada variável durante as simulações.

Tabela 3. Valores de IAE de cada controlador na simulação.

Variável Backstep- ping

Cinemático

CCFGT

Fuzzy

X 6.7134 25.1309 34.2814

Y 4.0363 13.1100 17.3630

Através da análise da tabela contendo os índices pode-se verificar o desempenho superior do contro- lador Backstepping em relação ao Cinemático CCFGT e Fuzzy. Já os controladores Cinemático e Fuzzy mostram desempenho semelhante.

6 Resultados Práticos

Nos testes de simulação, a posição do robô foi obtida utilizando funções internas. Contudo, nos testes reais isso não e possível, portanto, foi utilizada a odome- tria do tipo Dead Reckoning. A postura é estimada tendo como referência a posição inicial do robô e utilizando a leitura dos encoders para determinar a postura atual do robô. A Figura 13 mostra uma mon- tagem de imagens dos testes práticos realizados com o DaNI 2.0.

Figura 13. Imagem de testes práticos.

Para a parte prática não houve mudanças quanto a sintonia do controlador Cinemático de ganhos fixos, pois os distúrbios da dinâmica do robô DaNI não foram suficientes para afetar o desempenho do mesmo sobre o modelo cinemático.

Durante a execução da tarefa prática com o con- trolador Backstepping notou-se um comportamento não satisfatório do robô DaNI, ao adotar os mesmos parâmetros de controle utilizados durante a simula- ção, caracterizando uma resposta on-off ao sistema.

Como correção foram necessários pequenos ajustes nos ganhos e nas velocidades da trajetória de refe- rência. Os valores adotados para os ganhos foram:

, e , para as velocidades e .

Figura 14. Prática trajetória 8 (Gráfico xy).

0 10 20 30 40 50 60 70

0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16

Tempo (s)

Erro X (m)

Erro Fuzzy Erro Cinemático Erro Backstepping

0 10 20 30 40 50 60 70

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4

Tempo (s)

Erro Y (m)

Erro Fuzzy Erro Cinemático Erro Backstepping

1 1.5 2 2.5 3

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

X(m)

Y(m)

Posição Desejada Posição do Robô Cinemático Posição do Robô Backstepping Posição do Robô Fuzzy

(6)

Nas Figuras 15 e 16 são mostrados os gráficos comparativos dos erros absolutos nos eixos X e Y, respectivamente Nos gráficos é possível verificar o desempenho de cada controlador em relação ao sinal de referência.

Figura 15. Comparativo controladores para a variável x.

Figura 16. Comparativo controladores para a variável y.

A Tabela 4 contém os indicadores de desempe- nho dos três controladores obtidos para cada variável durante os experimentos práticos.

Tabela 4. Valores de IAE de cada controlador nos experimentos.

Variável Backstep- ping

Cinemático

CCFGT

Fuzzy

X 9.3895 43.3502 43.0163

Y 6.3936 21.6197 23.9376

7 Conclusão

Entre as contribuições apresentadas neste trabalho é possível mencionar a implementação em simulação e experimentalmente de três controladores de segui- mento de trajetórias para um robô móvel, os referidos controladores são o cinemático CCSTGF, Fuzzy e Backstepping. Os controladores foram testados utili- zando a plataforma robótica DANI 2.0 que forma parte do Labview Robotics Starter kit. Outra contri-

buição do artigo é a avaliação dos controladores de seguimento de trajetória utilizando o índice de de- sempenho IAE. Da analise dos resultados pode-se concluir que o controlador Backstepping apresentou um melhor desempenho tanto na simulação como nos testes práticos em comparação com os controladores Fuzzy y cinemático CCSTGF. Finalmente, é necessá- rio sublinhar o projeto de um controlador fuzzy de seguimento de trajetórias próprio como outra contri- buições deste artigo.

Agradecimentos

Agradecemos ao CNPq, à SETEC/MEC e ao IFES pelo apoio concedido às pesquisas que deram origem a estes textos.

Referências Bibliográficas

Antonelli, G, Chiaverini, S. e Fusco, G. (2007). A fuzzy-logic-based approach for mobile robot path tracking. IEEE Trans. Fuzzy Syst., 15( 2):

211–221,

Fierro, R. e Lewis, F.L. (1998). Control of a nonholonomic mobile robot using neural net- works, IEEE Transactions on Neural Networks 9(4): 589-600.

Jiang, Z .P. e Nijmeijer, H. (1997). Tracking control of mobile robots: a case study in backstepping.

Automatica 33: 1393–1399.

Jun Ye, (2008). Tracking control for nonholonomic mobile robots: integrating the analog neural network into the backstepping technique, Neurocomputing, 71: 3373-3378.

Kanayama Y. et al. (1990), A stable tracking control method for an autonomous mobile robot, in Proc. IEEE Int. Conf. Robotics and Automation, 384–389.

Kukao, T.; Nakagawa, H. e Adachi, N. (2000). Adap- tive tracking control of a nonholonomic mobile robot. IEEE Trans. Robotics Automation 16:

609–615.

Martins, F. N., Celeste, W. C., Carelli, R., Sarcinelli- Filho, M. e Bastos-Filho, T. F. (2008). An adap- tive dynamic controller for autonomous mobile robot trajectory tracking, Control Engineering Practice 16(11): 1354-1363.

Resende, C. Z., Carelli, R., Bastos-Filho, T. F. e Sarcinelli-Filho, M. (2012). Embedding obstacle avoidance to trajectory tracking for unicycle mobile robots. IEEE/RSJ International Confer- ence on Intelligent Robots and Systems. [S.l.:

s.n.], 2012.

Sala, A. e Ariño, C. V. (2009). Reduciendo distan- cias entre el control borroso y el control no line- al: luces y sombras, Revista Iberoamericana de Automática e Informática Industrial 6(2): 26-35.

Zapata, E. et al (2010). Fuzzy decentralized control for guidance of a convoy of robots in non-linear trajectories. 15th IEEE Int. Conf. on Emerging Technologies and Factory Automation.

0 10 20 30 40 50 60 70

0 0.05 0.1 0.15 0.2

Tempo (s)

Erro X (m)

Erro Fuzzy Erro Cinemático Erro Backstepping

0 10 20 30 40 50 60 70

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

Tempo (s)

Erro Y (m)

Erro Fuzzy Erro Hip Erro Back

Referências

Documentos relacionados

Para comprovar essa hipótese, adota-se como objetivo deste trabalho a análise da Teoria do Capital Humano e suas implicações para a captura da subjetividade dos indivíduos

Muito embora, no que diz respeito à visão global da evasão do sistema de ensino superior, o reingresso dos evadidos do BACH em graduações, dentro e fora da

Desta forma, a qualidade higiênico-sanitária das tábuas de manipulação dos Laboratórios de Técnica Dietética, Tecnologia de Alimentos e Gastronomia e das

A concorrência no ambiente refere-se sobre a parcela de crescimento e seu respectivo.. potencial de lucro de uma empresa, assim como o domínio sobre as forças

CUIDADOS ESPECIAIS QUANTO À ELIMINAÇÃO DO MEDICAMENTO NÃO UTILIZADO OU DOS RESÍDUOS PROVENIENTES DESSE MEDICAMENTO, SE

Atualmente, não há trabalhos científicos disponíveis sobre os efeitos da utilização da CPS na dieta de animais ruminantes, portanto, este trabalho foi conduzido com o objetivo

É preciso analisar como as relações de poder, as relações sociais, a moral e a moral sexual podem ter papel na construção da conduta e comportamento social, político

insights into the effects of small obstacles on riverine habitat and fish community structure of two Iberian streams with different levels of impact from the