Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica

11
14/11/13 Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica.org www3.eletronica.org/artigos/simulacao-baseada-em-software-livre-de-um-sistema-robotico-fuzzy 1/11 Like 8 9 Tweetar 3 Resumo Sistemas robóticos podem ser compreendidos como sistemas concebidos de liberdade de movimentos para realizarem tarefas de forma autônoma, suas aplicações estendem-se por um amplo espectro de áreas, tais como: automação industrial; medicina; exploração espacial e outros. O presente artigo utiliza ferramentas de software livre para simular um sistema de navegação nebuloso para um agente robótico. O software Simbad, em conjunto com a biblioteca jFuzzyLogic, foram aplicados para realizar esta simulação, cujos resultados demonstram que o agente robótico é capaz de percorrer o trajeto proposto, ao mesmo tempo em que desvia dos obstáculos. Palavras-chave: robótica móvel, lógica nebulosa, software livre 1. Introdução O emprego de robôs para a realização de diversas tarefas tem sido cada vez mais comum, facilitando, dessa forma, o desempenho de inúmeras atividades, inclusive as mais perigosas, nas quais seria inviável ou impossível a realização delas pelo homem. Algumas vantagens proporcionadas pela utilização de robôs são: aumento de produtividade na indústria; maior precisão e velocidade na fabricação e montagem dos produtos e afastamento da mão de obra humana dos locais inóspitos. Dessa maneira, o incentivo ao desenvolvimento da robótica torna-se cada vez mais crucial para a melhoria da qualidade de vida e desenvolvimento da sociedade. Sistemas robóticos podem ser compreendidos como sistemas concebidos de liberdade de movimentos para realizarem tarefas com certo nível de autonomia de decisão, suas aplicações estendem-se por um amplo espectro de áreas, como: automação industrial (FILHO et al., 2010); medicina (PREISING et al., 1991); exploração espacial (HIRZING et al., 1994) e outros. O avanço da robótica também é percebido no ramo educacional, onde diversos robôs têm sido empregados para o ensino, para o provimento da multidisciplinaridade e interdisciplinaridade, fornecimento de conhecimento tecnológico e principalmente para disseminar conceitos da mecânica, eletrônica, engenharia e computação (SOLIS et al., 2009). Dessa forma, a utilização de robôs autônomos proporciona inúmeras vantagens e possui grande empregabilidade em inúmeras áreas de atuação. A utilização de softwares livres, da mesma maneira, tem se mostrado cada vez mais notória em iniciativas governamentais e privadas. As vantagens oriundas desses softwares vão além do custo econômico, a possibilidade de modificar o código-fonte do software fornece uma grande liberdade e flexibilidade para os sistemas computacionais (STALLMAN, 1999). As características existentes no software livre contribuem para elaboração de ferramentas de simulação de sistemas robóticos, auxiliando na resolução de diversos problemas nessa área. O objetivo deste artigo é realizar a simulação de um sistema de navegação robótica através da utilização de softwares livres. Para isso, foi utilizado o simulador Simbad (HUGUES e BREDECHE, 2006) escrito em Java, o mesmo fornece um ambiente de simulação contendo um ou mais robôs, que podem ser equipados com câmeras e sensores e um cenário contendo obstáculos e vários outros recursos adicionais. Foi utilizado também um pacote, o jFuzzyLogic (CINGOLANI, 2011), para implementar o paradigma reativo para o desvio de obstáculos através da utilização da lógica fuzzy, proporcionando ao sistema uma metodologia para representar a percepção baseada em ações. Estas duas ferramentas de software livre foram aplicadas para realizar essa simulação, cujos resultados demonstram que o agente robótico é capaz de percorrer a sequência de coordenadas especificadas, ao mesmo tempo em que desvia dos obstáculos do ambiente. O restante do trabalho está dividido em seis seções. A seção 2 traz conceitos de robótica móvel e as dificuldades Search Placas de Circuito Impresso Profissionais Antigo Site Eletronica.org Pesquisar Login Nome de Usuário: Senha: Lembre de mim Login » Registrar Esqueceu sua senha? Recomendados DQSoft Gambiarra Laboratório de Garagem Esta é uma nova versão, em teste, do ELETRONICA.ORG. Clique AQUI para ver o antigo site. Usuários veteranos precisam clicar em Esqueci a Minha Senha para receber a senha do novo site em seu e-mail. Simulação baseada em software livre de um sistema robótico fuzzy Artigos Projetos Reviews Apostilas e Tutoriais Fórum de Discussões Share 1

