ROBOTEC
UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC
CENTRO DE EDUCAÇÃO DO PLANALTO NORTE - CEPLAN
DEPARTAMENTO DE SIS...
PROBLEMA
o Como criar uma ferramenta computacional capaz de mover um braço
robótico através de algoritmos baseados em pseu...
OBJETIVO GERAL
• Criar uma ferramenta computacional capaz de mover
um braço robótico e que possibilite o ensino da lógica
...
OBJETIVOS ESPECÍFICOS
• Realizar a análise de requisitos do sistema proposto;
• Realizar a modelagem do sistema através da...
OBJETIVOS ESPECÍFICOS
• Construir a interface do sistema;
• Programar o sistema proposto;
• Validar o sistema através de t...
JUSTIFICATIVA
o A ferramenta desenvolvida permite:
• Ensino de algoritmos;
• Ensino de cinemática básica e
• Ensino de álg...
JUSTIFICATIVA
o Propicia:
• O desenvolvimento do espírito de liderança;
• Integração;
• Persistência;
• Utilização de meto...
INTRODUÇÃO
• Aprendizagem baseada em repetição;
• Linguagens simples porém, sem motivação aos alunos;
• Métodos através da...
INTRODUÇÃO
ROBÓTICA
• “Máquina formada por um mecanismo, incluindo
diversos graus de liberdade, na maioria das vezes tendo
a aparênci...
ROBÔS - CLASSIFICAÇÃO
• CARACTERÍSTICAS FÍSICAS:
• Robôs Manipuladores;
• Robôs Móveis (com ou sem
rodas);
• Bípedes;
• Qu...
MANIPULADORES
o Componentes Básicos
 Manipulador / Efetuador;
 Atuador;
 Controle;
 Fornecimento de Energia.
ROBOTEC
• É uma ferramenta computacional projetada para
interpretar comandos e controlar um braço robótico.
Pode ser utili...
ROBOTEC
• Utiliza uma extensão da linguagem G-Portugol;
• A abordagem sugerida a ser adotada para simplificar
o aprendizad...
CLASSIFICAÇÃO DOS
REQUISITOS
Tipo Requisito
Requisito funcional O sistema deve possibilitar a criação, edição, exclusão,
s...
ROBOTEC
Seu funcionamento consiste em:
• Obter instruções de movimentação através de um
algoritmo escrito por um usuário, ...
FERRAMENTAS
UTILIZADAS
Lynxmotion AL5D
MÓDULO
INTERPRETADOR
Interpretador X Compilador
• Compilador: É um conversor capaz de traduzir um
código fonte em um códig...
ANÁLISE LÉXICA
• Análise léxica é o processo de analisar a entrada de
linhas de caracteres e produzir uma sequência de
sím...
TABELA DE LEXEMAS DA LINGUAGEM ENTENDIDA DO G-PORTUGOL
Lexemas Classificação
programa, movimentos, inicio, fim,
inicio_var...
TABELA DE LEXEMAS DA LINGUAGEM ENTENDIDA DO G-PORTUGOL
+, -, *, / Operadores aritméticos
||, && Operadores lógicos
= Opera...
ANÁLISE SINTÁTICA
• A análise sintática é uma técnica empregada no estudo
da estrutura de uma língua.
• Objetiva verificar...
TABELA SINTÁTICA DA LINGUAGEM ENTENDIDA DO G-PORTUGOL
Comandos Sintaxe
programa programa nome_do_programa;
movimentos, ini...
Comandos Sintaxe
enquanto
faca
fim_enquanto
enquanto(condição)faca
(comando);
fim_enquanto
adicionar_movimento adicionar_m...
ANÁLISE SEMÂNTICA
• Análise semântica efetua uma busca no código fonte
por erros semânticos.
SEMÂNTICA CORRETA
Inicio_var
Inteiro:cont1=0;
fim_var
movimentos
inicio
cont=cont+1;
fim
ERRO DE SEMÂNTICA
Inicio_var
Inte...
O CÓDIGO
• Após passar pelas análises, o
código escrito pelo usuário é
transcrito automaticamente
para a linguagem Java, e...
O CÓDIGO
ENTRADA SAÍDA
MÓDULO
CONTROLADOR
NOME SERVO-MOTOR FUNÇÃO RESTRIÇÃO
Motor 1 0
Responsável por enviar os bits referentes a
movimentação da base do braço robó...
FUNÇÕES DOS COMPONENTES DA INTERFACE DE CONTROLE
NOME SERVO-MOTOR FUNÇÃO RESTRIÇÃO
Motor 5 4
Responsável por enviar os bit...
MÓDULO
MATEMÁTICO
CINEMÁTICA
Diagrama de bloco simplificado da modelagem da cinemática
CINEMÁTICA DIRETA
Quadro de coordenadas vetoriais do braço robótico AL5D
CINEMÁTICA INVERSA (IK)
• Cinemática inversa é o processo de determinação dos
parâmetros de juntas em um objeto flexível, ...
CONCLUSÃO
• A hipótese geral deste trabalho foi plenamente
comprovada, pois, foi possível criar uma ferramenta
computacion...
CONCLUSÃO
• Pode-se concluir, também, que o trabalho proposto
representa uma contribuição ao curso de Sistemas de
Informaç...
TRABALHOS FUTUROS
• Aumentar o número de comandos reconhecidos pelo
interpretador;
• Construir uma interface de visualizaç...
DEMONSTRAÇÃO
http://www.youtube.com/watch?v=NC22ej
T4o6s
Sugestões e
questionamentos!
Muito obrigado!
Upcoming SlideShare
Loading in...5
×

