Download - Introdução a robótica
INTRODUÇÃO Á ROBÓTICAAnthony M Collucci
Charles Fortes
17 de maio de 2012
Robot
Rossum Universal Robots
Karel Capek
O empregado perfeito ROBOTA
RIA
A Robotic Industries Association (RIA) define um robô como:
“Um robô industrial é um manipulador reprogramável e multifuncional, projetado para mover materiais, peças, ferramentas e dispositivos especiais em movimentos variáveis programados para a realização de uma variedade de tarefas”
MIND MAP
Sci-FI
COMPETIÇÃO
SCIENCE
“(...)Sempre que uma mina detona em um desses aparelhos, os soldados preferem consertar o robô, se possível, a tê-lo substituído por um novo em folha. ”
WAR
Fonte: G1
Agora uma pausa para um vídeo sensacional
http://www.bostondynamics.com/robot_bigdog.html
http://www.youtube.com/watch?v=W1czBcnX1Ww
Conhecendo o Arduino
Começando a programar o μC Arduino
- Quando programamos para μC falamos muito de saídas.
- Pinos podem ser usados como entrada e saída.
- Bytes devem ser usado com moderação.- Processamento é crítico .- A saída e entrada são binarias ou analógicas .
Alguns Shields
Programando na plataforma Arduino
• Baseada na Linguagem C• Focada na facilidade de uso• Curva de aprendizagem baixa• Focada na computação física• Bibliotecas para sensores, Motores, Shields,
Visão Computacional, Redes...• Estudo baseado na prática e construção de
pequenos projetos• Flexibilidade para criação de projetos para
hobbystas, cientistas, e entusiastas em geral
Arduino em Ação
Precisão Mecânica vs Precisão Computacional
Erro comum é ignorar a precisão dos dispositivos mecânicos e onerar o processador cobrando dele um rigor que não e necessário.
Servo Motores de posição
Estes dispositivos variam sua posição de acordo com o tempo em que a onda enviada para sua entrada . Ou seja para tanto tempo com sinal lógico 1 significa x graus de sua posição.
Ex.: Para 2500 Milisegundos com sinal lógico 1 o servo vai para posição 180º
Controlando Servo com o Arduino#include <Servo.h>
Servo myservo; int pos = 0;
void setup() { myservo.attach(9);
} void loop() { for(pos = 0; pos < 180; pos += 1) { myservo.write(pos); delay(15); } for(pos = 180; pos>=1; pos-=1){ myservo.write(pos); delay(15); }
A função Delay()
- O uso da função delay paraliza o processamento
- Normalmente o Delay, serve para manter o status de uma ou mais portas por um determinado tempo em milisegundos
- Existem funções mais eficientes como millis para gerenciar o tempo de execução de uma tarefa.
Função Movimenta_base() do Braço Mecânico
int movimenta_base(int grau){ if (ult_pos_base<grau){ for (int serv_pos=ult_pos_base;serv_pos<grau;serv_pos++){ base.write(serv_pos); delay(50); } }else{ for (int serv_pos=ult_pos_base;serv_pos>grau;serv_pos--){ base.write(serv_pos); delay(50); }}ult_pos_base=grau;}
Onde procurar ajuda:
www.arduino.ccwww.laboratoriodegaragem.com.brwww.robocore.netwww.tato.ind.brwww.sabereletronica.com.brwww.amcollucci.com.brwww.riobotz.com.br/
Referência
http://www.dec.ufcg.edu.br/biografias/KarelCap.htmlhttp://pt.wikipedia.org/wiki/Rob%C3%B4http://www.citi.pt/educacao_final/trab_final_inteligencia_artificial/historia_da_robotica.htmlhttp://www.robotics.orghttp://g1.globo.com/Noticias/Mundo/0,,MUL89014-5602,00-ROBOS+DE+GUERRA+ENTRAM+EM+ACAO+NO+IRAQUE.htmlhttp://arduino.cc/http://shieldlist.org/http://www.bostondynamics.com/robot_bigdog.html
AGRADECIMENTOS:André PaulovichAdemir GelaisRomulo AmaralSamira Collucci
AVALIAÇÃO:http://tinyurl.com/infotechdia17
PERGUNTAS?