description

Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica

Transcript of Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica

Page 1: Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica

14/11/13 Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica.org

www3.eletronica.org/artigos/simulacao-baseada-em-software-livre-de-um-sistema-robotico-fuzzy 1/11

Like 8 9 Tweetar 3

Resumo

Sistemas robóticos podem ser compreendidos como sistemas concebidos de liberdade de movimentos para

realizarem tarefas de forma autônoma, suas aplicações estendem-se por um amplo espectro de áreas, tais como:

automação industrial; medicina; exploração espacial e outros. O presente artigo utiliza ferramentas de software livre

para simular um sistema de navegação nebuloso para um agente robótico. O software Simbad, em conjunto com a

biblioteca jFuzzyLogic, foram aplicados para realizar esta simulação, cujos resultados demonstram que o agente

robótico é capaz de percorrer o trajeto proposto, ao mesmo tempo em que desvia dos obstáculos.

Palavras-chave: robótica móvel, lógica nebulosa, software livre

1. Introdução

O emprego de robôs para a realização de diversas tarefas tem sido cada vez mais comum, facilitando, dessa forma, o

desempenho de inúmeras atividades, inclusive as mais perigosas, nas quais seria inviável ou impossível a realização

delas pelo homem. Algumas vantagens proporcionadas pela utilização de robôs são: aumento de produtividade na

indústria; maior precisão e velocidade na fabricação e montagem dos produtos e afastamento da mão de obra

humana dos locais inóspitos. Dessa maneira, o incentivo ao desenvolvimento da robótica torna-se cada vez mais

crucial para a melhoria da qualidade de vida e desenvolvimento da sociedade.

Sistemas robóticos podem ser compreendidos como sistemas concebidos de liberdade de movimentos para

realizarem tarefas com certo nível de autonomia de decisão, suas aplicações estendem-se por um amplo espectro de

áreas, como: automação industrial (FILHO et al., 2010); medicina (PREISING et al., 1991); exploração espacial

(HIRZING et al., 1994) e outros.

O avanço da robótica também é percebido no ramo educacional, onde diversos robôs têm sido empregados para o

ensino, para o provimento da multidisciplinaridade e interdisciplinaridade, fornecimento de conhecimento

tecnológico e principalmente para disseminar conceitos da mecânica, eletrônica, engenharia e computação (SOLIS et

al., 2009). Dessa forma, a utilização de robôs autônomos proporciona inúmeras vantagens e possui grande

empregabilidade em inúmeras áreas de atuação.

A utilização de softwares livres, da mesma maneira, tem se mostrado cada vez mais notória em iniciativas

governamentais e privadas. As vantagens oriundas desses softwares vão além do custo econômico, a possibilidade de

modificar o código-fonte do software fornece uma grande liberdade e flexibilidade para os sistemas computacionais

(STALLMAN, 1999). As características existentes no software livre contribuem para elaboração de ferramentas de

simulação de sistemas robóticos, auxiliando na resolução de diversos problemas nessa área.

O objetivo deste artigo é realizar a simulação de um sistema de navegação robótica através da utilização de softwares

livres. Para isso, foi utilizado o simulador Simbad (HUGUES e BREDECHE, 2006) escrito em Java, o mesmo fornece um

ambiente de simulação contendo um ou mais robôs, que podem ser equipados com câmeras e sensores e um cenário

contendo obstáculos e vários outros recursos adicionais. Foi utilizado também um pacote, o jFuzzyLogic (CINGOLANI,

2011), para implementar o paradigma reativo para o desvio de obstáculos através da utilização da lógica fuzzy,

proporcionando ao sistema uma metodologia para representar a percepção baseada em ações. Estas duas

ferramentas de software livre foram aplicadas para realizar essa simulação, cujos resultados demonstram que o agente

robótico é capaz de percorrer a sequência de coordenadas especificadas, ao mesmo tempo em que desvia dos

obstáculos do ambiente.

O restante do trabalho está dividido em seis seções. A seção 2 traz conceitos de robótica móvel e as dificuldades

Search