Tcc ritzmann,m.r. robotec

417

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
417
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tcc ritzmann,m.r. robotec

  1. 1. ROBOTEC UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC CENTRO DE EDUCAÇÃO DO PLANALTO NORTE - CEPLAN DEPARTAMENTO DE SISTEMAS DE INFORMAÇÃO – DSI Magno Ronan Ritzmann ORIENTADOR: DR. ANTÔNIO CARLOS TAMANINI DA SILVA PROFESSOR: DR. NILSON RIBEIRO MODRO
  2. 2. PROBLEMA o Como criar uma ferramenta computacional capaz de mover um braço robótico através de algoritmos baseados em pseudocódigo Portugol de forma que auxilie no ensino da lógica de programação, álgebra vetorial e cinemática básica?
  3. 3. OBJETIVO GERAL • Criar uma ferramenta computacional capaz de mover um braço robótico e que possibilite o ensino da lógica de programação, álgebra vetorial e cinemática básica através de algoritmos baseados em pseudocódigo Portugol.
  4. 4. OBJETIVOS ESPECÍFICOS • Realizar a análise de requisitos do sistema proposto; • Realizar a modelagem do sistema através da UML; • Construir o controlador do braço robótico; • Construir o interpretador de comandos;
  5. 5. OBJETIVOS ESPECÍFICOS • Construir a interface do sistema; • Programar o sistema proposto; • Validar o sistema através de testes com os usuários. • Construir o módulo de cinemática direta e inversa;
  6. 6. JUSTIFICATIVA o A ferramenta desenvolvida permite: • Ensino de algoritmos; • Ensino de cinemática básica e • Ensino de álgebra vetorial.
  7. 7. JUSTIFICATIVA o Propicia: • O desenvolvimento do espírito de liderança; • Integração; • Persistência; • Utilização de metodologias de ensino baseados em problemas (PBL); • Utilização métodos lúdicos de aprendizagem.
  8. 8. INTRODUÇÃO • Aprendizagem baseada em repetição; • Linguagens simples porém, sem motivação aos alunos; • Métodos através da robótica educacional podem acabar sendo pouco aproveitados na área da programação; • Custo elevado e ferramentas limitadas.
  9. 9. INTRODUÇÃO
  10. 10. ROBÓTICA • “Máquina formada por um mecanismo, incluindo diversos graus de liberdade, na maioria das vezes tendo a aparência de um ou diversos braços terminando num pulso capaz de segurar ferramentas, peças ou dispositivos.” (ISO 9283(1998)
  11. 11. ROBÔS - CLASSIFICAÇÃO • CARACTERÍSTICAS FÍSICAS: • Robôs Manipuladores; • Robôs Móveis (com ou sem rodas); • Bípedes; • Quadrúpedes; • Hexápodes; • Humanoides; • Bípedes com cabeça, tronco e membros. • APLICAÇÃO: • Industrial • Pesquisa • Militar • Segurança • Hobby ou Entretenimento • Doméstico e pessoal.
  12. 12. MANIPULADORES o Componentes Básicos  Manipulador / Efetuador;  Atuador;  Controle;  Fornecimento de Energia.
  13. 13. ROBOTEC • É uma ferramenta computacional projetada para interpretar comandos e controlar um braço robótico. Pode ser utilizado em disciplinas como: • Introdução à Ciência da computação; • Lógica de Programação; • Processamento de Dados.
  14. 14. ROBOTEC • Utiliza uma extensão da linguagem G-Portugol; • A abordagem sugerida a ser adotada para simplificar o aprendizado em sua utilização é a PBL (Problem Based Learning).
  15. 15. CLASSIFICAÇÃO DOS REQUISITOS Tipo Requisito Requisito funcional O sistema deve possibilitar a criação, edição, exclusão, salvamento e execução de algoritmos escritos na forma suportada pelo sistema. Requisito funcional O sistema deve mover o braço robótico AL5D fabricado pela Lynxmotion. Requisito não-funcional O Sistema deve possuir uma interface intuitiva que facilite sua operação. Requisito não-funcional O Software deve ser operacionalizado no sistema operacional Windows. Requisito não-funcional O computador utilizado deve possuir no mínimo 512 MB de memória RAM. Requisito não-funcional O tempo de resposta do sistema não deve ultrapassar 10 segundos;
  16. 16. ROBOTEC Seu funcionamento consiste em: • Obter instruções de movimentação através de um algoritmo escrito por um usuário, ou por uma das interfaces gráficas presentes no software; • Interpretar o algoritmo; • Mover o braço robótico.
  17. 17. FERRAMENTAS UTILIZADAS Lynxmotion AL5D
  18. 18. MÓDULO INTERPRETADOR Interpretador X Compilador • Compilador: É um conversor capaz de traduzir um código fonte em um código binário reconhecido pelos computadores. (DAVID, MARCIO F. (2007); • Interpretador: É um tradutor que percorre o código fonte procurando por eventuais erros, e ao mesmo tempo, já o executa e mostra o resultado ao usuário
  19. 19. ANÁLISE LÉXICA • Análise léxica é o processo de analisar a entrada de linhas de caracteres e produzir uma sequência de símbolos chamado "símbolos léxicos“.
  20. 20. TABELA DE LEXEMAS DA LINGUAGEM ENTENDIDA DO G-PORTUGOL Lexemas Classificação programa, movimentos, inicio, fim, inicio_var, fim_var, string, real, inteiro, se, entao, senao, fim_se para, fim_para, faca, enquanto, fim_enquanto, adicionar_movimento, abre_garra,fecha_garra, gira_base,move_ombro, move_cotovelo,move_pulso, gira_pulso, imprima; Palavras Reservadas
  21. 21. TABELA DE LEXEMAS DA LINGUAGEM ENTENDIDA DO G-PORTUGOL +, -, *, / Operadores aritméticos ||, && Operadores lógicos = Operador de atribuição >, <, >=,<=, ==, != Operadores relacionais //(comentários) Comentários
  22. 22. ANÁLISE SINTÁTICA • A análise sintática é uma técnica empregada no estudo da estrutura de uma língua. • Objetiva verificar se os lexemas identificados no código formam um programa estruturado de acordo com a gramática da linguagem. SINTAXE CORRETA para(int x=1;x<10;x++)faca abre_garra(x); fim_para; ERRO DE SINTAXE para(int x=1;x++)faca abre_garra(x); fim_para;
  23. 23. TABELA SINTÁTICA DA LINGUAGEM ENTENDIDA DO G-PORTUGOL Comandos Sintaxe programa programa nome_do_programa; movimentos, inicio, fim movimentos (espaço) inicio (comandos) fim inicio_var string real inteiro fim_var inicio_var string:nome_string=”valor”; inteiro:nome_variavel=valor_inteiro; real:nome_variavel= valor_real; fim_var se, então, senao, fim_se se(condição) entao (comando); senao (comando); fim_se; para, fim_para, faca, para(variavel=valor; condição);(incrementa ou decrementa variável))faca (comando); fim_para;
  24. 24. Comandos Sintaxe enquanto faca fim_enquanto enquanto(condição)faca (comando); fim_enquanto adicionar_movimento adicionar_movimento(valor_inteiro, valor_inteiro, valor_inteiro); abre_garra abre_garra(valor_inteiro); fecha_garra fecha_garra(); gira_base gira_base(valor_inteiro); move_ombro move_ombro(valor_inteiro); move_cotovelo move_cotovelo(valor_inteiro); move_pulso move_pulso(valor_inteiro); gira_pulso gira_pulso(valor_inteiro); imprima imprima(variável) ou imprima(“string”); // //comentário TABELA SINTÁTICA DA LINGUAGEM ENTENDIDA DO G-PORTUGOL
  25. 25. ANÁLISE SEMÂNTICA • Análise semântica efetua uma busca no código fonte por erros semânticos.
  26. 26. SEMÂNTICA CORRETA Inicio_var Inteiro:cont1=0; fim_var movimentos inicio cont=cont+1; fim ERRO DE SEMÂNTICA Inicio_var Inteiro:cont1=0; fim_var movimentos inicio cont=cont+a; fim ANÁLISE SEMÂNTICA
  27. 27. O CÓDIGO • Após passar pelas análises, o código escrito pelo usuário é transcrito automaticamente para a linguagem Java, e então é executado, movendo o braço robótico.
  28. 28. O CÓDIGO ENTRADA SAÍDA
  29. 29. MÓDULO CONTROLADOR
  30. 30. NOME SERVO-MOTOR FUNÇÃO RESTRIÇÃO Motor 1 0 Responsável por enviar os bits referentes a movimentação da base do braço robótico para a porta serial, esta relacionada ao giro do braço por completo. 0 a 180 Motor 2 1 Responsável por enviar os bits referentes a movimentação do ombro (Shoulder) do braço robótico para a porta serial, atua de forma vertical. 0 a 180 Motor 3 2 Responsável por enviar os bits referentes a movimentação do cotovelo (Elbow) do braço robótico para a porta serial, atua de forma vertical. 30 a 100 Motor 4 3 Responsável por enviar os bits referentes a movimentação do pulso(Wrist) do braço robótico para a porta serial, atua de forma vertical. 0 a 180 FUNÇÕES DOS COMPONENTES DA INTERFACE DE CONTROLE
  31. 31. FUNÇÕES DOS COMPONENTES DA INTERFACE DE CONTROLE NOME SERVO-MOTOR FUNÇÃO RESTRIÇÃO Motor 5 4 Responsável por enviar os bits referentes ao giro do pulso do braço robótico para a porta serial, está relacionado ao giro do pulso. 0 a 180 Motor 6 5 Responsável por enviar os bits referentes a movimentação da garra(Grip) do braço robótico para a porta serial, está relacionado ao movimento de abrir e fechar a garra do efetuador. 0 a 180 Motor 7 - Disponível para futuras modificações no braço robótico. - Motor 8 - Disponível para futuras modificações no braço robótico. - Velocidade - Define o intervalo de envio entre os bits de saída do software. - Reiniciar 0,1,2,3,4,5 Envia para todos os servos-motores, os dados para sua posição inicial. -
  32. 32. MÓDULO MATEMÁTICO
  33. 33. CINEMÁTICA Diagrama de bloco simplificado da modelagem da cinemática
  34. 34. CINEMÁTICA DIRETA Quadro de coordenadas vetoriais do braço robótico AL5D
  35. 35. CINEMÁTICA INVERSA (IK) • Cinemática inversa é o processo de determinação dos parâmetros de juntas em um objeto flexível, de forma a alcançar o posicionamento adequado.
  36. 36. CONCLUSÃO • A hipótese geral deste trabalho foi plenamente comprovada, pois, foi possível criar uma ferramenta computacional capaz de mover um braço robótico através de comandos em uma extensão do Portugol e servir de auxilio no ensino de conceitos de álgebra e cinemática.
  37. 37. CONCLUSÃO • Pode-se concluir, também, que o trabalho proposto representa uma contribuição ao curso de Sistemas de Informação, uma vez que ele auxilia no ensino em disciplinas do curso.
  38. 38. TRABALHOS FUTUROS • Aumentar o número de comandos reconhecidos pelo interpretador; • Construir uma interface de visualização tridimensional do braço robótico.
  39. 39. DEMONSTRAÇÃO http://www.youtube.com/watch?v=NC22ej T4o6s
  40. 40. Sugestões e questionamentos! Muito obrigado!
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×