CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

26
3º Congresso sobre Ambiente, Tecnologia e Educação CATE 2020 1 CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS INTELIGENTES CONSTRUCTION OF A ROBOTIC ARM USING INTELLIGENT SYSTEMS CONSTRUCCIÓN DE UN BRAZO ROBÓTICO CON SISTEMAS INTELIGENTES 1 Nome do autor: Victor Eduardo Alves da Silva Carvalho Email: [email protected] Instituição: UFPI-Universidade Federal do Piauí Nome do co-autor: José Maria Pires de Menezes Junior Email: [email protected] Instituição: UFPI-Universidade Federal do Piauí Nome do co-autor: Erilson de Sousa Barbosa Email: [email protected] Instituição: IFCE-Instituto Federal do Ceará Resumo Esta pesquisa objetiva a construção (projeto elétrico, mecânico e computacional) e controle de um braço robótico com 4 graus de liberdade e estrutura mecânica baseado no manipulador SCARA (Selective Compliance Assembly Robot Arm). Através deste projeto também é possível analisar a cinemática do manipulador, que por sua vez é utilizada em um sistema computacional para controle de posição do mesmo, bem como a confecção de peças mecânicas, estruturais e o estudo de seus materiais afim de otimizar a estrutura do protótipo, tendo como resultado um manipulador mais leve, ágil e resistente a oxidação. É feito também o uso de técnicas de processamento digital de imagens (PDI) para obter informações a respeito da posição de objetos na área de trabalho do robô. Através do estudo e construção de um sistema para reconhecimento de imagens e detecção de objetos a serem manipulados pelo braço robótico SCARA, utilizando uma câmera digital IP e linguagem de programação Python através da biblioteca OpenCV é possível identificar o posicionamento e o tamanho de objetos colocados em uma mesa dado uma determinada origem e referencial. Esses dados posteriormente foram convertidos pela interface do manipulador em coordenadas cartesianas do objeto alvo. Palavras chave: SCARA; Procesamento Digital de Imagens; OpenCV;

Transcript of CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

Page 1: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

1

CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO

SISTEMAS INTELIGENTES

CONSTRUCTION OF A ROBOTIC ARM USING INTELLIGENT

SYSTEMS

CONSTRUCCIÓN DE UN BRAZO ROBÓTICO CON SISTEMAS

INTELIGENTES1

Nome do autor: Victor Eduardo Alves da Silva Carvalho

Email: [email protected]

Instituição: UFPI-Universidade Federal do Piauí

Nome do co-autor: José Maria Pires de Menezes Junior

Email: [email protected]

Instituição: UFPI-Universidade Federal do Piauí

Nome do co-autor: Erilson de Sousa Barbosa

Email: [email protected]

Instituição: IFCE-Instituto Federal do Ceará

Resumo

Esta pesquisa objetiva a construção (projeto elétrico, mecânico e computacional) e

controle de um braço robótico com 4 graus de liberdade e estrutura mecânica baseado no

manipulador SCARA (Selective Compliance Assembly Robot Arm). Através deste projeto

também é possível analisar a cinemática do manipulador, que por sua vez é utilizada em um

sistema computacional para controle de posição do mesmo, bem como a confecção de peças

mecânicas, estruturais e o estudo de seus materiais afim de otimizar a estrutura do protótipo, tendo

como resultado um manipulador mais leve, ágil e resistente a oxidação.

É feito também o uso de técnicas de processamento digital de imagens (PDI) para obter

informações a respeito da posição de objetos na área de trabalho do robô. Através do estudo e

construção de um sistema para reconhecimento de imagens e detecção de objetos a serem

manipulados pelo braço robótico SCARA, utilizando uma câmera digital IP e linguagem de

programação Python através da biblioteca OpenCV é possível identificar o posicionamento e o

tamanho de objetos colocados em uma mesa dado uma determinada origem e referencial. Esses

dados posteriormente foram convertidos pela interface do manipulador em coordenadas

cartesianas do objeto alvo.

Palavras chave: SCARA; Procesamento Digital de Imagens; OpenCV;

Page 2: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

2

Abstract

This research aims at construction (electrical, mechanical and computational design)

and control of a robotic arm with 4 degrees of freedom and mechanical structure based on the

SCARA manipulator (Selective Compliance Assembly Robot Arm). Through this project it was

also possible to analyze the kinematics of the manipulator, which in turn was used in a computer

system to control its position, as well as the manufacture of mechanical and structural parts and

the study of its materials in order to optimize the structure of the prototype, resulting in a lighter,

more agile and oxidation-resistant manipulator.

Digital image processing (PDI) techniques were used to obtain information regarding

the position of objects in the robot's work area. We deal with the study and construction of a

system for image recognition and detection of objects to be manipulated by the SCARA robotic

arm, using an IP digital camera and Python programming language through the OpenCV library,

it was possible to identify the positioning and the size of objects placed in a table given a certain

origin and reference. These data were later converted by the manipulator interface into Cartesian

coordinates of the target object.

Keywords: SCARA; Digital Image Processing;; OpenCV;

Resumen

Esta investigación tiene como objetivo la construcción (diseño eléctrico, mecánico y

computacional) y control de un brazo robótico con 4 grados de libertad y estructura mecánica

basado en el manipulador SCARA (Selective Compliance Assembly Robot Arm). A través de

este proyecto también se pudo analizar la cinemática del manipulador, que a su vez se utilizó en

un sistema informático para controlar su posición, así como la fabricación de piezas mecánicas y

