O documento apresenta uma introdução à robótica, definindo o termo robô, suas origens e primeiros desenvolvimentos ao longo da história. Também descreve as principais leis da robótica de acordo com Isaac Asimov e apresenta os principais componentes e ferramentas para programação de robôs Lego, incluindo manipuladores, sensores e software.
2. 2
Robótica
Prof. Alexandre Silva
O termo robô vem originalmente do idioma checo ‘robota’, que significa
“trabalhos forçados”.
Ele foi criado por Karel Capek (1890-1938), escritor checo que escreveu
um romance famoso em 1921 chamado “R.U.R.” (“Robôs Universais de
Rossum”).
3. 3
Robótica
Prof. Alexandre Silva
A definição de robô segundo o R.I.A., 'Robotics Institute of America' (ou
seja, Instituto Americano de Robótica) é:
“Robô é um manipulador reprogramável e multi-funcional projetado para
mover materiais, partes, ferramentas ou dispositivos especializados
através de movimentos variáveis programados para desempenhar uma
variedade de tarefas”.
Uma melhor definição seria:
“Um robô é um dispositivo que permite realizar trabalhos mecânicos,
normalmente associados a seres humanos, de uma maneira muito mais
eficiente e sem a necessidade de pôr em risco a vida humana”.
4. 4
Robótica
Prof. Alexandre Silva
Leonardo da Vinci (1452-1519) desenhou os detalhes de um cavaleiro
mecânico. Estes desenhos ficaram perdidos por muitos anos e foram
reencontrados nos anos 50. O projeto era baseado na sua investigação
anatómica que o levou a desenhar o famoso Homem Vitruviano.
5. 5
Robótica
Prof. Alexandre Silva
O nome “Robótica” foi criado em 1941, também na literatura.
Numa obra do escritor russo-americano Isaac Asimov (1920-1992)
intitulada “Runaround” o termo Robótica foi utilizado como sendo o
estudo e o uso de robôs.
Mais tarde o termo foi adoptado pela comunidade científica.
Este conto foi compilado mais tarde (em 1950) no livro “I, Robot” (“Eu,
robô”) e mais recentemente (2004) retratado no cinema.
Foi neste conto que Asimov fez a primeira apresentação explícita das
Leis da Robótica.
6. 6
Robótica
Prof. Alexandre Silva
Leis da Robótica de Asimov
1º)Um robô não pode ferir um ser humano ou,
por omissão, permitir que um ser humano sofra
algum mal.
2º)Um robô deve obedecer as ordens que lhe
sejam dadas por seres humanos, exceto nos
casos em que tais ordens contrariem a
Primeira Lei.
3º)Um robô deve proteger sua própria
existência desde que tal proteção não entre em
conflito com a Primeira e Segunda Leis.
8. 8
Robótica
Prof. Alexandre Silva
No final da década de 50 e princípio da década de 60 surgem os
primeiros robôs industriais conhecidos como “Unimates” projetados e
patenteados por George Devol e Joseph F. Engelberger.
27. 27
Robótica
Prof. Alexandre Silva
Robo Lego – Servo-motores
São compostos por motores DC e um redutor de velocidade, junto com um
sensor de posição e um sistema de controle realimentado.
Os servo-motores são pequenos, com ampla variação de torques.
O mecanismo de posicionamento ajusta a posição angular por meio de um sinal
codificado que lhe é enviado.
Em geral o sinal e do tipo PWM (Pulse Width Modulation), ou seja, a posição
angular irá depender da largura do pulso enviado.
30. 30
Robótica
Prof. Alexandre Silva
Robo Lego – Sensor de cor
Pode detectar até 6 cores diferentes, ou
sensor de luminosidade, medindo a
intensidade da luz ambiente.
Também pode ser usado como uma
lâmpada colorida, nas cores vermelha
verde ou azul. Pode ter seu resultado
afetado na medição de cor quando há má
iluminação no ambiente.
31. 31
Robótica
Prof. Alexandre Silva
Robo Lego – Sensor de ultrasom
Mede distâncias até 2,5 metros.
Pode dar respostas em duas unidades
(centímetros ou polegadas).
Tem uma precisão de + ou – 3 cm.
32. 32
Robótica
Prof. Alexandre Silva
Robo Lego – Servo-motor
Permite controle de potência e
de rotação, sendo possível
fazer movimentos com 1 grau
de precisão.
Tem um sensor de rotação
embutido que pode ser
utilizado na lógica de
programação.
33. 33
Robótica
Prof. Alexandre Silva
Robo Lego – Controlador NXT
Controlador NXT: é o cérebro do robô.
Recebe toda a programação feita via software.
->Processador ARM7 32 bits;
->Memória Flash de 256 Kbytes;
->Memória RAM de 512 Bytes;
->Microcontrolador AVR de 8 bits;
->Comunicação wireless Bluetooth Classe 2 versão
2.0;
->Porta USB de 12 Mbit/s;
->Display LCD de 100 x 64 pixels;
->Alto falante de 8kHz;
->Fonte de energia: seis pilhas AA ou bateria de lítio
recarregável;
->Quatro portas de entrada e três portas de saída;
34. 34
Robótica
Prof. Alexandre Silva
Robo Lego – Software
O software foi desenvolvido
baseado na plataforma LabView,
da National Instruments, que
utiliza o conceito de
programação gráfica por meio
de blocos funcionais, que no
Labview são chamados de VI
(virtual instruments, ou
instrumentos virtuais no
português).
35. 35
Robótica
Prof. Alexandre Silva
Robo Lego – Software
->1- Barra de ferramentas: permite abrir e salvar projetos, criar variáveis e constantes, criar novos
blocos, atualizar firmware do controlador entre outros;
->2 – Paleta de programação: contém todos os blocos disponíveis para a programação do robô, tanto os
blocos do próprio sistema quanto os criados pelo usuário;
->3 – Área de trabalho: área disponível para a programação da lógica, arrastando os blocos e os
adicionado na sequência desejada;
->4 - Controlador: estes botões permitem ter acesso ao controlador NXT, fazer downloads ou uploads,
dar comando de execução e parada do programa, acessar arquivos internos do controlador e ter
informações do uso de memória;
->5 - Painel de configuração: permite configurar os blocos utilizados de acordo com a necessidade de
programação;
->6 – Janela de Ajuda / mapa da área de trabalho: nesta área é possível alternar entre ter informações
de ajuda sobre os blocos adicionados no programa ou ver um mapa da área de trabalho completa, que
permite melhor navegação pela área de trabalho.
36. 36
Robótica
Prof. Alexandre Silva
Robo Lego – Blocos Prontos
Bloco Motor – utilizado para movimentar um motor em graus, rotações ou por
tempo, e também para pará-lo, imediatamente ou por inércia. Permite escolher
a direção do giro e a potência do motor.
Bloco Display – utilizado para exibir informações no display do Controlador
NXT. Permite exibir gráficos ou textos.
Bloco Ultrasonic Sensor – permite receber a informação lida pelo sensor
ultrasônico em centímetros ou polegadas.
Bloco Color Sensor - permite receber a informação lida pelo sensor de cor.
Bloco Wait – bloco que realiza a parada do programa durante um
determinado tempo ou até que se tenha uma determinada resposta de um
dos sensores.
37. 37
Robótica
Prof. Alexandre Silva
Robo Lego – Blocos Prontos
Bloco Loop – bloco que determina uma área da lógica de programação que
será repetida até que uma condição seja satisfeita. As condições de repetição
podem ser determinadas por uma resposta de sensor, número de iterações,
por tempo, por uma resposta lógica ou pode ter suas repetições ilimitadas.
Bloco Switch – este bloco determina uma área da lógica da programação
que somente será realizada caso uma condição pré-determinada seja ou não
realizada. Com este bloco é possível realizar o “Se...então...” da lógica
tradicional.
Bloco Logic – permite realizar operações lógicas entre dois dados de
entrada. As operações são “Ou”, “E”, “Ou Exclusiva” e “Negação”.
38. 38
Robótica
Prof. Alexandre Silva
Robo Lego – Blocos Prontos
Bloco Math – permite realizar operações matemáticas entre dois dados de
entrada, como Adição, Subtração, Multiplicação e Divisão, ou operações com
um só dado de entrada, como o Valor Absoluto e a Raiz Quadrada.
Bloco Compare – realiza comparações entre dois dados de entrada
numéricos. As comparações podem ser “Maior que”, “Menor que” ou “Igual a”.
Bloco Variable – permite ler ou escrever um valor em uma determinada
variável. As variáveis podem ser do tipo texto, numérico ou lógico.
Bloco Number to Text – transforma informação numérica em informação
textual, permitindo, por exemplo, que números sejam exibidos no display do
controlador NXT.
39. 39
Robótica
Prof. Alexandre Silva
Robo Lego – Blocos Prontos
Bloco File Access – este bloco é um dos mais utilizados neste projeto e
permite escrever, apagar e ler e fechar arquivos no controlador NXT.