• Nenhum resultado encontrado

Controle Inteligente de Robôs Móveis Autônomos utilizando Sistemas Inteligentes

N/A
N/A
Protected

Academic year: 2021

Share "Controle Inteligente de Robôs Móveis Autônomos utilizando Sistemas Inteligentes"

Copied!
8
0
0

Texto

(1)

Controle Inteligente de Robôs Móveis Autônomos utilizando Sistemas

Inteligentes

Aluno: Gabriel Lins Tenório

Orientadoras: Roxana Jiménez e Marley Rebuzzi Vellasco

Introdução

A aplicação de robôs móveis autônomos, atualmente, têm se mostrado crescente nos últimos anos, como por exemplo no caso das montagens automobilísticas, de exploração espacial e de realização de atividades domésticas. Utilizando Sistemas Inteligentes, é possível fornecer ao robô ferramentas computacionais que o permitem executar tarefas sem intervenção humana, tornando-o um robô autônomo capaz de reproduzir certos aspectos humanos como tomada de decisão e aprendizado. Através de sensores, o robô obtém informações sobre o ambiente em que ele se desloca. No caso do controlador Fuzzy, devidamente calibrado, este orienta o robô de forma com que ele desvie de obstáculos e alcance seu alvo. Com uma câmera devidamente instalada na plataforma do robô e através de uma programação de reconhecimento de padrões é possível identificar um objeto, e com o modelo do braço e da garra robóticos, resgatá-lo.

Objetivos

Desenvolver e aprimorar os conhecimentos sobre robôs móveis autônomos baseados em sistemas inteligentes, aplicando-os em ambientes reais utilizando o robô CoroBot da CoroWare, Inc. Aplicação de diversos tipos de sensores e visão computacional. Utilização e programação de um braço robótico para a captura de um objeto.

Características do robô CoroBot Hardware

O CoroBot é um robô terrestre que pode ser aplicado em ambientes abertos ou fechados. Possui um computador embarcado, isto é, possui processador, memória RAM e Hard Drive. O robô pode funcionar através da alimentação feita por suas baterias recarregáveis ou diretamente da energia elétrica por meio de cabos. O CoroBot também possui adaptador Wi-Fi, o que torna possível o seu controle (remoto) por meio de outros computadores.

O robô possui quatro rodas que são movimentadas por servo-motores (um motor para cada roda) e também possui um manipulador robótico de 3 graus de liberdade com uma pinça robótica capaz de perceber (pelo sensor de toque) e segurar objetos. Para sua navegação, o robô utiliza uma webcam, um sensor LRF (Laser Range Finder) e sensores de contato embarcados em sua plataforma.

Software

O computador presente no robô estudado utiliza o sistema operacional Windows XP, que possui o programa MATLAB® 2011b instalado. Nesse programa, foram feitas todas as programações de controle referentes aos sensores, ao processamento de imagens e aos sistemas Fuzzy.

(2)

Metodologia

Implementação do Sensor Laser Range Finder (LRF)

Figura 1.1. Laser LRF Figura 1.2. Laser LRF acoplado ao CoroBot O Laser Range Finder emite ondas de luz que seguem em linha reta, são rebatidas nos obstáculos, e retornam para o sensor que calcula a diferença de fase entre a onda emitida e a recebida. Essa diferença de fase é proporcional ao tempo que a luz emitida leva para chegar ao obstáculo e voltar, e esse tempo é proporcional à distância percorrida. O sensor possui um espelho rotativo que repete esse processo a cada 0,35° até atingir o mapeamento completo (240º).

Figura 2. Mapeamentos do LRF

Através do MATLAB®, o sensor LRF foi configurado de forma a fazer um mapeamento bidimensional (com ângulo de varredura de 240º), e em seguida mapear apenas os pontos de uma reta em três direções: perpendicular à parte frontal do robô, 45º à direita dessa primeira reta e 45º à esquerda.

(3)

Implementação de Sistemas de Lógica Fuzzy (SLFs)

Figura 2.1. Sistema de Inferência Fuzzy

