• Nenhum resultado encontrado

Desenvolvimento de uma solução de bin-picking robotizada

N/A
N/A
Protected

Academic year: 2021

Share "Desenvolvimento de uma solução de bin-picking robotizada"

Copied!
82
0
0

Texto

(1)

Desenvolvimento de uma solução de bin-picking robotizada

Nuno Alexandre Moreira do Rosário

Dissertação do MIEM

Orientador: Professor Doutor Germano Veiga

Coorientador na SARKKIS Robotics, Lda.: Engenheiro Pedro Malaca

Mestrado Integrado em Engenharia Mecânica Especialização de Automação

(2)
(3)
(4)
(5)

Resumo

As tecnologias de visão computacional têm vindo a ser fortemente desenvolvidas desde a segunda metade do último século, sendo que a sua aplicação a processos de bin-picking só começou a ser estudada num passado algo recente, ao se perceber que a combinação de um processo de reconhecimento de objetos e tratamento de imagem aliado a um equipamento robótico poderia contribuir com um vasto número de benefícios em ambientes industriais, transcendentes a inúmeras áreas. Com efeito, esta aliança das duas tecnologias auxilia bastante os processos de seleção e transporte de peças, que possam encontrar-se desorganizadas ou empilhadas num recipiente, em termos de otimização de tempo, redução de erros e rapidez de execução.

O projeto aqui apresentado foi desenvolvido na SARKKIS Robotics Lda., com equipamento providenciado pelo INESC TEC e consistiu no desenvolvimento de uma solução de bin-picking para aplicação numa célula robotizada. Trata-se de uma solução passível de ser utilizada com qualquer tipo de objetos e utilizada com uma variedade de estruturas robóticas que permite efetuar um pick and place rápido, em caso de necessidade.

A parte principal do trabalho consistiu no desenvolvimento de um programa de correspondência ou matching 3D, com recurso ao software HALCON 13.0, que utilizando como referência um modelo CAD de um certo objeto, é capaz de identificar as várias instâncias do mesmo objeto numa cena de trabalho e computar as suas poses, para posterior comunicação ao robô, que efetuará o deslocamento das peças.

A segunda parte baseou-se num estudo intensivo da influência de vários parâmetros que regem o processo de correspondência efetuada pelo algoritmo do HALCON no resultado final, tentando-se também discutir valores ótimos para os mesmos de modo a otimizar o processo.

O objetivo da dissertação centra-se no estudo dos parâmetros do matching, tentando-se aqui realizar uma descrição do comportamento do programa face à variação dos parâmetros que o controlam, para definir valores ótimos que se enquadrem nesses parâmetros e fornecer informação suficiente aos utilizadores do mesmo para que estes possam saber como melhor alterá-los em caso de necessidade.

Em termos de resultados, será apresentada em detalhe a solução desenvolvida e proceder-se-á à apresentação dos resultados dos testes e à definição dos valores mais adequados para os parâmetros do programa encontrados no decorrer dos mesmos.

(6)
(7)

Development of a robotic 3D bin-picking solution

Abstract

The technologies of computer vision have been strongly developed since the second half of the last century, and their application to bin-picking processes only began to be studied in a recent past, when it was realized that the combination of a process of object recognition and image processing with robotic equipment could contribute to a wide range of benefits in industrial environments transcending numerous areas. Indeed, this alliance of the two technologies greatly helps the process of selecting and transporting parts, which may be disorganized or stacked in a container, in terms of time optimization, error reduction and speed of execution.

The project presented here was developed at SARKKIS Robotics Lda., with equipment provided by INESC TEC and consisted in the development of a bin-picking solution for application in a robotic cell. It is a solution that can be used with any type of object and applicable to a variety of robotic structures that allows to execute a quick pick and place, if necessary.

The main part of the work consisted in the development of a 3D matching program using the HALCON 13.0 software, which uses a CAD model of a certain object as a reference to identify the various instances of the same object in a work scene and compute their poses, for later communication to the robot, that will carry out the displacement of the pieces.

The second part was based on an intensive study of the influence of several parameters that govern the matching process, performed by the HALCON algorithm, on the final result. The discussion of optimal values for those parameters was also discussed in order to optimize the process.

The objective of this thesis is the study of matching parameters while trying to perform a description of the behavior of the program against the variation of the parameters that control it, in order to define optimal values that fit these parameters and provide sufficient information to the users of it so that they can know how to best change them if necessary.

In terms of results, the developed solution will be presented in detail as well as the results of the performed tests in order to define the most adequate values for the program parameters.

(8)
(9)

Agradecimentos

Em primeiro lugar gostaria de agradecer ao professor Germano Veiga e ao engenheiro Pedro Malaca, orientador e coorientador desta dissertação, respetivamente, por todos os conhecimentos que me transmitiram, por toda a paciência que revelaram para comigo e pela sua disponibilidade em ajudar-me nas dificuldades que enfrentei ao realizar este projeto.

À minha família e amigos, por me apoiarem nos momentos negativos, pelo carinho fornecido e pela confiança depositada em mim o longo deste percurso.

A todo o pessoal da SARKKIS Robotics Lda. e do INESC TEC, mais propriamente do polo Industry & Innovation Lab, localizado no parque empresarial HIPERCENTRO pela amabilidade e simpatia com que me receberam, por me disponibilizarem o equipamento essencial para a presente dissertação e por se revelarem sempre solidários no esclarecimento de qualquer dúvida que possa ter surgido da minha parte.

(10)
(11)

Índice de Conteúdos

1 Introdução ... 1

1.1 Do projeto e motivação ... 1

1.2 Bin Picking e Visão Computacional na SARKKIS Robotics e INESC TEC ... 2

1.3 Objetivos do projeto ... 2

1.4 Método seguido no projeto ... 3

1.5 Estrutura da dissertação ... 3

2 Revisão Bibliográfica ... 5

2.1 3D Matching ... 6

2.1.1 Sistemas de aquisição de dados ... 7

2.1.2 Identificação do Objeto ... 8

2.1.3 Localização do objeto ... 10

2.2 Soluções de Bin Picking baseadas em visão computacional ... 12

3 Robótica Industrial ... 15

3.1 Enquadramento da Robótica ... 15

3.2 Constituintes de um robot industrial ... 16

3.2.1 Estrutura mecânica ... 16

3.2.2 Atuadores ... 17

3.2.3 Sensores ... 17

3.2.4 Elemento de controlo ... 18

3.3 Soluções de bin-picking robotizadas ... 18

3.3.1 AROTEC Automation und Robotik GmbH ... 19

3.3.2 MUJN, Inc. ... 19

4 Formulação do Problema e Componentes do Sistema ... 21

4.1 Caracterização do sistema ... 21

4.1.1 Metodologia ... 21

4.1.2 Etapas dos testes de matching ... 22

4.2 Propriedades dos Objetos ... 23

4.3 Propriedades da Câmara ... 23

4.4 Especificações do robô ... 24

4.5 Ferramentas de Software ... 25

4.6 Formulação do Problema ... 26

5 Calibração da Câmara ... 29

5.1 Parâmetros intrínsecos e extrínsecos ... 29

5.2 Modelo da câmara ... 30

5.3 Calibração da câmara via Halcon 13.0 ... 33

5.3.1 Placa de calibração ... 34

5.3.2 Procedimento de calibração ... 35

5.4 Resultados da calibração da câmara ... 36

5.4.3 Resultados obtidos ... 36

(12)

6 Avaliação do matching 3D e discussão de resultados ...39

6.1 Procedimento de matching 3D via Halcon 13.0 ...39

6.1.1 Fase Offline ...39

6.1.2 Fase Online ...40

6.2 create_surface_model...40

6.3 find_surface_model...42

6.4 Testes realizados e resultados obtidos ...45

6.4.3 create_surface_model ...45

6.4.4 find_surface_model ...46

6.4.5 Parâmetros ótimos ...53

7 Conclusões e perspetivas de trabalho futuro ...55

7.1 Conclusões ...55

7.2 Trabalhos futuros ...56

Referências ...57

(13)

Siglas e Acrónimos

3D – Tridimensional

AIA – Automated Imaging Association BRA – British Robot Association CAD – Computer Aided Design CCD – Charged Coupled Devices

