113
E SCOLA DE E NGENHARIA DA UNIVERSIDADE DO MINHO Braço robótico manipulador para aplicação em robô de serviços Davide Jorge Pereira Novais de Oliveira Tese submetida no âmbito do Mestrado Integrado em Engenharia Electrónica Industrial e Computadores Orientador: Prof. Dr. Agostinho Gil Teixeira Lopes Setembro 2010

Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

Embed Size (px)

Citation preview

Page 1: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

ESCOLA DE ENGENHARIA DA UNIVERSIDADE DO MINHO

Braço robótico manipulador paraaplicação em robô de serviços

Davide Jorge Pereira Novais de Oliveira

Tese submetida no âmbito do

Mestrado Integrado em Engenharia Electrónica Industrial e Computadores

Orientador: Prof. Dr. Agostinho Gil Teixeira Lopes

Setembro 2010

Page 2: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

c© Davide Oliveira, 2010

Page 3: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

Braço robótico manipulador para aplicação em robô deserviços

Davide Jorge Pereira Novais de Oliveira

Tese submetida no âmbito do

Mestrado Integrado em Engenharia Electrónica Industrial e Computadores

Setembro de 2010

Page 4: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve
Page 5: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

Resumo

Este documento descreve o trabalho que serve de contributo ao projecto do robôMARY. Neste, foca-se a possibilidade de implementação de um sistema manipulador paraa plataforma robótica. Estão contemplados dois grandes grupos de intervenção, a compo-nente electrónica e de controlo de um braço, e o desenvolvimento de uma aplicação quepermite aferir a sua utilidade.

Com a adopção de um braço previamente construído, surge a necessidade de melho-ramento de toda a electrónica de accionamento e controlo. Aqui pretende-se encontrarum sistema robusto e fiável, e que responda a todas as necessidades que a aplicação acar-reta. De entre as melhorias aqui apresentadas, pode-se destacar o desenvolvimento detrês módulos de controlo e um novo modelo de comunicação entre estes e a plataformacomputacional.

Numa segunda fase, é necessário dotar esse mesmo braço de capacidade de percepçãodo espaço em seu redor. Com utilização de duas webcams convencionais, é demonstradoser possível obter informações em três dimensões do espaço em que o robô se insere.

Através do recurso a técnicas como as matrizes de transformação de coordenadas,regressão polinomial e segmentação do objecto pretendido, é possível obter resultadossatisfatórios e potencializar o sistema para acções mais complexas.

A solução aqui apresentada pretende demonstrar que através de soluções económicas,é possível se obter resultados satisfatórios. É sempre útil conseguir-se evitar o uso deequipamentos complexos e de custos elevados, mantendo os sistemas simples e eficientes.

i

Page 6: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

ii

Page 7: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

Abstract

This document describes the work that serves as input to design the robot MARY. Inthis, is focused the possibility of implementing a system handler for the robotic platform.There are two broad groups of intervention, the electronic components and control of anarm, and the development of an application to assess its usefulness.

With the adoption of an arm previously built, the need arises to upgrade the entiredrive and control electronics. Here we want to find a robust and reliable, and they answerall the needs that the application entails. Among the improvements presented here, we canhighlight the development of three control modules and a new model of communicationbetween them and computational platform.

In a second phase, it is necessary to provide this same arm of perceptibility of thespace around it. With use of conventional two webcams, it proved possible to obtaininformation in three dimensions of space where the robot falls.

Through the use of techniques such as coordinate transformation matrices, polynomialregression and segmentation of the desired object, it is possible to obtain satisfactoryresults and enhance the system to more complex actions.

The solution presented here is intended to demonstrate that through economic soluti-ons, it is possible to obtain satisfactory results. It is always useful to be able to avoid theuse of complex equipment and high costs, keeping systems simple and efficient.

iii

Page 8: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

iv

Page 9: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

Agradecimentos

Ao longo de todo o trajecto académico, e principalmente no último ano, tive o apoiode pessoas que, através das mais variadas formas, possibilitaram a realização do trabalhoaqui descrito. Desta forma, gostaria de relembrar a sua ajuda e prestar-lhes a minhahomenagem.

Em primeiro lugar, devo agradecer ao Júlio e à Fátima. A eles, devo o convite para aingressão na equipa MINHO@home, e consequentemente, todo o trabalho realizado aolongo do último ano. Obrigado pela ajuda e disponibilidade incondicionais, nos bons emaus momentos.

Ao Prof. Dr. Gil Lopes, e ao Prof. Dr. Fernando Ribeiro, que com a sua paciên-cia, conselhos, disponibilidade total e apoio incondicional, me disponibilizaram todas asferramentas necessárias ao longo do projecto. Obrigado por todas as valiosas experiên-cias que me proporcionaram, desde a RoboParty 2010 passando pelo Robótica 2010 até àaventura de Singapura.

A todo o restante grupo que constitui a MINHO@home, Nino Pereira, José Cruz eJoão Costa, devo também uma palavra de agradecimento, pela ajuda e apoio.

Aos meus amigos Bruno e Rodolphe, que apesar da distância nunca me negaram ne-nhuma ajuda e concelho. Tenho que lhes dar o meu obrigado muito sentido, por nunca seterem esquecido de mim, nem mesmo nas fases mais complicadas.

Rita, não encontro modo de descrever o quanto contribuíste neste fim de um cicloimportantíssimo, talvez necessite de umas páginas adicionais. Obrigado pelo teu apoio,amizade e ajuda incondicionais. Obrigado pela tua paciência, e compreensão quando maisprecisei de ti. Não sei como transmitir em palavras, o quanto me ajudaste de tantas outrasformas, nos mais variados momentos.

Por fim, mas não em último, estou muito grato aos meus pais, que de uma formadecisiva, possibilitaram todas as experiências vivenciadas. Agradeço a sua compreensão,dedicação e amor.

Davide Oliveira

v

Page 10: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

vi

Page 11: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

“If knowledge can create problems,it is not through ignorance that we can solve them!”

Isaac Asimov

vii

Page 12: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

viii

Page 13: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

Conteúdo

1 Introdução 11.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Robocup@home . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.2 Objectivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.3 Participações . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.4 Estrutura do documento . . . . . . . . . . . . . . . . . . . . . . 3

2 Revisão Bibliográfica 52.1 Exemplos de robôs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1 Robô ARoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.2 Robô Dynamaid . . . . . . . . . . . . . . . . . . . . . . . . . . 72.1.3 Robô Lisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.1.4 Team eR@sers . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2 Exemplos de braços robóticos . . . . . . . . . . . . . . . . . . . . . . . 102.2.1 Katana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2.2 Kuka KR5 SIXX R650 . . . . . . . . . . . . . . . . . . . . . . . 122.2.3 Whole Arm Manipulator . . . . . . . . . . . . . . . . . . . . . . 13

2.3 Cinemática de um braço robótico . . . . . . . . . . . . . . . . . . . . . . 132.3.1 Conceitos base . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.3.2 Cinemática directa . . . . . . . . . . . . . . . . . . . . . . . . . 142.3.3 Cinemática inversa . . . . . . . . . . . . . . . . . . . . . . . . . 142.3.4 Redundância cinemática . . . . . . . . . . . . . . . . . . . . . . 17

2.4 Visão stereo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.4.1 Calibração de uma câmara . . . . . . . . . . . . . . . . . . . . . 192.4.2 Calibração stereo . . . . . . . . . . . . . . . . . . . . . . . . . . 232.4.3 Rectificação stereo . . . . . . . . . . . . . . . . . . . . . . . . . 232.4.4 Mapa de disparidades . . . . . . . . . . . . . . . . . . . . . . . . 232.4.5 Equipamentos comerciais . . . . . . . . . . . . . . . . . . . . . 24

2.5 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3 Braço Robótico 273.1 Robô MARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.2 Braço robótico adoptado . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.2.1 Características do braço . . . . . . . . . . . . . . . . . . . . . . 303.2.2 Actuadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.3 Hardware de controlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.3.1 Microcontrolador . . . . . . . . . . . . . . . . . . . . . . . . . . 32

ix

Page 14: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

x CONTEÚDO

3.3.2 Abordagens iniciais . . . . . . . . . . . . . . . . . . . . . . . . . 333.3.3 Hardware final adoptado . . . . . . . . . . . . . . . . . . . . . . 34

3.4 Algoritmo de controlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.4.1 Comunicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.4.2 Posicionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.4.3 Calibração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.5 Manipulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.5.1 Controlador do manipulador . . . . . . . . . . . . . . . . . . . . 41

3.6 Ferramentas auxiliares . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.7 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4 Cinemática do Braço Articulado 454.1 Espaço de trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.2 Cinemática inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.2.1 Determinação de θ1 . . . . . . . . . . . . . . . . . . . . . . . . . 484.2.2 Determinação de θ2 . . . . . . . . . . . . . . . . . . . . . . . . . 494.2.3 Determinação de θ3 . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.3 Espaço de coordenadas . . . . . . . . . . . . . . . . . . . . . . . . . . . 504.4 Considerações finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.5 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5 Visão Stereo 555.1 Hardware adoptado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555.2 Calibração do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

5.2.1 Posicionamento das câmaras . . . . . . . . . . . . . . . . . . . . 575.2.2 Calibração stereo . . . . . . . . . . . . . . . . . . . . . . . . . . 575.2.3 Rectificação stereo . . . . . . . . . . . . . . . . . . . . . . . . . 585.2.4 Correspondência stereo . . . . . . . . . . . . . . . . . . . . . . . 595.2.5 Algoritmo de calibração . . . . . . . . . . . . . . . . . . . . . . 60

5.3 Calibração de distâncias . . . . . . . . . . . . . . . . . . . . . . . . . . 615.3.1 Triangulação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.3.2 Regressão polinomial . . . . . . . . . . . . . . . . . . . . . . . . 61

5.4 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

6 Detecção e Localização de um Objecto 656.1 Reconhecimento de um objecto . . . . . . . . . . . . . . . . . . . . . . . 65

6.1.1 Segmentação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666.1.2 Centro de massa . . . . . . . . . . . . . . . . . . . . . . . . . . 66

6.2 Localização real do objecto . . . . . . . . . . . . . . . . . . . . . . . . . 676.3 Algoritmo de captura de imagens . . . . . . . . . . . . . . . . . . . . . . 686.4 Algoritmo de posicionamento do braço . . . . . . . . . . . . . . . . . . . 696.5 Ferramentas utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . 696.6 Aplicação desenvolvida . . . . . . . . . . . . . . . . . . . . . . . . . . . 706.7 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Page 15: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

CONTEÚDO xi

7 Análise de Resultados 757.1 Exactidão da localização e posição do alvo . . . . . . . . . . . . . . . . . 757.2 Posicionamento do braço articulado . . . . . . . . . . . . . . . . . . . . 777.3 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

8 Conclusões e Trabalho Futuro 81

Referências 83

A Esquema eléctrico do módulo de controlo de uma junta 87

Page 16: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

xii CONTEÚDO

Page 17: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

Lista de Figuras

1.1 Robô em prova na Robocup@home [2] . . . . . . . . . . . . . . . . . . 2

2.1 Robô ARoS a manipular um objecto [3] . . . . . . . . . . . . . . . . . . 62.2 Estrutura do robô ARoS [3] . . . . . . . . . . . . . . . . . . . . . . . . . 62.3 Sistema de visão stereo e sua aplicação no robô ARoS [3] . . . . . . . . . 72.4 Robô Dynamaid em prova na Robocup@home [5] . . . . . . . . . . . . . 72.5 Equipamento utilizado no Dynamaid para percepção de objectos . . . . . 82.6 Robô “Lisa” [10] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.7 Garra instalada no Pioneer 3-AT [11] . . . . . . . . . . . . . . . . . . . . 92.8 Robôs desenvolvidos pela equipa eR@sers [13] . . . . . . . . . . . . . . 102.9 Exemplos de aplicações do braço Katana . . . . . . . . . . . . . . . . . . 112.10 Placa de controlo do braço robótico Katana [15] . . . . . . . . . . . . . . 122.11 Exemplo de plataforma móvel com um braço Kuka KR5 SIXX R650 [16] 122.12 Exemplo de plataforma móvel com um braço WAM [18] . . . . . . . . . 132.13 Esquema de um braço articulado com dois graus de liberdade e movi-

mento planar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.14 Algoritmo simples do controlo de posição, usando o método numérico . . 162.15 Trigonometria aplicada ao método analítico . . . . . . . . . . . . . . . . 162.16 Redundância de um robô planar . . . . . . . . . . . . . . . . . . . . . . 182.17 Como o ser humano percepciona o espaço [26] . . . . . . . . . . . . . . 182.18 Esquema de posicionamento de duas câmaras stereo [24] . . . . . . . . . 192.19 Método de obtenção da profundidade, através de um par de imagens . . . 192.20 Modelo de câmara pontual [25] . . . . . . . . . . . . . . . . . . . . . . . 202.21 Modelo alternativo de câmara pontual [25] . . . . . . . . . . . . . . . . . 202.22 Principais efeitos causado pela distorção da imagem [27] . . . . . . . . . 212.23 Rectificação dos planos de imagem [28] . . . . . . . . . . . . . . . . . . 232.24 Rectificação dos planos de imagem [24] . . . . . . . . . . . . . . . . . . 242.25 Câmara stereo Bumblebee 2 [11] . . . . . . . . . . . . . . . . . . . . . . 252.26 Câmara MobileRanger C3D [11] . . . . . . . . . . . . . . . . . . . . . . 25

3.1 Sistema de locomoção do robô MARY [30] . . . . . . . . . . . . . . . . . 283.2 Perfis de alumínio com sistema de guia e patim [30] . . . . . . . . . . . . 283.3 Robô MARY com o seu braço articulado . . . . . . . . . . . . . . . . . . 293.4 Estrutura mecânica que compõe o braço articulado . . . . . . . . . . . . 303.5 Actuador eléctrico adoptado e diagrama de implementação . . . . . . . . 313.6 Duas primeiras filosofias adoptadas para o controlo do braço articulado . 323.7 AVR Butterfly [33] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

xiii

Page 18: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

xiv LISTA DE FIGURAS

3.8 Diagrama de hierarquia do sistema de controlo do braço articulado . . . . 343.9 Primeiro módulo completo para controlo de um motor DC . . . . . . . . 343.10 Modelo final adoptado para o controlo das juntas do braço articulado . . . 353.11 Hierarquização final do hardware de accionamento do braço . . . . . . . 353.12 Exemplo de uma trama recebida pelo braço articulado . . . . . . . . . . . 363.13 Algoritmo de comunicação entre master e os outros periféricos . . . . . . 373.14 Sistema SPI com multiplas slaves [34] . . . . . . . . . . . . . . . . . . . 383.15 Algoritmos de comunicação SPI [34] . . . . . . . . . . . . . . . . . . . . 383.16 Transmissão de forças entre motor e veio da junta . . . . . . . . . . . . . 393.17 Posicionamento aplicado a uma junta . . . . . . . . . . . . . . . . . . . . 403.18 Hardware da garra manipuladora . . . . . . . . . . . . . . . . . . . . . . 413.19 Abertura da garra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.20 Fecho da garra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.1 Amplitude de movimentos numa junta . . . . . . . . . . . . . . . . . . . 464.2 Espaço de trabalho do braço . . . . . . . . . . . . . . . . . . . . . . . . 474.3 Diagrama de auxílio para a determinação da cinemática inversa . . . . . . 484.4 Exemplo da posição do braço com α3 nulo . . . . . . . . . . . . . . . . . 504.5 Posicionamento de um objecto em relação a dois sistemas de eixos . . . . 51

5.1 Câmara Philips SPC900NC . . . . . . . . . . . . . . . . . . . . . . . . . 565.2 Suporte do par de câmaras do sistema de visão stereo . . . . . . . . . . . 565.3 Par de imagens de câmaras mal alinhadas . . . . . . . . . . . . . . . . . 575.4 Par de imagens de câmaras bem alinhadas . . . . . . . . . . . . . . . . . 575.5 Resultado da rectificação e alinhamento . . . . . . . . . . . . . . . . . . 585.6 Exemplos de disparidade no processo de calibração . . . . . . . . . . . . 605.7 Algoritmo para calibração do sistema de visão stereo . . . . . . . . . . . 605.8 Gráfico da evolução da disparidade em função da distância . . . . . . . . 62

6.1 Objecto adoptado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666.2 Resultado de aplicação da segmentação na imagem . . . . . . . . . . . . 676.3 Algoritmo de captura do par de imagens . . . . . . . . . . . . . . . . . . 686.4 Algoritmo de obtenção dos ângulos das juntas . . . . . . . . . . . . . . . 696.5 Computador Magalhães 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 706.6 Tab de apresentação da aplicação . . . . . . . . . . . . . . . . . . . . . . 716.7 Tab responsável pelo alinhamento das câmaras . . . . . . . . . . . . . . . 716.8 Secção de calibração stereo . . . . . . . . . . . . . . . . . . . . . . . . . 726.9 Visualização do mapa de disparidades . . . . . . . . . . . . . . . . . . . 726.10 Ambiente de observação da segmentação e resultados da localização e

