tcc ritzmann,m.r. robotec
TRANSCRIPT
![Page 1: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/1.jpg)
ROBOTEC
UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESCCENTRO 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
![Page 2: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/2.jpg)
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?
![Page 3: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/3.jpg)
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.
![Page 4: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/4.jpg)
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;
![Page 5: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/5.jpg)
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;
![Page 6: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/6.jpg)
JUSTIFICATIVA
o A ferramenta desenvolvida permite:
• Ensino de algoritmos;
• Ensino de cinemática básica e
• Ensino de álgebra vetorial.
![Page 7: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/7.jpg)
JUSTIFICATIVAo 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.
![Page 8: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/8.jpg)
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.
![Page 9: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/9.jpg)
INTRODUÇÃO
![Page 10: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/10.jpg)
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)
![Page 11: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/11.jpg)
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.
![Page 12: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/12.jpg)
MANIPULADORES
o Componentes Básicos
Manipulador / Efetuador;
Atuador;
Controle;
Fornecimento de Energia.
![Page 13: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/13.jpg)
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.
![Page 14: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/14.jpg)
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).
![Page 15: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/15.jpg)
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;
![Page 16: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/16.jpg)
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.
![Page 17: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/17.jpg)
FERRAMENTASUTILIZADAS
Lynxmotion AL5D
![Page 18: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/18.jpg)
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
![Page 19: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/19.jpg)
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“.
![Page 20: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/20.jpg)
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
![Page 21: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/21.jpg)
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
![Page 22: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/22.jpg)
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++)facaabre_garra(x);fim_para;
ERRO DE SINTAXE
para(int x=1;x++)facaabre_garra(x);fim_para;
![Page 23: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/23.jpg)
TABELA SINTÁTICA DA LINGUAGEM ENTENDIDA DO G-PORTUGOLComandos 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;
![Page 24: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/24.jpg)
Comandos Sintaxe
enquantofaca
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
![Page 25: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/25.jpg)
ANÁLISE SEMÂNTICA
• Análise semântica efetua uma busca no código fonte
por erros semânticos.
![Page 26: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/26.jpg)
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
![Page 27: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/27.jpg)
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.
![Page 28: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/28.jpg)
O CÓDIGO
ENTRADA SAÍDA
![Page 29: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/29.jpg)
MÓDULO CONTROLADOR
![Page 30: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/30.jpg)
NOME SERVO-MOTOR FUNÇÃO RESTRIÇÃO
Motor 1 0Responsá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 1Responsá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 2Responsá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 3Responsá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
![Page 31: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/31.jpg)
FUNÇÕES DOS COMPONENTES DA INTERFACE DE CONTROLE
NOME SERVO-MOTOR FUNÇÃO RESTRIÇÃO
Motor 5 4Responsá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 5Responsá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.
-
![Page 32: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/32.jpg)
MÓDULO MATEMÁTICO
![Page 33: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/33.jpg)
CINEMÁTICA
Diagrama de bloco simplificado da modelagem da cinemática
![Page 34: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/34.jpg)
CINEMÁTICA DIRETA
Quadro de coordenadas vetoriais do braço robótico AL5D
![Page 35: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/35.jpg)
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.
![Page 36: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/36.jpg)
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.
![Page 37: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/37.jpg)
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.
![Page 38: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/38.jpg)
TRABALHOS FUTUROS
• Aumentar o número de comandos reconhecidos pelo
interpretador;
• Construir uma interface de visualização tridimensional do braço robótico.
![Page 39: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/39.jpg)
DEMONSTRAÇÃO
http://www.youtube.com/watch?v=NC22ejT4o6s
![Page 40: Tcc ritzmann,m.r. robotec](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55724ae0d8b42a920c8b49e9/html5/thumbnails/40.jpg)
Sugestões e questionamentos!
Muito obrigado!