CMOS – Complementary Metal Oxide Semiconductor FEUP – Faculdade de Engenharia da Universidade do Porto

INESC TEC – Instituto de Engenharia de Sistemas e Computadores, Tecnologia e Ciência JIRA – Japanese Industrial Robot Association

LED – Light-emitting diode

LVDT – Linear Variable Differential Transformers OBB – Oriented Bounding Box

POS – Pose from Ortography

POSIT – Pose from Ortography and Scaling with Iteration RANSAC – Random Sample Consensus

RIA – Robot Institute of America

SCARA – Selective Compliance Assembly Robot Arm SIFT – Scale-Invariant Feature Transformation SSI – Spherical Spin Images

SURF – Speeded-up Robust Features

(14)
(15)

Índice de Figuras

Figura 2.1 - Reconhecimento de objeto(s) correspondente(s) ao modelo de referência numa

imagem 2D [10]. ... 6

Figura 4.1 - Metodologia seguida no projeto. ... 21

Figura 4.2 - Ilustração das etapas do processo de bin-picking. ... 22

Figura 4.3 - Setup do ambiente de trabalho (robô e scanner). ... 22

Figura 4.4 - Scanner 3D Photoneo [50]. ... 23

Figura 4.5 - Equipamento robótico utlizado no processo. a) Robô YASKAWA HC10 [52] b) Consola de controlo manual YASKAWA [52]. ... 25

Figura 4.6 - Ecrã principal do HDevelop. ... 26

Figura 5.1 - Modelo de câmara pinhole [55]. ... 31

Figura 5.2 - Ilustração da projeção do ponto P nos diferentes sistemas de coordenadas[56]. . 33

Figura 5.3 - Placa de calibração do HALCON utilizada no processo[57]. ... 34

Figura 5.4 - Placa de calibração do HALCON com as marcas detetadas. ... 35

Figura 6.1 - Conversão das nuvens de pontos x a), y b) e z c) no modelo 3D da nuvem de pontos da cena d). ... 41

Figura 6.2 - Modelo CAD fornecido ao sistema a) e modelo de superfície criado, com normais evidenciadas b). ... 42

Figura 6.3 - Cena de trabalho divida em pontos da amostra, pontos chave e restantes. ... 44

Figura 6.4 - Resultado final do processo de matching e identificação das correspondências. . 44

Figura 6.5 - Gráfico do tempo de matching em função do valor de KeyPointFraction. ... 48

Figura 6.6 - Gráfico do tempo de matching em função do valor de pose_ref_sub_sampling. 50 Figura A 1 - Código do programa de calibração desenvolvido (parte 1/4) ... 61

Figura A 2 - Código do programa de calibração desenvolvido (parte 2/4) ... 61

Figura A 3 - Código do programa de calibração desenvolvido (parte 3/4) ... 61

Figura A 4 - Código do programa de calibração desenvolvido (parte 4/4) ... 62

Figura A 5 - Código do programa de matching desenvolvido (parte 1/3) ... 62

Figura A 6 - Código do programa de matching desenvolvido (parte 2/3) ... 62

Figura A 7- Código do programa de matching desenvolvido (parte 3/3) ... 63

(16)
(17)

Índice de Tabelas

Tabela 4.1 - Propriedades dos objetos selecionados. ... 23 Tabela 4.2 - Especificações do sensor 3D Photoneo [50]. ... 24 Tabela 4.3 - Propriedades do robô [52]. ... 25 Tabela 6.1 - Resultados do processo de matching tendo em conta diferentes valores do

parâmetro KeyPointFraction. ... 46 Tabela 6.2 - Variação dos resultados de poses encontradas para diferentes valores de

KeyPointFraction. ... 47 Tabela 6.3 - Resultados do processo de matching tendo em conta diferentes valores do

parâmetro MinScore. ... 48 Tabela 6.4 - Resultados do processo de matching tendo em conta a alteração do parâmetro pose_ref_use_scene_normals. ... 49 Tabela 6.5 - Variação dos resultados de poses encontradas tendo em conta alteração do parâmetro pose_ref_use_scene_normals... 49 Tabela 6.6 - Resultados do processo de matching tendo em conta diferentes valores do

parâmetro pose_ref_sub_sampling. ... 50 Tabela 6.7 - Variação dos resultados de poses encontradas para diferentes valores de

pose_ref_sub_sampling. ... 51 Tabela 6.8 - Resultados do processo de matching tendo em conta diferentes valores do

parâmetro pose_ref_scoring_dist. ... 51 Tabela 6.9 - Variação dos resultados de poses encontradas para diferentes valores de

(18)
(19)

1 Introdução

1.1 Do projeto e motivação

Com o passar dos anos e com o avanço das tecnologias, todas as indústrias têm vindo a procurar implementar a automatização parcial ou total dos seus processos de fabrico e equipamentos, com o intuito de aumentar a eficiência de trabalho e produção, bem como de igualar ou superar a concorrência do mercado.

Com efeito, a automação oferece inúmeras vantagens em ambiente industrial:

• um aumento bruto de produção, na medida em que os equipamentos automatizados possuem muito maior rapidez de fabrico em comparação com os que necessitam de intervenção humana;

• permite melhorar significativamente todo o processo global de produção de uma empresa, reduzindo o número de etapas de trabalho, seja a nível de fabrico, seja a nível de transporte, acabamento e controlo de qualidade, aumentando também neste aspeto a sua rapidez e eficiência;

• aumentar a fiabilidade das operações, dado que um equipamento automatizado é menos suscetível à ocorrência de erros (nomeadamente os que resultam da intervenção humana);

Uma das áreas mais em destaque dentro do conceito de automação é a robótica industrial. Os robôs industriais possuem variadas aplicações, tais como pintura, assemblagem, soldadura, transporte de produtos, entre outros[1]. Nesta dissertação o foco recairá na aplicação destes equipamentos a tarefas de bin-picking com auxílio de visão computacional.

Devido aos recentes avanços tecnológicos este tipo de aplicações tornou-se cada vez mais utilizado e nos últimos anos tem-se assistido a uma rápida evolução das mesmas, em grande parte devido à intensa investigação por parte de centros empresariais e tecnológicos bem como a nível de universidades.

Selecionar e transportar um determinado objeto de um recipiente que contém mais objetos diferentes, ou várias cópias do mesmo, em posições aleatoriamente distribuídas, sempre foi um problema típico em diversos ambientes industriais. Até há alguns anos, este processo tinha obrigatoriamente de ser executado por via manual, o que implica custos elevados de mão-de-obra, diminuição de segurança e higiene no trabalho e o aparecimento de possíveis erros humanos no processo. Contudo, gradualmente, alguns procedimentos foram sendo desenvolvidos com o objetivo de automatizar o procedimento descrito, recorrendo a sistemas de visão computacional que funcionam como um sensor de visão bastante completo e auxiliam o braço robótico, identificando o objeto em questão a partir de um modelo fornecido para efeito de referência de procura, reconhecendo-o para posterior deslocação do mesmo.

O uso de sistemas sensoriais acoplados ao robô e aliados ao movimento robótico permitem expandir os horizontes em termos de aplicações do equipamento, uma vez que sem estes auxiliares não seria possível comunicar à máquina as informações do ambiente que a rodeia a nível de grandezas como por exemplo a temperatura, a humidade, a posição de objetos próximos, a força, a pressão, entre muitas outras. Com este tipo de dados tidos em conta, o robô pode corrigir a trajetória, adaptar o seu comportamento ou mesmo regular a sua velocidade de maneira a cumprir mais eficientemente a tarefa em questão. Assim, verifica-se que o sensor é

(20)

um equipamento indispensável caso se pretenda um equipamento robótico eficiente, robusto e flexível.

Um dos mais eficazes tipos de sistema sensorial é a visão computacional, visto que fornece informação concreta acerca da posição e orientação de um objeto e oferece a possibilidade de reconhecimento do mesmo, sem necessitar de qualquer tipo de contacto ou interação com este último[2]. Trata-se, portanto, de uma ferramenta interessante e poderosa com imensa aplicação na robótica, sendo este um dos principais motivos para a realização deste trabalho.