controlo da posição do braço . . . . . . . . . . . . . . . . . . . . . . . . 72

7.1 Exemplos de objectos adoptados na Robocup@home [37] . . . . . . . . . 78

Page 19: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

Lista de Tabelas

3.1 Principais características do braço articulado [31] . . . . . . . . . . . . . 303.2 Características completas do conjunto motor-redutora-encoder . . . . . . 313.3 Principais características do servomotor do manipulador . . . . . . . . . 41

4.1 Comprimentos de elos e garra . . . . . . . . . . . . . . . . . . . . . . . 464.2 Pontos de interesse do diagrama 4.3 . . . . . . . . . . . . . . . . . . . . 484.3 Constantes da transformação geométrica . . . . . . . . . . . . . . . . . . 51

5.1 Especificações da câmara usada . . . . . . . . . . . . . . . . . . . . . . 555.2 Resultados do método de triângulação . . . . . . . . . . . . . . . . . . . 615.3 Resultados do método experimental . . . . . . . . . . . . . . . . . . . . 62

6.1 Desempenho do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . 73

7.1 Resultados das medições da localização do objecto (em cm) . . . . . . . . 767.2 Resultados do posicionamento do braço articulado (em cm) . . . . . . . . 77

xv

Page 20: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

xvi LISTA DE TABELAS

Page 21: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

Abreviaturas e Símbolos

ADC Analog to Digital ConverterARoS Anthropomorphic Robot SystemASCII American Standard Code for Information InterchangeBGR Blue Green RefDC Direct CurrentEAGLE Easily Applicable Graphical Layout EditorFPGA Field-Programmable Gate ArrayFPS Frames Per SecondIDE Integrated Development EnvironmentJTAG Joint Test Action GroupKNI Katana Native InterfaceMISO Master In Slave OutMOSI Master Out Slave InPC Personal ComputerPWM Pulse-Width modulationSIFT Scale-Invariant Feature TransformSS Slave SelectSPI Serial Peripheral InterfaceSURF Speeded Up Robust FeaturesUMan UMass Mobile ManipulatorVGA Video Graphics ArrayWAM Whole Arm Manipulator3D Três Dimensões

xvii

Page 22: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

xviii ABREVIATURAS E SÍMBOLOS

Page 23: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

Capítulo 1

Introdução

Desde há várias décadas que a robótica se tem apresentado como uma solução predo-minantemente industrial, sendo uma mais valia nos mais variados sectores. Os sistemasautónomos são muito utilizados em linhas de montagem do sector automóvel, electró-nica, na industria farmacêutica e tabaqueira, sendo elementos chave no transporte, corte,pintura, moldagem e manipulação de mercadorias.

Enquanto a utilidade e aplicabilidade destes sistemas em ambientes industriais estábastante consolidado, começa a ser evidente que novas áreas de intervenção podem serdevidamente exploradas. O ambiente doméstico de uma casa, apresenta não só inúmerosdesafios interessantes para os investigadores, como também uma grande oportunidadeeconómica para os fabricantes. Influências como a série Star Trek (1966), ou os filmesStar Wars (1977) e I, Robot (2004), demonstram o quanto o ser humano pretende atravésdo seu imaginário, que a robótica assuma uma posição mais preponderante no quotidianode todos nós. A aplicação de uma ciência, como a robótica, em ambientes domésticos temsuscitado elevado interesse da comunidade cientifica, que segundo Bill Gates, poderá vira ser equiparável ao sucedido nos inícios dos anos 80, com o surgimento do computadorpessoal [1].

1.1 Motivação

De entre as mais variadas tentativas de aperfeiçoamento de robôs domésticos, é possí-vel destacar a Robocup, que pela sua filosofia de competição e partilha de conhecimentos,proporciona aos investigadores um ambiente apropriado, desafiante e motivador.

Pode-se descrever a Robocup, como um ambiente em que um grupo de investigaçãopromove a exploração e a divulgação da robótica. Esta, é constituída por várias ligas, querepresentam objectivos e desafios variados, podendo ir desde ligas de futebol até provasde busca e salvamento.

1

Page 24: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

2 Introdução

De entre as várias ligas existentes, uma surge como a maior impulsionadora da robó-tica aplicável no quotidiano das populações, a Robocup@home.

1.1.1 Robocup@home

Nesta nova liga, é sugerido aos robôs domésticos um conjunto de tarefas que se re-velam extremamente importantes no contexto da prova. Estas etapa passam desde umasimples apresentação ao público e júri, passando pela movimentação autónoma da casa,ao reconhecimento de pessoas e interacção com objectos, figura 1.1.

Figura 1.1: Robô em prova na Robocup@home [2]

No seguimento desta tendência surge uma nova iniciativa do Gabinete de Automaçãoe Robótica da Universidade do Minho, denominada de MINHO@home. Nesta, é expressaa vontade de criação de um novo robô de serviços autónomo para ambientes domésticos.

Assim, o trabalho descrito neste documento surge da necessidade de atribuir ao robôMARY a capacidade de interacção com objectos, dotando o robô de atributos como adetecção e manipulação destes.

1.1.2 Objectivos

Como ponto de partida para este trabalho, é essencial perceber o seu enquadramento.O posicionamento do robô móvel não é contemplado, pelo que, pressupõe-se que é efec-tuado o mais correctamente possível. É essencial que a plataforma móvel seja capaz dese aproximar o possível do objecto, mantendo a distância de segurança necessária.

Assim, como principais objectivos a atingir ao longo de todo o trabalho, são identifi-cáveis alguns pontos importantes.

Numa primeira fase é necessário o melhoramento de todo um sistema de controlode um braço articulado, previamente desenvolvido. Aqui, é necessário não só o me-lhoramento do hardware de controlo de movimentos deste, bem como a sua filosofia decontrolo.

Page 25: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

1.1 Motivação 3

O braço por si só, não conseguirá corresponder as exigências mais básicas de detecçãoe manipulação de objectos. É essencial que seja encontrada uma solução para a detecçãode objectos no espaço, e reconhecimento da sua posição relativa ao braço articulado.

E por fim, é necessário estudar a cinemática do braço para que os movimentos consi-gam ser exactos e coerentes com o desejado.

1.1.3 Participações

A equipa MINHO@home participou na competição Robocup@home em Singapurado presente ano de 2010. Esta participação deve-se em grande parte à grande experiênciaque o Gabinete de Automação e Robótica obteve, ao longo das inúmeras participações,em outras ligas. De salientar também o grande empenho de toda a equipa, compostaessencialmente por alunos do Mestrado Integrado em Electrónica Industrial e Computa-dores.

A participação no evento, demonstrou ser de grande estimulo científico, e proporcio-nou num sem número de benefícios. Este é de facto, o seu principal objecto.

1.1.4 Estrutura do documento

Este documento é composto por mais sete capítulos, e está estruturado da seguinteforma:

No capítulo 2 são revistos alguns robôs que contribuem, das mais variadas formas,para a introdução ao trabalho. São expostas as suas principais características de modo aque se entenda em que medida inspiram o trabalho realizado.

São também avaliados alguns braços robóticos existentes no mercado. Desta forma, épossível entender quais as vantagens ou inconvientes do braço articulado adoptado.

Por fim, são explorados alguns conceitos teóricos necessários ao entendimento dosmétodos utilizados ao longo do trabalho.

No capítulo 3, é descrito todo o sistema de accionamento do braço robótico. É dadoênfase aos módulos desenvolvidos, sistema de comunicação e controlo da posição de cadajunta.

O capítulo 4 demonstra como o estudo da cinemática inversa do braço é importantepara o seu posicionamento.

A descrição do sistema de visão é feita no capítulo 5. Aqui são descritos os principaiselementos do sistema, e o seu processo de calibração.

O capítulo 6 descreve como deve ser tratada a informação obtida pelo sistema de visão.Através deste, é descrito como podem-se obter informações do espaço que rodeia o braço.

No capitulo 7 são demonstrados alguns resultados obtidos pelo sistema.Por fim, no capítulo 8 são feitas algumas considerações finais, e apontadas algumas

sugestões como trabalho futuro.

Page 26: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

4 Introdução

Page 27: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

Capítulo 2

Revisão Bibliográfica

A possibilidade de integração de sistemas robóticos em ambientes não controlados,como um ambiente doméstico, têm levantado variadíssimos problemas para a comuni-dade cientifica. Isto deve-se principalmente às sua limitadas capacidades de manipulaçãode objectos e interacção com humanos. Com as várias tentativas de solucionar tais pro-blemas, têm surgido alguns robôs como propostas, desde manipuladores móveis com osmais variados aspectos, até aos humanóides.

Neste capítulo são apresentadas algumas propostas que mais influenciaram todo o tra-balho, descrito nos capítulos seguintes. Seguidamente são introduzidos alguns conceitosteóricos fundamentais para a execução do trabalho, visão stereo e a cinemática de umbraço robótico.

2.1 Exemplos de robôs

A pesquisa e conhecimento prévio, de um determinado tema, é essencial para a suamelhor compreensão e para a escolha da abordagem mais correcta. Deste modo, é essen-cial o conhecimento prévio dos sistemas robóticos, para manipulação de objectos.

2.1.1 Robô ARoS

O ARoS (Anthropomorphic Robot System), figura 2.1, é um robô antropomórfico de-senvolvido na Universidade do Minho, pelo que merece um destaque especial neste capí-tulo. Este surgiu com o principal objectivo de estudar a interacção e coordenação entrerobôs e humanos.

O robô, descrito em [3], é constituido por um um braço antropomórfico com um ma-nipulador, um sistema de visão e ainda uma estrutura rígida que permite suportar todo osistema.

O braço é fabricado pela AMTEC Robotics / Schunk, é antropomórfico com 7 graus deliberdade. Segundo o autor, a escolha deste equipamento deve-se à sua leveza, ao facto

5

Page 28: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

6 Revisão Bibliográfica

de não necessitar de controladores externos e ainda possuir um custo baixo relativamentea outros presentes no mercado. Este possui um comprimento de 1,17m, 12kg de peso, econsegue suportar cargas até 3kg, com um repetibilidade de 1mm. Acoplado ao braço, foiainda usado um manipulador Barrett Hand BH8-262, com três dedos.

Figura 2.1: Robô ARoS a manipular um objecto [3]

De forma a tornar o sistema fisicamente robusto, o autor determina quais as medidasque o seu robô deve ter. Para que se consiga uma correcta utilização, o robô deve possuiruma altura de 150 cm, com uma base de 120 cm, como é ilustrado na figura 2.2.

Figura 2.2: Estrutura do robô ARoS [3]

O sistema de visão que permite a detecção dos objectos no espaço, é um sistemastereo comercializado pela empresa Videra Design, modelo STH-DCSG-VAR-C. Este écomposto por duas câmaras VGA com uma resolução de 640x480 píxeis, figura 2.3a.

Na figura 2.3c, pode-se verificar como o autor soluciona o problema da noção deprofundidade, para a obtenção de coordenadas 3D. Esta é dada por uma representaçãográfica da nuvem de pontos 3D criado pelo algoritmo de disparidade, em que as zonasmais avermelhadas, estão mais perto das câmaras, e as zonas mais azuladas, estão maisafastadas.

Page 29: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

2.1 Exemplos de robôs 7

(a) Sistema stereo do ARoS (b) Imagem esquerda (c) Imagem de disparidade

Figura 2.3: Sistema de visão stereo e sua aplicação no robô ARoS [3]

Os resultados da tentativa de manipulação de objectos, demonstram erros médios pró-ximos de 1cm por eixo. Estes não revelam grande preocupação, pois o erro não afecta aprestação do sistema.

Esta proposta torna-se bastante interessante, mas devido à complexidade do braço uti-lizado e à necessidade de uma estrutura de suporte robusta e pesada, a sua aplicabilidadeem soluções móveis fica seriamente afectada. Aliás, a integração de um sistema de loco-moção não é sugerido pelo autor, ficando em aberto essa possibilidade.

2.1.2 Robô Dynamaid

O Dynamaid, em certa medida, segue um pouco a filosofia do ARoS, pretendendo levaro seu conceito um pouco mais além, mantendo-se fiel a um aspecto antropomórfico. Esterobô propõe-se a resolver os três grandes desafios para robôs em aplicações domésticas:navegação em ambientes fechados, manipulação de objectos e comunicação intuitiva como utilizador [4].

Figura 2.4: Robô Dynamaid em prova na Robocup@home [5]

Page 30: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

8 Revisão Bibliográfica

Na concepção deste robô foram tomadas algumas preocupações importantes, tais como,uma base suficientemente compacta para que o robô consiga se mover em espaços estrei-tos, e ao mesmo tempo capaz de suportar toda a restante estrutura.

Em vez de fazer uma adaptação de um braço, foi desenvolvido um de raiz com setegraus de liberdade e um manipulador.O controlo do movimento destes braços, é feito poruma técnica de cinemática diferencial.

Os principais sensores para detecção de objectos e pessoas são, um laser scanner,figura 2.5a, e um laser rangefinder, figura 2.5b. Ainda é utilizado um sistema de visãostereo para o melhoramento da detecção a curtas distâncias, com o recurso a duas câmarasda PointGrey, figura 2.5c.

(a) SICK S300 [6] (b) Hokuyo URG-04LX [7] (c) PointGrey Flea2-13S2-C [8]

Figura 2.5: Equipamento utilizado no Dynamaid para percepção de objectos

Na detecção de objectos, e numa primeira fase, o laser rangefinder é colocado nahorizontal, permitindo saber a distância ao objecto alvo. Para determinar a altura doobjecto, o sensor é colocado na vertical com o auxilio de um servomotor.

Este robô é actualmente, um dos mais completos e versáteis que participam na Ro-bocup@home, tendo marcado presença em duas edições (2009 e 2010) e com resultadosbastante positivos.

2.1.3 Robô Lisa

Este é mais um robô participante da Robocup@home, pertencendo à equipa homer@UniKoblenz, figura 2.6. A sua concepção foi iniciada em 2005, e os seus responsáveis jácontam com experiência acumulada de outras ligas [9].

Este, da mesma forma que o Dynmaid, foi concebido para satisfazer as três necessi-dades fundamentais num robô doméstico. Para tal, e apesar do aspecto antropomórficoter sido deixado de parte, este mantém a mesma complexidade de equipamentos paradetecção de objectos e pessoas.

Assim como o Dynamaid, a Lisa percepciona os objectos existentes ao seu redor atra-vés da utilização de um laser range finder, idêntico ao da figura 2.5b.

Page 31: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

2.1 Exemplos de robôs 9

Figura 2.6: Robô “Lisa” [10]

Para além do laser range finder, o robô ainda possui duas câmaras Philips. Elasservem propósitos distintos, uma para detectar objectos ao nível do chão, e uma outracolocada no topo, para reconhecimento de pessoas.

De forma a ser capaz de manipular objectos, a Lisa utiliza dois braços robóticos. UmKatana da empresa Neuronics, figura 2.9a, para objectos colocados em cima de mesas ououtras situações com alturas similares. Devido ao posicionamento do primeiro, é utilizadauma garra na plataforma Pioneer 3-AT, permitindo agarrar objectos a alturas mais baixas,figura 2.7.

Figura 2.7: Garra instalada no Pioneer 3-AT [11]

De forma a que o controlo de posição do braço robótico seja feito de uma forma eficaz,os autores deste robô sugerem uma abordagem distinta dos seus semelhantes. É referidoque a utilização de técnicas de cinemática inversa, torna o processo complexo. Atravésde técnicas de encadeamento de motion primitives, é possível determinar uma trajectóriade movimento, suavizando-o fazendo uso de métodos heurísticos, [12].

Page 32: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

10 Revisão Bibliográfica

2.1.4 Team eR@sers

Esta equipa natural do Japão, surge da fusão de esforços de três entidades: TamagawaUniversity, National Institute of Information and Communications Techonology, e ainda,da University of Electro-Communications, [13].

A sua participação na Robocup@home 2010 pode ser considerada um sucesso, poisfoi coroada com o primeiro lugar do podium. Com a participação de dois robôs, comhardware distinto, acabam por demonstrar uma utilização mais simplificada de recursos.Os robôs são denominados de SUBARU, figura 2.8a e DiGORO na figura 2.8b.

(a) Robô SUBARU (b) Robô DiGORO

Figura 2.8: Robôs desenvolvidos pela equipa eR@sers [13]

Apesar destas duas plataformas serem distintas na forma de locomoção, e no braçorobótico utilizado, acabam por partilhar a mesma arquitectura de software.

A forma de localização e manipulação de objectos destes robôs distingue-se das outrasproposta aqui apresentadas, pela utilização de somente processamento de imagem. Éconfiado, ao sistema de visão stereo, o objectivo de obtenção de cores e de profundidadedo ambiente. Sendo esta a primeira filtragem feita aquando da procura de um objecto, édeterminada a posição aproximada deste.

