92
Universidade Federal do Rio Grande do Norte Centro de Tecnologia - CT Programa de Pós-Graduação em Engenharia Elétrica Laboratório de Engenharia de Computação e Automação Controle de Manipulador Redundante Utilizando Realimentação Visual Eng o Anfranserai Morais Dias Natal/RN - Brasil Agosto de 2002

Controle de Manipulador Redundante Utilizando ......Universidade Federal do Rio Grande do Norte Centro de Tecnologia - CT Programa de Pós-Graduação em Engenharia Elétrica Laboratório

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Universidade Federal do Rio Grande do NorteCentro de Tecnologia - CT

Programa de Pós-Graduação em Engenharia ElétricaLaboratório de Engenharia de Computação e Automação

Controle de Manipulador RedundanteUtilizando Realimentação Visual

Engo Anfranserai Morais Dias

Natal/RN - BrasilAgosto de 2002

Anfranserai Morais Dias

Controle de Manipulador RedundanteUtilizando Realimentação Visual

Orientador:

Prof. D.Sc. Pablo Javier Alsina

Co-Orientador:

Prof. D.Sc. Adelardo Adelino Dantas de

Medeiros

Relatório referente a Defesa de Dissertação submetidaao Programa de Pós-Graduação em Engenharia Elétrica(PPGEE) do Centro de Tecnologia (CT) da UniversidadeFederal do Rio Grande do Norte (UFRN), apresentadocomo parte dos requisitos necessários a obtenção do graude Mestre em Ciências (M.Sc.).

Natal/RN- BrasilAgosto de 2002

POSICIONAMENTO DE UM MANIPULADOR REDUNDANTE UTILIZANDO

REALIMENTAÇÃO VISUAL

Anfranserai Morais Dias

Relatório referente a Defesa de Dissertação submetida ao Programa de Pós-Graduação em Engenharia Elétrica (PPGEE) do Centro de Tecnologia (CT)da Universidade Federal do Rio Grande do Norte (UFRN), apresentado comoparte dos requisitos necessários a obtenção do grau de Mestre em Ciências(M.Sc.). Aprovada, em 02 de Agosto, pela Comissão Examinadora formadacom os seguintes membros:

Composição da Banca Examinadora:

Pablo Javier Alsina, (Doutor), Orientador

Adelardo Adelino Dantas de Medeiros, (Doutor), Co-Orientador

José Homero Feitosa Cavalcanti, (Doutor), Examinador Externo

Adrião Duarte Dória Neto, (Doutor), Examinador

Natal/RN - BrasilAgosto de 2002

DEDICATÓRIA i

"Não se pode ensinar tudo a alguém, pode-se apenas ajudá-lo a encontrar por si mesmo."

Galileu Galilei

Esta dissertação é dedicada a minha família. A meus pais por serem meu exemplo. Ao

meu irmão por sua amizade. E a minha irmã por todo seu carinho.

Aos meus amigos Eduardo, Cordeiro, Daniel, José Luiz e Lili. Ninguém, Coco e Djow

"Os Kara". Jossana, Kenny, Adriano... e a todos os outros que não citei o nome aqui, mas

que fazem parte da minha vida.

AGRADECIMENTOS ii

Agradecimentos

A Pablo Javier Alsina, meu orientador, por tudo que me ensinou, pela dedicação e

confiança depositados em mim. Obrigado!

Ao meu co-orientador Adelardo Adelino Dantas de Medeiros, pelas sugestões e dicas,

que resultaram em melhorias no trabalho desenvolvido.

Aos professores, Adrião Duarte Dória Neto e José Homero Feitosa Cavalcanti por

fazerem parte da banca examinadora, prestigiando e dando seus pareceres e sugestões.

A todos meus professores, que desde a minha infância dividiram comigo a única coisa

que nos acompanha por toda vida, "o conhecimento".

A Samaherni, meu irmão, que me deu dicas e sugestões na interface gráfica do pro-

grama. A Allan, pelas sugestões de teste e por dividir seus conhecimentos em estatística.

Aos meus colegas e amigos, pela paciência, companheirismo e amizade.

Sumário

Lista de figuras vi

Lista de tabelas ix

Resumo x

Abstract xi

1 Introdução 1

1.1 Organização do Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 Estado da Arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.2 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . 6

1.4 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.5 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Fundamentação Teórica 8

2.1 Processamento de Imagens . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.1.1 Amostragem e Quantização . . . . . . . . . . . . . . . . . . . . 10

2.1.2 Vizinhos de um Pixel . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1.3 Conectividade . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.1.4 Processamento de Imagens Coloridas . . . . . . . . . . . . . . . 12

2.1.5 Modelos de Cores . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.1.6 Padrões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

iii

SUMÁRIO iv

2.1.7 Métodos de Decisão Teórica . . . . . . . . . . . . . . . . . . . . 15

2.2 Controle de Manipuladores . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2.1 Manipuladores . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2.2 Controle Cinemático . . . . . . . . . . . . . . . . . . . . . . . . 18

2.2.3 Controle Dinâmico . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.2.4 Geração de Trajetória . . . . . . . . . . . . . . . . . . . . . . . . 21

2.3 Realimentação Visual . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.4 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3 Sistema Proposto 27

3.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.2 Manipulador Redundante Planar . . . . . . . . . . . . . . . . . . . . . . 28

3.3 Sistema de Visão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.3.1 Rotulação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.3.2 Processo de Calibração de Cores . . . . . . . . . . . . . . . . . . 31

3.3.3 Localização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.4 Sistema de Controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.4.1 Geração de Trajetória . . . . . . . . . . . . . . . . . . . . . . . . 37

3.4.2 Controle Cinemático . . . . . . . . . . . . . . . . . . . . . . . . 37

3.4.3 Uso de Recursividade . . . . . . . . . . . . . . . . . . . . . . . 40

3.5 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4 Resultados 42

4.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.2 Descrição do Sistema Experimental . . . . . . . . . . . . . . . . . . . . 42

4.3 Rotinas do Sistema de Visão . . . . . . . . . . . . . . . . . . . . . . . . 44

4.3.1 Calibração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.3.2 Métodos de Varredura . . . . . . . . . . . . . . . . . . . . . . . 54

4.3.3 Cálculo do Centróide . . . . . . . . . . . . . . . . . . . . . . . . 57

4.3.4 Localização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.4 Geração de Trajetória . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.5 Procedimentos de Teste e Análise do Controle . . . . . . . . . . . . . . . 59

SUMÁRIO v

4.5.1 Controle Clássico . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.5.2 Controle Proposto Utilizando a Pseudo-Inversa Direta . . . . . . 62

4.5.3 Controle Proposto Utilizando a Pseudo-Inversa Recursiva . . . . 65

4.5.4 Análise Comparativa entre o Controle Clássico e o Proposto . . . 65

4.6 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5 Conclusões e Perspectivas 67

5.1 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.2 Perspectivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

A Manipulador Redundante 69

A.1 Estrutura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

A.2 Microcontrolador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

A.3 Circuitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Referências Bibliográficas 75

Lista de Figuras

2.1 Exemplo de imagem digital. . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Etapas do processamento de imagens digitais. . . . . . . . . . . . . . . . 10

2.3 Cubo de cores RGB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.4 Sólido do modelo HSL. . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.5 Classificação pela menor distância. . . . . . . . . . . . . . . . . . . . . . 16

2.6 Partes de um manipulador. . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.7 Representação do eloi de um manipulador genérico. . . . . . . . . . . . 18

2.8 Exemplo de trajetória. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.9 Pontos não alcançáveis em uma trajetória. . . . . . . . . . . . . . . . . . 22

2.10 Problema da proximidade a uma singularidade. . . . . . . . . . . . . . . 23

2.11 Trajetória alcançável em diferentes soluções. . . . . . . . . . . . . . . . 23

2.12 Estrutura de controle dinâmico olhe-e-mova baseado em posição. . . . . . 25

2.13 Estrutura de controle servo visão direta baseado em posição. . . . . . . . 25

2.14 Estrutura de controle dinâmico olhe-e-mova baseado em imagem. . . . . 25

2.15 Estrutura de controle servo visão direta baseado em imagem. . . . . . . . 26

3.1 Diagrama de blocos para o sistema. . . . . . . . . . . . . . . . . . . . . 27

3.2 Espaço de trabalho para o manipulador utilizado. . . . . . . . . . . . . . 28

3.3 Exemplo de imagem captada. . . . . . . . . . . . . . . . . . . . . . . . . 29

3.4 Diagrama detalhado do sistema de visão proposto. . . . . . . . . . . . . . 30

3.5 Áreas de varredura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.6 Algoritmo de cálculo do centróide. . . . . . . . . . . . . . . . . . . . . . 34

3.7 Diferenças entre a posição do centro e a do centróide. . . . . . . . . . . . 35

3.8 Algoritmo de localização dos rótulos. . . . . . . . . . . . . . . . . . . . 36

vi

LISTA DE FIGURAS vii

3.9 Diagrama detalhado do sistema de controle proposto. . . . . . . . . . . . 36

3.10 Descrição cinemática do manipulador. . . . . . . . . . . . . . . . . . . . 38

4.1 Esboço do ambiente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.2 Quadrantes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.3 Estrutura de sustentação da iluminação quente e câmera. . . . . . . . . . 44

4.4 Agrupamentos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.5 Imagem capturada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.6 Imagem classificada sem calibração. . . . . . . . . . . . . . . . . . . . . 47

4.7 Imagem classificada após calibração. . . . . . . . . . . . . . . . . . . . . 47

4.8 Manipulador na posicão de calibração. . . . . . . . . . . . . . . . . . . . 48

4.9 Manipulador no quadrante I. . . . . . . . . . . . . . . . . . . . . . . . . 49

4.10 Manipulador no quadrante II. . . . . . . . . . . . . . . . . . . . . . . . . 49

4.11 Manipulador no quadrante III. . . . . . . . . . . . . . . . . . . . . . . . 50

4.12 Manipulador no quadrante IV. . . . . . . . . . . . . . . . . . . . . . . . 50

4.13 Iluminação a 50%. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.14 Iluminação com quatro lâmpadas. . . . . . . . . . . . . . . . . . . . . . 52

4.15 Iluminação com oito lâmpadas. . . . . . . . . . . . . . . . . . . . . . . . 52

4.16 Iluminação fria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.17 Iluminação quente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.18 Tipos de varredura para o rótulo da base. . . . . . . . . . . . . . . . . . . 55

4.19 Tipos de varredura para os rótulos restantes. . . . . . . . . . . . . . . . . 56

4.20 Resultados comparativos das varreduras. . . . . . . . . . . . . . . . . . . 56

4.21 Ampliação do gráfico da Fig. 4.20 para os 100 primeiros eventos. . . . . 57

4.22 Centróide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.23 Resultado da localização. . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.24 Exemplo de trajetória. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.25 Trajetória utilizada no experimento de controle convencioanl. . . . . . . . 60

4.26 Controle de trajetória convencional para o rótulo magenta. . . . . . . . . 60

4.27 Controle de trajetória convencional para o rótulo verde. . . . . . . . . . . 61

4.28 Controle de trajetória convencional para o rótulo amarelo. . . . . . . . . . 61

LISTA DE FIGURAS viii

4.29 Controle de trajetória convencional para o rótulo verde. . . . . . . . . . . 62

4.30 Trajetória utilizada no experimento do controle proposto. . . . . . . . . . 62

4.31 Controle de trajetória proposto para o rótulo magenta. . . . . . . . . . . . 63

4.32 Controle de trajetória proposto para o rótulo verde. . . . . . . . . . . . . 63

4.33 Controle de trajetória proposto para o rótulo amarelo. . . . . . . . . . . . 64

4.34 Controle de trajetória proposto para o rótulo verde. . . . . . . . . . . . . 64

A.1 Vista superior do elo da ferramenta. . . . . . . . . . . . . . . . . . . . . 69

A.2 Detalhe em vista lateral de uma junta. . . . . . . . . . . . . . . . . . . . 70

A.3 Esquema de conexão do servo-motor. . . . . . . . . . . . . . . . . . . . 70

A.4 Trem de pulsosPWM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

A.5 Espaço de trabalho para o manipulador proposto. . . . . . . . . . . . . . 71

A.6 Microcontrolador BASIC Stamp 2. . . . . . . . . . . . . . . . . . . . . . 72

A.7 Circuito de alimentação do microcontrolador. . . . . . . . . . . . . . . . 73

A.8 Circuito de alimentação dos servo-motores. . . . . . . . . . . . . . . . . 73

A.9 Circuito de interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Lista de Tabelas

4.1 Medidas do ambiente utilizado. . . . . . . . . . . . . . . . . . . . . . . . 42

4.2 Resultado da calibração. . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.3 Erro de classificação para o experimento 1. . . . . . . . . . . . . . . . . 48

4.4 Centros resultantes da calibração. . . . . . . . . . . . . . . . . . . . . . . 48

4.5 Erro de classificação para o experimento 2. . . . . . . . . . . . . . . . . 51

4.6 Centros utilizados no experimento 3. . . . . . . . . . . . . . . . . . . . . 52

4.7 Erro de classificação para o experimento 3. . . . . . . . . . . . . . . . . 53

4.8 Centros utilizados no experimento 4. . . . . . . . . . . . . . . . . . . . . 53

4.9 Erro de classificação para o experimento 4. . . . . . . . . . . . . . . . . 54

4.10 Comparativo do erro total. . . . . . . . . . . . . . . . . . . . . . . . . . 66

4.11 Comparação de erros de regime. . . . . . . . . . . . . . . . . . . . . . . 66

A.1 Descrição da pinagem doBASIC Stamp 2. . . . . . . . . . . . . . . . . . 72

ix

RESUMO x

Resumo

No controle convencional de manipuladores robóticos, a trajetória desejada é especifi-

cada em espaço cartesiano e mapeada para espaço de juntas através do modelo cinemático

inverso do manipulador. As novas referências assim geradas são utilizadas para fins de

controle dinâmico em espaço de juntas, desde modo a posição da garra é controlada efe-

tivamente em malha aberta e a precisão do controle depende diretamente da precisão do

modelo cinemático disponível.

Esta dissertação apresenta um novo algoritmo de controle cinemático para braços re-

dundantes baseado em realimentação visual. No sistema proposto, a imagem do robô é

captada por uma câmera e processada, para obter a posição e orientação de cada um dos

elos do robô. A trajetória do robô é especificada na forma de uma seqüência temporal de

imagens de referência do braço robótico. Assim, ambas as poses, a medida e a de refer-

ência são especificadas no mesmo espaço de imagem e a sua diferença é utilizada para

gerar um erro em espaço cartesiano para propósitos de controle cinemático. O esquema

de controle proposto foi aplicado a um manipulador redundante planar de quatro graus de

liberdade, resultados experimentais são apresentados.

ABSTRACT xi

Abstract

In conventional robot manipulator control, the desired path is specified in cartesian

space and converted to joint space through inverse kinematics mapping. The joint refer-

ences generated by this mapping are utilized for dynamic control in joint space. Thus, the

end-effector position is, in fact, controlled indirectly, in open-loop, and the accuracy of

grip position control directly depends on the accuracy of the available kinematic model.

In this report, a new scheme for redundant manipulator kinematic control, based on

visual servoing is proposed. In the proposed system, a robot image acquired through a

CCD camera is processed in order to compute the position and orientation of each link

of the robot arm. The robot task is specified as a temporal sequence of reference images

of the robot arm. Thus, both the measured pose and the reference pose are specified in

the same image space, and its difference is utilized to generate a cartesian space error for

kinematic control purposes. The proposed control scheme was applied in a four degree-

of-freedom planar redundant robot arm, experimental results are shown.

Capítulo 1

Introdução

Braços robóticos manipuladores redundantes são utilizados em aplicações que re-

