106
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SANTA CATARINA CAMPUS JOINVILLE CURSO SUPERIOR DE TECNOLOGIA EM MECATRÔNICA INDUSTRIAL ADILSON VITT DOS SANTOS ANDERSON JEAN ROCHA GUILHERME DECKER CONTROLE DE BRAÇO ROBÓTICO ATRAVÉS DA CAPTURA DE MOVIMENTO

INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E

TECNOLOGIA DE SANTA CATARINA CAMPUS JOINVILLE

CURSO SUPERIOR DE TECNOLOGIA EM MECATRÔNICA INDUSTRIAL

ADILSON VITT DOS SANTOS ANDERSON JEAN ROCHA

GUILHERME DECKER

CONTROLE DE BRAÇO ROBÓTICO ATRAVÉS DA CAPTURA DE MOVIMENTO

Page 2: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia
Page 3: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

ADILSON VITT DOS SANTOS ANDERSON JEAN ROCHA

GUILHERME DECKER

CONTROLE DE BRAÇO ROBÓTICO ATRAVÉS DA CAPTURA DE MOVIMENTO

JOINVILLE, 2015

Page 4: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia
Page 5: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SANTA CATARINA

CAMPUS JOINVILLE CURSO SUPERIOR DE TECNOLOGIA EM

MECATRÔNICA INDUSTRIAL

ADILSON VITT DOS SANTOS ANDERSON JEAN ROCHA

GUILHERME DECKER

CONTROLE DE BRAÇO ROBÓTICO ATRAVÉS DA CAPTURA DE MOVIMENTO

Submetido ao Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina como parte dos requisitos de obtenção do título de Tecnólogo em Mecatrônica Industrial. Orientador: Rodrigo Coral.

JOINVILLE, 2015

Page 6: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

dos Santos, Adilson Vitt. Braço robótico por captura de movimento. dos Santos, Adilson Vitt. Rocha, Anderson Jean; Decker, Guilherme – Joinville Instituto Federal de Santa Catarina, 2015. 106 f. Trabalho de Conclusão de Curso - Instituto Federal de Santa Catarina, 2015. Graduação: Curso Superior de Tecnologia em Mecatrônica Industrial. Modalidade: Presencial. Orientador: Rodrigo Coral. 1. Robótica, 2. Braço robótico, 3. LabVIEW, 4.Captura de movimento. I. CONTROLE DE BRAÇO ROBÓTICO ATRAVÉS DA CAPTURA DE MOVIMENTO.

Page 7: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

CONTROLE DE BRAÇO ROBÓTICO ATRAVÉS DA CAPTURA DE MOVIMENTO

ADILSON VITT DOS SANTOS ANDERSON JEAN ROCHA

GUILHERME DECKER

Este trabalho foi julgado adequado para obtenção do título de Tecnólogo em Mecatrônica Industrial e aprovado na sua forma final pela banca examinadora do Curso de Mecatrônica Industrial do Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina.

Joinville, 15 de junho de 2015. Banca Examinadora:

__________________________________ Prof. Rodrigo Coral, Dr. Eng.

Orientador

__________________________________ Prof. Paulo Roberto O. Bonifácio, Dr. Eng.

Avaliador

__________________________________ Prof. Leo Schirmer, Me. Eng.

Avaliador

Page 8: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia
Page 9: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

DEDICATÓRIA

A Deus, nossos familiares, amigos, professores e colegas.

Page 10: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia
Page 11: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

AGRADECIMENTOS Agradecemos a todos que contribuíram no decorrer

desta jornada, em primeiro lugar a Deus, a quem devemos as nossas vidas.

Aos nossos pais pela educação, exemplo e por nos conduzir para um caminho de estudos, aprendizado e dedicação.

Às nossas esposas, namoradas, filha e familiares por todo apoio nos estudos e nas escolhas tomadas.

A toda instituição do IFSC - Joinville que através da sua estrutura nos deu as condições adequadas à nossa formação.

Aos professores que se dedicaram ao nosso ensino, não somente ao conhecimento transmitido das disciplinas, mais por acreditarem em nosso potencial. Especialmente ao professor Miguel T. Bahia por sua colaboração em disponibilizar o material obtido com os recursos do Programa de Apoio ao Fortalecimento dos Grupos de Pesquisa (Edital No. 16/2013/PROPPI) como o projeto de pesquisa "A Robótica Educacional e o Ensino de Elementos de Máquinas: possibilidades pedagógicas".

Aos colegas pelo companheirismo e disponibilidade, em especial ao aluno Lucas Schulze, que forneceu suporte técnico para a equipe iniciar a pesquisa.

Ao nosso orientador, professor Rodrigo Coral, que teve papel fundamental na elaboração deste projeto.

Page 12: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia
Page 13: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

RESUMO Este trabalho apresenta o tema “Controle de Braço Robótico Através da Captura de Movimento”. Durante os capítulos desse trabalho, são apresentadas pesquisas relacionadas à robótica, dando ênfase a braços robóticos e suas classificações, software de programação relacionada ao tema proposto e algumas maneiras de se obter a captura de movimentos de um objeto. Apresenta também o modelo montado de um braço robótico utilizando o kit educacional da Lego Mindstorms que foi escolhido para receber o controle do usuário, bem como as alterações necessárias realizadas no modelo original, relatando o tipo de comunicação utilizada, as programações desenvolvidas em plataforma LabVIEW e o dispositivo Kinect utilizado para captura de movimentos. Por fim, têm-se as considerações finais a cerca desse trabalho, bem como resultados obtidos e propostas para execução de trabalhos futuros utilizando a captura de movimentos. Palavras-Chave: robô, braço robótico, Laboratory Virtual Instrument Engineering (LabVIEW) e captura de movimento.

Page 14: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia
Page 15: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

ABSTRACT This paper presents the theme "Control Robotic Arm Through Motion Capture". During the chapters of this work are presented research related to robotics, emphasizing the robotic arms and their ratings, programming software related to the proposed theme and a few ways to get the motion capture of an object. It also fitted the model of a robotic arm using the educational kit from Lego Mindstorms who was chosen to play the moves made, and the necessary changes made to the original model, reporting the type of communication used, schedules developed in LabVIEW software the final considerations about this work and results achieved and proposals for implementation of future work using motion capture. Keywords: robot, robotic arm, Laboratory Virtual Instrument Engineering (LabVIEW) and motion capture.

Page 16: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia
Page 17: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

LISTA DE FIGURAS

FIGURA 01: CLASSIFICAÇÃO DOS ROBÔS [10]. ............................... 35 FIGURA 02- MANIPULADOR ROBÓTICO [13]. ................................... 36 FIGURA 03 – ROBÔ MÓVEL HUMANOIDE (ESQUERDA) ROBÔ COM

RODAS (DIREITA) [10]. .......................................................... 37 FIGURA 04 – ROBÔ CARTESIANO [10]. ............................................ 38 FIGURA 05 – ROBÔ CILÍNDRICO [10]. .............................................. 38 FIGURA 06 – ROBÔ ARTICULADO [10]. ........................................... 39 FIGURA 07 – ROBÔ ESFÉRICO [15]. ............................................... 39 FIGURA 08 – ROBÔ SCARA [10]. .................................................... 40 FIGURA 09 – ROBÔ DELTA (DIREITA) ROBÔ TRICEPT (CENTRO) E

ROBO ORTHOGLIDE ............................................................... 41 (ESQUERDA) [10]........................................................................... 41 FIGURA 10 – ELO BINÁRIO (ESQUERDA), ELO TERCIÁRIO (CENTRO) E

ELO QUATERNÁRIO (DIREITA) [18]. ........................................ 42 FIGURA 11 – JUNTA DE CONTATO INFERIOR ROTATIVA (ESQUERDA),

JUNTA DE CONTATO INFERIOR DESLIZANTE (DIREITA) [18]. .... 42 FIGURA 12 – JUNTA DE CONTATO SUPERIOR POR PONTO

(ESQUERDA), JUNTA DE CONTATO SUPERIOR POR LINHA

(DIREITA) [18]. ...................................................................... 43 FIGURA 13 – TIPOS DE JUNTAS [17]. .............................................. 43 FIGURA 14 – BRAÇOS COM UM (ESQUERDA) E DOIS GRAUS DE

LIBERDADE (DIREITA) [17]. ..................................................... 44 FIGURA 15 – BRAÇOS ROBÓTICO [19]. ........................................... 44 FIGURA 16 – OPÇÕES DE CONEXÕES DE HARDWARE DO LABVIEW

[20]. ..................................................................................... 46 FIGURA 17 – EXEMPLO DE PAINEL FRONTAL [21]. ........................... 47 FIGURA 18 – ÍCONE DEFAULT E UM PAINEL DE CONEXÃO [24]. ......... 48 FIGURA 19 - TELA DE SOFTWARE DE CAPTURA DE MOVIMENTO, LADO

DIREITO CÂMERA DE CAPTURA DE MOVIMENTO [28]. ............... 50 FIGURA 20 - EQUIPAMENTO PARA CAPTURA DE MOVIMENTO NO MODO

MECÂNICO [29]. ..................................................................... 51 FIGURA 21 - CONTROLE DO SYSTEM WII [30]. ................................. 52 FIGURA 22 –MICROSOFT KINECT [32]. ............................................ 54 FIGURA 23: DIAGRAMA DO SENSOR DE PROFUNDIDADE DO KINECT

[32]. ..................................................................................... 57 FIGURA 24 - COORDENADAS DE ESQUELETO DO USUÁRIO [36]. ....... 58 FIGURA 25: DIAGRAMA FUNCIONAL [37]. ......................................... 60

Page 18: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia
Page 19: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

FIGURA 26: PRIMEIRO BRAÇO ROBÓTICO [37]. ................................ 62 FIGURA 27: MODELO BUIL-ROBOTARM (9695) [38]. ....................... 63 FIGURA 28: MODELO DESENVOLVIDO [37]. ..................................... 63 FIGURA 29: ANÁLISE DO BRAÇO ROBÓTICO [37] ............................. 64 FIGURA 30: MEDIDAS DE ABERTURA DA GARRA [37]. ....................... 65 FIGURA 31: ENGRENAGENS EIXO DE ROTAÇÃO [37]. ....................... 66 FIGURA 32: ENGRENAGENS DO EIXO DE ELEVAÇÃO [37]. ................ 66 FIGURA 33: ESTRUTURA DE UM SERVOMOTOR LEGO MINDSTORMS

[41]. ..................................................................................... 67 FIGURA 34: CONTROLADOR NXT DO KIT LEGO [41]. ....................... 68 FIGURA 35: A FUNCIONALIDADE DO KINESTHESIA [43]. ................... 71 FIGURA 36: PROGRAMA DO KINESTHESIA TOOLKIT BAIXADO DA NI

[37]. ..................................................................................... 72 FIGURA 37: CONFIGURAÇÃO DE ENTRADA DO KINSTHESIA TOOLKIT

[37]. ..................................................................................... 73 FIGURA 38: LOOP WHILE E COMPONENTES [37]. ............................. 74 FIGURA 39: VI KINECT CLOSE [37]. ................................................ 74 FIGURA 40: PROGRAMAÇÃO EM MALHA ABERTA [37]. ...................... 77 FIGURA 41: CINCO ETAPAS DA PROGRAMAÇÃO [37]. ....................... 78 FIGURA 42: FLUXOGRAMA DE POSICIONAMENTO DA GARRA E EIXO DE

ELEVAÇÃO DO BRAÇO ROBÓTICO [37]. .................................... 82 FIGURA 43: FLUXOGRAMA DE POSICIONAMENTO DO EIXO DE ROTAÇÃO

DO BRAÇO ROBÓTICO [37]. .................................................... 82 FIGURA 50: FLUXOGRAMA DE REPRESENTAÇÃO DA ETAPA 3 [37]. ... 85 FIGURA 51: PROGRAMAÇÃO DE SEGURANÇA DE POSICIONAMENTO DO

BRAÇO ROBÓTICO [37]. .......................................................... 87 FIGURA 52: PAINEL FRONTAL [37] .................................................. 88 FIGURA 53: PAINEL FRONTAL INFORMAÇÕES DE ROTAÇÃO [37]. ...... 89

Page 20: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia
Page 21: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

LISTA DE ABREVIATURAS E SIGLAS

3D – Três dimensões ABB IRB – Asea Brown Boveri Industrial Robots AGV - Automated Guided Vehicle System ou Sistema de Veículo Guiado Automaticamente. API - Interface para programação de aplicativo CCD - Charge-coupled device ou dispositivo de carga acoplada DMO - DirectX Media Object FPS - Frames Per Second ou Quadros por Segundo GDL - Graus de liberdade IR – Infravermelho MoCap - (Motion Capture) ou captura de movimento NUI - interfacenatural do usuário PUMA - Programmable Universal Machine for Assembly R.I.A - Robotics Industries Association (Associação de Robôs Industriais). RF - Modulated light ou luz modulada RGB - Vermelho (Red), Verde (Green) e Azul (Blue) SCARA - Selective compliance assembly robot arm ou cumprimento seletivo robô conjunto do braço. SDK - Software Development Kit ou Kit de desenvolvimento de aplicativos TOF - Time-of-Flight ou tempo de voo USB - Universal Serial Bus

Page 22: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia
Page 23: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

SUMÁRIO

1. INTRODUÇÃO ................................................................................ 29

1.1 CONTEXTUALIZAÇÃO .............................................................................. 29 1.2 OBJETIVO GERAL ............................................................................... 30 1.3 OBJETIVO ESPECÍFICO ......................................................................... 30

2. REVISÃO BIBLIOGRÁFICA............................................................... 33