A localização exacta é obtida pela comparação de histogramas, analisados de toda aárea, e pela profundidade obtida pelo sistema stereo, como pela câmara 3D-TOF (time offlight).

2.2 Exemplos de braços robóticos

Como já foi referido anteriormente, a aplicabilidade de um braço robótico em plata-formas móveis apresenta variadíssimas vantagens. Apesar disto, existem características

Page 33: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

2.2 Exemplos de braços robóticos 11

especiais inerentes a este tipo de aplicações. Estas necessitam pois, de uma análise cui-dada.

De entre as referidas características, pode-se destacar a facilidade de montagem queum braço deve permitir, tanto pelo seu peso, como por componentes adicionais para oseu funcionamento. O seu tamanho também é importante, de modo a que não dificulte osmovimentos do robô. E por fim, o consumo energético também deve ser considerado, deforma a não interferir com a autonomia de todo o sistema.

De seguida são descritas algumas propostas sugeridas por sistemas manipuladoresmóveis.

2.2.1 Katana

Este braço denominado de Katana, comercializado pela empresa Neuronics, figura2.9a. No âmbito da robocup@home, esta apresenta-se como sendo a proposta mais uti-lizada, exemplos disso são os robôs das equipas b-it-bots e homer@UniKoblenz, figuras2.9b e 2.9c respectivamente [14, 9].

(a) Braço Katana [15] (b) Equipa b-i-bots [14] (c) homer@UniKoblenz [9]

Figura 2.9: Exemplos de aplicações do braço Katana

Segundo a empresa que criou este braço, este destina-se ao manuseamento de peque-nas peças de ensaio na área da automação [15]. Com peso de 4.8 Kg e cerca de 0.1 mmde repetibilidade, este é um braço com 6 graus de liberdade que consegue suportar car-gas não superiores a 0.4 Kg. Este possui uma área de trabalho de 517 mm, sendo o seumovimento fornecido por motores DC com encoders de posição.

O controlo do funcionamento é feito por uma placa de controlo idêntica à da figura2.10. Nesta placa é possível destacar a existência de um processador TMS320 da TexasInstruments para cada motor, tendo seis no seu total, e comunicação Ethernet e USB

Page 34: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

12 Revisão Bibliográfica

com o exterior. Tudo isto a correr sobre uma plataforma Linux totalmente aberto paraalterações.

Figura 2.10: Placa de controlo do braço robótico Katana [15]

Mas a grande vantagem na utilização deste equipamento é a facilidade de programaçãoe utilização. Na sua aquisição, a Neuronics disponibiliza um conjunto de ferramentas quepossibilitam uma rápida interacção com o braço. O ambiente de programação é designadopor Katana4D, e as bibliotecas baseadas em C++ denominadas de KNI, para aplicaçõesmais complexas e utilizadores mais exigentes.

2.2.2 Kuka KR5 SIXX R650

É um facto que esta proposta permite a interacção com cargas até aos 5 Kg, e umalcance máximo de 650 mm, sendo superior ao Katana neste campo. Mas esta propostapresente em [16], apresenta algumas desvantagens para a aplicação em questão, como sepode ver pela figura 2.11, pode apresentar algumas desvantagens para a aplicação dese-jada. O facto de constituir um aumento de peso, cerca de 28 Kg, e de ser um dispositivobem mais volumoso, acabam por limitar a sua aplicabilidade [17].

Figura 2.11: Exemplo de plataforma móvel com um braço Kuka KR5 SIXX R650 [16]

Page 35: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

2.3 Cinemática de um braço robótico 13

2.2.3 Whole Arm Manipulator

O robô UMan da Universidade de Massachsetts Amherst, apresenta uma outra pro-posta para a manipulação de objectos. Para este, figura 2.12, foi escolhido um braço daempresa Barret Technology, denominado de WAM [18].

Este apresenta uma nova tecnologia de transmissão de movimento às juntas, que nãosó leva a reduzidos consumos, como a sistemas de controlo mais compactos e leves. As-sim, este dispositivo com 7 graus de liberdade, chega a pesar 25 Kg e uma carga máximade 4 Kg, a uma potência máxima de 30 W [19].

Figura 2.12: Exemplo de plataforma móvel com um braço WAM [18]

2.3 Cinemática de um braço robótico

A cinemática de um braço trata o estudo dos movimentos deste, sem levar em con-sideração as forças envolvidas nas acções. Com este estudo, é possível prever a posiçãode qualquer ponto do braço, conforme o movimento efectuado por cada uma das juntasdeste.

Seguidamente são explicados todos os conceitos que são necessários para se conseguirentender a forma como o movimento de um braço deve ser determinado.

2.3.1 Conceitos base

Para que a continuação do capítulo mantenha-se de fácil compreensão, é necessário in-troduzir alguns novos conceitos que serão abordados em alguns pontos deste documento.A figura 2.13 pode ajudar à melhor compreensão.

Os principais elementos de um braço são denominados de elos, definidos como L1 eL2 na figura. Estes constituem o esqueleto do braço.

Page 36: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

14 Revisão Bibliográfica

As juntas promovem não só, a ligação dos elos, como também, o movimento entreeles. Os ângulos produzidos podem ser identificadas como θ1 e θ2, na figura 2.13. O end-effector Pw(x,y), são as coordenadas da extremidade do braço, que se desejam analisar.

Pelo que se pode verificar na figura 2.13, não existe qualquer tipo de junta de rotaçãonos eixos de x ou y. Assim, este é considerado um braço robótico planar, sendo as suascoordenadas apenas caracterizadas pela posição em x e y.

Figura 2.13: Esquema de um braço articulado com dois graus de liberdade e movimento planar

2.3.2 Cinemática directa

Na cinemática directa é estudada a posição da extremidade do braço, o end-effector,a partir do conhecimento do ângulo de cada junta. Esta relação é demostrada pela equaçãocinemática do manipulador, na equação 2.1, [20]. Para cada ângulo efectuado pelas juntas,existe sempre uma posição única da extremidade.

[xe ye] = f [(θ1,θ2)] (2.1)

Esta não é contemplada no estudo apresentado neste documento, pois por si só, nãoconfere uma grande vantagem em aplicações práticas. Então, o que se pretende é exacta-mente o seu oposto, a cinemática inversa.

2.3.3 Cinemática inversa

A cinemática inversa permite, a partir do conhecimento prévio da posição desejada,prever os ângulos necessários que cada junta deve efectuar. Esta pode ser obtida por váriosprocessos, pelo que, se torna interessante avaliar as vantagens e desvantagens de cada umdeles.

Em seguida são expostos os dois grandes grupos de técnicas utilizadas, para resolvero seu problema. A partir destes, surgem outras propostas derivadas, mas que não sãoabordadas.

Page 37: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

2.3 Cinemática de um braço robótico 15

Método numérico

Nesta abordagem, é necessário determinar qual a distância actual do end-effector emrelação à posição desejada, determinando a variação necessária nas juntas. É utilizadauma matriz Jacobiana, para demonstrar a variação de cada componente do end-effector,equação 2.2.

J (e,Φ) =

∂ex∂θ1

∂ex∂θ2

· · · ∂ex∂θn

∂ey∂θ1

∂ey∂θ2

· · · ∂ey∂θn

(2.2)

Sendo ∆e a variação da posição desejada, e ∆Φ o vector de ângulos das juntas, aequação 2.3 demonstra a sua relação.

∆e≈ ∂e∂θ·∆Φ (2.3)

Então pode-se utilizar a matriz jacobiana, resultando na equação 2.4.

∆e = J (e,Φ) ·∆Φ (2.4)

Por fim, na equação 2.5, é possível verificar como se pode encontrar a variação dosângulos, com a distância à posição desejada.

∆Φ = J−1 ·∆e (2.5)

Na figura 2.14, encontra-se descrito um algoritmo simples que pretende demonstrarcomo este método é utilizado. Como se pode constatar, para cada nova posição do braço,é necessário recalcular a matriz jacobiana e reavaliar a distância ao objectivo [21].

A matriz jacobiana é uma ferramenta bastante poderosa, não limitando o número dejuntas a controlar, de um braço. No entanto existem alguns pontos desvantajosos na utili-zação desta técnica.

O processo de inversão da jaconiaba pode-se revelar um problema, pelo que, estadeve ser sempre uma matriz quadrada. Como em grande parte dos casos, esta condiçãonão é verificada, é necessário recorrer a outras metodologias para resolver o problema.Existem técnicas, como a pseudo-inversa ou a transpostas da jacobiana, que permiteminverter a matriz, sem que esta necessite ser quadrada [22]. Por outro lado a sua utilizaçãotorna o método bastante complexo a nível computacional, pois é necessário repetir todoo processo, a cada incremento da posição da junta. Este é também um processo baseadoem aproximações, podendo levar a resultados pouco exactos.

Page 38: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

16 Revisão Bibliográfica

Figura 2.14: Algoritmo simples do controlo de posição, usando o método numérico

Método analítico

O método analítico baseia-se em princípios trigonométricos para resolver o problemada cinemática inversa, figura 2.15a.

Através da análise da figura 2.15a, pode-se verificar que:

α1 = β1 +θ1 (2.6)

(a) Esquema do braço (b) Lei dos cossenos

Figura 2.15: Trigonometria aplicada ao método analítico

Primeiro é necessário definir α1, pela sua tangente:

tanα1 =ye

xe(2.7a)

Page 39: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

2.3 Cinemática de um braço robótico 17

α1 = arctan

(ye

xe

)(2.7b)

Para descrever β1, é necessário utilizar a lei dos cossenos, figura 2.15b, aplicada a esseângulo:

L22 = r2 +L1

2−2 · r ·L1 · cosβ1 (2.8a)

β1 = arccos

(r2 +L1

2−L22

2 · r ·L1

)(2.8b)

Assim, para definir o ângulo θ1 em função das coordenadas do end-effector:

θ1 = arctan

(ye

xe

)+ arccos

(r2 +L1

2−L22

2 · r ·L1

)(2.9)

Em que r, é a distância do end-effector à origem do braço:

r =√

xe2 + ye2 (2.10)

Do mesmo modo, o ângulo θ2, é definido por:

θ2 = π +β2 (2.11)

θ2 = π + arccos

(L1

2 +L22− r2

2 ·L2 ·L1

)(2.12)

A solução analítica aqui apresentada, demonstra algumas limitações, pois nem sem-pre, pode ser estendida a braços com maior número de graus de liberdade [23]. Noentanto, esta solução elimina o uso de operações complexas, necessárias nos métodosnuméricos.

2.3.4 Redundância cinemática

Por vezes, o problema da cinemática inversa pode possuir mais do que uma solução,como pode ser constatado no exemplo da figura 2.16. Nestas situações diz-se que existeredundância.

Se o número de soluções for maior que o número de juntas do robô, então a resolu-ção da cinemática inversa do manipulador, pode trazer dificuldades adicionais, como aimpossibilidade de obter uma solução.

A redundância pode ocorrer quando há mais graus de liberdade do que os necessários.Pelo que, matematicamente, esta se deve à utilização de arccos e

√x [23].

Page 40: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

18 Revisão Bibliográfica

Figura 2.16: Redundância de um robô planar

2.4 Visão stereo

Com o objectivo de obtenção de coordenadas espaciais, para o correcto posiciona-mento do braço robótico, existem algumas técnicas baseadas em visão stereo úteis. Osprincípios teóricos e figuras que se seguem, e que sustentam a utilização destas técnicas,são baseados nos documentos [24, 25].

A forma mais eficaz de obtenção de informações tridimensionais, consiste na cap-tura, em simultâneo, de pares de imagens, estas são posteriormente correlacionadas. Umexemplo desta técnica é o sistema de visão humano, figura 2.17.

Figura 2.17: Como o ser humano percepciona o espaço [26]

Cada olho captura a sua própria imagem, sendo o par de imagens enviado para o cére-bro para processamento. As imagens são combinadas pelas suas semelhanças, somandoas suas diferenças. Este processo possui inúmeras vantagens, como sendo uma simplesacção de apanhar uma bola, condução de um automóvel ou subir um lance de escadas.

Ao nível computacional, as técnicas utilizadas são idênticas. Isto é, depois da obtençãode um par de imagens, é feita uma correspondência das semelhanças delas. A noção deprofundidade é retirado pela análise das suas diferenças, figura 2.18.

Na figura 2.19, encontra-se descrito o método que se deve seguir, para a percepção deprofundidade de uma cena.

Page 41: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

2.4 Visão stereo 19

Figura 2.18: Esquema de posicionamento de duas câmaras stereo [24]

Figura 2.19: Método de obtenção da profundidade, através de um par de imagens

2.4.1 Calibração de uma câmara

Através da calibração de uma câmara, pretende-se determinar a relação entre um pontodo espaço e a sua posição na imagem. A possibilidade de obtenção de tal relação dependede três factores, os parâmetros extrínsecos, intrínsecos e de distorção da câmara. Estesrevelam-se de uma grande importância, não só para sistemas de uma câmara única, comotambém em sistemas stereo.

O modelo de câmara pontual

Antes de se fazer uma descrição mais complexa de um modelo real de uma câmara, éimportante proceder a uma simplificação do processo. Um modelo eficaz é o modelo decâmara pontual (pinhole camera model), figura 2.20.

Devido à incompatibilidade deste método com os modelos reais de câmaras digitais,é necessário reorganiza-lo. Agora o plano da imagem encontra-se à direita do centro deprojecção O, invertendo a sua posição, Como ilustra a figura 2.21.

Deste modo é possível prever que, um ponto P com coordenadas (X ,Y,Z) é projectadona imagem, com as coordenadas (x,y). Matematicamente esta relação pode ser descritapor: [

xy

]=

1Z·

