Você está na página 1de 17

Departamento de Engenharia Eltrica

Robtica Mvel Inteligente


Aluno: Leonardo de Paula Batista Benevides Orientador: Marley Maria B. R. Vellasco

Departamento de Engenharia Eltrica

Introduo A robtica uma rea de pesquisa interdisciplinar, por natureza. Pode-se afirmar, de forma geral, que ela emprega ferramentas, metodologias e tecnologias inerentes a grandes reas como a engenharia mecnica, engenharia mecatrnica (com histria tambm recente e poucos cursos no Brasil), engenharia eltrica e eletrnica e engenharia de computao. A robtica utiliza-se de conceitos tericos de grandes reas como matemtica, fsica, qumica, biologia, at educao, e busca tambm muita inspirao em reas mais centradas no entendimento do crebro e do corpo humano como neurologia, fisiologia e psicologia. Sob a tica da robtica, em processos industriais e de produo, o desenvolvimento da rea de extrema importncia devido ao alto risco de acidentes existente em grande parte das tarefas nestes processos. Falhas humanas no s podem trazer graves conseqncias ao trabalhador e ao equipamento industrial, mas tambm podem causar, como freqentemente tem ocorrido, srios danos ambientais e ao Homem. A execuo deste projeto contribuir com o avano do conhecimento para o desenvolvimento de mquinas mais inteligentes com o objetivo de substituir o Homem em atividades que possam causar o prejuzo sade ou mesmo prpria vida deste. Isso inclui a possibilidade de robs auxiliando o Homem de forma a reduzir as possibilidades de erros humanos. Dessa forma, a motivao deste projeto desenvolver pesquisa na rea de robtica atravs de modelos de robs virtuais e reais a partir de modelos computacionais inteligentes para dotar robs reais com capacidade de navegao para atingir metas especficas. Portanto, utilizando um rob Lego MindStorms(Figura 1), ser apresentado um modelo de sistemas de controle Fuzzy capaz de realizar uma tarefa especificada mais adiante. Este modelo foi escolhido devido a complexidade do problema, onde o rob ter que lidar com diferentes entradas simultneas em diferentes situaes, caso fosse utilizado um sistema de controle convencional, haveria a necessidade de mapear todas as situaes possveis, o que seria muito trabalhoso e poderia no se levar em conta todas as possveis variveis relevantes ao problema, seja por falta de conhecimento de alguma delas ou por mera distrao, o que acarretaria em um modelo ineficiente, gerando mais empecilhos na etapa de ajustes.

Figura 1 Rob LEGO MindStorms NXT utilizado com modelo de controle Fuzzy.

Departamento de Engenharia Eltrica

Controladores que utilizam Lgica Fuzzy diferem dos controladores tradicionais, pois no priorizam a modelagem matemtica, mas sim utilizam regras lingsticas, que so muito mais intuitivas e prximas do raciocnio humano, o qual dotado de capacidade de tomar decises mesmo com informaes imprecisas. Para a criao dessas regras necessrio um especialista no assunto ou uma base de dados da qual se possa extrair informao para que se possa descrever como o rob deve reagir de acordo com as informaes colidas do ambiente. Suas reaes devem respeitar um conjunto de regras da forma SE....x.....ENTO .....y..... Portanto, esse mtodo permite que se resolva problemas complexos de uma forma bem intuitiva, gil e prtica e utilizando pouca modelagem matemtica. Objetivos Desenvolver e embarcar um Sistema de controle Fuzzy em um rob Lego Mindstorms NXT com o objetivo de seguir um caminho fechado e cumprir um objetivo(capturar bolas de uma determinada cor) e retornar ao ponto de origem. Para isso ser necessrio desenvolver o conhecimento sobre: a tecnologia de sensores de som e opto-eletrnicos para navegao autnoma, em substituio ao reconhecimento de imagens; a capacitao no uso de ferramentas de simulao virtual de robs reais; capacitao de robs reais a seguir caminhos definidos por linha fechada a partir de informaes fornecidas pelo ambiente. Sero investigadas tcnicas baseadas em inteligncia computacional tais como Lgica Fuzzy e Sistemas Neuro-Fuzzy capazes de dotar o agente-rob com raciocnio, para que este possa de forma autnoma realizar a tarefa proposta da forma mais eficiente possvel. Hardware Utilizado