Figura 2.2. Função de Pertinência Figura 2.3. Função de Pertinência

(sensor central) (sensor esquerdo e direito)

Figura 2.4. Função de Pertinência (par de motores esquerdos e direitos)

Os sistemas de Lógica Fuzzy [1], diferentemente das lógicas convencionais, possibilitam o uso de valores lógicos intermediários entre as definições de resultado como "verdadeiro" ou "falso". Dessa forma, podemos trabalhar com incertezas e por fim tomar decisões, reproduzindo o comportamento humano. Um sistema Fuzzy possui funções de pertinência que representam o grau de compatibilidade dos elementos de seus conjuntos tendo como funções as suas variáveis linguísticas. No caso estudado, temos como variáveis linguísticas: os mapeamentos do sensor LRF (entradas do sistema ou antecedentes) e as potências fornecidas pelos pares de motores (saídas do sistema ou consequentes).

(4)

Os conjuntos pertencentes às variáveis linguísticas das leituras dos sensores foram: MP (muito perto), P (perto), L (longe) e ML (muito longe). Para as variáveis linguísticas das potências nas rodas, os conjuntos foram: NG (negativo grande), NP (negativo pequeno), ZE (zero ou neutro), PP (positivo pequeno) e PG (positivo grande).

Os valores precisos fornecidos pelo sensor do robô são enviados para os conjuntos Fuzzy sendo transformados em sinais Fuzzy (realização da Fuzzificação). No sistema de inferência Fuzzy, ocorre a ativação das regras estabelecidas, a combinação dos antecedentes, os métodos de implicação e as composições de relações. Na Defuzzificação, é feito o processo inverso, ou seja, a interpretação da informação é processada em valores precisos que determinam as potências que serão fornecidas aos motores das rodas.

O controlador Fuzzy obteve êxito com apenas três funções de pertinência, triangulares e trapezoidais, para os sensores (referentes ao mapeamento central, esquerdo e direito) e duas para os motores (referentes à potência do par de motores das rodas dianteiras e traseiras). As figuras 2.3 e 2.4 servem para visualizar tanto a função de pertinência relacionada a um lado do robô como a relacionada ao outro lado devido à simetria com o eixo que passa no centro do robô, sendo a única diferenciação na base de regras. Após uma série de observações sobre o comportamento do modelo estabeleceu-se uma base de regras mais otimizada, eliminando as regras que não seriam ativadas. Através desse método foram implementadas no total 50 regras. Para minimizar os eventuais erros, propagados devido às leituras dos sensores e aos atrasos na comunicação do controlador (latência), foi utilizada a composição de relações Fuzzy em máx-min, o operador de implicação em min, a combinação dos antecedentes (conectivo and) em min, o conectivo or em máx e o método de Defuzzificação em centróide.

Programação do Processamento Digital de Imagens

Figura 3.1. Reconhecimento de padrões Figura 3.2. Webcam acoplada ao robô

O processamento digital de imagens [2], feito com o auxílio da câmera embarcada e de uma programação feita em MATLAB®, rastreia objetos de certos padrões de forma e cor. A imagem capturada é dividida em pixels sendo representada por uma função bidimensional f(x,y), como é mostrado na figura 3.1. Nessa função, x e y são as coordenadas dos pixels da imagem (dependentes da escala a ser utilizada) e os valores dessa função representam a intensidade da imagem local. Para simplificar o reconhecimento de padrões, um objeto esférico de cor laranja foi utilizado permitindo a aplicação direta do modelo RGB (Red, Green and Blue). O contorno do objeto esférico também simplificou sua identificação, pois um

(5)

objeto esférico possui o mesmo contorno circunferencial independentemente do ângulo de captura da câmera. O processamento também apresentou ruídos na imagem (pixels fora de ordem), o que afetou sua morfologia (estrutura geométrica das imagens), sendo necessária a aplicação de operações de Abertura e Fechamento de Morfologia (utilizando o programa CARTOMORPH feita em linguagem de programação C++), cuja importância é fundamental na área de visão computacional. O processo de Abertura de Morfologia serviu para suavizar o contorno da imagem e o processo de fechamento de Morfologia serviu para eliminar os vazios que apareceram na imagem (pequenos orifícios).

