Equipe Positech
Campus Party Recife 2012
Concurso – Robótica Livre
Descrição da ideia e pesquisa -
A informação no mundo atual é algo notável, a ponto de espalhar notícias pelo mundo todo em questão de segundos e graças a essa possibilidade de conhecer os fatos acontecidos ao redor do planeta, chega aos nossos ouvidos alguns problemas lamentáveis. E foram notícias em que o recolhimento de objetos ou resgate de pessoas foram necessários que nos motivaram a criar o nosso robô, como por exemplo, o acidente nuclear que aconteceu em Fukushima, Japão, onde um robô poderia ir e salvar vidas de vítimas do acidente, ou a queda de um garoto num esgoto, que ocorreu há algum tempo na América Latina.
Com essas informações, nos baseamos na proposta do concurso e na proposta da OBR (Olimpíada Brasileira de Robótica) e nos motivamos a construir o nosso robô, que consiste em uma máquina móvel, capaz de controlar uma garra mecânica que tem a função de segurar objetos. Usando entre materiais reciclados e componentes eletrônicos, o robô foi construído com o propósito de segurar objetos com a ideia de, no futuro, se tornar um projeto presente no dia-a-dia do nosso planeta.
Em pesquisa, procuramos na internet por robôs que têm como finalidade o resgate. E assim vimos vários modelos por fotos e vídeos e ideias existentes e assim começamos a pensar em seu funcionamento e como seria construído a partir do trabalho que o mesmo iria realizar. Mas, visto que já existem várias modalidades de resgate, passamos a utilizar as regras da OBR como modelo para nosso robô. Passamos a utilizar componentes avançados em relação ao histórico da competição e depois dessas pesquisas, estamos trazendo o robô, inclusive, para compartilhar ideias com outros interessados em robótica que também estão participando do evento. Também procuramos sobre plataformas que poderíamos usar para o projeto e identificamos duas que estamos utilizando: o Arduino e o Mindstorms NXT. Escolhemos o NXT por ter motores com melhores condições para nós e uma memória disponível e assim, podemos armazenar dados recolhidos por sensores (exemplo um data logging) e o arduino por oferecer sensores com maior precisão nos sensores e maior número de portas de saída e entrada disponíveis, inclusive o seu tamanho reduzido se comparado ao NXT. Estamos comunicando esses dois ambientes distintos e assim conseguimos uma melhor precisão no resgate.
Lista de material -
1- Um CLP modelo NXT da lego – Kit Lego;
2- Arduino atmega-1280 – Comprado na Arduino.hk;
3- Servos motores da Lego – Kit Lego;
4- Duas rodas omnidirecionais – Compradas no mercado livre;
5- Fios de placa-mãe (para conectar sensores e servo motores) - Reciclado;
6- Quatro rodas grandes da Lego (duas de cada lado) – Kit Lego;
7- Pedaços de plástico – Reciclado de Impressoras;
8- Espuma (descanso de pratos) - Reciclado;
9- Pedaços de borracha - Reciclado;
10- Placa de fenolite de 20x20 - Comprado na Concordia(rua de eletrônica em Recife);
11- Cordão;
12- Lacres de nylon;
13- Shield de arduino (projetada e produzida pelos alunos)- Material comprado na Concordia(rua de eletrônica em Recife);
14- Dois Sensores de ultrassom(HCSR04) – Comprados no Ebay;
15- Sensor Acelerômetro(ADXL 335) – Comprado na SparkFun;
16- Bateria Selada (6V – 1,3Ah)- Comprados na Concordia (rua de eletrônica em Recife);
17- Servo motor de 2,2 Kgf/cm – Comprados no Ebay;
18- Servo motor de 15Kgf/cm – Comprados no Ebay;
19- Pedaços de madeira reciclado;
20- Viga de Plástico – Kit Lego;
21- Engrenagens e eixos de plástico -Kit Lego;
22- Pistola e refil de cola quente – Comprado em atacados;
Tutorial passo-a-passo para construção do artefato –
1. Primeiro a gente projetou tudo em protótipos de lego e materiais de sucata, e os circuitos no Eagle. Depois descobrimos que a empresa SparkFun disponibiliza uma biblioteca com a Arduino Mega (um dos controladores do robô, usado para fazer leitura de diversos sensores), dai integramos o circuito feito no Eagle com a biblioteca (disponibilizado nos arquivos anexados) da SparkFun criando uma Shield(espécie de escudo que encaixa em cima da arduino e que contém o circuito impresso feito para determinado projeto) para diminuir a quantidade de fios e a probabilidade de conectar algo errado. A shield contém suporte para 6 sensores de ultrassom 12 sensores de infra vermelho (sendo 8 sensores com resistores de 24 K Omhs fazendo um divisor de tensão para limitar e filtrar o a radiação infra vermelha que o phototransistor recebe), 5 saídas para servo motor (com alimentação separada), suporte para comunicação I2C, pinos para alimentação, botão de reset, suporte para um sensor acelerômetro (ADXL 335) e pinos digitais e PWM adicionas caso precise adicionar algo novo. Para construir o circuito impresso seguimos o tutorial que tem no link: http://www.ppgel.ufsj.edu.br/uaisoccer/downloads/1272061971.pdf .
2. Para estruturar tudo pegamos uma placa de fenolite (muito utilizada para confecções de circuito impresso), trabalhamos com uma placa de 20cm por 20cm, este material pode ser também substituído por placa mães de sucata (infelizmente não tínhamos).
3. Para movimentação ultilzamos 2 motores da Lego do KIT MINDSTORMS NXT e um controlador (NXT), pois a pesar de ser um kit da Lego os motores possuem um ótimo encoder (sensor de rotações dos motores) e suporte para uma várias comunicações, uma delas o I2C (Inter-Integrated Circuit), comunicação a qual utilizamos para integrar NXT com a arduino, os motores da lego também facilitam o encaixe com vários tipos de rodas. centralizamos os motores na placa o furamos a fenolite e prendemos com parafusos e lacre. Dai exatamente em cima das rodas (de preferência uma roda da compatível com o eixo lego e grande) centralizamos o NXT para que o peso de sua bateria contribua na movimentação do robô, já que o peso em cima da roda causa um atrito maior, pois a força de atrito é diretamente proporcional ao peso.
Como terceiro apoio foi necessário colocar um terceiro motor utilizando rodas omnidirecionais para dar ao robô a habilidade de subir rampas de até 25º, e sem atrapalhar na hora de dar curvas. Em todos motores colocamos engrenagens para aumentar a força do robô já que além do seu próprio peso existe o peso de algum objeto a ser carregado. E todos os motores necessitaram de parafusos e lacres para ficarem bem fixados na estrutura.
4. Como para todo resgate é necessário retirar ou mover alguém ou algo de um local para outro, criamos um braço robótica para que o robô tivesse a capacidade de pegar, levantar e mover algum objeto simulando uma vítima. Para isso utilizamos 4 servo motores controlados pela arduino usando sinal PWM, dois deles com torque de 17Kgf/cm e 2 com torque de 2,2Kgf/cm, os dois mais fortes para suspender objetos e os mais fracos para agarrar ou melhor segurar os objetos, na “mão” do robô feita com peças que possuam uma angulação de 60 a 90º para que possa agarrar objetos sem deixar eles escaparem e com uma borracha retirada de suporte para pratos.
5. Pra informar ao robô se há algo em sua lateral ou na frente utilizamos sensores de ultrassom rastreando a frente (meio do robô) e a lateral direita (na parte dianteira da construção) com furos na placa e um pouco de cola quente, e para rastrear o chão foi necessário sensores de infra vermelho que tem a capacidade de detectar preto ou branco e cores intermediárias que teve como suporte uma placa de fenolite pequena com furos do tamanho dos sensores e para suportar na estrutura vigas feitas com carcaças de canetas e lápis reciclados. Para detectar desníveis utilizamos o sensor acelerômetro que pode ser colocado em qualquer parte do robô, desde que o sensor fique em pé e não lateralmente para que funcione corretamente os eixos X e Y.
6. Depois de todos sensores, atuadores e controladores devidamente localizados é só utilizar lacres e cola quente para prender tudo com um pouco de cuidado para não danificar. O projeto possuí ampla liberdade já que depende muito da ação que ele vai executar no momento.
Ou