Figura 2 Brick LEGO MindStorms NXT

Resultado de uma parceria entre o MIT e o LEGO Group, o LEGO MindStorms a linha que associa as peas de montar evoluo da tecnologia. Com blocos de encaixe, o brinquedo evoluiu passando pela linha Technic, cujos encaixes mais inteligentes permitiam movimentos de articulaes, eixos e engrenagens, posteriormente sendo associados a motores, para finalmente permitir a participao de sensores e microcontroladores.

Departamento de Engenharia Eltrica

A primeira verso comercializada do MindStorms denominada Robotics Invention Systems (RIS) era controlada pelo brick RCX provido de um microcontrolador de 8 bits e 32k de memria RAM para armazenar o firmware e o programa do usurio que aceitava diversas linguagens de programao e era realizada por uma interface infravermelha entre o computador e brick. Este produto passou a ser adotado em escolas e universidades com fins didticos, pois todos os aspectos da dinmica robtica eram aplicados, de forma simplificada, desafiando a construir projetos envolvendo estruturao, mecnica, programao e a capacidade de correlacionar todos estes formando o raciocnio mecatrnico. Em 2006 os kits LEGO MindStorms NXT (Figura 3) evoluram em relao ao seu antecessor, o brick passou a contar com dois microprocessadores, um principal de 32 bits, com 48MHz, 256k de memria flash e 64k de memria RAM, e outro secundrio de 8 bits, 4MHz, 4k de memria flash e 512b de RAM, um adaptador Bluetooth interno e uma entrada USB.Esta nova verso a disponibilizao em cdigo aberto do firmware no prprio site da empresa. O uso no meio acadmico possibilitou a criao de competies de robs, onde instituies de ensino apresentam robs desenvolvidos por seus alunos para competirem entre si. As modalidades presentes nas competies consistem desde uma simples tarefa que os participantes montem um rob que realize uma tarefa at as mais complexas, como que as instituies tragam times de robs que joguem uma partida de futebol. O kit(Figura 5) conta com o brick (1), este com entrada para trs servo-motorese quatro sensores, os trs servo-motores (6), um sensor ultra-som (5), um sensor infra-vermelho (4 -utilizado para percepo luminosa de ambientes claros e escuros), um sonoro (3 - que pode ser ajustado na escala decibel (dB) para detectar todos os sons com a mesma sensibilidade) e dois de toque (2- capazes de perceberem quando so pressionado por algum objeto, e tambm quando liberado novamente).

Figura 3 Kit LEGO MindStorms NXT

Os servo-motores podem funcionar como entradas e/ou sadas de dados. Eles funcionam como um motor de passos, sendo possvel controlar o quanto o motor deve girar, e com qual velocidade ele deve faz-lo em uma escala de 0 a 100. Cada motor possui tambm um sensor de rotaes embutido, que permite a leitura dos movimentos do motor, podendo esta ser apresentada em graus, com preciso de +/- um grau e total para uma volta de 360 graus, ou em voltas completas, aplicada medio de distncias percorridas.

Departamento de Engenharia Eltrica

O sensor ultra-snico, juntamente com o luminoso, compe a viso do rob. Funcionando com o mesmo princpio cientfico de localizao dos morcegos, o sensor percebe obstculos a at 255 centmetros com uma preciso de +/- 3 cm calculando o tempo de retorno de uma onda sonora refletida pelo objeto. Ele pode apresentar o resultado em centmetros ou em polegadas . A LEGO disponibiliza tambm sensores de movimentos como o Gyro(percebe a velocidade de rotao), Compass(percebe a direo de rotao) e um sensor acelermetro, que percebe acelerao nos trs eixos ortogonais. Arquitetura do Rob Utilizou-se como base o modelo TriBot (Figura 4), sugerido pelo manual da Lego, , um triciclo composto por dois motores ligados a rodas e uma terceira roda de apoio livre.