A presente dissertação enquadra-se num estudo global sobre o processo de bin-picking com recurso a visão computacional tridimensional, com o intuito de melhor estudar esse processo e desenvolver uma solução, em pequena escala, que consiga ser aplicada a objetos de formas regulares e numa fase posterior, caso se consigam ultrapassar dificuldades impostas pelo projeto, aplicar também a objetos de forma mais complexa e/ou irregular.

Este projeto inova na medida em que, embora a SARKKIS Robotics e o INESC TEC tenham desenvolvido no passado sistemas com capacidade de perceção tridimensional, a sua eficiente aplicação ainda está dependente de afinação extensiva de parâmetros dos sistemas de perceção, cuja análise é a principal contribuição da presente dissertação.

1.2 Bin Picking e Visão Computacional na SARKKIS Robotics e INESC TEC

O corrente projeto é realizado em colaboração com a SARKKIS Robotics e com o centro de investigação INESC TEC.

A SARKKIS, fundada em 2010 e integrada no centro de investigação UPTEC, é uma empresa especializada na pesquisa, programação e funcionamento de soluções robotizadas para sistemas de corte de aço, visão computacional, soldadura, realizando ainda uma componente de investigação e desenvolvimento de sistemas de robótica avançada[3].

O INESC TEC é um centro de investigação privado, sem qualquer fim lucrativo, fundado a 6 de maio de 1985 cujo objetivo compreende a investigação científica e tecnológica bem como contribuições em consultadoria e formação de empresas. Conta hoje com mais de 700 colaboradores, possuindo 6 polos por todo o país dos quais fazem parte 13 centros de investigação e desenvolvimento (I&D)[4].

Quer a SARKKIS quer o INESC TEC têm vindo a apostar cada vez mais na visão computacional, nomeadamente na sua aplicação a processos de pick and place englobando processos de reconhecimento via uso de machine vision, sendo esta uma tecnologia com um vasto campo de aplicações e suscetível a desenvolvimento e investigação para trabalhos futuros.

O trabalho passa deste modo pelo estudo e compreensão dos processos existentes nesta área e pelo desenvolvimento de um processo tecnológico que permita a execução de tarefas de bin-picking e forma rápida e eficiente, incluindo um processo de reconhecimento de objetos robusto, através da poderosa ferramenta de visão computacional acima mencionada.

1.3 Objetivos do projeto

Sendo que o INESC TEC e a SARKKIS partilham a ambição de inovar e realizar avanços tecnológicos, o projeto aqui apresentado visa encontrar uma estratégia avançada que consiste desenvolvimento de um sistema de deteção de objetos para aplicações de bin-picking com recurso a visão computacional, algo inovador em ambos os contextos empresariais referidos, e que almeja melhorar qualquer tarefa de deslocamento de objetos e seu prévio reconhecimento.

O equipamento a utilizar trata-se de um braço robótico articulado com 6 juntas, constituído pela estrutura mecânica do mesmo, uma garra, um scanner acoplado, que realiza a parte que diz respeito à visão computacional, e uma fonte de alimentação elétrica.

(21)

O projeto que esta dissertação trata terá como base o software HALCON 13.0, mais precisamente a programação em linguagem HDevelop que rege o processo de calibração do scanner e o processo de matching 3D desenvolvido. De modo efetivo, as principais tarefas a efetuar prender-se-ão com o reconhecimento fotométrico do mesmo e estudo da influência de vários parâmetros inerentes ao HALCON 13.0 a nível de resultados finais também com a finalidade de otimização dos mesmos para obtenção dos melhores resultados possíveis. O maior desafio residirá, possivelmente, no controlo dos parâmetros ambientais na aquisição da imagem dos objetos e lidar com a oclusão das imagens, nomeadamente sombras ou objetos parcialmente fora de cena.

1.4 Método seguido no projeto

Neste projeto empregou-se a seguinte metodologia: em primeiro lugar foi realizado um estudo acerca das técnicas de visão computacional existentes e já utilizadas em projetos anteriores dentro do mesmo âmbito que esta dissertação trata. Analisaram-se os benefícios e desvantagens de cada técnica, tendo sempre em vista a aplicação destas ao objetivo do trabalho. Seguindo o mesmo procedimento, foi elaborada uma pesquisa e um levantamento do estado da arte no que diz respeito aos componentes dos equipamentos robóticos e posteriormente o foco recaiu sobre o uso específico deste tipo de manipuladores na área dos processos de pick and place.

Após esta fase inicial, foi feita a calibração do sensor numa tentativa de comparar resultados em relação à calibração de origem que este possuía.

Por fim foi adquirida uma imagem de vários objetos do mesmo tipo dispostos aleatoriamente, e procedeu-se a uma comparação de resultados de matching em termos de tempo e eficiência do processo quando se alteram fatores chave no processo de correspondência de objetos, tais como número máximo de correspondências ou matches procurados, número de pontos do modelo 3D usados como veículo de correspondência, etc.

1.5 Estrutura da dissertação

A corrente dissertação encontra-se dividida por 7 capítulos.

Neste primeiro capítulo, “Introdução”, é feita uma apresentação e breve descrição do projeto bem como uma exposição dos seus objetivos, enunciando a motivação para a realização do mesmo, os aspetos inovadores que engloba, e o seu enquadramento no contexto institucional dentro do qual foi desenvolvido.

No segundo capítulo “Revisão bibliográfica” é dedicado a um enquadramento histórico e a nível de mercado, no que diz respeito às principais tecnologias e avanços significativos alcançados em contexto do reconhecimento de imagem e identificação de objetos. São ainda apresentados exemplos de aplicações de bin picking anteriormente desenvolvidas em ambiente industrial.

No terceiro capítulo “Robôs industriais” é terminado o estado da arte desta dissertação com um estudo generalizado e sucinto acerca do uso de equipamentos robóticos em ambientes industriais com inclusão de exemplos e foco principal nos equipamentos utilizados em aplicações de bin picking.

O quarto capítulo “Formulação do problema e componentes do sistema” são apresentados os componentes utilizados nesta dissertação, quer a nível de aquisição de imagem, quer a nível da estrutura robótica e software. É ainda formulado, concreta e sucintamente, o problema que motivou esta dissertação. As especificações dos equipamentos usados e dos objetos estão incluídas neste segmento.

(22)

O quinto capítulo “Calibração da câmara” apresenta a explicação do método de calibração da câmara utilizado, explicando o princípio por detrás do método, a sua aplicação através do software utilizado e os resultados obtidos.

No sexto capítulo “Avaliação do matching 3D e discussão de resultados” são apresentados os resultados do matching a nível de pontuação de reconhecimento (score), número de correspondências encontradas em cada imagem (matches), poses ou posturas encontradas e será realizada a análise dos mesmos.

No sétimo capítulo “Conclusões e perspetivas de trabalhos futuros” são apresentadas de forma sucinta todas as conclusões retiradas deste projeto e possíveis aplicações futuras de continuação do que foi desenvolvido.

(23)

2 Revisão Bibliográfica

Um dos problemas mais comuns e transcendentes a qualquer indústria consiste em ter de lidar com objetos aleatoriamente posicionados em recipientes, estando estes depositados após saírem da linha de produção, depois de sofrerem operações de acabamento ou simplesmente armazenados, em stock. A questão reside em encontrar um método que permita identificar rapidamente o objeto pretendido de entre os restantes e movê-lo desde a sua posição de repouso até um local desejado. Este desafio começou a ser mais relevante no mundo empresarial em finais dos anos 70 e início dos anos 80. Desde então, para suprimir esta necessidade, várias tentativas de soluções foram desenvolvidas, algumas resultando em aplicações práticas que são hoje em dia utilizadas a nível global.