estructurales y el estudio de sus materiales con el fin de optimizar la estructura de la prototipo,

resultando en un manipulador más ligero, ágil y resistente a la oxidación.

Se utilizaron técnicas de procesamiento de imágenes digitales (PDI) para obtener

información sobre la posición de los objetos en el área de trabajo del robot. Nos ocupamos del

estudio y construcción de un sistema de reconocimiento de imágenes y detección de objetos para

ser manipulados por el brazo robótico SCARA, utilizando una cámara digital IP y lenguaje de

programación Python a través de la librería OpenCV, fue posible identificar el posicionamiento

y el tamaño de los objetos colocados en una tabla dada un cierto origen y referencia. Estos datos

fueron posteriormente convertidos por la interfaz del manipulador en coordenadas cartesianas del

objeto de destino.

Palabras clave: SCARA; Procesando imagen digital; OpenCV;

INTRODUÇÃO

Através da modernização dos processos de fabricação a robótica se tornou

indispensável para diversos setores da indústria, e começa a ser usada cada vez mais em

áreas como saúde e indústria militar. Sendo assim, cada vez mais a robótica deixa de ser

uma área teórica e acadêmica para se tornar realidade e otimizar os processos industriais

Page 3: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

3

modernos (ARAÚJO, Victor Ben-Hur Neves; MEDEIROS, Justino; BITENCOURT

Andre, 2012).

Uma ramificação importante da mesma, é o estudo de robôs manipuladores, que

possuem a capacidade de manusear objetos e realizar operações de forma mais rápida e

precisa que um ser humano. Devido à baixa resistência, um manipulador é mais indicado

em operações de montagem de sistemas que requeiram grande precisão. A velocidade é

elevada, e, embora seu alcance seja limitado, apresenta uma boa capacidade de carga

devido a complacência seletiva, aliada a uma alta repetibilidade (CARRARA, Valdemir,

2015). O estudo de manipuladores se torna benéfico para o desenvolvimento tecnológico,

tendo em vista sua gama de aplicações. Romano (2002, p.19) destaca que um manipulador

é um robô que apresenta duas juntas de rotação dispostas em paralelo para se obter

movimento num plano e uma junta prismática perpendicular a este plano, apresentando

uma translação e duas rotações.

Esta pesquisa tem como objetivo principal a construção e controle de um braço

robótico com 4 graus de liberdade e estrutura mecânica baseado no manipulador SCARA,

bem como analisar métodos de processamento de imagem afim de construir um sistema

robusto e preciso para detecção de objetos com cores distintas que se encontrem dentro

da área de trabalho do robô, constatar a eficácia destes métodos por meio de testes

realizados com fotos reais obtidas em laboratório.

Outros objetivos desse projeto é: analisar a capacidade de obtenção dos dados de

localização de objetos a partir da imagem e de informações sobre suas dimensões, obter

as coordenadas cartesianas dos pontos de apoio (centroides) para objetos com cores

distintas bem como a área da vista superior do mesmo. Para solucionar os problemas

apresentados anteriormente é feito um levantamento de métodos que pudessem fornecer

as informações necessárias das dimensões e localização de objetos. Os métodos mais

concebidos pela comunidade acadêmica para aplicações semelhantes a estas são

utilizando processamento de imagem e sensoriamento na obtenção dos valores de tais

variáveis. No processamento de imagem temos que a partir de fotos do ambiente são

obtidas informações a respeito dos objetos em estudo, através do uso de sensores de

distância são extraídos dados de localização do objeto em relação ao ponto de referência

(ponto onde o sensor se localiza).

O projeto também se propõe a estudar a cinemática do braço robótico, que por

sua vez é utilizada no sistema para controle de posição do mesmo, bem como a construção

Page 4: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

4

de peças mecânicas e seus materiais para otimização da estrutura do protótipo, tendo

como resultado um manipulador mais leve, ágil e resistente a oxidação. Todas as

características e interações de cada um dos componentes elétricos e mecânicos são

demonstradas detalhadamente ao longo do trabalho. Por fim é apresentado um modelo

através de modelagem computacional e um protótipo que será utilizado como um

manipulador de objetos para fins didáticos de ensino, pesquisa e aprendizado da robótica

e automação.

CONSTRUÇÃO DO BRAÇO SCARA

A pesquisa bibliográfica a respeito do tema nos permite o estudo de alguns

projetos de construção distintos para robôs do tipo SCARA e assim fazer adaptações

necessárias à nossa realidade de projeto, logo após foi feita a construção da interface

gráfica em linguagem de programação Python utilizando a biblioteca Tkinter e a

construção do código de controle utilizando o microcontrolador Arduino na linguagem

de programação Sketch. As metodologias adotadas são baseadas no orçamento para

aquisição das peças e componentes necessários, na modelagem computacional dos

sistemas mecânicos do braço, bem como no desenho (em 2D) e projeto dos mesmos, na

programação e configuração da interface gráfica de comandos e no dimensionamento e

instalação dos componentes elétricos do manipulador (sensores, motores, drivers e etc...),

analisando o melhor posicionamento dos mesmos. Após o desenho de todas as peças

mecânicas em 2D é possível obter uma projeção para o formato e as dimensões do

manipulador, este processo foi crucial para a obtenção de um modelo planificado do robô,

bem como para a modelagem 3D que se sucedeu logo após essa etapa.

A seguir, na Figura 1 é visto a modelagem bidimensional da vista de perfil do