Figura 4 Estrutura sugerida no manual. Este modelo foi escolhido como ponto de partida, pois possibilita, com um pequeno nmero de peas e apenas dois motores, o controle sobre a direo e o sentido de navegao do rob. O fato de utilizar apenas dois motores de suma importncia, pois teremos uma porta sobrando no brick para um servo que capturar as bolas. Para ser capaz de percorrer um percurso fechado de qualquer tipo, o rob foi equipado com dois sensores Luminosidade na sua dianteira (Figura 6), voltados para baixo, pois a anlise das leituras realizadas por estes sensores do ao rob a viso ou percepo da variao da cor do caminho que ele dever seguir. Os sensores devem estar o mais apontado para baixo possvel, pois a leitura ser mais precisa devido a menor interferncia da reflexo dos raios luminosos. Ao perceber uma variao na cor da pista(rob andar sobre uma linha preta em um ambiente de fundo branco), o rob toma a iniciativa de acertar seu percurso a fim de que seus sensores voltem a indicar que esto lendo branco. Portanto, existe a obrigatoriedade de se utilizar dois sensores, um a direita e outro a esquerda do centro do rob para que ele possa decidir para qual lado dever girar se necessitar fazer uma curva. A pista de testes composta por um fundo branco e o caminho em preto com bordas cinzas, esse modelo deve-se ao fato de que a Lgica Fuzzy, diferentemente da Lgica Tradicional, aceita que um elemento pertena com um grau de pertinncia a um conjunto, ou seja a cor cinza ela pertence com um certo grau(podemos dizer que 50%) ao conjunto Preto , e ao mesmo tempo pertence com um grau(os restantes 50%) ao conjunto Branco.

Departamento de Engenharia Eltrica

Figura 5 - Modelo de pista utilizada.

Figura 6 Disposio dos sensores infra-vermelho.

Quanto tarefa de capturar bolas, o rob contar com dois sensores, um infravermelho e outro ultra-snico, localizados na parte central de sua dianteira (Figura 7) voltado para frente do veculo que, em uma rotina sero responsveis por verificar se existe algum elemento na frente do rob (se a distncia a algum objeto inferior ao tamanho que a garra pode capturar) e se o elemento da cor que se deseja.

Figura 7 Disposio dos sensores responsveis pela rotina de captura da bola.

O terceiro servo-motor o responsvel por capturar o elemento identificado pelos dois ltimos sensores, para isso ele foi fixo na parte superior do rob para que possa sustentar uma garra e moviment-la quando acionado(figura 8).

Departamento de Engenharia Eltrica

Figura 8 Ilustrao do funcionamento do Servo e da Garra .

Software Idealmente, utiliza-se plataformas de simulao, onde o problema modelado e as solues propostas so avaliadas virtualmente para depois serem embarcadas no hardware e necessitar poucos ajustes. Apesar disso, neste trabalho no foi possvel realizar esse procedimento, que seria uma integrao com outro trabalho de iniciao cientfica de outro aluno, entretanto, os resultados obtidos foram muito bons e no foram necessrios muitos ajustes. 1.1.LEGO MINDSTORMS Educations NXT Software v1.1 Este o software que acompanha o Rob(Figura 9). desenvolvido pela National Instruments (NI), o programa baseado no software LabVIEW, tambm da mesma empresa. A linguagem de programao bastante intuitiva drag-and-drop ( blocos que representam elementos so arrastados para uma posio). O kit LEGO MINDSTORMS possuir um enorme potencial computacional e vendido tambm como brinquedo para crianas por ser muito simples, entretanto essa simplicidade traz limitaes, apenas funes bsicas de programao,portanto ele no capaz de executar as rotinas desejadas.

Figura 9 Software LEGO NXT.

Departamento de Engenharia Eltrica

1.2.National Instruments LabVIEW 8.2 O LabVIEW utiliza-se de um ambiente grfico de carter extremamente intuitivo e fcil de operar (no necessrio conhecimentos das tradicionais linguagens textual de programao), baseado em cones de funes, rotinas, variveis e controles . O programa utilizado em larga escala pala indstria, por sua alta performance em aquisio, anlise e manipulao de dados em todas as etapas do processo de produo.