2.1 BREVE HISTÓRIA DA ROBÓTICA ................................................................. 33 2.2 DEFINIÇÃO DE ROBÔ .............................................................................. 34 2.3 CLASSIFICAÇÃO DOS ROBÔS ..................................................................... 35 2.3.1 CLASSIFICAÇÃO DO SISTEMA DE CONTROLE .............................................. 35 2.3.2 CLASSIFICAÇÃO CONFORME O TIPO DE MOBILIDADE ................................... 36 2.3.3 CLASSIFICAÇÃO SEGUNDO A ESTRUTURA CINEMÁTICA ................................. 37 2.3.3.1 ROBÔS SERIAIS ................................................................................ 37 2.3.3.1.1 ROBÔS DE COORDENADAS CARTESIANAS ............................................ 37 2.3.3.1.2 ROBÔS DE COORDENADAS CILÍNDRICAS ............................................. 38 2.3.3.1.3 ROBÔS DE REVOLUÇÃO ARTICULADA ................................................. 39 2.3.3.1.4 ROBÔS DE COORDENADAS ESFÉRICAS ................................................ 39 2.3.3.1.5 ROBÔ SCARA ............................................................................... 40 2.3.3.2 ROBÔS PARALELOS .......................................................................... 40 2.3.4 CLASSIFICAÇÃO SEGUNDO GRAUS DE LIBERDADE ....................................... 41 2.3.4.1 ELOS ............................................................................................. 41 2.3.4.2 JUNTAS .......................................................................................... 42 2.3.4.3 GRAUS DE LIBERDADE ....................................................................... 43 2.4 BRAÇOS ROBÓTICOS ............................................................................... 44 2.5 LABORATORY VIRTUAL INSTRUMENT ENGINEERING (LABVIEW) ..................... 45 2.6 CAPTURA DE MOVIMENTO ...................................................................... 49 2.6.1 SISTEMAS ÓPTICOS ............................................................................. 49 2.6.1.1 COM MARCADORES ......................................................................... 50 2.6.1.2 SEM MARCADORES .......................................................................... 50 2.6.2 SISTEMAS NÃO ÓPTICOS ...................................................................... 50 2.6.2.1 MAGNÉTICO ................................................................................... 51 2.6.2.2 MECÂNICO ..................................................................................... 51 2.6.3 PLATAFORMA WII ............................................................................... 51 2.6.4 CAPTURA DE IMAGEM POR CÂMERAS DE PROFUNDIDADE ............................ 52

Page 24: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia
Page 25: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

2.6.4.1 O MÉTODO ATIVO ............................................................................ 52 2.6.4.2 O MÉTODO PASSIVO ......................................................................... 53 2.6.5 VISÃO 3D ......................................................................................... 53 2.6.6 DISPOSITIVO KINECT............................................................................ 54 2.6.6.1 ACELERÔMETRO .............................................................................. 55 2.6.6.2 EIXO MOTORIZADO .......................................................................... 55 2.6.6.3 CÂMERAS KINECT ............................................................................. 56 2.6.6.4 SENSOR DE PROFUNDIDADE DO KINECT ................................................ 56 2.6.6.5 FLUXO DE ESQUELETO DO USUÁRIO ..................................................... 57

3. DESENVOLVIMENTO ........................................................................... 59

3.1 DIAGRAMA FUNCIONAL ........................................................................... 59 3.2 ESTRUTURA DO BRAÇO ROBÓTICO ............................................................. 60 3.2.1 MATERIAL ADOTADO .......................................................................... 61 3.2.2 MONTAGEM ...................................................................................... 61 3.2.3 CÁLCULO DE GRAUS DE LIBERDADE ......................................................... 63 3.2.4 TRANSMISSÃO DE MOVIMENTOS ........................................................... 64 3.2.5 SERVOMOTORES ................................................................................. 67 3.2.6 CONTROLADOR NXT ........................................................................... 67 3.3 SOFTWARES DE CONTROLE ....................................................................... 68 3.3.1 VISUAL STUDIO .................................................................................. 68 3.3.2 MICROSOFT ROBOTICS DEVELOPER STUDIO 4 (RDS) ................................. 69 3.3.3 LABVIEW FOR LEGO ........................................................................... 69 3.4 CAPTURA DE MOVIMENTO ....................................................................... 70 3.4.1 DISPOSITIVO KINECT............................................................................ 70 3.4.2 KINESTHESIA ...................................................................................... 71 3.4.2.1 FUNCIONAMENTO DO PROGRAMA DO KINESTHESIA ................................ 72 3.5 COMUNICAÇÃO ..................................................................................... 74 3.6 PROGRAMAÇÃO .................................................................................... 75 3.6.1 RECONHECIMENTO DE DADOS (KINECT/LABVIEW) ................................... 75 3.6.2 PROGRAMAÇÃO EM MALHA ABERTA (1º PROGRAMA) ................................ 76 3.6.3 PROGRAMAÇÃO EM MALHA FECHADA (2º PROGRAMA) .............................. 78 3.6.3.1 POSICIONAMENTO INICIAL E FINAL DO BRAÇO ROBÓTICO ......................... 79 3.6.3.2 PROGRAMAÇÃO POR CAPTURA DE MOVIMENTOS (KINECT) ...................... 82 3.6.4 PAINEL FRONTAL ................................................................................ 88

4. EPÍLOGO ............................................................................................. 91

4.1 MONTAGEM DO BRAÇO ROBÓTICO ............................................................ 91 4.2 ELABORAÇÃO DA PROGRAMAÇÃO ............................................................. 92

Page 26: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia
Page 27: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

4.3 ANÁLISE DO CONJUNTO (SOFTWARE E HARDWARES) .................................... 93 4.4 CONSIDERAÇÕES FINAIS .......................................................................... 94 4.5 OPORTUNIDADES DE MELHORIA ................................................................ 95

REFERENCIAS.......................................................................................... 97

ANEXO A – DIAGRAMA DE BLOCOS DO PROGRAMA DE CONTROLE DE UM BRAÇO ROBÓTICO. ............................................................................... 105

Page 28: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia
Page 29: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

29

1. INTRODUÇÃO

1.1 Contextualização Os robôs em geral são pensados e projetados visando auxiliar o humano na realização de determinadas tarefas como atividades repetitivas, perigosas ou cansativas. O desenvolvimento de um robô não é uma simples tarefa por envolver múltiplas áreas da engenharia, principalmente mecânica, eletrônica, instrumentação, controle e automação. Com o surgimento de novas tecnologias onde encontramos a união de diversos tipos de dispositivos robóticos, surge á robótica e a Mecatrônica (mecânica + eletrônica) que estuda estes dispositivos [1]. Atualmente, os robôs estão ganhando espaço e se tornando uma realidade muito próxima dos humanos. Os estudos de robôs podem ser direcionados para diferentes áreas de atuações, como: identificação de resíduos tóxicos e pontos de risco, viagens aeroespaciais para exploração de novos ambientes, verificação em ambientes industriais para detecção de altas temperaturas e radiação, desarme de bombas e limpeza de reatores nucleares, na área da saúde ajudando ao combate de grandes epidemias, no caso de pacientes contagiados onde o médico não pode ter contato direto com o mesmo. A criação de um controle estratégico para que um robô possa executar uma sequencia de operações é bastante complexa [2]. Mas afinal, o que realmente é um robô? Conseguimos controlá-los através de nossos próprios movimentos? A Associação de Robôs Industriais (Robotics Industries Association – R.I.A), define que “Robô é um manipulador reprogramável e multifuncional projetado para mover materiais, partes, ferramentas ou dispositivos especializados através de movimentos variáveis programados para desempenhar uma variedade de tarefas” [3]. Esse trabalho apresenta o desenvolvimento de um braço robótico a partir de kits Lego educacionais muito utilizados em univesidades para pesquisas e desenvolvimento da robótica.

Page 30: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

30

Esse braço robótco é guiado por captura de movimento (Kinect) e um programa de computador ao qual o braço robótico está conectado. O trabalho foi desenvolvido no Instituto Federal de Santa Catarina - IFSC como Trabalho de Conclusão de Curso (TCC). Seu principal foco é a aplicação da tecnologia de captura de movimentos, reduzindo esforços físicos, fazendo com que as pessoas tenham menos contato com materiais e situações de risco. Onde foi desenvolvida uma aplicação em mecatrônica de um braço robótico, controlado através de movimentos dos membros superiores de qualquer usuário, utilizando um dispositivo de captura de movimentos em conjunto com a plataforma LabVIEW. Busca-se também novas tecnologias e processos de aprendizagem a partir de pesquisas de materiais, recursos tecnológicos, softwares etc. Contemplando a integração entre as áreas de programação, mecânica, eletrica e robótica. Nos tópicos a seguir apresentam-se a revisão bibliográfica, a apresentação do resultado prático e as recomendações para desenvolvimento de novas pesquisas com o intuito de conclusão ou melhoria da prática apresentada. 1.2 Objetivo Geral Aplicar a tecnologia de captura de movimentos para redução de esforços físico e/ou contatos com materiais e/ou situações de risco, desenvolvendo uma programação capaz de controlar um braço robótico através de movimentos executados por um usuário. 1.3 Objetivo específico

Pesquisas bibliográficas disponível de classificação de braços robóticos, dispositivos de captura de movimentos e plataformas de programação.

Page 31: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

31

A integração entre diferentes módulos, sendo: captura de

movimentos, processamento da informação e comando do dispositivo físico.

Construção de um modelo de braço robótico através do kit leg.

Page 32: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

32

Page 33: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

33

2. REVISÃO BIBLIOGRÁFICA Neste capítulo são tratadas as pesquisas relacionadas ao tema “Controle de um Braço Robótico por meio de Captura de Movimento”, dando enfoque à robótica, plataforma LabVIEW e captura de movimentos. 2.1 Breve história da Robótica O termo robótica aparece em 1942 na obra “Runaround” de Isaac Asimov, tendo como referência a peça teatral robota escrita em 1920 por Karel Capek [4]. Apesar de já se falar em seres artificiais desde as lendas antigas e na mitologia grega clássica, fontes (duvidosas) relatam que no séc. II a.C. eram construídas “aves mecânicas” em Alexandria [5]. Mais foi somente em 1954 que surgiu o primeiro robô automático, criado por George Devol que considera a robótica uma área da tecnologia que estuda, desenvolve e aplica robôs em suas mais diversas instâncias [6]. Klipp; (2013) diz que,

“A partir da revolução industrial, após a segunda guerra mundial, os robôs começaram a ser empregados de forma mais ostensiva em indústrias, área onde encontraram maior dimensão de aplicabilidade, com a substituição do trabalho braçal por estruturas mecânicas sobre bases fixas, braços mecânicos ou braços manipuladores” [7].

A robótica é uma área que vem se desenvolvendo muito nas últimas décadas. A cada ano surgem novas tecnologias que transformam os processos industriais realizados por humanos, em processos somente executados por robôs. Na maioria das vezes os robôs são utilizados para executar os trabalhos de maior risco e complexidade, ou a fim de acelerar processos, mas aos poucos até as atividades mais rotineiras no âmbito industrial passam a ser robotizadas [8]. Pereira; (2010) cita que:

Page 34: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

34

“Robôs são hoje instrumentos fantásticos criados pelo homem e usados a seu serviço. Estas máquinas são usadas nas mais diversas áreas e com as mais diversas finalidades, interagindo e se adaptando ao meio. São utilizados para substituir o homem em trabalhos de riscos ou inacessíveis, ou mesmo para oferecer comodidade e liberar o homem para praticar outras atividades de sua preferência, como o lazer e descanso” [8].

Com o avanço da robótica houve um grande crescimento industrial. A automatização das máquinas permitiu a redução do número de empregados necessários para o desenvolvimento de algumas tarefas. A linha produtiva ganhou em rapidez e agilidade, e em alguns casos eliminando o risco de acidentes.

2.2 Definição de Robô Pode-se afirmar que as definições do que é um robô são as mais variadas possíveis, para esse trabalho se utiliza como referência apenas duas delas: O Instituto Americano de Robótica; (RIA)

"Um robô industrial é um manipulador reprogramável, multifuncional, projetado para mover materiais, peças, ferramentas ou dispositivos específicos em movimentos variáveis programados para a realização de uma variedade de tarefas" [3].

Rosário; (2005): “Um robô consiste em um braço mecânico motorizado programável que apresenta algumas características antropomórficas e um cérebro da forma de um computador que controla seus movimentos” [9].

Com base nas definições citadas, robô é todo mecanismo cujo movimento é previamente programável através de um

Page 35: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

35

cérebro artificial, que determina a execução de uma enorme variedade de atividades e de forma automática. 2.3 Classificação dos Robôs A classificação dos Robôs se dá através de vários critérios como: geometria do espaço de trabalho, estrutura cinemática, autonomia do sistema de controle, mobilidade da base, forma de acionamento, graus de liberdade, entre outros como mostrado na figura 01 [10].

Figura 01: Classificação dos Robôs [10].

A seguir será efetuada uma breve descrição das classificações dos robôs. 2.3.1 Classificação do sistema de controle

Para executar corretamente um processo é necessário um sistema correto de controle, conforme cita Lizarralde; (2007):

Page 36: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

36

“A tarefa de executar corretamente o movimento do efetuador é atribuída ao sistema de controle que fornece aos atuadores das juntas do manipulador, comandos compatíveis com a trajetória do movimento desejado. O projeto de controle de movimento do manipulador exige a análise das características da estrutura mecânica, dos atuadores e dos sensores” [11].

