40
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

Tcc ritzmann,m.r. robotec

Embed Size (px)

Citation preview

Page 1: Tcc ritzmann,m.r. robotec

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

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

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

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

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

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

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

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

INTRODUÇÃO

Page 10: Tcc ritzmann,m.r. robotec

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

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

MANIPULADORES

o Componentes Básicos

Manipulador / Efetuador;

Atuador;

Controle;

Fornecimento de Energia.

Page 13: Tcc ritzmann,m.r. robotec

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

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

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

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

FERRAMENTASUTILIZADAS

Lynxmotion AL5D

Page 18: Tcc ritzmann,m.r. robotec

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

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

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

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

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

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

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

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

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

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

O CÓDIGO

ENTRADA SAÍDA

Page 29: Tcc ritzmann,m.r. robotec

MÓDULO CONTROLADOR

Page 30: Tcc ritzmann,m.r. robotec

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

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

MÓDULO MATEMÁTICO

Page 33: Tcc ritzmann,m.r. robotec

CINEMÁTICA

Diagrama de bloco simplificado da modelagem da cinemática

Page 34: Tcc ritzmann,m.r. robotec

CINEMÁTICA DIRETA

Quadro de coordenadas vetoriais do braço robótico AL5D

Page 35: Tcc ritzmann,m.r. robotec

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

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

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

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

DEMONSTRAÇÃO

http://www.youtube.com/watch?v=NC22ejT4o6s

Page 40: Tcc ritzmann,m.r. robotec

Sugestões e questionamentos!

Muito obrigado!