O primeiro esforço para abordar este problema data de 1970 quando se tentou implementar um mecanismo que utilizava um alimentador mecânico, sujeito a uma vibração para esvaziar objetos de um recipiente para um tapete de transporte[5]. Contudo este processo em nada contribuía para a seleção de objetos, não havendo qualquer diferenciação no processo de recolha das peças. Felizmente desde então, devido ao avanço tecnológico, surgiu o conceito de visão computacional que contribuiu em larga escala para o bin-picking em contexto industrial, constituindo um método eficaz de identificação do objeto, estimando a sua posição e localização e acelerando significativamente o processo de recolha. Todavia o processo de reconhecimento e correspondência via machine vision é ainda bastante desafiante, porque a imagem do objeto capturada pelo sensor está muitas vezes inserida num contexto complexo repleto de desorganização em termos de posições dos outros objetos, o que obstrui a imagem principal e provoca diminuição a nível da qualidade desta. Além disso a imagem é sensível a fatores como iluminação, sombras e falta de clareza nas feições das peças[6].

Neste subcapítulo serão explicados conceitos de machine vision e bin-picking e nos próximos será realizada a recolha bibliográfica acerca das tecnologias e aplicações mais relevantes utlizadas neste âmbito, tanto no passado como atualmente.

É relevante fazer a distinção entre os conceitos de machine vision e visão computacional, que embora muito semelhantes, diferem um pouco a nível da aplicação da tecnologia. A AIA (Automated Imaging Association), a maior associação do mundo na área da tecnologia de visão computacional, define este último conceito como sendo toda a tecnologia que envolve, em termos gerais, a captura e automação da análise de imagens, com ênfase na função de análise de imagem com vista a uma ampla gama de aplicações teóricas e práticas. Ao passo que o conceito de machine vision tradicionalmente se refere ao uso da visão computacional numa aplicação ou processo industrial ou prático (como por exemplo, nesta dissertação o programa terá a finalidade de ser aplicado a um braço robótico), onde é necessário executar uma determinada função ou resultado com base na análise de imagem feita pelo sistema de visão. Assim, está claro que embora o conceito de visão computacional seja mais abrangente, será mais explorado o conceito de machine vision, por ser o mais incidente na aplicação industrial da tecnologia. Os componentes de um sistema deste tipo são geralmente[7]: • Um dispositivo de imagem, geralmente uma câmara ou um sensor que contém um sensor de imagem e uma lente;

• Uma placa de captura de imagens, maior parte das vezes facultativo, visto que versões mais modernas do dispositivo de imagem dispensam esta componente;

• Iluminação apropriada para a aplicação específica;

(24)

O conceito de bin-picking pode ser definido como uma variedade de processos em que um robô é usado para escolher e pegar em componentes de um recipiente, colocando-os num sítio a definir. Esta certa ambiguidade na definição resulta do facto de não haver realmente um único tipo de aplicação de bin-picking, mas sim um espectro de instanciações específicas do utilizador, processo e produto. Se os objetos estiverem organizados no contentor, em padrões específicos, o processo será muito mais simples, menos dispendioso e mais rápido. Todavia, se os objetos se encontrarem dispersos, em posições completamente aleatórias no seu recipiente, o processo será muito mais complexo, requerendo um sistema de imagem mais avançado e uma atenção mais detalhada a nível da programação do software de processamento.

O processo de bin-picking é frequentemente reduzido a três etapas que consistem em isolar o objeto específico em relação à imagem de fundo, determinar a posição e orientação desse objeto e, finalmente, criar uma trajetória segundo a qual o robô, após o agarrar, se irá movimentar, até o largar na localização escolhida [8, 9].

2.1 3D Matching

O 3D matching, como o próprio nome indica, é um processo de visão computacional que consiste na localização e identificação de um objeto contido numa imagem captada por uma simples câmara ou um equipamento mais complexo, nomeadamente um scanner 3D com câmara incorporada (que é o equipamento usado na presente dissertação), através da comparação com um modelo 3D do objeto, previamente fornecido como referência ao software de processamento, pelo utilizador. Essa comparação é posta em prática recorrendo às feições e contornos do objeto, ou recorrendo a dados da sua superfície, extraídos da imagem adquirida. Numa primeira fase tem lugar a captação e mapeamento de dados da cena recorrendo a sistemas de perceção tridimensional; posteriormente ocorre a identificação de um objeto candidato a ser o objeto pretendido, durante a qual as suas características, contornos e/ou formas são classificadas e indexadas para depois numa fase posterior, se verificar se corresponde ao modelo e estimar a sua posição e orientação, através de algoritmos específicos. O processo de reconhecimento de partes correspondentes ao modelo está ilustrado na Figura 2.1.

(25)

2.1.1 Sistemas de aquisição de dados

Nesta seção serão apresentados os principais sistemas de perceção visual utilizados no mapeamento de cenas de trabalho para posterior execução do matching. Esta extração de dados ocorre na grande maioria das vezes, e no caso da presente dissertação de igual modo, com recurso a técnicas de range imaging. Este termo refere-se a um conjunto de técnicas de captura e mapeamento de imagens de uma cena a partir de um ponto mais elevado, utilizando uma câmara ou sensor. Entre as várias técnicas de range imaging incluem-se:

Triangulação stereo - A triangulação stereo é uma técnica na qual os dados de profundidade dos pixéis são determinados a partir de dados adquiridos usando um dispositivo de aquisição de imagem com várias lentes ou um setup de várias câmaras. Desta forma, é possível detetar o objeto através da medição profundidade dos pontos na cena e da correspondência do mesmo ponto nas várias imagens, usando como referência um ponto principal, normalmente o ponto central da linha entre os seus pontos focais[11].

Triangulação sheet of light - Consiste em iluminar a cena com uma folha de luz (sheet of light), normalmente recorrendo a um laser. Isto cria uma linha refletida, conforme vista da fonte de luz. A partir de qualquer ponto fora do plano da folha, a linha normalmente aparecerá como uma curva, cuja forma exata depende da distância entre o observador e a fonte de luz, e da distância entre a fonte de luz e os pontos refletidos. Ao registar a folha de luz refletida usando uma câmara (geralmente uma câmara ou sensor 3D de alta resolução) e conhecendo as posições e orientações da câmara e da fonte de luz, através de calibração prévia, é possível determinar as distâncias entre os pontos refletidos e a fonte de luz ou câmara e deste modo triangular posições de objetos[12].

Luz estruturada (Structured Light) - O uso de sensores 3D de luz estruturada (Structured Light) que procedem à iluminação ativa da cena com um espectro de cores espacialmente variável é outra das técnicas de range imaging. Esta técnica tem como princípio extrair a forma da superfície 3D com base na informação da distorção do padrão de luz estruturada projetada. Se a cena for uma superfície plana sem qualquer variação de superfície 3D, o padrão mostrado na imagem adquirida será semelhante ao padrão de luz estruturada projetada. No entanto, quando a superfície da cena não é plana, a forma geométrica da superfície distorce o padrão de luz estruturada projetada, conforme visto da câmara contribuindo deste modo para a diferenciação das várias zonas de uma imagem[13].

Time-of-flight (TOF) - TOF é uma tecnologia que mede o tempo que uma partícula ou onda (neste caso um sinal de luz proveniente de um laser ou LED) demora a efetuar um percurso até um determinado ponto de uma imagem, medindo com grande eficácia desse modo a distância e posição desse ponto. Mais recentemente o problema de deteção foi sendo abordado tendo em conta tecnologias mais recentes e componentes de última geração e foram conseguidos resultados bastante satisfatórios combinando esta tecnologia com a utilização de um robô leve (lighweight robot) controlado por impedância. Os robôs leves possuem capacidades melhoradas de deteção sem sofrer uma diminuição na velocidade e na sua carga útil. As câmaras TOF são superiores aos sensores de proximidade comuns, no sentido de fornecer imagens de profundidade de grande qualidade, independentemente das texturas[14].

Ainda sobre este tópico, foram surgindo melhorias significativas nas técnicas de range imaging, com a aplicação das caixas delimitadoras (OBB’s – oriented bounding boxes), que englobam conjuntos de pontos e ajudam a mapear num sistema cartesiano, as posições dos componentes do sistema de uma maneira bastante eficaz[15].

(26)

2.1.2 Identificação do Objeto

A identificação de um objeto 3D numa imagem captada pelo sistema é a primeira fase do processo de bin-picking. Numa primeira instância são detetadas as características de baixo nível das imagens (elementos simples tais como linhas de contornos, pontos de interesse, intensidade de pixéis e cores) e indexados numa base de dados, sendo agrupadas por critérios de semelhança para posteriormente serem usadas como veículo de comparação dos objetos detetados, com o objeto modelo servindo de referência.