Placas de Circuito Impresso Profissionais

Antigo Site Eletronica.org

Pesquisar

Login

Nome de Usuário:

Senha:

Lembre de mim

Login »

Registrar

Esqueceu sua senha?

Recomendados

DQSoft

Gambiarra

Laboratório de Garagem

Esta é uma nova versão, em teste, do ELETRONICA.ORG. Clique AQUI para ver o antigo site.

Usuários veteranos precisam clicar em Esqueci a Minha Senha para receber a senha do novo site em seu e-mail.

Simulação baseada em software livre de um sistema robótico fuzzy

Artigos Projetos Reviews Apostilas e Tutoriais Fórum de Discussões

Share 1

Page 2: Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica

14/11/13 Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica.org

www3.eletronica.org/artigos/simulacao-baseada-em-software-livre-de-um-sistema-robotico-fuzzy 2/11

existentes na navegação robótica. A seção 3 do artigo discorre sobre a lógica fuzzy. A seção 4 detalha as ferramentas

utilizadas na simulação. A seção 5 mostra como foi implementado o sistema robótico. A seção 6 exibe os resultados da

simulação. Finalmente, a última seção mostra as considerações finais obtidas com a conclusão desse trabalho.

2. Robótica Móvel

A robótica móvel engloba todos aqueles dispositivos automatizados capazes de se locomoverem em um determinado

ambiente. A movimentação pode ser controlada através da intervenção humana, onde temos o uso de controle

remoto, por exemplo, ou através de inteligência computacional, onde os robôs podem tomar decisões sobre a rota a

ser seguida através da leitura do ambiente. Existe uma grande variedade de ferramentas para a locomoção de robôs,

cada uma atendendo a características específicas do ambiente. Por exemplo, robôs podem atuar em solos rochosos

ou arenosos, em ambientes aquáticos ou até mesmo em céu aberto. Cada ambiente requer equipamento e controles

especiais para atenderem suas especificidades.

Os paradigmas da robótica móvel são mostrados na Figura 1. A escolha de qual paradigma empregado no projeto

depende da necessidade e da complexidade da tarefa a ser executada.

Figura 1 – Paradigmas na robótica: (i) hierárquico, (ii) reativo, (iii) híbrido (SIMÕES et al., 2006).

Para projetos mais complexos, nos quais o ambiente apresenta uma grande quantidade de informações, o paradigma

hierárquico é mais adequado porque o robô pode tomar decisões baseadas no grau de dificuldade obtida, permitindo

um domínio maior da situação. Por sua vez, o paradigma reativo procura diminuir a complexidade gerada pelo

paradigma hierárquico, pois com o decorrer dos anos a etapa de planejamento se tornou demasiadamente complexa.

Com o intuito de mesclar as vantagens dos dois paradigmas apresentados, surge o paradigma híbrido. Assim, uma

tarefa pode ser decomposta em sub-tarefas para que o robô possa escolher qual a ação mais adequada para executá-

las (SIMÕES et al., 2006).

A navegação robótica torna-se um obstáculo encontrado no desenvolvimento da robótica móvel. Inúmeros fatores

podem torná-la mais complicada uma vez que é necessária a leitura e a interpretação do ambiente para que as

decisões sejam tomadas, visando permitir ações rápidas que evitem colisões e garantindo que a trajetória seja

percorrida com sucesso (FRACASSO et al., 2005).

A percepção territorial realizada pelo robô pode ser feita através de diversos métodos, dependendo do terreno onde o

mesmo se encontra. Pode-se utilizar sonares em ambientes em que a informação é pouca ou nenhuma (OTTONI et al.,

2003) ou o rastreamento pode ser feito através da visão (MOTTA et al., 2008). As informações captadas passam por

um estágio de processamento, onde muitas vezes são filtradas para que sejam interpretadas com maior precisão. A

partir daí, os resultados obtidos pela etapa de processamento são usados para realizar a ação do robô, onde os

comandos são enviados para os atuadores.

Estudos têm buscado diminuir várias dificuldades encontradas na navegação de um robô (BATISTA et al., 2010). Nosso

trabalho tem como objetivo realizar uma simulação de um sistema robótico móvel e nebuloso, o qual será descrito

Page 3: Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica

14/11/13 Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica.org

