SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
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
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?
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.
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;
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;
JUSTIFICATIVA
o A ferramenta desenvolvida permite:
• Ensino de algoritmos;
• Ensino de cinemática básica e
• Ensino de álgebra vetorial.
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.
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.
INTRODUÇÃO
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)
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.
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 utilizado em disciplinas como:
• Introdução à Ciência da computação;
• Lógica de Programação;
• Processamento de Dados.
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).
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;
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.
FERRAMENTAS
UTILIZADAS
Lynxmotion AL5D
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
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“.
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
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
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;
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;
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
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
Inteiro:cont1=0;
fim_var
movimentos
inicio
cont=cont+a;
fim
ANÁLISE SEMÂNTICA
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.
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ó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
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.
-
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, de forma a
alcançar o posicionamento adequado.
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.
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.
TRABALHOS FUTUROS
• Aumentar o número de comandos reconhecidos pelo
interpretador;
• Construir uma interface de visualização tridimensional do
braço robótico.
DEMONSTRAÇÃO
http://www.youtube.com/watch?v=NC22ej
T4o6s
Sugestões e
questionamentos!
Muito obrigado!

Contenu connexe

Tendances

Utilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
Utilizando Sistemas Multi-agentes para a Programação de Plataformas RobóticasUtilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
Utilizando Sistemas Multi-agentes para a Programação de Plataformas RobóticasCarlos Eduardo Pantoja
 
Clp completa
Clp completaClp completa
Clp completapanelada
 
Guia de primeiros passos do logo!
Guia de primeiros passos do logo!Guia de primeiros passos do logo!
Guia de primeiros passos do logo!Marcio Miranda
 
Apostila plc - siemens step 7
Apostila   plc - siemens step 7Apostila   plc - siemens step 7
Apostila plc - siemens step 7Roberto Sousa
 
Integrando a Programação Java com Arduino Utilizando o Javino
Integrando a Programação Java com Arduino Utilizando o JavinoIntegrando a Programação Java com Arduino Utilizando o Javino
Integrando a Programação Java com Arduino Utilizando o JavinoCarlos Eduardo Pantoja
 

Tendances (11)

Utilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
Utilizando Sistemas Multi-agentes para a Programação de Plataformas RobóticasUtilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
Utilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
 
Clp completa
Clp completaClp completa
Clp completa
 
Apostila1 clp logo
Apostila1 clp logoApostila1 clp logo
Apostila1 clp logo
 
Tese de mestrado
Tese de mestradoTese de mestrado
Tese de mestrado
 
Guia de primeiros passos do logo!
Guia de primeiros passos do logo!Guia de primeiros passos do logo!
Guia de primeiros passos do logo!
 
Apostila plc - siemens step 7
Apostila   plc - siemens step 7Apostila   plc - siemens step 7
Apostila plc - siemens step 7
 
PHP Maroto
PHP MarotoPHP Maroto
PHP Maroto
 
TUDO SOBRE PLC
TUDO SOBRE PLCTUDO SOBRE PLC
TUDO SOBRE PLC
 
Integrando a Programação Java com Arduino Utilizando o Javino
Integrando a Programação Java com Arduino Utilizando o JavinoIntegrando a Programação Java com Arduino Utilizando o Javino
Integrando a Programação Java com Arduino Utilizando o Javino
 
U3 exercicios resolvidos
U3 exercicios resolvidosU3 exercicios resolvidos
U3 exercicios resolvidos
 
Manual logo ago_13
Manual logo ago_13 Manual logo ago_13
Manual logo ago_13
 

En vedette (20)

Ficheiro robótica
Ficheiro robóticaFicheiro robótica
Ficheiro robótica
 
Sistemas Robotizados
Sistemas RobotizadosSistemas Robotizados
Sistemas Robotizados
 
Robótica Industrial
Robótica Industrial Robótica Industrial
Robótica Industrial
 
Robótica seminário-ppt
Robótica seminário-pptRobótica seminário-ppt
Robótica seminário-ppt
 
Trabalho de Robotica
Trabalho de RoboticaTrabalho de Robotica
Trabalho de Robotica
 
Robótica
RobóticaRobótica
Robótica
 
Sobre Robótica
Sobre RobóticaSobre Robótica
Sobre Robótica
 
cbeb2014_submission_714
cbeb2014_submission_714cbeb2014_submission_714
cbeb2014_submission_714
 
Trabalho robotica pedro fernandes UBI
Trabalho robotica pedro fernandes UBI Trabalho robotica pedro fernandes UBI
Trabalho robotica pedro fernandes UBI
 
Robotica
RoboticaRobotica
Robotica
 
Robótica e i.a
Robótica e i.aRobótica e i.a
Robótica e i.a
 
Robótica.2
Robótica.2Robótica.2
Robótica.2
 
Trabalho robótica industrial
Trabalho robótica industrialTrabalho robótica industrial
Trabalho robótica industrial
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
Slides robotica
Slides roboticaSlides robotica
Slides robotica
 
Definição e classificação dos requisitos
Definição e classificação dos requisitosDefinição e classificação dos requisitos
Definição e classificação dos requisitos
 
Robótica: Introdução e Aplicações
Robótica: Introdução e AplicaçõesRobótica: Introdução e Aplicações
Robótica: Introdução e Aplicações
 
Robótica e Automação: Introdução e Aplicações
Robótica e Automação: Introdução e AplicaçõesRobótica e Automação: Introdução e Aplicações
Robótica e Automação: Introdução e Aplicações
 
Robotica/ por ELiel Antunes
Robotica/ por ELiel AntunesRobotica/ por ELiel Antunes
Robotica/ por ELiel Antunes
 
Trabalho De Robotica Final1
Trabalho De Robotica Final1Trabalho De Robotica Final1
Trabalho De Robotica Final1
 