protótipo com todas as dimensões cotadas em escala 1:1, onde a figura foi criada com o

auxílio do software Autocad.

Figura 1 — Vista de perfil do braço robótico SCARA.

Page 5: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

5

Fonte: Elaborada pelo próprio autor, 2019.

Na Figura 2 é possível verificar a modelagem (projeto) em duas dimensões da coluna

central de sustentação do robô e na Figura 3 as cantoneiras de apoio, dos blocos para

alinhamento de mancais, das chapas primária e secundária de sustentação dos motores de

passo e do suporte para conexão entre blocos de fusos.

A partir das figuras em 2D é realizada a modelagem 3D do protótipo com tamanho

e formato em escalas reais, utilizando o software Fusion 360.

Figura 2 — Vistas frontal e traseira das chapas de sustentação do robô SCARA.

Page 6: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

6

Fonte: Elaborada pelo próprio autor, 2019.

Com esta modelagem pronta é possível comprovar os valores da área útil de trabalho e

entender melhor o comportamento da dinâmica do braço robótico SCARA considerando

condições ideais de funcionamento, sem deformação das partes mecânicas (considerando

como um corpo rígido) e sem vibrações na estrutura. Após a etapa de modelagem

tridimensional detecta-se algumas características indesejadas da estrutura, sendo possível

realizar o ajuste no tamanho de algumas peças antes da montagem final.

Figura 3 — Vista superior das chapas de sustentação dos motores de passo e do suporte

para conexão de blocos do robô SCARA.

Page 7: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

7

Fonte: Elaborada pelo próprio autor, 2019.

É possível observar o robô SCARA modelado na Figura 4, já na Figura 5 é

possível analisar a vista explodida do protótipo. Com esta imagem é possível obter mais

detalhes a respeito dos elos de conexão entre motores de passo, do fuso esférico e do eixo

linear conectado ao fuso bem como de outras partes mecânicas do braço. Após este

processo foi obtido um levantamento de todas as peças mecânicas e materiais elétricos

necessários para a construção do protótipo, bem como do custo estimado para a aquisição

das mesmas, esse levantamento pode ser visto na Tabela 1.

Figura 4 — Modelo manipulador robótico em 3D.

Fonte: Elaborada pelo próprio autor, 2019.

Page 8: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

8

Figura 5 — Vista explodida do manipulador modelado em 3D.

Fonte: Elaborada pelo próprio autor, 2019.

Tabela 1 — Levantamento de todos os componentes elétricos e mecânicos utilizados no

projeto.

Fonte: Elaborada pelo próprio autor, 2019.

Fazendo uma breve apresentação dos componentes descritos na Tabela 1 temos

na Figura 6 o fuso de esferas de 16mm de diâmetro com 5mm de passo de rosca e 30cm

de comprimento, bem como a porca bola que fica acoplada a castanha do fuso e os

mancais para fuso de esfera BK/BF 12. A estrutura articulada do robô está conectada a

ITEM QUANTIDADE

Acoplador Mandibular 3

Cantoneiras para Fixação 80x93 e 30x93 4

Conector de ABS entre Pillow Block e Porca Bola 1

Conector entre Pillow Block e Porca Bola 1

Porca bola para castanha 1605 SFU 1605 1

Driver Motor de Passo TB6600 3

Eixo Linear Retificado 12mm com 30cm 1

Filamento ABS par impressora 3D 1

Fita Isolante 1

Kit Barra de Fuso Esférico com Castanha 1605 e Mancais 1

Kit com Porcas e Parafusos 1

Mancal com Rolamento KP000 4

Mancal de Apoio para Eixo Linear 12mm e 16mm 4

Motor de Passo NEMA 23 19Kg.cm 3

Perfil de Alumínio Estrutural 200x20x20 2

Pillow Block 12mm 1

Suporte de ABS para mancais e Fuso Esférico 6

Suporte Motor de Passo Nema 23 3

Tarugo de Aço Inóx 1040-1 polegada-50cm 1

Arduino Uno 1

Suporte de encaixe garra robótica (PLA) 1

Page 9: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

9

porca bola, logo como resultado da movimentação do eixo do fuso de esfera temos que a

estrutura se desloca para cima e para baixo no eixo cartesiano Z.

Figura 6 — Kit com fuso de esferas 1605, porca bola para castanha SFU 1605 e mancal

para fuso de esferas BK/BF 12.

Fonte: Ali Express, 2019.

A partir da Figura 7-a) é possível observar os perfis de alumínio estrutural

utilizados para a construção dos braços (elos) do manipulador. Os perfis tem dimensões

de 200x20x20 em milímetros e contém um orifício central que é rosqueado a partir de

técnicas de usinagem. É mostrado na Figura 7-b) os mancais de suporte utilizados para

realizar a conexão fixa entre os braços (elos) de alumínio e os eixos retificados que estão

acoplados aos motores de passo. Estes eixos se conectam ao suporte através do orifício

central do mesmo e ficam apertados de tal forma que não há escorregamento entre os

mancais e eixos. Como resultado deste acoplamento tem-se que cada movimento angular

do eixo é acompanhado pelo suporte. Os mesmos sempre estão parafusados em chapas

metálicas e estas são conectadas aos braços (elos) do robô.

Page 10: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

10

Figura 7 — Componentes Mecânicos utilizados para montagem da estrutura do robô:

(a) Perfil de Alumínio estrutural com 20cm de comprimento e 20mmx20mm. (b)

Mancal suporte de Alumínio. (c) Acoplador de mandíbula flexível para eixos 8mm-