querem elevada capacidade de manipulação. Graus de liberdade adicionais permitem que

estes robôs consigam manipular objetos em espaços de trabalhos povoados de obstácu-

los complexos. Graus de liberdade adicionais também proporcionam tolerância a falha

em uma ou mais juntas. Em um esquema de controle convencional de robôs manipu-

ladores, a execução de uma trajetória desejada para a ferramenta no espaço de trabalho,

requer que se determine, a partir desta, a trajetória correspondente em espaço de junta, a

qual servirá de referência para os controladores de junta que, através dos atuadores, são

responsáveis pela correta execução da trajetória em espaço de juntas. Denomina-se Con-

trole Cinemático a primeira etapa deste processo (mapeamento da trajetória desejada em

espaço cartesiano numa trajetória de referência em espaço de junta). A segunda etapa (ex-

ecução da trajetória de referência em espaço de juntas) é chamada de controle dinâmico.

Num manipulador redundante, o mapeamento espaço cartesiano/espaço de juntas não é

um mapeamento bijetivo, mas existem infinitas soluções para o problema de controle cin-

emático. Assim, é necessário adotar algum critério de otimização, de modo a obter uma

única solução ótima dentro das infinitas possíveis. Um método clássico para solução do

problema de controle cinemático de manipuladores redundantes é controle baseado em

matriz pseudo-inversa (Chiaverini, 1997; Nakamura, 1991).

Por outro lado, a maioria dos braços manipuladores encontrados no mercado, utilizam

encoders para medir os ângulos de junta para determinar a posição do braço com ob-

jetivos de controle. Desta maneira, o manipulador é, de fato, controlado em espaço de

1

CAPÍTULO 1. INTRODUÇÃO 2

juntas, assumindo-se que, se as trajetórias de referência de junta são controladas com pre-

cisão, a posição da ferramenta também o será. Isto é um pressuposto válido apenas se o

modelo cinemático inverso disponível do robô é exato. Quanto mais impreciso é este mo-

delo, menos garantia temos de que a ferramenta será controlada adequadamente, apesar

de que um erro nulo seja garantido no controle dos ângulos de junta. Assim, em esque-

mas de controle deste tipo, a posição da garra é, em última instância, controlada em malha

aberta. Um alternativa para contornar este problema é utilizar sensores que forneçam di-

retamente a posição da ferramenta em espaço cartesiano, de modo a dispor do próprio erro

de posição da garra para realimentação do sistema de controle, o qual deve ser projetado

visando a sua minimização. Um sensor apropriado para este tipo de medição é um sistema

de visão que, a partir da imagem do robô captada por uma câmera, calcule diretamente

a posição do braço em espaço cartesiano. Diversos sistemas de controle de braços ma-

nipuladores baseados em realimentação visual, seguindo a filosofia descrita acima, vêm

sendo propostos na literatura (Corke, 1996; Zha et al., 1996). Processamento de imagem

é uma atividade que consome muito tempo de computação. Assim, o maior desafio para

este tipo de controladores é a implementação de algoritmos de visão computacional o

suficientemente rápidos para possibilitar o controle em tempo real.

1.1 Organização do Texto

Esta dissertação está basicamente disposta em cinco capítulos. O capítulo 1, do qual

faz parte esta descrição, contextualiza o trabalho realizado, fazendo um breve histórico,

mostrando trabalhos realizados na área. Logo após descreve-se os objetivos a serem al-

cançados, bem como, um breve justificativa do trabalho proposto. O capítulo 2, faz uma

revisão dos conceitos teóricos aplicados no decorrer do trabalho. O capítulo 3, contém a

descrição do esquema de controle proposto, descrevendo as técnicas e algoritmos utiliza-

dos. O capítulo 4, ilustra os resultados obtidos por testes realizados sobre os processos de

calibração e localização, e também, experimentos feitos sobre o controle do manipulador.

O capítulo 5, traz algumas conclusões e perspectivas futuras para o trabalho apresentado

nesta dissertação. Por fim, no apêndice A são feitos comentários relativos a estrutura e

características do manipulador, no qual foi implementado o controle.

CAPÍTULO 1. INTRODUÇÃO 3

1.2 Estado da Arte

Em sistemas de controle os sensores são responsáveis por extrair informações da

planta e do ambiente que a envolve. A qualidade da informação obtida influi nos re-

sultados de controle. Nos últimos anos houve um acréscimo na pesquisa do uso da per-

cepção visual para obter informação, isto motivado por algumas características, tais como

medição sem contato, que propiciam ao sistema um aumento da precisão, robustez e con-

fiabilidade. Em contrapartida, o processamento necessário para extrair informação de uma

imagem impossibilitou por muito tempo o desenvolvimento da pesquisa nesta área.

Em robótica a visão computacional pode ser utilizada principalmente obtendo infor-

mações para definir estratégias de planejamento ou para realimentar o controle. O uso da

visão computacional para realimentação é denominado de controle servo visual (visual

servoing), termo utilizado pela primeira vez por Hill e Park (1979).

O trabalho de Weiss e Anderson (1987), apresentou a classificação do controle servo

visual em controle baseado em imagem e em baseado em posição. Trabalhos subseqüentes

adotaram esta classificação utilizada até hoje.

As abordagens de controle usam das técnicas de visão de várias formas, algumas

dessas aplicações estão mostradas a seguir. Espiau et al. (1992), publicaram um trabalho

sobre controle servo visual, onde foram escolhidos na imagem pontos característicos do

manipulador e modelados como parâmetros de uma matriz utilizada como nas equações

de controle.

Castaño e Hutchinson (1994), apresentaram uma estrutura de controle híbrido, uti-

lizando visão em dois graus de liberdade paralelo ao plano da imagem e um terceiro grau

de liberdade, perpendicular ao plano da imagem a realimentação de posição foi fornecida

através de um sensor mecanicamente ligado a junta.

Sharma e Hutchinson (1997), propuseram o parâmetro Percepção de Movimento. O

parâmetro é uma medida obtida pela relação entre variação da posição de um objeto com

a variação dos pontos característicos do objeto na imagem. O parâmetro Percepção de

Movimento é um escalar que indica o volume do elipsóide de percepção de movimento

para uma configuração, esse elipsóide é construído a partir do Jacobiano do manipu-

lador. No mesmo ano, Hager (1997), apresentou uma abordagem baseada em um pequeno

CAPÍTULO 1. INTRODUÇÃO 4

número de operações genéricas de controle de movimento que ele denominou de habili-

dades primitivas. Cada habilidade primitiva foi restrita a uma situação da ferramenta do

robô em relação ao objetivo, utilizando a visão computacional para obter esta relação. As

habilidades primitivas tem a capacidade de realizar o posicionamento com precisão, inde-

pendente dos erros ocorridos na calibração da posição da câmera, para uma câmera sobre

o pulso do manipulador.

Malis et al. (1999), apresentaram uma nova abordagem para o controle robótico baseado

em visão, chamado de 2-1/2D controle com realimentação visual1. O esquema 2-1/2D não

necessita de qualquer modelo geométrico tridimensional do objeto. Além disso, a abor-

dagem 2-1/2D garante a convergência da lei de controle em todo espaço de trabalho. O

controle com realimentação 2-1/2D é baseado na estimação do deslocamento parcial da

pose atual da câmera para a pose desejada a cada iteração da lei de controle.

Baron e Angeles (2000), propuseram o desacoplamento dos graus de liberdade transla-

cional e rotacional da ferramenta de um manipulador paralelo, decompondo o problema

da cinemática direta em dois problemas mais simples. A maioria doslayoutsde sensores

de juntas redundantes produzem uma equação linear de desacoplamento expressando a

solução, dada por mínimos quadrados, da posição para uma determinada orientação da

ferramenta. O resultante do problema de orientação pode ser moldado como um sistema

algébrico linear restrito pela própria ortogonalidade da matriz de rotação.

Corke e Hutchinson (2001), apresentaram uma nova abordagem para o controle servo

visual baseado em imagem, que contornava o problema de trajetórias aparentemente de-

formadas no espaço cartesiano. Eles desacoplaram as componentes rotacional e transla-

cional no eixo z, do restante do controle. Adicionando uma função potencial que rejeita

pontos característicos da imagem, para garantir que a trajetória fosse percorrida por com-

pleto.

A maioria das estratégias de controle em espaço cartesiano necessitam do cálculo da

matriz inversa do Jacobiano do manipulador, em tempo real este cálculo deve ser repetido

a cada período de amostragem. Em alguns casos a matriz Jacobiana não é derank com-

pleto, o número linhas não é igual ao número de colunas, devido às singularidades e às

redundâncias presentes no manipulador robótico. Quando isto ocorre é necessário o cál-

12-1/2Dvisual servoing

CAPÍTULO 1. INTRODUÇÃO 5

culo da matriz pseudo-inversa do Jacobiano. A obtenção da matriz pseudo-inversa pode

ser sensível a pequenas pertubações resultando em instabilidades numéricas. Na área de

manipuladores robóticos redundantes várias estudos dão prioridade a novas formas para

calcular a matriz pseudo-inversa. A continuação desta seção, ilustra alguns estudos de-

senvolvidos utilizando manipuladores robóticos redundantes.

Seereeram e Wen (1995), apresentaram uma nova abordagem para o planejamento de

trajetória para manipuladores redundantes. O problema do planejamento de trajetória é

apresentado como um problema de controle não linear em um tempo finito que pode ser

resolvido por um algoritmo do tipoNewton-Raphsonassociado a um método externo de

função de custo. Esta técnica foi capaz de tratar várias definições de objetivo e restrições

no espaço de trabalho, porem, é menos adequado para resolver problemas de singulari-

dades e mínimos locais.

Park et al. (1996), propuseram o uso de soluções características para resolver proble-

mas como o da singularidade algorítmica e a não existência de uma condição suficiente

no método clássico do Jacobiano Estendido. Chaumette e Éric Marchand (2001), apre-

sentaram uma nova solução baseada em redundâcia, para evitar as restrições existentes

nos limites das juntas de um robô de um manipulador. Eles desenvolveram um esquema

de controle baseado numa função de atividade, que utilizou realimentação visual. A pro-

posta consistia em gerar movimentos do robô compatíveis com o objetivo principal a ser

alcançado através da resolução iterativa de um sistema de equações não lineares.

A redundância em manipuladores é utilizada na solução de vários problemas, como no

trabalho acima, onde foi usada para evitar restrições no limite das juntas. Outra aplicação

da redundância é tornar o sistema tolerante a falhas nas juntas, isto é, caso ocorra problema

em uma das juntas o objetivo ainda pode ser alcançado. O trabalho desenvolvido por

Terra et al. (2001), apresentou uma metodologia de controle tolerante a falhas que não

exigia que o robô fosse cinemática ou fisicamente redundante. A tolerância a falhas foi

conseguida através da reconfiguração do controle após a detecção e isolação da falha. Três

módulos foram usados para se alcançar a tolerância: um módulo de detecção e isolação

de falhas, utilizando redes neurais artificiais; um módulo para reconfiguração das leis de

controle de acordo com a operação do sistema; e um módulo de controle responsável pela

aplicação dos torques e pela ativação dos freios nas juntas.

CAPÍTULO 1. INTRODUÇÃO 6

1.3 Objetivos

1.3.1 Objetivo Geral

Desenvolver um controlador cinemático para manipuladores redundantes baseado em

realimentação visual.

1.3.2 Objetivos Específicos

• Construir um braço manipulador redundante planar com controladores de junta in-

dependentes.

• Implementar um controlador cinemático clássico, baseado em matriz pseudo-inversa,

para o robô implementado.

• Implementar rotinas de processamento de imagem em baixo nível para tratamento,

em tempo real, da imagem do robô.

• Implementar rotinas de visão computacional para determinação, em tempo real, da

posição e orientação dos elos do robô em espaço cartesiano.

• Implementar um esquema de controle cinemático para o braço redundante baseado

na realimentação visual.

• Analisar de forma comparativa o controle convencional e o controle proposto que

utiliza realimentação visual.

1.4 Justificativa

A maioria dos métodos convencionais de controle de um manipulador robótico de-

terminam a posição do manipulador através deencoders, medindo os ângulos de juntas.

O manipulador é na realidade controlado no espaço de juntas2. Os objetivos a serem al-

2Espaço de juntas é o conjunto de todas as variáveis de juntas (ângulos e/ou deslocamentos realizados

pelas juntas) do manipulador.

CAPÍTULO 1. INTRODUÇÃO 7

cançados são referenciados em espaço cartesiano3. Isto implica em dizer, que por mais

preciso que seja o controle pode existir uma diferença entre a posição alcançada e a de-

sejada, devido a imprecisões no modelo cinemático inverso disponível do robô, pois o

controle é realizado em espaço de juntas.

Nesta dissertação, propõe-se implementar um sistema de controle de manipuladores

redundantes baseado em realimentação visual tendo como objetivo o aumento da precisão

do sistema. A imagem de um manipulador redundante é captada por uma câmera e pro-

cessada, de modo a obter a posição e orientação de cada um dos elos do robô. A trajetória

é especificada em espaço cartesiano na forma de uma pose de referência do braço, onde

cada elo deverá ter sua posição e orientação desejadas, determinadas no espaço cartesiano.

Assim, ambas as poses, medida e desejada, serão expressas no mesmo espaço de imagem.

Através da diferença entre estas duas poses, uma medida do erro real da posição da fer-

ramenta deve ser obtida para objetivos de controle cinemático. Baseado neste erro, um

controlador cinemático para o braço redundante foi projetado e implementado.

1.5 Conclusão

Este capítulo mostrou as razão que levaram ao desenvolvimento do trabalho, os obje-

tivos alcançados, bem como um levantamento do estado da arte na área em que o trabalho

está inserido. Dando seqüência ao trabalho, o próximo capítulo descreve técnicas e fun-

damentos teóricos aplicados no trabalho desenvolvido.

3Um corpo rígido é localizado em espaço cartesiano, por três números medidos ao longo de eixos ortog-

onais e tem sua orientação dada por três ângulos relativos a estes eixos ortogonais (Craig, 1989).

Capítulo 2

Fundamentação Teórica

A proposta desenvolvida neste trabalho é interdisciplinar, envolvendo conhecimento

de diversas áreas. Para uma boa compreensão do trabalho realizado, este capítulo detalha

conceitos utilizados para o processamento de imagens, por exemplo, o conceito de im-

agem,pixel, quando doispixelsquaisquer são vizinhos ou estão conectados entre si, uso

de cores e seus benefícios, definição de padrões a serem utilizados na classificação por

exemplo.

São feitos também, alguns comentários sobre as abordagens de controle, geração do

caminho que deve ser percorrido, bem como a caracterização do tipo de robô a ser uti-

lizado nos testes. Por fim, são detalhadas as abordagens conhecidas para uso da realimen-

tação visual no servo controle.

2.1 Processamento de Imagens

Processamento de imagens são operações, transformações realizadas sobre uma im-

agem, com objetivo de melhorar sua visualização ou extrair alguma característica dela.

Imagem é uma função bidimensionalf (x,y) de uma intensidade1 f em um ponto definido

pelo par de coordenadas(x,y), continua no tempo. Caso ela seja discretizada tanto espa-

cialmente quanto em intensidade, o resultado é denominado de imagem digital. A Figura

2.1 é um exemplo de imagem digital.

Uma imagem digital é uma matriz cujos índices de linhas e colunas identificam um

1Por exemplo níveis de cinza, para imagens monocromáticas.

8

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 9

ponto na imagem e o valor do elemento da matriz identifica a intensidade daquele ponto.

Os elementos dessa matriz digital são chamados de elementos da imagem, elementos da

figura,pixelsoupels, abreviações depicture elements(Gonzalez e Woods, 2000).