Similaire à Tcc ritzmann,m.r. robotec

Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_ImplementaçãoWagner Zaparoli
 
Grupo de Robótica do Instituto Federal de São Paulo
Grupo de Robótica do Instituto Federal de São PauloGrupo de Robótica do Instituto Federal de São Paulo
Grupo de Robótica do Instituto Federal de São PauloHenrique Dória
 
Curso basico automatos programaveis dia 1
Curso basico   automatos programaveis dia 1Curso basico   automatos programaveis dia 1
Curso basico automatos programaveis dia 1Alcides Santos
 
Software Livre para Aplicações em Robótica
Software Livre para Aplicações em RobóticaSoftware Livre para Aplicações em Robótica
Software Livre para Aplicações em RobóticaLinux User Goup Alagoas
 
Sistemas logicos programaveis
Sistemas logicos programaveisSistemas logicos programaveis
Sistemas logicos programaveislaritha
 
Apostila clp (conceitos básicos)
Apostila clp (conceitos básicos)Apostila clp (conceitos básicos)
Apostila clp (conceitos básicos)jastro1984
 
Aula 1 - Semana 1 - Controle e Automação.pptx
Aula 1 - Semana 1 - Controle e Automação.pptxAula 1 - Semana 1 - Controle e Automação.pptx
Aula 1 - Semana 1 - Controle e Automação.pptxLeandrovilela19
 
(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - SubalgoritmosCarlos Santos
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturadodasko
 
Ementa informática 2011
Ementa informática 2011Ementa informática 2011
Ementa informática 2011Willian Ribeiro
 
Aplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackAplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackJoão Gabriel Lima
 
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORESARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORESwillian324163
 
Algoritmos e Visualg parte 1
Algoritmos e Visualg   parte 1Algoritmos e Visualg   parte 1
Algoritmos e Visualg parte 1Marcio Pinto
 
Algoritmos - Aula 03 - Necessidade Do Uso da Logica
Algoritmos - Aula 03 - Necessidade Do Uso da LogicaAlgoritmos - Aula 03 - Necessidade Do Uso da Logica
Algoritmos - Aula 03 - Necessidade Do Uso da LogicaRodrigo Kiyoshi Saito
 

Similaire à Tcc ritzmann,m.r. robotec (20)

Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_Implementação
 
Grupo de Robótica do Instituto Federal de São Paulo
Grupo de Robótica do Instituto Federal de São PauloGrupo de Robótica do Instituto Federal de São Paulo
Grupo de Robótica do Instituto Federal de São Paulo
 
Curso basico automatos programaveis dia 1
Curso basico   automatos programaveis dia 1Curso basico   automatos programaveis dia 1
Curso basico automatos programaveis dia 1
 
Programação de robo
Programação de roboProgramação de robo
Programação de robo
 
Software Livre para Aplicações em Robótica
Software Livre para Aplicações em RobóticaSoftware Livre para Aplicações em Robótica
Software Livre para Aplicações em Robótica
 
Sistemas logicos programaveis
Sistemas logicos programaveisSistemas logicos programaveis
Sistemas logicos programaveis
 
Apostila clp (conceitos básicos)
Apostila clp (conceitos básicos)Apostila clp (conceitos básicos)
Apostila clp (conceitos básicos)
 
Aula 1 - Semana 1 - Controle e Automação.pptx
Aula 1 - Semana 1 - Controle e Automação.pptxAula 1 - Semana 1 - Controle e Automação.pptx
Aula 1 - Semana 1 - Controle e Automação.pptx
 
(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturado
 
Ementa informática 2011
Ementa informática 2011Ementa informática 2011
Ementa informática 2011
 
Engenharia reversa
Engenharia reversaEngenharia reversa
Engenharia reversa
 
Introducao clp
Introducao clpIntroducao clp
Introducao clp
 
Introducao clp
Introducao clpIntroducao clp
Introducao clp
 
Manual robotec
Manual robotecManual robotec
Manual robotec
 
Aplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackAplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full Stack
 
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORESARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES
 
JavaME - Aula 1
JavaME - Aula 1JavaME - Aula 1
JavaME - Aula 1
 
Algoritmos e Visualg parte 1
Algoritmos e Visualg   parte 1Algoritmos e Visualg   parte 1
Algoritmos e Visualg parte 1
 
Algoritmos - Aula 03 - Necessidade Do Uso da Logica
Algoritmos - Aula 03 - Necessidade Do Uso da LogicaAlgoritmos - Aula 03 - Necessidade Do Uso da Logica
Algoritmos - Aula 03 - Necessidade Do Uso da Logica
 

Tcc ritzmann,m.r. robotec

  • 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. 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. 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. 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. 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. JUSTIFICATIVA o A ferramenta desenvolvida permite: • Ensino de algoritmos; • Ensino de cinemática básica e • Ensino de álgebra vetorial.
  • 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. 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.
  • 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. 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. MANIPULADORES o Componentes Básicos  Manipulador / Efetuador;  Atuador;  Controle;  Fornecimento de Energia.
  • 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. 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. 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. 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.
  • 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. 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. 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. 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. 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. 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. 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. ANÁLISE SEMÂNTICA • Análise semântica efetua uma busca no código fonte por erros semânticos.
  • 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. 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.
  • 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. 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. -
  • 33. CINEMÁTICA Diagrama de bloco simplificado da modelagem da cinemática
  • 34. CINEMÁTICA DIRETA Quadro de coordenadas vetoriais do braço robótico AL5D
  • 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. 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. 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. TRABALHOS FUTUROS • Aumentar o número de comandos reconhecidos pelo interpretador; • Construir uma interface de visualização tridimensional do braço robótico.