Deteção do objeto

Pesquisas no sentido de desenvolver um processo de deteção para sistemas de reconhecimento tiveram o seu início nos anos 60 com o aparecimento de técnicas então inovadoras. Desde então múltiplos processos com o mesmo objetivo vieram a ser desenvolvidos. De seguida serão enumeradas e sucintamente explicadas todas as principais abordagens no âmbito da deteção de objetos.

Transformada de Hough - Trata-se de uma técnica matemática, robusta, mas que consome bastante tempo, especialmente útil para identificar linhas retas e pontos relevantes. Este método envolve a transformação de cada um dos pontos da figura numa linha reta, num espaço denominado espaço de parâmetros. O espaço de parâmetros é definido pela representação paramétrica usada para descrever as linhas no plano da imagem. Hough, o pioneiro desta técnica, usou como indicadores, na sua abordagem, dados relativos a interseções e inclinações, obtendo, portanto, um espaço de parâmetros bidimensional, baseado nesses dois elementos. No entanto verificou-se que esta técnica era relativamente pouco eficiente de aplicar, visto que os parâmetros escolhidos não representavam de forma eficaz os pontos pretendidos[16]. O aspeto da parametrização foi melhorado posteriormente substituindo a abordagem anterior por algo que foi denominado de parametrização normal. Este último método consistia em parametrizar uma linha reta através do ângulo que esta forma com a sua normal e da distância algébrica para a origem definida no plano. Este método revelou-se bastante mais eficaz e foi amplamente utilizada durante a segunda metade do século XX[17]. Nos dias que correm , este método é ainda amplamente utilizado, sendo inclusivamente possível encontrar um objeto descrito por um modelo através da parametrização descrita [18, 19].

Histograma de cinzas (Gray-Level Histogram) – Cada pixel de uma imagem possui um valor de intensidade correspondente. Todos os valores dos pixéis de uma imagem são agrupados num histograma denominado histograma de cinzas. Este nome deve-se ao facto de os valores de intensidade de luz dos pixéis serem medidos numa escala de tons de cinzento. Uma das técnicas de deteção de objetos numa imagem consiste em inspecionar este histograma, característico de cada imagem, e por esse meio proceder à deteção de zonas que se destaquem das restantes, por possuírem maior ou menor intensidade e que desse modo possam corresponder aos objetos pretendidos[20].

Primitivas - Stein e Medioni, desenvolveram um sistema baseado em dois tipos de primitivas para o matching: pequenos fragmentos superficiais que podem ser usados com eficácia para computar propriedades diferenciais e linhas correspondentes a descontinuidades de profundidade ou orientação que são representados respetivamente por splashes (mapas Gaussianos locais que captam a distribuição das orientações normais em torno do ponto de referência) e por curvas 3D[21].

(27)

Spin Imaging - Johnson e Hebert apresentaram uma solução baseada em spin

images, imagens que representam, dado um ponto de referência p, um histograma 2D das coordenadas (α, β) dos seus pontos vizinhos, sendo que a orientação do dito ponto p é determinada por análise de todos estes pontos em seu redor[22]. Posteriormente este método foi melhorado usando o conceito de imagem de spin-esférico (Spherical Spin-Images ou SSI), que aumenta a robustez mapeando várias spin-images equivalentes, sendo esta relação derivada através do coeficiente de correlação das imagens[23].

Contexto de forma 3D (3D shape context) – Uma abordagem baseada em contexto de forma 3D (3D shape context) foi apresentado no âmbito do reconhecimento de objetos de três dimensões. O contexto de forma captura a distribuição num determinado ponto sobre posições relativas de outros pontos de forma e, assim, recolhe informação sobre a forma global num descritor local rico em informações. Trata-se de um método robusto que simplifica muito a recuperação de correspondências entre pontos de duas formas dadas. Além disso leva a uma pontuação robusta para medir a similaridade da forma, uma vez que as formas encontram-se alinhadas[24].

Matching em pirâmide (Pyramid matching) - Ainda neste capítulo, foi estudada a abordagem denominada matching em pirâmide (Pyramid Matching). É um método predecessor do SIFT no qual para cada imagem de intervalo (imagem 2D usada para mostrar a distância de um ponto específico a outros pontos relevantes, normalmente utilizando pixéis), é selecionado um conjunto de pontos que possuem informação geométrica saliente relevante. Cada ponto saliente é combinado com um descritor de superfície (invariante para transformação e oclusão 3D) definido na malha superficial local próxima. Depois, as imagens de intervalo são representadas como um conjunto de descritores de superfície não ordenados. O matching em pirâmide baseado numa função kernel é então usado para medir a similaridade entre conjuntos de imagens de intervalo[25]

SIFT (scale-invariant feature transformation) - É um algoritmo de deteção e descrição de características locais de imagens usado em aplicações de visão computacional cujo objetivo é melhorar o desempenho de reconhecimento contra oclusão e desordem na imagem. As características invariantes de escala são eficientemente identificadas usando uma filtragem em etapas. O primeiro estágio identifica locais-chave no espaço, procurando locais que são máximos ou mínimos de uma função de diferença de Gauss, mais uma vez. Cada ponto é usado para gerar um vetor de características que descreve a região da imagem local amostrada em relação ao seu quadro de coordenadas de espaço de escala. As características conseguem invariância parcial para variações locais, como transformações afins ou projeções 3D, desfocando os locais de gradiente de imagem. Os vetores de características resultantes são chamados chaves SIFT (SIFT keys). As chaves SIFT derivadas de uma imagem são usadas na indexação para identificar modelos de objetos candidatos. Conjuntos de chaves que apontam para o mesmo modelo em potencial como sendo o objeto em questão são identificadas pela primeira vez através de uma tabela de dispersão da transformada de Hough e, em seguida, por meio de um processo baseado nos mínimos quadrados, quando pelo menos 3 chaves identificam os mesmos parâmetros como pertencentes ao objeto a identificar, é estabelecida correspondência visto que há uma forte evidência para a presença do mesmo[26].

Representação de malha de superfície (surface patch representation) - Outra solução ainda é a de representação de malha de superfície na qual um descritor de superfície local é definido por um centroide, o seu tipo de superfície e histograma 2D. Este último é composto pelos índices de forma e os ângulos entre o ponto normal de referência e sua vizinhança. Em vez de se calcular descritores de superfície locais são calculados apenas os pontos de recurso, que são áreas com acentuada variação de forma[27].

(28)

Agrupamento de poses (pose clustering) - Finalmente, é de referir ainda uma abordagem denominada de pose clustering ou agrupamento de poses. Trata-se de um método para realizar o reconhecimento de objetos através da determinação de poses de objetos hipotéticos e encontrar aglomerados de poses na imagem captada. Sabe-se que se o modelo possuir m características assinaláveis e a imagem captada possuir n , então há m3n3 poses

hipotéticas que podem ser determinadas. Ao invés de agrupar todas essas poses, mostra-se que o agrupamento de poses pode ter um desempenho equivalente quando se examinam apenas O(mn) poses, devido à correlação existente entre as poses. É neste princípio que assenta todo o método, contudo existem limitações óbvias quanto ao tamanho das bases de dados, quanto a poder incluir um elevado número de poses e ainda devido ao facto de este agrupamento de poses só ser eficaz nos casos em que as poses são geradas com precisão e sem ruído secundário, sendo um método particularmente suscetível a estes dois fatores[28].

Classificação de características e Indexação

Esta fase compreende o agrupamento e hierarquização dos descritores de características adquiridos a partir das imagens, que podem conter o objeto em questão se vierem a ser validados como tal. Por exemplo, pontos são agrupados em retas, segmentos de reta em formas primitivas, e assim sucessivamente. Desta forma, o processo de matching decorre muito mais rapidamente e organizadamente uma vez que toda a informação está agrupada e mapeada. Vários trabalhos foram desenvolvidos nesta área.