10mm. (d) Mancal com rolamento para eixos 10mm.

Fonte: Mercadolivre.com, 2019.

Fonte: Mercadolivre.com, 2019.

Fonte: Aliexpress.com, 2019. Fonte: Mercadolivre.com, 2019.

É possível verificar através da Figura 7-(c) o acoplador do tipo mandibular

utilizado no projeto para conexão entre os eixos dos motores de passo e os eixos de aço

inox retificado. Este acoplador se conecta aos mesmos de forma a não permitir

escorregamentos. A fixação entre os eixos retificados e as chapas primária e secundária

de suporte se dá através dos mancais com rolamento, que pode ser visto na Figura 7-(d).

O conjunto final da montagem destes componentes gera um sistema sem folgas ou

escorregamentos, que permite a passagem do deslocamento angular do eixo motor de

passo para os braços (elos). Como resultado tem-se a movimentação controlada dos

braços do robô SCARA.

Para a construção do manipulador são necessárias várias peças feitas sob medida,

em que o uso de impressão 3D se faz muito necessária. A principal delas é o conector de

Page 11: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

11

blocos, em que o mesmo desempenha um papel fundamental na dinâmica do robô, pois

faz a ligação entre o pillow block que se encontra na parte traseira do protótipo e a

castanha do fuso que se encontra na frontal. Com esta combinação a castanha de fuso

perde um grau de liberdade e tem movimento resultante apenas no eixo Z. Como

consequência disto, a estrutura do manipulador que se conecta a castanha do fuso se move

para cima e para baixo (subindo ou descendo). A partir da Figura 8 é possível observar o

design do conector de blocos.

Figura 8 — Conector de blocos que fixa o pillow block a castanho do fuso esférico.

Fonte: Elaborada pelo próprio autor, 2019.

Através da Tabela 2 são apresentados os equipamentos elétricos e eletrônicos, com

a descrição de suas respectivas características, bem como a estimativa de consumo de

potência de cada um deles.

Tabela 2: Característica elétricas dos componentes utilizados no projeto.

ITEM POTÊNCIA QUANTIDADE TENSÃO CORRENTE

Motor de passo 36W 3 12V 3A

Driver motor de passo 10W 3 12 até 48V Até 48V

Fonte de alimentação 120W 1 12V 10A

POTÊNCIA TOTAL 153W

Fonte: Elaborada pelo próprio autor, 2019.

A partir da Figura 9 é possível observar a fonte de alimentação utilizada no

projeto. Ela possui potência real de até 120W e pode fornecer uma tensão contínua de

12V. O dimensionamento da fonte se deu através do levantamento de cargas e potência

dos dispositivos utilizados no projeto.

Page 12: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

12

Figura 9 — Fonte de alimentação chaveada DC utilizada no projeto.

Fonte: Baúdaeletrônica.com, 2019.

É possível verificar na Figura 10 o driver utilizado no projeto para realizar o

controle dos motores de passo. Este driver permite outra função importante, a proteção

do circuito e configuração de micro passo, que permite o aumento da precisão do braço

robótico. O driver possui a entrada isolada da saída de sinal através de optoacopladores,

o que protege o microcontrolador e os motores, além de facilitar a manutenção.

Figura 10: Driver de motor de passo TB6600.

Fonte: Usermanual.wiki, 2019.

Page 13: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

13

Na Figura 11 é possível apreciar o motor de passo utilizado no projeto, que

possui torque de 19Kgf.cm e passo mínimo de 1,8° com erro de 5%. Com a utilização do

driver TB6600 pode-se fracionar este passo mínimo em até 32 vezes, chegando a obter

um micro passo de 0,05625°. Isso resulta em uma maior precisão do robô, tendo em vista

que é possível alcançar uma quantidade maior de pontos no plano X, Y.

Figura 11 — Motor de Passo NEMA 23 – 24 kgf.cm / 2A.

Fonte: Wotiom.com, 2019.

Através da Figura 12, tem-se o microcontrolador utilizado no projeto para

comando dos motores de passo. O mesmo recebe o sinal dos sensores que serão

instalados. O Arduino faz conexão com o computador através da porta serial recebendo

assim dados da interface gráfica.

Figura 12 — Arduino UNO.

Page 14: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

14

Fonte: Arduino.cc, 2019.

Para a manipulação dos objetos utiliza-se uma garra robótica do tipo grapper.

Esta garra é constituída por 2 servo motores modelo MG996R com torque de 9Kg/cm,

em que um deles tem a função de abrir e fechar a garra enquanto o outro realiza a rotação

da mesma em relação ao seu eixo de fixação. Isso proporciona a versatilidade de poder

transladar e rotacionar objetos em todo o plano de trabalho do braço robótico. A seguir é

possível observar a constituição da garra através da Figura 13.

Figura 13: Vista superior da garra robótica utilizada como efetuador.

Fonte: Aliexpress.com, 2019.

A garra é feita de alumínio e utiliza conectores de plástico para acoplamento. É

importante ressaltar ainda as dimensões da mesma, tendo em vista que isso limita a

quantidade de objetos a serem agarrados, pois é necessário que o objeto esteja contido

dentro da garra para poder ser manipulado através dela. Logo para satisfazer as condições

citadas é necessário que objeto tenha área e diâmetro menores do que à da garra aberta.

Verifica-se estas dimensões observando a Figura 14.

Figura 14 — Dimensões da garra robótica fechada e aberta.

Page 15: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

15