Figura 2.1: Exemplo de imagem digital.

O processamento de imagens pode ser dividido em etapas. A primeira etapa consiste

na aquisição da imagem, para isso, faz-se necessário um dispositivo sensível que trans-

forme a imagem em sinal elétrico, por exemplo, uma câmera de TV monocromática ou

colorida que produz uma imagem a cada 1/30s; ou então, uma câmera de varredura por

linha que produz uma única linha de imagem por vez, sendo que o movimento do objeto ao

longo do varredor de linhas produz uma imagem bidimensional. Se a saída da câmera ou

outro sensor não se encontrar na forma digital, um dispositivo conversor analógico-digital

é necessário para digitalizar o sinal de saída.

A imagem digital obtida, pode ser pré-processada para um melhoramento da imagem

como um todo, podendo dividir a imagem de entrada em partes ou objetos constituintes,

isto é chamado de segmentação. Por exemplo, no caso de reconhecimento de caracteres,

a segmentação extrai caracteres individuais e palavras do fundo da imagem. Em geral, a

segmentação automática é um procedimento complexo dentro do processamento de ima-

gens digitais.

O resultado da segmentação é constituído tipicamente porpixels, correspondendo à

fronteira e ao interior de uma região. Em ambos os casos é necessário adequar os dados

ao processamento computacional. Primeiramente, decide-se a forma de representação

dos dados, como fronteiras ou como regiões completas. A representação por fronteiras

é adequado quando o interesse se concentra nas características da borda, como pontos

de inflexão. A representação por região é utilizada quando o processamento se dá nas

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 10

propriedades internas da imagem, tais como textura ou forma do esqueleto. Para determi-

nadas aplicações é necessário utilizar as duas representações, isto acontece em aplicações

tais como reconhecimento de caracteres, que freqüentemente requer algoritmos baseados

na forma da borda, bem como também esqueletos e outras propriedades internas.

Um método para descrever os dados deve ser especificado, destacando as caracterís-

ticas de interesse. O processo de descrição tenta extrair características que resultem em

alguma informação quantitativa de interesse ou que sejam básicas para discriminação en-

tre classes de objetos.

O último estágio é o de reconhecimento e interpretação. Reconhecimento é processo

que atribui um rótulo a um objeto, baseado na informação de seu descritor. A interpretação

envolve a atribuição de significado a um conjunto de objetos reconhecidos. A Figura 2.2

ilustra o diagrama de blocos das etapas do processamento de imagens.

Figura 2.2: Etapas do processamento de imagens digitais.

2.1.1 Amostragem e Quantização

Para ser processada é necessário que a imagemf (x,y) seja digitalizada tanto no espaço

quanto em amplitude. A digitalização das coordenadas espaciais(x,y) é chamada de

amostragem e a digitalização da amplitude é chamada quantização (Gonzalez e Woods,

2000).

Uma imagem contínuaf (x,y), aproximada por amostras igualmente espaçadas, dis-

postas na forma de uma matrizn×m como mostrado em Eq. 2.1, em que cada elemento

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 11

é uma quantidade discreta.

f (x,y) =

f (0,0) f (0,1) · · · f (0,m−1)

f (1,0) f (1,1) · · · f (1,m−1)...

...... · · ·

f (n−1,0) f (n−1,1) · · · f (n−1,m−1)

(2.1)

A resolução, grau de detalhes perceptíveis de uma imagem, depende dos parâmetros

de amostragem e quantização, quão maiores forem estes parâmetros, a matriz digitalizada

representará melhor à imagem original. Entretanto, estes parâmetros influem diretamente

no tamanho da imagem, gerando problemas de armazenamento e de processamento. A

Equação 2.2 mostra matematicamente a quantidade de bitsb para armazenar uma imagem.

b = n×m×k (2.2)

Portanto, de acordo com a aplicação dada para a imagem, é necessário a obtenção de

valores ótimos paran, m ek, ondek é o valor total dos níveis quantização.

2.1.2 Vizinhos de um Pixel

O conceito de vizinhança é necessário para determinar relações entrepixels como

bordas e regiões de uma imagem. Os vizinhos de umpixelpodem ser classificados em:

• 4-vizinhos dep: O pixel pnas coordenadas(x,y) possui quatro vizinhos horizontais

e verticais a uma unidade de distância de(x,y), representado porN4(p) e dado pelas

seguintes coordenadas;

(x+1,y),(x−1,y),(x,y+1),(x,y−1). (2.3)

• D-vizinhos dep: O pixel pnas coordenadas(x,y) possui quatro vizinhos diagonais,

representado porND(p) e dado pelas seguintes coordenadas;

(x+1,y+1),(x+1,y−1),(x−1,y+1),(x−1,y−1). (2.4)

• 8-vizinhos dep: É obtido pela união entre os D-vizinhos,ND(p), e os 4-vizinhos,

N4(p).

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 12

2.1.3 Conectividade

A conectividade é um conceito associativo usado para estabelecer um grau de simi-

laridade entrepixelsvizinhos. Para estabelecer se doispixelsestão conectados, é preciso

determinar se eles são vizinhos e seus níveis de intensidade satisfazem a um critério de

similaridade. Assumindo queS é um conjunto que define um critério de similaridade a

conectividade pode ser classificada no seguintes tipos:

• 4-conectividade: Doispixels peq, com valores emS, são 4-conectados seq está no

conjuntoN4(p).

• 8-conectividade: Doispixels peq, com valores emS, são 8-conectados seq está no

conjuntoN8(p).

• m-conectividade: Doispixels pe q, com valores emS, são m-conectados seq está

no conjuntoN4(p) ou seq está emND(p) e o conjuntoN4(p)∩N4(q) for vazio.

Doispixelssão ditos adjacentes se eles estiverem conectados.

2.1.4 Processamento de Imagens Coloridas

O uso de cores em processamento de imagens é motivado pelo fato da cor ser um

ótimo descritor, simplificando a identificação e a extração de um objeto de uma cena. O

uso de cores no presente trabalho é justificado no capítulo 3.

O processamento de imagens coloridas é dividido em duas área principais: processa-

mento de cores reais e pseudo-cores. No processamento de cores reais, as imagens são

adquiridas por um sensor de cores reais, como uma câmera ou um scanner colorido. No

processamento de pseudo-cores, o problema é associar uma escala de cores a uma escala

em níveis de cinza, por exemplo.

2.1.5 Modelos de Cores

Um modelo de cores facilita a especificação das cores em uma forma padrão e de

compreensão geral. Um modelo de cor é um subespaço de um sistema de coordenadas

tridimensionais, onde cada cor é representada por um único ponto.

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 13

Modelo RGB de cores

No modelo RGB, as cores são formadas por sua componentes espectrais primárias:

vermelho, verde e azul. Este modelo é baseado num sistema de coordenadas cartesianas

tridimensional. A Figura 2.3, apresenta o subespaço de cores, no qual as componentes

primárias definem os eixos principais, os vértices do cubo sobre os eixos definem os

valores máximos das cores primárias. A origem dos eixos representa o preto e o branco

está no canto mais distante da origem. A escala de cinza estende-se do preto ao branco

ao longo da linha que junta estes dois pontos. Os vértices restantes definem as cores

complementares ; ciano, magenta e amarelo. As cores são pontos dentro e sobre este

cubo, definidas por vetores estendendo-se a partir da origem.

Figura 2.3: Cubo de cores RGB.

Modelo HSL de cores

Para diferenciar uma cor da outra normalmente são utilizados brilho(L)2, matiz(H) e

saturação(S). O brilho é uma noção cromática da intensidade. Matiz é um atributo associ-

ado ao comprimento de onda dominante, representando a cor dominante percebida por um

observador. A saturação se refere a pureza relativa ou quantidade de luz branca misturada

com um matiz. As cores do espectro puro são completamente saturadas. Cores tais como

rosa (vermelho e branco) e lilás (violeta e branco) são menos saturadas, o grau de satu-

ração sendo inversamente proporcional à quantidade de luz branca adicionada (Gonzalez

2Intensidade luminosa.

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 14

e Woods, 2000).

A transformação do cubo RGB para o sistema de coordenadas cilíndricas resulta no

sólido pirâmide duplo-hexacônica que representa o modelo HSL de cores. As cores estão

dispostas como mostrado em Fig. 2.4. No eixoL estão representados os valores de lumi-

nosidade, a saturação tem seu máximo sobre os pontos de cor pura, enquanto que o matiz

varia com o ângulo ao redor do eixoL. Lembrando que matiz é um atributo que descreve

uma cor pura, enquanto que a saturação dá uma medida do grau de diluição de uma cor

pura por luz branca.

Figura 2.4: Sólido do modelo HSL.

2.1.6 Padrões

Um padrão é uma descrição quantitativa ou estrutural de um objeto ou alguma outra

entidade de interesse em uma imagem (Gonzalez e Woods, 2000). Um padrão é um

arranjo de descritores, características colhidas dentro de uma imagem. Uma classe é um

conjunto de padrões que possuem algumas propriedades comuns. As classes de padrões

são denotadas comoω1,ω2, ...,ωM, onde M é o número de classes. O reconhecimento

de padrões envolve técnicas para associar os padrões a suas respectivas classes, de forma

automática. Os três principais arranjos de padrões usados na prática são vetores, para

descrições quantitativas; cadeias e árvores, para descrições estruturais.

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 15

2.1.7 Métodos de Decisão Teórica

Sejaxxx=(x1,x2, ...,xn)T um vetor de padrõesn-dimensional. ParaM classes de padrões,

o problema de reconhecimento resume-se a encontrarM funções de decisãod1(xxx), ...,dM(xxx),

que podem definir se o padrãoxxx pertence a classeωi . Empates são resolvidos arbitraria-

mente.

A fronteira de decisão que separa as classesωi e ω j é dada pelos valores dexxx para os

quaisdi(xxx) = d j(xxx), isto é, que estão a distâncias iguais.

É comum identificar-se a fronteira de decisão entre duas classes pela funçãodi j (xxx) =

di(xxx)−d j(xxx) = 0. Portanto,di j (xxx) > 0 para os padrões da classeωi e di j (xxx) < 0 para os

padrões da classeω j .

Classificador de Distância Minima

Suponha que cada classe de padrões seja representado por um vetor protótipo, Eq. 2.5,

e queNj é o número de vetores padrão da classeω j .

mmmj =1Nj

∑xxx∈ω j

xxx; j = 1,2, ...,M (2.5)

Uma maneira de definir a pertinência de um vetorxxx de padrões desconhecido é atribuí-

lo a classe de seu protótipo mais próximo. A distância Euclidiana pode ser usada para

determinar a proximidade, reduzindo o problema à computação das distâncias:

D j(xxx)‖xxx−mmmj‖; j = 1,2, ...,M (2.6)

em que‖aaa‖= (aaaTaaa)1/2 é a norma euclidiana. Atribuímos, então,xxx à classeωi seDi(xxx)

for a menor distância.

A superfície de separação é a bisseção perpendicular do segmento de linha entre(mmmi e

mmmj). Paran = 2, a bisseção perpendicular é um linha, paran = 3 é um plano, e paran > 3

é chamada de hiperplano. A Figura 2.5 apresenta uma classificação de dois agrupamentos

por classificador de distância minima, para uma distribuição bidimensional de padrões, na

qual a superfície de separação é definida por uma reta.

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 16

Figura 2.5: Classificação pela menor distância.

Na prática, o classificador de mínima distância funciona bem para grande distâncias

entre as médias das classes, quando comparado a dispersão ou aleatoriedade de cada classe

em relação a sua média.

2.2 Controle de Manipuladores

Definida uma trajetória desejada para a ferramenta no espaço de trabalho, executá-la

requer que a mesma seja mapeada numa trajetória correspondente em espaço de junta.

Este mapeamento é chamadoControle Cinemático. A execução da trajetória especificada

em espaço de juntas é realizada pelos servos controladores existentes nas juntas, processo

determinadoControle Dinâmico.

2.2.1 Manipuladores

Manipulador é uma cadeia de elos conectados por meio de juntas que permitem o

movimento relativo dos elos vizinhos (Craig, 1989) para realização de uma tarefa. Para

obter uma medida de posição relativa entre elos vizinhos, As juntas podem possuir sen-

sores de posição. As juntas podem ser rotacionais, com o deslocamento dado em forma

deângulos de junta, ou prismáticas, com o movimento dado pordeslocamentos de junta.

Por fim, a ferramenta, geralmente colocada na extremidade do último elo. Ela é um dis-

positivo especializado para realizar uma determinada tarefa, por exemplo, pode ser uma

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 17

garra quando se deseja realizar deslocamento de objetos. A Figura 2.6 descreve as partes

de um manipulador.

Figura 2.6: Partes de um manipulador.

O número de variáveis de posição independentes que o manipulador possui para posi-

cionar a ferramenta é chamado de graus de liberdade. Usualmente os graus de liberdade

são definidos pelo número de juntas do manipulador. Se o número de graus de liberdade

for maior que o necessário para alcançar uma posição qualquer num espaço de trabalho

livre de obstáculos, o manipulador é dito redundante. Por exemplo, para um espaço de

trabalho tridimensional, são necessários seis graus de liberdade para alcançar objetivos

gerais(posição e orientação), um manipulador com sete graus de liberdade trabalhando

neste espaço, é definido como um manipulador redundante.

Cada elo é considerado como um corpo rígido que liga duas juntas vizinhas do manip-

ulador. Os elos são numerados a partir da base fixa do braço, que pode ser considerado o

elo zero. A primeira parte móvel recebe o número um, assim por diante, até o elon no qual

é posicionado a ferramenta. A numeração das juntas é realizada com base na numeração

dos elos correspondentes. Referenciais (frames) fixos nas juntas, são utilizados para obter

as medidas inerentes a junta e ao seu elo correspondente. Num espaço tridimensional, três

eixos ortogonais entre si, definem um referencial da seguinte forma:

• O eixoZi , do referenciali, coincide com o eixo da juntai;

• O eixoXi , do referenciali, coincide com o segmento de reta normal que liga o eixo

Zi ao eixoZi+1;

• O eixoYi , do referenciali, é obtido através da regra da mão direita sobre o eixoXi .

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 18

A Figura 2.7 mostra os referenciaisi−1 e i para um manipulador genérico, apresen-

tando alguns parâmetros que caracterizam os elos, que podem ser resumidos da seguinte

forma:

• ai é a distância entreZi eZi+1, medida sobre o eixoXi ;

• αi é o ângulo entreZi eZi+1, medido em torno do eixoXi ;

• di é a distância entreXi−1 eXi , medida sobre o eixoZi ;

• θi é o ângulo entreXi−1 eXi , medido em torno do eixoZi ;

Figura 2.7: Representação do eloi de um manipulador genérico.

2.2.2 Controle Cinemático

O estudo da cinemática trata do movimento sem levar em consideração as forças que

o causaram, referindo-se às propriedades geométricas e temporais do movimento.

O problema de controle cinemático pode ser dividido em dois. O primeiro é definido

por um problema geométrico estático de computar a posição e a orientação da ferramenta

do manipulador, denominadoCinemática Direta. A cinemática direta calcula a posição

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 19

e orientação da ferramenta, tendo como valores de entrada um conjunto de ângulos de

juntas, realizando o mapeamento da representação da posição do manipulador em espaço

de juntas para uma representação em espaço cartesiano.

Este mapeamento pode ser generalizado para cada elo usando os parâmetros dos elos,

desta forma, o problema cinemático é subdividido emn problemas menores, onden é o

número de elos. Estes subproblemas podem ser representados por uma matriz de trans-

formação genérica, Eq. 2.7, que descreve a localização d eloi em relação ao eloi−1.

i−1i T =

cosθi −sinθi 0 ai−1