Uma das soluções é a representação baseada num tensor na qual um modelo 3D de um objeto é construído automaticamente a partir de múltiplas imagens do mesmo (vistas). Essas vistas são convertidas em representações de tabelas multidimensionais (apelidadas de tensores). As correspondências são automaticamente estabelecidas entre as vistas, combinando simultaneamente os tensores de uma vista com os das restantes vistas usando um esquema baseado em tabelas de dispersão que são posteriormente integradas num modelo 3D. Este modelo e sua representação tensora constituem a biblioteca modelo. Durante o processo de reconhecimento, um tensor é comparado com os da biblioteca. Medidas de similaridade são calculadas para os tensores do modelo e o que mais se aproxime é tido como o pretendido e é reconhecido e segmentado. Este processo é repetido até que a cena esteja completamente mapeada [29].

O método 3D SURF (Speeded-up robust features) constitui outra das abordagens. Possui ambas as capacidades de deteção e agrupamento de características locais, baseando-se numa matriz hessiana, mais concretamente no determinante desta, que é usado para detetar mudanças locais à volta de um ponto de referência e assim determinar zonas de interesse. A descrição de características da imagem baseia-se na transformada de Haar. Para descrever a região ao redor do ponto, uma região quadrada é extraída, centralizada no ponto de interesse e orientada ao longo da orientação selecionada. A região de interesse é dividida em sub-regiões e, para cada uma, as respostas das wavelets de Haar (pulsos quadrados definidos) são extraídas e posteriormente processadas e melhoradas com um determinante gaussiano (para oferecer mais robustez para deformações, ruído e tradução)[30].

2.1.3 Localização do objeto

A segunda fase do processo de matching trata-se da localização do objeto na imagem, isto é, estimativa da sua posição e orientação, ou seja, a sua pose no espaço captado. Nesta fase estão englobadas duas etapas, como será explicitado de seguida.

(29)

Determinação da Pose

A determinação e computação da pose do objeto pode ser feita recorrendo a três tipos de soluções:

Soluções analíticas - Expressam as propriedades da imagem em função de parâmetros de pose previamente definidos, obtendo-se a correspondência através da comparação entre os dados extraídos e estes últimos parâmetros por intermédio de um sistema de equações polinomiais. O principal método analítico é o denominado Random Sample Consensus, vulgarmente abreviado e conhecido como RANSAC. Resumidamente, o algoritmo consiste em projetar pontos de todos os modelos previamente fornecidos como referência na cena captada e determinar se os pontos projetados estão próximos aos da cena detetada, acontecendo o reconhecimento caso se verifique isto. Pode-se dizer que é como que o oposto dos outros métodos, neste aspeto. O método inovou na medida em que foi pioneiro na interpretação/suavização de dados que possam conter uma percentagem significativa de erros grosseiros, contudo veio-se a verificar que o custo computacional era alto demais para ser considerado um método eficiente[31].

Soluções afins - São métodos que preservam a colinearidade de pontos e rácios de distâncias. Como o próprio nome indica mantém a afinidade entre as entidades sobre a qual é aplicada, sejam estas pontos ou linhas. O principal método deste tipo é o POSIT (Pose from Ortography and Scaling with Iterations). Trata-se de um método para encontrar a pose de um objeto a partir de uma única imagem. Funciona assente no princípio segundo o qual se consegue detetar e combinar quatro ou mais pontos não complanares do objeto e que a sua geometria relativa no objeto é conhecida. Este método consiste na combinação de dois algoritmos: o algoritmo POS (Pose from Ortography and Scaling) que aproxima a projeção perspetiva (projeção de objetos tridimensionais num plano de imagem) com uma projeção ortográfica escalada, conseguindo assim encontrar a matriz de rotação e o vetor de translação do objeto através da resolução de um sistema linear. O segundo algoritmo consiste num conjunto de iterações e usa como ponto de partida a pose aproximada encontrada pelo POS para calcular melhores projeções ortográficas dos pontos característicos e posteriormente aplica mais uma vez o POS a estas projeções em vez das projeções de imagens originais. Com este procedimento são obtidas medições precisas da pose de objetos, recorrendo a um número relativamente baixo de iterações. Este método é vantajoso na medida em que pode ser aplicado com apenas 25 linhas de código (isto em aplicações onde não seja requerida uma velocidade elevada de execução). Facilita ainda a deteção de pose em casos de imagens com bastante ruído e oclusões e não necessita de uma estimativa inicial da pose do objeto[32].

Soluções Numéricas – Este método envolve uma sucessão de iterações com vista a minimizar o erro de uma função usada como aproximação entre um ponto da estimativa da pose de um objeto e a pose real do objeto. Pode descrever-se como um processo de tentativa e erro iterado através de uma função polinomial. Em 1993 um exemplo de um método deste tipo foi desenvolvido com o objetivo de estimar a rotação e translação entre uma câmara e um objeto a partir de correspondências de pontos e linhas mantendo em vista a determinação da pose do dito objeto. Primeiro os autores criaram a função de erro de natureza quadrática que representava os dois tipos de movimentos com um número quaternário duplo e desenvolveram depois um algoritmo para minimizar o erro[33].

(30)

Verificação e correção da pose estimada

Ainda que esta etapa seja opcional, grande maioria dos métodos de visão computacional aplicada ao bin-picking não abdicam de a incluir no seu procedimento. Trata-se de uma fase final em que há uma reavaliação da fiabilidade da posição determinada e verificação da existência de oclusões ou ruido de imagem que possa ter contribuído para algum erro existente. Um exemplo recente de uma tecnologia desenvolvida neste âmbito foi apresentado em 2014. Após determinação da pose de um objeto, tem lugar um processo de correção de pose que consiste na comparação de todos os pixéis observados do objeto com um modelo texturizado do objeto, criado especialmente para este efeito[34].

2.2 Soluções de Bin Picking baseadas em visão computacional

À medida que se verificava um avanço nas tecnologias de visão computacional, observou-se também uma crescente procura e tentativa de desenvolvimento de aplicações de bin-picking baseadas neste último tipo de tecnologia, que tentam combinar as pesquisas acerca de localizam bem como de identificação de objetos acima descritas. O problema mais desafiante no âmbito do bin-picking reside na representação do modelo computorizado do objeto que deve ter em conta uma série de fatores variáveis, inerentes ao objeto tais como pose, orientação e perspetiva, e externos, nomeadamente iluminação, contraste e oclusão presentes na imagem. A representação deve ainda atender as propriedades inerentes ao objeto, tamanho, complexidade de forma e material constituinte. De seguida serão apresentados exemplos de trabalhos anteriores realizados com este intuito.

Ikeuchi e Horn desenvolveram, em 1982, uma abordagem na qual os objetos eram localizados através de uma forma detetada com um processo de shading ou sombreamento. Uma garra robótica era então movida até ao ponto estimado de localização do objeto para efetuar a recolha[35]. Em 1984 foi proposta uma representação de imagem que codifica de forma única a informação de uma imagem numa escala de cinza, dissocia os efeitos de iluminação, reflexo, ângulo de incidência, e é invariante em termos de perspetiva, posição, orientação e tamanho de todas as formas planas. Esta representação é composta por aproximações discretas às distribuições logarítmicas complexas de Wigner de múltiplas imagens. Esta representação foi pioneira e contribuiu em grande escala para alargar as fronteiras do desenvolvimento de sistemas de visão computacional para fins de reconhecimento de tamanho, orientação e perspetiva invariante de peça, ao mesmo tempo em que especificam localização do objeto[36].

Outro exemplo de solução para este problema tem por base um modelo 3D de um objeto a partir do qual são geradas formas aparentes do objeto segundo várias direções e posteriormente classificadas em grupos com base em superfícies visíveis dominantes e outras características. Algoritmos de reconhecimento são gerados na forma de árvores de interpretação que consistem em duas partes distintas: uma primeira fase de classificação de uma região alvo de uma das imagens de modo a agrupá-la num dos grupos mencionados e uma segunda fase que tem por objetivo configurar essa região já dentro do grupo designado em relação às restantes. A classificação assenta numa série de características das regiões de imagens de modo a estabelecer uma árvore de interpretações fiável tais como a inércia de uma região, fronteiras com regiões vizinhas e orientação de fronteiras[37].