www3.eletronica.org/artigos/simulacao-baseada-em-software-livre-de-um-sistema-robotico-fuzzy 3/11

nas seções seguintes, utilizando ferramentas de software livre.

3. Lógica Fuzzy

A lógica fuzzy ou lógica nebulosa é uma forma de realizar a interface entre processos inerentemente analógicos, que se

movem através de uma faixa contínua de valores, para o universo digital, onde os valores são definidos como

discretos. Foi inicialmente proposta por Lotfi A. Zadeh (PERRY, 1995) na Universidade da Califórnia em Berkeley em

um artigo datado de 1965.

As implementações da lógica nebulosa permitem que estados indeterminados possam ser tratados por dispositivos de

controle. Desse modo, é possível avaliar conceitos não quantificáveis. A lógica fuzzy deve ser vista mais como uma área

de pesquisa sobre tratamento da incerteza, ou uma família de modelos matemáticos dedicados ao tratamento da

incerteza, do que uma lógica propriamente dita. A lógica nebulosa normalmente está associada ao uso da teoria de

conjuntos fuzzy.

A lógica fuzzy pode ser empregada no ramo industrial, possibilitando automatizar diversas tarefas. Tal fato pode

encorajar a utilização da lógica fuzzy na robótica móvel, possibilitando desta forma a navegação robótica de uma

maneira mais simplificada. Alguns trabalhos que seguem tal linha de pesquisa podem ser encontrados em Joshi e

Zaveri (2009) e Raguraman et. al (2009), por exemplo. A lógica fuzzy também pode ser aplicada em outras

funcionalidades existentes no robô.

Em um sistema de controle fuzzy, possuímos variáveis de entrada que representam os valores que podem ser obtidos

através de sensores. Tais valores podem ser categorizados em faixas: muito longe, longe, normal, perto, muito perto.

Esses estados são conhecidos como estados fuzzy e não possuem um limiar definido de um para outro. As variáveis de

entrada podem pertencer a vários estados com diferentes níveis de pertinência. A Figura 2 apresenta um exemplo de

funções de pertinência de uma variável fuzzy.

Figura 2 – Note que a um dado instante, a distância será um grau de pertinência com respeito a dois conjuntos fuzzy:

0.3 Muito Longe e 0.7 Longe, 0.4 Normal e 0.6 Perto, assim por diante.

Os valores de entrada, conhecidos como crisp, são convertidos para valores fuzzy em um processo conhecido como

“fuzzificação”, utilizando as funções de pertinência dos termos fuzzy de entrada. O grau de participação de uma

grandeza de entrada é dado em função dos termos primários definidos como o “Universo do Discurso” de entrada.

Assim, cada valor de entrada tem um grau de pertinência para cada termo primário definido. A arquitetura fuzzy pode

ser observada na Figura 3.

Dados “mapeamentos” das variáveis de entrada para as funções de pertinência e valores verdade, um micro-

controlador pode então tomar decisões sobre a ação a ser executada baseada em um conjunto de regras, da forma:

“Se a distância frontal é muito perto e a velocidade é muito rápida então gire acentuadamente à esquerda”

É possível perceber que, neste exemplo, a variável de saída é também definida como um conjunto fuzzy que pode

assumir os valores como “acentuadamente à esquerda”, “levemente à direita” e assim por diante. Existe uma ampla

gama de funções que podem ser utilizadas, como: NÃO-fuzzy, E-fuzzy e OU-fuzzy.

Page 4: Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica

14/11/13 Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica.org

www3.eletronica.org/artigos/simulacao-baseada-em-software-livre-de-um-sistema-robotico-fuzzy 4/11

Figura 3 – Arquitetura de um controlador fuzzy.

Os valores obtidos por todas as regras de inferência que foram acionadas são “defuzzificados” para valores exatos por

meio de um dentre vários métodos possíveis. Por exemplo, o método do centróide retorna o centro de massa do

resultado como valor exato. Por sua vez, o método da altura retorna o maior valor. A Figura 4 apresenta um exemplo

de um sistema de inferência nebuloso que utiliza o método do centróide para realizar a defuzzificação.

Figura 4 – Exemplo de ativação das regras em um sistema de inferência nebuloso e o processo de defuzzificação pelo

cálculo do centroide.

4. Ferramentas de software livre