Fonte: Aliexpress.com, 2019.

Por inspeção da Figura 14 é possível afirmar que o diâmetro da garra aberta é de

55mm e a área é de 2940mm². A área é estimada considerando o espaço livre da garra

aberta como sendo um retângulo de 55mm de largura e 54mm de altura.

CINEMÁTICA INVERSA

Diante da necessidade de obter um sistema de comandos cartesianos para o

manipulador é necessária a determinação da cinemática inversa. Este estudo do modelo

cinemático se faz crucial para ser possível obter as posições angulares (das juntas do

manipulador) ou cartesianas que o efetuador (elemento terminal do manipulador) poderá

obter mediante um dado parâmetro. No tocante à Cinemática Inversa, deve-se obter as

posições angulares das juntas para uma dada posição cartesiana do efetuador. Observando

a Figura 15 pode-se verificar um modelo de vista superior do braço robótico. Aplicando

a análise geométrica na Figura 15 e utilizando relações trigonométricas é possível obter

expressões para cada coordenada cartesiana do efetuador, onde as variáveis de entrada do

sistema são os pontos (x,y) do plano e os ângulos θ1 e θ2 dos braços do manipulador são

as variáveis de saída. É importante destacar que os parâmetros l1 e l2 são os

comprimentos de cada elo (parte fixa do manipulador) existente entre duas juntas.

Figura 15 — Modelo de um robô SCARA planar visto de cima.

Fonte: Elaborada pelo próprio autor, 2019.

Executando a representação das coordenadas (x,y) em função dos parâmetros θ1,

θ2, l1 e l2 é possível obter as Equações 1 e 2.

y = 𝑙 1 sen θ1 + 𝑙 2 sen(θ1 + θ2), (1)

Page 16: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

16

x = 𝑙 1 cos θ1 + 𝑙 2cos(θ1 + θ2). (2)

A relação entre as variáveis C, X e Y pode ser vista a partir da Equação 3, onde

é possível fazer essa afirmação pelo teorema de Pitágoras:

C²=x²+y², (3)

e utilizando a lei dos cossenos para o ângulo suplementar a 𝜃2 obtemos a Equação 4:

C²= 𝑙1²+ 𝑙2²-2𝑙1*𝑙2𝑐𝑜𝑠(180°- θ2), (4)

então pela igualdade entre as equações de (C²) temos a Equação 5:

x²+y² = 𝑙1²+ 𝑙2²-2𝑙1*𝑙2𝑐𝑜𝑠(180°- θ2), (5)

desenvolvendo a expressão da equação 5 e isolando θ2 resulta na Equação 6:

θ2 = ±𝑐𝑜𝑠−1(𝑥2 + 𝑦2 − 𝑙21 − 𝑙22)/(2𝑙1 ∗ 𝑙2), (6)

agora utilizando as relações da tangente da subtração para os ângulos 𝛼 e 𝛽, temos a Equação 7:

tang (𝛼−𝛽) = tang(θ1). (7)

Relacionando a tangente de θ1 com as variáveis X e Y vemos a Equação 8:

tang(θ1) = (y*x), (8)

e por igualdade entre as equações 7 e 8 a obtém-se a Equação 9:

θ1 = 𝑡𝑎𝑛𝑔−1(𝑦∗(𝑙1+𝑙2∗cos θ2 )−𝑥𝑙2∗sen θ2

𝑥∗(𝑙1+𝑙2∗cos θ2 )−𝑦𝑙2∗sen θ2). (9)

A cinemática do ângulo 𝜃3 é obtido por inspeção, tendo em vista que o fuso

esférico utilizado no projeto tem um passo de rosca igual a 5mm, logo se a coordenada Z

é dada em milímetros a função do espaço é linear e dependente de Z e pode ser vista na

equação 10:

θ3 = (𝑍* 72°). (10)

Afim de realizar o controle do braço robótico foi criada uma interface gráfica de

usuário na linguagem de programação Python. Esta interface permite enviar comandos

de posicionamento ao microcontrolador Arduino Uno através da porta serial, este por vez

processa os dados e comanda pulsos adequados aos drivers de motor de passo. A interface

utiliza da modelagem matemática em cinemática inversa para relacionar a posição

espacial do ponto alvo (X,Y,Z) aos ângulos θ1, 𝜃2 e 𝜃3 dos quais os motores devem se

deslocar. A interface permite ao usuário inserir uma determinada coordenada (X,Y,Z) do

Page 17: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

17

espaço em milímetros e tem como resultado os ângulos dos quais o eixos devem se

movimentar para chegar ao ponto desejado, considerando que o manipulador se encontra

com coordenadas (𝜃1 = 𝜃2 =𝜃3 =0) no início da movimento.

PROCESSAMENTO DIGITAL DE IMAGENS

O presente trabalho faz o uso de técnicas de Processamento Digital de Imagens

(PDI) para obter informações a respeito da posição de objetos na mesa, captados por meio

de uma câmera, posteriormente o robô poderá manusear objetos que se encontram dentro

da sua área de trabalho. No entanto, para manipular os objetos é utilizado uma garra como

efetuador. Com isso, destaca-se a importância no desenvolvimento deste projeto, por ser

capaz de fomentar o estudo da robótica e visão computacional, podendo ajudar na

construção do conhecimento nessas áreas, sendo amplamente difundida e importante para

a formação de um futuro Engenheiro Eletricista.

Para realizar a aquisição das imagens do plano de trabalho é utilizado uma

câmera de modelo IP com resolução de 720p. Esta câmera fica ajustada a uma distância