Em 1994 foi desenvolvido um sistema de bin-picking que consistia em extrair apenas a informação estritamente necessária da imagem, simplificando bastante todo o processo face a sistemas que extraem toda a informação de maneira precisa. O método baseia-se em detetar malhas antipodais pertencentes ao mesmo plano para determinar qual o melhor local para o manipulador robótico agarrar o objeto. A informação é extraída em partes pelo método Recover-and-Select. Este procedimento abrange duas fases: a fase de procura e recolha de modelos

(31)

paramétricos na imagem e a fase posterior de seleção que assenta em métodos iterativos e devolve o melhor resultado. Após a seleção da melhor hipótese de apreensão, um objeto é removido da pilha, repetindo-se o processo sucessivamente[38].

Em 1996 foi apresentado uma solução eficiente onde objetos complexos são adequadamente representado por características/pistas simples. Várias imagens estereoscópicas são primeiramente fornecidas ao sistema. Este tipo de imagens são semelhantes entre si em termos de conteúdo, sendo, todavia, captadas de ângulos diferentes para melhor análise das propriedades tridimensionais (distâncias, contornos, profundidades) dos objetos nelas contidos. A estimativa inicial é feita através pistas visuais simples, com invariância à complexidade do objeto, fornecidas por um módulo que contém um algoritmo cuja função é extrair as regiões das imagens que são altamente prováveis de corresponder ao objeto juntamente com outras características providenciadas por um modelo 2D do objeto, previamente fornecido ao sistema. O algoritmo de verificação de características procede então à comparação das regiões, faz a correspondência com as regiões que contém o objeto e determina a sua pose. Um outro módulo gera os comandos de movimento apropriados para serem posteriormente fornecidos ao manipulador[39].

Em 1998, foi desenvolvida uma solução que combina reconhecimento de objeto baseado na transformada de Hough com planeamento de trajetória. A transformada regista as correspondências do modelo do objeto fornecido em relação à imagem captada num espaço de Hough com a finalidade de estimar a pose. As correspondências são feitas tendo em contra todos os arranjos de posições possíveis dos objetos para que possam ser consideradas em termos de planeamento de trajetória. Esta combinação conduz a uma trajetória final mais precisa, uma vez que a informação do meio ambiente que rodeia o manipulador robótico representada através do método de Hough é bastante robusta e à prova de erros[40].

O uso de luz estruturada foi implementado em diversos sistemas de bin-picking devido à sua robustez e fiabilidade em termos de representação de imagem e deteção de contornos e relevos. Um exemplo de uma aplicação deste tipo é o procedimento apresentado em [41] no qual são utilizados feixes de luz projetados na imagem segundo padrões do código binário de Gray. Este tipo de projeção assegura que cada faixa de luz projetada possui um padrão do código facilmente identificável e computorizável em termos de coordenadas, contribuindo para uma representação bastante confiável dos elementos da imagem. A pose do objeto é posteriormente estimada com o uso de segmentação primitiva, rotação simétrica, modelagem de objetos e reconhecimento dos mesmos e comunicada a um manipulador, que efetua a recolha.

A abordagem probabilística via aproximação por cilindros é um método para bin-picking que se diferencia dos demais na medida em que não envolve o uso do modelo geométrico exato do objeto como referência. Este método é especialmente útil quando se pretende mover um conjunto de objetos cujas formas não são uniformes, porém possuem uma semelhança bastante acentuada entre eles. Para estes casos não é exequível utilizar um modelo do objeto, mas é possível usar uma forma primitiva, isto é uma aproximação por intermédio de um sólido geométrico, nomeadamente um cilindro, para o modelar. Um dos melhores exemplos desta técnica encontra-se ilustrado no trabalho de pesquisa [42], no âmbito do qual os pesquisadores desenvolveram um sistema de bin-picking para um conjunto de bananas, objeto que se enquadra nos parâmetros característicos acima descritos. O movimento deve ser planeado considerando a diferença de forma entre o objeto real e a forma primitiva cilíndrica e durante o movimento propriamente dito de pick and place o robô tem que manter contato com o objeto alvo, evitar o contato com outros objetos e visto que não há modelo geométrico preciso de cada objeto a segmentação de objetos imediatamente seguidos de outros que se tocam entre si torna-se especialmente difícil. Para lidar com esses problemas e para realizar a deteção dos objetos, são obtidas propriedades probabilísticas em relação à diferença entre o objeto e um cilindro, ou seja, de toda a informação que foi detetada na nuvem de pontos extraída, quais os agrupamentos de pontos que mais se assemelham à primitiva e consequentemente, formam o objeto cuja deteção é requerida.

(32)
(33)

3 Robótica Industrial

Este capítulo funciona como uma introdução da robótica no âmbito da presente dissertação visto esta ser uma matéria essencial neste projeto. Será apresentada a sua definição, um breve enquadramento histórico e conceitos fundamentais generalizados, transversais a todas as suas áreas de aplicação. A maior parte desta secção, contudo, prender-se-á com o estudo de aplicações robóticas existente na área do bin-picking, de maneira a contextualizar o projeto realizado.

3.1 Enquadramento da Robótica

A substituição da mão-de-obra humana numa determinada tarefa por um meio autónomo capaz de realizar o mesmo tipo de trabalho sempre foi uma preocupação inerente ao Homem que por questões de economia de tempo ou de esforço. Os primeiros registos de tentativas com este intuito datam do período da antiguidade clássica, mais precisamente das principais civilizações dessa era – grega e egípcia. Na zona de Creta foram recuperados os restos de um notável dispositivo mecânico datado dessa era, movido a engrenagens utilizado para calcular a posição do Sol e desta forma medir o tempo. Igualmente do Egipto regista-se a invenção de relógios de água que utilizavam estatuetas com feições humanas para tocar sinos e assinalar as horas. A partir da era medieval e principalmente do Renascimento até à época da Revolução Industrial, foram aumentando exponencialmente os registos de desenvolvimento de projetos e invenção de protótipos de autómatos, veículos, dispositivos de cálculo, etc.[43, 44].

O terminologia “robot” surgiu apenas em 1920, pelo dramaturgo checo Karel Capek na sua peça Rossum’s Universal Robots, sendo que em checo a palavra “robota” significa trabalho forçado. A partir daí veio-se a generalizar o uso da palavra robô e todas as suas variantes linguísticas para designar qualquer dispositivo mecânico que opere com um certo grau de autonomia, normalmente sob controlo de computador[45]. Nos anos 40 o escritor e professor russo Isaac Asimov introduziu o conceito de “robótica” como a ciência que estuda os robôs e baseou este conceito em três leis fundamentais, enunciadas deste modo:

• Um robô não pode atacar um ser humano, ou por inação, permitir que um ser humano seja posto em perigo;

• Um robô deve obedecer a ordens dadas por um ser humano, exceto quando estas entrem em conflito com a primeira lei;

• Um robô deve proteger a sua própria existência, desde que a dita proteção não incorra na violação da primeira ou segunda leis;

Estas leis vieram a estabelecer princípios que constituem ainda hoje especificações a seguir no projeto e design de equipamentos robóticos.

Quanto à definição do conceito de robô, não há um consenso estabelecido entre as principais associações mundiais de robótica, embora não haja grandes diferenças a registar entre as definições encontradas. O RIA (Robot Institute of America) e a BRA (British Robot Association) apresentam definições bastante semelhantes, afirmando que um robô é um manipulador reprogramável multifuncional projetado para mover peças ou ferramentas através de deslocações programadas. A JIRA (Japanese Industrial Robot Association) alarga este conceito, de modo a incluir braços robóticos controlados manualmente e manipuladores de sequencia fixos, os quais não são reprogramáveis[45].

(34)

3.2 Constituintes de um robot industrial

Regra geral um robô possui quatro constituintes principais: estrutura mecânica, atuadores, sensores e elemento de controlo.

3.2.1 Estrutura mecânica

A estrutura mecânica ou manipulador consiste numa sequência de corpos rígidos ou elos conectados por meio de articulações ou juntas. Um manipulador é caracterizado por um elemento fixo, denominado base, um braço que garante mobilidade, um pulso que confere destreza e uma extremidade final, um efetor, que executa a tarefa exigida. O movimento geral da estrutura é caracterizada pela junção dos movimentos secundários de cada um dos elos e pode ser descrito por um sistema de equações que constitui o que se designa por cinemática direta de uma estrutura robótica. O inverso, as equações que definem o movimento dada a pose do seu efetor e conhecendo as dimensões dos seus elos é chamado de cinemática inversa.