sinθi cosαi−1 cosθi cosαi−1 −sinαi−1 −sinαi−1di

sinθi sinαi−1 cosθi sinαi−1 cosαi−1 cosαi−1di

0 0 0 1

(2.7)

Uma vez encontradas as matrizesT para osn elos, elas podem ser combinadas para

obter a localização da ferramenta, referida à base.

0nT =0

1 T12 T · · ·n−1

n T (2.8)

O segundo problema é definido quando se precisa calcular todo o conjunto de pos-

síveis ângulos de juntas, para uma determinada posição e orientação da ferramenta do ma-

nipulador, denominadoCinemática Inversa. O problema de cinemática inversa não é tão

simples quanto da cinemática direta, pois, a resolução do problema passa pela resolução

de equações não-lineares, bem como, a questão da existência ou não de uma solução, de

múltiplas ou infinitas soluções. A falta de uma solução significa que o manipulador não

pode alcançar a posição e orientação desejada porque ele fica fora do espaço de trabalho

do manipulador.

O controle cinemático, em resumo, é um problema de mapeamento entre espaços

distintos, onde se quer obter a relação existente entre espaço de juntas e espaço cartesiano.

Uma das formas mais utilizadas para realizar o mapeamento é através de uma matriz que

contém características intrínsecas ao robô a ser controlado, esta matriz é conhecida como

Jacobiano(Craig, 1989). Para aplicações em cinemática direta, onde as variações dos

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 20

ângulos de junta são conhecidos O Jacobiano é utilizado para obter posição e orientação

referentes a esse ângulos da seguinte forma:

XXX = JJJ(θθθ)θθθ (2.9)

Em poucas palavras, num instante qualquer para um certo valor deθθθ, o Jacobiano

define uma transformação linearJ(θθθ) que mapeia a velocidade emXXX.

Para o problema de cinemática inversa, posição e orientação em espaço cartesiano são

conhecidas, deve-se então, calcular apropriadamente os ângulos a serem aplicados aos

atuadores para alcançar a pose3 desejada. A resolução deste problema pode ser obtido a

partir da Eq. 2.9, sendo necessário a inversão do Jacobiano.

θθθ = JJJ(θθθ)−1XXX (2.10)

Dependendo do robô a ser manipulado a cinemática inversa pode ter nenhuma, uma

ou múltiplas soluções.

2.2.3 Controle Dinâmico

Na dinâmica são estudas as forças que causam movimento. No controle dinâmico

um conjunto complexo de funções de torque são aplicadas aos atuadores, para realizar

tarefas como acelerar um manipulador, mover a ferramenta numa velocidade constante e

finalmente desacelerar até parar. As funções de torque dependem de atributos espaciais e

temporais do caminho a ser realizado pela ferramenta, bem como da massa e da carga útil

do elo, atrito nas juntas, etc. Um método de controle que permite executar um caminho

desejado, geralmente utiliza equações dinâmicas para o cálculo dessas funções de torque.

Um segundo uso das equações dinâmicas de movimento é na simulação. As equações

podem ser reformuladas de forma a ser possível simular a resposta dinâmica do manipu-

lador à aplicação de um conjunto torques.

Esta seção foi aqui descrita apenas em caráter ilustrativo, visto que este problema não

será abordado nesta dissertação, pois os atuadores utilizados já possuem este controle.

3Pose é o conjunto de informações que descrevem a configuração do robô no ambiente de tra-

balho(posição e orientação).

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 21

2.2.4 Geração de Trajetória

Trajetória da ferramenta é uma curva geométrica em função do tempo, percorrida pela

mesma entre dois pontos de forma suave e controlada, devido ao movimento relativo entre

cada elo do manipulador. A Figura 2.8 mostra um exemplo de trajetória. Comumente cada

junta inicia e termina seu movimento ao mesmo tempo, em um movimento coordenado.

O cálculo das funções responsáveis por este movimento define o problema de geração de

trajetória.

Uma trajetória pode ser descrita por etapas, passando por objetivos intermediários,

até atingir o destino desejado. Curvas suaves tiposplinesão usadas freqüentemente para

especificar o caminho que passa pelos objetivos intermediários.

Figura 2.8: Exemplo de trajetória.

Existe uma grande variedade de modos de geração e planejamento de trajetórias. Elas

podem ser caracterizadas pelo espaço em que elas são geradas. Assim, existem os esque-

mas de geração em espaço de juntas e os esquemas de geração em espaço cartesiano.

Nos esquema de geração em espaço de juntas, são considerados métodos de geração

de trajetórias em que a forma da trajetória é descrita em função dos ângulos de juntas. A

posição inicial e final são especficadas em espaço cartesiano e convertidas para espaço de

juntas através da cinemática inversa. A seguir, a trajetória, em termos de ângulos de junta,

é obtida por meio de alguma função de interpolação adequada entre estes extremos.

Os esquemas em espaço de juntas alcançam a posição e orientação dos pontos da tra-

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 22

jetória desejada, através de um cálculo de baixa complexidade para a trajetória em espaço

de juntas, e de não ocorrer problemas relativos a singularidades, mas para que a posição e

a orientação sejam alcançados com precisão é necessário uma boa definição do modelo do

manipulador usado no cálculo da cinemática inversa. Trajetórias computadas em espaço

de juntas, tem formas complicadas que dependem da cinemática do manipulador usado.

Nos esquemas de geração em espaço cartesiano, a forma da trajetória é descrita por

funções que calculam a posição e orientação variando no tempo representadas em es-

paço cartesiano. Desta maneira, a forma espacial da trajetória pode ser especificada por

uma linha reta, por formas circulares, senoidais, entre outras. Cada ponto da trajetória

é geralmente especificado em termos da posição e orientação desejada do referencial da

ferramenta relativo a base, os pontos são ligados por funções quem variam no tempo em

espaço cartesiano. Entretanto, esquemas cartesianos são mais caros computacionalmente,

a cinemática inversa deve ser resolvida a cada atualização da trajetória. Com a trajetória

gerada em espaço cartesiano, é feito o cálculo da cinemática inversa para obter os ângulos

de junta desejados. As trajetórias cartesianas são propensas a vários problemas, como:

• Pontos intermediários não podem ser alcançados:Pontos intermediários da tra-

jetória podem estar fora do espaço de trabalho, como o mostrado na Fig. 2.9;

Figura 2.9: Pontos não alcançáveis em uma trajetória.

• Altas velocidades de junta próximo da singularidade:A velocidade de uma ou

mais juntas podem tender ao infinito quando próximo de uma singularidade, como

o mostrado em Fig. 2.10. Isto pode ser resolvido limitando a velocidade das juntas,

está situação usualmente resulta num desvio da trajetória desejada;

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 23

Figura 2.10: Problema da proximidade a uma singularidade.

• Início e objetivo alcançável em diferentes soluções:Um manipulador planar com

dois elos de igual tamanho com restrições ao movimento das juntas, tais como,

obstáculos como o mostrado em Fig. 2.11, limitando o número de soluções com as

quais ele pode alcançar um dado ponto no espaço. Um problema surge se o objetivo

não pode ser alcançado pela mesma solução aplicada ao ponto de início.

Figura 2.11: Trajetória alcançável em diferentes soluções.

2.3 Realimentação Visual

Controle com realimentação visual (Visual Servoing) é a fusão de diversas áreas de

conhecimento, incluindo processamento de imagem, cinemática, dinâmica, teoria de con-

trole e computação em tempo real. Muito dos problemas da visão computacional usada

para fins de controle são similares aos encontrados pelos pesquisadores de visão ativa que

trabalham com "cabeças robóticas", mas as tarefas realizadas são diferente, a visão ativa

apenas observa o ambiente, o controle usa a visão para controlar um robô presente no

ambiente.

O controle com realimentação visual utiliza o processamento de imagens para obter

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 24

características da imagem de um robô, de modo a utilizar essa informação no controle do

mesmo. A seguir algumas características básicas que definem as formas de utilização da

realimentação visual.

Na década de oitenta foi introduzida uma classificação de sistemas servo visuais,

baseada em quatro grandes categorias (Hutchinson et al., 1996). Para uma arquitetura

de controle é hierárquica que usa o sistema de visão para obter entradas para o controle

em nível de junta, fazendo desta forma uso da realimentação de junta para estabilizar o

robô internamente, a arquitetura é denominada de sistema dinâmico olhe-e-mova (look-

and-move). O controle servo visual direto substitui o controlador inteiramente pela servo

visão, calculando diretamente os valores aplicados as juntas, deste modo apenas a visão é

usada para estabilizar o manipulador.

Por várias razões, a maioria dos sistemas implementados adotam a abordagem dinâmica

olhe-e-mova. A taxa de amostragem da visão é relativamente baixa fazendo com que o

controle servo visual direto da ferramenta do robô seja complexo, devido a uma dinâmica

não linear. Muitos robôs já tem interface que aceita comandos de velocidades cartesianas

ou incrementos de posição. A abordagem olhe-e-mova separa as singularidades do con-

trolador visual, permitindo que o robô seja considerado como um equipamento ideal de

movimento cartesiano.

Continuando a classificação dos controladores com realimentação visual eles podem

ser diferenciados pela forma que utilizam a imagem: controle baseado em posição e con-

trole baseado em imagem. No controle baseado em posição, características são extraídas

da imagem e usadas em conjunto com um modelo geométrico do objetivo e com o modelo

conhecido da câmera para estimar a pose do alvo com respeito a câmera. Usando estes

valores um erro entre a pose atual e a desejada do robô é definida no espaço de trabalho.

Desta forma, o controle baseado em posição simplesmente separa o resultado de controle,

isto é o calculo do sinal de realimentação, do problema de estimativa existente no cálculo

da posição ou pose dos dados visuais colhidos. Os sistemas baseados em posição estão

caracterizados nos diagramas presentes em Fig. 2.12 e em Fig. 2.13.

No controle baseado em imagem, os valores de controle são calculados diretamente

das características da imagem. Esta abordagem pode reduzir o atraso computacional,

eliminando a necessidade de interpretação de imagem e eliminando erros devido a mod-

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 25

Figura 2.12: Estrutura de controle dinâmico olhe-e-mova baseado em posição.

Figura 2.13: Estrutura de controle servo visão direta baseado em posição.

elagem do sensor e calibração da câmera. Entretanto, como a planta é não linear e é

altamente acoplada, o projeto de controle torna-se complexo. Os sistemas baseados em

imagem estão caracterizados nos diagramas presentes em Fig. 2.14 e em Fig. 2.15.

Figura 2.14: Estrutura de controle dinâmico olhe-e-mova baseado em imagem.

2.4 Conclusão

As técnicas e teorias descritas neste capítulo fornecem uma base teórica para uma mel-

hor compreensão do capítulo seguinte, onde será apresentado como o sistema de controle

com realimentação visual foi implementado.

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 26

Figura 2.15: Estrutura de controle servo visão direta baseado em imagem.

Capítulo 3

Sistema Proposto

3.1 Introdução

O sistema proposto nesta dissertação é um esquema de controle servo-visual do tipo

olhe-e-mova baseado em imagem, aplicado a um manipulador redundante planar de qua-

tro graus de liberdade. Para realimentar o controlador é utilizado um sistema de visão que

mede posição e orientação de cada elo do manipulador, fornecendo estes valores para o

controle na forma de uma pose medida do robô na configuração atual.

O controle é responsável por comparar os valores obtidos através do sistema de visão

computacional a uma pose de referência obtida a partir de uma imagem desejada. Baseado

na diferença entre as poses, um controlador cinemático gera os ângulos de referência de

junta a serem aplicados nos servo controladores dos atuadores, visando a diminuição da

diferença entre a imagem capturada e a imagem desejada. A Figura 3.1 ilustra o fluxo de

informação do sistema proposto.

Figura 3.1: Diagrama de blocos para o sistema.

27

CAPÍTULO 3. SISTEMA PROPOSTO 28

3.2 Manipulador Redundante Planar

O manipulador redundante, objeto desta dissertação, é um sistema composto por qua-

tro elos rígidos e quatro juntas de revolução, onde na extremidade do último elo fixa-se

a ferramenta, podendo realizar apenas trajetórias planares. Sobre as juntas e ferramenta

foram colocados rótulos circulares coloridos, utilizados no sistema de visão.

O espaço de trabalho é o volume de espaço alcançável pela ferramenta do manipu-

lador (Craig, 1989). Para o manipulador utilizado nesta dissertação, o espaço de trabalho

está contido em um plano bidimensional com algumas restrições impostas pelo tipo de

atuador usado e pelos limites das juntas. O Apêndice A contem maiores detalhes sobre

a estrutura do manipulador. Os limites do espaço de trabalho do robô utilizado estão

apresentados na Fig. 3.2.

Figura 3.2: Espaço de trabalho para o manipulador utilizado.

3.3 Sistema de Visão

No sistema de visão proposto a aquisição de imagens é feita utilizando uma câmera

CCD (Charged Coupled Device)colorida, que transforma a informação ótica em sinal

elétrico. Esse sinal é digitalizado por uma placa de aquisição de imagens, que fornece

ao sistema de processamento uma representação matricial da imagem, disponível em dois

modelos de cores, RGB ou HSL. Essas matrizes são armazenadas por um computador

pessoal que é responsável pelo processamento da imagem.

A imagem digital adquirida é uma imagem colorida de 360×360pixels. Cadapixel

é representado por 32 bits arranjados em grupos de 8 bits, onde três grupos de 8 bits são

CAPÍTULO 3. SISTEMA PROPOSTO 29

utilizados na caracterização dopixel, o grupo restante é preenchido por zeros não sendo

utilizado na representação. Os valores tomados por esses grupos depende do modelo

de cor adotado. A câmera foi posicionada perpendicularmente ao espaço de trabalho a

aproximadamente dois metros de altura, produzindo uma imagem livre de perspectivas do

robô e do seu espaço de trabalho. A Figura 3.3 é um exemplo de imagem adquirida.

Figura 3.3: Exemplo de imagem captada.

O pixel é a unidade de análise, ou padrão, para o sistema implementado. O padrão é

um vetor formado pelas três componente primárias de cor.

CCC =

r

g

b

; ou CCC =

h

s

l

(3.1)

O tratamento da imagem adquirida se dá em dois momentos distintos. Num primeiro

momento é feito uma calibração do sistema para estabelecer parâmetros ótimos que per-

mitem a classificação precisa dos pixels. Isto é feito considerando as variações das

condições de iluminação de cada ambiente onde o sistema venha a ser usado, tornando o

sistema robusto frente a suas variações. Com os dados da calibração o sistema pode re-

alizar de maneira confiável, a segunda fase do processamento, que consiste na localização

e reconhecimento dos objetos na cena adquirida. O diagrama contido em Fig. 3.4, ilustra

a seqüência de processamentos descritos acima.

CAPÍTULO 3. SISTEMA PROPOSTO 30

Figura 3.4: Diagrama detalhado do sistema de visão proposto.

3.3.1 Rotulação

Rótulos circulares coloridos de dois centímetros de raio, foram dispostos sobre os

eixos das juntas e sobre a extremidade do último elo do robô(ferramenta). Os rótulos são

usados no processamento de imagens, tanto na calibração quanto no processo de localiza-

ção.

A Figura 3.3 ilustra o espaço de trabalho, que é caracterizado por um fundo preto,

pelos elos do manipulador, que tem sua cor próxima da branca e pelos rótulos. Com

base nas características do ambiente é definido o modelo de cor utilizado. O digitalizador

empregado pode trabalhar com os modelos RGB e HSL. No espaço de trabalho há uma

predominância das cores preto e branco, o que leva a um processamento de imagem mais

complexo quando utilizado o modelo HSL (Aires, 2001), visto que a componenteH não

é bem definida para estas cores, o que resultou na adoção do modelo RGB.