Esta seção apresenta as ferramentas de software livre utilizadas para simular o sistema nebuloso de navegação

proposto neste trabalho.

4.1 Simulador Simbad

O Simbad é um simulador de sistemas robóticos utilizado para fins científicos e educacionais. Esta ferramenta é

principalmente dedicada a pesquisadores/programadores que querem uma base simples para estudar Inteligência

Computacional (IC), aprendizado de máquina e outros algoritmos IC no contexto da robótica autônoma e agentes

autônomos. O projeto Simbad está hospedado no SourceForge, este projeto é livre para ser usado e modificado sob as

condições da Licença Pública Geral GNU.

O emprego de um simulador de sistemas robóticos traz inúmeras vantagens. Uma destas vantagens é a sua utilização

no desenvolvimento da programação offline (programas elaborados em um computador e carregados

posteriormente no robô, possibilitando que o mesmo não seja retirado das funções de produção e ocupado com a

tarefa de programação), permitindo que sejam feitos testes dos programas antes de executá-los no robô real (REDEL e

HOUNSELL, 2004). Outra vantagem é a possibilidade de seu uso para o ensino, pois permite que cada aluno se

familiarize com o robô de forma individual, mesmo sem a existência física do mesmo, fazendo com que estes alunos

adquiram os conhecimentos básicos necessários antes de utilizarem o robô real.

O simulador Simbad possui sensores de visão, sensores de alcance (com sonares e infravermelho) e sensores de

contato. O uso destes sensores permite a interação do robô com o ambiente que o rodeia de uma forma flexível.

Existem vários tipos de sensores e cada um se adapta a uma função específica. Estes são adicionados no sentido anti-

horário em cada robô e retornam o alcance, o ângulo e informam se houve colisão.

Page 5: Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica

14/11/13 Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica.org

www3.eletronica.org/artigos/simulacao-baseada-em-software-livre-de-um-sistema-robotico-fuzzy 5/11

O Simbad possui uma interface que permite a manipulação e a visualização dos eventos da simulação. Durante a

execução do programa, aparecerá uma janela dividida em três setores, como mostra a Figura 5. A janela World exibe o

mundo da simulação descrito pelo usuário ou algum dos exemplos presentes no Simbad. Na parte lateral situada à

esquerda são exibidas as informações do robô e de seus acessórios, como o nome do robô, alcance dos sensores,

velocidade translacional e rotacional, visão da câmera, colisão, tempo de vida do robô, entre outras, que podem variar

de acordo com o projeto. A terceira janela é a Control, esta é dividida em três abas. As abas View From e a Follow são

responsáveis pela visualização da simulação. A aba Simulator permite rodar, pausar, reiniciar ou passar cada etapa da

simulação manualmente, além de alterar a velocidade da simulação na opção Time Factor.

Figura 5 – Visão geral do simulador Simbad.

4.2 jFuzzyLogic

O jFuzzyLogic é um pacote de lógica fuzzy escrito em Java, disponível pela licença “LGPLv3″, este pacote implementa

uma Linguagem de Controle Fuzzy (FCL). A FCL é um padrão para a programação de Controle Difuso, publicado pela

Comissão Electrotécnica Internacional (IEC). As especificações para a sintaxe FCL podem ser encontradas no

documento IEC 61131-7. Esta linguagem é uma linguagem de programação de domínio específico, ou seja, possui

características diretamente relacionadas com a lógica fuzzy. Dessa forma, o FCL permite ao programador especificar

conjuntos fuzzy, que são listas de pontos em um gráfico, bem como o conjunto de regras do sistema de inferência e o

método de defuzzificação.

5. Sistema Robótico móvel e nebuloso

O sistema robótico móvel e nebuloso proposto neste trabalho objetiva controlar os movimentos do agente robótico

de forma que este seja capaz de alcançar uma sequência especificada de coordenadas no ambiente, ao mesmo tempo

em que desvia dos obstáculos. Neste modelo, o agente robótico é ciente de sua localização no ambiente, bem como

das coordenadas que devem ser alcançadas para completar sua trajetória.

Page 6: Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica

14/11/13 Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica.org

www3.eletronica.org/artigos/simulacao-baseada-em-software-livre-de-um-sistema-robotico-fuzzy 6/11

Figura 6 – Módulo de navegação e diferença de direção, adaptado de Fracasso (2005).

