introdução aos kits lego rcx
DESCRIPTION
Material usado pelos alunos do curso de Introdução à Engenharia Elétrica, Universidade de Passo Fundo, linha de Mecatrônica (até 2013/1).TRANSCRIPT
1
Versão 03/2011
Introdução à Robótica +Programação kits Lego
RCX
•EEE071 – Introdução à Engenharia Elétrica•Prof. Fernando Passold
Metodologia
6
As atividades estão focados em pequenos projetos (ou desafios) que retratam o dia a dia real de um engenheiro eletricista.
As atividades são tanto práticas quanto teóricas (do ponto de vista de embasamento e inserção de cada uma das disciplinas do curso).
Enfoque principal: ensino através de projetos:
“Hands on Experience”).
AvaliaçãoMédia aritmética das avaliações realizadas em separado por cada um dos professores (áreas diferentes) que ministram a disciplina:
Atenção: SEM EXAME! (Aprovação com MS>=5,0)
7
9
Condições de execução das Atividades
Divisão dos alunos em 4 equipes.
Divisão baseada em laços de amizade.
Trabalhos/Atividades espaçados no tempo (Agendados: com prazos pré-determinados e fixos!)
Idéia: forçar que se conheçam, trabalho em equipe, trabalho organizado, com prazos (imita ambiente industrial)
“Desafios” usando Lego/ROBOLAB...
Propostos pequenos problemas da área de automação que podem ser resolvidos usando como ferramenta de implementação:
Kits Lego MindStorms RCX (código 9793)
11
Kit Lego MindStorms RCX (código 9793)12
Exemplos de Atividades Realizadas:
13
Página WEB área Mecatrônica (Prof. Passsold):http://usuarios.upf.br/~fpassold/LEGO/Intro_Eng_Eletrica_-_Mecatronica/Welcome.html ou simplesmente:
vitoria.upf.br/~fpassold/LEGO
14
Usando Lego para resolver problemas...
Exemplos:
Exemplos:
15
21
O Kit Lego MindStorms RCX
Principais componentes:
Bloco de controle RCX (Robotics Control eXplorer) – o “cérebro” do sistema;
2 motores c/redução;
2 sensores de toque;
2 sensor de luz;
1 lâmpada.
22
Pequenos Desafios: “Problemas”
• 1º) AVG p/andar numa pista circular:
• Autônomos!
23
Soluções Possíveis (tração):• A) Estrutura de
triciclo: B) Diferencial:
Roda + motor 1
Roda + motor 2
Pára-choques
Pára-choques
Roda livre
Roda livre
Centro geométrico
θ1
θ2
yc
xc
Rodas
passivas
Roda giratória com propulsor
xy
24
Tração Diferencial:B) Diferencial:
Roda + motor 1
Roda + motor 2
Pára-choques
Pára-choques
Roda livre
Roda livre
Centro geométrico
Roda+
Encoder
Física Vetorial
25
Soluções Possíveis (tração):
Outras formas de tração:
26
Soluções já existentes:Modelagem da tração:
StampBug:http://www.din.uem.br/ia/robotica/stampbug.htm
“Stamp Bug”→ Exemplo:
27
Internos: de movimentação do robô (juntas do robô).
Externos: para localização do robô (medidas de distâncias).
Sensores usados:
Propioceptivos Exteroceptivos
CodificadoresAngulares(encoders)
Posição doElementoterminal
Encoder +Sensor de proximidade
Posição deUm objeto
Câmera (sensor CCD) + medidor laser
Mapa 3D
28
Modelagem Matemática:Leis para manter o sistema sob controle:
xc
yc
x0
y0
xR
yR
θ
ϕ
Variáveis de controle (atuadores):- v1 e v2 (potência/velocidades dos
motores)
Variáveis controladas:- v (velocidade linear) e w (velocidade angular)- Cinemática permite deduzir próxima posiçãodo robô (veículo):
DesejadoCalculad
o
CinemáticaInversa
29
Modelagem MatemáticaLeis para manter o sistema sob controle:
xc
yc
x0
y0
xR
yR
θ
ϕ
Problema de controle:- Que v1 e v2 adotar ?Para fazer robô seguir com uma certavelocidade linear (por. ex.: v = 20 cm/s) ecerta velocidade angular (por exemplo:w = 15 rad/s).
Notar que quando
1. ; anda reto
2. ; gira sobre eixo
3. ; descreve curva
30
Modelagem MatemáticaLeis para manter o sistema sob controle:
xc
yc
x0
y0
xR
yR
θ
ϕ
Notar que quando
1. ; anda reto
2. ; gira sobre eixo
3. ; descreve curva
31
Sistema de ControleManter o sistema sob controle:
Envolve “fechar o laço” (fechar a malha), isto é, usar um sensor(es) para confirmar a posição do robô.
Senão…
Caminho realizado →Erros de odometria
Caminho desejado →
32
Um problema de Controle:
Seguir uma pista já demarcada:
vθ
33
Problema de Controle:Seguir uma pista já demarcada:
Solução:
Usar 2 sensores de luz.
vθ
Caso 1
Ok
Caso 2
Desvio p/direita,voltar p/esquerda
Caso 3
Desvio p/esquerda,voltar p/direita
34
Descrição do Kit:3 partes principais(decompondo o bloco RCX):
1) Entradas: portas 1, 2 e 3
Sensores (toque, luz);
2) Processamento:
Software rodando: o que dá “inteligência” ao sistema.
3) Saídas: portas A, B e C
Motores, lâmpadas, tocar música, etc.
?
35
Descrição do Kit:1) Entradas: portas 1, 2 e 3– Sensores:
?
a) Toque.
b) De Luz.
Portas deEntrada
36
Descrição do Kit:2) Processamento: bloco RCX– Software: o que dá “inteligência” ao sistema.
?
37
Descrição do Kit:
?
3) Saídas: portas A, B e C– Motores, lâmpadas, tocar música, etc.
Portas deSaída
38
Programação do Kit:Linguagem gráfica baseada em ícones: “ROBOLAB”
39
ProgramaçãoModos “Pilot” e “Inventor”:
Selecionar um destes
40
Tutorial -> Modo “Pilot”:• Exemplo:
Note a seqüência (fluxo) do programa:
• Girar motor A (para esquerda, potência 5), acender Lâmpada B e o motor C (para a direita, potência 3) por 6 segundos. Depois, Inverter a direção dos motores A e C, mantendo a lâmpada acesa, até que o sensor de toque (porta 1) se mova para dentro (seja pressionado).
41
Barra de Ferramentas
Programação Modo “Inventor”:
42
Início FimInício e Fim do
programa
Programação Modo “Inventor”:
43
Programação Modo “Inventor”:
Funções disponíveis:
44
Programação Modo “Inventor”:
?F1
45
Programação Modo “Inventor”:
Parada de motores
46
Programação Modo “Inventor”:
Comando dos motores
47
Programação Modo “Inventor”:
Potência do motor
Portas de Entrada
Portas de SaídaUsar “Modificadores”
48
Programação Modo “Inventor”:
EstadoSensor detoque
Ex.: Sensor de toque: (aguarda toque ou aguarda que se libere o toque)
49
Programação Modo “Inventor”:
EstadoSensor deluz
50
Programação Modo “Inventor”:
LâmpadasLâmpadas
Containers: variáveis (ou memórias para guardar valores)
51
Programação Modo “Inventor”:
Temporizadores
52
Programação Modo “Inventor”:
Programação de melodias...
Notas musicais...
53
Programação Modo “Inventor”:
Estruturas de decisão eRepetição(IF’s, WHILE’s, FOR’s)
54
Programação Modo “Inventor”:
Entradas(Sensores)
Saídas(Motores)
55
Programação Modo “Inventor”:
56
• Looping perpétuos:
Pular
Início(laço)
Fim(laço)
Programação Modo “Inventor”:• Laços de Repetição (Perpétuos):
57
Pular
Programação Modo “Inventor”:• Laços de Repetição (Perpétuos):
58
Programação Modo “Inventor”:
• Laços de Repetição (Perpétuos) – Erro Comum:
ERRO
59
Programação Modo “Inventor”:Laço de Repetição (limitado, controlado)
Bloco Repetido 3x
60
Programação Modo “Inventor”:Laço de Repetição (limitado, controlado)
61
Programação Modo “Inventor”:
Blocos de decisão, de teste de uma condição (“IF..THEN..ELSE”):
Parte do: “Se solto...”
Parte do: “Se pressionado.
..”
62
Programação Modo “Inventor”:Blocos de decisão, de teste de uma condição (“IF..THEN..ELSE”):Parte do: “Se solto...”
Parte do: “Se pressionado.
..”
Programação Modo “Inventor”
63
Exemplo de Bloco de Decisão (Comparação)
Laço de repetição (perpétuo)
64
Programação Modo “Inventor”:
Execução de rotinas “multitarefa”:
Multitarefa: 2 rotinas rodando ao mesmo tempo!
1
2
65
Programação... (modo de uso)Apertar “TAB” para modificar função do cursor!: Conector (bobina)→Edição(mão)→Texto.Ou:
66
Exemplos...Uso do Sensor de toque:
Note: Erro! Faltou o modificador para indicar em que porta o sensor de toque está conectado.
67
Exemplos...• Parar motores:
Note: O programa para de rodar mas os motores continuam girando!!!
Exemplos...
68
Qual o problema no diagrama (programa) acima?
Exemplos...
69
- O que faz o diagrama acima?
Seguidor de Linha (início)...
70
Seguidor de Linha (início)...
71
Notas: Uso dos Kits Lego
• SEMPRE TESTAR OS KITS NO SOLO (Para evitar quedas do Bloco RCX);
• NUNCA MISTURAR PEÇAS ENTRE OS KITS LEGO. Notar que os principais componentes são numérico. Não é permitida a troca ou empréstimo de peças com outra equipe!
• MANTER ORGANIZADA A BANCADA DE TRABALHO;
• MANTER ORGANIZADO AS CAIXAS DE COMPONENTES DO KIT LEGO. Esquecer algum componente do kit no laboratório pode implicar em MEDIDA DISCIPLINAR! Favor revisar todos os componentes (sensores, cabos, torre de IR) ao final de cada seção de trabalho com os kits LEGO
• A não observação de qualquer uma das regras acima pode implicar em MEDIDA DISCIPLINAR.
• MEDIDA DISCIPLINAR: Suspensão de 24 horas seguidas no uso do kit (fica registrado no Almoxarifado da Eng. Elétrica)
72
73
Exemplos...• Usando temporizador + display do LEGO:
O bloco da exposição de RCX, encontrado na caixa de funções: "comunicações RCX“. É uma boa maneira de ver que dados estão circulando por dentro do RCX. Pode ser usado para mostrar valores do “container” ou do sensor, e mesmo do temporizador interno do RCX. O programa acima é para um cronômetro simples. Usa um sensor do toque para disparar e parar o cronômetro, e outro zerá-lo. Este programa espera o sensor 1 de toque ser pressionado, então zera o “container” e o temporizador. Em seguida, um evento é disparado até que um toque ocorra no sensor 1 de toque. O valor do temporizador é colocado no “container” amarelo e então mostrado no display do RCX. Os ícones de setas azuis atualizam a tela com valores novos. O modificador "1" no bloco do display serve para indicar uso de 1 ponto decimal. O RCX continuará a mostrar o valor do temporizador até que um novo evento seja provocado. Neste caso, a visualizarão no display parará de ser atualizar. Quando o sensor 2 do toque é pressionado, o display será zerado e o programa reiniciará.
74
Exemplos...
75
Exemplos...
76
Exemplo:
Desafio 2012
77
Robô 1
Robô 23 minutos
Desafio 2012
78
103 cm
79 cm
19 cm 19 cm 19 cm
18,5 cm29 cm
29 cm
29 cm
Simples Desafios:1. Ligue os motores por 6 segundos e então os pare;
2. Faça os motores darem a ré por 6 segundos;
3. Faça um robô girar à direita (ativando o motor A) por 6 segundos e então desligue o motor C – o que acontecerá?
4. Faça o robô girar à esquerda (ativando o motor C) por 6 segundos e então desligue o motor A;
5. Faça um robô girar sobre seu próprio eixo em direções opostas por 6 segundos.
Obs: Supor robô com tração diferencial com motores ligados às portas A e C.
79
80
Exemplos...
81
Exemplos...
82
Especificações•Fabricantes de Kits:Lego MindStorms:http://mindstorms.lego.com/eng/default.asp:Robotics Invention System 2.0:–RCX™ Microcomputer:•6 AA batteries;•LCD display;•3 sensor inputs;•3 motor outputs;•Hitachi H8/3297 processor @ 16 Mhz;•32k ram;•rom with basic I/O functions–CD-ROM Software–USB Infrared Transmitter–718 pieces, including:•2 Motors•2 Touch Sensors•1 Light Sensor
Hitachi H8/3297 µcontrolador:• 8 registradores de 16-bits ou 16 registradores de 8-bits;• High-speed operation:• 8- or 16-bit register-register add/subtract: 125 ns (16 MHz;• 8 x 8-bit multiply: 875 ns (16 MHz);• 16 ÷ 8-bit divide: 875 ns (16 MHz);• 1 contador/timmer de 16-bits;• 1 A/D de 10-bits;• I/O ports:• 43 input/output lines (16 of which can drive LEDs)• 8 input-only lines.• Interrupts:• Four external interrupt lines: 10,, IRQ0 to IRQ2• 19 on-chip interrupt sources