Figura 10 LabVIEW.

A National Instruments, desenvolveu um toolkit para LabVIEW das funes de controle do NXT, o qual dispe-se de todo o poder computacional do LabVIEW para realizarmos as rotinas mais elaboradas que no eram permitidas pelo programa fornecido junto com o rob. Todo este poder computacional, porm, exige algumas limitaes. O Brick do LEGO NXT no reconhece a integrao com o software MATLAB nem arredondamentos numricos e converses entre variveis. Por este motivo pode-se apenas gravar programas pouco complexos na memria do Brick para execuo no mesmo. Assim, fica-se ento limitado a uma conexo online entre o Brick e o computador, seja por Bluetooth ou via cabo USB, onde todo o trabalho computacional realizado no micro, que o Brick apenas retransmitir os comandos para os servos e dos sensores. A escolha deste software para elaborao do algoritmo de controle para este projeto foi devido a sua interface gil e eficiente e o fato de ser a base do programa desenvolvido em parceria com a LEGO para controlar o NXT. O LabVIEW possui uma interface de comunicao com o MATLAB(apresentado a seguir) , portanto ser construdo o controlador Fuzzy no MATLAB para posteriormente execut-lo atravs do software da National Instruments atravs da janela MATLAB Script Node(Figura 11) que executas as funes perfeitamente sem acrscimo significativo de necessidade computacional nem de tempo de execuo.

Departamento de Engenharia Eltrica

Figura 11 MATLAB Script Node com algoritmo de chamada do controle Fuzzy.

1.3.MATLAB O MATLAB, abreviao de Matrix Laboratory, juntamente com o Simulink, seu principal addon so amplamente utilizados tanto para fins didticos, em universidades, quanto para fins comerciais em empresas de pesquisa, de novas tecnologias e instituies financeiras. As reas de aplicao destas ferramentas englobam praticamente todos os ramos que envolvem anlises matemticas. Alguns exemplos so controle, com modelagem para sistemas de controle e produo de cdigo para sistemas externos; processamento de sinais, com modelagem para processamento de sinais, contando tambm com ambiente de simulao e produo e verificao de cdigo; computao tcnica, com desenvolvimento, visualizao e anlises de algoritmos matemticos; processamento de imagens, com rotinas de aquisio, anlise, visualizao e ambiente de desenvolvimento de algoritmo; finanas, com modelos financeiros, ambientes de anlises e aplicaes. No MATLAB, utilizou-se o Fuzzy Logic Toolbox (Figura 12) para desenvolvimento do controlador que ser apresentado mais adiante no trabalho.

Figura 12 Fuzzy Logic Toolbox.

Departamento de Engenharia Eltrica

Controle Para atingir o objetivo do controle proposto existe uma rotina principal, que mantm o rob sobre a linha preta e testa se a bola da cor procurada est perto e se ela deve ser capturada. A rotina ser executada sucessivamente at que se d a tarefa por cumprida. O Controle principal, aplicando Fuzzy o da rotina de locomoo inteligente, enquanto o teste de localizao do objetivo um algoritmo de identificao. O programa em LabVIEW ser apresentado no apndice deste trabalho.

Rotina de Captura da Bola Enquanto o rob estiver se movimentando pela linha preta encontrar bolas pelo caminho e ao se aproximar de objetos, o sensor de ultra-som acoplado na frente informar um valor (distncia da bola ao rob), quando este valor for menor que quinze(valor emprico), ele far um outro teste para verificar a cor da bola. Este teste consiste em sabendo que h um objeto a sua frente e sua garra esta vazia, utilizar o sensor infra-vermelho para verificar se a cor do objeto a cor procurada. Cada cor tem uma intensidade, a cor azul tem intensidade 37, e a cor vermelha em torno de 42. Se a intensidade da bola vista pelo sensor for maior ou igual a 40, a garra ser acionada, caso a contrrio o rob ir ignorar a bola e continuar o percurso.