A postura do robô é determinada pela sua orientação no ambiente (x, z, ξ), na qual x e z representam suas

coordenadas no plano bi-dimensional e o ângulo ξ representa a direção do seu movimento. Durante a navegação, a

postura atual, a próxima postura e o ângulo atual são utilizados para calcular o ângulo de rotação necessário para o

robô alcançar o objetivo, como ilustrado na Figura 6. Os sonares frontais indicam a distância dos obstáculos que

possam existir no caminho. O controlador nebuloso utiliza as informações sobre a diferença angular das posturas e da

distância dos obstáculos para definir o ângulo de rotação. A velocidade de translação do robô é mantida fixa para

simplificar a modelagem.

5.1 Variáveis linguísticas

Neste sistema nebuloso, são utilizadas três variáveis linguísticas de entrada. As variáveis esquerda e direita indicam a

distância dos obstáculos obtida pela leitura dos pares de sonares existentes. A última variável linguística é o ânguloє1,

queé obtida pela diferença dos ângulos de orientação das posturas inicial e final. Além disso, existe apenas uma

variável linguística de saída: o ângulo de rotaçãoє2.

As funções de pertinência das variáveis linguísticas são apresentadas na Figura 7. Pode-se observar que o universo do

discurso dos sonares varia de 0 à 1.5m, com os valores linguísticos: Perto e Longe, simplificando o projeto para que o

robô apenas evite as colisões. Por outro lado, o universo do discurso dos ângulos de entrada є1 e de saída є2 varia de

-30º à +30º, ambos possuem doze variáveis linguísticas, Ângulo Muito Pequeno (AMP), Ângulo Pequeno (AP), Ângulo

Médio (AM), Ângulo Médio Zero (AMZ), Ângulo Grande (AG), Ângulo Muito Grande (AMG), que podem ser positivos ou

negativos.

Figura 7 – Funções de pertinência das variáveis de entrada: direita/esquerda e ângulo. A função de pertinência para o

ângulo de saída é a mesma da função que representa o ângulo de entrada.

Page 7: Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica

14/11/13 Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica.org

www3.eletronica.org/artigos/simulacao-baseada-em-software-livre-de-um-sistema-robotico-fuzzy 7/11

5.2 Regras, sistema de inferência e defuzzificação

As regras de inferência são colocadas no arquivo navigation.fcl, tendo um objetivo com duas premissas: fazer o robô

desviar dos obstáculos, se os mesmos estiverem próximos, ou fazer simplesmente o robô continuar a sua trajetória

quando o caminho está livre. A Figura 8 apresenta algumas das regras utilizadas. O sistema utilizado foi o método dos

mínimos de Mamdani. No processo de defuzzificação, os valores obtidos pelas regras acionadas foram defuzzificados

através do método de máximo mais à esquerda.

Figura 8 – Exemplo de algumas regras utilizadas na simulação.

6. Resultados

Após a implementação dos sistemas de fuzzificação, motor de inferência e defuzzificação, bem como a implantação do

conjunto de regras elaboradas, iniciou-se a etapa de simulação. O código-fonte do simulador Simbad foi modificado

para que a rota realizada pelo robô seja exibida em tempo de simulação. Possibilitando, dessa forma, a visualização do

percurso realizado.

A avaliação do sistema proposto utiliza dois ambientes de simulação. Nos quais foram criados obstáculos no intuito de

bloquear a trajetória do robô através das coordenadas inseridas, representadas pelas esferas vermelhas no cenário,

testando assim, a lógica nebulosa para desvio de obstáculos. Para o primeiro ambiente, foi modelado um cenário

simples, com dois obstáculos do tipo parede, o qual é ilustrado na Figura 9. Através da utilização da lógica fuzzy, a

navegação do robô foi realizada com êxito. A Figura 9 demonstra também como o robô consegue seguir as

coordenadas estipuladas e, ao mesmo tempo, desviar dos obstáculos dispostos no ambiente.

Page 8: Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica

14/11/13 Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica.org

www3.eletronica.org/artigos/simulacao-baseada-em-software-livre-de-um-sistema-robotico-fuzzy 8/11

Figura 9 – Rota realizada pelo robô antes e após a simulação.