Para otimizar a execução dos algoritmos de calibração e localização é necessário que

CAPÍTULO 3. SISTEMA PROPOSTO 31

as cores escolhidas para os rótulos estejam o mais distante possível uma das outras no

subespaço RGB. Por este motivo as cores escolhidas para os rótulos foram: vermelho,

verde, azul, amarelo e magenta, como o mostrado no cubo que define o modelo RGB de

cores em Fig. 2.3.

3.3.2 Processo de Calibração de Cores

A calibração de cores consiste na sintonia do sistema de visão através do ajuste de

parâmetros que definem as diferentes classes de cores, de modo a garantir uma classifi-

cação ótima dos objetos nas condições correntes de iluminação. No presente trabalho,

a calibração é um processo automático realizadooff-line, isto é, com o sistema fora de

operação.

O processo de calibração é realizado em duas etapas. Na primeira, realizado manual-

mente, o usuário informa ao sistema alguns parâmetros, tais como diâmetro e tamanho dos

rótulos, limites da área vista pela câmera (empixelse centímetros), bem como a altura da

câmera em relação ao plano de trabalho. Alguns ajustes no sistema câmera/digitalizador

também são necessários, tais como foco, brilho, saturação, contraste, freqüência da placa

de aquisição de imagens.

A segunda etapa da calibração consiste no ajuste dos parâmetros utilizados na classi-

ficação das cores. A classificação de cores consiste no cálculo da distância entre opixel

a ser classificado e cada centro que caracterizam as classes. Um pixel pertence a classe

a qual está mais próximo. Nesta dissertação é utilizada a distância Euclidiana em três

dimensões, onde as dimensões são definidas pela componentes de cores RGB dospixels.

O esquema de calibração adotado, faz uso do algoritmoK-means, técnica de agrupa-

mento de padrões semelhantes emclusters(classes). OK-meansé baseado em heurística,

eficiente e de rápida convergência (Jain, 1989). Para o funcionamento do algoritmoK-

meansé necessário definir o número de centros, que é o mesmo número de grupos dese-

jáveis, dar valores iniciais a estes centros, e por fim, definir ospixelsda imagem capturada

como padrões de entrada.

O procedimento de calibração começa pela captura de uma pose do manipulador. A

partir da pose capturada os centros são iniciados. Isto é feito manualmente, para os centros

CAPÍTULO 3. SISTEMA PROPOSTO 32

associados aos cinco rótulos e ao elo do manipulador, o usuário, utilizando omouse,

seleciona pequenas áreas sobre os rótulos e o elo, após seleção é calculado o valor médio

dos pixels dessa área, esta média é o valor inicial do centro. O centro associado ao fundo é

inicializado pela cor preta, os centros das demais classes são inicializados aleatoriamente.

O algoritmoK-meanstem seu início com o cálculo da distância entre umpixel qual-

quer da imagem e cada centro. O centro mais próximo do padrão de entrada classifica

o padrão. Feito isto para todos os padrões, os centros são atualizados pela média dos

padrões pertencentes a cada grupo. O algoritmo termina sua execução, caso não ocorra

mais deslocamento do centros entre a iteração atual e a passada. O algoritmo implemen-

tado é formulado da seguinte maneira:

Passo 1 -Inicialize osK centros(w1, ...,wk);

Passo 2 -Associe cada centrow j a uma classe distintaCj ;

Passo 3 -Para cada padrão de entradapi , calcule a distância entre o padrãopi e cada

um dos centrosw j ;

Passo 4 -Classifique o padrãopi como pertencente a classeCj do centrow j mais pró-

ximo;

Passo 5 -Atualize os centros pela média dos padrões pertencentes a cada classe;

Passo 6 -Calcule a função erro:

erro =k

∑j =1

∑pi ∈Cj

| pi −w j | (3.2)

Passo 7 -Caso o erro seja menor que uma dada tolerância, pare o algoritmo, caso con-

trário retorne ao passo 3.

O número de centros deve ser maior que o número de cores a serem classificadas.

Na presente aplicação, têm-se cinco centros associados aos rótulos, um centro para cor

de fundo (preto), um centro para a cor branca presente nos elos do manipulador, e mais

três classes para elementos espúrios, totalizando dez classes. Desta maneira, para uma

boa definição das classes, adotou-se um número de vinte centros para a aplicação do

algoritmoK-meansà presente classificação. No algoritmoK-meanspadrão, o valor inicial

dos centros é dado por valores aleatórios (Haykin, 2000), mas devido a que o ambiente de

CAPÍTULO 3. SISTEMA PROPOSTO 33

trabalho é estruturado e previamente conhecido, os valores iniciais dos centros podem ser

definidos próximos dos valores desejados, o que permite acelerar a convergência.

O algoritmoK-meansproduz como resultado os vinte centros de cores e as classes

associadas aos mesmos. Dentre os vinte centros produzidos, cinco são escolhidos para

classificar os rótulos, um para classificar a cor preta do fundo, uma para classificar a cor

branca dos elos do robô e mais três para classificar pixels espúrios. Esta escolha é feita de

acordo com a menor distância em relação às cores padrões escolhidas para os objetos no

ambiente de trabalho. Para a obtenção de um resultado ótimo com oK-means, é necessário

uma boa distinção entre as classes, para isso, as cores dos rótulos são escolhidas o mais

distante possível umas das outras.

3.3.3 Localização

O processo de localização de um rótulo é realizado em duas etapas distintas: varredura

da imagem e cálculo do centróide. O procedimento de varredura visa encontrar de modo

eficiente, dentro da imagem, um pixel pertencente a um rótulo procurado. A varredura

consiste na análise de uma pequena fração de pixels escolhidos dentro de uma área da

imagem na qual há grande probabilidade de encontrar um rótulo. No caso do rótulo da

base, que é fixo no espaço de trabalho, a área é um retângulo definido pelo usuário, para

os outros rótulos, a área de varredura é definida por uma coroa circular centrada no ró-

tulo precedente na cadeia cinemática. Dois procedimentos diferentes de varredura foram

utilizados: seqüencial e aleatório (Martins e Dias, 2001). No procedimento seqüencial,

os pixels são escolhidos dentro da área de varredura a intervalos regulares, estes inter-

valos estão expostos com mais detalhes no capítulo 4, na seção 4.3.2. No procedimento

aleatório, os pixels são escolhidos aleatoriamente na área de varredura.

Figura 3.5: Áreas de varredura.

CAPÍTULO 3. SISTEMA PROPOSTO 34

A segunda etapa do processo de localização consiste no cálculo da posição do cen-

tróide do rótulo. O centróide é um pixel próximo ou no centro da imagem do rótulo,

esta possível diferença entre a posição do centro e do centróide se deve a digitalização da

imagem. Na imagem capturada, o rótulo é um conjunto de pixels conectados, pequenos

quadrados que tendem a formar uma circunferência. O calculo do centróide é realizado

eficientemente a partir da análise de um pequeno número depixelsconectados aopixel

encontrado pelo processo de varredura. O algoritmo para o cálculo do centróide procede

da seguinte forma:

Passo 1 -Dado o pixelPini encontrado na varredura, trace um segmento de reta hori-

zontal até os limitesP1 eP2 do rótulo;

Passo 2 -De posse dos limites calcule o ponto centralPch do segmento de reta;

Passo 3 -A partir do ponto centralPch, trace um segmento de reta vertical, até os limites

P3 eP4 do rótulo;

Passo 4 -De posse desses novos limites calcule o ponto centralPc desta reta;

Passo 5 -O ponto centralPc calculado no passo anterior define o centróide do rótulo.

Pc =(

∑xiNx

, ∑yiNy

); (xi ,yi) ∈C (3.3)

A figura 3.6 ilustra o algoritmo de cálculo do centróide descrito.

Figura 3.6: Algoritmo de cálculo do centróide.

Devido ao processo de digitalização da imagem, a posição do centro do rótulo pode

CAPÍTULO 3. SISTEMA PROPOSTO 35

diferir do centróide caso uma ou as duas retas tenham um número par pixels ou caso ocorra

alguma pequena deformação na imagem adquirida, a figura 3.7 ilustra estas situações.

Figura 3.7: Diferenças entre a posição do centro e a do centróide.

A localização pode ser vista de duas formas distintas. A primeira, realizada com

o sistema de controle fora de operação, localizando o primeiro rótulo, situado sobre a

junta da base. Manualmente, através domouseou de coordenadas dadas pelo usuário

via teclado, é demarcada uma pequena região da imagem que contém o primeiro rótulo.

Dentro dessa região procura-se por um pixel com a cor do rótulo da base definida na

calibração. Ao encontrar o pixel procede-se o cálculo do centróide.

A segunda realiza a localização dos demais rótulos. O primeiro rótulo sobre a junta

da base já tem sua localização conhecida, a distância entre os centros dos rótulos também

é conhecida. Com base nestes valores é demarcada uma área de varredura no formato de

coroa circular de raio igual ao comprimento do elo, em torno do centróide conhecido. O

algoritmo para esta varredura é dado por:

Passo 1 -Definir como centróide atual, o centróide encontrado para o rótulo da basePc;

Passo 2 -Definir centróide atual como centro da varredura e o rótulo a ser encontrado;

Passo 3 -Calcular do pontoPt pertencente a coroa circular a ser testado;

Passo 4 -Testar se o pontoPt pertence ao rótulo, caso não pertença retorne aoPasso 3;

Passo 5 -Encontrado o novo rótulo, calcular o centróidePcn;

Passo 6 -Atualizar o pontoPc com o valor dePcn;

Passo 7 -Se todos os rótulos tiverem sido encontrados fim da localização, caso con-

trário continuar a varredura retornando ao passo 2.

CAPÍTULO 3. SISTEMA PROPOSTO 36

A figura 3.8 ilustra o algoritmo descrito.

Figura 3.8: Algoritmo de localização dos rótulos.

3.4 Sistema de Controle

Esta seção descreve o sistema de controle implementado. Ele utiliza as posições ex-

traídas da pose captada pelo sistema de visão, comparando-as as posições da pose de

referência obtida a partir da imagem desejada. A pose de referência é fornecida pelo pro-

cedimento de geração de trajetória. Baseado nesta comparação é realizado o cálculo para

obtenção dos ângulos de juntas a serem aplicados ao manipulador. A Figura 3.9 apresenta

a estrutura do sistema de controle.

Figura 3.9: Diagrama detalhado do sistema de controle proposto.

CAPÍTULO 3. SISTEMA PROPOSTO 37

3.4.1 Geração de Trajetória

A geração de trajetória fornece o caminho a ser percorrido, geralmente, pela ferra-

menta do manipulador. No trabalho apresentado nesta dissertação, o controle é realizado

sobre cada elo do manipulador, expandindo o problema da geração de trajetória a cada elo

e não apenas à ferramenta.

Para efeito de testes de controle, as trajetórias utilizadas foram geradas manualmente.

A geração foi feita levando o manipulador redundante até uma posição qualquer, durante

este percurso foram captadas e armazenadas as posições dos rótulos, resultando numa

trajetória composta por vários pontos entre uma posição final e uma inicial.

3.4.2 Controle Cinemático

O sistema de controle proposto para o manipulador redundante apresentado nesta dis-

sertação, calcula apropriadamente os ângulos de referência a serem aplicados aos atu-

adores para que seja possível a execução do movimento.

O sistema de controle é baseado na diferença entre poses: uma atual, adquirida a cada

instante pelo sistema de visão e uma pose de referência obtida a partir da imagem de-

sejada. Num primeiro instante o sistema conhece os valores das posições e orientação

da pose de referência e a pose atual obtida através do sistema de visão. O problema do

sistema de controle resume-se então a mapear a diferença entre poses, que está represen-

tada em espaço cartesiano numa representação em espaço de juntas.Este mapeamento é

estabelecido pela matriz Jacobiano do robô (Craig, 1989).

O propósito deste trabalho é realizar o controle não apenas da pose da ferramenta, mas

da pose do braço como um todo, ou seja, as posições de todos os rótulos. O cálculo do

Jacobiano é realizado com base na geometria do manipulador. A junta da base é utilizada

como referencial fixo, restando à calcular a posição dos três referenciais dos elos restantes

e a posição da ferramenta, que são dadas por:

xi = xi−1 +Li cos(i

∑j=1

θ j)

yi = yi−1 +Li sin(i

∑j=1

θ j) (3.4)

CAPÍTULO 3. SISTEMA PROPOSTO 38

onde(xi ,yi) representam as posições dos centróides dos rótulos.

Como o apresentado em tópicos anteriores, o ambiente de trabalho está contido num

plano, portanto, as posições são representadas por pares de coordenadas,(xi ,yi), ondei é

o número da junta que varia de um a quatro,θi é o ângulo da juntai, eLi é o comprimento

do eloi, como o mostrado em Fig. 3.10.

Figura 3.10: Descrição cinemática do manipulador.

Derivando a Equação 3.4, obtém-se:

xi = xi−1−Li sin(i

∑j=1

θ j) ·i

∑j=1

θ j

yi = yi−1 +Li cos(i

∑j=1

θ j) ·i

∑j=1

θ j (3.5)

onde,i = 1,2,3,4.

Assumindo que os elementos diferenciais são pequenos, a derivada pode ser aproxi-

mada por diferenças. A Equação 3.5 fica:

∆xi = ∆xi−1−Li sin(i

∑j=1

θ j) ·i

∑j=1

∆θ j

∆yi = ∆yi−1 +Li cos(i

∑j=1

θ j) ·i

∑j=1

∆θ j (3.6)

onde,∆xi = xi(t +∆t)−xi(t), ∆yi = yi(t +∆t)−yi(t).

CAPÍTULO 3. SISTEMA PROPOSTO 39

Adequando Eq. 3.6 a uma notação matricial:

∆PPPi = ∆PPPi−1 +

−Li sin(i

∑j=1

θ j) ·i

∑j=1

∆θ j

Li cos(i

∑j=1

θ j) ·i

∑j=1

∆θ j

(3.7)

Onde;

∆PPPi =

∆xi

∆yi

(3.8)

Agrupando numa única expressão matricial a Eq. 3.7 aplicada às quatro juntas, obtém-

se a relação entre pequenos incrementos em espaço de juntas e os correspondentes incre-

mentos em espaço cartesiano:

∆PPP = JJJ∆θθθ (3.9)

Onde:

∆PPP =

∆PPP1

∆PPP2

∆PPP3

∆PPP4

, ∆θθθ =

∆θ1

∆θ2

∆θ3

∆θ4

, JJJ =

JJJ11 000 000 000

JJJ21 JJJ22 000 000

JJJ31 JJJ32 JJJ33 000

JJJ41 JJJ42 JJJ43 JJJ44

(3.10)

e JJJ é a matriz de JacobianoJ8×4. Assim:

∆PPP1

∆PPP2

∆PPP3

∆PPP4

=

JJJ11 000 000 000

JJJ21 JJJ22 000 000

JJJ31 JJJ32 JJJ33 000

JJJ41 JJJ42 JJJ43 JJJ44

∆θ1

∆θ2

∆θ3

∆θ4

(3.11)

CAPÍTULO 3. SISTEMA PROPOSTO 40

OndeJJJi j e 000 são os vetores:

000 =

0

0

JJJi j =

j∑

i=1Li sin(

i∑

g=1θg)

j∑

i=1Li cos(

i∑

g=1θg)

(3.12)

No problema de controle cinemático abordado nesta dissertação, dado o incremento

desejado para a pose do robô∆PPP∗ = PPP∗−PPP, ondePPP∗ é a pose desejada ePPP é a pose

medida, é necessário calcular os incrementos de junta∆θθθ∗ que serão utilizados como

referência pelos controladores de junta. A partir de Eq. 3.9, têm-se:

∆PPP∗ = JJJ∆θθθ∗ (3.13)