Conforme exposto, entende-se que o robô deve ser programável conforme as tarefas que irá executar. Porém para isso deve-se analisar sua mobilidade, estrutura cinemática, graus de liberdade e os seus tipos de acionamentos, descritos nos tópicos a seguir. Desta maneira se obterá o melhor controle sobre o robô. 2.3.2 Classificação conforme o tipo de mobilidade A mobilidade dos robôs depende do número de elos e articulações que o mesmo possui. Existem basicamente dois tipos de robôs. Os de base fixa (manipuladores braços robóticos) divididos em seriais ou paralelos comentados no tópico 2.3.3, que é proposto nesse trabalho e ilustrado na figura 02, e os de base móvel que tem como característica principal a autonomia de se locomover, neste caso são todos os robôs que atuam em áreas terrestres, aéreas e aquáticas, alguns exemplos são mostrados na figura 03 [10] [12].

Figura 02- Manipulador Robótico [13].

Page 37: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

37

Figura 03 – Robô Móvel Humanoide (Esquerda) Robô com Rodas (Direita)

[10].

2.3.3 Classificação segundo a estrutura cinemática Esse trabalho evidencia apenas os robôs de bases fixas, que estão divididos em dois grupos de acordo com sua estrutura cinemática. Os de cadeia cinemática fechada (Paralelos), que se diferem segundo seus movimentos, normalmente de três a seis movimentos livres, esses movimentos são chamados de graus de liberdade e descritos nesse trabalho no tópico 2.3.4.3. Já os robôs de cadeia cinemática aberta (Seriais) são identificados por robôs cartesianos, robôs cilíndricos, robôs articulados, robôs esféricos e robô scara detalhados nos tópicos a seguir [10] [14]. 2.3.3.1 Robôs seriais 2.3.3.1.1 Robôs de coordenadas cartesianas Robôs cartesianos são conhecidos por se movimentar sobre os três eixos cartesianos, ou seja, vertical, horizontal e profundidade (X Y Z). Vale apena salientar que esses robôs possuem uma alta rigidez mecânica e só atuam em áreas pequenas. Devido a essas características seu controle é simples.

Page 38: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

38

Seu atuador possui alta precisão em razão de seus movimentos lineares e do seu momento de inércia sobre a carga, que permanece sempre fixo em todo espaço de atuação do robô. A figura 04 mostra o modelo de um robô cartesiano [14].

Figura 04 – Robô cartesiano [10].

2.3.3.1.2 Robôs de coordenadas Cilíndricas Sua principal característica é possuir movimentos lineares, esses movimentos podem ser combinados com movimentos rotacionais e descrever uma trajetória em torno de si próprio. Geralmente a junta de rotação se encontra na cintura do robô e seus movimentos lineares são realizados através de juntas deslizantes conforme mostra a figura 05 [14].

Figura 05 – Robô cilíndrico [10].

Page 39: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

39

2.3.3.1.3 Robôs de revolução articulada Esses robôs possuem seus movimentos semelhantes ao de um braço humano. São utilizados em grande escala nas indústrias automobilísticas, possuem baixa rigidez mecânica e sua área de trabalho é a maior se comparando com outros modelos de robôs seriais. Porém, seu controle é complicado devido às variações nos momentos de inércia sobre a carga. A figura 06 ilustra a forma de um robô articulado [14].

Figura 06 – Robô Articulado [10].

2.3.3.1.4 Robôs de coordenadas esféricas Os robôs de coordenadas esféricas também são conhecidos como robôs de coordenadas polares, estes modelos apresentam dois movimentos rotacionais, normalmente na cintura e no ombro e um terceiro movimento que é linear conforme mostrado na figura 07 [14].

Figura 07 – Robô Esférico [15].

Page 40: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

40

2.3.3.1.5 Robô Scara Este robô foi desenvolvido para montagem com flexibilidade seletiva, ou seja, é um dispositivo compatível com as linhas de manufaturas que necessitam de pouco espaço. Este robô possui um eixo com movimento linear vertical que manipula sua ferramenta, mostrado na figura 08. Robôs Scara possuem baixo número de graus de liberdade, porém alta eficiência em manipular produtos nas indústrias. Geralmente encontra-se no mercado robôs Scara de três a cinco graus de liberdade [12] [14].

Figura 08 – Robô Scara [10].

2.3.3.2 Robôs Paralelos Conforme Cordeiro; (2012) diz que:

“Robôs paralelos são sistemas mecânicos que usam diversos tipos de atuadores em paralelo para controlar a posição do efetuador e suas derivas. São conhecidos por serem rígidos e robustos em relação a movimentos indesejáveis. O braço não necessita de juntas rotacionais podendo ser sólido. São máquina mais precisas. Sua grande desvantagem é que sua área de atuação é limitada” [16].

A figura 09 mostra três concepções de robôs paralelos.

Page 41: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

41

Figura 09 – Robô Delta (Direita) robô Tricept (Centro) e robo Orthoglide

(Esquerda) [10].

2.3.4 Classificação segundo Graus de liberdade Todo robô é dimensionado com um propósito de atingir alguma posição ou orientação no espaço de trabalho. Para isso, ele precisa obter alguns movimentos livres no qual se denomina graus de liberdade (GL). Para entender como se distingue quantos GL possui um robô, precisa-se entender como se constitui um robô [17].

2.3.4.1 Elos Também conhecido como link, o elo de um sistema robótico pode ser definido como sendo um corpo rígido com dois ou mais elos. Através desses pode-se conectar outros corpos, e dependendo do número de elos, podemos classificá-los como binários, ternários ou quaternários conforme mostra a figura 10 [18].

Page 42: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

42

Figura 10 – Elo Binário (Esquerda), Elo Terciário (Centro) e Elo Quaternário

(Direita) [18].

2.3.4.2 Juntas Dada definição apresentada por Bonifácio; (2013),

“Junta é o elemento que conecta dois corpos e que permite transmissão de força ou torque. Atuam como restrições geométricas. Par de superfícies mantidas permanentemente em contato de tal forma a produzir um movimento relativo bem definido entre elas” [18].

As juntas possuem contato inferior ou superior. A junta de contato inferior acontece quando o contato é a própria superfície mostrada na figura 11, já a junta de contato superior é aquela cujo seu contato se faz por meio de um ponto ou uma linha, mostrada na figura 12. Elas ainda podem ser rotativa, prismática, cilíndrica, esférica, parafuso e planar. Alguns exemplos são ilustrados na figura 13 [18].

Figura 11 – Junta de Contato Inferior Rotativa (Esquerda), Junta de Contato

Inferior Deslizante (Direita) [18].

Page 43: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

43

Figura 12 – Junta de Contato Superior por Ponto (Esquerda), Junta de Contato Superior por linha (Direita) [18].

Figura 13 – Tipos de juntas [17].

2.3.4.3 Graus de liberdade Grau de liberdade é o que determina quantos movimentos um determinado mecanismo pode realizar em um espaço bidimensional ou tridimensional. As juntas definem a quantidade de graus de liberdade, podendo ter um ou dois graus de liberdade. Fazendo a somatória dos graus de liberdade de todas as juntas, será igual ao número de graus de liberdade que o mecanismo possuirá. Quando o movimento relativo ocorre em um único eixo, a junta tem um grau de liberdade; caso o movimento se dê em mais de um eixo, a junta tem dois graus de liberdade, conforme é apresentado na figura 14 [17].

Page 44: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

44

Figura 14 – Braços com um (esquerda) e dois graus de liberdade (direita)

[17].

2.4 Braços robóticos

Um braço robótico é capaz de reproduzir diversos movimentos humanos, pois possui vários eixos de deslocamento, que agregado ao recurso de um computador consegue realizar programas de diversas finalidades [17]. Por realizar movimentos no espaço, o braço robótico consegue transferir ferramentas ou objetos de um lugar para outro conforme sua programação, baseando-se sobre o ambiente através de sensores [17]. O braço robótico é composto pelo braço e pulso. No braço encontram-se os elos unidos por juntas com movimentos relativos e acoplados a acionadores, que produzem estes movimentos. O punho possui varias juntas próximas entre si, que realiza a posição correspondente à tarefa a ser realizada. Ao final do punho encontra-se a garra ou ferramenta destinada a aplicação exigida. A figura 15 ilustra as partes que compõe um braço robótico [17].

Figura 15 – Braços robótico [19].

Page 45: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

45

2.5 Laboratory Virtual Instrument Engineering (LabVIEW) De acordo com Bottaro; (2012),

“O LabVIEW é uma linguagem de programação

gráfica, “G”, que possibilita a criação de testes (simulação), medição, aquisição de dados (DAQ), controle de instrumentos, armazenamentos de dados, análise de dados e geração de relatórios, podendo também criar programas executáveis e bibliotecas

compartilhadas, como DLLs [20].

O LabVIEW é uma plataforma que se diferencia das demais plataformas por utilizar uma linguagem de programação gráfica “G”. Essa linguagem é utilizada para criar programas em diagrama de blocos, diferente de outras plataformas, que fazem o uso de linguagens baseadas em texto que criam linhas de código [19]. Com ela também é possível construir uma interface de operação, semelhante a um painel de controle, onde a partir das representações gráficas, são realizados os controles de objetos visualizados no painel frontal do programa, que se assemelham a um fluxograma [20] [21]. Também possui suporte para comunicação com diversos hardwares, como GPIB, VXI, PXI, RS-232, RS-485 e dispositivos DAQ plug-in, e possui também recursos internos para conectar as aplicações à Internet, utilizando o LabVIEW Web Server e aplicativos como ActiveX e redes TCP/IP, conforme mostra figura 16 [20] [21].

Page 46: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

46

Figura 16 – Opções de Conexões de Hardware do LabVIEW [20].

Os Programas desenvolvidos em LabVIEW são chamados de virtual instruments (VI’s) por causa do seu aspecto e operação, que possibilitam uma interface para o usuário semelhante a instrumentos físicos. Entretanto, VI’s são semelhantes às funções dos programas com linguagens convencionais [21]. No painel frontal podem-se visualizar controles e indicadores, que são terminais interativos de entrada e saída do VI, respectivamente [21]. Os controles simulam dispositivos de entrada de instrumentos e fornecem dados para o diagrama de bloco do VI. Os indicadores podem ser gráficos, LEDs e outros displays, que simulam dispositivos de saída dos instrumentos e exibem os dados que o diagrama de blocos fornece [21] [22]. A paleta de Controle é utilizada apenas no painel frontal e reúne os controles e indicadores utilizados para criar a interface VI com o usuário [21] [22]. A figura 17 exemplifica um modelo de painel frontal.

Page 47: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

47

(1) Janela do painel frontal | (2) Barra de ferramentas | (3) Paleta de controles

Figura 17 – Exemplo de painel frontal [21].

Todo VI recebe instruções (códigos) de um diagrama de blocos que através das representações gráficas de funções, controlam os objetos localizados no painel frontal. Os objetos do diagrama de blocos incluem terminais, subVIs, funções, constantes, estruturas e ligações, que transferem dados entre outros objetos do diagrama de blocos [24]. Os VI’s utilizam um sistema hierárquico e uma estrutura modular, podendo criar programas compostos com nível superior de programas, ou com subprogramas dentro de outros programas. Um subVI corresponde a uma sub-rotina em comparação com programas que utilizam linguagens de programação baseadas em texto [21]. Todos os VI’s exibem um ícone. Esse ícone é a representação gráfica de um VI, nele pode-se conter texto, imagens ou uma combinação de ambos [21]. O painel de conectores, conforme ilustrado na figura 18, é um conjunto de terminais que corresponde aos controles e indicadores do VI. São semelhantes a uma lista de parâmetros de uma determinada função em linguagem de programação baseada em texto. O painel de conectores define as entradas e saídas que podem ser ligadas ao VI para que este possa ser utilizado como um subVI. O painel de conectores recebe dados

Page 48: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

48

em seus terminais de entrada e os transferem para o código do diagrama de bloco através dos controles do painel frontal, recebendo os resultados em seus terminais de saída nos indicadores do painel frontal [21].

Figura 18 – Ícone default e um Painel de conexão [24].

Por fim, os ícones de nível superior VI contém uma coleção de subVIs que representam funções do aplicativo. É possível executar cada subVI separadamente, dividindo-se do resto da aplicação [20] [24] [25]. Com tudo, muitos ícones de baixo nível das subVIs, executam diversas tarefas que podem ser utilizadas para várias aplicações, de modo que pode ser desenvolvido um conjunto especializado de subVIs adequado para cada situação de aplicação [20] [24] [25]. Em se tratando de estruturas das VI pode-se comentar que: Existem duas estruturas para repetir a execução de um subdiagrama, o While Loop e Loop For. Diferente do While Loop, o Loop For é executado de acordo com a quantidade de vezes que lhe é solicitada [25], enquanto que um loop while é uma demonstração de fluxos de controle que se usa para executar um bloco de código repetidamente até que uma determinada condição seja atendida. Uma estrutura do tipo Case tem um ou mais subdiagramas, ou casos. Somente um subdiagrama é mostrado na tela por vez, e a estrutura executa apenas um caso por vez. O valor ligado ao terminal do seletor determina que caso será executado, podendo ser booleano, string, inteiro, ou tipo enumerado [25].

Page 49: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

49

Uma Sequence Structure é uma estrutura de controle do programa que executa seus subdiagramas em ordem numérica [25] [26]. “Nós” são objetos do diagrama de blocos. Eles posuem entradas e/ou saídas e executam operações quando um VI é executado [22]. Uma arrays é uma coleção redimensionável de elementos de dados do mesmo tipo e são formados por elementos e dimensões. Elementos são os pontos de dados que formam o array. Uma dimensão é o comprimento ou profundidade de um array [26]. Um cluster é uma coleção de elementos dos mesmos ou diferentes tipos de dados como por exemplo um feixe de fios, onde cada fio no cabo representa um elemento diferente do aglomerado [20]. Os gráficos são comumente usados para exibir dados. Normalmente estes dados são coletados em um Array e então reproduzidos em forma gráfica [20].