apropriada do plano de trabalho (afim de obter um fator de escala de 1:1 e onde cada pixel

seja igual a 1mm), de forma a facilitar o foco e captar boa luminosidade do ambiente. O

ajuste da distância ideal para se obter um fator de escala de 1:1 foi realizado

empiricamente através da medição da área de um objeto de dimensões conhecidas, foram

utilizados métodos iterativos para contagem dos pixels correspondentes, por fim o

resultado foi uma quantidade de pixels limiarizados igual a área (medida em milímetros)

na vista superior do objeto de interesse.

Na detecção de objetos foi utilizado a aplicação de uma máscara na imagem, esta

mesma fará o destaque da borda do objeto.

Define-se borda (edge) como a fronteira entre duas regiões cujos

níveis de cinza predominantes são razoavelmente diferentes. Pratt define uma

borda de luminosidade como uma descontinuidade na luminosidade de uma

imagem. Analogamente, pode-se definir borda de textura ou borda de cor, em

imagens onde as informações de textura ou cor, respectivamente, são as mais

importantes (FILHO, Ogê Marques; NETO, Hugo Vieira, 1999, p.58).

Dentre os métodos estudados para detecção/seleção de bordas em imagens o que

se mostrou mais eficiente e robusto é o de aplicação de filtros para realce ou destaque de

áreas desejadas dentro da imagem, configurando assim um filtro rastreador de objetos

com características desejadas. Para a detecção e realce de bordas, aplicam-se

Page 18: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

18

habitualmente filtros espaciais lineares de dois tipos: (a) baseados no gradiente da função

de luminosidade, I(x,y), da imagem, e (b) baseados no laplaciano de I(x,y) (FILHO, Ogê

Marques; NETO, Hugo Vieira, 1999, p.58). É escolhido a utilização de técnicas baseadas

no gradiente da função de luminosidade e na seleção do limiar de faixa de cores no espaço

HSV.

Figura 16 — Vista superior do plano de trabalho do manipulador SCARA.

Fonte: Elaborada pelo próprio autor, 2019.

Para a detecção de objetos é utilizado como critério de distinção entre pixels as

cores contidas na imagem. Sendo assim a conversão do espaço de cores se fez necessária

pois no espaço RGB é mais difícil repassar ao sistema informações a respeito do brilho e

saturação de cor. Estas informações são fundamentais para distinguir objetos que

possuem cores parecidas, porém tem tonalidades diferentes, aumentando assim a precisão

e robustez do filtro. O modelo HSV é utilizado quando se tem que combinar cores, ou

determinar programaticamente se uma cor é semelhante a outra cor (CARDANI, Darrin,

2001, p.2).

A aplicação do filtro de cor se dá por meio de uma interface gráfica que permite

selecionar a cor de referência a ser separada na imagem. Logo após essa seleção o

programa limiariza todos os pixels que estão fora da escala HSV determinada. Como

resultado tem-se apenas pixels pretos (com tonalidade igual a zero) e os pixels dentro da

faixa de cor determinada. O objeto de interesse fica destacado e então é possível observar

seu formato. Para determinar a coordenada associada ao objeto alvo o algoritmo busca

Page 19: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

19

sempre a posição do centroide na figura resultante da limiarização na imagem. As

coordenadas cartesianas deste ponto são extraídas e depois repassadas manualmente para

a interface gráfica de controle do robô. A seguir é possível observar na Figura 16 a vista

superior a partir do posicionamento da câmera.

Para aplicação do método de filtragem de cor escolhido o histograma foi de

fundamental importância para definir a faixa de intensidade dos pixels (GONZALES,

2010, p.78). Na identificação dos níveis de intensidade de cor (tonalidade), utiliza-se a

técnica de composição do histograma, em que é através dela que é possível identificar a

concentração de pixels em uma determinada faixa de tonalidade. Esta informação é

importante para compor o intervalo de valores das variáveis HSV e estes são importantes

para filtrar as cores na imagem, definindo assim níveis superior e inferior de amplitude

para os valores de HSV. A seguir é visto na Figura 17 o histograma obtido a partir da

filtragem da cor azul na imagem da Figura 16.

Figura 17— Histograma obtido a partir da aplicação do filtro de cor azul na Fig.7

Fonte: Elaborada pelo próprio autor, 2020.

A seleção de uma cor a ser filtrada é realizada através da interface gráfica, em

que ela fornece a opção para filtrar 6 cores distintas: azul, vermelho, verde, amarelo,

branco e preto. Logo a escolha da cor a ser filtrada é inteiramente do usuário e para este

experimento as cores utilizadas foram azul e verde, pois eram as cores predominantes das

Page 20: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

20

garrafas disponíveis para o teste. É possível visualizar na Figura 18 a interface gráfica do

filtro de cores.

Figura 18— Interface gráfica do filtro de cores.

Fonte: Elaborada pelo próprio autor, 2020.

RESULTADOS E DISCUSSÕES

Como resultado foi obtido a criação da interface gráfica do robô bem como a

montagem e programação do mesmo. É possível observar através da Figura 19 a interface

gráfica de controle em execução. A interface permite ao usuário escolher o ponto de

destino no espaço para que o braço robótico possa se movimentar. É através dela que o

usuário pode comandar o manipulador e interagir assim com o mesmo.

Figura 19 — Janela inicial da interface gráfica de controle para usuário.

Fonte: Elaborada pelo próprio autor, 2020.

Page 21: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

21

