Introdução aos kits Lego RCX

2,700 views
2,555 views

Published on

Material usado pelos alunos do curso de Introdução à Engenharia Elétrica, Universidade de Passo Fundo, linha de Mecatrônica (até 2013/1).

Published in: Education
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,700
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
120
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Introdução aos kits Lego RCX

  1. 1. •EEE071 – Introdução à Engenharia Elétrica •Prof. Fernando Passold Versão 03/2011 1
  2. 2. MetodologiaAs atividades estão focados em pequenos projetos(ou desafios) que retratam o dia a dia real de umengenheiro eletricista.As atividades são tanto práticas quanto teóricas (doponto de vista de embasamento e inserção de cadauma das disciplinas do curso).Enfoque principal:ensino através de projetos:“Hands on Experience”). 6
  3. 3. AvaliaçãoMédia aritmética das avaliações realizadas em separadopor cada um dos professores (áreas diferentes) queministram a disciplina: åN 1 + N 2 +… N n Média = n nAtenção: SEM EXAME! (Aprovação com MS>=5,0) 7
  4. 4. 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) 9
  5. 5. “Desafios” usando Lego/ROBOLAB...Propostos pequenos problemas da área de automaçãoque podem ser resolvidos usando como ferramenta deimplementação:Kits Lego MindStorms RCX (código 9793) 11
  6. 6. Kit Lego MindStorms RCX (código 9793) 12
  7. 7. Exemplos deAtividadesRealizadas: 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 13
  8. 8. Usando Lego para resolver problemas... Exemplos: 14
  9. 9. Exemplos: 15
  10. 10. O Kit Lego MindStorms RCXPrincipaiscomponentes: 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. 21
  11. 11. Pequenos Desafios: “Problemas”• 1º) AVG p/andar numa pista circular:• Autônomos! 22
  12. 12. Soluções Possíveis (tração): • A) Estrutura de triciclo: B) Diferencial:yc Pára-choques Roda giratória 1 com propulsor Roda livre Roda + motor 1 2 xc Centro geométrico Roda + motor 2 Roda livre Pára-choques y x 23
  13. 13. Tração Diferencial:B) Diferencial: Pára-choquesRoda livre Roda + motor 1 Roda + Encoder Centro geométrico Roda + motor 2 Roda livre Pára-choques Física Vetorial 24
  14. 14. Soluções Possíveis (tração):Outras formas de tração: 25
  15. 15. Soluções já existentes: “Stamp Bug” Exemplo: Modelagem da tração:StampBug:http://www.din.uem.br/ia/robotica/stampbug.htm 26
  16. 16. Sensores usados: Internos: de movimentação do robô (juntas do robô). Externos: para localização do robô (medidas de distâncias). ExteroceptivosPropioceptivosCodificadores Câmera (sensor CCD) + Encoder + Sensor de Angulares medidor laser proximidade (encoders) Posição do Posição de Elemento Mapa 3D Um objeto terminal 27
  17. 17. Modelagem Matemática: Leis para manter o sistema sob controle: Variáveis de controle (atuadores): - v1 e v2 (potência/velocidades dos motores)y0 Variáveis controladas: - v (velocidade linear) e w (velocidade angular) - Cinemática permite deduzir próxima posição do robô (veículo):yR Calculado Desejado Cinemática xR x0 Inversa 28
  18. 18. Modelagem Matemática Leis para manter o sistema sob controle: Problema de controle: - Que v1 e v2 adotar ?y0 Para fazer robô seguir com uma certa velocidade linear (por. ex.: v = 20 cm/s) e certa velocidade angular (por exemplo: w = 15 rad/s).yR Notar que quando 1. ; anda reto 2. ; gira sobre eixo 3. ; descreve curva xR x0 29
  19. 19. Modelagem Matemática Leis para manter o sistema sob controle:y0yR Notar que quando 1. ; anda reto 2. ; gira sobre eixo 3. ; descreve curva xR x0 30
  20. 20. Sistema de Controle Caminho desejado Manter o sistema sob controle: Envolve “fechar o laço” (fechar a malha), isto é, usar Caminho realizado um sensor(es) para Erros de odometria confirmar a posição do robô. Senão… 31
  21. 21. Um problema de Controle:Seguir uma pista já demarcada: v 32
  22. 22. Problema de Controle:Seguir uma pista já demarcada:Solução: Usar 2 sensores de luz. Caso 3 Caso 1 Caso 2 v Desvio p/esquerda, voltar p/direita Ok Desvio p/direita, voltar p/esquerda 33
  23. 23. 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. 34
  24. 24. Portas deDescrição do Kit: Entrada1) Entradas: portas 1, 2 e 3– Sensores: ? a) Toque. b) De Luz. 35
  25. 25. Descrição do Kit:2) Processamento: bloco RCX– Software: o que dá “inteligência” ao sistema. ? 36
  26. 26. Descrição do Kit:3) Saídas: portas A, B e C– Motores, lâmpadas, tocar música, etc. ? Portas de Saída 37
  27. 27. Programação do Kit: Linguagem gráfica baseada em ícones: “ROBOLAB” 38
  28. 28. Programação Modos “Pilot” e “Inventor”: Seleciona r um destes 39
  29. 29. 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). 40
  30. 30. Programação Modo “Inventor”:Barra de Ferramentas 41
  31. 31. Programação Modo “Inventor”: Início e Fim do Início Fim programa 42
  32. 32. Programação Modo “Inventor”: Funções disponíveis: 43
  33. 33. Programação Modo “Inventor”: ? F1 44
  34. 34. Programação Modo “Inventor”: Parada de motores 45
  35. 35. Programação Modo “Inventor”: Comando dos motores 46
  36. 36. Programação Modo “Inventor”: Portas de Entrada Usar “Modificadores” Portas de Saída Potência do motor 47
  37. 37. Programação Modo “Inventor”: Ex.: Sensor de toque: Estado (aguarda toque ou Sensor de aguarda que se libere o toque toque) 48
  38. 38. Programação Modo “Inventor”: Estado Sensor de luz 49
  39. 39. Programação Modo “Inventor”: Lâmpadas Lâmpadas Containers: variáveis (ou memórias para guardar valores) 50
  40. 40. Programação Modo “Inventor”: Temporizadores 51
  41. 41. Programação Modo “Inventor”: Programação de Notas musicais... melodias... 52
  42. 42. Programação Modo “Inventor”: Estruturas de decisão e Repetição (IF’s, WHILE’s, FOR’s) 53
  43. 43. Programação Modo “Inventor”: Entradas (Sensores) Saídas (Motores) 54
  44. 44. Programação Modo “Inventor”: 55
  45. 45. Programação Modo “Inventor”: • Laços de Repetição (Perpétuos):• Looping perpétuos: Pular 56
  46. 46. Programação Modo “Inventor”:• Laços de Repetição (Perpétuos): Pular 57
  47. 47. Programação Modo “Inventor”:• Laços de Repetição (Perpétuos) – Erro Comum: ERRO 58
  48. 48. Programação Modo “Inventor”: Laço de Repetição (limitado, controlado) Bloco Repetido 3x 59
  49. 49. Programação Modo “Inventor”: Laço de Repetição (limitado, controlado) 60
  50. 50. Programação Modo “Inventor”: Parte do: “Se solto...” Blocos de decisão, de teste de uma Parte do: “Se condiçãopressionado...” (“IF..THEN. .ELSE”): 61
  51. 51. Programação Modo “Inventor”: Blocos de decisão, de teste de uma condição (“IF..THEN Parte do: “Se solto...” ..ELSE”): Parte do: “Sepressionado...” 62
  52. 52. Programação Modo “Inventor” Laço de repetição Exemplo de Bloco de (perpétuo) Decisão (Comparação) 63
  53. 53. Programação Modo “Inventor”: Execução de rotinas “multitarefa”:Multitarefa: 2 rotinas rodando ao mesmo tempo! 64
  54. 54. Programação... (modo de uso) Apertar “TAB” para modificar função do cursor! : Conector (bobina) Edição(mão) Texto. Ou: 65
  55. 55. Exemplos... Uso do Sensor de toque: Note: Erro! Faltou o modificador para indicar em que porta o sensor de toque está conectado. 66
  56. 56. Exemplos...• Parar motores: Note: O programa para de rodar mas os motores continuam girando!!! 67
  57. 57. Exemplos...Qual o problema no diagrama (programa) acima? 68
  58. 58. Exemplos...- O que faz o diagrama acima? 69
  59. 59. Seguidor de Linha (início)... 70
  60. 60. Seguidor de Linha (início)... 71
  61. 61. 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
  62. 62. Exemplos...• Usando temporizador + display do LEGO:O bloco da exposição de RCX, encontrado na caixa de funções: "comunicações RCX“. É umaboa maneira de ver que dados estão circulando por dentro do RCX. Pode ser usado paramostrar valores do “container” ou do sensor, e mesmo do temporizador interno do RCX. Oprograma acima é para um cronômetro simples. Usa um sensor do toque para disparar e pararo cronômetro, e outro zerá-lo.Este programa espera o sensor 1 de toque ser pressionado, então zera o “container” e otemporizador. Em seguida, um evento é disparado até que um toque ocorra no sensor 1 detoque. O valor do temporizador é colocado no “container” amarelo e então mostrado no displaydo RCX. Os ícones de setas azuis atualizam a tela com valores novos. O modificador "1" nobloco do display serve para indicar uso de 1 ponto decimal. O RCX continuará a mostrar o valordo temporizador até que um novo evento seja provocado. Neste caso, a visualizarão no displayparará de ser atualizar. Quando o sensor 2 do toque é pressionado, o display será zerado e oprograma reiniciará. 73
  63. 63. Exemplos... 74
  64. 64. Exemplos... 75
  65. 65. Exemplo: 76
  66. 66. Robô 1Desafio 20123 minutos Robô 2 77
  67. 67. 18,5 cm 29 cm 19 cm 19 cm 19 cmDesafi 29 cm 103 cmo 2012 29 cm 78 79 cm
  68. 68. 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 motoresligados às portas A e C. 79
  69. 69. Exemplos... 80
  70. 70. 81
  71. 71. •Fabricantes de Kits:Lego MindStorms: http://mindstorms.lego.com/eng/default Especificações .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; Hitachi H8/3297 µcontrolador:•rom with basic I/O functions • 8 registradores de 16-bits ou 16 registradores de 8-bits; • High-speed operation:–CD-ROM Software • 8- or 16-bit register-register add/subtract: 125 ns (16 MHz;–USB Infrared Transmitter • 8 x 8-bit multiply: 875 ns (16 MHz);–718 pieces, including: • 16 ÷ 8-bit divide: 875 ns (16 MHz); • 1 contador/timmer de 16-bits;•2 Motors • 1 A/D de 10-bits;•2 Touch Sensors • I/O ports:•1 Light Sensor • 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 82

×