2.6 Captura de Movimento

Captura de movimento ou MoCap (motion capture) é o processo de capturar os movimentos de um objeto no espaço físico e transferir esses movimentos para o espaço virtual. A captura de movimentos se faz através da leitura de dados como posicionamento, velocidade, aceleração e ângulos do objeto. Existem vários processos para se obter a captura de movimento, como sistemas ópticos, sistemas não ópticos, plataforma wii e Kinect [27]. 2.6.1 Sistemas Ópticos

Os sistemas ópticos capturam os movimentos através de câmeras conectadas a um computador. Possui dois tipos de sistemas que são: com marcadores ou sem marcadores [25].

Page 50: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

50

2.6.1.1 Com Marcadores

Nesse processo são colocados marcadores no objeto e filmado com uma câmera acoplada a um computador para fazer a detecção do objeto. Os marcadores podem ser emissores de luz ou refletores de luz infravermelha. A figura 19 mostra uma imagem do software de captura de movimento e um modelo de câmera do processo de sistemas não ópticos com marcadores [27].

Figura 19 - tela de software de captura de movimento, lado direito câmera

de captura de movimento [28].

2.6.1.2 Sem Marcadores

A captura de movimentos sem marcadores é feita de forma simples, onde se compara duas imagens estáticas em sequência como em um filme. Esse processo emprega a visão computacional e processamento de imagens [27].

2.6.2 Sistemas Não Ópticos

Sistemas de captura de movimento não ópticos não utilizam câmeras, utilizam outros dispositivos para fazer o processo de captura de movimento do objeto, podem ser realizado através de dispositivos magnéticos ou mecânicos [27].

Page 51: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

51

2.6.2.1 Magnético

Nesse processo é utilizado sensores que são colocados no objeto para capturar seus movimentos. Essa captura é feita através da distância entre os sensores com um transmissor magnético [27]. 2.6.2.2 Mecânico Nesse processo a captura de movimento é feita através de um dispositivo similar a um esqueleto, esse dispositivo é colocado nas juntas do corpo de uma pessoa e ligado a um potenciômetro. Quando a pessoa se movimenta o potenciômetro mede os ângulos das junções do corpo e envia as informações para um computador. A figura 20 mostra um exemplo de equipamento de captura de movimento de modo mecânico [27].

Figura 20 - Equipamento para captura de movimento no modo mecânico

[29].

2.6.3 Plataforma Wii

O system wii é um processo que possui um controle sem fio para captura de movimento. O controle é dotado de um emissor infravermelho e um acelerômetro que detecta os

Page 52: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

52

movimentos em três dimensões (X, Y e Z). A posição do controle e sua movimentação são captadas por uma câmera de sensor infravermelho localizado próximo a tela do computador ou televisão do usuário. A figura 21 mostra um controle do system wii [30].

Figura 21 - Controle do system Wii [30].

2.6.4 Captura de imagem por câmeras de profundidade

As câmeras de profundidade capturam as imagens através da distância entre as câmeras em relação ao ponto do objeto. Elas utilizam dois métodos para obter as informações de profundidade que são o método ativo e o método passivo [27] [31]. 2.6.4.1 O método ativo

O método ativo utiliza aparelhos como emissor infravermelho, sensor de laser e sensor de padrão de luz. A captura ativa possui distância de profundidade máxima restringida e baixa resolução, porem permite a utilização de aplicações em tempo real. Existem dois processos de captura ativa, que são, captura através de sensores de padrões de luz e captura por "Time-of-Flight" (tempo de vôo) [27] [31]. O "Time-of-Flight" utiliza a emissão de ondas e a recepção da reflexão do pulso. Para isso o sensor envia um

Page 53: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

53

pulso e contabiliza o tempo necessário para receber o sinal refletido em cada um dos pontos da imagem simultaneamente [27] [31]. O tempo que o pulso leva para atingir o sensor e refletí-lo é diretamente proporcional à distância dos objetos. Há diversos processos na captura de profundidade de imagens que utilizam o tempo de vôo “ToF”, como, o pulso de fonte de luz, a luz modulada e o ranged. Elas se diferenciam umas das outras devido ao tipo de feixe de luz utilizado [27] [31]. 2.6.4.2 O método passivo

O método passivo utiliza duas ou mais câmeras para fazer a captura de imagem. Esse método emprega muitos recursos computacionais, pois é necessário conseguir a estimativa da distância fazendo a intercalação entre as imagens [27] [31]. Existem algumas vantagens das câmeras de profundidade sobre as câmeras tradicionais, como a facilidade do processamento de imagem e a exibição de objeto através do formato [27] [31].

2.6.5 Visão 3D

A imagem tridimensional ou visão 3D copia a maneira dos animais enxergarem. É gerada porque cada um de nossos olhos vê uma imagem simultânea ligeiramente diferente (chamado de paralaxe), o nosso cérebro une essas imagens gerando a sensação de imagem tridimensional. Para captura de imagem utiliza duas câmeras, onde cada uma gera uma imagem. Um software processa as informações do objeto entre essas imagens geradas por essas câmeras, gerando assim a imagem tridimensional [31].

Page 54: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

54

2.6.6 Dispositivo Kinect

O kinect é um dispositivo com sensor de movimento fabricado pela Microsoft que permite que o usuário não precise de joystick para interagir com jogos [32]. Segundo LaBelle (2011),

“O Kinect é um dispositivo que vai muito além das tentativas anteriores de criar um controle baseado na captura de movimentos, usando a captura de vídeo, áudio e sensores de profundidade o Kinect é capaz de detectar movimentos, identificar rostos, reconhecer voz e sons e o discurso de jogadores, o que proporciona aos mesmos a utilização dos seus próprios corpos como controles. Ao contrário dos demais dispositivos do tipo, ele não requer um acessório com acelerômetro ou dispositivo com o qual o jogador precise manter contato físico direto para operar” [32].

A figura 22 mostra um modelo de dispositivo Microsoft Kinect.

Figura 22 –Microsoft kinect [32].

O kinect possui sensores que percebem todos os movimentos do objeto a sua frente. Ele reconhece todo o corpo do objeto gerando um esqueleto digital através de informações

Page 55: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

55

apanhadas de seus sensores, e enviam estas informações na forma digital, também registram movimentos no escuro. Hoje existem três modelos desses dispositivos que são o Kinect one, Kinect for Windows e Kinect for Xbox 360 [33]. O kinect for Windows possui microfones com melhores atributos e o recurso “Near Mode”, uma capacidade de perceber o usuário mais próximo ou na posição sentada. Possui também uma leitura de esqueleto melhor que os demais devido a modificações em seus algoritmos, melhor API (interface para programação de aplicativos), não necessita de adaptador, pois possui conexão USB e um hardware particular [33]. O kinect for 360 possui a principal diferença entre os sensores, que é seu cabo de comunicação com um adaptador. Esse adaptador possui um modelo de entrada único e específico que permite a comunucação com o computador [33]. O dispositivo kinect possui vários recursos como eixo motorizado, acelerômetro, sensor infravermelho, sensor RGB, emissor de luz infravermelho e alguns microfones. A figura 22 apresenta uma visão do interior do sensor com indicativos de onde estão localizados estes recursos [33]. 2.6.6.1 Acelerômetro

O acelerômetro é um dispositivo usado para medir a aceleração de um objeto. No kinect o acelerômetro faz medições nas três dimensões X, Y e Z, seu uso se aplica em todas as situações em que a orientação do sensor é alterada [34].

2.6.6.2 Eixo motorizado

Outra peça importante do kinect é seu eixo motorizado. Através dele pode-se alterar o ângulo de visão que o sensor capta no ambiente. Esse eixo se movimenta somente para cima e para baixo [35]. O kinect tem uma visão de 43,5 graus na vertical e 57.5 graus na horizontal. Com o eixo motorizado pode-

Page 56: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

56

se alterar este ângulo da vertical em mais 27 graus para cima e 27 graus para baixo. [34]

2.6.6.3 Câmeras kinect

As câmeras do kinect atuam na qualidade da imagem e quantidade de fps (quadros por segundo) que o sensor processa. As câmeras detectam movimentos em 3D e gravam esta movimentação por meio de 24 fps [34] [35]. No formato RGB (red-green-blue) do kinect, cada pixel de imagem contem uma quantidade de cor vermelha, azul e verde. A cor do pixel é a soma desses três valores [34] [35]. No formato IR (infravermelho) surge uma imagem escura com vários pontos luminosos,esses pontos são lançados pelo emissor de luz infravermelho no ambiente. No formato IR vemos como o kinect “enxerga” o ambiente [34] [35].

2.6.6.4 Sensor de profundidade do kinect O sensor de profundidade possui uma faixa ajustável e se adapta independente do físico da pessoa como altura ou largura. Adaptam-se também as condições de ambiente como a iluminação. Ele é constituído de um sensor monocromático e um projetor de laser infravermelho que convertem as informações em dados de profundidade. A figura 23 mostra um diagrama de sensor de profundidade do kinect. [32] [33].

Page 57: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

57

Figura 23: Diagrama do sensor de profundidade do Kinect [32].

2.6.6.5 Fluxo de esqueleto do usuário

Esqueleto do usuário é a capacidade do kinect de perceber o usuário e suas articulações, com ele podemos identificar as coordenadas X, Y e Z de qualquer parte do objeto. Seu esqueleto possui vinte articulações, onde cada uma tem suas próprias coordenadas. A figura 24 mostra onde se localizam as coordenadas de esqueleto do usuário. O kinect reconhece e identifica o esqueleto do usuário através de um conjunto de processamentos e sensores. Para fazer o reconhecimento de diversos biotipos de esqueletos, foi utilizado o sistema de motion capture (Mocap). Esse fluxo é o mais importante do kinect, pois toda aplicação do kinect consiste em movimentos [34].

Page 58: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

58

Figura 24 - Coordenadas de esqueleto do usuário [36].

Page 59: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

59

3. DESENVOLVIMENTO Esse capitulo apresenta etapas do trabalho e seu desenvolvimento está dividido em: diagrama funcional, estrutura do braço robótico, software de controle, comunicação e programação. 3.1 Diagrama funcional O diagrama funcional visa esclarecer o funcionamento do controle do braço robótico por meio de captura de movimento. O trabalho consiste em capturar os movimentos realizados por qualquer usuário, através do dispositivo Kinect. Os dados capturados pelo dispositivo são enviados para um computador através de uma porta USB. Os dados recebidos são processados pelo software LabVIEW, que de acordo com a programação (controle por malha fechada) estabelecida, envia e recebe dados ao controlador NXT da Lego por meio de outra porta USB. O NXT da Lego possui três saídas (A, B e C) ligadas aos servomotores, que possuem controle de posição por ser programado em malha fechada e que são responsáveis por executar os movimentos no braço robótico, conforme movimentos feitos pelo usuário. O diagrama funcional apresentado pela figura 25 exemplifica o ciclo do funcionamento desse trabalho.

Page 60: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

60

Figura 25: Diagrama funcional [37].

Onde: (I) Usuário; (II) Dispositivo kinect; (III) Computador com plataforma LabVIEW; (IV) Controlador NXT da Lego; (V) Braço robótico. 3.2 Estrutura do braço robótico Nesse tópico será apresentada a estrutura do braço robótico, onde serão descritos o material adotado para esse projeto, a montagem do braço robótico, o cálculo de graus de liberdade, as relações de transmissão de movimento e componentes utilizados (servomotores e NXT).

Page 61: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

61

3.2.1 Material Adotado O material adotado para montagem do braço robótico foi o kit Lego Mindstorms por estar disponível no IFSC. Esse kit é considerado uma ferramenta essencial para robótica educacional, possuindo enorme variedade de peças para montagens mecânicas. Também possui componentes para automação dessas montagens, como servomotores, sensores e controladores, por exemplo. É um material de fácil montagem, fácil manuseio e com uma estrutura final bastante agradável. Vale destacar que o trabalho esta focado no controle e não na estrutura física do braço em si. 3.2.2 Montagem Para montagem do braço robótico, foram tomados dois cuidados importantes. A primeira é analisar o peso das partes que compõe o braço robótico, pois quanto mais pesada for sua estrutura, maior será a potência que os servomotores deverão ter para movê-las. A segunda questão a ser vista é o centro de massa do braço robótico, esse deve ser bem localizado afim de não prejudicar sua movimentação. Inicialmente alguns modelos de braço robótico foram montados para realização de testes e análises, porém nenhum servia ao propósito desejado. A maioria não se enquadrava nas exigências mínimas de estrutura mecânica, por faltar componentes (engrenagens) essenciais para transmissão de movimento, ou possuiam centro de massa deslocado ou ainda arquitetura final não eficaz. A figura 26 mostra a primeira concepção do braço robótico desenvolvido para esse trabalho, que se mostrou ineficaz devido ao peso de sua garra.

Page 62: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

62

Figura 26: Primeiro braço robótico [37].

Após várias montagens e testes, o último modelo desse trabalho é baseado ao modelo Buil-robotArm (9695) da Lego Mindstorms, porém com algumas alterações. A garra do modelo Buil-robotArm não pode ser produzida por falta de componentes no Kit Lego utilizado, e teve de ser modificada. A posição do servomotor que movimenta a cintura do braço robótico (rotação), também foi modificada, pois influenciava no movimento de elevação do braço robótico. Alterou-se também a posição do servomotor de elevação, a fim de eliminar o problema, porém sem ter êxito, o defeito ainda persiste. Após essas alterações, o modelo apresentado nesse trabalho é um manipulador articulado de 3 graus de liberdade (rotação, elevação e garra). O modelo possui três servomotores, um em cada eixo de movimentação, controlados por um controlador NXT da Lego e descritos mais adiante ainda nesse tópico. A figura 27 mostra modelo original Buil-robotArm (9695) da Lego, já a figura 28 mostra o modelo desenvolvido nesse trabalho.

