Prototipo de Um Robo Autonomo - Sumo Robot
Short Description
Download Prototipo de Um Robo Autonomo - Sumo Robot...
Description
FACULDADE CATÓLICA DO TOCANTINS CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO I NFORMAÇÃO
ROBSON ANDRADE VENCESLAU
PROJETO DE UM PROTÓTIPO DE ROBÔ AUTÔNOMO PARA COMBATE SEM ARMAS – SUMO ROBOT
Palmas 2011
ROBSON ANDRADE VENCESLAU
PROJETO DE UM PROTÓTIPO DE ROBÔ AUTÔNOMO PARA COMBATE SEM ARMAS – SUMO ROBOT Elaboração de Projeto de Estágio como requisito de aprovação da disciplina de Estágio Supervisionado II do curso de Sistemas de Informação da Faculdade Católica do Tocantins, orientado pelo Prof. MSC. Igor Yepes.
Palmas 2011
SUMÁRIO 1. INTR INTRODU DUÇ ÇÃO............... ........ .............. .............. ............ ........... ............. .............. .............. ............. ............ ............ ............. .............. ............ ........... ............. .............. .............. ....... 4 2. SUMÔ DE ROBÔS............. ...... .............. .............. .............. ............. ............ ............ .............. ............. ........... ............. .............. .............. ............. ............ ............ ............. .......... ... 5 3. ARDUIN UINO O..................................................... .................................................................................................................................... ............................................................................... 6 3.1. Ambiente Ambiente de de Dese Desenvolvimento nvolvimento Ar Ar duino (Arduino IDE)............... )........ .............. .............. .............. .............. .............. ....... 8 4. MOT MOTORES.............. ...... ............... .............. .............. .............. .............. .............. .............. ............. ............ ............ ............. ............... ............... .............. .............. .............. ............. ......10 10 4.1. 4.1. Motor de Pass asso .............................................................................. ..........................................................................................................10 ............................10 4.2. Motor Mot or CC (Corr (Corren entt e Contínua) .............. ....... .............. .............. .............. .............. ............... ............... .............. .............. .............. .............11 ......11 4.3. 4.3. Servomotor ervomotor .................................................................................... ................................................................................................................13 ............................13 4.3.1. 4.3.1. Servomot ervomot or HXT900 ............. ...... .............. .............. ............ ........... ............. .............. .............. ............. ............ ...........14 .....14 4.3.2. Conversão onversão do Servomot Servomotor or em gir giroo cont contínuo ínuo para uso uso em robótica robóti ca...... ... .....15 ..15 5. SENSORES.............. ...... ............... .............. .............. .............. .............. .............. .............. ............. ............ ............ ............. ............... ............... .............. .............. .............. ............. ......20 20 5.1. Sens ensor Refle fl exivo TCRT5000 5000 ............ ..... .............. .............. ............. ............ ............ ............. .............. ............. ........... ............ .............. .............21 ......21 6. MONT MONTAG AGE EM DO DO PROTÓTIPO IPO............. ...... .............. .............. .............. ............... ............... .............. .............. ............ ........... ............. .............. .............. ............. ......22 22 7. PROGRAMAÇ AMAÇÃO .............. ....... .............. ............... .............. ............ ............ ............ .............. ............. ........... ............ .............. ............... ............. ............ ............ ............. .........29 ..29 9. CONCLUSÃO............. ...... .............. .............. ............. ............ ............ ............. .............. ............ ........... ............. .............. ............... ............. ........... ............. .............. .............. .........32 ..32 10. 10. BIBL IBLIOG IOGRAFIA AFIA ............. ...... .............. .............. ............ ........... ............. .............. .............. ............. ............ ............ ............. .............. ............ ........... ............. .............. ............. ......33 33
4
1. INTRODUÇÃO O termo Robô do inglês robot, vem do tcheco robota que significa trabalho. A idéia de construir máquinas capazes de agir e realizar tarefas apenas executadas por seres humano não é nova, apesar do termo Robô ter sido inicialmente utilizado em 1921 por karel Capek em sua ficção “Rossum’s universal Robots ”, ”, há relatos de que os primeiros trabalhos sobre robôs tem sido os relógios de água com figuras móveis projetados pelo engenheiro grego Ctesibius (270 AC). (Pires, 2002). O grande uso e avanço da robótica têm sido nas produções industriais, tendo como primeiro robô industrial o “Unimate”, desenvolvido por George Devol (considerado o pai da robótica industrial) e Joseph Engelberger na companhia americana Unimation Inc. (1959-1952). Com o avanço e o surgimento de novas tecnologias o ramo da robótica vem crescendo e com isso os robôs estão ganhando formas, agilidades e inteligência mais precisas de acordo a finalidade de seu desenvolvimento. Uma das áreas da robótica bastante pesquisada em academias e universidades e que será abordada neste trabalho é a construção de robôs para combates. Este ramo da robótica vem crescendo bastante, envolvendo grandes competições e atraindo cada vez mais competidores e espectadores no mundo todo. A primeira competição envolvendo combate de robôs foi a “Design 2.007” , um evento que ocorre anualmente desde 1970 no Massachusetts Institute of Technology (MIT), (Meggiolaro, 2006). Atualmente existem três modalidades principais de competições entre robôs: Combate , Hockey e Sumô.
Combate: Combate: luta entre dois robôs radio-controlados dentro de uma
arena fechada. O principal objetivo de cada equipe é causar o maior dano possível ao adversário e evitar que seu robô receba pancadas do outro. A vitória é obtida por nocaute, quando o oponente fica sem se locomover por dez segundos ou por pontuação (distribuída em pontos de ataque/defesa semelhante a realizada em lutas de boxe). Nessa modalidade os robôs podem utilizar armas para danificar ou destruir seus oponentes.
5
Hockey: Hockey: times de três robôs radio-controlados se enfrentam em uma arena onde disputam uma partida semelhante ao esporte hockey, tendo dez minutos de duração. A meta é marcar o maior numero possível de gols no adversário. Sumô: Sumô: robôs pequenos se enfrentam, um a um, em uma arena
redonda, onde devem empurrar um ao outro para fora dos limites demarcados. Nessa modalidade de competição há categorias de sumô para robôs radiocontrolados e autônomos, não sendo permitido uso de armas. Existem outras modalidades de competições de robôs como o futebol de robôs, robôs de Lego e categorias humanóides. O futebol de robôs é uma modalidade que vem avançando no Brasil, existindo a CBF-R (Confederação Brasileira de Futebol de Robôs) que promove, periodicamente, um Campeonato Brasileiro, tendo como inspiração a RoboCup (Organização internacional que promove todos os anos competições envolvendo futebol de robôs e outras modalidades) e a FIRA (Federation of International Robot-soccer Association ).
2 . SUMÔ UMÔ DE ROBÔS ROBÔS O Sumô de Robôs é uma modalidade de competição, como o nome já diz, que se assemelha num dos esportes mais populares do Japão, o sumô. No entanto, no lugar de pessoas, os competidores são robôs que se enfrentam com a intenção de empurrar seu oponente para fora da arena. A modalidade foi originalmente iniciada no Japão no final de 1980 por Hiroshi Nozawa (Miles e Carroll, 2002). Esta modalidade é conhecida mundialmente pelos profissionais, estudantes e pesquisadores da área de robótica e vem crescendo desde o inicio, pelo fato de ser um esporte relativamente simples em comparação a outras formas de competições de robótica. As regras utilizadas nesta modalidade variam em competições no mundo todo, onde as principais diferenças entre as categorias estão no tamanho e pesos dos robôs, também existindo campeonatos para robôs radiocontrolados e robôs autônomos (robôs com capacidade de se locomover e agir sem a interferência humana). humana). Normalmente nas competições, as batalhas são divididas
6
em três rounds com um tempo de 3 minutos cada, sendo que o competidor que ganhar dois rounds vence a batalha. No caso em que nenhum dos competidores sai da arena, a vitoria é atribuída ao que obtiver o maior número de pontos registrados pelos juízes durante o round. Esses pontos são registrados de acordo com o desempenho e agressividade do robô dentro do ring. Existem duas categorias principais para as competições de Sumô de Robôs, a categoria Internacional e a categoria Mini . Na categoria Internacional , a mais utilizada no Japão, e às vezes chamada de categoria de 3kg, tem como característica o peso dos robôs podendo chegar a 3kg, e o tamanho de 20cm x 20cm. Na categoria Mini , o limite de peso do robô é de 500g e tamanho de 10cm x 10cm. Neste projeto serão utilizadas as normas para a categoria Mini .
3. ARDUINO O Arduino é um projeto de circuito baseado em microprocessador de código aberto (distribuídos sob a licença Creative Commons Attribution Share-Alike 2.5 ), ), da indústria Atmel da Itália, com o objetivo de fomentar a computação física, cujo conceito é aumentar as formas de interação física entre o homem e a máquina. O projeto tem sido um sucesso e vem crescendo no mundo inteiro pelo fato de ser um equipamento de baixo custo e fácil aprendizado. É uma plataforma de computação física baseada numa placa de Entrada/Saída microcontrolada e desenvolvida sobre uma biblioteca que simplifica a escrita da programação em C/C++. Basicamente são sistemas digitais ligados a sensores e atuadores que permitem construir sistemas que percebam a realidade e respondem com ações físicas. Compõe a placa Arduino um microcontrolador (também denominado MCU), é um computador em um chip que conte processador, memória e periféricos de entrada/saída. Um microprocessador que pode ser programado para funções especificas, em contraste com outros microprocessadores de propósito geral, como
7
os utilizados em PC’s. Eles são embarcados no interior do Arduino para controlar suas funções e/ou ações. O Arduino é um kit de desenvolvimento capaz de interpretar variáveis no ambiente e transformá-las em sinal elétrico correspondente, através de sensores ligados aos seus terminais de entrada, e atuar no controle ou acionamento de algum outro elemento eletro-eletrônico conectado ao terminal de saída. Pode-se dizer que o Arduino é uma ferramenta de controle de entrada e saída de dados, que pode ser acessado por um sensor (por exemplo um resistor dependente da luz - LDR) e que logo após passar por uma etapa de processamento o microcontrolador poderá acionar um atuador, por exemplo um motor. Não é muito diferente de um computador, que tem como sensores de entrado o mouse e teclado, e de saída, impressoras e caixas de som, por exemplo, só que o Arduino faz interface com circuitos elétricos podendo receber ou enviar informações/tensões neles. O Arduino pode ser usado para desenvolver objetos interativos, tomando entradas de vários switches ou sensores, e controlando uma variedade de atuadores como LED’s, servomotores, relés, entre outros tipos de saídas. Os projetos podem ser autônomos baseado na rotina para o microcontrolador ou podem se comunicar com um software em execução no computador.
Figura 1: 1: Placa Arduino.
8
A plataforma Arduino permite que qualquer pessoa possa trabalhar com microcontroladores de forma simples. Os detalhes confusos e complexos de programação desses componentes ficam alocados em um pacote chamado easy-touse (fácil de utilizar), oferecendo grande vantagem a professores, estudantes e até pessoas que não tem conhecimentos, mas que são interessados em sistemas físicos. Outro ponto forte do Arduino é em relação ao fácil acesso, pois são relativamente baratas em comparação com outras plataformas de microcontroladores. A figura 1 mostra o modelo da placa Arduino que será utilizada na construção do protótipo de robô abordado neste projeto. Diversos componentes podem ser conectados ao Arduino, por exemplo:
Movimento: Acelerômetro, Giroscópio, Bússola, GPS;
Comunicação sem fio: Rádio freqüência, infravermelho, Bluetooth, RFID, Wifi, Zige-bee;
Displays: LCD, 7 segmentos, OLED;
Sensores de luz, Umidade, Toque, Presença, etc;
Motores: Corrente Continua, Motor de Passo, Servomotor;
Leds e Painéis de Leds;
Leitor de impressão digital e outros;
Detector de cor.
São amplas as áreas de aplicação com o Arduino, algumas delas são: Robótica, máquinas de corte CNC, desenvolvimento de sistemas de localização, desenvolvimento de sistemas de identificação por RFID, automação residencial, controle remoto, desenvolvimento de roupas com leds, automação industrial, criação de objetos interativos, entre outras invenções em geral.
3.1. 3.1 . Ambiente mbient e de Desenvolviment Desenvolvimento o Arduino rd uino ( Arduino I DE DE)) Para desenvolver objetos interativos com o Arduino, é necessário além da placa, abordada no tópico anterior, o ambiente de desenvolvimento que é a IDE para o desenvolvimento de programas para execução na placa. A IDE, é open source
9
(código aberto) sob a licença GPLv2 e hospedada hospedada pelo projeto Google Code . A figura 2 representa a interface do Arduino IDE.
Figura 2: Interface do Arduino IDE.
O Arduino IDE é uma aplicação multiplataforma desenvolvida em Java, derivada dos projetos Processing e Wiring. Por ser um ambiente simples e fácil de usar, mesmo pessoas não familiarizadas com o desenvolvimento de software tem facilidade de trabalhar com o IDE. O editor de códigos possui os recursos realce de sintaxe, parênteses correspondentes e identação automática, sendo capaz de compilar e carregar programas para a placa com apenas um clique. Com a biblioteca chamada “Wiring”, é possível programar em C/C++, permitindo criar muitas operações de entrada/saída, tendo que definir apenas duas funções para fazer um programa funcional: setup() e loop() . A função setup(), inserida no inicio do programa, é utilizada para o código de inicialização do programa (definição dos pinos de entrada/saída, valores iniciais de variáveis, etc.), sendo chamada apenas uma vez no inicio da execução. Já a função loop() fica executando repetidamente depois que a função setup() é
10
executada, e possui o código principal do programa. Essa é basicamente a estrutura de um programa para a placa Arduino.
4. MOTORES Os motores são uns dos principais objetos da estrutura robótica responsáveis pelos movimentos do robô. São eles que permitem a movimentação, força e agilidade. Existem vários tipos de motores que podem ser utilizados na construção de robôs. Para a construção do projeto em questão será utilizado dois motores do tipo Servo Motor . Antes de falar sobre o motor que será utilizado para a construção do protótipo, será mostrado alguns tipos de motores bastante utilizados em construção de robôs e de outros segmentos eletromecânicos.
4 .1. Motor de Pass Passo Motores de passo, também chamado de motor de passo a passo , são dispositivos eletro-mecânicos que podem ser controlados digitalmente por meio de um hardware específico ou através de um software. Este tipo de motor converte pulsos elétricos em movimentos mecânicos que geram variações angulares discretas. O eixo de um motor de passo é rotacionado em pequenos incrementos angulares, chamado de passos, quando pulsos elétricos são aplicados em uma determinada seqüência em seus terminais. Um motor de passo é bastante utilizado quando se necessita de movimentos precisos. Normalmente são utilizados em aplicações onde se necessita controlar vários fatores como: velocidade, ângulo de rotação, sincronismo e posição. Além da robótica, este tipo de motor é muito utilizado em impressoras, câmeras de vídeos, automação industrial, brinquedos entre outros dispositivos eletrônicos que requerem precisão.
11
4.2. Motor CC (Corrente Contínua) O motor de corrente continua é conhecido pela característica de converter energia elétrica em energia mecânica. Este tipo de motor é composto basicamente de duas estruturas magnéticas: o Estator e o Rotor. O estator é a parte estática do motor, montado em volta do rotor permitindo que o mesmo possa girar internamente. Composto de uma estrutura ferromagnética com pólos expostos onde são enroladas as bobinas que formam o campo, ou de um ímã permanente, que tem a função de produzir um campo magnético fixo para interagir com o campo do rotor . O rotor (enrolamento de armadura) é a parte girante, montado sobre o eixo do motor, constituído de um material ferromagnético envolto em um enrolamento chamado de enrolamento de armadura que são alimentados por um sistema mecânico de comutação. Esse sistema é formado por comutador, comutador, solidário ao eixo do rotor, que possui uma superfície cilíndrica com diversas lâminas às quais são conectados os enrolamentos do rotor. O sistema mecânico de comutação também é composto por escovas fixas que exercem pressão sobre o comutador e são ligadas aos terminais de alimentação. A função do comutador é o de inverter a corrente na fase de rotação apropriada de forma que o conjugado desenvolvido seja sempre na mesma direção (Honda, 2006, p. 3). Numa forma mais simples, um comutador apresenta duas placas de cobre encurvadas e fixadas isoladamente no eixo de um rotor, os terminais do enrolamento da bobina são soldados nessas placas. Primeiramente a corrente elétrica checa por uma das escovas (+), entra pela placa do comutador, passa pela bobina do rotor, sai pela outra placa do comutador e retorna à fonte pela outra escova (-). Assim o motor realiza sua primeira meia volta. Na figura 3 será mostrado um desenho representativo de um comutador. Na CC. A figura 4 representa um esquema de motor CC.
12
Figura 3: Comutador e Escovas. Figura 4: Representação de um motor CC. Fonte: http://wwww.feiradeciencias.co htt p://wwww.feiradeciencias.com.br m.br
Durante a meia volta do motor, as placas do comutador trocam seus contatos com as escovas e a corrente inverte seu sentido de percurso na bobina do rotor. Assim, o motor CC continua girando sempre com o mesmo sentido de rotação. Um problema num motor CC, como o representado na figura 4, é que não há nada que diz qual sentido será a rotação do motor, pode ser iniciado tanto para a esquerda, quanto para a direita. Outro problema pode ser que as escovas podem iniciar tocando ambas as placas ou nenhuma, assim o motor não dá partida. Para que o motor dê partida e no sentido certo, é necessário que as escovas sempre enviem corrente para o rotor e que não ocorra curto circuito entre as placas devido às escovas. Consegue-se esse feito, na maioria dos motores CC, colocando várias bobinas no rotor, cada uma com seu par de placas no comutador. Conforme o rotor gira as escovas suprem a corrente para as bobinas, uma de cada vez, uma após a outra. Deve-se planejar bem as larguras das escovas. A velocidade em que gira o rotor de motor CC depende da tensão aplicada em suas bobinas. Este tipo de motor é conhecido por seu controle preciso de velocidade e por seu ajuste fino, por isso são muito utilizados em aplicações que necessitam dessas características. Os motores CC são bastante utilizados em aplicações como o posicionamento de um braço de robô. Porém, eles apresentam uma grande
13
desvantagem. Para que o computador dê um comando para que o braço se mova para uma determinada posição com precisão, é necessário um complicado circuito externo provido de sensores de posição, que informe para o computador que o braço já está na posição determinada. Para resolver esse tipo de problema que foi desenvolvido o Motor de Passo , visto na seção anterior.
4.3. Servomotor O servomotor é um dispositivo eletromecânico que apresenta um movimento proporcional ao seu comando, em vez de girar ou se mover livremente sem um controle mais efetivo de posição ao contrário de outros tipos de motores. Os servo motores. Os servomotores possuem uma grande aplicabilidade e funcionalidades, que se estendem desde o setor da robótica de pequeno porte até as grandes industrias e seus dispositivos automáticos. Este tipo de motor é conhecido como dispositivo de malha fechada, ou seja, recebem um sinal de controle, verifica a posição atual e atuam no sistema indo para a posição desejada. Diferente dos motores contínuos, que giram indefinidamente, os servomotores têm o eixo que possui a liberdade de girar que varia apenas entre 90 a 180 graus, porém são precisos quanto à posição. Basicamente são motores que trabalham sobre a ação de algum mecanismo de servo posicionamento, que exige precisão no posicionamento e altíssimo grau de repetição. Existem três componentes básicos responsáveis pelo o funcionamento do servomotor e que garantem a precisão quanto posicionamento: Sistema atuador, Sensor e Circuito Circuito de controle.
Sistema atuador: atuador: constituído por um motor elétrico (existem servos
com motores de corrente alternada). Possui ainda um conjunto de engrenagens que forma de redução com uma relação longa que ajuda a amplificar o torque. Sensor: Sensor: o sensor funciona como um potenciômetro que fica
acoplado ao eixo do servo, é com o valor de sua resistência elétrica que é determinado a posição angular do eixo.
14
Circuito de controle: controle: formado por componentes eletrônicos discretos ou circuitos integrados, e geralmente é composto por um oscilador e um controlador que recebe um sinal do sensor contendo a posição do eixo, assim o sinal de controle aciona o motor no sentido necessário para posicionar o eixo na posição desejada. Os servomotores são bem utilizados nas indústrias, onde há grande necessidade de automação, sendo amplamente aplicados em quase todos os segmentos industriais. É um bom recurso quando a necessidade for controle de torque, posição e ou velocidade.
4.3.1. 4.3 .1. Servomotor er vomotor HXT900 HXT90 0 HXT900 é o modelo de servomotor que será utilizado na montagem do protótipo proposto neste projeto. Funciona como qualquer outro tipo de servomotor, podendo rodar cerca de 180 graus, sendo 90 para esquerda e 90 para direita. Será utilizado pelo fato de ser menor que outros modelos de servo e também pelo baixo custo, atende as necessidades em relação às dimensões do robô.
Figura 5: Servomotor HXT900
Esse servomotor possui aproximadamente as seguintes características: > tamanho: 23x11x29 milímetros; > voltgem: 3v ~ 6v > peso: 9g > velocidade: 0,12 s/60 (em 4.8v)
15
> torque: 1,6 kg-cm Na figura 6 é mostrado como o servomotor hxt900 é conectado na placa Arduino.
Figura 6: 6: servomotor HXT900 conectado na placa Arduino. Fonte: http://arduino.cc/en/Tutorial/Sweep http://arduino.cc/en/Tutorial/Sweep
Os servmotores possuem três fios: alimentação, terra e sinal. O cabo de alimentação, normalmente vermelho, deve ser conectado ao pino 5V na placa Arduino. O fio terra, o mais escuro, geralmente preto ou marrom, deve ser conectado a um pino terra (Gnd) na placa. Por último, o fio de sinal, normalmente amarelo, laranja ou branco, deve ser ligado ao pino 9 da placa Arduino. Para a construção do protótipo será utilizado dois servomotores HXT900, fazendo com que as rodas de movimentação do robô girem de acordo com os comandos do programa. Nesse caso será necessário converter o servo para giro contínuo (360 graus). Esse procedimento será mostrado na próxima seção.
4 .3.2. .3.2 . Conversão do Servomotor er vomotor em gi gi r o cont contínuo ínuo para uso uso em r obótic obóti ca Como já citado em seções anteriores, os servomotores tem a capacidade de giro apenas em 180 graus. Para a construção do protótipo é preciso que o motor gire em 360 graus, fazendo com que as rodas do robô girem livremente. Para isso deve-se converter o servo para que tenha o giro contínuo. Abaixo será mostrado passo a passo como é feito esse processo:
16
1º Passo: para abrir o servo, é necessário desparafusar os 4 parafusos que se encontra e cortar o adesivo que impede as partes de soltarem. Para um melhor manuseio é recomendado utilizar uma chave Philips e um estilete ou faca.
Figura 7: abrindo o servomotor servomotor Fonte: http://letsmakerobots.com/node/4873
2º Passo: após abrir o servomotor deve tirar as engrenagens com cuidado para não soltar os fios. Sempre atento para colocar tudo de volta após a conversão do servo.
Figura 8: Servomotor aberto. Fonte: http://letsmakerobots.com/node/4873
17
3º Passo: nessa etapa deve soltar o potenciômetro da base, sem interromper os fios.
Figura 9: Potenciômetro em destaque Fonte: http://letsmakerobots.com/node/4873
4º Passo: agora é necessário conectar o servo a um controlador, no caso a placa arduino. Ao conectar o servomotor na placa o motor irá rodar até que se encontre o posição exata. Isso ocorre quando o motor para.
Figura 10: Servomotor conectado à placa. Fonte: http://letsmakerobots.com/node/4873
18
5º Passo: quando achar a posição exata, deve soldar ou colar o eixo do potenciômetro que fica na parte de trás. Assim o eixo não se moverá.
Figura 11: Colando o eixo do potenciômetro. Fonte: http://letsmakerobots.com/node/4873
6º Passo: Após colar a parte traseira do eixo, encaixa-se novamente o potenciômetro na base. Agora é necessário diminuir a circunferência do eixo, permitindo que a engrenagem que será encaixada gire livremente. Para isso pode ser usado uma lixa, ou até mesmo raspar o eixo com uma faca.
Figura 12: Lixando Lixando o eixo do potenciômetro. Fonte: http://letsmakerobots.com/node/4873
19
7º Passo: Na engrenagem que fica a amostra no motor, existe um segmento que impede a engrenagem de girar. Para o motor girar livremente é necessário cortar essa elevação.
Figura 13: Segmento que deve ser cortado. Fonte: http://letsmakerobots.com/node/4873
8º Passo: Feito isso, pode encaixar as engrenagens ao eixo e fechar o servomotor.
Figura 14: Servomotor convertido para giro continuo. Fonte: http://letsmakerobots.com/node/4873
20
Feito a conversão do servomotor para giro contínuo, com auxílio das rodas o robô será capaz de se locomover livremente, de acordo com a programação implementada a ele.
5. SENSORES Os sensores são definidos como um dispositivo que recebem e responde a um estímulo ou sinal. Ou seja, são dispositivos que mudam seu comportamento sob a ação de uma grandeza física, podendo fornecer diretamente ou indiretamente um sinal que indique esta grandeza. São chamados de transdutores quando operam diretamente, convertendo uma forma de energia neutra. Os de operação indireta alteram suas propriedades, como a resistência, a capacitância ou a indutância, sob a ação de uma grandeza, de forma proporcional. São amplas as áreas onde os sensores podem ser encontrados e aplicados, mas normalmente são utilizados nas indústrias, medicina e principalmente na robótica. Os sensores trabalham com sinais, sendo esses uma forma de energia, assim os sensores podem ser classificados de acordo com o tipo de energia que detectam. Como exemplo pode ser citados os seguintes: Sensores de Luz: células solares, fotodíodos, fototransistores, tubos fotoelétricos, CCDs (charge-coupled device, ou dispositivo de carga acoplada, sensor para gravação de imagem), radiômetro de Nichols.
Sensores de Som: microfones, hidrofone (transdutor eletroacústico que responde a fontes sonoras e as transforma em impulsos elétricos equivalentes), sensores sísmicos.
Sensores de temperatura: termômetros, termopares, resistências sensíveis a temperaturas (termistores), termômetros bi-metálicos e termostatos.
21
Sensores de calor: bolometro (instrumento elétrico para a detecção de calor radiante), calorímetro.
Sensores de radiação: contador Geiger, dosimetro (para a medição da exposição diária ao ruído).
Sensores de partículas subatômicas: cintilometro, câmera de nuvens, câmera de bolhas.
Sensores de resistências elétricas: ohmímetro.
Sensores de corrente elétrica: galvanômetro, amperímetro.
Sensores de tensão elétrica: eletrômetro, voltímetro.
Sensores de potência elétrica: wattímetro.
Sensores magnéticos: bussola magnética, bussola de fluxo de porta, magnetômetro, dispositivo de efeito hall.
Sensores de pressão: barômetro, barógrafo, indicador da velocidade do ar, variômetro (indicador da velocidade vertical).
Sensores de movimento: arma radar, velocímetro, tacômetro, hodometro, coordenador de giro.
Sensores de orientação: giroscópio, horizonte artificial, giroscópio de anel de laser.
Sensores mecânicos: sensor de posição, selsyn, chave, strain gauge.
Sensores de proximidade: sensor de distancia, porém menos sofisticado, detecta a proximidade especifica.
5 .1. Sensor ensor Reflexivo Reflexi vo TC TCRT5 RT500 0000 O TCRT5000 é um sensor óptico de reflexão, composto por um LED emissor de infravermelho e um fototransistor. O LED imite um feixe de luz invisível
22
ao olho humano, o qual é refletido por uma superfície próxima (3 ~ 15mm) e capturado pelo fototransistor, que possui uma película que filtra a luz natural, permitindo a passagem do infravermelho emitido pelo LED. Assim, de acordo com a reflexibilidade da superfície, o fototransistor recebe um valor maior ou menor da reflexão, mediante o qual pode ser determinada a cor sobre o qual se encontra (Yepes, 2011). A figura 15 mostra em cores como é o sensor que será introduzido ao robô.
Figura 15: 15: Sensor Reflexivo TCRT5000
O TCRT500 é o sensor que será utilizado no projeto com a finalidade de detectar a borda branca da arena, auxiliando o robô para que não saia do limite da arena de combate.
6 . MONTAG ONTAGEM EM DO PROTÓT PROTÓTII PO Nesta seção será apresentado como o protótipo do robô será montado. Serão apresentados todos os componentes necessários para garantir a forma e a agilidade do robô. Para a montagem do protótipo foi utilizado os seguintes componentes:
1 Placa Arduino Uno;
1 Prototype Shild (Protoshild);
1 Sensor Reflexivo TCRT5000;
3 Servomotores HXT900;
23
2 Rodas;
1 Roda livre (esfera de metal);
Para um melhor entendimento da montagem do protótipo será mostrado imagens dos componentes que foram utilizados.
Figura 16: Prototype Shild e Arduino.
Para a montagem do protótipo foi necessário conectar uma prototype shild à placa Arduino. Com isso a placa ganha mais portas e facilita durante a conexão dos componentes. A figura 17 mostra a protoshild conectada à placa Arduino.
24
Figura 17: Prototype Shild conectada à Arduino.
A base que suporta a placa e dar forma ao robô, foi feita de pedaços de madeira cortada respeitando o limite de tamanho para a categoria Mini de sumô de robôs. Foram colocados dois servomotores, um em cada lado da estrutura, virados de lado opostos um do outro, de forma que se encaixem os pneus. É importante tomar cuida na hora da programação dos servos, pois como um está oposto ao outro, para que os dois girem e o robô ande para frente, o código de um motor deve ser implementado para que gire em um sentido e o outro em sentido contrário, levando em consideração a posição real dos servomotores.
Figura 18: Estrutura do robô com as rodas.
25
É visível na figura 18 que as rodas foram colocadas nas laterais traseiras do protótipo. Para dar equilíbrio ao robô, foi introduzida uma roda livre na frente do protótipo, permitindo que se mova para qualquer lado, de acordo com a programação. A figura 19 mostra o local que foi introduzida a roda livre.
Figura 19: Roda livre acoplada ao r obô.
Agora o robô pode se mover e tem a liberdade de girar para qualquer lado. Depois de encaixar as rodas, falta introduzir os sensores. Neste protótipo foram colocados dois sensores reflexivos na parte dianteira do robô.
Figura 20: Sensores Reflexivos TCRT5000 no protótipo.
26
A figura 20 mostra os sensores conectados ao protótipo. Nesta etapa é importante calcular a altura em que os sensores ficarão distante da superfície, pois só trabalham em distancia menor que 12 mm. Neste caso os sensores ficaram numa distancia de 4 mm da superfície. Outro aspecto bastante importante em relação aos sensores é quanto à conexão do mesmo à placa Arduino. Sendo que cada sensor possui quatro pinos de conexão. A figura 21 mostra o esquema de conexão dos sensores reflexivos TCRT5000.
Figura 21: Esquema de conexão do Sensor TCRT5000 Fonte: http://www.icaro.pro.br
Como pode ser visto na figura 21, o esquema de conexão do sensor TCRT5000 se resume na seguinte forma:
C (collector) – conectar diretamente a um dos pinos digitais
(configurado com input) da Arduino. Simultaneamente, deve ser conectado a um resistor de 10k e desse resistor ao pino +5V da Arduino.
E (emiter) – (emiter) – conectar ao GND.
27
A (anode) – (anode) – conectar, co nectar, por p or meio de uma resistência re sistência de 510r 5 10r ao pino pi no +5V da Arduino.
C (cathode) – (cathode) – conectar ao GND.
De acordo com esquema mostrado na figura 21, a seguinte imagem mostra como a conexão do sensor à placa Arduino.
Figura 22: Sensor Reflexivo TCRT5000 conectado à placa.
Como o robô é autônomo, não há nenhuma interferência humana quanto ao movimento do robô durante o funcionamento do mesmo. Assim foi utilizado uma bateria recarregável de 9v e 400ma, com autonomia de 20 minutos. A bateria fica acoplada na mesma estrutura de madeira que suporta as placas.
Figura 23: Bateria para autonomia de energia.
28
Com os componentes necessários para o protótipo todos conectados à placa e obedecendo ao tamanho limite da categoria mini (peso até 500g e tamanho 10 x 10cm), para completar, é necessário desenvolver o código com as funções e estratégias de movimento do robô, essa parte será abordada na próxima seção. A figura 24 figura 24 mostra como ficou a estrutura do protótipo.
Figura 24: Protótipo pronto.
Como pode ser visto na figura 24, o protótipo montado utiliza um sensor (frente do protótipo), este é um sensor de distância ultrassônico HC-SR04, utilizado para detectar a presença de obstáculos, no caso deste, detecta a presença do inimigo da arena de combate. Como este projeto só aborda o movimento do robô e a capacidade de detectar a borda que delimita a arena, não será prolongado sobre o sensor de distância, assunto para próximos trabalhos.
29
7. PROGRAMAÇÃO O código de funcionamento do protótipo foi desenvolvido em Linguagem C, utilizando a IDE Arduino 0022. Todo o código pode ser visto logo abaixo.
#include Servo servo01; Servo servo02; int pos pos = 0; // variavel para armazenar a posição posição do servo int ledPin = 13; // Para controle visual, adicionar um LED direto na Arduino (pin 13 e GND) int inPin01 = 2; // Pino Pino para input do sensor 1 int inPin02 = 3; // Pino Pino para input do sensor 2 int valor01 = 0; // variável variável para armazenar armazenar o valor de input input 1 int valor02 = 0; // variável variável para armazenar armazenar o valor de input input 2 int inicio=0; void setup() { servo01.attach(8); // attaches the servo on pin 9 to the servo object servo02.attach(9); pinMode(ledPin, OUTPUT); // seta o pino 13 como output pinMode(inPin01, INPUT); // seta o pino 2 como input pinMode(inPin02, INPUT); // seta o pino 3 como input } void para() {
30
servo01.write(91);//para servo02.write(91); } void tras() { servo01.write(0); //Tras servo02.write(180); } void frente() { servo01.write(180);//Frente servo02.write(0); } void giraDir() { servo01.write(180);//gira dir servo02.write(180); } void giraEsq() { servo01.write(0);//gira esq servo02.write(0); } void loop()
31
{ if (inicio==0) { para(); delay(10000); inicio=1; } valor01 = digitalRead(inPin01); // lê o valor do input e guarda em "valor" valor02 = digitalRead(inPin02); // lê o valor do input e guarda em "valor" if (valor01 == HIGH || valor02==HIGH) va lor02==HIGH) {
// se o input for HIGH digitalWrite(ledPin, HIGH); // Liga o LED para(); //delay(1000); if (valor01==HIGH) { tras(); delay(500); digitalWrite(ledPin, LOW); giraEsq(); delay(700); } else { if (valor02==HIGH) { tras();
32
delay(500); digitalWrite(ledPin, LOW); giraDir(); delay(700); } } } else { digitalWrite(ledPin, LOW); LOW); // Desliga o LED frente(); } }
Com esse código o robô é capaz de se locomover livremente na arena de combate, com capacidade de detectar a borda na extremidade do ring. Foram feitos testes numa plataforma preta com bordas brancas. Nesta o protótipo conseguiu se mover para todos os lados sem sair do limite estabelecido.
9. CONCLUSÃO Neste trabalho foi desenvolvido um protótipo de robô autônomo para combate sem armas, para a modalidade de sumô de robôs dentro da categoria Mini, podendo atingir no máximo 500g e tamanho entre 10 x 10cm. Com as pesquisas realizadas foi possível conhecer os tipos de placas Arduino fabricadas para o uso em robótica, os diferentes tipos de competição envolvendo robôs, as áreas profissionais que utilizam a robótica como ferramenta, além de obter conhecimentos referentes a motores, sensores e programação de circuitos em linguagem C com o ambiente de desenvolvimento Arduino 0022. Os resultados foram satisfatórios
33
quanto ao desempenho do robô nas áreas delimitadas para o movimento. O protótipo soube reconhecer o limite da arena, em todos os testes realizados. Com esse trabalho concluído a expectativa é de continuar em outros projetos envolvendo robótica. Tendo como base este protótipo, pode ser feito mais estudos para a construção e robôs para competições em campeonatos de sumo de robôs. Assim os estudos podem ser aprofundados em sensores de distância, usados para a detecção do inimigo, e programação para o ataque durante o combate.
10. BIBLIOGRAFIA MILES, Pete; CARROLL, Tom. Build Your Own Combat Robot. Robot. Ano 2002. Editora Osborne. ZUCATELLI, Fernando Henrique Gomes; OLIVEIRA, Marco Aurélio Vinchi de. Controle de Servo Motores CC. CC. Disponivel em: . 01/06/2011.
Visitdo
em
PIRES, J. Noberto. Robótica – Das máquinas Gregas à Moderna Robótica Industrial. Industrial. Publicado no jornal publico, caderno de Computadores de 1 a 8 de julho de 2002. Disponível em:. MEGIOLLARO, Marco Antonio. Tutorial em Robôs de Combate. Combate. Versão 1.0 2006. Disponível em . Estudo do Motor de Passo e seu controle digital – Disponivel em: visitado em: 18/05/2011.
34
Disponivel Motores Elétricos . Visitado 19/05/2011.
em: em
HONDA, Flavio. Motores de Corrente Contínua – Ed. 01.2006. Disponivel em: . 19/05/2011.
MUSSOI,
Fernando
Luiz.
Máquinas
Elétricas. Elétricas.
Visitado
Disponivel
em:
em:
Ultima visita: 09/06/2011. YEPES, Igor. Arduino e Sensor TCRT5000/TCRT5000L. TCRT5000/TCRT5000L. Disponivel em: Ultima visita: 02/11/2011. How to modify a micro servo for continuous rotation. Disponivel em: . Ultima visita: 09/11/2011.
View more...
Comments