Você está na página 1de 23

Palestra sobre

Software Livre para


aplicaes em Robtica

Prof. Esp. Alexandre Braga


alex.professor@gmail.com
Robs O que nos vem
mente?
Atualmente como so
usados os robs?
Linhas de montagem
Limpeza de reas perigosas
Desarme de artefatos explosivos
Misses de busca e resgate
Manipulao de objetos sob a gua ou no espao
Minerao profunda
Plataformas de petrleo e gs
Explorao espacial
Bichos de estimao
Veculos automticos
Competies
Kits educativos
Personagens animatrnicos no cinema e na TV
Robtica como Hobby

Posso criar robs sofisticados em


casa?
Que materiais usar?
Como comear?
E a inteligncia do rob?
Vou gastar toda a minha mesada, meu
salrio, minha aposentadoria?
Robtica como Hobby

Utilizando os componentes fsicos e as


ferramentas de programao temos condies
de criar projetos seguindo a metodologia:

Contextualizar
Construir
Analisar
Abstrair
Robtica como Hobby

Porm, para funcionar corretamente um rob


precisa de duas coisas bsicas:

Sua estrutura fsica (hardware)

Sua inteligncia comportamental


(software)
Robtica como Hobby
Hardware enxuto e limitado:

Placas de controle open source


Arduino, Super Hobby, circuitos PWM, etc.

Microcontroladores embarcados
Kits educacionais Lego, Modelix, VEX, etc.
Robtica como Hobby
Diagrama lgico de um microcontrolador
Robtica como Hobby
Diagrama lgico de um microcontrolador
O processador do Arduino um AT mega 8 com clock de
16MHz. A velocidade parece baixa quando comparada ao
computador, pois hoje um computador de mdio desempenho
possui um clock de 3GHz. Isto significa que o computador
trabalha em uma freqncia aproximadamente 200 vezes
superior ao controlador.

Esta diferena se deve s caractersticas do controlador e do


computador. O computador precisa trabalhar em uma
freqncia muito elevada para processar informaes e
realizar clculos repetitivos em uma velocidade altssima. O
microcontrolador no necessita um processamento to
elevado, pois as tomadas de deciso dele so muito inferiores.
Robtica como Hobby
Arduino plataforma open source
Robtica como Hobby
Arduino Caractersticas

8Kb de memria Flash.


1Kb de memria RAM.
Processador AT 16Mhz
13 pinos entrada/sada digital
5 pinos entrada/sada analgica
Robtica como Hobby
Arduino Exemplo de circuito eletrnico
Software Livre para
aplicaes em Robtica
Existem vrias ferramentas que podem ser
usadas para programar robs:
Java
Robotics Studio (no to livre assim!)
RIS (Robotics Invention System)
RobotC (No livre $$)
Lua
Arduino (linguagem C)
Software Livre para
aplicaes em Robtica
Java Lejos uma JVM simplificada que foi
portada para trabalhar com tijolos
programveis da Lego (RCX e NXT).
Orientada a objetos
Utiliza arrays para mltiplas funes
Recursiva
Faz uso de vrios recursos das classes
java.lang, java.util e java.io
Lida com excees e com vrios tipos de
dados.
Software Livre para
aplicaes em Robtica
Lejos Exemplo de comando usado para mover
motores. import lejos.nxt.*; // biblioteca compatvel com NXT
public class TestaMotor {
public static void main(String[] args) {
Motor.A.forward();
LCD.drawString(PARA FRENTE", 0, 0);
Button.waitForPress();
Motor.A.backward();
LCD.drawString(PARA TRAS", 0, 1);
Button.waitForPress();
Motor.A.reverseDirection();
LCD.drawString(PARA FRENTE", 0, 2);
Button.waitForPress();
Motor.A.stop();
}
}
Software Livre para
aplicaes em Robtica
Robotics Developer Studio Ferramenta
desenvolvida pela Microsoft para simulao de
robs em ambiente 3D ou para controle de
robs reais.
Software Livre para
aplicaes em Robtica
Robotics Developer Studio Exemplos
Software Livre para
aplicaes em Robtica
Robotics Invention System (RIS) Ferramenta
para programao de robs da linha Lego
Mindstorms.

API grfica
Uso de blocos para criar o comportamento
do rob
Simplicidade de uso para crianas e
adolescentes
Limitado aos kit de robtica da Lego
Software Livre para
aplicaes em Robtica
Robotics Invention System (RIS) Exemplos
Software Livre para
aplicaes em Robtica
Linguagem LUA Criada na PUC do Rio de
Janeiro em 1993, tambm est sendo usada
atualmente para controlar robs devido a sua
simplicidade de uso e poucos requisitos de
memria.
Software Livre para
aplicaes em Robtica
Arduino Todo um conjunto open source de hardware
+ software. Ambiente de desenvolvimento uma API
feita em Java, mas que permite total modificao ou
customizao para uso de vrias maneiras diferentes.
Software Livre para
aplicaes em Robtica
Arduino Exemplo de programa.
int ledPin = 13; // LED conectado a porta digital 13
int intPin = 12; // Interruptor conectado a porta digital 12
bool intEstado = LOW; // Varivel que guarda o ESTADO do interruptor
void setup() { // executa uma vez, ao energizar
pinMode(ledPin, OUTPUT); // configura ledPin como porta sada
pinMode(intPin, INPUT); // configura intPin como porta entrada
}
void loop() { // roda repetidamente e infinitamente
intEstado = digitalRead (intPin); //l a porta do interruptor
if ( intEstado == HIGH )
digitalWrite(ledPin, HIGH); //Liga o LED
else
digitalWrite(ledPin, LOW); //Desliga o LED
}
Software Livre para
aplicaes em Robtica

OBRIGADO!!