Page 63: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

63

Figura 27: Modelo Buil-robotArm (9695) [38].

Figura 28: Modelo Desenvolvido [37].

3.2.3 Cálculo de Graus de liberdade Para o cálculo de graus de liberdade adotou-se o critério de GRUEBLER E KUTZBACH [18]. (M = 3*(N − 1) − 2*P1 − P2) Onde: M = Número de Graus de Liberdade do Mecanismo;

Page 64: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

64

N = Número total de Elos do mecanismo (incluindo o solo); P1 = Número de juntas com 1 Grau de Liberdade; P2 = Número de juntas com 2 Graus de Liberdade. A figura 29 mostra a análise realizada no levantamento de dados para cálculo do número de graus de liberdade do braço robótico desse trabalho. Sendo: N = 3 P1 = 1 P2 = 1 M = 3*(N − 1) − 2*P1 − P2 M = 3

Figura 29: Análise do Braço Robótico [37]

3.2.4 Transmissão de Movimentos A transmissão de movimentos desse modelo de braço robótico é realizada de duas maneiras. A transmissão direta pelo eixo do servo motor e a transmissão de movimento realizada por relação de engrenagens. A transmissão por engrenagens são responsáveis pela transferência de movimento de um eixo para outro [39]. No caso da garra, optou-se por um modelo de transmissão direta, que nesse modelo escolhido possibilita uma abertura máxima de aproximadamente151ᵒ. Para o cálculo de abertura da garra utilizou-se regras trigonométricas, baseando-se

Page 65: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

65

através das medidas da garra do braço robótico. As barras laterais da garra desse trabalho medem 46,5mm enquanto que a medida da abertura total da garra é 90mm. Conforme mostra a figura 30.

Figura 30: Medidas de abertura da garra [37].

Onde:

Co = Cateto oposto ao ângulo (a ou b); H = Hipotenusa; a e b = ângulos desejada Temos: Co = 45; H = 46,5; Então: a= arcsin (Co/H); a= 75,407°; a=b; Portanto, o ângulo total de abertura é a somatória dos dois ângulos. Ɵ = a+b; Ɵ = 150,815°. Para o movimento do eixo de rotação do braço robótico, a transmissão de movimento se faz através de engrenagens como destaca a figura 31, onde a engrenagem acoplada ao eixo do servomotor possui vinte e quatro dentes (24t) e a engrenagem

Page 66: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

66

que transmite o movimento de rotação do braço robótico tem sessenta dentes (60t). A relação entre engrenagens dessa transmissão é de 2:5, isso nos permite dizer que a cada duas voltas e meia da engrenagem (24t) produzirá apenas uma volta da engrenagem (60t) [39].

Figura 31: Engrenagens eixo de rotação [37].

Já para o eixo de elevação, a transmissão de movimentos também é feita por engrenagens. Nesse caso é usado uma engrenagem de doze dentes (12t) acoplada ao eixo do servomotor, e outra de trinta e seis dentes (36t) no eixo de elevação. Essa relação é de 1:3, ou seja, a cada três voltas da engrenagem de (12t), a de elevação (36t) fará uma volta completa, o que significa que para um giro completo 360ᵒ da engrenagem de elevação (36t), o servomotor precisa girar 1080ᵒ. As engrenagens que executam o movimento de elevação são destacadas na figura 32 [39].

Figura 32: Engrenagens do eixo de elevação [37].

Page 67: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

67

3.2.5 Servomotores No trabalho proposto, são utilizados 03 servomotores, o primeiro faz o movimento de rotação, o segundo o movimento de elevação e o terceiro controla o movimento da garra. Os servomotores Lego contêm um sensor interno (Encoder) que permite medir e controlar sua posição e velocidade. Esses servomotores também possuem um bom torque, minimizando a necessidade de reduções de rotação para aumentar o torque, seu peso estimado é de 80g. A figura 33 mostra a estrutura interna dos servomotores Lego [40].

Figura 33: Estrutura de um servomotor Lego Mindstorms [41].

3.2.6 Controlador NXT

O controlador NXT da Lego é o que podemos chamar de “cérebro do robô”. Ele possui quatro entradas (1, 2, 3 e 4) para sensores (toque, luz, ultrassom e som), e três saídas (A, B e C) que controlam e alimentam três servomotores. O controlador NXT da Lego, ou “Smart Brick” (“Tijolo inteligente/programável”) é mostrado pela figura 34 [41].

Page 68: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

68

Figura 34: Controlador NXT do kit Lego [41].

3.3 Softwares de controle

Este item apresenta as pesquisas realizadas sobre softwares utilizados para realizar o controle do braço robótico proposto nesse trabalho.

3.3.1 Visual Studio O primeiro software a ser testado nesse trabalho foi o Visual Studio. Esse é um software produzido pela Microsoft que possui suporte para o dispositivo kinect, e é bastante utilizado em variadas aplicações. Após várias tentativas realizando pequenos programas, encontrou-se grande dificuldade em se utilizar o Visual Studio, que utiliza como plataforma de programação a linguagem C. Essa dificuldade não está na linguagem de programação, e sim na configuração do banco de funções que requer conhecimentos mais avançados. Outro problema encontrado com o Visual Studio foi à comunicação entre ele e o controlador NXT da Lego, que é complexa e também limitada. Uma alternativa sugerida pelos autores é de se utilizar um programa em outra plataforma que faça a intermediação de comunicação entre o controlador NXT

Page 69: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

69

da Lego e o Visual Studio. Como esta opção se mostrou bastante complexa, descartou-se a utilização do Visual Studio.

3.3.2 Microsoft Robotics Developer Studio 4 (RDS)

Em pesquisas de fóruns dedicados a softwares que possuem comunicação com controlador NXT da Lego, encontrou-se um da Microsoft, o Robotics Developer Studio 4 (RDS), que utiliza programação em bloco, chamada de VPL (Visual Programming Language). Apesar de se ter tido grandes dificuldades em se adaptar com as infinidades de opções que Robotics Developer Studio 4(RDS) contém, a implementação desse software utilizando o controlador NXT da Lego é muito boa. Porém quando se tenta implementar o dispositivo kinect, se obtém um grande problema, o software não reconhece as bibliotecas de funções do kinect. Devido a esse problema com a biblioteca do dispositivo kinect, optou por pesquisar outro software mais amigável.

3.3.3 LabVIEW for Lego

Como terceira opção, utilizou-se a plataforma LabVIEW for Lego midstorn 2012, que possui suporte para o controlador NXT da Lego. Esta versão, também apresenta a opção de adicionar novas bibliotecas ao programa, chamadas pela plataforma LabVIEW de Add-ons.. Em uma dessas bibliotecas se encontra o Kinesthesia Toolkit for Microsoft Kinect da Universidade de Leeds, que mostrou ser uma ferramenta importante para o desenvolvimento desse trabalho. Inicialmente obteve-se problemas com a plataforma LabVIEW, onde ela não reconhecia as bibliotecas do Kinesthesia Toolkit. Porém após pesquisas, descobriu-se que à versão da plataforma LabVIEW for Lego midstorn 2012, utiliza a versão NET 4.0 como padrão. Já o Kinesthesia Toolkit requer uma versão NET 4.5, o que gera conflito entre as duas versões. Por

Page 70: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

70

isso fez-se alteração do formato padrão da plataforma LabVIEW, que passou a reconhecer a biblioteca do Kinect. Uma vez instalado o Kinesthesia Toolkit, facilitou bastante a programação comparado com os outros softwares já citados nos itens anteriores. Após a realização de alguns testes, utilizando o controlador NXT da Lego juntamente com o dispositivo Kinect, optou-se em utilizar a plataforma LabVIEW for Lego midstorn 2012 para realizar a programação.. 3.4 Captura de movimento Este tópico aborda os assuntos relacionados a captura de movimento, sendo dividido em: Dispositivo kinect, kinesthesia e funcionamento do programa kinesthesia.

3.4.1 Dispositivo Kinect O Kinect é o dispositivo utilizado para fazer a captura de movimentos desse trabalho. Optou-se por esse dispositivo devido às diversas aplicações encontradas e também por estar disponível para pesquisas no IFSC Campus Joinville. Seu principal componente é a câmera TOF (time off light) ou câmera de tempo de vôo que entrega um modelo de cena em 3D e um software sofisticado para detecção de posição do corpo em tempo real como já foi mencionado anteriormente [31]. Ele é um hardware compacto e independente, sua saída de dados possui boa qualidade. Suas aplicações vão além dos jogos, tanto que foi projetado um dispositivo Kinect especificamente para o uso do Windows ("Kinect for Windows", 2012) [32]. Através de estudos realizados, a distância recomendada para seu uso deve ser de 1 a 3 metros de distância do dispositivo Kinect. Possui capacidade de identificar vários pontos (articulações) do esqueleto humano [34].

Page 71: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

71

3.4.2 Kinesthesia O kinesthesia é um kit de ferramentas que consiste de vários subVIs. Esses subVIs podem ser incorporados a plataforma LabVIEW para acessar os fluxos de dados do dispositivo Kinect. O kit permite que o usuário possa interagir facilmente com a câmera RGB, câmera de profundidade, rastreamento do esqueleto e funcionalidades que o Kinect oferece em qualquer sistema LabVIEW [42]. O fluxo de dados e posições do esqueleto é gerado a partir do dispositivo kinect utilizando dados da câmara de profundidade e da câmera RGB. No painel frontal do programa de captura de movimento, aparece a imagem do usuário e outra imagem de um esqueleto. Esse esqueleto se movimenta conforme a orientação do usuário, a figura 35 abaixo demonstra as imagens de funcionalidade do kit kinesthesia [42].

Figura 35: A Funcionalidade do Kinesthesia [43].

O braço robótico desse trabalho se movimenta na vertical, horizontal e rotacional (em torno de seu próprio eixo), onde as coordenadas (X, Y e Z) do usuário capturadas pelo dispositivo kinect são utilizadas para realizar a programação.

Page 72: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

72

A programação de controle desse trabalho se faz da seguinte maneira. O plano cartesiano “Z” é utilizado pela mão esquerda do usuário, onde é feito o controle de abertura e fechamento da garra do braço robótico. A mão direita do usuário é usada nos planos cartesiano “Y” e “X”, controlando o movimento de elevação e rotação do braço robótico, respectivamente. Foram escolhidos esses membros e planos cartesianos pela praticidade de se controlar o braço robótico, ao invés de utilizar outra parte do corpo. Nesse trabalho de captura de movimento, apenas o fluxo de dados do esqueleto é utilizado. Isso não significa que outros dados não possam ser utilizados em futuros trabalhos, como por exemplo, os microfones embutidos do dispositivo Kinect. Toda a parte de controle dos movimentos desse braço robótico será visto a partir do tópico 3.6. 3.4.2.1 Funcionamento do programa do kinesthesia O kit de ferramentas não requer nenhuma licença própria, podendo simplesmente ser baixado do site da National Instrument (NI). A figura 36 mostra o diagrama de blocos do kit de ferramentas kinesthesia.

Figura 36: Programa do Kinesthesia toolKit baixado da NI [37].

Para melhor entendimento o programa do Kinesthesia

toolkit foi dividido em três etapas:

Page 73: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

73

Na primeira etapa, mostrada pela figura 37, estão as configurações de entrada. O item “1” (VI initialise) inicializa o dispositivo kinect, sendo utilizado para criar uma entrada do dispositivo kinect na memória do computador. O item “2” (VI Configure) seleciona as opções disponíveis para os fluxos de dados do Kinect, como câmera RGB, câmera de profundidade e resolução da imagem de informações do esqueleto. No item “3” (VI initialise 3D Skeleton), é inicializado um display 3D que mostra o esqueleto do usuário [45].

Figura 37: Configuração de entrada do kinsthesia toolkit [37].

A segunda etapa, mostrada pela figura 38, é realizada dentro de um loop while, que é onde ocorre a captura e a exibição dos dados do dispositivo Kinect. O item “1” (read) lê e processa os fluxos de dados do dispositivo kinect para que ele possa ser exibido. O item “2” (render the skeleton) processa e exibi o esqueleto de um usuário no espaço 3D. O (display collor data) item “3” converte em formato 2D o formato de exibição de imagem, que é realizado em16fps (16 quadros por segundo) através do (Wait Until Next ms Multiple Function) item “4”. O item “5” é a condição de saída do loop while, sendo possíveis duas condições: o botão stop acionado ou erro de comunicação do programa [45].

Page 74: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

74

Figura 38: Loop while e componentes [37].

Na terceira e ultima etapa, se encontra o VI Kinect close, mostrado pela figura 39. Esse VI é utilizado para fechar todas as referências abertas que são criadas durante o funcionamento do dispositivo kinect [46].

Figura 39: VI Kinect close [37].

3.5 Comunicação A comunicação entre as partes do sistema que compõe o trabalho é realizada através de cabos USB e cabos conectores RJ12. Entre o dispositivo Kinect e o computador, é utilizado o cabo USB tipo “A” host ou hub. Para comunicação do computador com o NXT, utiliza-se o cabo USB tipo “A” host ou hub (entrada no computador) e cabo USB tipo “B” periférico (conexão com o NXT).

Page 75: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

75