A solução do controle cinemático passa pela inversão do Jacobiano para obter∆θθθ∗ em

função de∆PPP∗. Considerando que o Jacobiano não é uma matriz quadrada, devem ser

usadas técnicas de cálculo para obter a matriz pseudo-inversa do mesmo. A resolução de

Eq. 3.13 encerra o problema de controle cinemático.

JJJT∆PPP∗ = JJJTJJJ∆θθθ∗

∆θθθ∗ = (JJJTJJJ)−1JJJT∆PPP∗ (3.14)

3.4.3 Uso de Recursividade

Outra abordagem para resolver o problema de mapeamento descrito em Eq. 3.14,

baseia-se no uso da recursividade, onde o cálculo é feito para cada juntai individualmente,

aproveitando o fato de que o Jacobiano é uma matriz escalonada. Partindo de Eq. 3.7,

têm-se:

∆PPPi −∆PPPi−1 =

−Li sin(i

∑j=1

θ j)

Li cos(i

∑j=1

θ j)

·i

∑j=1

∆θ j (3.15)

CAPÍTULO 3. SISTEMA PROPOSTO 41

Agora, para cada junta está associado um Jacobiano:

JJJi =

−Li sin(i

∑j=1

θ j)

Li cos(i

∑j=1

θ j)

(3.16)

Aplicando Eq. 3.16 em Eq. 3.15, têm-se:

∆PPPi −∆PPPi−1 = JJJi ·i

∑j=1

∆θ j (3.17)

Desta forma ao invés de calcular a matriz pseudo-inversa para encontrar todos os ân-

gulos de junta, são calculadas matrizes pseudo-inversa para cada junta.

JJJTi ·

(∆PPPi −∆PPPi−1

)= JJJT

i JJJi ·i

∑j=1

∆θ j

i

∑j=1

∆θ j = (JJJTi JJJi)−1JJJT

i ·(

∆PPPi −∆PPPi−1

)(3.18)

Os valores∆θ j , onde j = 1, . . . , i−1, são conhecidos, com isso, Eq. 3.18 fica:

∆θi =(JJJT

i JJJi

)−1JJJT

i ·(

∆PPPi −∆PPPi−1

)−

i−1

∑j=1

∆θ j (3.19)

Semelhante ao que foi feito em Eq. 3.13, o incremento desejado para a pose do robô

∆PPP∗, é necessário calcular os incrementos de junta∆θθθ∗, modificando Eq. 3.19 da seguinte

forma:

∆θ∗i =(JJJT

i JJJi

)−1JJJT

i ·(

∆PPP∗i −∆PPP∗

i−1

)−

i−1

∑j=1

∆θ∗j (3.20)

Uma análise comparativa entre estas duas abordagens é feita no capítulo 4.

3.5 Conclusão

Este capítulo mostrou como as técnicas e teorias descritas no capítulo 2 foram apli-

cadas na construção do sistema proposto neste trabalho. O próximo capítulo descreve os

testes e os resultados obtidos para o sistema implementado.

Capítulo 4

Resultados

4.1 Introdução

Este capítulo apresenta uma análise de desempenho do sistema de controle proposto

com base em resultados experimentais. Inicialmente, foram testadas as rotinas do sistema

visão, em seguida, as abordagens de controle descritas no capítulo 3, por fim, o erro de

rastreamento de trajetória foi levantado experimentalmente e comparado com o esquema

de controle clássico.

4.2 Descrição do Sistema Experimental

Nos experimentos, foi utilizada uma câmera CCD KODO KC-512NT, trabalhando em

conjunto com a placa de aquisição de imagens PCI/PXITM 1411 da National InstrumentsTM.

A área da imagem captada tem dimensãoL×C, mostrada no esboço do ambiente de

trabalho apresentado na Fig. 4.1. A Tabela 4.1, contém Os valores deL eC utilizados nos

experimentos.

Tabela 4.1: Medidas do ambiente utilizado.

Centímetros pixels

L 104 360C 104 360A 250 —

42

CAPÍTULO 4. RESULTADOS 43

Figura 4.1: Esboço do ambiente.

Um sistema de referências com origem no centro da área de trabalho foi adotado. A

área pode ser dividida em quatro quadrantes, como mostra Fig. 4.2.

Figura 4.2: Quadrantes.

Nos experimentos foi utilizado um robô manipulador redundante planar de quatro

graus de liberdade com rótulos circulares coloridos sobre cada eixo de junta e sobre a

extremidade do último elo, movendo-se sobre um fundo preto. A câmera foi colocada a

uma alturaA perpendicular ao plano formado pela área captada. Foram utilizados dois

tipos de iluminação: A primeira, foi chamada de iluminação fria, pois destaca as cores

frias dos espectro (por exemplo, azul, verde). A iluminação fria foi composta por quatro

lâmpadas fluorescentes de 40 Watts cada. As lâmpadas foram colocadas a aproximada-

mente 210 centímetros do centro em direção ao canto superior esquerdo do quadrante II,

a 260 centímetros de altura do plano da imagem captada.

A outra iluminação é denominada de iluminação quente, pois destaca as cores ditas

CAPÍTULO 4. RESULTADOS 44

quentes do espectro de cores (por exemplo, vermelho, amarelo). Ela é composta por oito

refletores com lâmpadas de halogênio de 150 Watts cada, dispostas ao redor do plano da

imagem captada, a alturaA, tendo desta forma uma iluminação praticamente uniforme. A

Figura 4.3 mostra a estrutura de fixação da iluminação quente e da câmera.

Figura 4.3: Estrutura de sustentação da iluminação quente e câmera.

Os experimentos sobre o sistema de visão, foram realizados num computador pessoal

PentiumIIITM 800MHz e 128MB de memória RAM. Já os experimentos sobre o controle

utilizando realimentação visual, foram realizados num computador pessoal PentiumIIITM

500MHz e 128MB de memória RAM.

4.3 Rotinas do Sistema de Visão

4.3.1 Calibração

O processo de calibração realiza o ajuste de cores para as diversas condições de ilumi-

nação que o sistema de visão está sujeito. O procedimento de calibração implementado

nesta dissertação, primeiramente capta uma pose do manipulador. A partir dela, os centros

são inicializados manualmente, como descrito na seção 3.3.2. Em seguida, é executado o

algoritmoK-meanspara o ajuste dos centros.

A Tabela 4.2, apresenta em linhas gerais o resultado de um processo de calibração. A

tabela contém uma descrição das classes, a classe associada a esta descrição, os centros

referidos a suas respectivas classes, sendo representados em componentes de cores do

modelo RGB. Por fim a quantidade depixelsdas classes resultante da calibração, essa

quantidade é necessária na escolha das classes depixelsespúrios.

Os centros são usados para classificar os pixels da imagem adquirida, através da menor

CAPÍTULO 4. RESULTADOS 45

Tabela 4.2: Resultado da calibração.

Descrição Classe R G B Número depixels

Rótulo 1 (base) Vermelha 178 83 80 219Rótulo 2 Magenta 212 128 150 172Rótulo 3 Azul 58 99 168 200Rótulo 4 Amarela 221 178 81 201

Rótulo 5 (ferramenta) Verde 98 166 93 177Elos Branca 183 190 189 680

Fundo do ambiente Preta 12 14 7 4046— Espúrio 31 31 26 21268— Espúrio 40 36 32 16573— Espúrio 31 39 42 15513

distância entre o centro da classe e o pixel da imagem. A Figura 4.4 apresenta a disposição

espacial dos agrupamentos de uma imagem classificada, onde os eixos representam as

cores primárias no modelo RGB. Na Figura 4.4, cada agrupamento é representado pela

cor formada por suas componentes RGB. O agrupamento mostrado em preto é composto

por quatro classes, a preta e as três classes de elementos espúrios.

Figura 4.4: Agrupamentos.

Os resultados apresentados em Tab. 4.2 e em Fig. 4.4 foram obtidos utilizando a

iluminação fria, a partir da imagem captada apresentada em Fig. 4.5. Estas condições

também foram utilizadas no experimento 1, descrito a seguir.

Para auxiliar na visualização os resultados obtidos nos experimentos de calibração,

foi adotado como metodologia a comparação dos rótulos classificados a rótulos padrão

CAPÍTULO 4. RESULTADOS 46

Figura 4.5: Imagem capturada.

da cor do centro da classe correspondente, obtidos pela transformação da área do rótulo

real de centímetros parapixels. A partir de uma imagem do ambiente de trabalho foram

calculadas as relações de transformação, apresentadas na Eq. 4.1.

Tcp(L) =L(pixels)

L(cm)≈ 3,46 e Tcp(C) =

C(pixels)C(cm)

≈ 3,46 (4.1)

Baseado nestes valores foi estimada a quantidade de pixels para o rótulo padrão (177

pixels). A comparação foi feita fazendo o centróide do padrão coincidir com o centróide

da imagem classificada. Isto delimita uma área de busca onde foram contados ospixels

diferentes aos do centro de cor da classe correspondente a cada rótulo. Esta metodologia

foi considerada, pois erros dentro dessa região resultam em perdas significativas no pro-

cedimento de localização. Os valores são apresentados para cada experimento em forma

de tabelas, que contém a quantidade de pixels classificados com erro para cada rótulo.

Experimento 1

Neste experimento, foram comparada duas imagens classificadas pela menor distân-

cia1 aos centros. Uma das imagens foi classificada utilizando os centros apresentados em

Tab. 4.2, a outra com os valores iniciais dos centros.

Este experimento mostra a necessidade do procedimento de calibração para uma boa

execução do sistema de visão. A Figura 4.6, mostra os rótulos classificados por centros

1Todas as classificações realizadas nesta seção são baseadas no método da menor distância.

CAPÍTULO 4. RESULTADOS 47

(a) Imagem capturada. (b) Imagem classificada.

Figura 4.6: Imagem classificada sem calibração.

com seus valores iniciais antes da execução do algoritmoK-means. Apesar da inicializa-

ção ser feita com valores da própria imagem captada, verifica-se na Fig. 4.6(b), quepixels

pertencentes aos rótulos são classificados de forma errada. Já os rótulos da Fig. 4.7(b),

foram classificados pelos centros obtidos através do procedimento de calibração, embora

ainda apresentem algumas deformações empixelspróximos à borda, não há comprome-

timento significativo do desempenho do sistema de visão. A Tabela 4.3 confirma estes

últimos comentários.

(a) Imagem capturada. (b) Imagem classificada.

Figura 4.7: Imagem classificada após calibração.

Experimento 2

A disposição da iluminação fria resulta em diferentes intensidades de luz no ambiente.

O quadrante II apresenta as maiores intensidades, enquanto que o quadrante IV apresenta

CAPÍTULO 4. RESULTADOS 48

Tabela 4.3: Erro de classificação para o experimento 1.

Rótulos Sem Calibração Com Calibração

1 (base) 11pixels 0 pixels2 28pixels 4 pixels3 10pixels 0 pixels4 2pixels 0 pixels

5 (ferramenta) 38pixels 0 pixels

as menores.

Com o manipulador colocado na posição mostrada em Fig. 4.8, o procedimento de

calibração foi executado. Os centros resultantes da calibração, contidos em Tab. 4.4,

foram utilizados para classificar os rótulos, o resultado está apresentado em Fig. 4.8(b).

(a) Imagem capturada. (b) Imagem classificada.

Figura 4.8: Manipulador na posicão de calibração.

Neste experimento foram capturadas quatro poses com o manipulador colocado em

cada quadrante do ambiente, em seguida, estas poses foram classificadas utilizando os

centros contidos em Tab. 4.4, obtendo estes resultados descritos a seguir.

Tabela 4.4: Centros resultantes da calibração.

Classe R G B Classe R G B

Vermelha 187 119 111 Branca 230 230 229Magenta 230 166 179 Preta 20 20 16

Azul 97 129 179 Espúrio 54 54 55Amarela 246 209 143 Espúrio 45 48 49Verde 142 185 134 Espúrio 62 62 63

CAPÍTULO 4. RESULTADOS 49

No quadrante I a intensidade é um pouco maior que a do ponto onde foi realizada a

calibração. Os rótulos magenta e amarelo, apresentampixelscom erros de classificação,

por serem poucos, esparsos e próximos da borda do rótulo, estes erros não comprometem

o sistema de visão.

(a) Imagem capturada. (b) Imagem classificada.

Figura 4.9: Manipulador no quadrante I.

O quadrante II apresenta as maiores intensidades de luz do ambiente, a quantidade de

pixelsclassificados de forma errada, compromete a classificação, não havendo mais uma

boa representação do rótulo, isto pode ser observado no rótulos magenta, amarelo e verde

em Fig. 4.10(b).

(a) Imagem capturada. (b) Imagem classificada.

Figura 4.10: Manipulador no quadrante II.

Devido a disposição da iluminação, o quadrante III e o quadrante I possuem intensi-

dades luminosas semelhantes, valendo os mesmos comentários que foram feitos anterior-

mente.

CAPÍTULO 4. RESULTADOS 50

(a) Imagem capturada. (b) Imagem classificada.

Figura 4.11: Manipulador no quadrante III.

O quadrante IV é o que apresenta menor intensidade de luz. Mesmo assim a classifi-

cação dos rótulos da imagem foi satisfatória, como pode ser observado em Fig. 4.12(b).

(a) Imagem capturada. (b) Imagem classificada.

Figura 4.12: Manipulador no quadrante IV.

Pela observação em Fig. 4.8, Fig. 4.9, Fig. 4.10, Fig. 4.12 e Tab.4.5, nota-se que

os pixelsconectados à borda, dos rótulos magenta e amarelo, são classificados em sua

maioria como vermelhos, isto se deve a iluminação e câmera utilizada na captura das

poses. Este erro não compromete os resultados esperados para o sistema de visão, pois o

erro está presente em praticamente toda borda.

Baseado nos resultados aqui obtidos, pode-se dizer que a calibração torna o sistema

robusto, quando se trata de pequenas variações de iluminação, mas deve-se tomar um

cuidado extra com a pose do manipulador utilizada no procedimento de calibração.

CAPÍTULO 4. RESULTADOS 51

Tabela 4.5: Erro de classificação para o experimento 2.

Rótulos Posição de Calibração Quadrante I Quadrante II Quadrante III Quadrante IV

1 (base) 0pixels 0 pixels 0 pixels 0 pixels 0 pixels2 3pixels 8 pixels 15pixels 3 pixels 1 pixels3 0pixels 0 pixels 0 pixels 0 pixels 0 pixels4 3pixels 8 pixels 75pixels 4 pixels 1 pixels

5 (ferramenta) 0pixels 3 pixels 26pixels 5 pixels 3 pixels

Experimento 3

De maneira diferente a do experimento anterior, que mostrou o comportamento da

classificação para pequenas variações de intensidade luminosa, o experimento descrito

nesta subseção visa ilustrar o comportamento da classificação para grandes variações de

luminosidade.

Neste teste foi utilizada a iluminação quente, pois a disposição das lâmpadas propicia

uma distribuição quase homogênea da luminosidade no ambiente. Primeiramente, foram

desligadas quatro das oito lâmpadas existentes, como o mostrado Fig. 4.13.

Figura 4.13: Iluminação a 50%.

Deste modo pode-se considerar que a iluminação fica a quase 50% da total. Para

esta iluminação é capturada a pose representada em Fig. 4.14(a), na qual é realizada a

calibração, resultando nos centros representados em Tab. 4.6.

A Figura 4.14(b) ilustra os rótulos classificados pelos centros de Tab. 4.6 a aproxi-

madamente 50% da iluminação.

A pose representada em Fig. 4.15(a) foi capturada com as oito lâmpadas funcionando,

mas ela foi classificada com os centros de Tab. 4.6.

A partir de Fig. 4.15(b) e da Tab. 4.7, pela observação dos rótulos classificados,