Em uma segunda simulação, foi utilizado um ambiente com mais obstáculos. A Figura 10 demonstra o ambiente antes

do início da simulação e o percurso realizado pelo robô com tais obstáculos. Durante essa simulação, o robô consegue

novamente percorrer com êxito as coordenadas definidas.

Page 9: Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica

14/11/13 Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica.org

www3.eletronica.org/artigos/simulacao-baseada-em-software-livre-de-um-sistema-robotico-fuzzy 9/11

Figura 10 – Rota realizada pelo robô em um segundo ambiente de simulação.

Como foi visto, a lógica nebulosa para o desvio de obstáculos funcionou perfeitamente para os dois ambientes de

simulação propostos. O robô apresentou como saída os movimentos giratórios para esquerda ou direita, fazendo com

que o mesmo consiga evitar as colisões validando, dessa forma, o sistema fuzzy proposto.

7. Considerações finais

Este artigo apresenta o modelo e a simulação de um sistema robótico móvel e nebuloso baseado nas ferramentas de

software livre: Simbad e jFuzzyLogic. Os resultados demonstram que o agente robótico consegue não só desviar dos

obstáculos, mas percorrer a trajetória designada nos dois ambientes de simulação propostos. Contudo, o modelo

apresentado não é capaz de percorrer trajetos em um ambiente mais complexo e com muitos obstáculos, nesse caso é

necessário modificar as regras e tornar o sistema mais robusto. Assim, surgem duas motivações principais para um

futuro trabalho: adicionar e melhorar as regras existentes, com o objetivo de deixar o sistema mais tolerante a falhas, e

realizar a implementação desse projeto em um ambiente com elementos reais.

Referências

BATISTA, I. J. L. et al. Navegação de Robôs Móveis com Ênfase em Planejamento e Supervisão de Trajetórias. In: XVIII

Congresso Brasileiro de Automática, 1., 2010, Bonito. Anais… Bonito: UNESP-MS. 1 CD-ROM.

CINGOLANI, P. jFuzzyLogic. Disponível em: <http://jFuzzyLogic.sourceforge.net> Acesso em: 20 jul. 2011.

FILHO, F. A. R. et al. Development of Robots for the Pipeline Industry… 2010.Trabalhoapresentadoao41st International

Symposium (ISR) on and 2010 6th German Conference on Robotics (ROBOTIK), Munique, 2010.

FRACASSO, P. T.; REALI COSTA, A. H. Navegação reativa de robôs móveis autônomos utilizando lógica nebulosa com

regras ponderadas. In: IEEE LATIN-AMERICAN ROBOTICS SYMPOSIUM. São Luis, MA, 2005. SBAI IEEE LARS. São Luis:

IEEE, 2005. pp. 1-7.

FUZZY INFERENCE SYSTEMS. Disponível em: <http://www.mathworks.com/help/toolbox/fuzzy/fp351dup8.html>.

Acessado em: 21 jul. 2011.

GOEBEL, G. A Introduction To Fuzzy Control Systems. Disponível em: <http://www.faqs.org/docs/fuzzy/> Acesso em: 19

jul. 2011.

HIRZINGER, G. et al. ROTEX-the first remotely controlled robot in space.In: Proc. IEEE Conf. on Robotics and

Automation. Anais Proceedings San Diego: IEEE, 1994. pp. 2604-2611.

HUGUES, L.; BREDECHE, N. Simbad: An Autonomous Robot Simulation Package for Education and Research. In:

Proceedings of SAB’2006. pp.831~842

JOSHI, M.M.; ZAVERI, M.A.; Fuzzy Based Autonomous Robot Navigation System. Proceedings of the India Conference

(INDICON), 2009 Annual IEEE, ISBN: 978-1-4244-4858-6, DOI: 10.1109/INDCON.2009.5409419, pp. 1-4, Gujarat,

India, 18-20 Dec. 2009.

MOTTA, J. M. S. T.; TOURINO, S. R. G. Sistema de Rastreamento por Visão em Robôs Móveis com Otimização por Projeto

Fatorial. Revista Iberoamericana de Ingeniería Mecánica. Vol. 12, N° 1, pp. 25-34, jan. 2008.

OTTONI, G. L.; LAGES, W. F. Navegação de robôs móveis em ambientes desconhecidos utilizando sonares de ultra-som.