Por ultimo, a comunicação entre o NXT e seus servomotores é realizada através de cabos conectores para Lego EV3 NXT, estilo padrão RJ12 nas duas extremidades. 3.6 Programação Nesta etapa do trabalho, é descrito a maneira que os dados enviados pelo dispositivo Kinect são reconhecidos na plataforma LabVIEW, e também são apresentados dois modelos de programações desenvolvidas durante esse trabalho. 3.6.1 Reconhecimento de dados (Kinect/LabVIEW) Esse tópico busca esclarecer ao leitor de que maneira a plataforma LabVIEW reconhece os dados que o dispositivo Kinect envia no momento em que o usuário executa movimentos de comando do braço robótico. Para que esses movimentos sejam reconhecidos, a plataforma LabVIEW através do programa do Kinesthesia toolkit, utiliza coordenadas no plano cartesiano (X, Y e Z) referente a movimentos do esqueleto do usuário capturados pelo dispositivo Kinect. Essas coordenadas são enviadas do dispositivo Kinect e recebidas pelo programa desenvolvido com os seguintes dados numéricos: Variam com os movimentos do usuário de -1 a +1 para os planos X e Y; O plano Z varia de acordo com a distância entre o ponto do esqueleto e o dispositivo Kinect em metros [36]. O ponto zero de cada junta é estabelecido sempre que o programa é iniciado e o dispositivo Kinect captura o esqueleto do usuário. Partindo do ponto zero, todos os movimentos realizados pelo usuário em qualquer coordenada cartesiana (X, Y e Z), irão variar seus dados dentro das faixas em cada plano cartesiano.

Page 76: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

76

3.6.2 Programação em malha aberta (1º programa)

O primeiro programa desenvolvido para esse trabalho foi

uma programação feita em malha aberta, utilizada

experimentalmente para o controle do braço robótico

apresentado na figura 26 (primeiro braço robótico), sendo

desenvolvida por meio de comparações.

Para esse modelo de programa são escolhidos dois

valores entre a faixa de dados numéricos determinada em cada

plano cartesiano, conforme mencionado no tópico 3.6.1. Esses

valores serão os pontos de ativação dos servomotores, e sua

lógica de programação é simples. Quando o valor enviado ao

programa desenvolvido na plataforma LabVIEW pelo dispositivo

Kinect, estiver entre os valores definidos na programação o

servomotor permanece parado. Já se o valor enviado for menor

que o valor mínimo definido, o servomotor liga em um sentido de

rotação (ex: horário), caso o dado enviado for maior que o valor

máximo definido o servomotor liga no sentido de rotação inverso

(anti-horário). O fluxograma da figura 40 apresenta um exemplo

de programação, onde selecionou-se o ponto do esqueleto

(Kinect) como sendo a mão esquerda do usuário, com

movimentos no plano “Y”, escolhido para simular o controle de

elevação do braço robótico. Os valores (0 e 0,6) foram

escolhidos aleatoriamente para o controle do servomotor para

esse exemplo, afim de melhorar o entendimento do leitor, pois se

encontram conforme tópico 3.6.1 dentro da faixa do plano

cartesiano “Y”, cujo valor varia de -1 à +1. Portanto quando o

valor enviado pela posição da mão esquerda do usuário

ultrapassar o valor de zero vírgula seis (0,6), o servomotor liga

em sentido horário. Agora se a mão do usuário se movimentar no

plano “Y” até o valor enviado ficar entre os dois valores, o

servomotor desliga (Para). Se o usuário continuar movimentado

a mão no plano “Y” até o valor enviado ficar menor que (0), o

servomotor liga em sentido anti-horário. Lembrando que o valor

Page 77: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

77

(0) é o valor inicial, ou seja, é gerado apartir do momento em que

o dispositivo kinect reconhece o esqueleto do usuário.

Figura 40: Programação em malha aberta [37].

Esse método de programação foi descartado porque o

usuário não consegue ter o controle exato sobre a posição do

braço robótico, o que não satisfaz o propósito desse trabalho. A

partir daí iniciou-se um novo modelo de programação utilizando

um controle em malha fechada, que permitiu obter melhor

controle sobre o posicionamento do braço robótico.

Page 78: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

78

3.6.3 Programação em malha fechada (2º programa)

A programação em malha fechada se diferencia da

programação de malha aberta por fazer o controle através de

uma referencia fornecida a partir de sensoriamento. Este método

de programação permite obter um controle bem mais preciso

sobre as saídas do controlador, o que resulta em um melhor

controle sobre o posicionamento do braço robótico.

Para a elaboração desse programa foram utilizadas cinco

etapas encadeadas. O encadeamento é definido aqui como um

ou mais subdiagramas, que são executados sequencialmente

conforme ordem pré-estabelecidas na programação. As cinco

etapas criadas nessa programação possuem sua sequência de

execução mostrada através da figura 41 e definidas como:

1. Posicionamento inicial da garra e do eixo de elevação do

braço robótico;

2. Posicionamento inicial do eixo de rotação do braço

robótico;

3. Programação do controle de posicionamento do braço

robótico por captura de movimentos;

4. Posicionamento final da garra e do eixo de elevação do

braço robótico;

5. Posicionamento final do eixo de rotação do braço

robótico.

Figura 41: Cinco etapas da programação [37].

Page 79: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

79

Somente a etapa 3 é desenvolvida com o método de

malha fechada, as demais etapas de posicionamento inicial (1 e

2) e final (4 e 5) foram elaboradas em malha aberta.

3.6.3.1 Posicionamento inicial e final do braço robótico

As etapas 1 e 2 do programa citadas no tópico 3.6.3,

determinam o posicionamento inicial do braço robótico que são

realizadas toda vez que o usuário inicia o programa. Já as etapas

4 e 5 do programa determinam a posição final do braço robótico

e são executadas após o encerramento da etapa 3. As etapas 1,

2, 4 e 5 foram elaboradas para que o braço robótico permaneça

sempre na mesma posição, tanto no início como no termino do

programa.

As etapas 1 e 4 possuem a mesma lógica de

programação e determinam o posicionamento da garra e do eixo

de elevação do braço robótico, sendo que a etapa 1 é realizada

no inicio e a etapa 4 no final do programa. Vale a pena salientar

que os dois posicionamentos ocorrem simultaneamente durante

essas etapas do programa. Para o melhor entendimento do que

ocorrem durante as duas etapas, primeiro será comentado

apenas sobre a parte do programa que posiciona a garra e em

seguida sobre o eixo de elevação.

A entrada e a saída (“Porta 1” e “Porta C” do controlador

NXT da Lego) respectivamente, foram escolhidas entre as

opções disponíveis desse controlador, para realizar o controle de

posição e movimento da garra. Onde a “Port 1” é utilizada para

conexão do sensor fim de curso e “Porta C” utilizada para o

servomotor. Para essas duas etapas foram elaboradas a

seguinte lógica de programação: Liga servomotor em sentido

horário até acionar o sensor fim de curso, desliga servomotor,

inverte rotação para o sentido anti-horário por um determinado

Page 80: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

80

tempo e por fim desliga o servomotor. Essa ordem de

programação é explicada a seguir dividida em três passos:

1. Aciona servomotor (“Porta C”) em sentido horário - O

sentido de rotação inicial do servomotor é definido de

acordo com o posicionamento do sensor fim de curso.

Nesse protótipo de braço robótico o sensor está

localizado na parte superior da garra. Portanto quando o

servomotor é acionado no sentido horário, provoca o

movimento de abertura da garra, fazendo com que a

parte móvel da garra sempre vá de encontro com a chave

fim de curso.

2. Aciona o sensor de fim de curso (“Porta 1”) – Esta

operação é realizada para se estabelecer um ponto de

referencia no programa, e, a partir desse ponto definir

qualquer posição inicial para a garra.

3. Desliga servomotor e aciona servomotor (“Porta C”) em

sentido anti-horário por um determinado tempo e desliga

o servomotor – Quando a parte móvel da garra aciona o

sensor fim de curso, o servomotor desliga. Neste

momento o ponto de referencia já esta estabelecido e o

tempo que o motor fica acionado em sentido anti-horário,

é quem determina a posição inicial da garra. Percorrido

esse tempo o servomotor novamente desliga na posição

desejada.

Lembrando que durante as etapas 1 e 4 são

determinados dois posicionamentos, o da garra já mencionado

acima e do eixo de rotação comentado a seguir.

Para determinar a posição do eixo de elevação utilizou-se

a “Porta 2” (entrada) e “Porta B” (saída) do controlador NXT da

Lego. Essas portas foram escolhidas para realizar o controle da

posição e movimento no eixo de elevação do braço robótico.

Onde a “Port 2” é utilizada para conexão do sensor fim de curso

e “Porta B” utilizada para o servomotor. Executa a mesma lógica

de programação da garra: Liga servomotor (“Porta B”) em sentido

anti-horário até acionar o sensor fim de curso (“Porta 2”), desliga

Page 81: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

81

servomotor, inverte rotação para sentido horário por um

determinado período de tempo e por fim desliga o servomotor.

Neste caso o servomotor é acionado inicialmente no sentido anti-

horário. O motivo é que o sensor fim de curso para esse

movimento está localizado para detectar a descida do braço

robótico, e com a rotação do servomotor no sentido anti-horário,

o braço robótico executa esse movimento. Assim esta lógica

sempre fará que o braço robótico vá nessa direção e acione o

sensor fim de curso. O restante da programação obedece às

mesmas lógicas de posicionamento utilizadas para garra,

mencionadas acima neste tópico.

Como nas etapas 1 e 4, as etapas 2 e 5 também possuem a

mesma lógica de programação, porém atuam somente sobre o

posicionamento do eixo de rotação do braço robótico. Conforme

acontece nos posicionamentos da garra e do eixo de elevação, o

posicionamento do eixo de rotação também obedece a mesma

lógica de programação: Liga servomotor em sentido horário até

acionar o sensor fim de curso, desliga o servomotor, liga

servomotor em sentido anti-horário por um determinado período

de tempo e por fim desliga o servomotor. Para controle desse

eixo utilizou-se a “Porta 3” (entrada) para conectar o sensor fim

de curso e “Porta A” (saída) para o servomotor, responsáveis por

controlar a posição e os movimentos sobre esse eixo do braço

robótico. Nesse eixo, o sensor fim de curso está posicionado

para detectar o movimento de rotação no sentido horário do

braço robótico, e para produzir esse movimento é necessário

acionar o servomotor no sentido horário. As demais ordens

possuem a mesma lógica de programação dos outros eixos,

portanto sempre que o programa entrar nessas etapas (2 e 5) o

braço robótico fará somente o posicionamento do eixo de

rotação. O fluxograma mostrado pela figura 42 apresenta as

lógicas de modo estrutural ocorridas durante as etapas 1 ou 4.

Page 82: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

82

Figura 42: Fluxograma de posicionamento da garra e eixo de elevação do

braço robótico [37].

O fluxograma apresentado pela figura 43 apresenta as

lógicas de modo estrutural ocorridas durante as etapas 2 ou 5.

Figura 43: Fluxograma de posicionamento do eixo de rotação do braço

robótico [37]. 3.6.3.2 Programação por captura de movimentos (Kinect)

O controle do braço robótico através da captura de

movimentos ocorre quando o programa entra na etapa 3, sendo

essa, a parte mais importante desse trabalho, pois nela esta a

Page 83: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

83

programação que controla o posicionamento do braço robótico. É

nela que está o programa kinesthesia, mencionado no tópico

3.4.3, responsável por transformar em dados numéricos os

movimentos do usuário detectados pelo dispositivo kinect.

Ao entrar na etapa 3 o programa executa o kinesthesia e

a zeragem dos ângulos de posicionamento dos três eixos (garra,

elevação e rotação), mostrados no painel frontal e comentado no

tópico 3.6.3.4 adiante. Essa zeragem é realizada pelo VI Reset

rotation. Relembrando que todo VI é semelhante a uma função

ou sub-rotina em outras linguagens de programação, como já

mencionado no tópico 2.3 desse trabalho. O VI reset rotation,

conforme a porta configurada (A, B ou C), limpa a contagem de

rotação interna do servomotor, deixando seu ângulo sempre

indicando zero. Após zerar os ângulos e ver as configurações de

entradas do kinesthesia, o programa é elaborado dentro de um

loop while. Um loop while é uma demonstração de fluxos de

controle que se usa para executar um bloco de código

repetidamente até que uma determinada condição seja atendida

[46]. No programa apresentado, essa condição é o botão STOP

que determina o fim da etapa 3, ou seja, enquanto essa condição

não é atendida o programa fica dentro do loop while executando

o controle de posição dos servomotores.

A programação elaborada dentro do loop while para

posicionar um eixo do braço robótico se repete para os demais

eixos, mudando apenas as coordenadas e/ou o ponto do

esqueleto (membro do usuário) que movimentam esses eixos.

Para o controle de posição da garra, optou-se em utilizar o ponto

do esqueleto referente à mão esquerda do usuário realizando

movimentos no plano cartesiano “Z”, escolhido para produzir os

movimentos de abertura e fechamento da garra. O controle de

elevação é realizado através do ponto do esqueleto referente à

mão direita do usuário realizando movimentos no plano

cartesiano “Y”, escolhido para produzir os movimentos de erguer

e baixar o braço robótico. Já o controle de rotação, é realizado

através do ponto do esqueleto referente à mão direita do usuário,

Page 84: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

84

porem realizando movimentos no plano cartesiano “X”,

produzindo os movimentos de giro no braço robótico, já

comentado no tópico 3.4.2. Visando um melhor entendimento do

programa, é descrito essa programação de uma maneira

genérica (qualquer eixo), cuja lógica é descrita a seguir.

Dentro do loop while o programa kinesthesia transforma