Figura 13 Rotina de Captura.

Rotina de Navegao Autnoma Foi implementado um sistema Fuzzy (Figura 14) capaz de julgar as condies do ambiente ao seu redor, e tomar decises da forma de atuao nos motores.

Departamento de Engenharia Eltrica

Figura 14 Estrutura do sistema.

A escolha de um controlador baseado em Lgica Fuzzy, foi devido a necessidade de se inferir ,de forma paralela, todas as entradas para ento atuar nas sadas. Outro motivo da sua escolha foram a suavidade das respostas nos motores, pois como o controle constante e no booleano, no h trancos ou movimentos sbitos por parte do rob como foram notados nos testes utilizando um controlador Crisp"(Ordinrio). Esta rotina se resume em locomover o NXT sobre a linha preta, os sensores infravermelhos devem ser mantidos sobre uma superfcie branca caso verifiquem uma mudana na leitura (comecem a se aproximar da linha preta), dever obedecer uma das regras para consertar sua trajetria. Numa segunda fase de testes foram introduzidas linhas cinzas entre a linha preta e o fundo branco, afim de tornar mais natural ainda o movimento do rob, pois seguindo um dos preceitos base do modelo Fuzzy, o cinza no nem branco nem preto, logo a ao do rob deve avaliar o nvel de pertinncia das variveis e fornecer a melhor resposta. As crenas embarcadas no NXT so os valores dos sensores ultra-snicos. As suas atitudes sero baseadas na base de regras que compem a inteligncia embarcada(lgica Fuzzy ).

Figura 15 Sistema Fuzzy Utilizado.

Departamento de Engenharia Eltrica

Variveis Lingsticas Existem duas variveis lingsticas como entrada do sistema de controle Fuzzy, que so referentes aos valores obtidos pelos sensores de infra-vermelho localizadas a direita e a esquerda do rob. Para as sadas do sistema Fuzzy de controle, existem duas variveis lingsticas, referentes potncia aplicada aos motores direito e esquerdo. As leituras dos sensores de infra-vermelho so limitadas na faixa entre 0 e 100 pelo prprio hardware. Quanto sada dos motores como agentes de atuao do sistema, eles possuem uma limitao imposta tambm pelo hardware de -100 a 100, sendo estes as velocidades mximas de r e para frente respectivamente. Conjuntos Fuzzy As variveis lingsticas dos sensores de infra-vermelho, tanto o esquerdo quanto o direito foram divididas em dois conjuntos fuzzificadores (Branco e Preto), cujo arranjo apresentado abaixo (Figura 16).

Figura 16 Conjuntos Fuzzy de entrada para os sensores infra-vermelho.

Como se pode perceber, os conjuntos ativos para fuzificao realmente operam entre 15 e 70 . Aps este valor, somente o conjunto Branco estar ativo com grau de pertinncia igual a 1 e antes de 15 o conjunto Preto que estar ativo com grau de pertinncia igual a 1. Este conjunto poderia ter sido reduzido para apenas essa faixa de valores, mas se decidiu manter os limites do hardware. Para as variveis dos servo-motores direito e esquerdo foram construdos os conjuntos Fuzzy Frente, Zero e R, conforme demonstrado abaixo (Figura 17). Neste caso se optou por restringir os limites de atuao do motor porque no se queria que fossem mostrados casos onde a velocidade de R fosse maior que 40.

Departamento de Engenharia Eltrica

Figura 17 Conjuntos Fuzzy de sada para os motores.

1.3.1.Base de Regras O sistema Fuzzy proposto, com duas entradas (provenientes dos sensores de infravermelho para navegao) para duas sadas (atuao em ambas as rodas), poderia ser controlado por at 4 regras. As regras foram formuladas seguindo uma ordem lgica de raciocnio, como era previsto de ser em um controle baseado em sistema Fuzzy. As regras utilizadas foram: Se o Sensor da Direita Preto e o Sensor da Esquerda Preto, ento a sada no Motor da Direita R e a sada no Motor da Esquerda Frente. Se o Sensor da Direita Branco e o Sensor da Esquerda Branco, ento a sada no Motor da Direita Frente e a sada no Motor da Esquerda Frente. Se o Sensor da Direita Preto e o Sensor da Esquerda Branco, ento a sada no Motor da Direita R e a sada no Motor da Esquerda Frente. Se o Sensor da Direita Branco e o Sensor da Esquerda Preto, ento a sada no Motor da Direita Frente e a sada no Motor da Esquerda R.