[fx

fy

[XY

]+

[cx

cy

](2.13)

Page 42: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

20 Revisão Bibliográfica

Figura 2.20: Modelo de câmara pontual [25]

Figura 2.21: Modelo alternativo de câmara pontual [25]

A distância focal f , representa a distância entre o plano de imagem e o ponto defocagem. Enquanto que cx e cy, representam um erro de posicionamento do eixo decoordenadas, em relação ao eixo óptico.

Parâmetros intrínsecos

Como já foi visto no modelo pontual, os parâmetros que relacionam a projecção depontos do mundo, e o plano de imagem são: fx, fy, cx e cy

A matrix dos parâmetros intrínsecos da câmara, equação 2.14, permite reorganizar alinha de pensamento, através da equação 2.15.

M =

fx 0 cx

0 fy cy

0 0 1

(2.14)

p = MP (2.15)

Page 43: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

2.4 Visão stereo 21

Pârametros de distorção

O modelo pontual consiste numa câmara que, através de um pequeno orifício, recorrea pouco luminosidade para capturar a imagem. Este é um processo bastante lento, nãosendo compatível com a grande parte das aplicações actuais.

Para tornar o processo mais rápido são utilizadas lentes, que permitem a focagem damaior quantidade de luz possível para o centro de projecção. Contudo, a sua utilizaçãonão está livre de complicações.

A utilização de lentes, para a captura de imagens, provoca distorções que afectam asrelações introduzidas na equação 2.20. Na figura 2.22 estão representados os dois tiposde distorção mais frequentes, o efeito barril e o efeito almofada de alfinetes.

(a) Imagem sem distorção (b) Distorção tipo barril (c) Distorção almofada de alfinetes

Figura 2.22: Principais efeitos causado pela distorção da imagem [27]

A distorção radial, frequentemente responsável pelo efeito de barril, ocorre devidoao próprio fabrico da lente. Para que não exista distorção radial é necessário que a lenteseja idealmente parabólica, mas por razões de custos, os resultados acabam por ser lentesmais esféricas. Os coeficientes de distorção K1, K2 e K3 permitem quantificar o seu efeitomatematicamente.

Nas equações 2.16a e 2.16b, encontra-se o modelo matemático utilizado para resolvereste tipo de problemas:

xcorrigido = x(1+ k1r2 + k2r4 + k3r6) (2.16a)

ycorrigido = y(1+ k1r2 + k2r4 + k3r6) (2.16b)

O segundo tipo de distorção é a distorção tangencial. Esta resulta da colocaçãodefeituosa da lente, não ficando completamente paralela em relação ao plano de imagem.Aqui são introduzidos dois novos coeficientes de distorção, p1 e p2. As duas equações quese seguem 2.17a e 2.17b, demonstram como as compensações desses tipos de distorçõespodem ser conseguidas:

xcorrigido = x+[2p1y+ p2(r2 +2x2)] (2.17a)

ycorrigido = y+[p1(r2 +2y2)+2p2x] (2.17b)

Page 44: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

22 Revisão Bibliográfica

De modo a que conseguir-se eliminar a distorção numa imagem, é necessário conheceros cinco coeficientes presentes desde a equação 2.16a até à 2.17b. Assim, pode-se definirum vector de distorção que os comporte, como é demonstrado na equação 2.18:

D = [k1 k2 p1 p2 k3]T (2.18)

Parâmetros extrínsecos

Os parâmetros extrínsecos são compostos por uma matriz de rotação e um vector detranslação. Estes fazem a transformação de um sistema de coordenadas 3D do mundo,para o sistema de coordenadas da câmara.

Estes parâmetros são bastante importantes, pois só através da correcta localizaçãode um objecto no espaço, é possível determinar os parâmetros intrínsecos, já discutidosanteriormente. Por este motivo, e para processos de calibração, é utilizado um mesmoobjecto em várias posições no espaço.

A matriz de rotação R é uma matriz 3-por-3, que resulta da rotação do sistema decoordenadas em cada um dos eixos x, y e z. Isto é, é o produto das três matrizes derotação que se seguem:

Rx(ψ) =

1 0 00 cosψ sinψ

0 −sinψ cosψ

(2.19a)

Ry(ϕ) =

cosϕ 0 −sinϕ

0 1 0sinϕ 0 cosϕ

(2.19b)

Rx(θ) =

cosθ sinθ 0−sinθ cosθ 0

0 0 1

(2.19c)

O vector 3x1 de translação T , apenas representa o deslocamento necessário em cadaum dos eixos de coordenadas.

A relação final, dada pela matrix de rotação e pelo vector de rotação, é representadapela equação 2.20. A transformação de um sistema de eixos, de um ponto Pe, para o docentro da câmara Pc, é assim conseguida.

Pc = R(Pe−T ) (2.20)

Page 45: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

2.4 Visão stereo 23

2.4.2 Calibração stereo

A calibração stereo pode ser descrita como sendo, o processo de obtenção da relaçãogeométrica entre duas câmaras no espaço. Esta relação é conseguida através da determi-nação das matrizes de rotação R e de translação T , entre as duas câmaras.

Essas matrizes podem ser obtidas através das matrizes de rotação e translação da câ-mara da direita, Rd e Td , e da câmara da esquerda, Re e Te. Estas relações estão expressasnas equações 2.21a e 2.21b.

R = Rd · (Re)T (2.21a)

T = Td−R ·Te (2.21b)

2.4.3 Rectificação stereo

Como já foi visto anteriormente, na figura 2.18, é necessário que os dois planos deimagem estejam perfeitamente alinhados. Isto é, alinhados pelas suas linhas. Mas, estetipo de posicionamento é muito difícil de ser conseguido, pelo que é necessário recorrerà rectificação dos planos de imagem, figura 2.23.

Figura 2.23: Rectificação dos planos de imagem [28]

Este processo revela-se bastante importante, pois permite de uma forma mais eficaz,fazer a correspondência das semelhanças e diferenças entre os dois planos.

2.4.4 Mapa de disparidades

Em duas imagens obtidas por um sistema de visão stereo, existe naturalmente carac-terísticas que as assemelham. É aqui que entram os conceitos de disparidade e pontoshomólogos.

Um ponto homólogo pode ser entendido como um ponto (X ,Y ) no espaço, que en-contra a mesma correspondência de coordenadas nos dois planos de imagem (xe,ye) e

Page 46: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

24 Revisão Bibliográfica

(xd,yd). Enquanto que a disparidade pode ser considerada, uma diferença das coordena-das dos dois planos de imagem, como ilustra a equação 2.22.

displ(xl,yl) =

[xr

yr

]−

[xl

yl

]=

[xr− xl

yr− yl

](2.22)

É assim possível, elaborar uma mapa de disparidade, em que cada ponto da imagempode ser caracterizado pela existência de disparidades entre os planos de imagem. Estemétodo é muito útil pois permite obter uma relação entre a distância desse ponto, com asua diferença de coordenadas no sistema de visão. Na figura 2.24, encontra-se um gráficoque faz essa relação.

Figura 2.24: Rectificação dos planos de imagem [24]

Como se pode constatar, à medida que um objecto é afastado do sistema de câmaras,a sua disparidade aumenta. Esta relação não é linear ,como demonstra o gráfico, pelo quea sensibilidade desta técnica aumenta a distância mais curtas.

É desta forma que se pode utilizar sistemas de visão stereo para medição de distâncias.Este permite ser um ponto de partida, não só para localização de um objecto, mas tam-bém para, a localização de um robô no espaço, através de técnicas SLAM (SimultaneousLocalization and Mapping) [29].

2.4.5 Equipamentos comerciais

Existem alguns equipamento no mercado que permitem o uso destas técnicas. Umdeles é o Bumblebee 2 da Point Grey, figura 2.25.

Este é um sistema com duas câmaras de resolução 648x488 píxeis, com um frame ratede 48 FPS. E como em todos os sistemas da sua marca, este inclui um conjunto de SDKs(Software Development Kits) com as mais várias utilidades [11].

Page 47: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

2.5 Resumo 25

Figura 2.25: Câmara stereo Bumblebee 2 [11]

O Flycapture SDK é utilizado para a aquisição de imagens e o controlo da câmara,enquanto que o Triclops SDK permite a rectificação das imagens e todo o processamentostereo. De salientar ainda, a existência do Censys3D SDK, que permite a localização depessoas.

Outro exemplo de sistema stereo pronto a utilizar em áreas de investigação comoa robótica, é o MobileRanger C3D. Este sistema de reduzidas dimensões (12.39cm x9.52cm x 6.35cm), é capaz de processar todo o algoritmo de disparidade num FPGA,libertando o computador dessa tarefa, figura 2.26.

Este permite operações como detecção de pessoas, reconhecimento de pessoas e visu-alização 3D, a 30 FPS com uma resolução de 752x480 píxeis [11].

Figura 2.26: Câmara MobileRanger C3D [11]

2.5 Resumo

O desenvolvimento de um robô, ou de módulo para este, necessita não só de desen-volvimento de trabalho, mas principalmente de investigação. É essencial que, antes de seiniciar um projecto, exista uma noção clara daquilo que é proposto e dos desafios criados.Assim, neste capítulo é feita uma análise que, precede todo o trabalho desenvolvido àposteriori.

Aqui são analisado quais os tipos de robôs e braço robóticos existentes e que, dealgum modo, sugerem alternativas ao trabalho realizado. É fundamental perceber quaisas técnicas mais comuns, suas vantagens e desvantagens.

Page 48: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

26 Revisão Bibliográfica

São também identificados dois temas que são importantes introduzir. A cinemática,permite estudar a posição do braço em relação ao ponto do espaço desejado. Existindouma análise dos dois métodos mais utilizados, o analítico e o numérico.

Por fim é feita uma introdução teórica ao método que é usado para determinar a posi-ção do ponto no espaço. A visão stereo necessita de uma cuidada análise de modo a quese consiga entender como esta ferramenta pode ser utilizada.

Page 49: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

Capítulo 3

Braço Robótico

Neste capítulo é introduzido o braço robótico adoptado, especificando quais as suasvantagens e características únicas.

Este trabalho não se limitou à utilização de um hardware já existentes. Pelo que, aonível do hardware de controlo, e algoritmos de implementação, surgiram alguns melho-ramentos que importa realçar. Aqui é focada a sua evolução que culmina com o desenvol-vimento de três módulos de accionamento e controlo das juntas.

3.1 Robô MARY

O objectivo do projecto, em que este trabalho se insere, é a integração da robóticaem aplicações domésticas e interacção com o Homem. Desta forma, é desenvolvida umaplataforma que permita várias tarefas como seguir pessoas, reconhecê-las e obedecer àssuas ordens. O robô é denominado de MARY e de seguida são explicadas algumas dassuas características [30].

Através do seu sistema omnidireccional, constituído por três rodas rodas omnidirec-cionais desfasadas 120o, o robô é dotado de uma grande liberdade de movimentos. Estesistema permite a movimentação em todas as direcções, aumentado a flexibilidade demovimentos do sistema, figura 3.1.

De forma a reconhecer o espaço circundante, o robô utiliza um sistema catadióptrico,em que uma câmara é apontada para o centro de um espelho parabólico. Desta forma épossível dotar o sistema de uma visão a 360o em torno do robô. O robô é assim capaz deseguir pessoas e interagir com elas.

Devido à complexidade inerente a um robô deste género, optou-se por dividir todo oprocessamento necessário em três plataformas computacionais distintas, cada uma comuma função bem definida. Todo o sistema de visão parabólica e comunicação com abase omnidireccional encontra-se incorporado num computador. Os dois computadores

27

Page 50: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

28 Braço Robótico

(a) Base omnidirecccional (b) Diagrama de hardware

Figura 3.1: Sistema de locomoção do robô MARY [30]

seguintes são respectivamente, responsáveis pelo sistema de reconhecimento e manipula-ção de objecto, e pela comunicação com o ser humano.

Uma das principais características desejadas para o robô é a possibilidade deste conse-guir manipular objectos a várias alturas, principalmente em zonas próximas do chão. Deforma a que se consiga atingir este objectivo, o robô está dotado de um sistema de perfisde alumínio com guias, que suportam o braço articulado. Assim, é possível mover o braçona vertical permitindo-o manipular objectos que estão no chão ou até em prateleiras quede outra forma seriam inalcançáveis.

Figura 3.2: Perfis de alumínio com sistema de guia e patim [30]

3.2 Braço robótico adoptado

O braço robótico adoptado para o trabalho em análise, surge de um trabalho previa-mente elaborado. Nesse trabalho, é contemplado o estudo de sistemas de manipulação deobjectos, quais as suas vantagens e desvantagens. Como está descrito no documento que

Page 51: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

3.2 Braço robótico adoptado 29

relata o trabalho desenvolvido, a possibilidade de aquisição de um equipamento comercialesbarra nos custos elevados que um braço pode atingir [31].

Então surge a necessidade de desenvolvimento de um braço robótico totalmente deraíz, contemplando as necessidades básicas do robô MARY. Este é um braço articuladocom três graus de liberdade, e ainda um adicional para o manipulador. Sendo um braçoplanar, todas as suas juntas são rotacionais no eixo do z, como pode ser verificado nafigura 3.3.

Também o seu manipulador foi desenhado de raiz, sendo dotado de um grande ângulode abertura, para manipular objectos de várias dimensões e formas. Na figura 3.4 pode-se ver, com maior detalhe, toda a estrutura mecânica que compõe o braço articulado e omanipulador.

A escolha pela utilização deste equipamento deve-se a vários factores. O mais evi-dente são os custo envolvidos na aquisição de qualquer um dos braços descritos anteri-ormente. Os seus preços por serem proibitivos, levam numa primeira fase à procura deoutras alternativas. Por outro lado, devido às escolhas de construção que foram tomadas, aadaptação de braços torna-se uma situação problemática, sendo necessário uma adaptaçãoda fisionomia do robô.

Figura 3.3: Robô MARY com o seu braço articulado

Numa análise inicial do projecto, por todo o grupo envolvido, ficou notório que dentroda esfera da Robocup@home existe uma grande falta de optimização dos equipamentoutilizados. Isto é, no caso dos braços robóticos utilizados, existe um grande investimentode recursos em equipamento, que nem sempre é sinónimo de bons resultado práticos.

Por todos estes factores, a principal filosofia que fica patente de todo o trabalho dogrupo envolvido no projecto é de que se pode, e deve, procurar os mesmo resultados,através de processos mais simples e optimizados. Este é o principal lema de toda a equipa.

Page 52: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

30 Braço Robótico

(a) Braço articulado (b) Manipulador

Figura 3.4: Estrutura mecânica que compõe o braço articulado

3.2.1 Características do braço

Como é perceptível pela figura 3.4, os factores económicos não são os únicos respon-sáveis por esta solução. O braço articulado nasce do estudo de toda a estrutura mecânicado robô, e assim permite manter a estratégia adoptada para a plataforma móvel, sem criarproblemas de adaptabilidade.

Na tabela 3.1, estão descritas as principais características do braço articulado.

Tabela 3.1: Principais características do braço articulado [31]

Braço articulado

Graus de liberdade 3 + 1(manipulador)Juntas Rotacionais

Alcance Máximo 50 cmPeso 1.8 Kg

Carga Máxima 2.0 KgComunicação RS-232

Velocidade 1.54 rpm por junta

3.2.2 Actuadores

Os actuadores utilizados são motores eléctricos DC. Este tipo de actuadores, muitoutilizado em robótica, possibilitam a alteração do sentido de rotação através da inversãoda polaridade da alimentação. Através de reduções mecânicas apropriadas, é possívelobter altos binários em motores de reduzidas dimensões.

As principais desvantagens na utilização deste tipo de motores passam pela dificuldadedo controlo da posição do eixo, e inexistência de binário de retenção. É necessária autilização de um sensor de posição ou velocidade, e de mecanismos que produzam oreferido binário. Na figura 3.5a encontra-se ilustrado o sistema de controlo em malhafechada, necessário para este tipo de actuadores.

Page 53: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

3.3 Hardware de controlo 31

O motor é então fornecido pela empresa Transmotec, modelo SD3039, figura 3.5b.

(a) Diagrama de blocos em malha fechada (b) Actuador eléctrico adoptado [32]

Figura 3.5: Actuador eléctrico adoptado e diagrama de implementação

Na tabela 3.2, encontram-se descritas as características do conjunto completo, motor-redutora-encoder, disponibilizado pela Transmotec. Como se pode perceber, o binário doconjunto é bastante reduzido para a aplicação desejado. De qualquer forma, este problemafoi contornado pela adição de mais um sistema redutor.

A redução de velocidade, e consequente aumento do binário, é conseguido através deum conjunto composto por uma roda dentada e um parafuso sem-fim. Este método, nãosó permite o aumento do binário disponibilizado pelo motor, como também um efeito deencravamento mecânico essencial para o sistema.

Tabela 3.2: Características completas do conjunto motor-redutora-encoder

Conjunto motor-redutora-encoder

Marca TransmotecModelo SD3039

Caixa redutora 120:1Encoder 13 polos magnéticos

Tensão Nominal 12 VBinário Nominal 39.23 N.cm

Velocidade Nominal 46.3 rpmPotência de saída 4.22 W

Largura total 30 mmComprimento total 80.6 mm

Peso total 144 g

3.3 Hardware de controlo

No âmbito do projecto de desenvolvimento do braço articulado, foram idealizadasduas plataformas distintas, e que importa serem mencionadas. Na figura 3.6, estão ilus-

Page 54: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

32 Braço Robótico

tradas as duas primeiras fases de desenvolvimento do hardware, para controlo dos mo-vimentos do braço. Estas opções são avaliadas, e discutidos os principais motivos quelevam à sua ineficiência.

(a) Módulo de potência, para controlo dequatro motores DC

(b) Hardware de potência para acciona-mento de um motor DC

Figura 3.6: Duas primeiras filosofias adoptadas para o controlo do braço articulado

3.3.1 Microcontrolador

O microcontrolador é um ATmega 169P, que se encontra disponível na placa de de-senvolvimento adoptada, a AVR Butterfly da empresa Atmel, figura 3.7. Este microcontro-lador de 8 bits vem acompanhado de um conjunto de periféricos, que tornam esta placa dedesenvolvimento uma ferramenta bastante versátil, permitindo a sua aplicação nas maisvariadas ocasiões. De entre todos os periféricos, podem se destacar, um LCD de 100segmentos, um joystick com quatro posições, uma grande variedade de possibilidade deprogramação (Bootloader, SPI ou JTAG), um ADC e memórias Flash, EEPROM e SRAM[33].

Figura 3.7: AVR Butterfly [33]

A adopção desta solução prende-se essencialmente com duas questões de concepçãodo sistema. A causa mais evidente é a simplicidade de adaptação deste módulo, devido àfácil utilização dos portos disponibilizados. Assim, é evitada uma complexidade desne-cessária do circuito impresso desenhado.

Page 55: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

3.3 Hardware de controlo 33

O segundo motivo que justifica esta escolha, são os periféricos já incorporados, essen-ciais para a implementação dos algoritmos discutidos mais à frente. De entre os periféri-cos existentes, pode-se destacar a utilidade EEPROM e o joystick.

Contudo, esta escolha não trás apenas benefícios. Os portos disponibilizados pelaplaca podem não ser os mais convenientes, exigindo uma racionalização cuidada destes.

3.3.2 Abordagens iniciais

A primeira abordagem seguida, representada pela figura 3.6a na página 32, pretendeo controlo de todo o sistema num só módulo. Este módulo é capaz de accionar até quatromotores DC em simultâneo, a uma corrente máxima de 1A e tensão nominal de alimen-tação de 12V.

Este é constituído por dois circuitos integrado L298, que perfaz um total de quatropontes H para accionamento dos motores. Também possui quatro pontes de díodos, paraa protecção do circuito. E por último, um rectificador de tensão para a alimentação docircuito lógico, do referido integrado.

Esta solução, mostra-se amplamente limitadora para o sistema de controlo desejado,isto porque, muitos factores essências são esquecidos, como por exemplo, a leitura dosencoders dos motores.

Outro factor que limita esta abordagem, é a utilização de apenas um microcontrolador.Não só é necessário o desenvolvimento de mais um módulo externo, como também, aprópria utilização de um único controlador mostra-se deficiente. Estas afirmações sãojustificadas posteriormente.

Por fim, este apresenta dimensões demasiado elevadas, e acaba por limitar o seu posi-cionamento na estrutura mecânica.

O segundo caminho seguido para resolver este problema, é ilustrado pelo diagrama dafigura 3.8. Esta nova filosofia pretende corrigir os problemas encontrados com o métodoanterior. Aqui, é contornado o inconveniente da capacidade de processamento do micro-controlador utilizado, pois em vez de um único, são usados quatro. O primeiro comunicacom o PC, funcionando como master, e envia para as slaves os comandos necessários.Assim, cada slave é responsável pelo accionamento de um único motor.

Todo o hardware utilizado é transversal, tanto à master como às slaves. É constituídopor um módulo de potência idêntico à figura 3.6b, da página 32, e uma ATmega butterfly.Este modelo tem a vantagem de ser mais compacto que o anterior, figura 3.9.

O novo módulo de potência possui um integrado L298 dedicado, uma ponte díodos,uma porta série DB9, um regulador de tensão para alimentar o microcontrolador e a lógicada ponte H, e ainda acesso aos portos de comunicação entre módulos.

Esta abordagem mostra-se mais acertada, mas ainda assim, apresenta alguns erros.A utilização de apenas um regulador de tensão de 3.3V, para a alimentação de toda a

Page 56: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

34 Braço Robótico

componente digital, leva à instabilidade no accionamento dos motores. E ainda surgemalguns erros de comunicação devido ao design do circuito impresso.

Este modelo, surge como impulsionador de um novo, mais compacto, fiável e econó-mico.

Figura 3.8: Diagrama de hierarquia do sistema de controlo do braço articulado

Figura 3.9: Primeiro módulo completo para controlo de um motor DC

3.3.3 Hardware final adoptado

Esta é a proposta final, contemplando todas as necessidades do projecto. Apresentasoluções para todos os problemas já identificados nas outras propostas, servindo de basepara todo o trabalho feito posteriormente. Aqui existe, não só uma alteração do hardware,mas também um ajuste na hierarquia de funções.

Nas figuras 3.20a e 3.20b, encontra-se ilustrado o hardware final, utilizado para ocontrolo e accionamento dos motores.

Este modelo é mais compacto que o seu antecessor, muito por culpa da simplifica-ção dos seus componentes. A porta DB9 já não se encontra disponível, dado que, só énecessária na master. E todo o circuito impresso encontra-se perfeitamente optimizado,também contribuindo para a redução na área necessária. Contempla ainda a possibilidade

Page 57: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

3.3 Hardware de controlo 35

de utilização de fins-de-curso, uma alimentação da lógica do L298 independente do mi-crocontrolador. Em anexo a este documento, é possível encontrar-se o esquema eléctricoutilizado para a implementação dos novos módulos.

(a) Módulo de potência final (b) Modelo completo de controlo e acciona-mento do motor

Figura 3.10: Modelo final adoptado para o controlo das juntas do braço articulado

Também a hierarquização sofre uma ligeira adaptação. Como se pode constatar pelafigura 3.8, na página 34. Aqui existem no total quatro módulos independentes, uma mas-ter e três slaves. Num esforço de simplificação e optimização de recursos, o número totalde elementos é diminuído. Estas alteração pode ser confirmada na figura 3.11.

Com o claro objectivo de redução de elementos intervenientes, foi tomada a decisãode retirar uma slave. Como é possível verificar pelo diagrama em 3.11, a responsabilidadede accionamento da primeira junta, passa a ser da master.

Esta abordagem, não só diminui o número de elementos, como também homogenizaa constituição de todos os elementos. É uma solução simplificada, e mantém todas ascaracterísticas inicialmente pretendidas.

Figura 3.11: Hierarquização final do hardware de accionamento do braço

Page 58: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

36 Braço Robótico

O módulo master absorve todas as características existentes nas slaves. Assim, não sóse consegue diminuir os custos do equipamento, como também a sua homogeneização.

3.4 Algoritmo de controlo

Nesta secção, são abordados os métodos utilizados para o funcionamento de todo osistema do braço articulado. São descritos todos os passos, desde a recepção dos coman-dos do utilizador, até ao controlo de posição em cada junta.

3.4.1 Comunicação

Como já foi dito anteriormente, a comunicação com o PC é feita por interface série. Amaster recebe uma trama com nove caracteres ACII, tendo como missão interpretar essescaracteres e enviar a respectiva informação para cada slave. Para melhor se entender aestrutura da trama, pode-se verificar um exemplo na figura 3.12.

Figura 3.12: Exemplo de uma trama recebida pelo braço articulado

No algoritmo apresentado pela figura 3.13, é exposta a forma de tratar a informaçãorecebida pelo elemento responsável, a master, e respectivo encaminhamento para os seusdestinos.

Por J1, pode-se entender a primeira junta do braço. J2 e J3 representam as slaves queaccionam as respectivas juntas.

É necessário realçar o resultado final da conversão de ASCII para inteiro. Para umajunta, são extraídos três caracteres em ASCII, esta codificação não permite cálculos ma-temáticos, pelo que a conversão é essencial. Assim, o resultado da conversão é um valorinteiro compreendido entre 0 e 360.

Esta forma apresenta várias vantagens. A conversão é efectuada na recepção, evi-tando processamento extra na respectiva slave. Para além disso, este processo permitemanter coerência na comunicação entre os vários elementos. O formato e quantidade deinformação a comunicar, é sempre fixo entre os vários elementos presentes no processo.

Após a conversão dos ângulos é feito um teste de validação dos mesmo, este pretendeverificar se os ângulos são fisicamente possíveis de realizar pelo braço. Este aspecto é

Page 59: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

3.4 Algoritmo de controlo 37

Extracção  do  ângulo  para  J1  

Extracção  do  ângulo  para  J2  

Extracção  do  ângulo  para  J3  

Conversão  ASCII  -­‐  int  

Converteu  os  3  

ângulos?  

Não  

Verificação  da  validade  dos  ângulos  

Válidos?  

Sim  

Sim  

Enviar  para  J2  e  J3  

Converter  J1  em  incrementos  

Comunicar  Erro  

Não  

Recepção  de  nova  trama  

Iniciar  movimento  de  J1   Fim  

Figura 3.13: Algoritmo de comunicação entre master e os outros periféricos

abordado com maior detalhe no capítulo da cinemática do braço, em que se estuda o seuespaço de trabalho.

Depois de todas as conversões e testes, os ângulos são enviados para J2 e J3. A últimaetapa representa o accionamento da primeira junta, efectuado pela própria master.

Por várias vezes, ao longo deste capítulo, é abordada a necessidade de comunicaçãoentre uma master e slaves. De seguida, é referido qual o método adoptado.

SPI

O barramento SPI, é um método síncrono de transferência de dados, full-duplex e dealta velocidade. O seu método de comunicação está assente num modelo master/slave,como ilustra a figura 3.14.

O clock é definido sempre pela master, sendo a comunicação feita pelos MOSI eMISO.

Ao contrário de outros métodos de comunicação, no SPI a selecção da slave para acomunicação é feita pela activação do respectivo SS. Isto leva a um aumento progressivodo barramento, à medida que se aumenta o número de slaves.

Na figura 3.15, encontram-se apresentados respectivamente, os algoritmos de iniciali-zação e transmissão de uma master, e de inicialização e recepção de uma slave.

Page 60: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

38 Braço Robótico

Figura 3.14: Sistema SPI com multiplas slaves [34]

(a) inicialização e transmissão da master (b) inicialização e recepção da slave

Figura 3.15: Algoritmos de comunicação SPI [34]

Nesta aplicação, em concreto, existe um barramento com um total de quatro ligações,sendo duas destas para a escolha da slave de recepção, os SS. Aqui é optado por se retiraro MISO, já que a comunicação das slave com a master não é requerida.

3.4.2 Posicionamento

Como já foi visto anteriormente, o feedback obtido pelo controlador, é dado peloencoder do respectivo motor. Então, de modo a que se consiga prever o ângulo a realizarem cada junta, é necessário saber a relação entre este e o número de impulsos do sensor.

Page 61: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

3.4 Algoritmo de controlo 39

Para uma volta completa de 360o, o encoder produz 46800 incrementos.

C junta(360o) = 13 ·120 ·30 = 46800 incrementos (3.1)

Este valor, surge em consequência dos dois tipos de reduções de velocidade utilizadosna construção do braço articulado. Estas reduções são causadas pela redutora acopladaao veio do motor, e à relação da roda dentada e sem-fim que promovem a transmissão demovimento para o braço, figura 3.16.

Figura 3.16: Transmissão de forças entre motor e veio da junta

A relação entre o número de incrementos efectuados pelo encoder e o ângulo produ-zido pela junta, é dada por:

θ junta =C junta ·360

46800(3.2)

O modo de posicionamento em cada junta, parte do princípio demonstrado na equação3.2. Sabendo-se o ângulo desejado, pode-se utilizar esta relação para determinar o númerode incrementos que são necessários, até se atingir a posição desejada.

Na figura 3.17, é demonstrado o principio de posicionamento numa junta. Este métodoé válido tanto para as slaves, assim como para a master.

A recepção do ângulo consiste na recepção de dois bytes, transmitidos por SPI. Essesdois bytes codificam um valor de 0 a 360, que corresponde ao ângulo desejado. Após otratamento destes dados, é possível obter-se o número de incrementos pretendido.

Como o ângulo desejado é sempre relativo ao eixo de origem, é necessário saber o ân-gulo actual. Assim, pode-se determinar qual a quantidade de movimento, e sua direcção.

O movimento é interrompido, quando o contador de incrementos atinge os incremen-tos necessários para a produção do ângulo desejado. A posição actual é guardada naEEPROM, ficando memorizada até ser alterada.

3.4.3 Calibração

O ângulo produzido numa junta é sempre relativo à sua origem, seguindo um modelosimilar ao apresentado pela figura 2.13, na página 14. Em termos práticos, uma referência

Page 62: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

40 Braço Robótico

Figura 3.17: Posicionamento aplicado a uma junta

pode sofrer alterações devido a erros de funcionamento do sistema, perdas mecânicas ouajustes manuais. Erros estes, naturais em ambientes de investigação e pesquisa.

De modo a evitar o desposicionamento do eixo de referência, é necessária a introduçãode um sistema de calibração. Para este tipo de problemas, é usual a utilização de fins decurso nas posições limite desejadas. Porém, foi escolhida outra técnica.

De modo a evitar a introdução de mais hardware no braço, aumentado a complexidademecânica do sistema, é utilizada uma calibração por software. Esta é conseguida fazendo-se uso de um periférico incorporado na AVR Butterfly, o joystick

O processo de calibração apresenta-se muito simples, requerendo que o utilizadoraccione uma junta, com o auxilio do joystick, até obter a posição desejada. No final,é feito um reset automático à EEPROM, fixando aquela posição como referência parafuturos movimentos.

3.5 Manipulador

O manipulador utilizado, apenas possui um grau de liberdade, sendo este responsávelpela abertura de uma das pinças, como se pode verificar na figura 3.4b da página 30. Demodo a promover o movimento da pinça, é utilizado um servomotor da marca Tower Pro,figura 3.18a. As suas características podem ser consultadas na tabela 3.3 [35].

Page 63: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

3.6 Ferramentas auxiliares 41

(a) Servomotor Tower pro [35] (b) Placa de controlo de servomotoresSSC-32 [36]

Figura 3.18: Hardware da garra manipuladora

Tabela 3.3: Principais características do servomotor do manipulador

Tower Pro MG995

Peso 55.0gDimensões 40.7x18.7x42.9 (mm)

Binário 8.5 kg/cm (4.8V )Tensão 4.8 - 7.2 V

Temperatura 0 - 55 oC

3.5.1 Controlador do manipulador

Devido às características especificas de um servomotor, o seu accionamento e controlonecessitam de uma abordagem diferente da de um motor DC.

Num servomotor, o que se deseja controlar é o seu posicionamento, podendo variarentre -90o e 90o. O controlo é feito por um sinal PWM, e a sua largura determina a posiçãodo eixo do motor.

O controlador adoptado para este fim, um SSC-32 da empresa Lynxmotion. Este tem acapacidade de controlar é trinta e dois servomotores, com possibilidade de alimentaçõesdistintas para motores e módulo de controlo. Através da comunicação série com umPC, é possível determinar o posicionamento e velocidade de todos os motores de formaindependente [36].

Nas figuras 3.19 e 3.20, que se seguem, são demonstrados os comandos utilizados, eos respectivos efeitos.

3.6 Ferramentas auxiliares

O trabalho descrito ao longo deste capítulo é bastante alargado a várias áreas, pelo queé relevante a introdução de uma secção para descrever qual o software adoptado.

Perante a necessidade de desenvolvimento dos circuitos impressos finais, de controlodos motores DC, foi utilizado o software EAGLE da CadSoft.

Page 64: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

42 Braço Robótico

(a) Comando de abertura (b) Efeito produzido pelo comando

Figura 3.19: Abertura da garra

(a) Comando de fecho (b) Efeito produzido pelo comando

Figura 3.20: Fecho da garra

A programação dos microcontroladores AVR, é conseguida com o auxilio do AVR Stu-dio 4, um IDE para controladores de 8 bits. Ainda é utilizada a ajuda de uma plataformade programação denominada de AVR Dragon. Esta permite a programação de todos osmódulos por JTAG e melhorias no processo de programação e debug.

Numa fase de testes, de forma a permitir a comunicação série entre computador e osdispositivos usados, é utilizado o Terminal v1.9b disponibilizado por Br@y++ .

3.7 Resumo

Neste capítulo é dada a atenção ao sistema de manuseamento de objectos, o braçoarticulado adoptado.

A escolha adoptada é acompanhada por várias vantagens, tais como a fácil aplicabili-dade, reduzidos custos de construção e manutenção, e ainda a possibilidade de adaptaçãopara possíveis alterações. Mas com estas vantagens, surgem alguns problemas que sãonecessários abordar. O mais evidente, é o sistema de accionamento de controlo do movi-mento do braço.

Page 65: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

3.7 Resumo 43

Ao longo do capítulo são abordados os progressos feitos anteriormente, e a soluçãofinal desenvolvida e adoptada. A escolha de múltiplos módulos, numa filosofia master/s-lave, com comunicação SPI permite o controlo em simultâneo de todas as juntas semsacrifício de processamento nem perdas de informação.

De modo a que o sistema se comporte como o esperado, é necessária a sua calibração.Para contornar este problema, é desenvolvido um método por software que faz uso dojoystick, presente em todos os módulos de controlo das juntas.

Por fim, é descrito o modo como a garra é construída e o modo de operação. Esta fazuso de um servomotor, um módulo de controlo e a respectiva componente mecânica.

Page 66: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

44 Braço Robótico

Page 67: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

Capítulo 4

Cinemática do Braço Articulado

Com a escolha do braço articulado, e a introdução de vários melhoramentos no seufuncionamento, é necessário proceder ao estudo da sua cinemática.

Ao longo deste capítulo, são discutidas um conjunto de características fundamentaispara o posicionamento do braço no espaço. A definição do seu espaço de trabalho, oestudo da cinemática inversa e a transformação dos sistemas e coordenadas são os pontosmais relevantes e que merecem maior cuidado.

4.1 Espaço de trabalho

Com a escolha de um braço articulado completamente desenvolvido de raiz, podemsurgir algumas limitações mecânicas ao seu funcionamento. Desta forma, é importanteestudar o quanto estas podem afectar a versatilidade do braço.

De forma a manter-se uma boa segurança de movimentos, é necessário limitar a am-plitude de movimentos em cada junta. Assim, é recomendada uma amplitude entre 90o e270o, como é ilustrado pela figura 4.1.

90o ≥ θ junta ≥ 270o (4.1)

Esta limitação prende-se com a constituição mecânica do braço. Como se pretendeque o motor esteja em contacto com a junta, a sua proximidade e o suporte acabam porlimitar a amplitude total de θ junta.

Para determinar o espaço de trabalho disponível é necessário reconhecer a distânciamáxima rmax, e a distância mínima rmin que o braço consegue atingir. Os comprimentosdos elos e da garra são dados pela tabela 5.1.

45

Page 68: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

46 Cinemática do Braço Articulado

Tabela 4.1: Comprimentos de elos e garra

Elemento Comprimento (cm)L1 25L2 20L3 5M 5

Figura 4.1: Amplitude de movimentos numa junta

A distância mínima em relação ao eixo pode então ser determinada:

xmin = L2 = 20 cm (4.2a)

ymin = L1− (L3 +M) = 15 cm (4.2b)

rmin =√

xmin2 + ymin2 = 25 cm (4.3)

Na equação 4.3 é demonstrado que a distância mínima que o braço articulado consegueatingir são 25 cm. Este facto não se revela problemático, já que deve-se ter em conta aplataforma em que o braço está inserido. Isto é, a estrutura de toda a plataforma robóticaimplica que o braço esteja retirado 10 cm para o interior relativamente à base.

Na prática, o robô acaba por não conseguir agarrar objectos que estejam a menos de15 cm da sua posição.

A figura 4.2 demonstra aquilo que acaba de ser discutido. Aqui ainda é possívelobservar-se a distância máxima do braço, que é dada por:

rmax = L1 +L2 +L3 +M = 55 cm (4.4)

Page 69: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

4.2 Cinemática inversa 47

Figura 4.2: Espaço de trabalho do braço

Nesta figura, a posição do braço define o alcance mínimo possível para o seu end-effector.

Com a ajuda da figura 4.2 é possível encontrar a expressão do espaço de trabalho dobraço, dada pela equação 4.5.

ET = { (xe,ye) ∈ R2 : rmin ≤√

x2e + y2

e ≤ rmax } (4.5)

A área total de acção do braço, é descrita pela subtracção das áreas das semi circunfe-rências:

ATotal =

(π · r2

max2

)−(

π · r2min

2

)= 0.85 m2 (4.6)

4.2 Cinemática inversa

O método utilizado para a determinação da posição do braço é o analítico. Esta esco-lha é justificada pela ponderação das vantagens e desvantagens, em relação aos processosnuméricos.

Este método permite a determinação dos ângulos em todas as juntas, de forma rápida,simples e com poucas limitações para a aplicação desejada. Para melhor compreensãopode-se consultar a secção: Cinemática de um braço robótico, da Revisão Bibliográfica.

Na figura 4.3, encontram-se representados os elementos que se pretendem determinar.Os ângulos θ1, θ2, θ3 representam os ângulos das respectivas juntas em relação à sua

Page 70: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

48 Cinemática do Braço Articulado

referência. β1 e β2 são ângulos do triângulo constituído por r, L1 e L2. Como se podeconstatar, r representa a distância entre a primeira junta J1, e a terceira J3.

Tabela 4.2: Pontos de interesse do diagrama 4.3

Ponto Coordenada DescriçãoJ1 (x1,y1) Junta 1J2 (x2,y2) Junta 2J3 (x3,y3) Junta 3M (xe,ye) end-effector

Figura 4.3: Diagrama de auxílio para a determinação da cinemática inversa

4.2.1 Determinação de θ1

Pela análise da figura 4.3 pode-se determinar que:

θ1 = α1−β1 (4.7)

α1 = arctan2(

y3

x3

)(4.8)

É necessário determinar β1. Isto pode ser conseguido através da lei dos cossenos datrigonometria.

β1 = arccos(

r2 +L12−L2

2

2 · r ·L1

)(4.9)

Em que r é:r =

√x32 + y32 (4.10)

Page 71: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

4.2 Cinemática inversa 49

A expressão final para determinação do ângulo da primeira junta, em função das co-ordenadas do pulso, é dada por:

θ1 = arctan(

y3

x3

)+ arccos

x32 + y3

2 +L12−L2

2

2 ·(√

x32 + y32)·L1

(4.11)

4.2.2 Determinação de θ2

A técnica utilizada para determinar θ2 é semelhante à de θ1. Pela análise da figura 4.3é possível constatar que:

θ2 = 180o +β2 (4.12)

Pela mesma lei da trigonometria usada para β1, pode-se determinar β2. Assim, aexpressão final para o calculo de θ2 é dada por:

θ2 = 180o + arccos(

L12 +L2

2− x32− y3

2

2 ·L2 ·L1

)(4.13)

4.2.3 Determinação de θ3

Como já havia sido referido, o método analítico apresenta algumas limitações. A maisevidente é a limitação do número de graus de liberdade.

Para que se consiga utilizar este método num braço com três graus de liberdade, é ne-cessário saber previamente um deles. Este facto é facilmente perceptível na determinaçãode θ1 e θ2, em que estes são conseguidos através da localização desejada do pulso J3.

O que se pretende agora é estimar uma posição do end-effector, em relação ao pulso.

α3 = θ1 +θ2 +θ3 (4.14)

α3 é o resultado do posicionamento provocado pelos ângulos das três juntas. Então,se este for mantido constante, mantém-se sempre a mesma relação entre o pulso e o end-effector.

De modo a que L3+M se mantenha sempre paralelo ao eixo das abcissas:

α3 = 0o (4.15a)

θ3 =−θ1−θ2 (4.15b)

Um exemplo deste caso é ilustrado pela figura 4.5.

Page 72: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

50 Cinemática do Braço Articulado

Figura 4.4: Exemplo da posição do braço com α3 nulo

Esta solução permite responder a dois pontos importantes. Torna possível a utilizaçãode um braço articulado planar com três graus de liberdade, e possibilita um correcto po-sicionamento do pulso e garra para melhor manipulação de objectos. Possibilita sempreum posicionamento paralelo com o eixo das abcissas.

No entanto, esta abordagem promove alguma limitação no espaço de trabalho dobraço. Este ponto será revisto a quando da discussão dos resultados.

4.3 Espaço de coordenadas

Até ao momento, o problema tem sido abordado sempre do lado mecânico do robô, demodo a que exista um bom controlo de accionamento e posicionamento do braço. Estesdois aspectos estão altamente dependentes da posição do objecto no espaço.

De modo a que se consiga obter as correctas coordenadas do objecto no, é necessárioentender a representação na figura 4.5. Nesta, estão representados os dois sistemas deeixos intervenientes no processo de localização do objecto.

O sistema de visão cam, é o responsável pela localização do objecto. Sendo o posici-onamento deste dado pelo sistema de eixos (xC,yC).

O modelo de sistema de eixos de cam, não é compatível com o modelo que tem vindoa ser seguido. Para o posicionamento do braço, é necessário efectuar algumas conversões,com o recurso a matrizes de transformação geométrica. Estas conversões, permitemencontrar a relação entre os dois sistemas de eixos, e tornar possível a localização de umponto no eixo do braço articulado (xB,yB).

A primeira operação feita é a rotação do sistema de coordenas cam, em trono de z. Amatriz de rotação contrária ao sentido dos ponteiros do relógio é dada por:[

x′ByB

]=

[cosδc sinδc

−sinδc cosδc

][xC

yC

](4.16)

Page 73: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

4.4 Considerações finais 51

Figura 4.5: Posicionamento de um objecto em relação a dois sistemas de eixos

A rotação é feita em função de δc, que representa o desfasamento entre os respectivoseixos.

A translação promove o deslocamento do sistema de eixos para o desejado pelo braço.A equação 4.17 demonstra como a transformação total pode ser obtida.xB

yB

1

=

1 0 d0 1 h0 0 1

cosδc sinδc 0−sinδc cosδc 0

0 0 1

xC

yC

1

(4.17)

A altura h representa a distância entre a origem dos dois eixos de coordenadas. Naprática é a distância entre a primeira junta J1 do braço, e a posição do sistema de visãocam.

Na tabela 4.3, encontram-se expostos os valores utilizados nos cálculos efectuados.

Tabela 4.3: Constantes da transformação geométrica

Designação Valor Descriçãoδc 40o ângulo entre abcissash 62 cm distância entre braço e cam na verticald 10 cm distância entre braço e cam na horizontal

4.4 Considerações finais

De forma a que melhor se entenda o processo de aquisição da posição do objecto, eposicionamento do braço, segue-se o conjunto de passos que são seguidos.

Page 74: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

52 Cinemática do Braço Articulado

Após a obtenção das coordenadas do objecto, com a ajuda do sistema de visão, énecessário proceder a uma transformação:

xB = xc cos40o + yc sin40o +10 (4.18a)

yB =−xc sin40o + yc cos40o +62 (4.18b)

Na etapa seguinte é determinada a cinemática inversa do braço articulado, com o au-xilio das coordenadas do objecto já determinadas.

De salientar que, estes cálculos se referem à posição do pulso do braço. Pelo que,as coordenadas obtidas antes não podem ser usadas directamente. É necessário ter emconsideração o comprimento do conjunto L3+M.

x3 = xB−10 cm (4.19a)

y3 = yB (4.19b)

Após esta correcção, são determinados os ângulos de cada uma das juntas. Para tal,são utilizadas as equações 4.11, 4.13 e 4.15b.

Assim, de modo a que se consiga obter um sistema totalmente operacional, é necessá-ria a utilização do sistema de visão, para detectar a correcta posição do alvo. Este tema éabordado no próximo capítulo.

4.5 Resumo

Neste capítulo é demonstrado como é feito o posicionamento do braço, em função deum objecto desejado. Deste modo, são identificados três temas importantes que devemser abordados.

O espaço de trabalho de um braço em aplicações robóticas, é bastante importante. Aanálise e compreensão deste atributo no braço adoptado demonstra algumas limitações.Ainda assim, é possível constatar que com uma área total de 0.85 m2, esta solução podesatisfazer os requisitos.

Um aspecto já abordado na Revisão Bibliográfica é o problema da cinemática inversa,que é melhor explorado aqui. Através da utilização do método analítico, é demonstradoser possível o controlo do posicionamento em braços articulados com três graus de liber-dade.

Page 75: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

4.5 Resumo 53

Por fim, a percepção da localização de um objecto próximo do robô, não é totalmentecompatível com os métodos descritos anteriormente. A utilização de matrizes de trans-formação geométrica é essencial. Estas matrizes permitem passar do sistema de eixos dosensor, para o sistema de eixos do braço articulado.

Page 76: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

54 Cinemática do Braço Articulado

Page 77: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

Capítulo 5

Visão Stereo

Um dos principais desafios deste trabalho, é a obtenção de coordenadas reais do alvo,relativamente ao braço. Para tal, é necessário encontrar um sistema sensorial que permitao reconhecimento do espaço tridimensional.

No mercado, existem algumas propostas que acabam por ir de encontro ao preten-dido pelo sistema de visão aqui descrito. Na Revisão Bibliográfica deste documento, sãoexpostas algumas dessas propostas. Mas devido aos elevados custos de aquisição, queequipamentos desta natureza acarretam, torna-se necessário encontrar uma solução maiseconómica para o problema.

Neste capítulo, é descrito o método utilizado para a implementação de um sistema devisão stereo, com o recurso a duas webcams. Este, é conseguido com o auxílio de umconjunto de bibliotecas de programação para visão em tempo real, o OpenCV.

5.1 Hardware adoptado

O sistema de visão adoptado é constituído por um par de webcams Philips, modeloSPC900NC, figura 5.1. Na tabela 5.1, podem-se encontrar as suas principais especifica-ções.

Tabela 5.1: Especificações da câmara usada

Philips SPC900NC

sensor CCDresolução 1.3 MP

fram rate máximo 90 fpslente F2.2, D55o

conectividade USB 1.1peso 115 g

dimensões 74x142x71 (mm)

55

Page 78: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

56 Visão Stereo

Figura 5.1: Câmara Philips SPC900NC

Um requisito muito importante quando se trabalha com sistemas de visão stereo, emque são usadas câmaras independentes, é a estabilidade física do mesmo. Como será vistomais à frente neste capítulo, o correcto posicionamento das câmaras é um factor crítico.

Com este aspecto em mente, surge a necessidade de construção de um suporte para osistema. Este deve permitir a fixação do par de câmaras, e manter a sua posição relativa,o mais estável possível.

Nas figuras presentes em 5.2, é possível verificar a constituição do suporte.

(a) (b)

Figura 5.2: Suporte do par de câmaras do sistema de visão stereo

O suporte aqui descrito, possui um servomotor, que permite ajudar o ângulo de in-clinação do sistema. Esta característica possibilita a utilização do sistema de visão paraoutras aplicações, tais como a detecção de gestos ou localização espacial.

5.2 Calibração do Sistema

De forma a que se consiga tirar partido do equipamento, é necessário efectuar a cali-bração de alguns parâmetros. Deste modo, previne-se o surgimento de erros indesejados.

Estes métodos, devem ser usados não só numa primeira calibração, como também, emsituações de desafinação da posição das câmaras.

Page 79: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

5.2 Calibração do Sistema 57

5.2.1 Posicionamento das câmaras

O primeiro teste que é feito, antes de qualquer operação computacional, é verificar seas imagens das câmaras estão o mais alinhadas possível. Este método apenas é conse-guido através da visualização das referidas imagens, e manualmente ajustar o seu posici-onamento. Os dois pares de imagens apresentados em seguida, exemplificam as situaçõesde um alinhamento indesejado ou correcto, figuras 5.3 e 5.4 respectivamente.

(a) Câmara esquerda (b) Câmara direita

Figura 5.3: Par de imagens de câmaras mal alinhadas

(a) Câmara esquerda (b) Câmara direita

Figura 5.4: Par de imagens de câmaras bem alinhadas

5.2.2 Calibração stereo

O processo de calibração stereo tem como objectivo, a determinação da relação geo-métrica entre duas câmaras no espaço. Esta relação, é conseguida através da determinaçãode uma matriz de rotação e de um vector de translação, os parâmetros extrínsecos.

A biblioteca OpenCV fornece um conjunto de ferramentas, que permitem a determi-nação deste tipo de parâmetros. Deste modo, para se conseguir determinar os parâmetrosextrínsecos, intrínsecos e de distorção de duas câmaras, é utilizada a função cvStereoCa-librate.

Page 80: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

58 Visão Stereo

cvStereoCalibrate (objectPoints, imagePoints1, imagePoints2, npoints, ca-meraMatrix1, distCoeffs1,cameraMatrix2, distCoeffs2, imageSize, R, T,E, F, termCrit, flags)

Os primeiros quatro parâmetros são referentes à localização dos pontos que se pre-tendem analisar, sendo dadas as suas coordenadas na câmara da esquerda e da direita,respectivamente. Através do recurso a estes dados, a função determina as matrizes intrín-secas e os vectores de distorção das respectivas câmaras.

Os parâmetros R e T , são os últimos a ser determinados e constituem o principalobjectivo a atingir com o uso desta função. A matriz de rotação R e o vector de translaçãoT , determinam a relação geométrica final pretendida.

5.2.3 Rectificação stereo

O processo de rectificação stereo, é um método que permite a rectificação das imagensde um par de câmaras. A rectificação permite alinhar por linhas, as imagens obtidas. Esteprocesso é simplificado com a ajuda dos parâmetros extrínsecos R e T , pelo que, a suadeterminação torna-se útil.

A figura 5.5 ilustra o resultado de uma rectificação de um par de imagens.

Figura 5.5: Resultado da rectificação e alinhamento

Este resultado, é atingido pela utilização da função cvStereoRectify. A função, recebecomo parâmetros as características intrínsecas e de distorção de cada câmara, e também amatriz de rotação e vector de translação que relacionam as câmaras.

Como resultado, é devolvida uma nova matriz de rotação rectificada para cada câmara,assim como duas novas matrizes de projecção P.

cvStereoRectify (cameraMatrix1, cameraMatrix2, distCoeffs1, distCoeffs2,imageSize, R, T, Rl. Rr, Pl, Pr, Q, flags)

Este processo, só necessita de ser realizado uma vez por calibração, já que a rectifica-ção de cada imagem é feita através da determinação dos mapas de rectificação.

Page 81: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

5.2 Calibração do Sistema 59

Mapas de rectificação

De modo a que seja possível rectificar as imagens capturadas, por cada uma das câma-ras, é necessário determinar os mapas de rectificação respectivos. A função dos mapas,é indicar a nova posição que um píxel deve ocupar numa nova imagem. Então, para seatingir este objectivo são necessários dois novos passos.

Primeiro é necessário encontrar os referidos mapas através da função cvInitUndistor-tRectifyMap.

cvInitUndistorRectifyMap (M, distCoeffs, Rrect, Mrect, mapx, mapy)

Esta função, permite determinar o remapeamento, em x e y, da imagem de uma câ-mara. O resultado, são dois mapas de reposicionamento de cada pixel na imagem rectifi-cada, mapx e mapy.

Este processo necessita ser realizado duas vezes, uma para cada câmara. Tem comorequisito, muitos dos os parâmetros já determinados anteriormente.

De modo a que seja possível realizar o remapeamento em si, recorre-se a uma outrafunção denominada de cvRemap.

cvRemap (src, dst, mapx, mapy, flags)

Através da indicação da imagem original src, e do seu destino dst, é possível utilizar-seos mapas de rectificação.

Este último processo, necessita ser realizado a cada nova captura de imagem. Atravésdeste, é possível transformar os pares de imagem obtidos, em imagens perfeitamenterectificadas e alinhadas.

Com a rectificação e o alinhamento dos pares de imagens, é possível determinar ascorrespondências e disparidades entre as duas imagens.

5.2.4 Correspondência stereo

A função do OpenCV, para determinar as correspondências e disparidades de um sis-tema de visão stereo, é a cvFindStereoCorrespondenceBM.

cvFindStereoCorrespondenceBM (leftImage, rightImage, disparityResult,BMState

A estrutura BMState permite o ajuste de alguns parâmetros pré-definidos, e alteraprofundamente o desempenho do sistema. O resultado é devolvido por disparityResult.

Nas figuras 5.6 estão exemplificados alguns resultados de disparidade obtidos no pro-cesso de calibração.

Page 82: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

60 Visão Stereo

(a) (b)

Figura 5.6: Exemplos de disparidade no processo de calibração

5.2.5 Algoritmo de calibração

Chega agora o momento de junção de todas as ferramentas necessárias para o processode calibração. Na figura 5.7 são identificados os principais passos que são necessáriopercorrer.

Figura 5.7: Algoritmo para calibração do sistema de visão stereo

Page 83: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

5.3 Calibração de distâncias 61

5.3 Calibração de distâncias

Com a obtenção do mapa de disparidades, o robô está habilitado da noção de pro-fundidades. Mas esta noção, por si só, não permite relacionar as profundidades com osdistâncias reais do espaço.

De seguida são apresentados dois métodos seguidos para dotar o robô de capacidadede obter distâncias no espaço.

5.3.1 Triangulação

Este método, amplamente utilizado nesta área, relaciona o valor obtido pela dispari-dade disp, a distância de focagem f e a distância entre as duas câmaras T.

A equação 5.2 representa o obtenção de uma distância Z, a partir de uma triângulação.

Z = fT

disp(5.1)

De forma a validar este método, encontra-se na tabela 5.2, um conjunto de testes feitosàs medidas obtidas.

Tabela 5.2: Resultados do método de triângulação

Distância medida (cm) Distância real (cm)15 6616 7217 7318 7419 7821 8622 8823 9325 96

Em = 61,1 cm (5.2)

O erro médio Em, obtido pela utilização deste método, revela a sua fraca fiabilidade.De forma a se apurar com maior exactidão da relação entre as disparidades e distânciasobtidas, é seguido um método experimental e efectuada uma regressão polinomial.

5.3.2 Regressão polinomial

Os testes que se seguem, têm como missão encontrar uma relação matemática entreos valores de disparidade normalizados, e as respectivas distâncias reais. Essas mediçõesestão descritas na tabela 5.3.

Page 84: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

62 Visão Stereo

A evolução da disparidade, em função da variação da distância, é ilustrada pela linhavermelha no gráfico da figura 5.8. A linha de tendência a preto, que se encontra no mesmográfico, demonstra a aproximação matemática resultante da análise das amostras.

Tabela 5.3: Resultados do método experimental

Disparidade Distância real (cm)255 36239 40223 45205 49188 54178 58169 63155 67141 72136 76131 81120 90115 94110 99105 103100 108

Figura 5.8: Gráfico da evolução da disparidade em função da distância

Como se trata de uma aproximação, é necessário considerar o erro inerente ao método.O quadrado do coeficiente de correlação R, pode ser entendido como, o desvio entre ovalor real e o obtido pela aproximação. O seu valor, para esta aproximação é de:

R2 = 0.998 = 99.8% (5.3)

A equação polinomial de terceiro grau 5.4, relaciona um valor de disparidade com a

Page 85: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

5.4 Resumo 63

distância relativa.

Z =−2×10−0.5d3 +0.013d2−3.239d +314.6 (5.4)

Este método experimental revela uma maior eficiência e qualidade de resultados, peloque é o método final adoptado para a obtenção de distâncias. A distância máxima medidaé de um metro, ainda assim, este faz um bom trabalho a distâncias maiores. De refe-rir ainda que, devido à complexidade da equação encontrada, a sua utilização deve serlimitada, mas mantida a mesma eficácia.

A aplicação desta técnica é abordada no capítulo seguinte, num algoritmo de obtençãoda posição do objecto. A determinação da distância só é realizada após a verificação dadisparidade total do objecto, sendo apenas preciso o calculo pela equação 5.4 uma vezpor localização.

O processo de obtenção dos gráficos, equações e parâmetros é possível, graças à utili-zação das ferramentas disponibilizadas pelo software Microsoft Office Excel.

5.4 Resumo

Neste capítulo, é dada especial atenção à constituição do sistema de visão do braçoarticulado, e ao seu processo de calibração.

Como hardware adoptado, são identificadas as webcams Philips SPC900NC. É tam-bém contemplada a construção de um suporte simples, que deve manter uma posiçãoequilibrada do sistema, já que este é um factor bastante importante.

Para o desenvolvimento do software, são utilizadas as ferramentas disponibilizadaspelo OpenCV. Estas têm como função, a identificação das características intrínsecas decada câmara, os parâmetros extrínsecos que as relacionam, e os mapas de rectificação.Estas têm como finalidade a obtenção dos mapas de disparidade, sendo úteis na percepçãode profundidades.

De modo a testar a validade na obtenção de distâncias, são abordados os dois métodosexplorados.

Como a triangulação não consegue devolver resultados suficientemente satisfatórios,recorre-se a um método de regressão polinomial. Este acaba por se revelar uma escolhaeficiente, com testes realizados até um metro de distância.

Page 86: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

64 Visão Stereo

Page 87: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

Capítulo 6

Detecção e Localização de um Objecto

Ao longo deste documento, têm sido explicados os métodos utilizados para as váriastarefas envolvidas no processo de manipulação de objectos. Neste capítulo, é demons-trando como o sistema de visão e a cinemática inversa, são utilizados no processo delocalização e posicionamento em relação a um alvo.

As necessidades, inerentes a uma aplicação deste género, levam ao desenvolvimentode uma aplicação que suporte quatro características fundamentais. Elas são:

• Calibração do sistema sensorial;

• Comunicação com o braço articulado;

• Cálculo da cinemática inversa;

• Reconhecimento de um objecto e sua localização.

Alguns destes pontos já foram anteriormente abordados, pelo que é necessário perce-ber como é feito o reconhecimento de um objecto, e a sua localização no espaço.

6.1 Reconhecimento de um objecto

De forma a simplificar o processo de recolhimento de um objecto, são definidas algu-mas características específicas. Estas devem permitir a fácil localização do mesmo.

O objecto deve possuir:

• Uma cor dominante fácil de detectar, e que evite erros;

• Dimensões aproximadas às de um simples copo, sendo fácil de detectar, e ao mesmotempo, mantendo dimensões compactas.

Na figura 6.1 é ilustrado o objecto adoptado, de cor vermelha. Em termos de dimen-sões, este possuí uma altura de 15 cm e 5 cm de largura.

De modo a que o sistema de visão consiga detectar este objecto, é necessário recorrera uma técnica de segmentação de imagem.

65

Page 88: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

66 Detecção e Localização de um Objecto

Figura 6.1: Objecto adoptado

6.1.1 Segmentação

A segmentação, em processamento de imagem, pode ser definida como um métodode análise de uma imagem, segundo um critério desejado. Neste caso, é aconselhávelsegmentar a imagem por cores, interessando particularmente a predominância da cor ver-melha.

Através da análise de uma parte da componente vermelha de uma imagem, é possívelisolar o objecto pretendido de todo o resto. Para isso, é necessário isolar o canal preten-dido no modelo BGR, e definir uma contribuição mínima relativa, comparativamente aosoutros dois canais.

Na equação 6.1 é definida matematicamente a condição de segmentação.

P(x,y) =

255 se (R(x,y)≥ 20+B(x,y)) ∧ (R(x,y)≥ 20+G(x,y)

0 se não(6.1)

Considerando P um pixel de uma imagem, de um só canal, é possível interpretar aequação. R, B e G representam os valores dos três canais da imagem originam, em funçãodas coordenadas (x,y).

Ao píxel P, definido pelas mesmas coordenadas x e y, é atribuído o valor de 255 nocaso dos valores das componentes, da imagem original, respeitarem a condição. O re-sultado da aplicação desta condição pode ser observado na figura 6.2. A obtenção dascoordenadas do objecto é assim possível, utilizando uma técnica de determinação do cen-tro de massa do corpo.

A condição da equação 6.1, é ajustável de forma a reduzir ao máximo o ruído provo-cado pelo ambiente.

6.1.2 Centro de massa

Em processamento de imagem, pode-se considerar o centro de massa similar ao con-ceito introduzido pela Física. Este, representa um ponto em que pode ser concentradatoda a massa de um corpo. Da mesma forma, é possível caracterizar a posição de umobjecto, a partir das coordenadas do seu centro de massa.

Page 89: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

6.2 Localização real do objecto 67

(a) Imagem original (b) Imagem segmentada

Figura 6.2: Resultado de aplicação da segmentação na imagem

Nas equações 6.2a e 6.2b, estão demonstradas as formas de identificar a localizaçãode um objecto no espaço. Em que, n representa o número total de píxeis aceites, xn e yn

representam a localização deles na imagem.

xp =1n

n

∑i=1

xn (6.2a)

yp =1n

n

∑i=1

yn (6.2b)

6.2 Localização real do objecto

As coordenadas obtidas no cálculo do centro de massa, são relativas à imagem. Peloque estas, não podem ser confundidas com a posição real do objecto, em relação à câmara.É necessário efectuar algumas conversões, de modo a relacionar as informações obtidas,com a localização real no espaço.

Para determinar a distância real do objecto zr, recorre-se à posição do centro de massadeste. Com a posição determinada na imagem, é possível encontrar a distância real rela-cionando a esta com o mapa de disparidades.

Este método permite identificar a distância real do objecto em relação à câmara, ana-lisando apenas o seu centro de massa. Assim, é possível obter melhores resultados, com-parativamente a cálculos de médias de distância em todo o objecto.

De forma a determinar a posição real em x e y, é necessário recorrer à distância focalf da câmara e à distância real do alvo [25]. A distância focal, é obtida na determinaçãodos parâmetros intrínsecos da câmara. As equações que se seguem, permitem relacionara posição real em relação à câmara.

xr =xp · zr

f(6.3a)

Page 90: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

68 Detecção e Localização de um Objecto

yr =yp · zr

f(6.3b)

A localização real do objecto em relação à câmara é, por fim, dada pelas coordenadasxr, yr e zr.

6.3 Algoritmo de captura de imagens

De forma a demonstrar, de uma forma mais eficaz, o método seguido, é apresentado nafigura 6.3 um algoritmo da rotina de captura de frames. Nele são descritas todas as fasesenvolvidas no processo de, captura de imagens e obtenção das informações desejadas. Desalientar que, após a determinação das coordenadas em relação à câmara, é necessárioproceder à transformação para a posição real do alvo, e relacionar-lo com o braço.

Figura 6.3: Algoritmo de captura do par de imagens

Este algoritmo representa o tratamento dado às frames, sempre que é efectuada a cap-tura de um novo par. A posição do objecto é determinada sempre em relação à câmara.Com este modelo são fornecidas, ao sistema, todas as informações necessárias para acorrecta localização do alvo, no espaço.

A conversão das coordenadas, para o sistema de eixos do braço, só é feita a quandodo pedido da manipulação do objecto.

Page 91: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

6.4 Algoritmo de posicionamento do braço 69

6.4 Algoritmo de posicionamento do braço

Neste segundo algoritmo, são demonstradas todas as fases do processo denominado deConversão, figura 6.4. Neste são utilizadas as informações obtidas no acto de captura, po-sição do alvo na imagem e sua disparidade. Aqui, o princípal objectivo é a determinaçãodos ângulos das juntas do braço, e a sua validação.

Figura 6.4: Algoritmo de obtenção dos ângulos das juntas

Como o braço utilizado é do tipo planar, as coordenadas em xc são referentes à distân-cia do objecto em relação à câmara, e yc é relativo à altura do mesmo. Aqui passa-se darepresentação tridimensional, para uma em bidimensional, em tudo idêntica aos sistemasde coordenadas no estudo da cinemática do braço.

6.5 Ferramentas utilizadas

Ao longo deste documento têm sido expressas várias técnicas utilizadas, desde o de-senvolvimento de novo hardware, passando pelo sistema de visão stereo, até processosde segmentação e posicionamento do alvo. Chega agora, o momento de apresentar comotodas as ferramentas são agrupadas e utilizadas.

A plataforma computacional utilizada é um computador portátil Magalhães 2 da em-presa JP Sá Couto, figura 6.5. Este é um computador leve, resistente ao choque e depequenas dimensões, tornando-o uma boa alternativa para aplicações robóticas sem ele-vados requisitos computacionais.

Page 92: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

70 Detecção e Localização de um Objecto

Figura 6.5: Computador Magalhães 2

De forma a possibilitar o desenvolver software, necessário para a aplicação, é adoptadauma plataforma de desenvolvimento denominada de Qt Creator 4.6. A linguagem deprogramação escolhida é o C++, com o auxílio de várias bibliotecas, entre as quais oOpenCV.

Todo o software desenvolvido e aplicações auxiliares, correm com o suporte do sis-tema operativo Ubuntu 10.04 LTS Lucid Lynx.

6.6 Aplicação desenvolvida

O trabalho descrito neste documento, contempla o desenvolvimento de uma aplicaçãoque permita a implementação dos vários algoritmos já descritos, figura 6.6. Assim, osoftware para a implementação de um controlo da manipulação de objectos, possuí asseguintes características:

• Calibração do sistema de visão stereo;

• Detecção do alvo por segmentação;

• Localização 3D de um objecto em relação ao sistema de visão;

• Transformação de coordenadas;

• Cálculo da cinemática inversa para o braço;

• Comunicação série com o braço articulado;

• Comunicação e controlo do manipulador;

• Comunicação com os outros sistemas computacionais do robô móvel.

Todas as características referidas encontram-se testadas e perfeitamente operacionais.Este software está dividido por tabs, cada uma correspondendo a uma tarefa específica.

Na figura 6.7 é possível observar-se a terceira tab, que é responsável pelo surgimento dasimagens capturadas pelas duas câmaras. Aqui, é permitido o alinhamento delas e tambéma obtenção de frames para o processo de calibração.

Page 93: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

6.6 Aplicação desenvolvida 71

Figura 6.6: Tab de apresentação da aplicação

Figura 6.7: Tab responsável pelo alinhamento das câmaras

O processo de calibração stereo é conseguido através da quarta tab da aplicação. Aquibasta primir o botão de calibração para que todo o processo decorra automaticamente,figura 6.8.

Como o processo de obtenção de disparidades é bastante complexo e exigente, porvezes pode ser necessária a sua interrupção. Assim, na tab seguinte é dada a opção de vi-sualizar o resultado do cálculo dos mapas de disparidade em tempo real, e caso necessário,interromper ou reiniciar o processo, figura 6.9.

Por fim, as últimas funcionalidades necessárias encontram-se na sexta e última di-visão. Nesta, é possível observar-se o resultado da segmentação da imagem da câmaraesquerda e as coordenadas do alvo em relação à mesma.

Através do click no botão Converter, o programa determina as coordenadas do alvorelativamente ao braço, os ângulos para cada junta e avalia a possibilidade do movimento.

Page 94: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

72 Detecção e Localização de um Objecto

Figura 6.8: Secção de calibração stereo

Figura 6.9: Visualização do mapa de disparidades

Figura 6.10: Ambiente de observação da segmentação e resultados da localização e controlo daposição do braço

Page 95: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

6.7 Resumo 73

Muitas outras funcionalidades também são introduzidas. Entre elas, pode-se destacaro controlo do manipulador e a comunicação com o braço. Nesta ultima pode-se enviaros ângulos calculados, um comando de calibração, ou um qualquer conjunto de ângulos,através do modo Manual.

Todos os processos de captura e processamento das imagens, decorrem a resoluçõesde 320x240, isto deve-se à complexidade dos algoritmos stereo. Testes efectuados à re-solução de 640x480, indicam que o processo se torna demasiado lento, prejudicando-ovisivelmente. Na tabela 6.1 é demonstrado o desempenho do sistema em duas condiçõesdistintas.

Tabela 6.1: Desempenho do sistema

Calculo de disparidades Frame rate (fps))OFF 10ON 5

6.7 Resumo

O reconhecimento do objecto que se deseja manipular, e a percepção da sua localiza-ção no espaço, são características fundamentais para o sucesso do sistema.

Neste capítulo, é demonstrado como é possível fazer o reconhecimento de um objectopreviamente escolhido. A principal característica que se pretende evidenciar, é a sua cor.Através de uma técnica de segmentação é possível isolar o alvo do resto do ambiente.

Depois de conhecida a sua posição na imagem, é necessário recorrer a elementoscomo, o mapa de disparidades e distância focal, para obtenção do posicionamento real doobjecto no espaço.

São também apresentados os dois principais algoritmos, que sustentam todo o traba-lho. A captura das imagens e tratamento da sua informação, permitem obter a informaçãoda localização do alvo. Mas, também é possível a obtenção dos mapas de disparidades,essenciais para a percepção 3D do referido alvo.

O segundo algoritmo retrata o processo de posicionamento do braço, desde a obtençãodas coordenadas reais, até à comunicação com este.

Por fim, são identificadas as ferramentas utilizadas nesta fase do trabalho, e também,as principais características da aplicação desenvolvida.

Page 96: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

74 Detecção e Localização de um Objecto

Page 97: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

Capítulo 7

Análise de Resultados

Neste capítulo é avaliada a veracidade e eficiência de todo o sistema desenvolvido.Para tal, são descritos os resultados obtidos em vinte e nove testes.

O objecto é colocado em posições distintas do espaço, e são medidos parâmetros comoa localização determinada, os ângulos calculados e a posição final do braço. Desta formaé possível aferir quanto, à real eficiência na localização e posicionamento do alvo, e àposição final do braço.

7.1 Exactidão da localização e posição do alvo

A tabela 7.1 apresenta os resultados de medições efectuadas para vinte e nove locali-zações distintas do alvo. Para estas amostras, são apresentadas as coordenadas reais doalvo em relação ao braço, as coordenadas medidas em relação ao mesmo, e é determinadoo erro em cada eixo.

As amostras apresentadas pretendem reflectir o comportamento do sistema, com oaumento da distância xr do objecto. As distância mais curtas ao braço, possíveis de serobtidas, rondam os 20 cm. Esta limitação é imposta pelo algoritmo de visão stereo, emque é necessário encontrar um bom compromisso entre distâncias máximas e mínimaspretendidas. Outro factor envolvido, é a posição do braço, que quando recolhido, podeinterferir na visualização a distâncias bastante curtas.

Em todo o caso, este facto não apresenta limitações consideráveis, pois as distânciasreferidas, encontram-se na zona de segurança do robô, não sendo previsível a localizaçãode objectos nesse perímetro.

Ao analisar os resultados apresentados na tabela, é possível destacar que os errosaumentam a distâncias maiores que 80 cm, expressos pelas amostras 28 e 29. Estes erros,como é visto mais à frente, não são relevantes para o processo de manipulação, devido aocorrerem a distâncias inalcançáveis.

75

Page 98: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

76 Análise de Resultados

Tabela 7.1: Resultados das medições da localização do objecto (em cm)

CoordenadasAmostras Reais Determinadas Erro absoluto

xr yr xd yd ex ey

1 24 25 20 26 4 12 23 34 21 35 2 13 22 34 22 35 0 14 22 29 22 30 0 15 28 32 25 28 3 46 28 37 27 36 1 17 34 38 30 38 4 08 36 8 32 12 4 49 34 6 34 9 0 310 36 7 35 12 1 611 38 34 36 36 2 212 38 23 38 22 0 113 38 7 39 8 1 114 39 34 40 34 1 015 40 1 40 2 0 116 43 33 42 32 1 117 42 7 42 9 0 218 45 30 45 30 0 019 45 5 45 5 0 020 45 5 47 8 2 321 46 5 49 7 3 222 47 20 49 20 2 023 50 6 51 10 1 424 58 21 57 20 1 125 65 28 65 29 0 126 68 17 69 16 1 127 74 22 76 21 2 128 82 5 89 7 7 229 97 6 102 9 5 3

Média 1.65 1.62Desvio Padrão 2.03 1.83

Máximo 7 6

Atendendo à evolução dos erros em função do aumento das distâncias, é possívelconcluir que o sistema se comporta de uma forma bastante robusta e eficaz. Este nãoapresenta uma evolução progressiva de erros das coordenadas medidas, pelo menos atéaos 80 cm de distância.

A média dos erros obtidos nas 29 amostras rondam 1.6 cm, com um desvio padrãode 2 cm. Estes resultados podem ser consideráveis, no entanto estão ao nível de outrossistemas equivalentes, como o do robô ARoS [3].

Page 99: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

7.2 Posicionamento do braço articulado 77

7.2 Posicionamento do braço articulado

Na tabela 7.2 que se segue, são apresentados os resultados da tentativas de aproxima-ção do braço ao alvo. Os testes efectuados têm como base as coordenadas das respectivasamostras, descritas na tabela 7.1.

Tabela 7.2: Resultados do posicionamento do braço articulado (em cm)

AmostrasÂngulos Juntas Posição end-effector

θ1 θ2 θ3 xe ye

1 114 251 355 n n2 106 282 332 n n3 104 283 333 n n4 108 266 346 n n5 98 287 335 n n6 93 295 333 n n7 83 311 326 36 388 77 243 40 32 99 68 245 47 34 710 71 251 38 n n11 71 321 328 38 3412 73 277 10 38 2313 55 265 40 n n14 62 329 329 42 3515 48 259 53 n n16 59 328 333 43 3317 51 276 33 42 818 n n n n n19 44 276 40 46 520 40 295 25 46 821 34 304 22 48 522 38 331 351 50 1723 31 319 10 50 824 n n n n n25 n n n n n26 n n n n n27 n n n n n28 n n n n n29 n n n n n

Média 1.23 0.92Desvio Padrão 1.20 0.97

Máximo 4 3

A posição do end-effector é medida após o movimento do braço, e representa a fasefinal do sistema. A letra n, encontrada em muitos campos da tabela, significa a impossi-bilidade de determinar a respectiva variável.

Page 100: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

78 Análise de Resultados

Em algumas amostras, como as seis primeiras, é possível verificar que não foi de-terminada a posição final do end-effector. Isto acontece, pela impossibilidade do braçoreplicar os ângulos exigidos pela cinemática inversa. De forma a recordar as referidaslimitações, é possível consultar o capítulo 4, referente ao estudo da sua cinemática.

Com a chegada à amostra 24, o comportamento do sistema altera-se. A impossi-bilidade de determinar os ângulos das juntas está intimamente ligado ao comprimentomáximo do braço. As coordenadas desejadas, estão fora do seu raio máximo de alcance.

Em temos médios, e para as 13 amostras válidas, o sistema apresenta um erro globala rondar 1 cm nos dois eixos do braço. Este é relativo à posição real do alvo.

Com erros desta natureza, é importante saber o quanto podem influenciar no sucessodeste modelo. Analisando o tipo de objectos que se encontram num ambiente doméstico,e que o robô pode manipular, podem-se destacar copos, garrafas, pacote de aperitivos oupequenos utensílios. De forma a que seja possível concretizar melhor esta ideia, na figura7.1 encontram-se ilustrados alguns objectos adoptados pela Robocup@home [37].

Figura 7.1: Exemplos de objectos adoptados na Robocup@home [37]

Com estes objectos em mente, é possível entender que os erros já referidos não consti-tuem nenhum entrave à sua manipulação. Isto porque, estes objectos são suficientementevolumosos para atenuar os efeitos nefastos dos erros de posicionamento.

O último aspecto que importa analisar é a área de trabalho do braço adoptado. Estaacaba por se revelar bastante reduzido, não permitindo a manipulação de objectos a dis-tâncias entre os 20 e os 30 cm.

Para além das limitações inerentes a um braço construído de raiz, a grande causapara a pouca versatilidade deste é a limitação de ângulos em cada junta. Como se podeverificar pela tabela 7.2, nas primeiras seis amostras, apesar de ser possível determinar acinemática inversa, a limitação mecânica das juntas não permite o accionamento do braço.

Page 101: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

7.3 Resumo 79

7.3 Resumo

Neste capítulo é analisado o comportamento de todo o sistema, tendo em vista a per-cepção da sua real exactidão.

Para tal, é analisado um conjunto de amostras. Estas amostras contêm informaçõesda posição real do alvo, a posição determinada pelo sistema de visão e a posição final doend-effector. Com estes dados é possível determinar o erro em cada eixo e um erro médiopara todas as amostras.

Em algumas destas amostras, não é possível chegar ao resultado desejado. Isto deve-se a vários factores como, a limitação do sistema stereo e limitações mecânicas do braçousado.

Em suma, é possível encontrar resultados positivos e dentro das condições desejadas.

Page 102: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

80 Análise de Resultados

Page 103: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

Capítulo 8

Conclusões e Trabalho Futuro

O trabalho descrito neste documento, surge do desenvolvimento do robô domésticoMARY.

Com este trabalho pretende-se encontrar uma forma económica e viável de localizaçãoe manipulação de objectos, de forma a se conseguir habilitar a MARY de uma maiorutilidade e potencial cientifico.

Existem alguns tópicos essenciais a que se deve responder quando se pretende intervirnesta área. Em primeiro lugar, é necessário avaliar quais as condições físicas existentes,mais concretamente, quais as limitações que a plataforma móvel sugere. Como tal, éadoptado um braço articulado com três graus de liberdade.

Com todo seu desenvolvimento mecânico, electrónico e de controlo pensados de raiz,este braço apresenta inúmeras vantagens. Este, não obriga a adaptações na plataformamóvel, é também uma solução bastante económica, de reduzido peso e um bom alcance.

De forma a possibilitar a percepção do alvo desejado, é necessário utilizar um sistemade localização em três dimensões, capaz de devolver as informações pretendidas. A solu-ção adoptada passa pela utilização de, duas webcams convencionais e vários algoritmosdisponibilizados pelo OpenCV.

A fusão de técnicas como, a segmentação, centro de massa, mapas de disparidade, eregressão polinomial permitem a obtenção de informações desejada sobre o alvo. E como auxílio da cinemática inversa e de matrizes de transformação, são encontradas todas aspeças finais do puzzle.

Apesar de todas as vantagens, o braço apresenta algumas limitações, inerentes ao seudesenvolvimento mecânico. Através da análise dos resultados obtidos, é possível concluirque com a utilização de um braço com maior amplitude de movimentos os resultadosseriam mais satisfatórios.

Como se pode esperar, o trabalho desenvolvido não se esgota nele mesmo. Existemvários aspectos que podem ser melhorados, e principalmente, acrescentados. O maiscrucial é o melhoramento do braço articulado utilizado, através do aumento da amplitude

81

Page 104: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

82 Conclusões e Trabalho Futuro

das juntas, este é um trabalho puramente mecânico e que deve ser realizado por pessoasqualificadas e com alguma experiência.

Um outro aspecto essencial, é dotar o sistema de mais um grau de liberdade. Atravésdo recurso à rotação da plataforma móvel, é possível o ajuste do braço em relação aoalvo. Desta forma, mantém-se a simplicidade do braço articulado e aumenta-se a suafuncionalidade.

A implementação do referido grau de liberdade extra, não apresenta complexidadesacrescidas. Isto porque, apenas é necessária a comunicação entre os dois computadoresenvolvidos na tarefa e o estabelecimento de uma rotina, para o efeito. De qualquer forma,a comunicação já se encontra testada e pronta a ser utilizada futuramente, só faltandodefinir como o processo se deve realizar.

Como é descrito ao longo do documento, de forma a testar a localização do alvo, énecessário a adopção de um objecto previamente conhecido. Através da sua cor é possívelisolá-lo do resto do ambiente. Mas é necessária a utilização de um outro método, demaneira a permitir a localização de objectos com várias cores, em que a segmentação podenão ser eficaz. O reconhecimento de objectos numa imagem, previamente conhecidos,pode ser conseguido através de métodos como o SIFT ou SURF.

Page 105: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

Referências

[1] Bill Gates. A robot in every home. Scientific American, December 2006.

[2] Machina speculatrix. http://maquinaespeculativa.blogspot.com.

[3] Rui Manuel Gomes da Silva. Design e construção de um robot antropomórfico. Tesede mestrado, Universidade do Minho, 2008.

[4] Jorg Stuckler, Michael Schreiber, e Sven Behnke. Dynamaid, an anthropomorphicrobot for research on domestic service applications. ECMR’09, páginas 88–92, Se-tembro 2009.

[5] NimbRo Learning Humanoid Robots. http://www.nimbro.net.

[6] Sick Sensor Intelligence. http://www.sick.com.

[7] Acroname Robotics. http://www.acroname.com.

[8] Point Grey. http://www.ptgrey.com.

[9] David Gossow, Nicolai Wojke, René Bing, Urs Buchholz, Robin Schrage, AndreasMutzel, Kevin Read, Susanne Thierfelder, Sebastian Vetter, e Dietrich Paulus. Ro-bocup 2010 homer@unikoblenz. Robocup, 2010.

[10] UNIVERSITY OF KOBLENZ-LANDAU. http://www.uni-koblenz-landau.de.

[11] Mobilerobots, 2010. http://www.mobilerobots.com.

[12] Benjamin J. Cohen, Sachin Chitta, e Maxim Likhachev. Search-based planning formanipulation with motion primitives. International Conference on Robotics andAutomation, 2010.

[13] Hiroyuki Okada, Takashi Omori, Naoto Iwahashi, Komei Sugiura, Takayuki Nagai,e Watanabe. Team er@sers 2010 in the @home league team description paper.Robocup, 2010.

[14] Thomas Breuer, Geovanny Giorgana, Frederik Hegger, Christian Müller, Zha Jin,Michael Reckhaus, Jan Paulus, Ronny Hartanto, Paul Ploeger, e Gerhard Kraetzsch-mar. The b-it-bots robocup@home 2010 team description paper. Robocup, 2010.

[15] Neuronics. Katana webpage. http://www.neuronics.ch.

83

Page 106: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

84 REFERÊNCIAS

[16] Cressel Anderson, Ben Axelrod, J. Philip Case, Jaeil Choi, Martin Engel, GauravGupta, Florian Hecht, John Hutchison, Niyant Krishnamurthi, Jinhan Lee, Hai DaiNguyen, Richard Roberts, John G. Rogers, Alexander J. B. Trevor, Henrik I. Chris-tensen, e Charles Kemp. Mobile manipulation - a challenge in integration. Roboticsand Intelligent Machines, 2006.

[17] Kuka Robotics. Kuka kr5 sixx r650. http://www.kuka-robotics.com.

[18] Dov Katz, Emily Horrell, Yuandong Yang, Brendan Burns, Thomas Buckley AnnaGrishkan, Volodymyr Zhylkovskyy, Oliver Brock, e Erik Learned-Miller. The umassmobile manipulator uman: An experimental platform for autonomous mobile mani-pulation. 2006.

[19] Barret Technology. Wam arm. http://www.barrett.com.

[20] Estela Bicho. Robots Manipuladores: Cinemática (introdução simples). Dep. Elec-trónica Industrial, Universidade do Minho, 2009.

[21] Niels Joubert. Numerical Methods for Inverse Kinematics. UC Berkeley, 2008.

[22] Samuel R. Buss. Introduction to Inverse Kinematics with Jacobian Transpose, Pseu-doinverse and Damped Least Squares methods. University of California, San Diego,2009.

[23] Vítor M. F. Santos. Robótica Industrial, Apontamento teóricos, Exercicos e Proble-mas de exames. Departamento de Engenharia Mecânica - Universidade de Aveiro,2004.

[24] Gary Bradski e Adrian Kaehler. Learning OpenCV - Computer Vision with theOpenCV Library. O’REILLY media, 2008.

[25] José António da Cruz Pinto Gaspar. Visão para robótica móvel: Detecção de obstá-culos sobre pavimento plano. Tese de mestrado, Universidade Técnica de Lisboa -Instituto Superior Técnico, 1994.

[26] Vision3d. http://www.vision3d.com.

[27] Howltookit.com. Understanding camera lenses image characterisitics.http://www.howitookit.com.

[28] Wikipedia - image rectification. http://en.wikipedia.org.

[29] Gab-Hoe Kim, Jong-Sung Kim, e Ki-Sang Hong. Vision-based simultaneous locali-zation and mapping with two cameras. IEEE International Conference on IntelligentRobots and Systems, páginas 3401–3406, Março 2005.

[30] Fernando Ribeiro, Gil Lopes, Davide Oliveira, Fátima Gonçalves, e Júlio Rodrigues.Minho@home team description paper. Robocup@home, 2010.

[31] Davide Jorge Pereira Novais Oliveira e Emanuel Miranda. Desenvolvimento e con-trolo de um braço robótico articulado. Universidade do Minho - projecto no âmbitoda U.C. de Projecto 1, 2010.

Page 107: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

REFERÊNCIAS 85

[32] Transmotec. Sd3039 geared motor series datasheet. Relatório té, Transmotec, 2007.

[33] ATmel. AVR Butterfly Evaluation Kit - User Guide.

[34] ATmel. AVR151: Setup and use of the SPI - Application Note. ATmel.

[35] Tower pro website. www.towerpro.com.tw.

[36] Jim Frye. Manual de SSC-32. Lynxmotion, 2.01xe edição, 2010.

[37] Daniele Nardi, Jean-Daniel Dessimoz, Peter Ford Dominey, Luca Iocchi, Javier Ruizdel Solar, Paul E. Rybski, Jesus Savage, Stefan Schiffer, Komei Sugiura, ThomasWisspeintner, Tijn van der Zant, Amin Yazdani, Dirk Holz, Gerhard Kraetzschmar,David Gossow, e Sven Olufs. Robocup@Home Rules and Regulations. Robocup,2010.

Page 108: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

86 REFERÊNCIAS

Page 109: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

Anexo A

Esquema eléctrico do módulo decontrolo de uma junta

87

Page 110: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve

88

Page 111: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve
Page 112: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve
Page 113: Braço robótico manipulador para aplicação em robô de serviçosintranet.dei.uminho.pt/gdmi/galeria/temas/pdf/a42103.pdf · Resumo Este documento descreve o trabalho que serve