os sinais de movimentos captados pelo dispositivo Kinect em

uma matriz de coordenadas cartesianas X, Y e Z. O sinal

recebido referente a coordenada desejada para o controle do

eixo é multiplicado por um valor constante, a fim de relaciona-lo

com o sinal recebido do sensor encoder. O sinal do sensor

encoder é fornecido ao programa através das portas de saídas

do controlador NXT (A, B e C) ligadas aos servomotores de cada

eixo do braço robótico. O VI que monitora o sensor encoder no

programa é o read rotation, ele indica a posição em graus

(ângulo) do servomotor através das portas de saida do

controlador NXT. Com esses dois sinais (Kinect e encoder), faz-

se uma subtração entre os dois valores. Portanto quando houver

uma diferença entre o sinal enviado pelo dispositivo Kinect e o

sinal do sensor encoder, esta será a vista como um erro. Esse

erro é quem controla a potencia para o posicionamento correto

do servomotor, sendo assim, quanto maior o erro, maior será a

potencia que o servomotor receberá para corrigir sua posição.

Para exemplificar melhor o que acontece nessa lógica do

programa comenta-se:

Se a mão do usuário é o setpoint do controlador, quando

o usuário altera a posição de sua mão ele altera junto o setpoint,

isto faz com que o controlador imediatamente envie um sinal

para corrigir o posicionamento do servomotor procurando

eliminar a diferença (erro). Para executar essa correção o

controlador utiliza como referencia o sinal do sensor encoder

sabendo assim a posição do servomotor.

Para se obter um posicionamento do braço robótico com

mais precisão, esse programa utiliza um controle PI. Controle PI

é uma técnica de controle que utiliza ações proporcionais (Kp) e

Page 85: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

85

integrais (Ki) com objetivo de eliminar erros de controle [47]. Kp e

Ki são coeficientes de ganho onde:

Kp é o ganho proporcional, esta ação ajuda a eliminar as

oscilações das variáveis deixando o sistema mais estável, porém

não garante o valor desejado [47].

Ki é um ganho integral, esta ação elimina totalmente o

desvio de erro, faz com que a variável fique sempre próxima ao

valor desejado [47].

Desta forma esse programa irá mover servomotores em

X, Y e Z, com base na saída do dispositivo kinect usando o

acompanhamento do esqueleto. O programa seleciona um ponto

do esqueleto e usa o X, Y e Z coordenadas para fornecer

potencia aos servomotores. Os servomotores são conectados a

um controlador NXT da Lego em portas A, B e C,

respectivamente. Toda essa lógica de programação ocorrida na

etapa 3 e elaborada em plataforma LabVIEW é mostrada em

Anexo A e mostrado pelo fluxograma de modo estrutural da

figura 50.

Figura 50: Fluxograma de representação da etapa 3 [37].

Page 86: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

86

3.6.3.3 Programação de segurança de posicionamento do braço

robótico

Durante a etapa 3 viu-se a necessidade de elaborar uma

programação que estabeleça limites (mínimos e máximos) de

segurança para os eixos do braço robótico. Essas limitações

servem para que o braço robótico não ultrapasse certos ângulos

de rotação, impedindo-o de danificar peças, componentes ou até

mesmo forçar os servomotores desnecessariamente.

Para elaboração dessa parte do programa utilizou-se dois

sinais, o angulo de rotação do servomotor e o sinal enviado pelo

movimento do esqueleto (mão do usuário). Caso utilizasse

apenas um desses dois sinais, quando algum dos eixos do braço

robótico chegasse ao valor (limite) programado ele pararia, e,

não se movimentaria mais. Para que isso não aconteça, foi

necessária a utilização dos dois sinais como referência. Essa

lógica é apresentada nos parágrafos seguintes de maneira

genérica, ou seja, é utilizada a mesma lógica para estabelecer os

limites de segurança em todos os eixos desse braço robótico.

Para estabelecer essa lógica, determinam-se no

programa os valores dos ângulos máximos e mínimos em que os

servomotores devem atuar. Lembrando que o ângulo de atuação

dos servomotores muda em cada eixo, e, que se deve atentar-se

para relação de engrenagens utilizada em cada eixo do braço

robótico conforme descrito no tópico 3.2.4. Da mesma maneira

se estabelece no programa valores de posição máximos e

mínimos para atuação de movimentos do esqueleto (mão do

usuário), dentro dos valores já apresentados no tópico 3.6.1.

Neste caso os valores de posição estabelecidos devem ser

alterados sempre que se inicia o programa, pois este valor muda

conforme característica física de cada usuário (altura) ou até

mesmo com a distância em que o usuário se posiciona diante do

dispositivo Kinect .

Page 87: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

87

Com os valores máximos e mínimos determinados,

utilizam-se os limites máximos (posição esqueleto e ângulo)

comparando-os com a posição momentânea de seus respectivos

sinais. Desta maneira se impõe que quando os dois valores

momentâneos forem maiores que os valores máximos

estabelecidos o eixo do braço robótico deve permanecer parado.

Caso um desses dois valores não atingir o máximo estabelecido,

o eixo do braço robótico continua realizando movimentos. Essa

mesma lógica foi estabelecida para os valores mínimos. O

fluxograma mostrado pela figura 51 apresenta a lógica utilizada

para assegurar o posicionamento máximo e mínimo dos eixos do

braço robótico.

Figura 51: Programação de segurança de posicionamento do braço robótico

[37].

Page 88: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

88

3.6.4 Painel frontal O painel frontal desse trabalho é utilizado para que o usuário visualize algumas informações que acontecem com o braço robótico durante sua operação. A figura 52 mostra as informações exibidas no painel frontal, onde:

1. Visualização do esqueleto captado pelo dispositivo Kinect em 3d.

2. Informações relacionadas ao eixo de rotação do braço robótico.

3. Informações relacionadas ao eixo de elevação do braço robótico.

4. Informações relacionadas ao movimento da garra do braço robótico.

5. Botão de parada da programação.

Figura 52: Painel frontal [37]

Os itens dois, três e quatro citados acima, mostram as informações referentes ao eixo de rotação, elevação e movimentos da garra do braço robótico, que são melhores esclarecidas abaixo.

Page 89: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

89

Na figura 53, temos as informações sobre o eixo de rotação do braço robótico. No item um é mostrado o ângulo de rotação em que o braço robótico se encontra. No item dois aparecem os leds que indicam as limitações do eixo de rotação do braço robótico. Quando acesso, indica que o eixo encontra-se em um dos limites estabelecidos pela programação, não podendo mais se mover para aquele sentido. O item três mostra os valores dos ganhos Ki e Kp programados nesse trabalho e também o item rotação, que é a posição da mão do usuário utilizada para estabelecer as limitações do braço robótico. O item quatro exibi as informações dos ângulos em (X, Y e Z) relacionadas a mão do usuário que controla o movimento do eixo de rotação do braço robótico.

Figura 53: Painel frontal informações de rotação [37].

As informações referentes ao eixo de elevação e movimentos da garra do braço robótico possuem as mesmas informações esclarecidas sobre o eixo de rotação descrito acima.

Page 90: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

90

Page 91: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

91

4. EPÍLOGO Neste capitulo serão apresentadas os resultados obtidos e os problemas encontrados separando-os em três partes: montagem do braço robótico, elaboração da programação e analise do conjunto (software e hardwares). Assim como as considerações finais e as oportunidades de melhorias desenvolvidas nesse trabalho de conclusão de curso. 4.1 Montagem do braço robótico Apesar de não ser o principal foco desse trabalho, os resultados obtidos no desenvolvimento e montagem do braço robótico foram satisfatórios. O kit Lego utilizado de ensaio nesse trabalho se apresentou como uma excelente ferramenta, o que proporcionou agilidade e facilidade na realização de montagens. Além disso, apresenta também uma grande variedade de peças e componentes que permite ótima flexibilidade de mudanças nas estruturas com grande facilidade e com um bom resultado final. Por se tratar de um de braço robótico de apenas três graus de liberdade, sua montagem não foi complexa. Porém apresentou um problema crônico no modelo montado quanto ao deslocamento dos eixos de rotação e elevação. Quando o braço robótico faz o movimento de rotação no sentido horário, o eixo de elevação realiza um movimento de descida, e quando faz o movimento de rotação no sentido anti-horário, o eixo de elevação realiza um movimento de subida. Isso ocorre devido à engrenagem de elevação ser do tipo cônica e toda estrutura de elevação encontrar-se ligada a base de rotação. Então quando ocorre o movimento de rotação, a engrenagem cônica ligada ao servomotor de elevação permanece inerte, enquanto que a engrenagem ligada ao eixo da estrutura de elevação realiza o movimento junto com a engrenagem de rotação. Isso proporciona um deslocamento involuntário dos dentes da engrenagem da estrutura de elevação. Por se tratar de um trabalho em que o braço robótico é utilizado apenas para executar movimentos de acordo com os comandos do usuário,

Page 92: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

92

este problema é praticamente imperceptível, já que o próprio usuário acaba corrigindo a altura do braço robótico. Mecanicamente não foi encontrada nenhuma alternativa que eliminasse esse defeito. 4.2 Elaboração da Programação A programação realizada nesse trabalho foi o maior desafio encontrado. A definição do tipo de linguagem de programação e software a ser utilizado foi de grande importância para o alcance do êxito. O kit kinesthesia, ferramenta do LabVIEW fornecida pela National Instruments, foi essencial para obtenção dos dados coletados pelo dispositivo kinect, facilitando muito o desenvolvimento dessa programação. Outro ponto essencial para realização desse trabalho, também é fornecido pela National Instruments, a versão do LabVIEW for Lego. Essa versão do LabVIEW permitiu total interação com o controlador NXT da Lego, e através dele conseguiu-se atingir os objetivos iniciais apresentados. Através da tela onde é apresentada o painel frontal, pode-se ter todas as informações necessárias fornecidas pelo programa como: o deslocamento nos ângulos dos eixos do braço robótico, as distancias e indicações das limitações do braço robótico entre outras informações. O diagrama de bloco apresenta toda programação realizada nesse trabalho, que é extenso, porém de fácil entendimento. Em relação a problemas encontrados nessa etapa do trabalho pode-se dizer que foram grandes os desafios, e, em dois desses ainda não se obteve respostas, pois se tratam de configurações do software. Um deles é que toda vez que se executa a programação desenvolvida, é necessário abrir primeiramente o programa kinesthesia, pois se não o dispositivo kinect não é reconhecido na programação. O outro desafio é que algumas VI’s só funcionavam nessa plataforma LabVIEW for Lego, se ás copiassem de um programa modelo e as transferissem para o programa realizado.

Page 93: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

93

Caso se utilizasse essas VI’s da paleta de funções o programa não funcionava. O ponto negativo dessa programação é que toda vez que se inicia o programa, o dispositivo kinect executa novas leituras de distancias nas coordenadas (X, Y e Z), isso provoca a necessidade de ajustes no programa sempre que é reinicializado. Mesmo que os usuários permaneçam na mesma posição (distancia) em relação ao dispositivo Kinect, existe uma pequena variação nas leituras de valores devido as caracteristicas físicas de cada usuário, por exemplo sua altura. 4.3 Análise do Conjunto (Software e Hardwares) Os resultados obtidos no funcionamento do conjunto software e hardwares, apresentados nesse trabalho são julgados pelos autores como satisfatórios. Porém três questões para o melhor funcionamento do conjunto foram levantadas e esclarecidas a seguir: Qual a distância recomendada para o controle do braço robótico entre o usuário e o dispositivo Kinect? Devido as característica do dispositivo utilizado para capturar movimentos nesse trabalho, recomenda-se que a distância entre o usuário e o dispositivo Kinect esteja entre 1 a 3 metros. Os autores notaram que a distância mais precisa para o controle desse braço robótico, o usuário deve permanecer a uma distância de 2 metros do dispositivo Kinect e o mesmo deve estar a uma altura de 0,92 metros (900mm) do solo. Porém o artigo do Professor Kourosh Khoshelham da Universidade de Twente (Enschede, Holanda) questiona a precisão e resolução dos dados de profundidade do kinect, segundo ele o dispositivo proporciona uma visão que influenciam a exatidão dos dados e provocam um erro aleatório na medição de profundidade que aumenta com o aumento da distância para o sensor, e varia de alguns milímetros até cerca de 4 cm na gama máxima do sensor o que e pode explicar alguns bugs que apresentam em nossa programação [48].

Page 94: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

94

Quanto à movimentação de pessoas ao redor, existe influencia para o controle do braço robótico? Sim, outra questão desse trabalho é que no campo de atuação do dispositivo Kinect no momento em que o usuário opera o braço robótico, não poderá haver movimentação de outras pessoas, pois o dispositivo captará todos os movimentos de esqueletos que estarão em seu campo de atuação e o sistema entrará em conflito, sendo assim o usuário principal perderá completamente o controle do braço robótico. Se houver o cruzamento das mãos do usuário, há interferencia sobre o controle do braço robótico? O usuário também deverá ter atenção na posição inicial das mãos no momento em que iniciar o controle do braço robótico. É importante que elas estejam separadas a uma distância aproximada de um metro, para que o controle do eixo de rotação não interfira no controle da garra, pois se as mãos se cruzarem o dispositivo perde a referência de um dos pontos o que provoca o descontrole no braço robótico. 4.4 Considerações finais Nesse trabalho de conclusão de curso foi desenvolvido o tema “Controle de braço robótico através da captura de movimento”. Nele estão relacionados pesquisas referente a robótica, captura de movimentos e software de programação. O contexto apresenta também o desenvolvimento de um braço robótico montado com peças Lego, assim como a programação realizada com a plataforma LabVIEW em conjunto com dispositivo Kinect, responsáveis por controlar o braço robótico.. Desta maneira, os autores consideram que o objetivo desse trabalho obteve êxito. E que todos os resultados atingidos, só foram possíveis pelos conhecimentos adquiridos nas unidades curriculares do curso de mecatrônica, as quais permitiram grande integração de diferentes áreas como mecânica, eletroeletrônica e automação. Vale apena deixar registrado que para realizar um