Departamento de Engenharia Eltrica

Figura 18 Tela do editor de regras. Inputs SenDir SenEsq 1 2 3 P P B P B P Outputs MotDir MotEsq R F R R R F

4 B B F F Tabela 1 Tabela de regras para o Controlador Fuzzy ( P Preto, B Branco, F- Frente, R- R, Z-zero).

Figura 19 Tela do visualizador de regras.

Departamento de Engenharia Eltrica

Defuzzificao O mtodo de inferncia utilizado foi o Max-Min, onde o operador mnimo utilizado nas implicaes das entradas para cada regra, e ento as regras sero compostas pela atuao do operador mximo na pertinncia resultante de cada regra(no conectivo e das regras lingsticas utilizado operador mnimo e no conectivo ou das regras lingsticas utilizado operador mximo). O Mtodo de defuzzificao utilizado foi o mtodo da Centride, onde o valor de sada final do sistema dado pela posio do centride do grfico formado pelos conjuntos Fuzzy de sada formados pela inferncia das entradas. Concluses Estudar os conceitos de inteligncia computacional foi importante para produzir agentes robticos inteligentes que podem realizar tarefas independente de uma superviso humana e que possam substituir estes em situaes de risco. Este projeto abranje os fundamentos bsicos de um mecanismo de navegao autnoma em ambientes que se tem um padro de caminho, a partir deste, pode-se adaptar para situaes reais que possuam uma base commercial, como seria o caso de automveis de navegao autnoma, os quais possuiriam um GPS onde se poderia escolher um destino, e sem mais aes do passageiro o veculo chegaria ao destino com o menor tempo possvel, com uma velocidade moderada. Outras aplicaes que j comearam a surgir seriam na automatizao das tarefas domsticas, com aspiradores de p que limpam a casa sozinhos, e futuramente podemos prever ferros de passar autnomos, limpadores de janelas e desentupidores. Alm das aplicaes comercias poderiamos ter robs que possam procurar sobreviventes e desaparecidos em terremotos, desmoronamentos, quedas de avies e naufrgios. Portanto, estamos encarando um problema que pode ser a soluo de problemas de muitas areas diferentes, praticamente qualquer produto que envolva independncia humana poderia ser resolvido utilizando esta base. Comparando os resultados produzidos, os que utilizavam essas tcnicas na maioria das vezes apresentavam respostas mais precisas e suaves do que controles que implementavam suas rotinas baseadas em mtodos convencionais. A prxima etapa do projeto consiste em estender o uso de agentes inteligentes para que estes possam trabalhar em conjunto e o aprendizado individual possa ser compartilhado com o grupo de agentes, a fim de que estes realizem melhor a tarefa que lhes foi proposta. Referncias 1 - George J. Klir & Bo Yuan, Fuzzy Sets and Fuzzy Logic Theory and Applications, Prentice Hall PTR, 1995. 2 - J. M. Mendel, Fuzzy Logic Systems for Engineering: a Tutorial, Proc. IEEE, V. 83, No. 3, pp. 345-377, 1995. 3 - Haykin, S. Redes neurais, princpios e prtica. 2 edio.Porto Alegre: Bookman, 2001.

Departamento de Engenharia Eltrica

4 - Wasserman, P.D. Neural computing: theory and pratice. New York: van Nostrand Reinhold. 1989 5 www.ica.ele.puc-rio.br/Downloads%5C 28 de Julho de 2010. C -cursop - efuzzificao.pdf - visitado em

6 www.mathworks.com - visitado em 28 de Julho de 2010. Apndice

Departamento de Engenharia Eltrica

Você também pode gostar