Sba Controle & Automação [online]. 2003, vol.14, n.4, pp. 402-411.

PERRY, T.S. Lotfi A. Zadeh [fuzzy logic inventor biography]. Ieee Spectrum. Disponível em:

<http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=387136> Acesso em: 21 jul. 2011.

PREISING, B.; HSIA, T. C.; MITTELSTADT, B. A literature review: robots in medicine. IEEE Engineering in Medicine and

Biology Magazine. Vol. 10, N° 2, pp. 13-22, jun. 1991.

REDEL, R.; HOUNSELL, M.S. Implementação de Simuladores de Robôs com o Uso da Tecnologia de Realidade Virtual. In:

IV Congresso Brasileiro de Computação, Itajaí – SC. IVCBCOMP, v. 1, 2004, pp. 398-401.

RAGURAMAN, S.M.; TAMILSELVI, D.; SHIVAKUMAR, N. Mobile robot navigation using Fuzzy logic controller. In:

International Conference on Control, Automation, Communication and Energy Conservation, Perundurai – 638052,

Erode, Tamilnadu, Índia – INCACEC 2009. pp. 1-5.

SIMBAD PROJECT HOME. Disponível em: <http://simbad.sourceforge.net/> Acesso em: 21 jun. 2011.

SIMÕES, A. S.; MARTINS, A. C. G.; CARRION, R. Robôs móveis autônomos na missão marte: projetando um sistema

reativo com transição sequencial de comportamentos. In: Anais do XXVI Congresso da Sociedade Brasileira de

Computação (SBC). ENRI’06: Encontro de Robótica Inteligente. Campo Grande, 17-20 de julho de 2006.

SOLIS, J.; TAKANISHI, A. Practical Issues on Robotic Education and Challenges Towards RoboEthics Education. In: 18th

IEEE International Symposium on Robot and Human Interactive Communication, 3., 2009, Toyama. IEEE Press, 2009

pp. 561-565.

STALLMAN, R. Open Source: Voices from the Open Source Revolution. 1. ed. Sebastopol: O’Reilly & Associates. 1999.

Page 10: Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica

14/11/13 Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica.org

www3.eletronica.org/artigos/simulacao-baseada-em-software-livre-de-um-sistema-robotico-fuzzy 10/11

Like 8 9 Tweetar 3

Autores

Jardel Rodrigues <[email protected]> – Aluno de graduação em Ciência da Computação, IFCE Campus Maracanaú.

Leandro Bezerra <[email protected]> – Aluno de graduação em Ciência da Computação, IFCE

Campus Maracanaú.

MSc. Otávio A. de Lima Jr. <[email protected]> – Professor, IFCE Campus Maracanaú.

About the author

Currently there is no additional info about this author.

2 Responses

anderson freitas on 28/02/2012

Eu achei essa parada insteressante,mais fiquei perdidão,mais eu gosto muito de eletrônica

principalmente aqueles kits de montar!!!!!!!

Reply

Júlio Hoffimann Mendes on 29/02/2012

Não conhecia o blog, de altíssima qualidade. Parabéns!

Abraço!

Reply

Comment on this post

Name

Email

Website

Share 1

Page 11: Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica

14/11/13 Simulação baseada em software livre de um sistema robótico fuzzy - Eletronica.org

www3.eletronica.org/artigos/simulacao-baseada-em-software-livre-de-um-sistema-robotico-fuzzy 11/11

Submit Comment

2 − = um

Tags

can capacitor equipamento fusível fuzzy

indutor interrupção layout linux

microcontrolador pci porta paralela pwm resistor

robótica rs232 serial sistemas embarcados solda

tempo-real

Tópicos Recentes no Fórum

Circuito amplificador de faísca

Ajuda Diodo HER105

Diodo_não_entendo

contato

Interface para maquina de musica

Como usar chave (toggle com contato contínuo)

em contato instantâneo?

Nobreak SMS 600va não reconhece rede.

Posts Recentes

Simulação baseada em software livre de um

sistema robótico fuzzy

Desacoplando Através de Exemplos

Estação de Solda Hakko FX 951

Programming Embedded Systems, Second Edition

Designing Embedded Hardware 2nd Edition

Math Toolkit for Real-Time Programming

Building Embedded Systems Devices

Copyleft 2002-2012 - Eletronica.org