Page 95: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

95

projeto como esse são exigidas várias horas de dedicação, principalmente na parte de programação. Outra parte que exige bastante dedicação são as pesquisas, uma vez que não existem muita literatura sobre esses contextos. Esses motivos proporcionaram atrasos no cronograma planejado pelos autores. Entretanto esse trabalho poderá despertar uma grande oportunidade de buscar novos conhecimentos sobre essa técnologia, e motivar o IFSC a investir em desenvolvimentos com novos temas utilizando esse método de controle para diversas aplicações, integrando cada vez mais as unidades curriculares deste curso. 4.5 Oportunidades de melhoria O trabalho “Controle de braço robótico através da captura de movimento” aqui descrito é apenas uma pequena demonstração desse tipo de tecnologia. Existem várias possibilidades de se melhorar o desenvolvimento desse trabalho e aumentar o conhecimento de novos acadêmicos quanto ao uso dessa tecnologia. Aqui os autores citam algumas possibilidades de melhorias:

A. Utilizar um modelo de braço robótico com mais graus de liberdade. No mercado existem vários modelos didáticos disponíveis.

B. Utilizar outra tecnologia para fazer o controle do braço robótico que não seja o controlador NXT da Lego. Pode se citar o Arduino.

C. Utilizar outra tecnologia para fazer aquisição de dados de movimentos que não seja o dispositivo Kinect. Pode se citar as descritas nesse trabalho na parte de revisão bibliográfica e as novas maneiras que surgirem.

D. Utilizar outro software de programação. Utilizo-se a plataforma LabVIEW, porém, pode ser realizado em outras plataformas.

E. Fazer uso para outros fins, voltado mais para um uso real como o da fisioterapia por exemplo. Pois hoje já existem

Page 96: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

96

alguns lugares que utilizam o dispositivo Kinect para recuperação de movimentos em pacientes.

Essas oportunidades de melhorias podem ser utilizadas para a continuidade dos estudos sobre essa tecnologia, além de oferecer oportunidades de novos conhecimentos a novos acadêmicos.

Page 97: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

97

REFERENCIAS

1. FUNDAMENTOS DE ROBÓTICA E MECATRÔNICA (MEC001). Disponivel em: http://www.newtoncbraga.com.br/index.php/robotica/777-fundamentos-de-robotica-e-mecatronica-mec001.html. Acesso em 05/2015

2. PFIEFER, Evandro Cezar. Desenvolvimento de robô

protótipo para detecção e desarmamento de bombas em plataforma LEGO NXT. Disponível em http://fei.edu.br/~flaviot/LARC2008/TDP/50799.pdf. Acesso em 05/2015

3. ALYSSON, RAFAEL. ROBÓTICA. Disponivel em: www.natalnet.br/redmine/attachments/download/.../Aula_1-Robótica.ppt.

4. ESTUDO SOBRE INTELIGENCIA ARTIFICIAL. Disponivel em: http://www.citi.pt/educacao_final/trab_final_inteligencia_artificial/robotica.html. Acesso em 02/2015.

5. Oliveira, Jordy silva de. Robótica industrial - 2012. Disponivel em: <http://pt.slideshare.net/jordyoliveira1/trabalho-robtica-industrial>. Acesso em 02/2015.

6. AYRES, Marcelo. Conheça a história dos robos. Disponivel em:

http://tecnologia.uol.com.br/ultnot/2007/10/01/ult4213u150.jhtm. Acesso em 02/2015.

7. KLIPP, Telmo dos Santos. Proposta de uma arquitetura para alocação de tarefas em grupos de robôs móveis basead a em acordo bizantino – 2013. Disponivel em: <http://larm.ufsc.br/files/2013/04/TCC-Telmo-2013.pdf>. Acesso em 02/2015

Page 98: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

98

8. PEREIRA, Gabriela Quirino. O uso da robótica

educaional no ensino fundamental: relatos de um experimento – 2010. Disponivel em: <https://dcc.catalao.ufg.br/up/498/o/Gabriela2010.pdf>. Acesso em 02/2015.

9. ROSÁRIO, João Mauricio. Princípios de Mecatrônica. São Paulo: Pearson, 2005. 356 p. Disponivel em: <http://ufsc.bvirtual.com.br/editions/986-principios-de-mecatronica.dp>. Acesso em 02/2015.

10. SILVA, Marlon Hugo Rodrigues da. LETRADO, O ROBO DIDÁTICO. Disponivel em: http://pgene.ufabc.edu.br/conteudo/ensino/disciplinas/Robotica/FundamentosRobotica.html. Acesso em 02/2015.

11. LIZARRALDE apud em (AGUIRRE, 2007 P 349). Disponível em: http://www.pee.ufrj.br/teses/textocompleto/2011082201.pdf. Acesso em 04/2015

12. KICH, Guilherme de Mello. Projeto conceitual de um robô SCARA – 2012. Disponivel em <https://chasqueweb.ufrgs.br/~rafael.laranja/CCA99002/RELATORIO_FINAL2.pdf>. Acesso em 04/2015.

13. BRAZOS ROBOTICOS. Grupo de investigacion de robótica. Disponivel em: http://www.gruposrobotica.com/group/brazosroboticos. Acesso em 03/2015.

14. CLASSIFICAÇÃO DOS ROBÔS. Disponivel em: https://tegruposete7.wordpress.com/classificacao-dos-robos/. Acesso em 02/2015.

15. JR, Alvim. O Braço Mecanico. Disponivel em: sites.google.com/site/professoralvimjr/aulas/aaula1/foto1/o-braco-mecanico. Acesso em 04/2015.

Page 99: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

99

16. CORDEIRO, Alexandre C. ROBOS PARALELOS

INDUSTRIAIS. Disponivel em: https://prezi.com/s_rzuihig1e1/robos-paralelos. Acesso em 02/2015.

17. GOZZI, Juliano. Curso automação industrial. Aula 2 – Estrutura e características gerais dos robôs. Disponivel em <http://www.faatesp.edu.br/publicacoes/aula2.pdf>. Acesso em 02/2015.

18. BONI, Paulo. Mecânismos e máquinas: Graus de liberdade – 2013. Disponivel em http://www.joinville.ifsc.edu.br/~pauloboni/MECANISMOS/PDF%20-%20Aula%20II%20-%20Grau_de_Liberdade.pdf. Acesso em 04/2015.

19. HERMINI, Helder Anibal. Automação rigida e flexivel. Definições e aspectos construtivos - 2004. Disponivel em <http://www.fem.unicamp.br/~hermini/Robotica/aulas/NotasdaAula2.doc>. Acesso em 02/2015.

20. BOTARRO, Marcio. Instrumentação Virtual em laboratório. Introdução ao LabVIEW. Disponivel em:

http://www.iee.usp.br/destaques/Livro_LabVIEW1.pdf Acesso em 04/15.

21. MANUAL DE TREINAMENTO DO LABVIEW BASICO 1.

National Instruments Corporation - novembro de 2001. Disponivel em <https://fenix.tecnico.ulisboa.pt/downloadFile/3779573643293/LabView.pdf>. Acesso em 02/2015.

22. TUTORIAL. Disponivel em: http://www.esi2.us.es/~asun/LCPC06/TutorialLabview.pdf. Acesso em 06/04/2015.

23. CONCEITOS BÁSICOS DO AMBIENTE LABVIEW. Disponivel em: http://www.ni.com/getting-started/labview-

basics/pt/environment#frontPanel. Acesso em 03/2015.

Page 100: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

100

24. MAIA, Edgar Martins moura. Introdução ao LabVIEW -

2002. Disponivel em <http://www.lamce.eeec.ufg.br/informacao/introducao_labview.pdf>. Acesso em 04/2015.

25. LabVIEW USER MANUAL. National Instruments Corporation – janeiro de 1998. Disponivel em <http://www.ni.com/pdf/manuals/320999b.pdf>. Acesso em 03/2015.

26. HALVORSEN, Hans-Petter. Introduction to LabVIEW – 2014. Disponivel em <http://home.hit.no/~hansha/documents/labview/training/Introduction%20to%20LabVIEW/Introduction%20to%20LabVIEW.pdf>. Acesso em 04/2015.

27. BRUCKHEIMER, Alessandro Diogo. Detecção corporal 3D na reabilitação virtual – 2011. Disponivel em <http://www.pergamum.udesc.br/dados-bu/000000/000000000013/00001398.pdf>. Acesso em 02/2015.

28. Arruda, Giselle Sant’Iago. A captura de movimento como ferramenta de criação. http://www.med.nyu.edu/rehabengineering/research/locomotion.html. Acesso em 03/2015.

29. MOTION CAPTURE VIDEOS. Disponivel em: http://www.motion-capture-system.com/gallery.html. Acesso em 03/2015.

30. COMO FUNCIONA O NITENDO WII. Disponivel em:

http://www.tecmundo.com.br/video-game-e-

jogos/2504-como-funciona-o-nintendo-wii.htm. Acesso

em 03/2015.

31. QUEIROZ, Murilo. Um cientista explica o Microsoft kinect. Disponivel em: http://blog.vettalabs.com/index.html%3Fp=609. Acesso em 28/02/2015.

Page 101: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

101

32. DESENVOLVIMENTO PARA O MICROSOFT KINECT-

PARTE 1 INTRODUÇÃO. Disponivel em: https://arturbarth.wordpress.com/2013/10/09/desenvolvimento-com-o-microsoft-kinect-parte-1-introducao/. Acesso em 25/05/2015.

33. MICROSOFT KINECT – Casa do código. Disponivel em: http://www.casadocodigo.com.br/pages/sumario-kinect .Acesso em 25/02/2015.

34. CARDOSO, Gabriel Shade. MICROSOFT KINECT Criando aplicações interativas com o Microsoft Kinect. São Paulo: Casa do cádigo, 160 pág.

35. BOHRER, Márcio. Como funciona o kinect. Disponivel em: http://www.oficinadanet.com.br/post/11069-como-funciona-o-kinect. Acesso em 24/02/2015.

36. COMEÇANDO A USAR O SDK DO KINECT. Disponivel em: http://www.100loop.com/destaque/comeando-a-usar-o-sdk-do-kinect/. Acesso em 04/2015.

37. Autores

38. BUILDING INSTRUCTIONS-LEGO EDUCATION. Disponivel em: https://education.lego.com/fr-fr/lesi/support/product-support/mindstorms-education-nxt/nxt-resource-set-9695/building-instructions. Acesso em 08/2014.

39. COMO DETERMINAR A RELAÇÃO DE TRANSMISSÃO DE ENGRENAGENS. Disponivel em:http://pt.wikihow.com/Determinar-a-Rela%C3%A7%C3%A3o-de-Transmiss%C3%A3o-de-Engrenagens. Acesse em 03/2015.

40. SOUZA, Kleber Marcio de. Identificação e controle unidirecional em robos moveis utilizando kit robotica lego midstorms -2014. Disponivel em

Page 102: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

102

<http://www.uel.br/pos/meel/disserta/2014_KLEBER_MARCIO_SOUZA.pdf>. Acesso em 02/2015.

41. ESTUDO, SIMULAÇÃO E CONSTRUÇÃO DE ESTRUTURAS. Disponivel em: http://www.ebah.com.br/content/ABAAAfu4sAL/estudo-simulacao-construcao-estruturas-roboticas-utilizando-se-lego-mindstorms-8527-nxt?part=3. Acesso em 02/2015.

42. ADAPTANDO E DESENVOLVIMENTO JOGOS PARA USO. Disponivel em: http://www.sbgames.org/sbgames2011/proceedings/sbgames/papers/tut/1-kinect_FAAST%20_Final_MesmoComColunas.pdf. Acesso em 26/02/2015.

43. VITÓRIA RECORDE PARA ESTUDANTES DE ENGENHARIA MECÂNICA. http://translate.google.com.br/translate?hl=pt-BR&sl=en&u=http://www.engineering.leeds.ac.uk/faculty/news/2012/success-for-students-at-global-level.shtml&prev=search. Acesso em 02/2015.

44. JORDAN, Gustavo. Desenvolvimento livre do Kinect. Disponivel em: http://www.openclipart.org/people/harmonic/Vitruvian_Man.svg. Acesso em 02/2015.

45. LabVIEW LEGO MINDSTORMS NXT Module Help. National Instrument – 2013.

46. TUTORIAL. Para loops e while loops. Disponivel em: http://www.ni.com/white-paper/7588/en/. Acesso em 05/2015.

47. CONTROLE PID BÁSICO-UFSC. Disponivel em: http://user.das.ufsc.br/~aarc/ensino/posgraduacao/DAS6613/PID_Novus.pdf. Acesso em 05/2015

Page 103: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

103

48. HOW ACCURATE IS THE KINECT? Disponivel em:

http://www.vision-systems.com/articles/2012/06/how-accurate-is-the-kinect.html . Acesso em 03/2015.

Page 104: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

104

Page 105: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

105

ANEXO A – Diagrama de blocos do programa de controle de um braço robótico.

Page 106: INSTITUTO FEDERAL DE EDUCAÇÃO ... - joinville.ifsc.edu.brjoinville.ifsc.edu.br/~bibliotecajoi/arquivos/tcc/mecind/157099.pdf · instituto federal de educaÇÃo, ciÊncia e tecnologia

106