A montagem concluída do manipulador SCARA pode ser visualizada através da

Figura 20. A montagem atendeu as expectativas e obteve um rendimento próximo do

simulado, apresentando baixas vibrações da estrutura física.

Figura 20 — Protótipo de robô SCARA/GRASI finalizado.

Fonte: Elaborada pelo próprio autor, 2019.

Como resultado da detecção de cor foi obtido as coordenadas X e Y do centro

de massa na vista superior do objeto e também a área ocupada pelo mesmo na superfície

da mesa. Com estas informações é possível identificar o ponto ideal para posicionamento

da garra robótica, segurar o objeto e assim manipulá-lo com movimentos de translação

ou rotação. Toda a movimentação inicial do manipulador é realizada com a garra aberta

e acima do plano do objeto, apenas quando se chega ao ponto alvo (coordenada do centro

de massa) o braço robótico desce a garra até o objeto identificado (movimentando-se no

eixo Z), e faz o fechamento da mesma, afim de agarrar o objeto.

O método de PDI utilizado no programa baseia-se na utilização de limites

superior e inferior das variáveis HSV (matiz, saturação e brilho) para criação da máscara

de filtragem de cor. Estes valores são bem definidos para cada cor e tonalidade

selecionada, visto que o intervalo pode ser dimensionado. É escolhido então valores de

limites que abrangessem uma variedade de tonalidades das cores escolhidas (branco,

preto, azul, verde, vermelho, amarelo), tendo em vista que os objetos da Figura 20 tinham

cores bem distintas.

Como critério de separação de pixels optou-se por conservar as propriedades de

cor de objetos que estavam dentro dos limites estipulados de HSV e atribuir como 0 a

tonalidade de pixels que estavam fora do intervalo, isso equivale a deixar todos os pixels

Page 22: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

22

da imagem pretos exceto os pixels da cor selecionada para filtragem. O resultado da

aplicação do filtro nas cores azul e verde podem ser observados a partir da Figura 21 e

Figura 22, onde é verificado que após a aplicação da máscara tem-se apenas as garrafas

azul e verde destacadas na imagem.

Figura 21 — Resultado da aplicação do filtro de cor azul na Fig.16.

Fonte: Elaborada pelo próprio autor, 2020.

Figura 22 — Resultado da aplicação do filtro de cor verde na Fig.16.

Fonte: Elaborada pelo próprio autor, 2020.

A construção de uma interface gráfica para o filtro de cor permite ao usuário

selecionar qual cor se deseja filtrar na figura, visualizar o tamanho do objeto e as

coordenadas do centro de massa do mesmo. Para a construção do código em Python

utiliza-se as seguintes bibliotecas: OpenCV, Numpy, Matplotlib, Tkinter e OS, e estas

não são bibliotecas nativas da linguagem e foram instaladas através do módulo PIP.

Page 23: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

23

Primeiro é aplicada uma máscara para destacar os objetos de interesse na

imagem, após a aplicação da máscara o programa faz uma binarização da mesma e

converte todos os pixels diferentes de preto (com tonalidade=0) em pixels brancos (com

tonalidade=255), este processo facilita o destaque e visualização da figura formada na

imagem. Através da Figura 23 e Figura 24 percebe-se o resultado desta binarização.

Figura 23 — Resultado da binarização na Fig.21.

Fonte: Elaborada pelo próprio autor, 2020.

Figura 24 — Resultado da binarização na Fig.20 (Acervo do autor, 2020).

Fonte: Elaborada pelo próprio autor, 2020.

Através de um método iterativo a matriz que representa a imagem binarizada é

percorrida por completa em busca de pixels brancos (tonalidade=255). Quando o

algoritmo identifica esses pixels suas coordenadas são armazenadas em variáveis

Page 24: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

24

correspondentes (X e Y) e somadas a coordenadas anteriores. Por fim o valor dessas

variáveis são divididas pelas dimensões (X,Y) da imagem e assim são obtidas as

coordenadas do centro de massa. O centroide do objeto está assinalado na Figura 23 e

Figura 24 com um ponto de cor amarela, na Figura 19 é possível observar que as

coordenadas deste ponto (centro de massa) são prontamente repassadas a interface gráfica

e então exibidas para o usuário.

CONSIDERAÇÕES FINAIS

É observado através deste trabalho que é viável a construção de um robô SCARA

de baixo custo quando comparado a manipuladores industriais com características

similares. Da concepção a elaboração do protótipo são realizadas as especificações e

detalhamento do mesmo. Tendo em vista o alto valor comercial deste tipo de manipulador

robótico obteve-se um protótipo com configuração robusta, baixo consumo de potência e

uma boa relação custo benefício, tendo em vista o valor comercial que foi estipulado no

orçamento.

A simulação e modelagem 3D comprova a viabilidade técnica da estrutura física

do robô, assim também foi criada uma interface gráfica de controle que se utiliza da porta

serial do computador para realizar a conexão com o microcontrolador, bem como um

sistema de aquisição de imagens para detecção de objetos classificados por cor.

É possível concluir através de pesquisa bibliográfica e de testes aplicados em

laboratório que o processamento digital de imagem (PDI) é eficiente na análise de dados

obtidos a partir de fotos, portanto é ideal para aplicações em visão computacional onde é

necessário extrair informações de imagens reais. O algoritmo se mostrou eficaz e preciso

na detecção de objetos e na aquisição de coordenadas cartesianas dos mesmos, bem como

no cálculo estimado da área do objeto a partir de uma vista superior. Também foi possível