A cada atualização dos sensores, é feito o teste de reconhecimento de cores através de um método matemático (distância de Euclides), que mede o quão distante a cor obtida está da desejada. Se esse teste for positivo, isto é, a distância de Euclides for menor que certo valor (calculado experimentalmente) o robô se locomove no sentido horário ou anti-horário, de forma a ajustar o contorno do objeto a determinadas coordenadas (x0,y0) e suas vizinhanças de pixels relativas ao raio da esfera, ou seja, centralizar a esfera na matriz de captura de imagem (como mostrado na figura 3.1). Quando a imagem é centralizada o Laser Range Finder mede a distância do robô ao objeto, e um comando de movimento frontal é acionado até que o robô mantenha uma distância mínima do alvo. Entretanto, esse comando é interrompido caso o LRF encontre obstáculos no caminho, ou se os sensores de contato (localizados na parte frontal da base do CoroBot) informarem sobre uma possível colisão.

Braço Robótico

Figura 4. Braço Robótico do CoroBot

Para o controle do braço robótico, acionado por servo-motores, foi utilizado um modelo cinemático desenvolvido [3], que torna possível conhecer o valor dos ângulos de cada articulação do braço (ombro e cotovelo) e a posição em que a garra se encontra em relação a base do braço. A partir de relações trigonométricas entre as articulações citadas e a distância mínima do robô ao alvo, foi feito o cálculo de quais seriam os ângulos desejados para que a garra alcançasse o alvo. A garra robótica possui sensores de pressão entre as pinças que simulam o tato e cujos valores de sensibilidade são adquiridos por uma equação linear de voltagem (V=Valor_Sensor*0,06-30), permitindo detectar a presença do objeto e segurá-lo com a pressão desejada.

(6)

Figura 5.1. Pinças da garra robótica detectando o objeto

Figura 5.2. Robô capturando o objeto

Resultados e Discussões

A Odometria nos permite estimar a posição do robô ao longo to tempo, tendo o raio da roda, a velocidade angular e a velocidade tangencial das rodas como parâmetros. Para

eliminar a variável de tempo foram feitos gráficos da posição vertical x posição horizontal do robô. Também foram desenhados em cada gráfico, através de plots sobrepostos, retângulos e um círculo representando respectivamente os obstáculos e a esfera a ser capturada.

(7)

Figura 6.3. Teste de odometria 3

As figuras acima mostram as simulações bem sucedidas, em ambiente real, de três testes que se diferem por uma pequena alteração nos obstáculos. Os obstáculos e a esfera não estão em escalas reais, apenas presentes nos gráficos para facilitar o entendimento.

No teste de odometria 1, o robô segue sua trajetória linearmente até se deparar com um objeto presente nas coordenadas (x=0.8, y=0.9), onde o sensor LRF detecta a proximidade com o mesmo e corrige a trajetória. Em (x=1.8, y=0.4) o robô gira 180º no sentido horário, detecta outro objeto e retorna a direção anterior. Na posição (x=1.9, y=0.9) o robô desvia do objeto, fazendo uma curva para a direita se deparando com a parede. Esse processo se repete até que o robô detecte a esfera, e quando isso ocorre, a programação feita no processamento de imagens faz com que o robô alinhe o centro da esfera com o centro da câmera até que o robô atinja o alvo, capturando-o.

No teste de odometria 2, em que um obstáculo é movido, o robô se aproxima deste objeto e desvia para a esquerda, se deparando com a parede. No ponto (x=0.1, y=1) já é possível observar que a câmera detecta a esfera, fazendo o robô seguir em direção ao alvo. Mesmo havendo alguns ruídos no sinal, o robô alcança seu alvo.

