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.