A mobilidade do manipulador é assegurada pela presença de articulações. A articulação entre dois elos consecutivos pode ser classificada em dois tipos: articulação prismática e de revolução ou rotativa. Uma junta prismática realiza um movimento de translação relativo entre dois elos, enquanto que uma junta do tipo rotativa realiza um movimento rotacional. Normalmente, as juntas do segundo tipo são preferíveis às juntas prismáticas, devido a serem mais compactas e apresentarem maior fiabilidade.

A estrutura mais utilizada num manipulador é a cadeia cinemática aberta, denominada assim quando há apenas uma sequência de elos a ligar as duas extremidades da cadeia. Os robôs configurados deste modo denominam-se robôs em série. Alternativamente, um manipulador pode conter uma cadeia cinemática fechada quando numa sequência de elos o último está ligado ao primeiro, formando um ciclo fechado. Robôs que possuem esta configuração são designados por robôs em paralelo. Numa cadeia cinemática aberta, cada junta fornece à estrutura um único grau de mobilidade. Por outro lado, numa cadeia cinemática fechada, o número de graus de mobilidade é menor que o número de articulações por causa das restrições impostas pelo ciclo fechado.

Os graus de mobilidade devem ser adequadamente distribuídos ao longo da estrutura mecânica, a fim de fornecer os graus de liberdade necessários para a execução de uma determinada tarefa. As juntas são os elementos responsáveis por fornecer os graus de liberdade. No caso mais geral de uma tarefa que consiste em posicionar e orientar arbitrariamente um objeto no espaço tridimensional, são necessários seis graus de liberdade, três para posicionar um ponto no objeto e três para orientar o objeto em relação a um referencial de coordenadas. Se houver mais graus de mobilidade do que graus de liberdade, o manipulador é considerado cinematicamente redundante[45, 46].

Classificação de estruturas mecânicas

O tipo e sequência dos graus de mobilidade do braço, a partir da articulação da base, permite classificar os manipuladores como: cartesianos, cilíndricos, esféricos, SCARA e antropomórficos.

A geometria cartesiana é composta por três juntas prismáticas cujos eixos são ortogonais entre si. Cada grau de mobilidade corresponde a um grau de liberdade no espaço cartesiano e, portanto, realiza movimentos retos no espaço. A estrutura cartesiana oferece uma rigidez mecânica muito boa. A precisão do posicionamento do pulso é constante em todas as posições, contudo a destreza é reduzida, pois todas as juntas são prismáticas. Os manipuladores deste tipo são utilizados no manuseio e montagem de materiais. Os motores que atuam nas articulações de um manipulador cartesiano são tipicamente elétricos e, ocasionalmente, pneumáticos.

(35)

A geometria cilíndrica difere da cartesiana na medida em que a primeira junta prismática é substituída por uma junta de revolução. Neste caso são é usado um sistema de coordenadas cilíndricas e a cada grau de mobilidade corresponde a um grau de liberdade. Trata-se de uma estrutura que oferece boa rigidez mecânica. A precisão do posicionamento do pulso diminui à medida que o movimento horizontal aumenta. Os manipuladores cilíndricos são aplicados principalmente ao transporte de objetos, suportando cargas brutas; em tal caso, o uso de motores hidráulicos deve ser preferido ao dos motores elétricos.

O manipulador esférico difere do cilíndrico a nível da segunda junta, que é uma junta de revolução. Cada grau de mobilidade corresponde a um grau de liberdade, sendo utilizadas coordenadas esféricas neste caso. A rigidez mecânica é menor que as duas geometrias acima e a construção mecânica é mais complexa. A precisão do posicionamento do pulso diminui à medida que o movimento radial aumenta. Os manipuladores esféricos são empregados principalmente para operações de maquinagem. Motores elétricos são normalmente usados para acionar as articulações.

A geometria SCARA (Selective Compliance Assembly Robot Arm) é uma geometria especial. É constituída por duas juntas de revolução e uma junta prismática de modo que todos os eixos de movimento sejam paralelos. Trata-se de uma estrutura que oferece alta rigidez a cargas verticais e conformidade em esforços horizontais. A precisão do posicionamento do pulso diminui à medida que aumenta a distância do pulso em relação ao primeiro eixo da articulação. O manipulador SCARA é adequado para manipulação de pequenos objetos; articulações são acionadas por motores elétricos.

A geometria antropomórfica é constituída por três juntas de revolução; o eixo de revolução da primeira articulação é ortogonal aos eixos dos outros dois que são paralelos entre si. Em virtude de sua semelhança com o braço humano, a segunda articulação é designada de ombro e a terceira articulação é o cotovelo, uma vez que conecta o "braço" com o "antebraço". A estrutura antropomórfica é a mais ágil, já que todas as juntas são revolutas. Por outro lado, a correspondência entre os graus de mobilidade e os graus de liberdade é perdida e a precisão do posicionamento do pulso varia dentro do espaço de trabalho. As juntas são tipicamente acionadas por motores elétricos. A gama de aplicações industriais de manipuladores antropomórficos é ampla[46].

3.2.2 Atuadores

O conjunto de atuadores de um robô denomina-se sistema de acionamento e são estes componentes os responsáveis por fornecer a energia necessária para o movimento do equipamento. Os requisitos mais procurados na escolha deste tipo componente são geralmente: elevada gama de velocidades, capacidade de aceleração elevada, binário elevado e relação peso-potência o mais alta possível.

No sistema de acionamento incluem-se a transmissão, que pode ser conseguida através de engrenagens, correias ou parafusos de avanço, a fonte de alimentação e o motor. As soluções de acionamento são de três tipos: hidráulicas, pneumáticas e elétricas. As do tipo hidráulico providenciam uma enorme quantidade de força e binário, sendo assim indicadas para deslocação de cargas elevadas, porém necessitam de maior manutenção. As abordagens elétricas são feitas através de motores passo-a-passo ou servomotores e apesar de fornecerem menos força, são mais facilmente controláveis e fiáveis, apresentam elevada eficiência e um menor custo relativamente á solução anterior. A terceira solução, acionamento pneumático, envolve igualmente baixo custo, mas disponibiliza uma força bastante reduzida, sendo, portanto, adequada apenas a um número restrito de aplicações[46, 47].

3.2.3 Sensores

Imagem

Figura 2.1 - Reconhecimento de objeto(s) correspondente(s) ao modelo de referência numa imagem 2D [10]
Figura 4.3 - Setup do ambiente de trabalho (robô e scanner).
Tabela 4.1 - Propriedades dos objetos selecionados.
Tabela 4.2 - Especificações do sensor 3D Photoneo [50].
+7

Referências

Documentos relacionados

No código abaixo, foi atribuída a string “power” à variável do tipo string my_probe, que será usada como sonda para busca na string atribuída à variável my_string.. O

O relatório encontra-se dividido em 4 secções: a introdução, onde são explicitados os objetivos gerais; o corpo de trabalho, que consiste numa descrição sumária das

As práticas de gestão passaram a ter mais dinamicidade por meio da GIDE. A partir dessa mudança se projetaram todos os esforços da gestão escolar para que fossem

Na apropriação do PROEB em três anos consecutivos na Escola Estadual JF, foi possível notar que o trabalho ora realizado naquele local foi mais voltado à

Após analisar a evolução do uso e cobertura da terra na região estudada após a decadência da atividade cafeeira, objetivou-se examinar o reflexo do abandono do cultivo

Dessa maneira, os resultados desta tese são uma síntese que propõe o uso de índices não convencionais de conforto térmico, utilizando o Índice de Temperatura de Globo Negro e

O TBC surge como uma das muitas alternativas pensadas para as populações locais, se constituindo como uma atividade econômica solidária que concatena a comunidade com os

dois gestores, pelo fato deles serem os mais indicados para avaliarem administrativamente a articulação entre o ensino médio e a educação profissional, bem como a estruturação