pode-se concluir que a calibração provê um processo de classificação mais robusto a pe-

CAPÍTULO 4. RESULTADOS 52

Tabela 4.6: Centros utilizados no experimento 3.

Classe R G B Classe R G B

Vermelha 204 125 117 Branca 241 244 243Magenta 236 173 173 Preta 8 8 8

Azul 90 110 151 Espúrio 47 47 45Amarela 239 212 145 Espúrio 40 42 41Verde 133 166 132 Espúrio 52 51 55

(a) Imagem capturada. (b) Imagem classificada.

Figura 4.14: Iluminação com quatro lâmpadas.

(a) Imagem capturada. (b) Imagem classificada.

Figura 4.15: Iluminação com oito lâmpadas.

quenas mudanças na iluminação do ambiente. Para grandes variações a classificação é

comprometida em todos os rótulos.

CAPÍTULO 4. RESULTADOS 53

Tabela 4.7: Erro de classificação para o experimento 3.

Rótulos Iluminação a 50% Iluminação total

1 (base) 1pixels 164pixels2 5pixels 160pixels3 0pixels 136pixels4 16pixels 143pixels

5 (ferramenta) 12pixels 128pixels

Experimento 4

O tipo de iluminação utilizada altera a percepção das cores pela câmera. Este ex-

perimento foi realizado para observar a influência da variação do tipo de iluminação na

classificação dos rótulos.

No primeiro momento, foi utilizada a iluminação fria, que reproduz melhor cores

como verde e azul. Para esta iluminação foi capturada uma pose, que foi utilizada no

procedimento de calibração. A Tabela 4.8 contém os centros resultantes da calibração.

Tabela 4.8: Centros utilizados no experimento 4.

Classe R G B Classe R G B

Vermelha 187 117 112 Branca 230 230 229Magenta 233 167 179 Preta 19 19 15

Azul 97 129 180 Espúrio 49 48 47Amarela 248 211 145 Espúrio 54 54 55Verde 141 186 134 Espúrio 41 44 44

A Figura 4.16(b) ilustra os rótulos classificados utilizando os centro de Tab. 4.8.

Substituindo a iluminação fria pela quente foi capturada uma nova pose do manipu-

lador. Essa pose foi classificada pelos mesmos centros utilizados acima, contidos em Tab.

4.8. A Figura 4.17(b), ilustra os rótulos classificados.

Pode-se concluir com este teste, pela observação de Fig. 4.16(b), Fig. 4.17(b) e Tab.

4.9, que apesar das diferentes características da iluminação, que modificam a reprodução

de cores, a classificação foi pouco comprometida. O erro presente na classificação de al-

gunspixelsdos rótulos vermelho, magenta e amarelo, em Fig.4.17(b), se deve a diferença

de intensidade luminosa presente nas iluminações utilizadas no experimento.

CAPÍTULO 4. RESULTADOS 54

(a) Imagem capturada. (b) Imagem classificada.

Figura 4.16: Iluminação fria.

(a) Imagem capturada. (b) Imagem classificada.

Figura 4.17: Iluminação quente.

Tabela 4.9: Erro de classificação para o experimento 4.

Rótulos Iluminação fria Iluminação quente

1 (base) 0pixels 4 pixels2 3pixels 9 pixels3 0pixels 0 pixels4 3pixels 23pixels

5 (ferramenta) 0pixels 2 pixels

4.3.2 Métodos de Varredura

O tempo de processamento é um dos pontos críticos para um sistema em tempo real

como o proposto. Na seção 3.3.3 foram propostos dois métodos de varredura, um seqüen-

cial e outro aleatório. A partir dos resultados do experimento apresentados nesta seção,

CAPÍTULO 4. RESULTADOS 55

foi feita uma análise comparativa do tempo de processamento dos dois métodos.

Para o método seqüencial, é necessário determinar um passo fixo entre ospixelstes-

tados na varredura. Para garantir que a varredura teste ao menos umpixel do rótulo, o

passo deve ser menor que o diâmetro do mesmo, que é de aproximadamente 14pixels. Na

varredura do rótulo da base, o espaçamento utilizado foi de cincopixelstanto na largura

quanto na altura, garantindo que em média setepixelsdo rótulo possam ser testados. Para

os rótulos restantes, onde a varredura é feita de forma circular, o espaçamento de cinco

graus foi aplicado, o que corresponde a um espaçamento de quatropixelsaproximada-

mente, garantindo que em média quatropixelsdo rótulo possam ser testados. No modo

aleatório, como o descrito na seção 3.3.3, testa-sepixelsde forma aleatória dentro da área

de varredura. As Figuras 4.18 e 4.19 ilustram as formas de varredura implementadas.

(a) Varredura aleatória. (b) Varredura seqüencial.

Figura 4.18: Tipos de varredura para o rótulo da base.

O experimento realizado, utilizou a área em forma coroa circular para localizar ape-

nas um rótulo. Primeiramente, o rótulo foi posicionado de forma aleatória sobre a coroa

circular, em seguida foram executadas as duas formas de varreduras separadamente, ar-

mazenando a quantidade depixelstestados até encontrar um pertencente ao rótulo. Para

justificar o uso da varredura aleatória foi necessário um estudo estatístico da média das

localizações para cada método, pois a comparação para eventos isolados é inconclusiva.

Para cada evento de localização, o rótulo é colocado aleatoriamente em uma nova

posição, então é calculada a média paran eventos de localização independentes entre si,

para cada método de varredura. Os resultados do experimento estão ilustrados nos gráficos

CAPÍTULO 4. RESULTADOS 56

(a) Varredura aleatória. (b) Varredura seqüencial.

Figura 4.19: Tipos de varredura para os rótulos restantes.

das Fig. 4.20 e 4.21.

Figura 4.20: Resultados comparativos das varreduras.

A Figura 4.21 é uma ampliação, para melhor visualizar os 100 primeiros eventos do

teste, quando a quantidaden de eventos é pequena, a varredura seqüencial pode ser mais

rápida que a aleatória.

Nas Figuras 4.20 e 4.21, a linha preta é definida pelo método de varredura seqüencial

e a vermelha pelo método de varredura aleatória. Pode-se concluir, que em média, uma

varredura aleatória é mais rápida para localizar o rótulo que uma varredura seqüencial. A

seção 4.3.4 dá uma noção do tempo gasto em milisegundos.

CAPÍTULO 4. RESULTADOS 57

Figura 4.21: Ampliação do gráfico da Fig. 4.20 para os 100 primeiros eventos.

4.3.3 Cálculo do Centróide

O sistema de visão é responsável pela obtenção da posição das juntas, isto é feito

calculando o centróide de seu respectivo rótulo. Para teste do cálculo do centróide, foi

captada a imagem de um rótulo amarelo com seu centro marcado em preto. Foi delimitada

uma área de varredura retangular, como a mostrada em Fig. 4.22(a). Utilizando o modo

de varredura aleatória. O cálculo do centróide foi realizado 10000 vezes, sendo efetuada

uma nova busca a cada cálculo. Foi obtido como resultado uma taxa de acerto de 56,24%

e o maior erro observado foi de um pixel, o que corresponde a 0,29 centímetros mostrado

na Fig. 4.22(b).

(a) (b)

Figura 4.22: Centróide.

CAPÍTULO 4. RESULTADOS 58

4.3.4 Localização

O processo de localização é a união da varredura e do cálculo do centróide. A base,

por ser fixa, é localizada de forma diferente dos demais rótulos, como o explicado na

seção 3.3.3. Para o caso do rótulo da base, foi necessário apenas testes de verificação da

precisão na localização do centróide, testes apresentados na seção 4.3.3.

O propósito do experimento descrito nesta seção é o de medir o tempo gasto no pro-

cesso de localização dos quatro rótulos restantes. Devido ao fato do método de varredura

aleatória ter sido escolhido para ser usado no sistema de visão (ver a seção 4.3.2), não

tem sentido medir o tempo de um único evento de localização, por isso é medido o tempo

médio para um número determinado de eventos.

O experimento repetiu a localização dos rótulos 100000 vezes. O tempo médio gasto

para localização foi de 2,11ms. A Figura 4.23 ilustra o resultado de uma localização.

Figura 4.23: Resultado da localização.

4.4 Geração de Trajetória

O procedimento de geração da trajetória utilizada nos testes de controle consiste em,

primeiramente, realizar o procedimento de calibração para o manipulador. De posse dos

centros resultantes da calibração, é feito com que o manipulador realize um movimento

controlado em malha aberta uma posição qualquer. A medida que o manipulador realiza

o movimento, o algoritmo de localização dos rótulos é executado para obter a posição dos

eixos das juntas. A pose é calculada para cada imagem capturada a intervalos de 33ms

aproximadamente, e armazenada em arquivo. A Figura 4.24(b) ilustra seqüência de poses

CAPÍTULO 4. RESULTADOS 59

obtidas. A primeira pose calculada é denominada de pose inicial e a última de pose final.

O caminho a ser percorrido pelo menipulador controlado é visto na Fig. 4.24(a).

(a) Trajetória gerada. (b) Detalhe de geração

Figura 4.24: Exemplo de trajetória.

4.5 Procedimentos de Teste e Análise do Controle

A partir de trajetórias previamente geradas, os algoritmos de controle proposto e con-

vencional, detalhados na seção 4.3.3 foram executados, e os erros de rastreamento foram

medidos para posterior análise comparativa.

4.5.1 Controle Clássico

O controlador convencional utiliza a informação obtida no evento anterior para atu-

alizar a pose atual do manipulador, o que torna o sistema suscetível a erros de modelagem.

O controlador foi implementado com base no Jacobiano descrito na seção 4.3.3. O ex-

perimento consiste em primeiramente calibrar os centros para uma imagem colhida do

ambiente, em seguida escolher uma das dez trajetórias de teste e, por fim, o algoritmo do

controlador clássico foi executado para rastrear a trajetória escolhida.

A cada iteração do algoritmo de controle foi armazenada a pose atual obtida pelo

sistema de visão. Os gráficos a seguir apresentam os resultados de controle definidos pela

CAPÍTULO 4. RESULTADOS 60

linha vermelha, enquanto que a linha preta define a trajetória de referência. A Figura 4.25

ilustra o resultado em espaço cartesiano.

Figura 4.25: Trajetória utilizada no experimento de controle convencioanl.

Em destaque para uma comparação do controle em tempo de execução foram obtidos

os demais gráficos desta seção. A Figura 4.26 ilustra o controle executado sobre a junta 1

da base para posicionar o rótulo magenta.

Figura 4.26: Controle de trajetória convencional para o rótulo magenta.

A Figura 4.27 ilustra o controle executado sobre a junta 2 da base para posicionar o

rótulo azul.

CAPÍTULO 4. RESULTADOS 61

Figura 4.27: Controle de trajetória convencional para o rótulo verde.

A Figura 4.28 ilustra o controle executado sobre a junta 3 da base para posicionar o

rótulo amarelo.

Figura 4.28: Controle de trajetória convencional para o rótulo amarelo.

A Figura 4.26 ilustra o controle executado sobre a junta 4 da base para posicionar o

rótulo verde.

CAPÍTULO 4. RESULTADOS 62

Figura 4.29: Controle de trajetória convencional para o rótulo verde.

4.5.2 Controle Proposto Utilizando a Pseudo-Inversa Direta

O controlador proposto utiliza a informação obtida do sistema de visão para atualizar

a pose atual do manipulador, esta informação é armazenada para contrução dos gráficos.

O experimento consiste em primeiramente calibrar os centros para uma imagem colhida

do ambiente, em seguida escolher uma das dez trajetórias de teste, por fim executar o

programa com o controlador proposto. A Figura 4.30 ilustra o resultado em espaço carte-

siano.

Figura 4.30: Trajetória utilizada no experimento do controle proposto.

Nos gráficos a linha vermelha define os resultados obtidos pelo controlador, enquanto

que a linha preta define a trajetória de referência. A Figura 4.31 ilustra o controle execu-

tado sobre a junta 1 da base para posicionar o rótulo magenta.

CAPÍTULO 4. RESULTADOS 63

Figura 4.31: Controle de trajetória proposto para o rótulo magenta.

A Figura 4.32 ilustra o controle executado sobre a junta 2 da base para posicionar o

rótulo azul.

Figura 4.32: Controle de trajetória proposto para o rótulo verde.

A Figura 4.33 ilustra o controle executado sobre a junta 3 da base para posicionar o

rótulo amarelo.

CAPÍTULO 4. RESULTADOS 64

Figura 4.33: Controle de trajetória proposto para o rótulo amarelo.

A Figura 4.34 ilustra o controle executado sobre a junta 4 da base para posicionar o

rótulo verde.

Figura 4.34: Controle de trajetória proposto para o rótulo verde.

CAPÍTULO 4. RESULTADOS 65

4.5.3 Controle Proposto Utilizando a Pseudo-Inversa Recursiva

Os resultados referentes a posição final alcançada pelo controlador são semelhantes

as obtidas pelo controlador direto. A intenção deste experimento foi de fazer o levanta-

mento do tempo de processamento gasto, para verificar se a implementação desta versão

da proposta seria interessante. Os testes comprovaram que esta abordagem tem um custo

computacional maior que o da proposta que utiliza a pseudo-inversa direta.

4.5.4 Análise Comparativa entre o Controle Clássico e o Proposto

Resultados semelhantes aos descritos nas seções 4.5.1 e 4.5.2 foram obtidos para dez

trajetórias diferentes. Com base nas poses armazenados foram calculados erros para com-

parar os métodos de controle.

Para obter um valor comparativo foi calculado a diferença entre a pose de referência e

a pose atual capturada, para cada posição(xi ,yi), ondei é o número do elo, isto pode ser

observado na Eq. 4.2.

ESi(k) =4

∑i=1

(x∗i −xi)2 +(y∗i −yi)2 (4.2)

A função erro é definida pela média do somatório das diferenças elevadas ao quadrado.

A equação do erro utilizado na comparação fica da seguinte forma:

ECmp=1n·

n

∑k=1

ESi(k) (4.3)

Baseado na Equação 4.3, foram obtidas as Tab. 4.10 e 4.11. A Tabela 4.10 mostra o

erro durante toda a execução do algoritmo de controle.

O objetivo principal do controle utilizando realimentação visual é melhorar a precisão

do sistema de controle. Para ilustrar o parâmetro precisão na comparação entre os méto-

dos, o erro foi calculado apenas para o tempo em que o sistema está em regime, resultando

em Tab. 4.11.

O erro definido neste tópico, dá uma noção do erro total do manipulador no espaço de

trabalho. Pode-se concluir que o sistema proposto é mais preciso que o controle conven-

CAPÍTULO 4. RESULTADOS 66

Tabela 4.10: Comparativo do erro total.

Trajetórias Controle Proposto Controle Clássico

01 14,6400 25,152002 17,7000 13,300003 14,7640 39,648004 10,8640 9,984005 11,6160 18,232006 12,6600 45,364007 48,7840 55,324008 22,9240 14,740009 12,6760 61,564010 9,0000 12,1920

Tabela 4.11: Comparação de erros de regime.

Trajetórias Controle Proposto Controle Clássico

01 4,6000 35,773302 9,2667 7,466703 0,8667 47,626704 2,1333 3,506705 3,7467 11,653306 1,4400 45,786707 4,2400 28,013308 1,2667 4,746709 5,9200 73,760010 10,9067 2,7600

cional, ressaltando que o modelagem para o controle convencional testado, foi uma boa

aproximação da realidade para a maioria das trajetórias testadas.

4.6 Conclusão

Este capítulo apresentou experimentos realizados para teste do sistema proposto. Os

testes foram realizados em duas linhas. Na primeira, foram testadas as diversas partes