Um objeto foi novamente movido no teste de odometria 3. Nesse caso, o robô seguiu até o primeiro objeto sem detectá-lo, pois o objeto foi colocado em frente ao ponto cego do sensor LRF (lembrando que não foi utilizado todo o mapeamento bidimensional do sensor). No entanto, o sensor sensível ao toque (localizado na parte frontal do robô e próximo ao solo) detectou uma colisão fazendo o robô dar marcha ré com trajetória curvilínea, até encontrar uma posição segura. Após isso, o restante da lógica do percurso é análogo aos anteriores.

Ao mudar o tipo de comunicação do robô (sendo inicialmente feita por meio de uma comunicação interna) para uma conexão sem fio (feita por uma comunicação externa, isto é, outro computador) o resultado foi uma resposta insatisfatória do sistema, tornando necessário reajustar as regras e as funções de pertinência do sistema Fuzzy. Em alguns casos, o robô não reconheceu o objeto a ser capturado em certos pontos da trajetória, e, nesses casos, foi preciso reiniciar os testes.

A garra robótica nem sempre capturava com precisão a esfera, pois não foi utilizado um sistema de controle inteligente para a garra (apenas foram informados valores constantes dos ângulos entre as articulações para a captura) o que gerou dependência da exatidão do sistema Fuzzy e do processamento digital de imagem.

(8)

Conclusões

Através do estudo bibliográfico e o entendimento dos sistemas inteligentes, foi possível fornecer ao robô ferramentas para o conhecimento do ambiente por meio de sensores, locomoção por meio de atuadores e correção de trajetória (aprendizado) por meio dos métodos e lógicas implementadas. O aprendizado sobre os sensores e o braço robótico mencionados serão importantes para trabalhos futuros, uma vez eles são aplicados em ampla escala na área de robótica.

Os testes simulados em computador e em ambientes reais mostram convergências e algumas divergências, permitindo o maior entendimento dos limites concernentes à programação, ao hardware e ao software e quais métodos se deve utilizar em cada situação de forma a resolver o problema.

Por fim, a idéia de um robô que se move de forma autônoma procurando e resgatando objetos sem interferência humana se apresenta como relevante, pois pode ser aplicada em ambientes que representam risco ao ser humano, mas são seguros para as máquinas.

Referências

1 - Jerry M. Mendel, Fellow, IEEE. FUZZY LOGIC SYSTEMS FOR ENGINEERING: A

TUTORIAL 1995.

2 - GONZALEZ, R. C.; WOODS, R. E.; CESAR JÚNIOR, R. M.; COSTA, L. F.

Processamento de imagens digitais. São Paulo: E. Blucher, 2000.

3 - Adade Filho, A. Fundamentos de Robótica: Cinemática, Dinâmica e Controle de

Referências

Documentos relacionados

As IMagens e o texto da Comunicação (com as legendas incluídas) devem ser enviadas por correio eletrônico. Comitê

Por apresentar altas concentrações de fibras e lignina e elevado poder calorífico, a biomassa do capim-elefante apresenta aplicações para combustão direta, produção de

A corrida em prol de práticas mercantis permitiu que o modo de punição de prisioneiros fosse voltada para a evolução econômica através do envio de condenados para

Aos ______ do mês de __________ de ______ , nós, Luciane Vianna da Silva e ________________, respectivamente Diretora da Divisão de Projetos e Obras e Fiscal do Contrato da

Este apêndice pertence à simulação 23 e engloba a combinação [CENÁRIO, ANO]: [8,4] e possui as figuras da tabela das horas produtivas e improdutivas; tabelas do custo

Diante do conhecimento estabe- lecido de potenciais malefícios cau- sados pelo sistema renina-angiotensina quando ativado em insuficiência cardíaca congestiva, não foi sur- preendente

*ExClUSIVO PARA CONSUlTORES ACIMA DE 12 SEMANAS DE CADASTRO. **Ao adquirir o Presente da Anfitriã Antecipado na semana 5 não pode adquiri-lo na semana 6. O valor do pedido não

A licenciatura em Comunicação e Relações Públicas tem a vantagem, relativamente a muitas outras na mesma área, de ser multidisciplinar, contemplando um conjunto bastante amplo