Baixe o app para aproveitar ainda mais
Prévia do material em texto
FACULDADE ESTÁCIO DE CURITIBA TRABALHO DE CONCLUSÃO DE CURSO CURSO DE ENGENHARIA ELÉTRICA CHRISTOFER DOS REIS KLEM WESLEY CESAR PORTUGAL DE MATOS BRAÇO ROBÓTICO COM VISÃO COMPUTACIONAL CURITIBA 2018 CHRISTOFER DOS REIS KLEM WESLEY CESAR PORTUGAL DE MATOS BRAÇO ROBÓTICO COM VISÃO COMPUTACIONAL Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do grau de Bacharel no curso de Engenharia Elétrica da Faculdade Estácio de Curitiba. Orientador: Professor Me Carlos André Barbosa de Almeida CURITIBA 2018 DEDICATÓRIA Dedico a minha família pelo apoio, minha futura noiva que está desde o início me incentivando para nunca desistir, pois o sacrifício de noites sem dormir, enfrentar o isolamento social para se dedicar somente os estudos e ao trabalho, e também sempre ter uma companheira que possa nos incentivar, apoiar e jamais desistir. Christofer dos Reis Klem Dedico esse trabalho e todo os meus esforços ao meu filho Thiago Laine de Matos, que é a maior motivação para meu retorno aos estudos, para que eu possa dar a ele uma condição melhor de estudos. Wesley Cesar Portugal de Matos AGRADECIMENTO Agradeço a Deus pelo apoio que vem me concedendo para concluir minha graduação de engenharia elétrica, na qual iniciei em 2014. No início, a caminhada é animada, divertida e tudo vai ocorrendo conforme planejado na metade dos 5 anos de faculdade, começam as dificuldades, alguns ficam pelo caminho, é nessa hora que o desespero começa a aparecer, e graça a professores competentes que nos dão uma injeção de ânimo, colegas que são nossos psicólogos que nos motivam e ajudam para assim juntos chegar ao sucesso. Christofer Dos Reis Klem Agradeço primeiramente a Deus, pela saúde que tem me dado, pelos meus familiares que sempre tem palavras de incentivo, pelos professores que tem motivado a continuar sempre em frente, pelos colegas de turma que juntos estudando para passar cada etapa em adquirir novos conhecimentos, pela orientadora do curso e pelos funcionários da instituição. Wesley Cesar Portugal de Matos EPÍGRAFE “ A mente que se abre a uma nova ideia jamais voltará ao seu tamanho original. A imaginação é mais importante que o conhecimento. Procure ser uma pessoa de valor, em vez de procurar ser uma pessoa de sucesso. O sucesso é consequência. ” [Albert Einstein] “ Não seja sábio aos seus próprios olhos; tema o Senhor e evite o mal. ” [Bíblia Sagrada: Provérbios 3.7] RESUMO A utilização da robótica aplicada, nas mais diversas áreas de aplicação requer o desenvolvimento de recursos que permitam automatizar o processo de localização de objetos dentro da área de trabalho ou célula do robô. Neste trabalho desenvolveu-se um braço robótico com 5 graus de liberdade, dotado de recursos de visão computacional através de uma câmera de rede IP, que analisa a imagem da área de trabalho e classifica os objetos previamente cadastrados pelo seu formato, localizando seu posicionamento e assim reposicionando-o conforme programa pré-estabelecido. A aplicação desenvolvida emprega OpenCV como plataforma e rotinas em Python sobre Linux, rodando em uma placa de desenvolvimento Raspberry Pi B3, que controla o hardware do braço robótico empregando a matemática envolvida na cinemática inversa para calcular os ângulos entre os links e posicionar o manipulador desenvolvendo uma trajetória elíptica sem alcançar os limites de singularidade do braço. Palavras-chave: Robótica. Raspberry. OpenCV. Python. ABSTRACT The use of applied robotics in the most diverse areas of application requires the development of resources that allow to automate the process of finding objects within the work area or cell of the robot. In this work a robotic arm with 5 degrees of freedom was developed, equipped with computer vision resources through an IP network camera, which analyzes the image of the work area and classifies the objects previously registered by its format, locating its positioning and thus repositioning it according to the pre-established program. The developed application employs OpenCV as a platform and routines in Python on Linux, running on a Raspberry Pi B3 development board, which controls the hardware of the robotic arm employing the mathematics involved in inverse kinematics to calculate the angles between the links and position the manipulator developing an elliptical trajectory without reaching the limits of the singularity of the arm. Keywords: Robotics. Raspberry. OpenCV. Python. LISTA DE FIGURAS Figura 1 – Figura Adaptada. Fragmentação de fornecedores na indústria de robótica industrial 17 Figura 2 - Algumas Aplicações Industriais Antropomórficas 20 Figura 3 - Classificação de Máquinas 21 Figura 4 - Juntas e Elos (Joints and Links) 23 Figura 5 - Exemplo de Junta Deslizante, Junta Rotacional e Junta Esférica. 24 Figura 6 - O Robô Puma 560 24 Figura 7 - Braço de Stanford 25 Figura 8 - Diferentes Garras 26 Figura 9 - Parâmetros de Ligação de DH 30 Figura 10 - Mecanismo de Ângulos 31 Figura 11 - Relação entre as Cinemáticas 31 Figura 12 - Triângulo Retângulo 32 Figura 13 - Lei dos Senos 33 Figura 14 - Lei dos Cossenos 33 Figura 15 - FIGURA ADPATADA Manipulador 3 Eixos 37 Figura 16 - Regra da Mão Direita 39 Figura 17 - Projeção de uma Imagem 41 Figura 18 - Imagens Digitais 42 Figura 19 – Pixel 42 Figura 20 - Resoluções de Vídeos 43 Figura 21 - O Sistema Mecatrônico 44 Figura 22 - Raspberry Pi 3 Modelo B 48 Figura 23 - Arduino Mega 2560 49 Figura 24 - Protocolo de Comunicação I2C 50 Figura 25 - Comunicação Com Outros Dispositivos I2C 50 Figura 26 - Servomotor RDS3135MG alto torque 51 Figura 27 - Dimensões servo motor 51 Figura 28 - Fonte de Alimentação Chaveada - Output 7,5V 52 Figura 29 - Articulações Braço Robótico 53 Figura 30 - Garra Braço Robótico de Alumínio 54 Figura 31 - Camera IMS0 Series Sarix Mini Indoor Fixed Dome 54 Figura 32 – Midspan 55 Figura 33 - Exemplo de Linguagem Python 56 Figura 34 - Fluxo do Sistema 58 Figura 35 - Foto do Braço Robótico 59 Figura 36 - Perspectiva do Braço Robótico 59 Figura 37 - Vista Lateral Identificando as Juntas 60 Figura 38 - Elos do Braço Robótico 60 Figura 39 - Vista em Perspectiva do Elo 0 (zero) 61 Figura 40 - Planta do Elo 0 (zero) 61 Figura 41 - Vista lateral do Elo 0 (zero) 61 Figura 42 - Vista em perspectiva do Elo 1 (um) 62 Figura 43 - Planta do Elo 1 (um) 62 Figura 44 - Vista lateral do Elo 1 (Um) 62 Figura 45 - Vista em perspectiva do Elo 2 (Dois) 63 Figura 46 - Planta do Elo 2 (dois) 63 Figura 47 - Vista lateral do Elo 2 (dois) 63 Figura 48 - Vista em perspectiva do pulso 64 Figura 49 - Planta do Pulso 64 Figura 50 - Vista Lateral do Pulso 64 Figura 51 - Vista em perspectiva da garra 65 Figura 52 - Planta da garra 65 Figura 53 - Vista Lateral da garra 65 Figura 54 - Servos Ligados nos Elos 66 Figura 55 - Planta da Base 66 Figura 56 – Esquema de Ligações dos Hardwares 67 Figura 57 - Rasberry Pi 3 Model B+ 67 Figura 58 - Arduino Mega 2560 68 Figura 59 - Ligação Raspberry com Arduino usando I2C 68 Figura 60 - Ligação I2C em placa impressa – Vista superior 69 Figura 61 - Ligação I2C em placa impressa - Vista inferior 69 Figura 62 – Matrizes de Controle no Arduino 72 Figura 63 - Esquema de Ligação para Alimentação dos Servos 73 Figura 64 - Foto da placa de alimentação dos servos – vista superior 73 Figura 65 - Foto da placa de alimentação dos servos - vista inferior 74 Figura 66 - Esquema de ligação da câmera no Raspberry 74 Figura 67 - Configuração da Câmera Pelco 75 Figura 68 - Imagem da Câmera 75 Figura 69 - Definição dos Planos para cada Junta 76 Figura 70 - Determinado Angulo da Junta 0 (zero) 80 Figura 71 - Fluxo do Software 86 Figura 72 – Singularidade Junta2 (dois) 87 Figura 73 – Singularidade Junta 3 (três) 87 Figura 74 – Tela do Raspberry Durante a Execução 88 Figura 75 - Braço Robótico manipulando um objeto 88 LISTA DE TABELAS Tabela 1 - Parâmetros de DH 34 Tabela 2 - Estrutura PID 45 Tabela 3 – Dados Modelo de DH para Cinemática Direta 76 Tabela 4 – Matriz Modelo DH para cada Junta 76 Tabela 5 - Matriz Modelo DH para cada Junta Calculados 78 LISTA DE EQUAÇÕES Equação 1 - Teorema Pitágoras 32 Equação 2 – Relação Lei dos senos 33 Equação 3 - Relação Lei dos Cossenos 34 Equação 4 - Forma Funcional Direta 34 Equação 5 - Associação de Articulações dos Membros 35 Equação 6 - Representação de DH 35 Equação 7 - Matriz de Representação de DH 35 Equação 8 – Forma Funcional Inversa 36 Equação 9 - Relação de Girard 37 Equação 10 – Fórmula de Bhaskara 38 Equação 11 - 2ª Lei de Newton 39 Equação 12 - Duty Cycle (Ciclo de Trabalho) 45 Equação 13 - Fórmula para q0 (zero) 79 LISTA DE GRÁFICOS Gráfico 1 - Fabricantes de Robôs Industriais 14 Gráfico 2 – Robôs industrias: instalação anual global e crescimento anual do estoque global estimado -1993-2015 19 Gráfico 3 - Ação de Controle Proporcional 46 Gráfico 4 - Ação de Controle Integral 46 Gráfico 5 - Ação de Controle Derivativo 47 Gráfico 6 - Cinemática Direta - Plano da junta 0(zero) ZY 79 Gráfico 7 - Definição Angulo Inicial da Garra 81 Gráfico 8 - Determinado Coordenadas da Junta 3 83 Gráfico 9 - Determinado q1, q2 e q3 84 Gráfico 10 – Resultado dos ângulos do Braço Robótico 85 LISTA DE SIGLAS ART Artigo GL Grau de Liberdade U Medida de Tensão I Medida de Corrente Elétrica R Medida de Resistência Elétrica A Ampère Ω Ohms V Volts α Alfa θ Teta β Beta ϕ Fi Ω Ômega π Pi γ Gama BR Brasil SP São Paulo CNC Controle Numérico Computadorizado MIG Metal Inert Gás (Gás Inerte de Metal) MAG Metal Active Gás (Gás Ativo De Metal) TIG Tungsten Inert Gás (Gás Inerte de Tungstênio) SMAW Shielded Metal Arc Welding (Soldadura de Arco de Metal Blindado) MMA Manual Metal Arc (Arco de Metal Manual) EUA Estados Unidos da América ISO International Organization for Standardization (Organização Internacional para Padronização) JIRA japanese Industrial Robot Association (Associação Japonesa Robôs Industriais) RIA Robotics Institute of America (Instituto de Robótica da América) PID Proporcional, Integral e Derivativo CCD Charge Coupled Device (Dispositivo acoplado de carga) CMOS Complementary Metal Oxide Semiconductor (Semicondutor complementar de óxido metálico) HD High Definition (Alta Definição) PWM Pulse Width Modulation (Modulação por Largura de Pulso) GDL Graus de Liberdades DH Denavit e Hartenberg 3D Espaço de 3 Dimensões (x,y e z) 2D Espaço de 2 Dimensões (x,y) SD Secure Digital (Digital Seguro) USB Universal Serial Bus (Barramento Serial Universal) HDMI High Definition Multimedia Interface (Interface Multimídia de Alta Resolução) BSD Berkeley Software Distribution (Distribuição de Software de Berkeley) IP Internet Protocol (Protocolo da Internet) I2C Integrated Circuit (Circuito Integrado) GND Ground (Terra) Vcc Voltage Current Continuo (Tensão Corrente Continua) RPI Raspberry Pi SUMÁRIO 1 INTRODUÇÃO 12 1.1 RESUMO HISTÓRICO 12 1.2 CLASSIFICAÇÃO DE ROBÔS 13 1.3 OBJETIVOS 15 1.3.1 Objetivo Geral 15 1.3.2 Objetivos Específicos 15 1.4 JUSTIFICATIVA 15 2 FUNDAMENTAÇÃO TEÓRICA 17 2.1 FABRICAÇÃO DE UM ROBÔ 17 2.2 AUTOMAÇÃO E ROBÔS 19 2.2.1 Definição de Robôs 22 2.3 BRAÇO ROBÓTICO 23 2.3.1 Estrutura 23 2.3.2 End-effector (Finalizador ou Efetuadores) 25 2.3.3 Atuadores e Controladores 27 2.3.4 Sensores 28 2.3.5 Graus de Liberdade 29 2.4 CADEIAS CINEMÁTICAS 30 2.4.1 Trigonometria 32 2.4.2 Cinemática Direta 34 2.4.3 Cinemática Inversa 36 2.4.4 Trajetória 38 2.4.5 Singularidades 40 2.5 VISÃO COMPUTACIONAL 40 2.5.1 Imagens e Vídeos 41 2.6 TECNOLOGIAS 44 2.6.1 Mecatrônica 44 2.6.2 PWM - Pulse Width Modulation 45 2.6.3 Controle PID 45 3 MATERIAS E MÉTODOS 48 3.1 HARDWARE 48 3.1.1 Sistema Computacional 48 3.1.2 Servosmotores 50 3.1.3 Fontes de Alimentação 52 3.1.4 Articulações de Acrílico e Alumínio para o Braço Robótico 53 3.1.5 Câmera 54 3.2 SOFTWARE 55 3.2.1 Raspbian OS 55 3.2.2 Linguagem Python 56 3.2.3 Linguagem C++ 56 3.2.4 OpenCV 57 4 DESENVOLVIMENTO 58 4.1 CONCEITOS 58 4.2 PARTES MECÂNICA 59 4.2.1 Braço Robótico 59 4.2.2 Juntas do Braço Robótico 60 4.2.3 Elos do Braço Robótico 60 4.2.4 Elo 0 (Zero) 61 4.2.5 Elo 1 (um) 62 4.2.6 Elo 2 (Dois) 63 4.2.7 Pulso 64 4.2.8 Garra 65 4.2.9 Servos 66 4.2.10 Base 66 4.3 HARDWARE E SOFTWARE 67 4.3.1 Ligações 67 4.3.2 Raspberry Pi 3 Model B+ 67 4.3.3 Arduino Mega 2560 68 4.3.4 Ligação Raspberry com Arduino Mega 2560 68 4.3.5 Lógica no Arduino. 72 4.3.6 Ligação dos Servos com o Arduino e a fonte Alimentação. 73 4.3.7 Ligação Câmera de Vídeo 74 4.3.8 Definição das Funções e Cálculos 76 4.3.9 Códigos 86 4.3.10 Fluxo do Software 86 4.3.11 Singularidades 86 4.3.12 Resultados 88 5 CONCLUSÃO 89 6 REFERÊNCIAS 90 7 APÊNDICE 1 92 8 APÊNDICE 2 96 9 APÊNDICE 3 103 INTRODUÇÃO O desenvolvimento da sociedade envolve a necessidade de atividades que sejam realizadas com perfeição em pouco tempo, mais sabemos que a pressa é inimiga da perfeição, mais não para robótica. A robótica é um ramo que procura desenvolver aparelhos e dispositivos eletrônicos, para agilizar e aperfeiçoar atividades que possam ser realizadas por humanos. Denominados ao longo do tempo por “Robô” esses dispositivos podendo ser encontrados de várias formas e modelos, com articuladores ou sem, com programações definitivas ou pré-definidas, utilizando formas e aparência humana. (ANGELES, 2007) Os robôs foram criados no intuído de ajudar, mas aos poucos estão tomando conta do mercado industrial. Em geral, são máquinas ou dispositivos que podem ser controlados automaticamente através de inteligência artificial ou controle remoto e botões, assim aplicando o conhecimento de automação. Para se fabricar um robô é necessário domínio de algumas técnicas e ramos da ciência como matemática, física e economia. Além disso, áreas da engenharia estão presentes neste processo como a mecânica, eletrônica, automação, controle de sistemas, energia e outros, destinados principalmente ao desenvolvimento da robótica em geral. Os robôs estão se fazendo mais presentes no nosso dia a dia contribuindo principalmente com os avanços tecnológicos na área computacional e comunicações, podendo ser utilizados em situações de trabalhos que prejudicam o ser humano, sendo um exemplo situações que causam riscos à saúde. Com base nisso, também podemos citar a redução de custo, sendo a substituição de vários colaboradores por apenas um sistema robótico. (BRAZ, 2007) RESUMO HISTÓRICO A palavra robô originou-se de Robótica Tcheca (Czech robota), que significa “servidão, trabalho forçado”. Considerado pela mídia, em 1923, como máquinas semelhantes aos humanos. Desde aproximadamente III a.C, existem máquinas que fazem atividades repetidas por um período longo de tempo. Na idade média, existem relatos de máquinas que realizam as mesmas atividades já mencionadas, mais próximo por volta do século XVIII bonecos controlados por cabos e outros meios mecânicos, eram utilizados em peças teatrais e musicais. Já no século XX, os robôs estão presentes na ficção, iniciando seus trabalhos industriais no ano de 1960, com as primeiras aplicações de George Devol, considerado por muitos como “Pai da Robótica”. (KURFESS, 2005) Além deste breve histórico, podemos citar cientista como Ctesibius (pai da pneumática), Al-Jazari, Leonardo Da Vinci, Pierre, Henri-Louise e Jacquet-Droz entre outros que deram início aos primeiros estudos relacionados ao robô, fora da ficção. Aproximadamente em 1960, Joseph Engelberger e Devol criam a primeira indústria na fabricação de robôs paracomercio, chamada Unimation. Tendo como seu primeiro cliente a empresa GM (General Motors), instalando seu primeiro robô em uma linha de produção. Após 1960, iniciou-se a automatização de sistemas industriais e começou a se reduzir as tarefas repetitivas feitas por operadores, reduzindo a crise de acidentes e afastamentos por lesões. Não somente na indústria, os sistemas robóticos começaram a ser usados na medicina, na exploração espacial chegando em lugares onde humanos já mais possa estar. (DUMBÁ, 2016) CLASSIFICAÇÃO DE ROBÔS Na indústria, existem vários tipos de robôs para auxiliar no processo fabril tendo uma classificação a seguir: Robôs executores – repetição de uma sequência de ações pré-gravadas. Robôs controlados por sensores – são comandados de forma que haja uma resposta de sensores, um feedback. Robôs controlados por visão – um sistema que haja um reconhecimento visual para seu funcionamento. Robôs com controle adaptativo – seu funcionamento é baseado em seus próprios sensores. Robôs com inteligência artificiais – usam técnicas de inteligência humana para resolver os problemas que são apresentados. Um robô pôde-se considerar um como um sistema autônomo existente em um mundo físico, que através de sensores pode sentir e agir sobre o ambiente, interagindo de forma a mover-se e finalidade de objetivos destinados por humanos. (MATARÍC, 2014) Conforme a tecnologia se desenvolve, a um crescimento exponencial em relação a automatização de serviços, utilizando robôs ou sistemas controlados principalmente para tarefas que trazem grandes ricos, lugares inabitáveis, substituição de membros articulados do corpo humano. Com a evolução da robótica nos últimos anos e com o crescimento de novas tecnologias e a necessidade de automatizar cada vez mais as atividades do homem tanto nas indústrias como no dia a dia, sendo real que a maioria das atividades serão exercidas por robôs grandes empresas tem investido grandes valores de conhecimentos e financeiros para acompanhar a evolução humana nessa área. (BOUCHARD, 2009) Gráfico 1 - Fabricantes de Robôs Industriais Fonte: (SERVNEWS ROBÓTICA E AUTOMAÇÃO, 2015) OBJETIVOS Objetivo Geral O projeto tem como objetivo construir um braço robótico que possa manipular objetos, com auxílio de um sistema computacional que processa imagens de vídeo e localiza o objeto no espaço através de coordenadas cartesianas. Objetivos Específicos Construir um braço robótico com seis eixos de liberdade incluído a garra em uma extremidade. Controlar o braço através de um computador Raspberry Pi com sistema operacional Linux Identificar um objeto previamente cadastro no sistema computacional através de uma câmera. Passar para um sistema computacional as coordenadas do objeto identificado. Manipular um braço robótico para que o mesmo possa pegar um objeto em qualquer posição de seu alcance e transporte esse objeto para uma posição determinada pelo sistema. JUSTIFICATIVA Hoje, os seres humanos estão sendo trocados por máquinas? Podemos se dizer que sim, porem qualquer dispositivo robótico tem que obedecer às leis básicas em seu funcionamento, não podendo assim tomar decisões próprias, se não forem programadas por um operador humano, resumidamente sejam programados que em nenhuma hipótese ofereçam riscos a sociedade como possivelmente vemos no filme “Eu, Robô”, baseado do livro Isaac Asimov, apresentando uma história que enfatiza as três leis da robótica. Em todos os casos os profissionais destinados ao desenvolvimento de robôs, obedecem: - A primeira lei diz que um robô não é autorizado ferir um ser humano, ou permitir que o ser humano possa se machucar. - A segunda lei diz que um robô deve ser obediente às ordens dadas pelo homem, exceto se a ordem for destinada a considerar a primeira lei. - A terceira lei diz que um robô deve proteger sua própria existência, desde que isso não entre conflito com a primeira ou segunda lei. (BRAZ, 2007) FUNDAMENTAÇÃO TEÓRICA FABRICAÇÃO DE UM ROBÔ Para se construir um robô, primeiramente define quais atividades deseja que ele execute, depois define a mecânica dele para que possa executar as atividades com agilidade e precisão, também uma interface para comunicação e operação com usuários. Figura 1 – Figura Adaptada. Fragmentação de fornecedores na indústria de robótica industrial Fonte: (ROBÔ INDUSTRIAL FANUC, 2016) Ao se referir a integração de uma célula robótica, análise a produção básica de uma determinada fábrica, que possui uma entrada definida, a seguir a execução de um operador qualquer e saída do produto final. Já com um sistema robótico, podendo ser uma célula robótica simples ou um conjugado de robôs, podendo conter inúmeros trabalhando na fabricação de um carro substituindo três vezes mais operadores. Objetivo final de todo o trabalho de se montar um sistema de implantação da robótica é fazer com que robô facilite e agregue valor na fase de operação de sua indústria. Por isso é importante incluir e observar se realmente ele irá auxiliar no desenvolvimento da sua indústria. Para um projeto robótico o custo acaba sendo elevado, tendo em vista que o retorno previsto do investimento será a longo prazo, não justificando o custo de automatização de uma tarefa manual, se tornando inviável para empresa implantar sistema de células robóticas, por mais que facilite seu processo e maximize sua produção. O custo hoje de um robô é variável, se tornando mais barato com desenvolver da tecnologia, sendo exemplo um robô industrial usado fabricado pela Fanuc, modelo S420-iw e painel remoto tipo R-J2 com seis graus de liberdade e capacidade de movimentação de 155 kg, fabricado em abril de 1997, bastante utilizado para movimentação de peças e para soldas ponto de materiais. (ROBÔ INDUSTRIAL FANUC, 2016) Ao contrário dos computadores, os robôs precisam ser adaptados ao mundo real, não apenas para processar informações digitais, feito através de bits (zero e um) com padronização de hardware, software e protocolos de comunicação, fato que o sistema real ao seu redor não pode ser padronizado, trazendo dificuldades em sua fabricação e adaptação, mesmo sendo hoje bons em receber instruções e uma programação logica de funcionamento. Um exemplo é a soldagem de um veículo em uma produção de carro, onde temos que alcançar a mistura certa de posicionamento da peça, parâmetros de soldagem e o movimento do robô podendo levar horas para se ajustar. A robótica está presente nos dias de hoje em todos os lugares, tendo um grande salto de 10 anos para os dias atuais. A grandes expectativas e um certo temor por parte da maioria dos humanos em ser trocados por máquinas, porém com a implantação de robôs automatizando industriais ainda serão necessários para o trabalho de manutenção e adaptação para ainda ter um produto final com qualidade. Gráfico 2 – Robôs industrias: instalação anual global e crescimento anual do estoque global estimado -1993-2015 Fonte: (GGN, 2018) Não sabemos exatamente como vai ser futuramente, o melhor que devemos fazer é focar em estudar como desenvolver e operar, certificando que essas máquinas que foram criadas para auxiliar na realização de tarefas do cotidiano, sejam bem elaboradas e nos atendendo de forma satisfatória, cuidados com risco e acidentes que eventualmente possa ocorrer. (SANTOS V. M., 2003) AUTOMAÇÃO E ROBÔS É uma tecnologia que faz uso de engenharia mecânica, elétrica e eletrônicos, processos de produção, para efetuar o controle e execução de sistemas de produção e serviços. Tendo como exemplos linhas de montagem automotiva de sistemas mecânicos articulados denominados como robôs. Existindo três formas de automação industrial: automação fixa, flexível e programável. Na automação fixa as máquinas são projetadas especificamente para produzir um único produto, assim pode-se produzir em grande escala, desenvolvida e tendo um custo alto da automação destes tipos de máquinas. Encontrado estestipos de automação para fabricação de um único produto como por exemplos a fabricação de lâmpadas, papel, garrafa. Na Automação flexível o volume de produção é médio e geralmente a máquina pode ter outro tio de programação, criando a oportunidade de desenvolve outros produtos, sendo eles semelhantes. É empregada na indústria automotiva, linha de montagem de um carro, sendo que o modelo deste pode ser variável. Na automação programável o volume de produção é baixo, mais a variedades de produtos pode ser diferenciada. Tem possibilidade de autoprogramação, se adaptando de acordo com produto desejado, conhecida como máquinas CNC e os robôs industriais. (BRAZ, 2007) De todos os processos de automação e controle, a robótica está presente na forma programável, onde se adapta a diversos tipos de situação. Sendo produzidos com diferentes tipos de programação, muitos se assemelham a características humanas, denominados de antropomórficas, destinados a substituir a atividades humanas como carregamento e descarregamentos de material, pintura ou jateamento, soldagem de ponto a ponto visto em indústria automotiva. Figura 2 - Algumas Aplicações Industriais Antropomórficas Fonte: (SANTOS V. M., 2003) É possível estabelecer diferentes classificações de máquinas, diferenciando o tipo de energia empregada, sendo elétrica, vapor, manual entre outras. Dividindo em máquinas programáveis ou não programáveis, dando autonomia de trabalhar automaticamente ou não. Neste pondo, temos condições de definir o que seria um robô como uma máquina automática programável ou maquina automatizada. Podem classificar–se de diversas maneiras os tipos de robôs, através de sua diferente utilidade. A primeira classe são os robôs manipuladores, já demostrado anteriormente (Figura 2), são exemplos de robôs manipuladores os braços mecânicos tendo por finalidade deslocar objeto de um ponto a outro ponto do espaço e seguindo sua trajetória dentro de uma área de trabalho. A segunda classe é denominada de robôs exploradores, ou que têm como objetivo principal explorar um ambiente, podendo não ser uma superfície plana, mas também pode ser uma área no espaço ou inclusive um material fixo, e através de sensores determinar as características físicas deste material ou espaço ambiente. Um exemplo é o robô enviado ao Espaço lunar para observar e monitoramento da superfície do planeta terra. A terceira classe considerada, é a das máquinas ferramentas, ou máquinas robóticas tendo por objetivo executar uma matéria prima. Exemplos são os robôs de solda MIG/MAG, TIG, SMAW e até MMA, onde eles precisam de programa para seus movimentos de solda para continuar os contornos das peças, a furadeira é outro exemplo, nos quais o programa configura as coordenadas e tamanho do furo a ser realizado, entre outras máquinas automáticas de uso frequente na indústria. Figura 3 - Classificação de Máquinas Fonte: (PAZOS, 2000) Por fim, serão considerados outros tipos de robôs, um exemplo disso é um controlador de temperatura, que tem por finalidade manter a temperatura de um sistema ou ambiente em determinado nível, perante uma informação previamente demostrado ao controlador. Considerado um robô mesmo que não interaja com ambiente externo, observando que necessariamente não precisa o robô ter meios articuladores, apenas processar e executar a informação automaticamente. (SANTOS V. M., 2003) Definição de Robôs Com a construção de robôs não foi adotado uma definição própria, tendo vários tipos entre as quais mais importantes e mais utilizadas as associações e definições de robôs. Segundo a ISO 8373:1994, um robô industrial é definido como um manipulador programável em três ou mais eixos e automatizado, ou seja, controlado automaticamente, reprogramável com multifuncionalidades. Para a JIRA, um robô é um dispositivo contendo vários graus de liberdade podendo ser controlado. Conforme o RIA, um robô pode ser definido como um manipulador reprogramável e multifuncional, projetado para mover-se e movimentar materiais, peças, ferramentas e dispositivos, capaz de desempenhar grandes formas de tarefas através de movimentos articulados e programados. De acordo com a JIRA, podemos classificar os robôs conforme o nível de informação do controlador e seus movimentos. Robôs manipuladores, mais utilizados na indústria sendo máquinas com vários graus de liberdade podendo ser operados por pessoas. Robôs de sequência fixa são dispositivos que desempenham sucessivas tarefas de acordo com uma programação predeterminada e automatizada. Robôs de sequência variável são dispositivos manipuladores que desempenham tarefas sucessivas que podem ser modificadas facilmente. Robôs repetitivos são dispositivos que permitem ao operador guiar o robô na execução de uma tarefa fixa. Robôs de controle numérico são dispositivos cujo operador fornece o programa de movimento, ao invés de ensiná-lo manualmente; Robôs inteligentes são dispositivos que percebem e interagem com alterações do ambiente. Também podem ser classificados por geração, cronologicamente como já descrito a cima nas CLASSIFICAÇÃO DE ROBÔS. (SANTOS V. M., 2003) BRAÇO ROBÓTICO Estrutura O braço robótico normalmente é composto por partes que são denominadas de braço e pulso. São ligados por Juntas e Elos (joints and links), capaz de se mover em diversos ângulos, através de servo motores acoplados para controlar esses movimentos. Figura 4 - Juntas e Elos (Joints and Links) Fonte: (CORKE, 2011) Elos são blocos alongados e rígidos que são acoplados uns aos outros pelas juntas, eles são normalmente ligados em série e variam sua posição relativa, estas classificações encontra-se em dois grandes modelos as rotacionais ou rotativas e as deslizantes. Figura 5 - Exemplo de Junta Deslizante, Junta Rotacional e Junta Esférica. Fonte: (SANTOS V. M., 2003) Nas deslizantes os elos têm movimento linear, são feitas de vínculos alinhados um á outro, em que um vínculo desliza pelo outro, criando o movimento linear. Já nas rotacionais, a interação permite movimentos de rotação entre juntas que se complementam por articulação, podendo mover-se facilmente em relação a outro vínculo. Tem um terceiro modelo, chamado de junta esférica que possui uma combinação de juntas rotacionais com o mesmo ponto de interligação. (DUMBÁ, 2016) O Robô Puma 560 (Figura 6) foi o primeiro robô industrial moderno, junto o Braço de Stanford (Figura 7), foram um dos primeiros braços de pesquisa e é incomum na medida em que tem uma articulação prismática (Laboratório de IA da Universidade e Stanford, 1972; cortesia de Oussama Khatib). Ambos projetados pelo primeiro desenvolvedor da robótica de Victor Scheinman e o protótipo pode ser observado no museu Smithsonian de História Americana, na Capital Washington dos EUA. Figura 6 - O Robô Puma 560 Fonte: (CORKE, 2011) Dois robôs clássicos que são os precursores de todos os robôs do tipo braço atualmente. Cada robô tem seis juntas e claramente a pose do efetor será uma função complexa do estado de cada junta. Um manipulador de link serial compreende um conjunto de blocos alongados, chamados de links, em uma cadeia e conectados por juntas. Cada junta tem um grau de liberdade, seja translacional ou articulação prismática, rotacional uma articulação. Movimento da articulação muda o ângulo relativo ou posição de seus links vizinhos. As articulações do robô mais comum são revoltas, mas o braço de Stanford tem uma articulação prismática. A estrutura da junta de um robô pode ser descrita por uma corda (string) como R, para o Puma e para o Braço de Stanford, onde o caractere JTH representa o tipo de articulação, seja revolucionar (Revolute) ou prismático (Prismatic). Uma maneira sistemática de descrever a geometria de uma cadeia serial de links e articulações foi proposta por Denavit e Hartenberg, em 1955, e é conhecido hoje como notação de DH. (CORKE, 2011) Figura 7 - Braço de Stanford Fonte: (CORKE, 2011) End-effector (Finalizador ou Efetuadores) Na extremidade do braço éfixado no final do Elo do manipulador que tem a funções adicionais (agarrar ou prender um objeto, ou pode ter uma função específica), denominado como efetuador ou finalizador, geralmente esses dispositivos são projetados para atividade a ser executada, mas existem terminais que são úteis para uma diversidade de tarefas. (NIKU, 2011) Existe muitas variedades de End-effector adequados para a realização de funções de trabalho, alguns exemplos são garras, ferramentas ou pontas. Figura 8 - Diferentes Garras Fonte: (PAZOS, 2000) As garras são destinadas para pegar e segurar materiais para seu deslocamento dentro de área de trabalho do robô articulador. Esses materiais podendo ser minúsculos e frágeis, como componentes eletrônicos que são moldados em placa de silício para equipamentos eletrônicos, visto em nosso cotidiano. Também grandes e pesados podem ser esses materiais, deslocando carros em uma linha de produção de montadora automotiva. Bastante empregados em diversos movimentos de objetos como caixas de papel, matéria prima, entre outras aplicações. (PAZOS, 2000) A partir de estudos físicos a mais comum, empregadas na indústria são as garras mecânicas para pegar o material, onde suas extremidades se contraem para segurar o material a ser movimentado, imitando movimento muscular de uma mão. Mas tendo outras utilidades com garras com dedos de movimentação mecânica, garras a vácuo, eletroímãs ou garras ativadas eletromagneticamente, ganchos tipo de guindaste, garras constituídas com material adesivo. Os dedos acionados mecanicamente o mais comum, contendo dois ou mais dedos que se abrem e fecham mecanicamente, fazem contato com o material a movimentar-se. A energia fornecida aos dedos da garra para que façam a função de abrir e fechar é fornecida por atuadores como já mencionado anteriormente Atuadores e Controladores. Os atuadores utilizados, podem identificar a garra sendo com dedos mecânicas, pneumáticos ou hidráulicos. Podendo conter diversos tipos de sensores, que auxiliam para abertura dos dedos, dando sensibilidade semelhante de uma mão humana, a força com que eles se fecham sobre um objeto, ou ainda a força que exercem sobre uma determinada área. As garras a vácuo consistem em formas de sucção, ligadas a uma bomba de vácuo através de uma eletroválvula solenoide. Os objetos a serem manipulados devem ser de superfície plana, limpos e lisos, sendo necessária estas condições para funcionalidade de forma ideal. As garras magnéticas são similares em seu formato às garras a vácuo diferenciando que utiliza eletroímãs, manuseando apenas materiais com propriedades ferromagnéticos. As garras adesivas usam uma substância adesiva para a operação de agarrar o objeto, muito utilizado para manipular tecidos e outros objetos leves que não podem ser movimentados com outros tipos de garras. Não tendo muita confiabilidade com o tempo perde a aderência, não indicado para trabalhos com materiais pesados, especificamente com ferros e outros tipos de metais. (SANTOS V. M., 2003) Atuadores e Controladores Atuadores são dispositivos que transformam um tipo de energia em uma outra diferente. Eles são utilizados em robô para aderir ao projeto a eficiência energética necessária para seu funcionamento, sendo exemplo, no funcionamento de um robô para movimentar uma de suas partes rotacionais, há necessidade de atuadores que forneça energia mecânica para gerar movimento desejado. Se o projeto for um sistema térmico, serão necessários atuadores que mensure a temperatura, para atingir a temperatura desejada como resposta do sistema. Contendo diversas classificações, os atuadores mais utilizados na fabricação de um robô são hidráulicos, pneumáticos e elétricos. Os hidráulicos caracterizados por terem como fonte de energia um fluido pressurizado, deslocando-se por mangueiras próprias para esta finalidade. Esses fluidos são encontrados em forma de óleo ou simplesmente água. Os pneumáticos têm como fonte de energia geralmente ar comprimido, também pressurizados e encaminhados através de mangueiras próprias. Os atuadores elétricos os mais utilizados, geralmente alimentado com energia elétrica para seu funcionamento, sendo 12V ou 24V. Atuadores utilizados em robótica é um dispositivo que dá movimento, para uma parte mecânica pelo desenvolvimento de forças cartesianas, baseado no estudo da física de conversão de energia, respondendo a comandos manuais ou automáticos, e podem ser motores elétricos e cilindros hidráulicos ou pneumáticos. Controle é responsável por gerar as informações que comandarão um ou mais atuadores, com base em uma linguagem de programação ou algoritmo de um sistema de controle. Constituindo um dispositivo que realiza operações matemáticas com o sinal de erro, e tem o objetivo de produzir uma correção que pode ser aplicada ao sistema de realimentação, satisfazendo critérios de desempenho. Estas operações matemáticas são denominadas de ações de controle. Então, compreende por controlador, um dispositivo que pode ser hidráulico, pneumáticos, eletrônico, mecânico, com o objetivo de controlar um sistema de controle. (KURFESS, 2005) Sensores Os sensores são dispositivos com a finalidade e confiabilidade à percepção de atividades não computacionais, bem como o nível de temperatura ambiente ou de trabalho de um robô. Entre os tipos de sensores utilizados em braços robóticos industriais são os sensores de posição, velocidade, extensão e proximidade. Sensores de posição tem como principal função monitorar a posição das juntas articuladas. A informação captada é enviada ao sistema de controle, sendo utilizada para a precisão dos movimentos das juntas articuladoras. Sensores de extensão medem o comprimento entre um ponto a outro ponto de referência, tendo possivelmente essa medição ser realizada por câmeras como descrito VISÃO COMPUTACIONAL. Sensores de velocidade são utilizados na determinação da velocidade com que o braço articulador se movimenta. Variando a aceleração com um controle PID, durante o movimento auxiliando o funcionamento do manipulador. Com a variação abrutas de velocidade, sem este controle podendo ocasionar defeitos, tanto no objeto manipulado quanto nos movimentos do equipamento. Sensores de proximidade tem fundamentos para captar e indicar a presença de algum material dentro de uma área ou distância, sem a precisão de contato físico, captados através de forma capacitiva ou indutiva. (NIKU, 2011) Graus de Liberdade Define graus de liberdade como o número total de variações independentes que um equipamento pode executar. Já os graus de movimentos estão associados ao número de junções. Jacques Denavit e Richard Hartenberg introduziram diversos conceitos da cinemática para manipuladores de elos serial em um artigo de 1955 e seu texto clássico posterior Síntese cinemática de elos, em 1964. No esquema DH cada junta tem apenas um único grau de liberdade sendo de translação ou rotação. Definição dos parâmetros de ligação padrão Denavit e Hartenberg, na figura (Figura 9) as cores vermelho e azul denotam todas as coisas associadas aos elos j −1 e j, respectivamente. Os números em círculos representam a ordem na qual as transformações elementares são aplicadas. (CORKE, 2011) Nos estudos da mecânica, a fim de localizar um ponto no espaço usa-se as coordenadas X, Y e Z, no eixo cartesiano. Se considerarmos um dispositivo tridimensional que tenha 3 graus de liberdade dentro do espaço de trabalho do dispositivo, consegue-se movimentar o dispositivo no local desejado. Um exemplo é o guindaste, que pode posicionar qualquer objeto dentro da sua área de trabalho, com comandos dado pelo operador. Como mostrado acima, para localizar um objeto no espaço cartesiano tridimensional é preciso especificar o local de um ponto sobre ele. Portanto com a localização do objeto, existe várias formas para orientar o objeto em torno do ponto desejado. Para achar o objeto por completo no espaço, temos que além da sua localização, informar sua orientação. Sendo assim, necessita-sede seis elementos de informação, para especificar onde se encontra objeto no espaço. Desta forma, precisa-se de seis graus de liberdade para posicionarmos e orientar objeto como desejarmos. Figura 9 - Parâmetros de Ligação de DH Fonte: (CORKE, 2011) Os robôs têm essa necessidade de seis graus de liberdade para livremente posicionar e orientar os objetos dentro de sua área de trabalho. Imitando o braço humano onde temos sete graus de liberdade, contendo três articulações como: ombro, cotovelo e o pulso. Sendo encontrados na indústria robôs com três, quatro, cinco e seis graus de liberdades, acima disso os graus adicionais não são necessários o controle sobre eles. (NIKU, 2011) CADEIAS CINEMÁTICAS A cinemática é o ramo da mecânica que estuda o movimento de um corpo ou de um sistema de corpos sem considerar sua massa ou as forças que atuam sobre ela. Um manipulador de ligação serial compreende uma cadeia de ligações e articulações mecânicas. Cada junta pode mover seu link vizinho externo em relação ao seu vizinho interno. Uma extremidade da corrente, a base, é geralmente fixa e a outra extremidade está livre para se mover no espaço e segura a ferramenta ou o end-effector. Robôs manipuladores são mecanismos em cadeias cinéticas, de forma GDL, tridimensionais, e circuitos em malha aberta. GDL significa que os robôs possuem articulações que movimentam em várias direções livremente dentro de sua área de atuação. Figura 10 - Mecanismo de Ângulos Fonte: (CORKE, 2011) Em um sistema, quando um ângulo variável é definido, o mecanismo fica reconhecido e todas as outros ângulos variáveis são descobertos, através das cinemáticas direta ou inversa que está descrita logo nos próximos capítulos. Figura 11 - Relação entre as Cinemáticas Fonte: (NIKU, 2011) Utilizando matrizes e outras formas matemáticas para representar pontos, vetores, rotações, transformações, localização de objetos e posicionamentos do manipulador robótico, como visto ao estudar mecânica e resistência dos materiais. (NIKU, 2011) Trigonometria A semelhança de triângulos é possível quando possuem ângulos iguais, tendo a soma de ângulos igual 180° valendo assim as regras de proporcionalidade. Em um triângulo retângulo onde o ângulo do vértice Q é igual 90° e o ângulo do outro vértice O é ângulo α, define-se que o cateto oposto como comprimento b da aresta PQ. O cateto adjacente é definido como o comprimento a da outra aresta denominada de OQ, e a hipotenusa sendo vetor resultante é o comprimento c da aresta OP. Figura 12 - Triângulo Retângulo O teorema de Pitágoras é a soma dos quadrados do cateto oposto e cateto adjacente, sendo igual ou resultante o quadrado da hipotenusa. Equação 1 - Teorema Pitágoras Em um triângulo de vértices ABC, com ângulo denominados α, β, γ de lados denominados a b e c. Com uma reta A perpendicular BC, denominada H tendo seu comprimento do ponto A é igual ao lado c multiplicado por seno do ângulo β. Desenhando uma reta a partir do vértice C perpendicular ao outro lado, com outro vértice denominado de G, com o vetor CG é igual comprimento a multiplicado seno do ângulo β, ou comprimento b seno do ângulo α. Por fim o vértice B e o vetor AC é igual comprimento a multiplicado seno do ângulo γ, ou comprimento c seno α. Figura 13 - Lei dos Senos Então, definimos matematicamente a lei dos senos com a igualdade das propriedades descritas acima, e que pode ser estabelecida como a relação entre o comprimento dos lados com a constante do seno do ângulo oposto. Equação 2 – Relação Lei dos senos Diferente da lei dos senos, o cosseno elabora uma reta do vértice A, com o vetor BC em ângulo de 90° perpendicular, denominado como H. Figura 14 - Lei dos Cossenos Aplicando o teorema de Pitágoras, tem-se as relações matemáticas sendo que o vetor HC é igual comprimento b multiplicado por cosseno do ângulo γ, e AH é igual ao comprimento a menos o vetor HC. Definimos a lei dos cossenos como o quadrado dos lados do triangulo que é igual à soma dos quadrados dos demais, subtraindo dos produtos dos lados pelo cosseno dos ângulos entre eles. (BRAZ, 2007) Equação 3 - Relação Lei dos Cossenos Cinemática Direta A cinemática direta é simplesmente para encontrar a posição, orientação do braço articulado e a garra com referencial ao espaço inicial. O modelo DH é uma forma muito simplificada de modelagem de elos e articulações de um robô, como visto Figura 9, podendo ser utilizada para qualquer configuração de articulação robótica. A cinemática direta é frequentemente expressa em forma funcional com a posição do efetor final como uma função das coordenadas da articulação. Usando transformações homogêneas, isso é simplesmente o produto das matrizes de transformação de link individuais. Descrito de forma funcional na Equação 4, a solução cinemática direta pode ser calculada para qualquer manipulador de link serial, independentemente do número de juntas ou dos tipos de juntas. Equação 4 - Forma Funcional Direta A posição do efetuador tem 3(GDL) de liberdade em translação e outros 3(GDL) em rotação. Portanto, os manipuladores de robôs geralmente têm 6(seis) juntas ou graus de liberdade para permitir que eles atinjam uma pose arbitrária de efeito final. A transformação geral do manipulador é frequentemente escrita como T6 para um robô de seis eixos. Tendo os seguintes parâmetros DH que se usa para criar um vetor de objetos link. Tabela 1 - Parâmetros de DH Link Ɵ D A α 0-1 θ1 0 0 90º 1-2 θ2 0 a2 0º 2-3 θ3 0 a3 0º A cada articulação é associado uma matriz ligada a base, após associado a articulação 1 e assim continua-se sabendo que a transformação desta matriz não é constante, mais tem uma variação conforme muda a configuração das articulações na sua área de trabalho. (CORKE, 2011) Equação 5 - Associação de Articulações dos Membros Os parâmetros dos membros articulados são conhecidos como ângulo (θ), a excentricidade (d), o comprimento (a) e a torção (α), tendo o movimento de rotação (R) e o movimento de translação (T). Com o conceito de DH cada matriz (A) é o produto de quatro transformações básicas, (Equação 6). Onde Rz,θ representa a rotação θ em torno do eixo z, Tz,d e Tx,a é o movimento de translação d ao longo do eixo z e o movimento de translação a ao longo do eixo x, e por fim Rx,α que representa a rotação α em torno do eixo x. Equação 6 - Representação de DH Desenvolvendo conceito anterior podemos obter uma matriz (A) quadrada, de orientação 4x4, como visto Equação 7. Como é uma função da variável da junta, temos a conclusão que três são constantes para determinar posição dos elos do manipulador. Equação 7 - Matriz de Representação de DH A matriz é caracterizada por seis variáveis, três são ângulos de rotação e os outros componentes do vetor deslocamento. Seguindo os passos descritos a seguir consegue-se determinar o algoritmo de Denavit e Hartenberg para cinemática direta de posição: Localizar e nomear os eixos das juntas, podendo apresentar por R os movimentos de rotação, e T os movimentos de translação. Estabelecer um sistema de coordenadas para base, posicionando-o em um estado zero sobre o eixo z inicial. Localizar a origem do objeto, contendo a menor trajetória possível. Estabelecer x inicial ao longo do produto vetorial z inicial e z final, através da normal comum aos eixos z inicial e final, quando eles forem paralelos. Estabelecer y inicial de modo a completar um sistema ortogonal. Estabelecer a posição final do sistema do efetuador. Criar uma tabela de parâmetros DH, sendo exemplo Tabela 1. E por fim, formar matrizes de transformações homogêneas, usando os parâmetros DH, visto na Equação 7. Observando que o referencial zero é livre, sendo que o eixo z inicial seja igual ao eixo da primeira junta. A utilização dos parâmetros DH não é a única definição para se obter o sistema cartesiano do manipulador, porem a mais utilizada pela sua facilidade.(NIKU, 2011) Cinemática Inversa Equação 8 – Forma Funcional Inversa O próximo passo é definir o caminho que o efetuador irá seguir, considerando o fato de se mover em mesma velocidade, como determinar a posição do efetuador ou end-effector, dadas as coordenadas das juntas e as transformações opcionais de ferramenta e base. Um problema de interesse prático real é o problema inverso: dada a posição desejada do efetuador final, quais são as coordenadas de juntas necessárias? Por exemplo, se conhecermos a pose cartesiana de um objeto, de quais coordenadas comuns o robô precisa para alcançá-lo? Este é o problema da cinemática inversa que é escrito em forma funcional como na Equação 8. (CORKE, 2011) Aos problemas da cinemática inversa para manipuladores robóticos é a determinação dos ângulos de articulação dada uma configuração final desejada. Para alguns manipuladores robóticos desejados, as configurações podem não haver soluções numéricas e aritméticas únicas, contendo várias formas para soluções. Figura 15 - FIGURA ADPATADA Manipulador 3 Eixos Fonte: (KURFESS, 2005) Em geral, essa função não é única e, para algumas classes de manipulador, não existe uma solução fechada, necessitando de uma solução numérica de equações não lineares, nem sempre tem a possibilidade de uma resolução analítica, sendo exemplo as relações de Girard. Equação 9 - Relação de Girard As equações de Girard são utilizadas para determinar relações de soma e produto das raízes de equações do segundo grau. Albert Girard nasceu em 1590, um matemático francês que estudou e estabeleceu relações da soma e de produto entre as raízes e os coeficientes das equações quadráticas. Desenvolvendo um método que estabelece a relação de produto e soma até de números negativos. Considera-se a Equação 9, tendo as variáveis a b e c como números reais, desde que a seja diferente de zero. Para resolver temos que encontrar duas raízes, modo apresentado na Equação 10. A fórmula de Bhaskara é um método desenvolvido para resolver equações do segundo grau. Equação 10 – Fórmula de Bhaskara Porém, não é somente para a finalidade de encontrar a soma e o produto das raízes, considera-se que b representa a soma e c o produto. (SMOLE & DINIZ, 2013) Trajetória Um dos requisitos principais em robótica é mover o manipulador sem dificuldades da posição A para a posição B. Para gerar estes movimentos, denominados de trajetórias, sendo linhas retas no espaço da articulação e linhas retas espaço cartesiano. A trajetória conjunta das coordenadas, tende de ser feito de maneira suave com velocidade constante. (CORKE, 2011) Determinado uma reta no espaço cartesiano das juntas, e utiliza-se polinômios para determinar a trajetória no tempo. Sendo em um espaço 3D, as juntas geradas as trajetórias resultantes não tendo problemas de Singularidades. Obtendo os valores máximos e mínimos das variáveis das juntas, limitando seus movimentos conforme desejado. De outra forma a trajetória em espaço 2D resultante não é inserida a partir das juntas, devido ao mapeamento não-linear entre o espaço da cinemática direta e o espaço da cinemática inversa. A forma mais simples de se determinar a trajetória, é criar uma função linear da posição final em relação ao tempo. Para uma trajetória suave em relação a velocidade, utilizar parábola de posição de início e fim de uma trajetória linear. O método de polinômios de Lagrange descreve um sistema mecânico com conceitos de energia que é definido com trabalho. É função escalar diferenciando as energias cinética da energia potencial, determinado em uma função de conjuntos de coordenadas. Obtém-se através de um sistema as equações polinomiais de movimento para qualquer sistema mecânico. Para entender equações de Euler-Lagrange, temos que saber a segunda lei de Newton “A aceleração adquirida por um corpo é a força resultante que atua sobre ela”. Equação 11 - 2ª Lei de Newton Com a derivada das expressões de energia cinética e potencial, tendo a energia cinética em dois termos, a energia de rotação e translação. A energia potencial é obtida pela concentração da massa em seu centro. Conhecida as derivadas de ambas energias, a determinação das equações Euler-Lagrange do manipulador é a soma de cada um dos seus elos, a partir de uma matriz de seus aspectos na inercia. Determinou-se que qualquer orientação do sistema de coordenadas inicial com relação ao sistema de movimento, pode-se compor estas transformações rotações efetuadas nos eixos cartesianos, sendo que não seja rotações efetuadas ao longo do mesmo eixo, utilizando a tão conhecida regra da mão direita. Figura 16 - Regra da Mão Direita A regra da mão direita é definida com o polegar sendo o eixo x, o indicador o eixo y, e o dedo central o eixo z. Assim determinando os ângulos de rotação e translação do manipulador. (ANGELES, 2007) Singularidades O vetor de coordenadas cartesianas tendo três componentes iniciais representam a posição da rotação da garra com relação a uma referência da inicial do manipulador, representando a orientação do referencial podendo se determinar como o punho. Descrito como uma matriz, as funções das coordenadas que configuram a posição do manipulador, sendo assim reduzindo ou simplificando. Reduzindo estas matrizes podendo considerar que o sistema perca graus de liberdade, definindo-se singularidade. Estas configurações são feitas por várias razões, sendo que determinados movimentos são impossíveis, as velocidades limitadas no manipulador podem corresponder Torques limitados nas juntas. As singularidades correspondem a pontos na área de trabalho que poderiam ser inatingíveis em pequenas variações dos parâmetros dos elos, como comprimento entre outros, não existindo uma única solução, mais infinitas soluções para o problema da Cinemática Inversa. Em resumo, singularidade é a configuração do robô, sendo necessário determinar velocidades nas juntas para que sejam constantes em uma área de trabalho, ocasionando a perda de graus de liberdade. (CORKE, 2011) VISÃO COMPUTACIONAL A visão computacional tem como objetivo inserir um modelo matemático a partir de imagens geradas por uma ou mais câmeras, em outras palavras é transformar uma cena real para um modelo matemático. Tendo entrada de imagens e na saída composta de informações de alto nível de abstração. Exemplo o número de pessoas, tipos de objetos ou estrutura 3D. Figura 17 - Projeção de uma Imagem Fonte: (CORKE, 2011) Os robôs geralmente são sistemas de malha aberta, sem uma realimentação (feedback), sendo um problema, pois ele não reconhece a posição situada. Para solucionar este problema, a posição do end-effector ou ferramenta é constantemente medida por sensores, feixes de laser ou dispositivos como uma câmera, transformando o robô em sistema de malha fechada. (NIKU, 2011) Imagens e Vídeos A imagem pode ser capturada por uma câmera através de um sensor, respondendo a duas tecnologias de sensores CMOS ou CCD. Basicamente CMOS usa o método “rolling shutter”, que processa a imagem capturando cada linha do sensor enquanto o CCD usa o método “global shutter” e captura a imagem de uma vez só. Um sensor de imagem faz a captura de pixel, sendo algo organizado em linhas (H) e colunas (V), formando uma matriz de H x V. uma resolução padrão é de 480 linhas de resolução horizontal, contendo novas tecnologias em HD com mais linhas de resolução. Uma imagem transmitida por esses sensores é definida por alguns conceitos como a resolução, frame, balanço de branco, taxa de atualização, ruído e aspecto. A resolução define-se pela quantidade de elemento de imagem ou pixel, em relação ao quadro ou frame, para imagens digitais. Para o computador imagem são matrizes de números. Figura 18 - Imagens Digitais O Frame é um conjunto composto pela unificação da forma de elementos de imagem ao espectador, definindo seu formato pela matriz H x V formado por pixels na resolução digital. Imagem matriz composta por pixel podeser colorida ou em preta e branca. No balanço de branco é definido a quantidade da cor branca usada para outras cores, para reproduzir uma imagem mais próxima da real. Sua taxa de atualização acontece na qual os frames são mostrados por unidade de tempo. Um exemplo é um vídeo ao vivo, tendo 30 frames por segundo. Ruídos são as interferências por campos eletromagnéticos que sobrepõem a imagem, dando uma distorção em sua reprodução. Figura 19 – Pixel Fonte: (ALMEIDA, 2018) A relação de aspecto é verificada entre a largura e altura da imagem transmitida, sistema padrão é de 4:3 em uma resolução de 720 linhas e 480 colunas interlaçadas em uma taxa de 60 vezes por segundo, resultando em 30 frames por segundo. Figura 20 - Resoluções de Vídeos Fonte: (ALMEIDA, 2018) Todo sinal é determinado um padrão para fabricantes em várias partes do mundo, sendo os mais usados o NTSC, PAL-M e SECAN. Em ambas, a imagem é formada pela varredura em linhas, dependendo do sistema a taxa de varredura. Um vídeo é uma secção de imagens em período de tempo, contendo uma quantidade grande de informação que para ser transportada existem métodos de compressão. A análise de conteúdo de vídeo através de um algoritmo de vídeo inteligente, que observa em tempo real cada frame, criando um cenário sobrepondo elementos de detecção como linhas, setas, polígonos, retângulos, círculos, entre outros. Com este sistema, através de uma inteligência artificial tenta aprender comportamentos esperados, armazena e utiliza como uma previsão, como exemplo na Inglaterra, para evitar atentados terrorista. Uma das tarefas para a visão computacional é procurar e identificar objetos. Para essa identificação uma das técnicas utilizada é os detectores de bordas a fim de ver os formatos dos objetos e ambientes presentes na imagem. A forma de detecção de bordas acontece através de identificação de variações abruptas na intensidade dos pixels de uma área da imagem. (ALMEIDA, 2018) TECNOLOGIAS Mecatrônica Esta tecnologia projeta e desenvolve a implementação em equipamentos mecânicos na indústria, uma forma através de sistema digital de automatizar, sendo para facilitar o funcionamento da máquina, adequando ao mundo real. Com grandes influencias no desenvolvimento de servo motores, motores e controle de sistemas, conceito definido é dada pela junção da mecânica e da eletrônica, que ambas andam juntas na automatização de qualquer sistema industrial. Figura 21 - O Sistema Mecatrônico Fonte: (ROSÁRIO, 2005) Através de sensores podemos obter informações do mundo físico processando digitalmente, resultando em ações de controle. Esses controles podem por meio de atuadores agir sobre o sistema físico, o que acarreta o conceito de sistema realimentado (feedback). (ROSÁRIO, 2005) PWM - Pulse Width Modulation Tendo a necessidade de controlar a tensão empregada aos sistemas eletrônicos, a técnica PWM é empregada em diversas áreas, mais comum em fontes chaveadas, usado para controle de velocidade de motores, controle de servo motores, iluminação entres outras aplicações. Através da largura do pulso de onda quadrada o controle de potência e velocidade. Considerando um sistema digital, para funcionar corretamente devemos variar a largura do pulso da onda de forma calculada Equação 12. Equação 12 - Duty Cycle (Ciclo de Trabalho) Para controle com PWM utilizado em circuitos eletrônicos é dividido em duas partes. A primeira o sistema de controle gera o sinal determinando a frequência, e a segunda o sistema de potência que aciona a carga. Geralmente disponível nos micros controladores, pois já possui uma grande variedade de pinos e instruções para ideal funcionamento. (MEGAWEB, 2016) Controle PID O controle PID é uma técnica de calcular a atuação de um determinado valor em relação ao processo das informações desejadas. Este valor que atua sobre o processo é transformado em um sinal utilizado em determinados equipamentos, devendo garantir um controle estável e preciso. PID é a combinação de três ações, sendo elas a Proporcional, Integral e Derivativo. P CORREÇÃO PROPORCIONAL AO ERRO I CORREÇÃO PROPORCIONAL AO ERRO x TEMPO D CORREÇÃO PROPORCIONAL Á TAXA DE VARIAÇÃO DO ERRO Tabela 2 - Estrutura PID No controle proporcional da variável a medida que cresce aumenta até o máximo 100%, provocando a definição proporcional da largura de banda. Conforme tem uma variação na entrada de sinal ele faz a correção de forma não agredir controle do processo. Fornece uma relação linear entre a variável controlada e o equipamento ou processo possa fornecer. Gráfico 3 - Ação de Controle Proporcional Fonte: (NOVUS, 2003) No controle integral precisa-se de uma resposta de saída do controlador, tendo efeito de eliminar o controle proporcional. Tem a como função excluir o erro, e de forma a integrar o sistema gerar uma instabilidade. Utilizando um controlador proporcional nas alterações de carga automaticamente, com a integração do erro no tempo obtemos esse reajuste. No controle derivativo tem o efeito de reduzir a velocidade das variações do processo, evitando variações abruptas e atuando quando a variação no erro, com processo estável sua função é dispensada. Então, temos o resultado de um controle de correção antecipada de um erro não ocorrido. Gráfico 4 - Ação de Controle Integral Fonte: (NOVUS, 2003) Juntando as três técnicas determina-se que o controle básico da proporcionalidade, com a eliminação do erro do controle integral, e com a função de reduzir as oscilações do controle derivativo, podemos utilizar e obter um processo mais estável, satisfatórios e com menos erros. Gráfico 5 - Ação de Controle Derivativo Fonte: (NOVUS, 2003) MATERIAS E MÉTODOS HARDWARE Sistema Computacional O Raspberry Pi é um sistema computacional utilizado para processamento das informações, através de periféricos de entrada e saída temos a comunicação das informações lógicas, o cérebro do robô com o mecanismo do manipulador robótico. Considerado como um pequeno computador, é uma placa de desenvolvimento de micro controlador, com muitas funcionalidades e portas. Seu processamento similar à de celulares smartphone, contendo slot para cartão de memória SD, entrada de porta USB, porta de conexão Ethernet, conector HDMI, com saídas de áudio analógico e vídeo e diversas outros periféricos que podem te auxiliar para uma automatização de seu sistema. Figura 22 - Raspberry Pi 3 Modelo B Fonte: (ELECTRONICA, 2018) Seu sistema utiliza o Raspbian OS, uma distribuição do Linux como sistema operacional, contendo vários drives, serviços e aplicações que podem ser utilizadas. Pelo seu pequeno tamanho contém uma memória de armazenamento mais limitada. Com a terceira inovação, o Raspberry Pi 3 Modelo B é uma placa de tamanho igual cartão de crédito, além de possuir várias aplicações e conexão com outros equipamentos através do físico, também possui conectividade sem fio via Bluetooth e wireless. (COMPONENTS, 2017) Arduino é uma placa eletrônica, projetada com um microcontrolador Atmel, com suporte de entrada e saída de dados. O Arduino Mega 2560 é uma placa microcontroladora baseada no ATmega2560 . Possui 54 pinos de entrada / saída digitais (dos quais 15 podem ser usados como saídas PWM), 16 entradas analógicas, 4 UARTs (portas seriais de hardware), um oscilador de cristal de 16 MHz, uma conexão USB, conector de alimentação, um conector ICSP, e um botão de reset. ele contém tudo o que é necessário para suportar o micro controlador. , utiliza linguagem de programação C++. (STORE.ARDUINO.CC, 2018) Figura 23 - Arduino Mega 2560 Fonte: (STORE.ARDUINO.CC, 2018) Através de um protocolo de comunicação I2C, em barramento, ou seja, com mesmo fios interligados ao dispositivo mestre. Assim sendo possível, a comunicação com outros dispositivos com mesmo protocolo. Figura 24 - Protocolo de Comunicação I2C Fonte: (REIS, 2014) Existem muitos dispositivos que usam o protocoloI2C, como o Arduino, Raspberry, memórias externas, diversos sensores. Dispositivos oferecem várias interfaces de conexão, conectá-lo ao Arduino usando I2C, ou serial. Os equipamentos utilizam o conector terra (GND) e o alimentação (Vcc). Figura 25 - Comunicação Com Outros Dispositivos I2C Fonte: (REIS, 2014) Servosmotores São dispositivos eletromecânicos bastante utilizados em robótica e possuem várias aplicações, são usados principalmente para mover partes de objetos com seu funcionamento básico a partir de um pulso elétrico de 5V em sua entrada, faz com que seu eixo rotacione. Pequenos dispositivos que contem engrenagens, eixo de transmissão, motor corrente continua, potenciômetro, e um amplificador. Os fios dentro do equipamento são as entradas de sinal, determinando parâmetros em ângulos de velocidade e torque. Figura 26 - Servomotor RDS3135MG alto torque Fonte: (CASTANEDA, 2012) Possui um sistema de controle eletrônico acoplado ao seu eixo de saída, conhecido como potenciômetro, que cria ao circuito eletrônico o monitoramento do ângulo do seu eixo na posição desejada. Através das engrenagens contém um limitador atuando no ângulo de giro no eixo, dependendo de cada fabricante geralmente trabalha de 0° até 270°. O ângulo do eixo do servo motor é enviado através da entrada de sinal em PWM - Pulse Width Modulation, podendo variar de 0V até 5V, em intervalos de tempo de 20ms. Figura 27 - Dimensões servo motor Fonte:(SANTOS A. , 2007) Ao construir um robô, para determinação da compra de um servo motor o torque e a velocidade são parâmetros importantes, descritos na sua especificação pelo fabricante. Exemplo uma junta de articulação de 2cm de comprimento, com um servo de 6kg/cm de torque, conclui-se que pode levantar 3kg de massa na distância de 2cm do eixo de rotação. A velocidade deve ser lenta, para poder ser controlada através do sinal de entrada em milissegundos. (LOO, 2013) Fontes de Alimentação As fontes de alimentação são responsáveis por dividir energia elétrica por todos os componentes do circuito eletrônico. Tem a função de transformar a tensão alternada em tensão continua fazendo um processo de retificação e estabilização da tensão e corrente elétrica. Existindo fontes alimentação lineares e chaveadas, consistem em transformadores de tensão, a retificação com diodos, o filtro por capacitores e um circuito de controle que mantem a tensão da carga constante. São classificadas e comercializadas as fontes de alimentação pela potência máxima de saída medida em Watts, tendo uma variação na tensão com um circuito regulador aplicado a sua saída de acordo com a necessidade do cliente, sendo a corrente constante neste caso. Figura 28 - Fonte de Alimentação Chaveada - Output 7,5V Fonte: (BRAGA, 2013) As fontes chaveadas contém circuitos de controle mais aprimorados, contendo melhores funcionamento dos capacitores e indutores. Com os circuitos de indutores e capacitores em serie com o enrolamento primário do transformador, é dissipado através de transistores, criando uma onda senoidal que é transferida para enrolamento secundário do transformador, passando por uma retificação e filtro, gerando uma tensão continua e estabilizada. Podendo trabalhar com altas frequências as fontes chaveadas é mais leve por utilizar componentes eletrônicos de pequeno porte, tendo que ser blindada magneticamente. Apesar de seu alto desenvolvimento, tem um custo inferior do que as fontes de alimentação linear. (BRAGA, 2013) Articulações de Acrílico e Alumínio para o Braço Robótico É constituído por articulações de acrílico, visto na Figura 29, contendo a cada articulação associado os Servosmotores, com um End-effector (Finalizador ou Efetuadores), sendo uma garra de alumínio, visto na Figura 30. Para manipular os objetos, sendo parecido como uma mão humana, podendo encontrar modelos similar em sites de compras. Figura 29 - Articulações Braço Robótico Fonte: (KIT BRAÇO ROBÓTICO, 2017) Figura 30 - Garra Braço Robótico de Alumínio Fonte: (GARRA ROBÓTICA , 2015) Câmera A série IMS0 com Sarix tem uma tecnologia de câmera dome fixa para ambiente interno, projetada para conexão de rede com qualidade de imagem e poder de desempenho de alto desempenho. Uma lente bifocal, com zoom oferecendo uma resolução em HD, capacidades avançadas de pouca resolução de luz, com uma ciência consistente das cores e rapidez do poder de processamento. Pode ser configurado os fluxos em uma variedade de taxa de frame, taxa de bits e grupo de imagens. Figura 31 - Camera IMS0 Series Sarix Mini Indoor Fixed Dome Fonte: (PELCO, INC. WORLDWIDE HEADQUARTERS, 2010) Um conector de configuração de vídeo conveniente elimina a necessidade de um laptop para visualização de vídeo durante a função a câmera. A conexão é feita facilmente por endereços IP e híbrido da Pelco, e conectividade de arquitetura aberta para software de terceiros. Figura 32 – Midspan Fonte: (AXIS COMMUNICATIONS, 2018) Uma solução fácil rápida e eficaz para produzir vídeos em rede, sem instalar cabos de energia. Os Midspans são conectados a Fontes de , transformando energia e enviando via cabo de rede, permitindo que os dados e energia sejam transmitidos pelo mesmo cabo ethernet. SOFTWARE Raspbian OS Sistema operacional Raspbian OS é uma distribuição do sistema operacional Linux criada para funcionar somente nos Raspberry Pi. É uma extensão derivada do Debian, essa distribuição é considerada o sistema operacional padrão do computador da fundação Raspberry Pi. Completo e com diversos pacotes de softwares de desenvolvimento, contendo um profundo controle sobre o hardware ou placa como normalmente é chamado, além de ferramentas que dão o acesso à ethernet e internet, arquivos escritório compatíveis na forma libreoffice. (GARRETT, 2016) Linguagem Python Linguagem de programação Python desenvolvida em alto nível por uma comunidade aberta, foi iniciada pelo programador neerlandês Guido Van Rossum. É uma linguagem interpretada, imperativa orientada para objetos, sendo funcional dinâmica e forte. Podendo realizar diversas formas como a construção de sistemas, analise de dados, inteligência artificial, construção de aplicativos, entre diversas outras aplicações. Figura 33 - Exemplo de Linguagem Python Fonte: (PYTHON, 2005) Sua fácil interpretação e aprendizagem é devido a ser uma linguagem desenvolvida em alto nível. Tem um nível abstração elevado, diferente do código de máquina e mais similar a linguagem humana. Sendo uma linguagem script, ou seja, uma linguagem escrita especialmente para execução de tarefa sem precisar compilação. (PYTHON, 2005) Linguagem C++ C++ desde 1990 é uma linguagem mais popular, é uma linguagem de programação compilada multi-paradigma. OpenCV Sistema de Biblioteca de Visão Computacional de Código Aberto (Open Source Computer Vision Library) desenvolvida pela Intel, é lançado sobre uma licença BSD e é totalmente gratuito para uso comercial e acadêmico. Constituído como uma biblioteca com várias plataformas de atuação, possui interfaces de comunicação com linguagem de programação como C ++, Python e Java e suporta sistemas operacionais como Windows, Linux, Android entre outros sistemas. O OpenCV foi projetado para eficiência de visão computacional e com principal função em tempo real. Escrito em C e C++ para melhor aproveitamento da biblioteca e podendo aproveitar o processamento de vários núcleos. Em conjunto com o OpenCL, pode-se aproveitar a aceleração de hardware da plataforma de computação subjacente heterogênea. (TUTORIAL OPENCV, 2018) DESENVOLVIMENTO CONCEITOS Inicialmente a ideia é que um objeto colocado em uma área conhecida e visualizada pela câmera de vídeo seja identificado e possa ser conhecida sua localização no plano. Em seguida o braço robótico com auxílio do sistema computacional possa pegar esse objeto e leva-lo para outro lugar. Câmera Processamento dos dados Movimenta o Braço Figura 34 - Fluxo do SistemaFonte: Autores PARTES MECÂNICA Braço Robótico Figura 35 - Foto do Braço Robótico Fonte: Autores O braço é constituído por 6 (seis) juntas e 4 (quatro) elos fixados em uma base de acrílico como mostra a figura a baixo: Figura 36 - Perspectiva do Braço Robótico Fonte: Autores Juntas do Braço Robótico As juntas foram enumeradas de 0 (zero) á 3 (três) a união entre os elos, sendo a 4 (quatro) o pulso e a 5 (cinco) a garra. Figura 37 - Vista Lateral Identificando as Juntas Fonte: Autores Elos do Braço Robótico Foi considerado o elo 0 (zero) a altura entre a plataforma e a junta 1 (um). Figura 38 - Elos do Braço Robótico Fonte: Autores Elo 0 (Zero) Figura 39 - Vista em Perspectiva do Elo 0 (zero) Fonte: Autores Figura 40 - Planta do Elo 0 (zero) Fonte: Autores Figura 41 - Vista lateral do Elo 0 (zero) Fonte: Autores Elo 1 (um) Figura 42 - Vista em perspectiva do Elo 1 (um) Fonte: Autores Figura 43 - Planta do Elo 1 (um) Fonte: Autores Figura 44 - Vista lateral do Elo 1 (Um) Fonte: Autores Elo 2 (Dois) Figura 45 - Vista em perspectiva do Elo 2 (Dois) Fonte: Autores Figura 46 - Planta do Elo 2 (dois) Fonte: Autores Figura 47 - Vista lateral do Elo 2 (dois) Fonte: Autores Pulso Figura 48 - Vista em perspectiva do pulso Fonte: Autores Figura 49 - Planta do Pulso Fonte: Autores Figura 50 - Vista Lateral do Pulso Fonte: Autores Garra Figura 51 - Vista em perspectiva da garra Fonte: Autores Figura 52 - Planta da garra Fonte: Autores Figura 53 - Vista Lateral da garra Fonte: Autores Servos Foi utilizado 4 servos modelo SDR 3135 MG e 2 servos MG 966R para ligar os elos, pulso e garra. Figura 54 - Servos Ligados nos Elos Fonte: Autores Base A base tem 60 cm por 52 cm o eixo da junta 0 está fixado a 23 cm na horizontal e a 14,5 cm na vertical como demostrado na imagem abaixo. Figura 55 - Planta da Base Fonte: Autores HARDWARE E SOFTWARE Ligações Figura 56 – Esquema de Ligações dos Hardwares Fonte: Autores Raspberry Pi 3 Model B+ O modelo usado é Raspberry Pi 3 Model B+ com processador de 1.4GHz 64-bit quad-core processor, dual-band wireless LAN, Bluetooth 4.2/BLE, faster Ethernet, and Power-over-Ethernet support (with separate PoE HAT) Figura 57 - Rasberry Pi 3 Model B+ Fonte: (RASPBERRYPI.ORG, 2018) No computador Raspberry Pi serão processadas as informações de vídeo enviadas pela câmera, os cálculos das coordenadas e ângulos das juntas. Arduino Mega 2560 Por ter saídas pwm optou-se pelo Arduino Mega 2560 para comandar os servos e movimentar o braço robótico. Figura 58 - Arduino Mega 2560 Fonte: (STORE.ARDUINO.CC, 2018) Ligação Raspberry com Arduino Mega 2560 A comunicação entre o Arduino e o Raspberry é feita pelo protocolo I2C que se baseia em mestre e escravo, usando as saídas como demostrado na figura 58 a baixo Na ligação entre eles para comunicação Raspberry é o mestre e o arduino é o escravo. Figura 59 - Ligação Raspberry com Arduino usando I2C Fonte: Autores Para ter continuidade nas ligações fez em uma placa de circuito impresso ilhada a conexão do Raspberry com o Arduino ilustrada na figura abaixo: Figura 60 - Ligação I2C em placa impressa – Vista superior Fonte: Autores Figura 61 - Ligação I2C em placa impressa - Vista inferior Fonte: Autores No Arduino Mega definido o endereço 0x20 como demostrado no código a baixo usando a biblioteca Wire.h #include <Wire.h> #define SLAVE_ADDRESS 0x20 // initialize i2c as slave Wire.begin(SLAVE_ADDRESS); //Definimos na configuração inicial void setup() { // initialize i2c as slave Wire.begin(SLAVE_ADDRESS); // define callbacks for i2c communication Wire.onReceive(receiveData); Wire.onRequest(sendData); Serial.println("Ready!"); } Definindo as funções receiveData (para receber dados) e SendData (para enviar dados). No RPI habilitado o protocolo I2C Verificando se a comunicação está correta, digitando no terminal do Raspberry o comando. lsLs –l /dev/i2c* Depois para verificado a porta de comunicação nesse caso ficou #0x20 sudo i2cdetect –y 1 Para mandar informação para o arduino do Raspberry usando o python usa-se o código abaixo. import smbus # Para RPI version 1. Use “bus = smbus.SMBUS(0)” bus = smbus.SMBus(1) # Este é o endereço que configuramos no Arduino address = 0x20 Para enviar e receber mensagens precisamos definir duas funções def writeNumber(value): bus.write_byte(address, value) return -1 def readNumber(): number = bus.read_byte(address) return number Para enviar a mensagem (writeNumber) e ler mensagem(readNumber). writeNumber(90) resposta = readNumber print(resposta) Lógica no Arduino. O Arduino tem a função de receber informações do Raspberry e movimentar os servos. No seu código tem 3 (três) matrizes de tamanho 6 (seis), onde são armazenados os respectivos ângulos descrito na figura abaixo Matrizes aAng_Origem aAng_Atual aAng_Destino 0 1 2 3 4 5 Figura 62 – Matrizes de Controle no Arduino Fonte: Autores Quando o arduino recebe uma mensagem contendo o servo e ângulo, é atualizado a matriz aAng_Destino, como ele está em um loop infinido, ele vai movimentar o servo em 1º (grau) atualizando a matriz aAng_Atual e aAng_Origem até igualar a matriz aAng_Destino á aAng_Origem. No arduino o código descrito no APÊNDICE I, Ligação dos Servos com o Arduino e a fonte Alimentação. Esquema de ligação dos servos no Arduino com fonte de alimentação para os servos externas. A fonte fornece energia para os servos passando antes pelo regulador de tensão para que não haja oscilação no fornecimento de energia. Os servos têm 3 (três) fios, sendo 1(um) positivo, 1(um) negativo e 1(um) para entrada do pulso. O Arduino manda um sinal (pwm) para o servo através do fio laranja, dependendo do sinal o eixo do servo vai se movimentar para um determinado ângulo. Figura 63 - Esquema de Ligação para Alimentação dos Servos Fonte: Autores Para garantir a continuidade da alimentação dos servos, criou-se uma placa para liga-los. Figura 64 - Foto da placa de alimentação dos servos – vista superior Fonte: Autores Figura 65 - Foto da placa de alimentação dos servos - vista inferior Fonte: Autores Ligação Câmera de Vídeo Câmera de vídeo foi ligada no Raspberry na entrada de rede no conector RJ45 a alimentação de energia da câmera POE foi feita pelo MidSpan (Power Injection) como mostra a figura abaixo. Figura 66 - Esquema de ligação da câmera no Raspberry Fonte: Autores Configurando a câmera Pelco O IP fixado através do browser da câmera Figura 67 - Configuração da Câmera Pelco Fonte: Pelco Em Python com a biblioteca OpenCV concta-se a câmera de vídeo, tratando as informações de uma área de interesse, onde se um objeto fosse inserido o braço robótico retira ele da área de interesse vide APÊNDICE 2 Figura 68 - Imagem da Câmera Fonte: Autores Definição das Funções e Cálculos Para auxiliar no desenvolvimento dos cálculos foi desenvolvida uma planilha no Microsoft Excel para conferir se os cálculos estão corretos seguindo as anotações de modelo DH como demostrado a baixo As medidas estão em centímetros e os ângulos em graus. Primeiramente as definições dos frames, que são os planos para cada junta. Figura 69 - Definição dos Planos para cada Junta Fonte: Autores Podendo notar que o braço Robótico é um modelo 4R (Quatro rotações) ou 4GL (quatro graus de liberdade) Primeiramente no cálculo da cinemática Direta usando o modelo DH e cria-se a matriz para cada junta e elo. Tabela 3 – Dados Modelo de DH para Cinemática Direta Junta Elo (cm) α 0 10 55 35 1 10 45 45 2 6 60 30 3 19,5 -45 45 Como resultado na planilha do Excel obteve-se a tabela abaixo Tabela 4 – Matriz Modelo
Compartilhar