observar a robustez dos métodos adotados, tendo em vista que a imagem selecionada para

filtragem tem objetos de cores e tonalidades semelhantes.

A revisão bibliográfica apontou ainda que o controle em malha aberta é eficiente

para reduzir vibrações e otimizar a velocidade de execução nos movimentos do

manipulador robótico. Por fim verificamos ainda a versatilidade do microcontrolador

Arduíno e da linguagem de programação Python, ambos oferecem suporte e

compatibilidade a várias bibliotecas que auxiliaram na construção do programa de

controle e da interface gráfica, na comunicação serial, na plotagem de gráficos e figuras

Page 25: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

25

e no processamento digital de imagens (PDI).

REFERÊNCIAS

ARAÚJO, Victor; BITENCOURT, Andrea; MEDEIROS Justino. Desenvolvimento de

robô manipulador com juntas rotacionais e prismática, CONNEPI, Palmas, v.7, out.

2012.

ARDUINO uno wifi rev2. Arduino, 2020. Disponível

em:<https://store.arduino.cc/usa/arduino-uno-wifi-rev2> Acesso em: 06 de Nov. de

2020.

BW Três Mandíbula D25L30 Acoplador CNC de Alumínio Plum Eixo Flexível

Acoplamento Do Motor Conector Flexível Acoplador 5/6/6.35/8/10/12mm. AliExpress,

2019. Disponível em: <https://bit.ly/3p9ykcE> Acesso em: 25 de fev. de 2020.

CÂMERA de Segurança Ip 3 Antenas Wireless Sem Fio WI-FI HD. Amazon, 2019.

Disponível em: < https://amzn.to/35s7X94 >. Acesso em: 25 de fev. de 2020.

CARDANI, Darrin. Adventures in HSV Space. Budapeste: Pázmány Péter Catholic

University, 2001 Disponível em: <http://robotlab.itk.ppke.hu/~rakadam/hsvspace.pdf >.

Acesso em 19 de agosto de 2020.

CARRARA, Valdemir. Apostila de Robótica. São José dos Campos: Instituto Nacional

de Pesquisas Espaciais - INPE, 2009. Disponível em:

<http://urlib.net/8JMKD3MGP3W34P/3K5JPL8>. Acesso em 9 de agosto de 2019.

TB6600 User Guide V1.2. User Manual, 2020. Disponível em:

<encurtador.com.br/dqGIP>. Acesso 06 de Fev. de 2020.

FILHO, Ogê; NETO, Hugo. Processamento Digital de Imagens. 1° Edição. Rio de

Janeiro: Brasport, 1999.

FONTE chaveada 120W 12V 10A. Baú da Eletrônica, 2018 Disponível em :<

https://www.baudaeletronica.com.br/fonte-chaveada-120w-12v-10a.html>. Acesso 06

de Fev. de 2020.

GONZALES, Rafael; WOODS, Richard. Processamento Digital de Imagens. 3ed. São

Paulo: Pearson Prentice Hall, 2010.

Page 26: CONSTRUÇÃO DE UM BRAÇO ROBÓTICO UTILIZANDO SISTEMAS ...

3º Congresso sobre Ambiente, Tecnologia e Educação – CATE 2020

26

KP002 - Kit 2 Mancal C Rolamento P Eixo Linear E Fusos 15mm. Mercado Livre,

2019. Disponível em: <https://bit.ly/3l8ChMj>. Acesso em: 25 de fev. de 2020.

MASUTANI, Victor; ARTERO, Almir; ALMEIDA, Leandro; SILVA, Francisco.

Reconhecimento de objetos coloridos e mãos usando cores e formas. Colloquium

Exactarum, Presidente Prudente, v. 5, n. 1, p. 3-11, abr./jun. 2013.

STEPPER Motor NEMA 23 24 kgf.cm / 2A. Wotiom, 2019. Disponível em

:<https://www.wotiom.com/en/stepper-motor-nema-23-24kgf-cm-2a/ >. Acesso 22 de

Fev. de 2019.

PERFIL de Alumínio Estrutural V-slot 20x20 Kit 2 Peças. Mercado Livre, 2020.

Disponível em: <https://bit.ly/32mgOIn>. Acesso 06 de Fev. de 2020.

PRETO 2 dof manipulador braço mecânico pinça braçadeira kit para robô mg996r diy

rc brinquedo peças. AliExpress, 2019. Disponível em: <https://bit.ly/3dTXUgE>.

Acesso em: 25 de fev. de 2020.

RODRIGUES, Denilson Laudares et all. Manipulador robótico horizontal tipo SCARA-

robô S4 uma plataforma aberta para desenvolvimentos e implementações em robótica. -

SBAI- Simpósio Brasileiro de Automação Inteligente, SãoPaulo, v. 4, p. 177-182,

Set. 1999.

ROMANO, Vitor. Robótica Industrial: Aplicação na indústria de manufatura e de

processos. 1 ed. São Paulo: Edgard Blucher, 2002.

STOYCHITCH, Mihaylo. An algorithm of linear speed control of a stepper motor in

real time. Annals Of Faculty Engineering Hunedoara: International Journal of

Engineering, Hunedoara, v. 11, n. 3, p. 51-56, mar/abr. 2013.

KIT C/ 10 Suporte Para Eixo Guia Linear 10mm Sk10 Cnc Router. Mercado Livre,

2019. Disponível em: < https://bit.ly/2JH63Kk> Acesso em: 25 de fev. de 2020.