componentes do sistema. Em seguida, foram realizados testes de desempenho do sistema

de controle e comparado ao sistema de controle convencional, chegando a resultados sat-

isfatórios.

Capítulo 5

Conclusões e Perspectivas

5.1 Conclusões

Nesta dissertação foram utilizados conhecimentos de diversas áreas para implementar

um sistema de controle realimentado por visão computacional aplicado a um manipu-

lador redundante planar. Descrevendo, primeiramente, todos os passos para obtenção da

informação de posição contida em uma imagem capturada do ambiente. Para isso foi

necessário gerar uma imagem pré-processada com apenas dez cores. A partir dessa im-

agem pré-processada a imagem foi segmentada para encontrar rótulos circulares coloridos

colocados sobre as juntas do manipulador. A partir da informação de onde está o rótulo foi

obtida o centróide do rótulo que foi utilizado como realimentação. Para comparar qual-

itativamente o controle proposto foi implementado um sistema de controle convencional

baseado em matriz pseudo-inversa.

Os resultados obtidos com o sistema de visão (ver a seção 4) mostraram a necessi-

dade de se realizar uma calibração de cores para um melhor desempenho na obtenção da

informação utilizada na realimentação. O algoritmoK-meansmostrou-se eficiente para

realizar o processo de calibração conseguindo agrupar de forma eficiente as características

principais da imagem adquirida. A comparação entre os métodos de varredura estudados,

mostrou que em média a varredura aleatória tem um tempo de processamento menor do

que o a varredura seqüêncial. Para encontrar a posição do centróide a abordagem apre-

sentada mostrou-se bastante eficiente com erro dados em milímetros.

A estratégia de controle proposta se mostrou capaz de reduzir erros de regime, obtendo

67

CAPÍTULO 5. CONCLUSÕES E PERSPECTIVAS 68

uma precisão satisfatória na tarefa de posicionar todos os elos do manipulador redundante.

Os resultados do controlador foram bem mais precisos quando comparado a um contro-

lado convencional, ressaltando que, este último tinha seus parâmetros de modelagem bem

definidos, o que lhe conferiam uma precisão relativamente boa. Outro ponto no qual o

controlador proposto se mostrou melhor, foi devido ao fato de se mostrar robusto a per-

tubações em regime, algo que não é previsto para o controlador convencional. Para o teste

relativo ao controlador que utiliza recursividade não foi alcançado o resultado esperado.

Em linhas gerais os resultados obtidos e apresentados neste documento foram satis-

fatórios atendendo as expectativas iniciais do projeto.

5.2 Perspectivas

A curto prazo existem algumas metas a serem alcançadas. Primeiramente, implemen-

tar um algoritmo ao processo de calibração que faça uma segmentação prévia da imagem

eliminandopixels pretos que constituem a maior parte da imagem. Implementar uma

heurística para verificar se há uma diminuição do custo computacional. Como proposta

inicial utilizar uma distribuição Gaussiana ao invés de normal no cálculo da varredura

aleatória. Verificar a viabilidade da aplicação do método da bisserção para encontrar a

borda do rótulo no cálculo do centróide. Realizar ajuste de parâmetros no sistema cont-

role proposto para otimizar sua execução.

A longo prazo, alterações estruturais como a mudança da posição da câmera em re-

lação ao robô. Atualmente a câmera é posicionada perpendicularmente ao plano definido

pelo espaço de trabalho, a mundaça de posição implica em imagens que representam um

espaço tridimensional, onde os elos variam de tamanho devido a perspectiva. Conferir

mais um grau de libertade ao manipulador, colocando-o sobre um robô móvel. Realizar

uma melhor geração de trajetórias prevendo a existência de obstáculos na área de trabalho.

Expandido as aplicações e campos de estudo para o manipulador.

Apêndice A

Manipulador Redundante

A.1 Estrutura

A estrutura do robô é bem simples, podendo ser abordada em duas frentes. A primeira

detalha a estrutura física do robô que é um manipulador planar de quatro juntas rota-

cionais. O elos foram confeccionados em alumínio, garantindo resistência e baixo peso.

A base do manipulador, a princípio também foi feita em alumínio, mas estão sendo feito

estudos para modificar a estrutura da base para dar mobilidade ao robô. As juntas foram

construídas sobre a estrutura dos elos, usando rolamentos como mostrado nas figuras A.1

e A.2.

Figura A.1: Vista superior do elo da ferramenta.

O tipo de atuador utilizado no braço robótico é o servo-motor, sendo dois delesJR

Servo NES-507, um Cirrus CS-50e o último, colocado na junta da base, é um servo

genérico utilizado em parabólicas. Servo-motor é um motor de corrente contínua acionado

por um controlador proporcional integrativo em malha fechada, que compara a referência

69

APÊNDICE A. MANIPULADOR REDUNDANTE 70

Figura A.2: Detalhe em vista lateral de uma junta.

dada por um sinal modulado em larguraPWM, com a posição atual obtida através de um

potenciômetro mecanicamente ligado ao eixo do motor.

Figura A.3: Esquema de conexão do servo-motor.

Para o funcionamento do servo é necessário garantir a tensão contínua de alimentação

que geralmente varia de 4,8 à 6 V, e um sinalPWM de referência. O sinalPWM tem

amplitude de 5 V, o tempo em nível alto1 geralmente varia de 1 a 2 ms, já o tempo em

nível baixo2 pode variar entre 10 e 40 ms. A maioria dos servos encontrados no mercado

trabalham com variações angulares entre 0 e 90o graus ou entre 0 e 180o. Os servos

utilizados estão inclusos nesta última categoria. Não existe uma relação definida entre a

largura do pulso e os ângulos de saída do servo, mas geralmente o pulso de largura 1,5 ms

posiciona o servo no centro da variação.

Um dos motivos que levaram a usar servos como atuadores, é o fato deles possuírem

controle de posição, o que facilita o desenvolvimento do modelo mecânico do braço,

1Período de tempo em que a tensão permanece em cinco volts.2Período de tempo em que a tensão permanece em zero volt.

APÊNDICE A. MANIPULADOR REDUNDANTE 71

Figura A.4: Trem de pulsosPWM.

não havendo necessidade de modelar os atuadores. A faixa de trabalho dos servos gera

restrições no espaço de trabalho. A comparação entre a figura A.5(a) e a figura A.5(b)

ilustra estas restrições.

(a) Com restrições. (b) Sem restrições.

Figura A.5: Espaço de trabalho para o manipulador proposto.

A estrutura lógica do manipulador refere-se ao processamento realizado para executar

os movimentos do robô. O processamento em sua maioria é realizado fora do robô3 por

um computador. O processamento existente no robô restringe-se a um microcontrolador

que transforma a informação que sai da porta serial do computador, em pulsos aplicados

aos servo-motores das juntas.

A.2 Microcontrolador

O microcontrolador usado é oBASIC Stamp 2. CadaBASIC Stamppossui um circuito

interpretador deBASIC, memória interna RAM e EEPROM, um regulador de tensão de

3O processamento será detalhado em tópicos posteriores.

APÊNDICE A. MANIPULADOR REDUNDANTE 72

cinco volts, 16 pins E/S4, que operam entre 0 e 5 volts, e um conjunto de instruções

matemáticas e de operação dos pinos E/S. UmBASIC Stampé capaz de executar alguns

milhares de instruções por segundo, sendo de fácil programação, usando uma linguagem

baseada na linguagem BASIC chamada de PBASIC.

Figura A.6: Microcontrolador BASIC Stamp 2.

Tabela A.1: Descrição da pinagem doBASIC Stamp 2.

Pino Nome Descrição

1 SOUT Serial Out: Conecta ao pino RX da porta serial do computador para aprogramação.

2 SIN Serial IN: Conecta ao pino TX da porta serial do computador para aprogramação.

3 ATN Attention: Conecta ao pino DTR da porta serial do computador para aprogramação.

4 VSS Terra: Conecta ao pino GND da porta serial do computador para a pro-gramação.

5 - 20 P0 - P15 Pinos E/S: Estes pinos podem ser usados com entrada ou saída parao microcontrolador, estão agrupados em dois grupos P0-P7 e P8-P15,operando em níveis de tensão compatíveis com a dos circuitos TTL5.

21 VDD 5-volt DC E/S: Pode ser usado como entrada para a alimentação doBASIC Stamp, e também como saída de tensão regulada, 5 V.

22 RES ResetE/S: Pino responsável pela reinicialização doBASIC Stamp.23 VSS Terra: Desempenha a mesma função do pino 4.24 VIN Entrada de tensão não regulada: Aceita de 5.5 a 15 V DC, que é regu-

lado internamente para 5 V. Pode ser desconectado se 5 V forem aplica-dos ao pino 21, VDD.

4Operam como pinos de entrada ou de saída.

APÊNDICE A. MANIPULADOR REDUNDANTE 73

A.3 Circuitos

Alguns circuitos são necessários para o funcionamento do robô, um deles é utilizado

para alimentação dos servo-motores. Outro circuito é responsável pela alimentação do

BASIC Stamp, e por fim um circuito que faz a interface entre o microcontrolador, com-

putador e servo-motores.

Figura A.7: Circuito de alimentação do microcontrolador.

O circuito de alimentação do microcontrolador fornece tensão regulada a 9 V, que

é aplicada ao pino 24, VIN. O circuito é composto por um transformador, que baixa a

tensão de entrada, que pode ser de 220 ou 110 V AC, para 20 V AC. O sinal AC fornecido

pelo transformador é retificado por um ponte de quadro diodos e regulada, tendo como

saída uma tensão de 9 V em corrente contínua, a figura A.7 ilustra o esquema do circuito

descrito.

Figura A.8: Circuito de alimentação dos servo-motores.

O circuito de alimentação dos servo-motores é semelhante ao de alimentação do mi-

crocontrolador. O circuito usa a tensão retificada pela ponte como entrada, usando um

regulador de tensão que fornece uma tensão de 5 V em corrente continua. Para aumentar

APÊNDICE A. MANIPULADOR REDUNDANTE 74

a corrente fornecida para 2 A é usado um transistor de potência, a figura A.8 ilustra o

esquema do circuito descrito.

Figura A.9: Circuito de interface.

O circuito de interface é apenas um circuito impresso que abriga o microcontrolador

ligando-o ao computador e aos servo-motores, a figura A.9 ilustra o esquema do circuito

descrito.

Referências Bibliográficas

Aires, K. R. T.: 2001,Desenvolvimento de um sistema de visão global para uma frota de

mini-robôs móveis, Master’s thesis, Universidade Federal do Rio Grande do Norte.

Baron, L. e Angeles, J.: 2000, The kinematic decoupling of parallel manipulators using

joint-sensor data,IEEE Transactions on Robotics and Automation16(6).

Castaño, A. e Hutchinson, S.: 1994, Visual compliance: task-directed visual servo control,

IEEE Transactions on Robotics and Automation10(3).

Chaumette, F. e Éric Marchand: 2001, A redundancy-based iterative approach for avoid-

ing joint limits: Application to visual servoing,IEEE Transactions on Robotics and

Automation17(5).

Chiaverini, S.: 1997, Singularity-robust task-priority redundancy resolution for real-time

kinematic control of robot manipulators,IEEE Trans. On Robotics and Automation.

13(3).

Chirikjian, G. S. e Burdick, J. W.: 1994, A modal approach to hyper-redundant mani-

pulator kinematics,IEEE Transactions on Robotics and Automation10(3).

Corke, P. I.: 1996, Visual control of robots - high performance visual servoing, Research

Studies Press LTD.

Corke, P. I. e Hutchinson, S. A.: 2001, A new partitioned approach to image-based visual

servo control,IEEE Transactions on Robotics and Automation17(4).

Craig, J. J.: 1989,Introduction to Robotics: mechanics and control, 2nd edn, Addison-

Wesley Publishing Company Inc.

75

REFERÊNCIAS BIBLIOGRÁFICAS 76

De Ma, S.: 1996, A self-calibration technique for active vision systems,IEEE Transac-

tions on Robotics and Automation12(1).

Espiau, B., Chaumette, F. e Rives, P.: 1992, A new approach to visual servoing in robotics,

IEEE Transactions on Robotics and Automation8(3).

Everett, L. J. e Ives, T. W.: 1996, A sensor used for measurements in the calibration of

production robots,IEEE Transactions on Robotics and Automation12(1).

Gonzalez, R. C. e Woods, R. E.: 2000,Processamento de Imagens Digitais, 1st edn,

Edgard Blücher Ltda.

Hager, G. D.: 1997, A modular system for robust positioning using feedback from stereo

vision, IEEE Transactions on Robotics and Automation13(4).

Haykin, S. S.: 2000,Redes Neurais - Princípios e Prática, 2 edn, Bookman Companhia

ED.

Hill, J. e Park, W. T.: 1979, Real time control of a robot with a mobile camera, Proc. 9th

ISIR, Washington D.C.

Hutchinson, S., Hager, G. D. e Corke, P. I.: 1996, A tutorial on visual servo control,IEEE

Transactions on Robotics and Automation12(5).

Jain, A. K.: 1989,Fundamentals of Digital Image Processing, 1 edn, Prentice Hall.

Janabi-Sharifi, F. e Wilson, W.: 1997, Automatic selection of image features for visual

servoing,IEEE Transactions on Robotics and Automation13(6).

Malis, E., Chaumette, F. e Boudet, S.: 1999, 2-1/2-d visual servoing,IEEE Trans-actions

on Robotics and Automation15(2).

Martins, A. d. M. e Dias, A. M.: 2001, Estudo comparativo entre métodos de varredura

seqüencial e de varredura aleatória.

Nakamura, Y.: 1991,Advanced Robotics - Redundancy and Optimization, Addison-

Wesley Publishing Company Inc.

REFERÊNCIAS BIBLIOGRÁFICAS 77

Nguyen, L. A., Walker, I. D. e DeFigueiredo, R. P.: 1992, Dynamic control of flexible,

kinematically redundant robot manipulators,IEEE Transactions on Robotics and Au-

tomation8(6).

Park, J., Chung, W.-k. e Yuom, Y.: 1996, Characteristics of optimal solutions in kinematic

resolutions of redundancy,IEEE Transactions on Robotics and Automation12(3).

Seereeram, S. e Wen, J. T.: 1995, A global approach to path planning for redundant

manipulators,IEEE Transactions on Robotics and Automation10(1).

Sharma, R. e Hutchinson, S.: 1997, Motion perceptibility and its application to active

vision-based servo control,IEEE Transactions on Robotics and Automation13(4).

Terra, M. H., Bergerman, M., Tinós, R. e Siqueira, A. A. G.: 2001, Controle tolerante a

falhas de robôs manipuladores,SBA Controle & Automação12(2).

Wang, C.-C.: 1992, Extrinsic calibration of a vision sensor mounted on a robot,IEEE

Transactions on Robotics and Automation8(2).

Wei, G.-Q., Arbter, K. e Hirzinger, G.: 1998, Active self-calibration of robotic eyes and

hand-eye relationships with model identification,IEEE Transactions on Robotics and

Automation14(1).

Weiss, L. E. e Anderson, A. C.: 1987, Dynamic sensor-based control of robots with visual

feedback,IEEE Journal of Robotics and Automation.3(5), 404–417.

Zha, H., Onitsuka, T. e Nagata, T.: 1996, A visuo-motor coordination algorithm for con-

trolling arm’s movements in environments with obstacles., Proc. Of the Fourth Interna-

tional Conference on Control, Automation, Robotics and Vision (ICARCV’96), Singa-

pore.

"Jamais considere seus estudos como uma obrigação, mas como uma oportunidade

invejável para aprender a conhecer a influência libertadora da beleza do reino do espírito,

para seu próprio prazer pessoal e para proveito da comunidade à qual seu futuro trabalho

pertencer."

Albert Einstein