Fixação de objetos por garras de robôs
Transcrição
Fixação de objetos por garras de robôs
Leonardo Marquez Pedro Fixação de objetos por garras de robôs: aplicações de redes neurais e proposta de auto-aprendizagem para os casos 2D e 3D Dissertação apresentada ao Departamento de Engenharia Mecânica da Escola de Engenharia de São Carlos para a obtenção do Título de Mestre em Engenharia Mecânica Orientador: Prof. Dr. Glauco Augusto de Paula Caurin SEM - D EPARTAMENTO DE E NGENHARIA M ECÂNICA EESC - E SCOLA DE E NGENHARIA DE S ÃO C ARLOS USP - U NIVERSIDADE DE S ÃO PAULO São Carlos - SP Janeiro de 2009 AUTORIZO A REPRODUÇÃO E DIVULGAÇÃO TOTAL OU PARCIAL DESTE TRABALHO, POR QUALQUER MEIO CONVENCIONAL OU ELETRÔNICO, PARA FINS DE ESTUDO E PESQUISA, DESDE QUE CITADA A FONTE. Ficha catalográfica preparada pela Seção de Tratamento da Informação do Serviço de Biblioteca – EESC/USP Pedro, Leonardo Marquez P372f Fixação de objetos por garras de robôs : aplicações de redes neurais e proposta de auto-aprendizagem para os casos 2D e 3D / Leonardo Marquez Pedro ; orientador Glauco Augusto de Paula Caurin, 2008. Dissertação (Mestrado-Programa de Pós-Graduação em Engenharia Mecânica e Área de Concentração em Dinâmica das Máquinas e Sistemas) -- Escola de Engenharia de São Carlos da Universidade de São Paulo, 2008. 1. Fixação de objetos 2D. 2. Fixação de objetos 3D. 3. Redes neurais artificiais. 4. Inteligência artificial. 5. Garras robóticas. I. Título. iv v Dedico esta dissertação aos meus pais Manuel Augusto e Maria do Carmo, exemplos de trabalho, fé e perseverança. vi vii Agradecimentos Agradeço primeiramente a Deus pela vida, e por ter me dado iluminação, inspiração e saúde durante a realização deste trabalho. Agradeço aos meu pais, Manuel Augusto e Maria do Carmo, pelo amor, incentivo e apoio, e à toda a minha família por terem compreendido a minha ausência durante a dedicação aos trabalhos. Sem a ajuda e o opoio de vocês, nada seria possível. Agradeço também à Marilia Pinheiro de Carvalho, minha companheira e principal incentivadora, pelo apoio nos momentos difíceis, e principalmente por ter compartilhado comigo todos os momentos vividos durante a realização do trabalho. Ao Professor Glauco Caurin, meu orientador, pela oportunidade de desenvolvimento do trabalho, pelos ensinamentos e pela excelente orientação. Aos amigos de república, César e Vitor, pelo excelente convívio e pela compreensão durante estes dois anos de trabalho. Aos colegas do laboratório de mecatrônica, Dalton, Rafael Aroca, Jean, Jorge, Martins, Paulo Marcos, Takao, Ronny, Akira, Ricardo, André Lins, Christoffer, Leandro Massaro, André Dias, Real, Bruno, Belini, Marciel e Kelen, pelas idéias, sugestões e críticas ao trabalho, e principalmente pela amizade e pelo ótimo convívio no ambiente de trabalho. Ao amigo Rafael Vidal Aroca pelos trabalhos em parceria e pela valiosa correção do texto. Ao Christoffer Tenório Emídio de Souza, aluno de iniciação científica, pela colaboração referente ao tema "Simplificação de Superfícies", parte importante deste trabalho. Aos Professores Aluizio Fausto Araújo e Roseli Franceli Romero pelas correções do texto em relação a terminologia sobre redes neurais artificiais. Ao colega de pesquisa Valdinei Luis Belini pela ajuda na compreensão da teoria da fixação. Ao CNPq pelo apoio financeiro realizado com o oferecimento da bolsa de mestrado. Por fim, gostaria de agradecer a todos os demais amigos e colegas, cujos nomes não caberiam nesta folha, que de alguma forma contribuíram para a realização deste trabalho, e que ao lerem estas palavras saberão que foram lembrados. Muito obrigado. viii Agradecimentos ix “O único lugar onde o sucesso vem antes do trabalho é no dicionário.” Albert Einstein x xi Resumo PEDRO, L. M. Fixação de objetos por garras de robôs: aplicações de redes neurais e proposta de auto-aprendizagem para os casos 2D e 3D. Dissertação (Mestrado). Escola de Engenharia de São Carlos, Universidade de São Paulo, São Carlos, 2008. Este trabalho apresenta estudos da aplicação de redes neurais artificiais (RNAs) na determinação de fixação de objetos 2D e 3D por garras de robôs, e também apresenta uma proposta de algoritmo de auto-aprendizagem para fixação, também baseado em RNAs. A capacidade de fixar objetos, principalmente aqueles desconhecidos pelo sistema, a partir de informações de um sistema de visão, é um dos principais requisitos dos robôs, tanto para aplicações industriais, quanto para aplicações em ambientes menos estruturados (tal como aqueles encontrados por robôs de serviço). Uma das diferentes maneiras de se determinar fixações de objetos desconhecidos a partir de sua forma geométrica é a utilização das RNAs. Para avaliar a capacidade das redes nestas tarefas, três diferentes métodos são testados em simulações com objetos de extensas bases de dados. Os métodos avaliados são: o proposto por Xu et al. (1990); o proposto por Valente (1999); e uma nova proposta baseada nestes dois métodos. Também são propostas duas redes de Hopfield para a simplificação de objetos, uma para o caso 2D e outra para o caso 3D, cujo objetivo é reduzir os dados que representam os objetos, sem perdas significativas de informações, e cujo propósito é simplificar as etapas de cálculo das RNAs. Os resultados obtidos nas simulações dos três métodos avaliados, com as bases de objetos, mostram as capacidades e limitações das redes nesta aplicação, e pode-se afirmar que as redes são capazes de determinar pontos de fixação desde que adequadamente configuradas e treinadas. Pode-se afirmar também que a simplificação da forma do objeto melhora o desempenho das redes, principalmente em relação aos tempos de processamento. A partir dos resultados obtidos com os métodos avaliados, um algoritmo de auto-aprendizagem para fixação de objetos desconhecidos é proposto. Simulações com as bases de objetos 2D e 3D são realizadas a fim de verificar a capacidade de auto-aprendizagem, e os resultados mostram a capacidade de auto-aprendizagem de novas fixações, à medida que as redes são utilizadas. Palavras-chave: fixação de objetos 2D, fixação de objetos 3D, redes neurais artificiais, inteligência artificial, garras robóticas xii Resumo xiii Abstract PEDRO, L. M. Object grasping using robot grippers: applications of artificial neural networks and proposal of a self-learning algorithm for 2D and 3D cases. Thesis (Master). Escola de Engenharia de São Carlos, Universidade de São Paulo, São Carlos, 2008. The present work presents studies of artificial neural networks (ANNs) to find 2D and 3D grasping points of unknown objects for robot grippers and hands, and also, a self-learning grasping algorithm is proposed based on ANNs. Object grasping, mainly for those which are unknown by the system, is one of the most important requirements of robots, either for those designed for industrial applications, or for those that work in unstructured environments, like service robots. Methods based on ANN, among several different methods, are interesting for unknown object grasping due to the ANN capacity of classification and generalization. Aimed to evaluate the ANN capacities to accomplish such tasks, and three different ANN methods are simulated. The evaluated methods are: the methods proposed by Valente (1999) and the one proposed by Lee et al. (2002) for the 2D and 3D case, respectively, and the proposed by Lee et al. (2002) for the 3D case; the method proposed by Xu et al. (1990); and a new method is proposed as a combination of the first methods. Simulations are done to evaluate the different ANN behavior on determining grasping points for 2D and 3D objects of extensive data bases. Two Hopfield networks are also presented to simplify the object shape, and it is aimed with such approach to reduce the object representation without loss of information, and as a consequence, reduce the demanded ANN processing time of training and execution. The results obtained in the simulations confirm that the ANN is capable to determine grasping points for unknown objects, since the network parameters are correctly tuned and the network is properly trained. Results show that the object shape simplification improves the ANN performance concerning processing time. Additionally, based on the behavior of the three methods evaluated on training and on grasping determination, a self-learning algorithm is proposed. Several self-learning simulations were done using the 2D and 3D object data bases, and the obtained results show the capacity of learning new grasps. Keywords: 2D object grasping, 3D object grasping, artificial neural networks, artificial intelligence, robot grippers xiv Abstract xv Sumário Lista de Abreviaturas e Siglas xxi Lista de Figuras xxiii Lista de Tabelas xxxiii I 1 2 3 xxxvii Introdução 1 1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Objetivos do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Metodologia adotada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4 Organização do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Revisão bibliográfica 9 2.1 9 Fixação de objetos desconhecidos por garras robóticas . . . . . . . . . . . . . 2.1.1 Fixação 2D de objetos desconhecidos . . . . . . . . . . . . . . . . . . 10 2.1.2 Fixação 3D de objetos desconhecidos . . . . . . . . . . . . . . . . . . 17 Teoria fundamental da fixação 27 3.1 Movimentação e carregamentos de corpos rígidos . . . . . . . . . . . . . . . . 27 3.1.1 Movimentação em R3 e transformações homogêneas . . . . . . . . . . 27 3.1.2 Velocidade em R6 de um corpo rígido . . . . . . . . . . . . . . . . . . 30 3.1.3 Carregamentos e carregamentos equivalentes . . . . . . . . . . . . . . 34 Estática da fixação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.2 Sumário xvi 3.3 3.4 3.2.1 Modelos de contato . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.2.2 Base do contato e mapa da fixação G . . . . . . . . . . . . . . . . . . 40 Propriedades da fixação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.3.1 Estabilidade da fixação . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.3.2 Propriedade Force-closure de uma fixação . . . . . . . . . . . . . . . . 46 3.3.3 Propriedade Form-closure de uma fixação . . . . . . . . . . . . . . . . 49 3.3.4 Avaliação e Medida da qualidade da fixação . . . . . . . . . . . . . . . 50 Resumo do Capítulo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 II Fixação 2D utilizando redes neurais artificiais 4 Aproximação poligonal utilizando redes de Hopfield 59 4.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.2 Rede de Hopfield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.3 Algoritmo original . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.4 Algoritmo proposto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.5 Simulações e resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.5.1 Comparação com o algoritmo original . . . . . . . . . . . . . . . . . . 68 4.5.2 Comparação com demais algoritmos . . . . . . . . . . . . . . . . . . . 72 4.5.3 Simulação com imagens reais . . . . . . . . . . . . . . . . . . . . . . 76 Resumo do Capítulo 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.6 5 57 Fixação 2D de objetos desconhecidos 79 5.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.2 Teoria e equacionamento da fixação 2D . . . . . . . . . . . . . . . . . . . . . 81 5.2.1 Simplificações e hipóteses . . . . . . . . . . . . . . . . . . . . . . . . 82 5.2.2 Sistemas de coordenadas . . . . . . . . . . . . . . . . . . . . . . . . . 83 Sumário xvii 5.2.3 Equacionamento da fixação 2D por 2 pontos de contato . . . . . . . . . 86 5.2.4 Equacionamento da fixação 2D por 3 pontos de contato . . . . . . . . . 89 5.3 Verificação da condição force-closure e avaliação da fixação . . . . . . . . . . 91 5.4 Métodos de determinação dos pontos de contato . . . . . . . . . . . . . . . . . 93 5.4.1 Fixação 2D por busca heurística . . . . . . . . . . . . . . . . . . . . . 94 5.4.2 Fixação 2D por otimização utilizando redes competitivas de Hopfield . 102 5.4.3 Fixação 2D por redes neurais feedforward tipo RBF . . . . . . . . . . 106 5.4.4 Fixação 2D por redes feedforward e de Hopfield combinadas . . . . . . 112 5.5 Resumo do Capítulo 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 IIIFixação 3D utilizando redes neurais artificiais 6 Simplificação de superfícies utilizando redes de Hopfield 121 6.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 6.2 Algoritmo proposto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 6.3 7 119 6.2.1 Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 6.2.2 Estratégias de simplificação . . . . . . . . . . . . . . . . . . . . . . . 130 Simulações e resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 6.3.1 A ferramenta de avaliação Metro . . . . . . . . . . . . . . . . . . . . . 131 6.3.2 Desempenho em função do limiar Umin . . . . . . . . . . . . . . . . . 132 6.3.3 Comparação com outros algoritmos . . . . . . . . . . . . . . . . . . . 135 6.4 Resumo do Capítulo 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 6.5 Agradecimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Fixação 3D de objetos desconhecidos 143 7.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 7.2 Teoria e equacionamento da fixação 3D . . . . . . . . . . . . . . . . . . . . . 145 Sumário xviii 7.2.1 Simplificações e hipóteses . . . . . . . . . . . . . . . . . . . . . . . . 145 7.2.2 Sistemas de coordenadas . . . . . . . . . . . . . . . . . . . . . . . . . 146 7.2.3 Equacionamento da fixação 3D por 2 pontos de contato . . . . . . . . . 149 7.2.4 Equacionamento da fixação 3D por 3 pontos de contato . . . . . . . . . 151 7.3 Verificação da condição force-closure e avaliação da fixação 3D . . . . . . . . 154 7.4 Métodos de seleção de pontos de contato . . . . . . . . . . . . . . . . . . . . . 156 7.4.1 Simplificações e hipóteses . . . . . . . . . . . . . . . . . . . . . . . . 156 7.4.2 Fixação 3D por Busca Heurística . . . . . . . . . . . . . . . . . . . . 160 7.4.3 Fixação 3D por otimização utilizando redes competitivas de Hopfield . 168 7.4.4 Fixação 3D por redes feedforward tipo RBF . . . . . . . . . . . . . . . 174 7.4.5 Fixação 3D por redes feedforward e de Hopfield combinadas . . . . . . 181 7.5 Resumo do Capítulo 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 7.6 Agradecimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 IV Proposta de um sistema de fixação de auto-aprendizagem 8 Fixação 2D e 3D com auto-aprendizagem 191 8.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 8.2 Algoritmo proposto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 8.2.1 8.3 8.4 9 189 Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Simulações e resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 8.3.1 O algoritmo proposto é capaz de aprender novas fixações? . . . . . . . 195 8.3.2 Simulações e resultados . . . . . . . . . . . . . . . . . . . . . . . . . 196 Resumo do Capítulo 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Conclusões Finais 9.1 207 Conclusões e propostas para a fixação 2D . . . . . . . . . . . . . . . . . . . . 209 Sumário xix 9.2 Conclusões e propostas para a fixação 3D . . . . . . . . . . . . . . . . . . . . 212 9.3 Conclusões e propostas para o algoritmo de auto-aprendizagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Referências Bibliográficas 219 Apêndice A -- Processamento de imagens 225 A.1 Justificativa e descrição do método . . . . . . . . . . . . . . . . . . . . . . . . 225 A.2 Resultados obtidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 A.3 Considerações sobre o método de processamento de imagens adotado . . . . . 230 Apêndice B -- Tabelas do Capítulo 4 231 Apêndice C -- Tabelas do Capítulo 6 235 Apêndice D -- Cálculo dos momentos principais de inércia 245 Apêndice E -- Cálculo do centro de um fixação realizada por três pontos de contato 247 E.1 Definição do problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 E.1.1 Arco capaz de 120o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 E.1.2 Cálculo do C f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 E.1.3 Solução analítica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 E.1.4 Solução geométrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Apêndice F -- Figuras das respostas das simulações do algoritmo de auto-aprendizagem do Capítulo 8 253 F.1 Gráficos da segunda simulação . . . . . . . . . . . . . . . . . . . . . . . . . . 254 F.2 Gráficos da terceira simulação . . . . . . . . . . . . . . . . . . . . . . . . . . 256 F.3 Gráficos da quarta simulação . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 F.4 Gráficos da quinta simulação . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 Anexo A -- Adição de Minkowski 263 xx Sumário xxi Lista de Abreviaturas e Siglas τS torque space 2D bidimensional 3D tridimensional FS force space Gτ S grasp torque space GDL grau de liberdade GFS grasp force space GWS grasp wrench space MLP multilayer perceptron RBF Radial bases function RNA Rede Neural Artificial WS wrench space xxii Lista de Abreviaturas e Siglas xxiii Lista de Figuras 1.1 Robô Unimate. Desenvolvido por Joseph Engelberger, em 1961. Peso aproximado de 1800kg. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 1 Principais áreas de aplicação dos robôs industriais. Comparação entre as os anos de 1985, 1995 e o período de 2004 a 2006. Dados extraídos de Craig (2005) e IFR (2007). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 2 Esquemático da garra de Hanafusa e Asada (1977). A Figura 2.1(a) mostra os dedos da garra dispostos sobre um anel a 120o entre si, e a Figura 2.1(b) representa a garra fixando um objeto e as molas deformadas. . . . . . . . . . . 2.2 12 Resultado do sistema proposto por Backer et al. (1985) para duas formas geométricas. A Figura 2.2(a) mostra resultado satisfatório para uma forma qualquer, e Figura 2.2(b) mostra um exemplo de falha, em que não é possível atingir o ponto vermelho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3 DLR Hand. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.4 Barret Hand. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.5 Robô ARMAR, utilizado por Morales et al. (2006b). . . . . . . . . . . . . . . 25 3.1 Possíveis carregamentos para os três tipos fundamentais de contato propostos por Nguyen (1988). Figura 3.1(a) contato pontual sem atrito, Figura 3.1(b) contato pontual com atrito e Figura 3.1(c) contato macio. . . . . . . . . . . . . 3.2 38 Exemplo de uma envolvente convexa para um conjunto de pontos no plano. À esquerda o conjunto de pontos, e à direita a envolvente convexa em vermelho gerada pelo algoritmo QuickHull (BARBER et al., 1996). . . . . . . . . . . . . 47 4.1 Exemplo de uma rede de Hopfield com seis neurônios e suas conexões. . . . . 61 4.2 Desvio entre curva e corda definido como o somatório das distâncias entre a curva px py e a corda px py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 63 Esquemático do cálculo da função energia U para um elemento qualquer. Figura modificada de Valente (1999). . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Lista de Figuras xxiv 4.4 Função energia para uma etapa de iteração. . . . . . . . . . . . . . . . . . . . 65 4.5 Região de interesse para o cálculo da matriz H. . . . . . . . . . . . . . . . . . 66 4.6 As formas acima são freqüentemente utilizadas pelos autores da área para avaliação dos algoritmos de aproximação poligonal. Figura 4.6(a) Leaf shape, Figura 4.6(b) Chromosome shape e Figura 4.6(c) Semi-circle shape. . . . . . . . . . . 4.7 68 Gráficos de comparação entre o algoritmo proposto, em azul, e o algoritmo original, em vermelho, para o Leaf shape (Figura 4.6(a)). Figura 4.7(a) mostra o erro máximo por aproximação m, Figura 4.7(b) mostra o somatório do erro quadrático por aproximação m e Figura 4.7(c) mostra o tempo de processamento por aproximação m.A forma Leaf shape tem inicialmente 120 pontos. . . . . . 4.8 69 Gráficos de comparação entre o algoritmo proposto, em azul, e o algoritmo original, em vermelho, para o Chromosome shape (Figura 4.6(b)). Figura 4.8(a) mostra o erro máximo por aproximação m, Figura 4.8(b) mostra o somatório do erro quadrático por aproximação m e Figura 4.8(c) mostra o tempo de processamento por aproximação m. A forma Chromosome shape tem inicialmente 60 pontos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9 70 Gráficos de comparação entre algoritmo proposto, em azul, e o algoritmo original, em vernelho, para o Semi-circle shape (Figura 4.6(c)). Figura 4.9(a) mostra o erro máximo por aproximação m, Figura 4.9(b) mostra o somatório do erro quadrático por aproximação m e Figura 4.9(c) mostra o tempo de processamento por aproximação m. A forma Semi-circle shape tem inicialmente 100 pontos. . 71 4.10 Comparação do algoritmo proposto com outros algoritmos. Somatório do erro quadrático por aproximação do Leaf Shape. . . . . . . . . . . . . . . . . . . . 73 4.11 Comparação do algoritmo proposto com outros algoritmos. Erro máximo por aproximação do Leaf Shape. . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.12 Comparação do algoritmo proposto com outros algoritmos. Somatório do erro quadrático por aproximação do Chromosome Shape. . . . . . . . . . . . . . . 74 4.13 Comparação do algoritmo proposto com outros algoritmos. Erro máximo por aproximação do Chromosome Shape. . . . . . . . . . . . . . . . . . . . . . . 74 4.14 Comparação do algoritmo proposto com outros algoritmos. Somatório do erro quadrádico por aproximação do Semi Circle Shape. . . . . . . . . . . . . . . . 75 Lista de Figuras xxv 4.15 Comparação do algoritmo proposto com outros algoritmos. Erro máximo por aproximação do Semi Circle Shape. . . . . . . . . . . . . . . . . . . . . . . . 75 5.1 Definição do sistema de coordenadas do objeto. . . . . . . . . . . . . . . . . . 83 5.2 Definição do sistema de coordenadas da fixação. A Figura 5.2(a) mostra o sistema de coordenadas da fixação por dois contato, e a Figura 5.2(b) mostra o sistema para a fixação por trê contatos. . . . . . . . . . . . . . . . . . . . . . 5.3 84 Definição do sistema de coordenadas dos contatos para fixação por dois pontos de contato (Figura 5.3(a)), e para fixação por três pontos de contato (Figura 5.3(b)). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.4 Definição do sistema de coordenadas dos contatos c1 e c2 . . . . . . . . . . . . 87 5.5 Definição do sistema de coordenadas da fixação, linha de ação e direção normal aos pontos de fixação para uma garra de três dedos sem adução abdução. . . . . 5.6 Definição dos parâmetros para cálculo da função custo para fixação por dois pontos de contato. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7 90 96 Resultados do algoritmo de busca heurística para dois pontos de fixação para objetos do cotidiano. As linhas vermelhas mostram a direção de aproximação dos dedos da garra para o momento da fixação. . . . . . . . . . . . . . . . . . 97 5.8 Definição dos parâmetros para cálculo da função custo para fixação por três dedos. 99 5.9 Resultados do algoritmo de busca heurística para três pontos de fixação para objetos do cotidiano. As linhas vermelhas mostram a direção de aproximação dos dedos da garra para o momento da fixação (parte 1 de 2). . . . . . . . . . . 100 5.10 Resultados do algoritmo de busca heurística para três pontos de fixação para objetos do cotidiano. As linhas vermelhas mostram a direção de aproximação dos dedos da garra para o momento da fixação (parte 2 de 2). . . . . . . . . . . 101 5.11 Resultados do algoritmo de otimização com redes de Hopfield para determinação de dois pontos de fixação para objetos do cotidiano. As linhas vermelhas mostram a direção de aproximação dos dedos da garra para o momento da fixação (parte 1 de 2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 xxvi Lista de Figuras 5.12 Resultados do algoritmo de otimização com redes de Hopfield para determinação de dois pontos de fixação para objetos do cotidiano. As linhas vermelhas mostram a direção de aproximação dos dedos da garra para o momento da fixação (parte 2 de 2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 5.13 Resultados do algoritmo de otimização com redes de Hopfield para determinação de três pontos de fixação para objetos do cotidiano. . . . . . . . . . . . . 105 5.14 Padrões geométricos 2D utilizados no treinamento das redes neurais feedforward tipo RBF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 5.15 Resultados do algoritmo de otimização com redes de Hopfield para determinação de três pontos de fixação para objetos do cotidiano. . . . . . . . . . . . . 109 5.16 Resultados do algoritmo baseado em RNAs RBF na determinação de três pontos de fixação para objetos do cotidiano. . . . . . . . . . . . . . . . . . . . . . . . 111 5.17 Resultados do algoritmo baseado em RNAs RBF e posterior otimização por redes de Hopfield na determinação de dois pontos de fixação para objetos do cotidiano (parte 1 de 2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 5.18 Resultados do algoritmo baseado em RNAs RBF e posterior otimização por redes de Hopfield na determinação de dois pontos de fixação para objetos do cotidiano (parte 2 de 2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 5.19 Resultados do algoritmo baseado em redes neurais RBF e posterior otimização por redes de Hopfield na determinação de três pontos de fixação para objetos do cotidiano. As linhas vermelhas mostram a direção de aproximação dos dedos da garra para o momento da fixação (parte 1 de 2). . . . . . . . . . . . . . . . . 115 5.20 Resultados do algoritmo baseado em redes neurais RBF e posterior otimização por redes de Hopfield na determinação de três pontos de fixação para objetos do cotidiano. As linhas vermelhas mostram a direção de aproximação dos dedos da garra para o momento da fixação (parte 2 de 2). . . . . . . . . . . . . . . . . 116 6.1 Elementos de malhas da superfície de um modelo reconstruído pela triangulação de Delaunay. Figura 6.1(a) mostra o modelo reconstruído, Figura 6.1(b) mostra a nuvem de pontos, e a Figura 6.1(c) mostra os elementos triangulares da malha. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Lista de Figuras 6.2 xxvii Vizinhança de um ponto qualquer de uma malha. Em azul o ponto selecionado, em vermelho os triângulos da vizinhança e em verde os pontos vizinhos do ponto em azul. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 6.3 Efeito sobre a malha de superfície ao retirar um ponto. Figura 6.3(a) mostra a malha antes de se retirar o ponto azul, Figura 6.3(b) mostra a malha reconstruída após a retirada do ponto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 6.4 Cálculo do erro de simplificação. . . . . . . . . . . . . . . . . . . . . . . . . . 128 6.5 Figura 6.5(a) mostra o modelo Bunny, que possui com 34834 vertices e malha de 69451 triângulos, e a Figura 6.5(b) mostra o modelo Fandisk que possui com 6475 vertices e malha de 12946 triângulos. . . . . . . . . . . . . . . . . . . . . 131 6.6 Resultados para diferentes porcentagens de simplifcação do modelo Bunny em função do limiar Umin . A Figura 6.6(a) mostra o erro médio quadrático de cada porcentagem de simplificação em função do limiar, e a Figura 6.6(b) mostra o tempo de simplificação em função do mesmo limiar. 6.7 . . . . . . . . . . . . . . 133 Resultados para diferentes porcentagens de simplifcação do modelo Fandisk em função do limiar Umin . A Figura 6.7(a) mostra o erro médio quadrático de cada porcentagem de simplificação em função do limiar, e a Figura 6.7(b) mostra o tempo de simplificação em função do mesmo limiar. . . . . . . . . . . . . . . . 134 6.8 Gráficos de comparação do método proposto com outros métodos da literatura na simplificação do modelo Bunny. Os gráficos das Figuras 6.8(a) e 6.8(b) mostram respectivamente o erro máximo Emax e o erro médio Emed medidos para diferentes níveis de simplificação. . . . . . . . . . . . . . . . . . . . . . . 136 6.9 Gráficos de comparação do método proposto com outros métodos da literatura na simplificação do modelo Fandisk. Os gráficos das Figuras 6.9(a) e 6.9(b) mostram respectivamente o erro máximo e o erro médio medidos para diferentes níveis de simplificação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 6.10 Representação dos modelos simplificados pelo método proposto (parte 1 de 3). 138 6.11 Representação dos modelos simplificados pelo método proposto (parte 2 de 3). 139 6.12 Representação dos modelos simplificados pelo método proposto (parte 3 de 3). 140 7.1 Definição do sistema de coordenadas do objeto para a Fixação 3D. . . . . . . . 146 7.2 Sistema de coordenadas de uma fixação 3D. . . . . . . . . . . . . . . . . . . . 147 xxviii Lista de Figuras 7.3 Sistemas de coordenadas dos contatos Ci para uma fixação 3D. . . . . . . . . . 148 7.4 Exemplos de envolventes convexas para uma fixação 3D por dois pontos de contato. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 7.5 Exemplos de envolventes convexas para uma fixação 3D por três pontos de contato. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 7.6 Formas de objetos, que são representadas por uma malha superficial, utilizadas nas simulações dos métodos de determinação de pontos de fixação 3D. Os objetos representam algumas formas abstratas e alguns objetos do cotidiano (parte 1 de 2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 7.7 Formas de objetos, que são representadas por uma malha superficial, utilizadas nas simulações dos métodos de determinação de pontos de fixação 3D. Os objetos representam algumas formas abstratas e alguns objetos do cotidiano (parte 2 de 2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 7.8 Definição dos ângulos θ1 e θ2 entre as linhas de ação la e os eixos Z dos sistemas de coordenadas C1 e C2 respectivamente. . . . . . . . . . . . . . . . . . 161 7.9 Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de busca heurística (parte 1 de 3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 7.10 Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de busca heurística (parte 2 de 3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 7.11 Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de busca heurística (parte 3 de 3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 7.12 Definição dos ângulos θ1 , θ2 e θ3 entre as linhas de ação la1 , la2 e la3 e os eixos Z dos sistemas de coordenadas C1 , C2 e C3 respectivamente. . . . . . . . 165 7.13 Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de busca heurística (parte 1 de 3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 7.14 Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de busca heurística (parte 2 de 3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Lista de Figuras xxix 7.15 Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de busca heurística (parte 3 de 3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 7.16 Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de otimização por redes de Hopfield (parte 1 de 3). . . . . . . . . . . . . . . . . . . . . . . . 169 7.17 Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de otimização por redes de Hopfield (parte 2 de 3). . . . . . . . . . . . . . . . . . . . . . . . 170 7.18 Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de otimização por redes de Hopfield (parte 3 de 3). . . . . . . . . . . . . . . . . . . . . . . . 171 7.19 Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de otimização por redes de Hopfield (parte 1 de 3). . . . . . . . . . . . . . . . . . . . . . . . 172 7.20 Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de otimização por redes de Hopfield (parte 2 de 3). . . . . . . . . . . . . . . . . . . . . . . . 173 7.21 Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de otimização por redes de Hopfield (parte 3 de 3). . . . . . . . . . . . . . . . . . . . . . . . 174 7.22 Padrões de treinamento para a rede feedforward tipo RBF para a fixação 3D. . . 175 7.23 Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas (parte 1 de 3). . . . . . . . . . . . . . . . . . . . . 176 7.24 Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas (parte 2 de 3). . . . . . . . . . . . . . . . . . . . . 177 7.25 Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas (parte 2 de 3). . . . . . . . . . . . . . . . . . . . . 178 Lista de Figuras xxx 7.26 Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas (parte 1 de 2). . . . . . . . . . . . . . . . . . . . . 179 7.27 Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas (parte 2 de 2). . . . . . . . . . . . . . . . . . . . . 180 7.28 Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas e posterior otimização com redes de Hopfield (parte 1 de 3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 7.29 Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas e posterior otimização com redes de Hopfield (parte 2 de 3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 7.30 Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas e posterior otimização com redes de Hopfield (parte 3 de 3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 7.31 Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas e posterior otimização com redes de Hopfield (parte 1 de 2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 7.32 Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas e posterior otimização com redes de Hopfield (parte 2 de 2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 8.1 Mapa do comportamento da rede no seu estado inicial. . . . . . . . . . . . . . 197 8.2 Mapa do comportamento da rede após a realização de 50 retreinamentos. . . . . 197 8.3 Mapas do comportamento da rede para diferentes estágios de retreinamento. . . 198 8.4 Curva de aprendizagem para a fixação 2D por dois pontos de contato. . . . . . 199 8.5 Curva de aprendizagem para a fixação 2D por três pontos de contato. . . . . . . 200 Lista de Figuras xxxi 8.6 Curva de aprendizagem para a fixação 3D por dois pontos de contato. . . . . . 200 8.7 Curva de aprendizagem para a fixação 3D por três pontos de contato. . . . . . . 201 8.8 Objetos apresentados à rede entre retreinamentos. Os valores mostrados representam a média entre cada 250 retreinamentos. Resultados para a primeira simulação de apresentação de objetos à rede, em ordem randômica. . . . . . . . 202 8.9 Tempo de execução da rede. Média entre cada 250 retreinamentos. Resultados para a primeira simulação de apresentação de objetos à rede, em ordem randômica.203 8.10 Tempo de retreinamento da rede. Média entre cada 250 retreinamentos. Resultados para a primeira simulação de apresentação de objetos à rede, em ordem randômica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 A.1 Histograma de imagens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 A.2 Resultado do processamento da imagem. Da esquerda para a direita: imagem original, imagem binarizada e o contorno extraído (parte 1 de 3). . . . . . . . . 227 A.3 Resultado do processamento da imagem. Da esquerda para a direita: imagem original, imagem binarizada e o contorno extraído (parte 2 de 3). . . . . . . . . 228 A.4 Resultado do processamento da imagem. Da esquerda para a direita: imagem original, imagem binarizada e o contorno extraído (parte 3 de 3). . . . . . . . . 229 D.1 Definição da massa do pixel pertencente a figura, e do pixel pertencente ao fundo da imagem, necessária para o cálculo dos momentos de inércia Ixx Iyy e Ixy . 245 E.1 Pontos de contato PA , PB e PC de fixação de uma garra de três dedos e o centro de fixção C f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 E.2 Arco capaz de 120o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 E.3 Cálculo do ponbto C f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 E.4 Solução geométrica para o cálculo do centro de fixação. . . . . . . . . . . . . . 250 F.1 Objetos apresentados à rede entre retreinamentos. Os valores mostrados representam a média entre cada 250 retreinamentos. Resultados para a segunda simulação de apresentação de objetos à rede, em ordem randômica. . . . . . . . 254 F.2 Tempo de execução da rede. Média entre cada 250 retreinamentos. Resultados para a segunda simulação de apresentação de objetos à rede, em ordem randômica.255 xxxii F.3 Lista de Figuras Tempo de retreinamento da rede. Média entre cada 250 retreinamentos. Resultados para a segunda simulação de apresentação de objetos à rede, em ordem randômica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 F.4 Objetos apresentados à rede entre retreinamentos. Os valores mostrados representam a média entre cada 250 retreinamentos. Resultados para a terceira simulação de apresentação de objetos à rede, em ordem randômica. . . . . . . . 256 F.5 Tempo de execução da rede. Média entre cada 250 retreinamentos. Resultados para a terceira simulação de apresentação de objetos à rede, em ordem randômica.257 F.6 Tempo de retreinamento da rede. Média entre cada 250 retreinamentos. Resultados para a terceira simulação de apresentação de objetos à rede, em ordem randômica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 F.7 Objetos apresentados à rede entre retreinamentos. Os valores mostrados representam a média entre cada 250 retreinamentos. Resultados para a quarta simulação de apresentação de objetos à rede, em ordem randômica. . . . . . . . 258 F.8 Tempo de execução da rede. Média entre cada 250 retreinamentos. Resultados para a quarta simulação de apresentação de objetos à rede, em ordem randômica. 259 F.9 Tempo de retreinamento da rede. Média entre cada 250 retreinamentos. Resultados para a quarta simulação de apresentação de objetos à rede, em ordem randômica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 F.10 Objetos apresentados à rede entre retreinamentos. Os valores mostrados representam a média entre cada 250 retreinamentos. Resultados para a quinta simulação de apresentação de objetos à rede, em ordem randômica. . . . . . . . 260 F.11 Tempo de execução da rede. Média entre cada 250 retreinamentos. Resultados para a quinta simulação de apresentação de objetos à rede, em ordem randômica. 261 F.12 Tempo de retreinamento da rede. Média entre cada 250 retreinamentos. Resultados para a quinta simulação de apresentação de objetos à rede, em ordem randômica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 xxxiii Lista de Tabelas 4.1 Tabela de comparação dos tempos de processamento da aproximação poligonal, calculada pelo algoritmo original e pelo algoritmo proposto, de formas de objetos reais, para diversos valores m de aproximação. Os tempos medidos estão em segundos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Tabela do tempo de execução do algoritmo de busca heurística para fixação 2D por dois pontos de contato dos objetos da Figura 5.7. . . . . . . . . . . . . . . 5.2 76 98 Tabela do tempo de execução do algoritmo de busca heurística para fixação 2D por garras de três dedos dos objetos das Figuras 5.9 e 5.10. . . . . . . . . . . . 101 5.3 Tabela do tempo da fixação 2D por Hopfield para os objetos das Figuras 5.11 e 5.12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 5.4 Tabela do tempo de determinação da fixação 2D por três pontos de contato utilizando otimização por redes de Hopfield para os objetos da Figura 5.13. . . 106 5.5 Tabela do tempo de determinação da fixação 2D por garras de dois dedos utilizando RNAs tipo RBF para os objetos da Figura 5.15. . . . . . . . . . . . . . 110 5.6 Tabela do tempo de determinação da fixação 2D por garras de três dedos utilizando redes neurais tipo RBF para os objetos das Figuras 5.16. . . . . . . . . 112 5.7 Tabela do tempo de determinação da fixação 2D por dois dedos utilizando RNAs tipo RBF e posterior otimização por redes de Hopfield para os objetos das Figuras 5.17 e 5.18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 5.8 Tabela do tempo de determinação da fixação 2D por garras de três dedos utilizando redes neurais tipo RBF e posterior otimização por redes de hopfield para os objetos das Figuras 5.19 e 5.20. . . . . . . . . . . . . . . . . . . . . . . . . 116 7.1 Tabela de tempos de simplifcação das superfícies dos objetos das Figuras 7.6 e 7.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 7.2 Tabela do tempo de execução do algoritmo de busca heurística para fixação 3D por dois pontos de contato dos objetos das Figuras 7.9, 7.10 e 7.11. . . . . . . . 164 xxxiv 7.3 Lista de Tabelas Tabela do tempo de execução do algoritmo de busca heurística para fixação 3D por três pontos de contato dos objetos das Figuras 7.13 e 7.14. . . . . . . . . . 168 7.4 Tabela do tempo de determinação da fixação 3D por dois contatos utilizando redes de Hopfield. Tempos para as Figuras 7.16, 7.17 e 7.18. . . . . . . . . . . 171 7.5 Tabela do tempo de determinação da fixação 3D por três pontos de contato utilizando otimização com redes de Hopfield. Os tempos foram medidos para os objetos das Figuras 7.19, 7.20 e 7.21. . . . . . . . . . . . . . . . . . . . . . 174 7.6 Tabela do tempo de determinação da fixação 3D por dois pontos de contatos utilizando RNAs tipo RBF para os objetos das Figuras 7.23, 7.24 e 7.25. . . . . 178 7.7 Tabela do tempo de determinação da fixação 3D por três pontos de contatos utilizando RNAs tipo RBF para os objetos das Figuras 7.26 e 7.27 . . . . . . . . 181 7.8 Tabela do tempo de determinação da fixação 3D por dois pontos utilizando RNAs tipo RBF e posterior otimização por redes de Hopfield para os objetos das Figuras 7.28, 7.29 e 7.30. . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 7.9 Tabela do tempo de determinação da fixação 3D por garras de dois dedos utilizando RNAs tipo RBF e posterior otimização por redes de Hopfield para os objetos das Figuras 7.31 e 7.32 . . . . . . . . . . . . . . . . . . . . . . . . . . 187 9.1 Comparação dos tempos de processamento da determinação da fixação 2D por dois pontos de contato utilizando os quatro diferentes métodos descritos. . . . . 210 9.2 Comparação dos tempos de processamento da determinação da fixação 2D por três pontos de contato utilizando os quatro diferentes métodos descritos. . . . . 210 9.3 Tabela de comparação dos tempos de processamento da determinação da fixação 3D por dois pontos de contato utilizando os quatro diferentes métodos descritos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 9.4 Tabela de comparação dos tempos de processamento da determinação da fixação 3D por três pontos de contato utilizando os quatro diferentes métodos descritos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 A.1 Tabela dos tempos da etapa de processamento das imagems utilizadas nas simulações do algoritmo de fixação 2D proposto no Capítulo 5. . . . . . . . . . . 230 B.1 Tabela de resultados de algoritmos de aproximação poligonal (parte 1 de 2). . . 231 B.2 Tabela de resultados de algoritmos de aproximação poligonal (parte 2 de 2). . . 232 Lista de Tabelas xxxv B.3 Tabela de resultados do algoritmo proposto para a aproximação poligonal. . . . 233 C.1 Valores dos erros de silplificação Emax e Emed e do tempo de processamento para diferentes porcentagens de simplificação e limiar de energia Umin para o modelo Bunny. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 C.2 Continuação da Tabela C.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 C.3 Valores dos erros de silplificação Emax e Emed e do tempo de processamento para diferentes porcentagens de simplificação e limiar de energia Umin para o modelo Fandisk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 C.4 Continuação da Tabela C.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 C.5 Resultados obtidos na simplificação do Modelo Bunny (34834 vertices, 69451 triângulos) para o método proposto, e para os outros métodos (parte 1 de 2). . . 240 C.6 Resultados obtidos na simplificação do Modelo Bunny (34834 vertices, 69451 triângulos) para o método proposto, e para os outros métodos (parte 2 de 2). . . 241 C.7 Resultados obtidos na simplificação do Modelo Fandisk (6475 vertices, 12946 triângulos) para o método proposto, e para os outros métodos (parte 1 de 2). . . 242 C.8 Resultados obtidos na simplificação do Modelo Fandisk (6475 vertices, 12946 triângulos) para o método proposto, e para os outros métodos (parte 2 de 2). . . 243 xxxvi Lista de Tabelas xxxvii Parte I 1 1 Introdução 1.1 Motivação A interação com objetos é uma das diferentes formas com que sistemas robóticos podem interagir com o meio ambiente. Tal interação, denominada na robótica como movimentação de objetos (MURRAY et al., 1994; MASON, 2001), tornou-se interessante para a indústria pela possibilidade de automatização de tarefas, que se iniciou na década de 1960 com o primeiro braço robótico desenvolvido, o Unimate (Figura 1.1), e na época foi inserido de forma experimental na linha de produção da General Motors, onde transportava blocos de motores em alta temperatura (MURRAY et al., 1994). Figura 1.1: Robô Unimate. Desenvolvido por Joseph Engelberger, em 1961. Peso aproximado de 1800kg. Desde a construção do primeiro robô até meados de 1980, mesmo com a instalação de mais de 1500 unidades (principalmente no Japão e nos EUA), as principais tarefas dos braços robóticos industriais constituíam-se de operações simples em que não é necessário precisão de posicionamento ou grandes velocidades de movimentação, tais como as operações de soldagem e de pintura (CRAIG, 2005). A agregação de novas tecnologias aos robôs, como por exemplo: novos materiais; melhores 1 Introdução 2 sensores e motores; possibilitou a utilização deles em novas tarefas que até então não eram possíveis devido aos erros de posicionamento e às baixas velocidades de movimentação. O histograma da Figura 1.2 mostra as principais áreas de instalação dos manipuladores robóticos1 no ano de 1985, no de 1995, e no período de 2004 a 2006, conquistadas pela utilização de novas tecnologias. Figura 1.2: Principais áreas de aplicação dos robôs industriais. Comparação entre as os anos de 1985, 1995 e o período de 2004 a 2006. Dados extraídos de Craig (2005) e IFR (2007). Pode-se observar que as aplicações de maior crescimento nos anos de 1985 e de 1995 foram transferência de material e montagem. Também houve crescimento considerável em operações de soldagem, principalmente para aquelas de pouca precisão e baixa qualidade, que não exigem precisão de posicionamento e grandes velocidades de deslocamento dos manipuladores. No período de 2004 a 2006, apesar da constante oscilação de instalações entre as principais operações destinadas aos robôs, pode-se observar que as principais áreas de aplicação dos robôs industriais continuaram sendo as operações de soldagem e as operações de movimentação de materiais, com destaque para a última. Porém, apesar destas operações serem classificadas com o mesmo nome para todos os períodos apresentados no histograma, as áreas de aplicação dos robôs do período de 2004 a 2006 são qualitativamente diferentes daquelas das décadas de 1980 e 1990. As principais diferenças entre as mesmas aplicações para as diferentes épocas são: a precisão de posicionamento; a velocidade de movimentação; e o controle de força. Estas diferenças estão relacionadas às melhorias provocadas pelo constante desenvolvimento de novas tecnologias na robótica. Ainda quanto ao histograma da Figura 1.2, algumas aplicações como pintura e inspeção não apresentam números de instalações expressivos no período de 2004 a 2006. Este fato se deve à saturação do mercado, ou seja, as novas instalações nestas aplicações são na grande maioria 1 Os manipuladores robóticos utilizados na indústria também são denominados como robôs industriais. 1.1 Motivação 3 realizadas na substituição dos antigos robôs. E ainda, a agregação de novas tecnologias não promoveu melhores resultados nas operações, pois estas operações não requerem requisitos de alto desempenho. Dentre as diversas novas tecnologias agregadas aos robôs, as inovações também estão presentes nas ferramentas utilizadas em cada tarefa específica, principalmente naquelas que envolvem movimentação de material. As ferramentas utilizadas na movimentação de material são denominadas garras robóticas, e são responsáveis pela fixação e manipulação dos objetos durante as operações. As inovações relacionadas às garras robóticas são uns dos fatores responsáveis pela melhora da capacidade dos robôs em movimentar materiais, o que, conseqüentemente, promove a elevada taxa instalação de robôs em tais operações desde o início da utilização de manipuladores robóticos na indústria (SANZ et al., 2005). As primeiras garras desenvolvidas e utilizadas na indústria apresentavam dois dedos (garras tipo pinça) ou três dedos (garras tipo castanha), cujo acionamento era realizado por um único atuador, normalmente hidráulico ou pneumático, fato que limitava a capacidade de fixação e, conseqüentemente, a utilização dos robôs. Os trabalhos no desenvolvimento de garras mais capazes e de sistemas inteligentes de fixação iniciaram-se no final da década de 1970 e no início da década de 1980. Salisbury (1982a) propôs uma garra de três dedos, com três graus de liberdade cada, considerada por muitos autores da área como o trabalho precursor no desenvolvimento de garras robóticas complexas. Defini-se como garras robóticas complexas aquelas que apresentam múltiplos dedos, com diversos graus de liberdade cada, cujos atuadores são especiais, e também apresentam sensores de posição, de tato e de força. Um breve histórico do desenvolvimento das garras robóticas e antropomórficas, assim como uma descrição das suas principais características, pode ser encontrado em Murray et al. (1994). Outros trabalhos de Mestrado e de Doutorado realizados no laboratório de Mecatrônica da EESC-USP, anteriores e contemporâneos a este, também fazem revisões e descrições das principais garras robóticas e antropomórficas (VALENTE, 1999; MARQUES, 2008). Para maior conhecimento das garras robóticas, recomenda-se a leitura destes trabalhos. Observa-se que as novas garras desenvolvidas apresentam múltiplos dedos compostos por diversas juntas. Para a realização de tarefas como fixação e manipulação, é necessário que todos as juntas trabalhem em sincronismo, e para tanto, controladores mais complexos e eficientes devem ser desenvolvidos. Tanto para o projeto das garras de múltiplos dedos e o desenvolvimento de controladores, quanto para a instalação e a manutenção do sistema, recursos humanos especializados e altos investimentos são necessários. Por isso, as primeiras garras desenvolvidas (tipo pinça e castanha) ainda são encontradas em larga escala como ferramentas dos manipu- 1 Introdução 4 ladores robóticos, fato que os torna altamente especializados e incapazes de se adaptarem às modificações nas condições de operação, ou seja, modificações na forma ou na posição do objeto a ser fixado (CUTKOSKY, 1985). Para que a fixação de um objeto, tanto para sistemas providos de garras desenvolvidas, quanto para sistemas providos de garras primitivas, independa da forma e da posição daquele, é necesária a utilização de um sistema inteligente capaz de localizar o objeto em seu espaço de trabalho e de determinar uma fixação adequada. Neste sentido, pode-se destacar o trabalho realizado por Hanafusa e Asada (1977) como o pioneiro dentre os que se propõem a desenvolver planejadores de fixação. Hanafusa e Asada (1977) propõem um sistema de escolha a partir da geometria de uma seção plana do objeto da posição e da orientação de uma garra de três dedos que permita uma fixação estável do objeto. Os sistemas inteligentes de fixação baseiam-se fundamentalmente nas características do objeto para determinar uma fixação adequada. Dentre as diversas características que um objeto pode apresentar: massa, temperatura, rigidez, forma, textura, cor, entre outras propriedades químicas, físicas e mecânicas; a forma apresenta-se como a mais adequada para a determinação da fixação, embora algumas caracterísicas como a massa e a rigidez também sejam importantes, principalmente para o caso de objetos com densidade variável e deformáveis, respectivamente. A captura desta informação, ou seja, a captura da forma do objeto, pode ser realizada por sistemas de visão bidimensional (visão 2D), normalmente composto por uma única câmera, ou por sistemas de visão tridimensional (visão 3D), que podem ser compostos por duas ou por diversas câmeras, ou compostos por sensores de profundidade da cena ativos ou passivos (FERNANDES, 2005). A partir dos dados do sensor de visão, 2D ou 3D, o sistema de fixação deve então determinar pontos adequados de fixação. Assim, um planejador de fixação, que determina fixações a partir da forma do objeto, é fundamental para tornar os sistemas robóticos mais eficientes nas tarefas de movimentação de objetos, sejam elas destinadas à automação industrial, sejam elas para apoio e realização de serviços em ambientes menos estruturados como escritórios e residências. O presente trabalho segue esta linha de pesquisa e seu objetivo é propor um sistema de determinação de pontos de fixação de objetos, previamente desconhecidos pelo robô, a partir de informações sobre a forma do objeto adquiridas por um sistema de visão. Para uma maior compreensão da fixação de objetos por garras robóticas, na Seção 2.1 do próximo Capítulo, é realizada uma descrição dos trabalhos relevantes da literatura em sistemas de fixação 2D e fixação 3D, que entende-se como fixação baseada na forma do objeto capturada por visão 2D e por visão 3D, respectivamente. 1.2 Objetivos do trabalho 5 1.2 Objetivos do trabalho O presente trabalho, como parte integrante da linha de pesquisa em Habilidades SensoMotoras aplicadas ao Desenvolvimento de Mãos Artificiais Robotizadas desenvolvida no Laboratório de Mecatrônica da EESC-USP, tem como principal objetivo propor sistemas de fixação 3D de objetos desconhecidos por garras robóticas baseados em RNAs, sendo que a tomada de decisão é baseada em informações do objeto obtidas por um sistema de visão. Os sistemas de visão comumente utilizados na robótica podem ser 2D (visão 2D), ou 3D (visão 3D), conforme discutido na Seção 2.1. Por este fato, o objetivo geral do trabalho pode ser dividido em dois objetivos específios. O primeiro objetivo consiste na revisão dos sistemas de fixação 2D de objetos desconhecidos utilizando RNAs. Dois trabalhos da fixação 2D com RNAs são revisados para cumprir este objetivo, são eles: o trabalho de Xu et al. (1990) e o trabalho de Valente (1999). Ainda como parte do primeiro objetivo específico, realizam-se propostas de melhorias dos métodos revisados. A partir das observações dos métodos revistos e dos propostos considerando a fixação 2D, métodos para a fixação 3D de objetos serão apresentados. Portanto, o segundo objetivo específico consiste na extensão dos métodos de fixação 2D para o caso 3D. Esta extensão é baseada, fundamentalmente, nas observações e conclusões obtidas no cumprimento do primeiro objetivo específico. Por fim, como terceiro objetivo específico, o tempo total de processamento deve ser reduzido para que o sistema possa ser utilizado com fins acadêmicos, em pesquisas contemporâneas realizadas no mesmo laboratório e em laboratórios parceiros, ou ainda, para que possa ser introduzido em aplicações industriais e em robôs de serviço. Para atingir tal objetivo, métodos de redução de dados são utilizados para simplificar a representação dos objetos, tanto para o caso 2D quanto para o 3D. Estes métodos de redução de dados também devem ser baseados em RNAs. 1.3 Metodologia adotada Nos sistemas de fixação 2D e 3D revisados e propostos neste trabalho, RNAs são empregadas em substituição aos métodos analíticos, geométricos, de otimização e de busca heurística utilizados em outros trabalhos. As redes são utilizadas nas etapas de processamento de dados e de determinação dos pontos de contato. A vantagem das redes neurais está na sua capacidade 1 Introdução 6 de generalização, sua tolerância a ruídos e sua capacidade de aprendizagem. Na etapa do processamento de dados, as redes são responsáveis por simplificar os dados que representam a forma do objeto, a fim de diminuir os dados necessários para os cálculos das etapas de determinação da fixação. Os resultados da simplificação são comparados com outros algoritmos de simplificação existentes na literatura com o intuito de comparação de desempenho quanto ao tempo e quanto à qualidade. Os resultados dos métodos de fixação, 2D ou 3D, são avaliados quanto à sua capacidade de determinar fixações para objetos desconhecidos. Para isso, bases de objetos são utilizadas, e mede-se o desempenho de cada método na determinação de fixações satisfatórias2 para cada um dos objetos da base. A base de objetos 2D é formada por 8100 imagens de setes objetos obtidas a partir de ambientes virtuais (SAXENA, 2006). A base de objetos 3D é formada por 11700 objetos abstrados contruídos por modelagem computacional. Além das bases de objetos 2D e 3D, 12 imagens de objetos reais são utilizadas para apresentar os pontos de fixação obtidas pelos métodos de fixação 2D, e oito objetos 3D virtuais (três com formato abstrato e cinco com formato de objetos do cotidiano) são utilizados para apresentar os pontos de fixação determinados pelos métodos de fixação 3D. Vale ressaltar também que, para tornar a avaliação dos diferentes métodos independente da garra utilizada, a fixação, 2D ou 3D, é determinada para dois e três pontos de contato sem a consideração das dimensões do objeto e da garra, de colisões, e da acessibilidade aos pontos de contato. Esta simplificação permite avaliar a capacidade de cada método sem restrições de carácter cinemático. Além da qualidade dos resultados, também se investiga o tempo de processamento de cada método, pois é desejado obter os menores tempos de processamento possíveis. Os tempos de processamento dos diferentes métodos utilizando RNAs são comparados com os tempos de processamento do método da busca heurística, que tem sempre 100% de fixação satisfatórias, porém com tempos elevados. Todas as simulações são realizadas em um computador tipo Desktop com processador de 64bits com velocidade de 2,0 GHz de processamento. As simulações são realizadas no ambiente de desenvolvimento Matlab. Esta plataforma utilizada nos testes e simulações é citada em todo o texto como "computador de testes". 2 No Capítulo 3 é apresentada a propriedade force-closure de uma fixação, que define se uma fixação é satisfatória ou não. 1.4 Organização do texto 7 1.4 Organização do texto Esta Dissertação está organizada na seguinte forma: No Capítulo 2, são apresentados os principais trabalhos que propõem métodos de fixação de objetos baseados em sua forma 2D e 3D. Para cada um dos métodos apresentados, as principais características e resultados são apresentados e discutidos com a finalidade de comparar os métodos da literatura e seus resultados com os métodos e resultados apresentados e obtidos neste trabalho. A fundamentação teórica sobre o tema principal, a fixação de objetos, é realizada no Capítulo 3, com a apresentação do estado da arte da teoria fundamental da fixação. O Capítulo 4 apresenta modificações na rede neural proposta por Chung et al. (1994), e modificada por Araújo e Tanaka (1995), para o problema da aproximação poligonal de curvas definidas em um plano. A rede neural proposta é utilizada na etapa de redução dos dados, que representam a forma do objeto, nos sistemas de fixação 2D apresentados no Capítulo 5. Simulações com curvas que definem objetos reais são apresentadas, e comparações quanto à qualidade de aproximação e quanto ao tempo de processamento do algoritmo proposto com o algoritmo original, e com outros algoritmos de aproximação poligonal, também são apresentadas. No Capítulo 5, é estudado o problema de fixação 2D utilizando RNAs. O problema é abordado para fixações por dois e três pontos de contato. Cada uma das etapas do planejador da fixação 2D é detalhada. Resultados de simulações com imagens de objetos reais são apresentadas para os diferentes métodos de determinação da fixação 2D. E ainda, simulações são realizadas com uma base de 8100 objetos diferentes para verificar o desempenho das redes. No Capítulo 6, é proposto um algoritmo para a simplicação de superfícies que representam objetos 3D. O algoritmo é uma adaptação da rede competitiva de Hopfield para a aproximação poligonal proposta no Capítulo 4. A simplificação é utilizada no algoritmo de fixação 3D para reduzir os dados de representação das superfícies que definem objetos. Os resultados obtidos na simplificação de superfícies são comparados quanto à qualidade da simplificação com outros algoritmos de simplificação de referência na literatura. Considerações sobre o tempo de processamento também são apresentadas. No Capítulo 7, a fixação 3D utilizando RNAs é estudada, e planejadores de fixação 3D de objetos desconhecidos por dois e três pontos de contato são apresentados. Testes dos algoritmos de fixação 3D são realizados com objetos provenientes de modelagem computacional. Nos testes é utilizada uma base de 11700 objetos 3D abstratos, que foram obtidos por mode- 1 Introdução 8 lagem computacional. Os resultados obtidos mostram a capacidade de se determinar fixações adequadas para objetos desconhecidos, e considerações sobre o tempo de processamento são realizadas em relação às possíveis aplicações. No Capítulo 8, é apresentado um algoritmo de auto-aprendizagem de fixações baseado nas RNAs implementadas e simuladas nos Capítulos 5 e 7. Diferentes simulações com as bases de objetos são realizadas a fim de verificar a capacidade de auto-aprendizagem. Os resultados obtidos apontam a capacidade das redes em melhorar seu desempenho pelo mecanismo de aprendizagem proposto. Por fim, no Capítulo 9 seguem as considerações finais do trabalho assim como várias propostas para trabalhos futuros. Além disso, por motivos didáticos, algumas considerações e propostas específicas do tema abordado são também realizadas ao final de cada Capítulo. 9 2 Revisão bibliográfica 2.1 Fixação de objetos desconhecidos por garras robóticas A fixação de um objeto pode ser definida como a aplicação de forças de contato adequadas que mantêm o objeto em equilíbrio estático, e também capazes de equilibrar carregamentos externos. Para que uma fixação apresente as características descritas, as forças aplicadas pela garra sobre o objeto devem estar localizadas em pontos estratégicos, os denominados pontos de contato ou pontos de fixação. Estes pontos são determinados pelo planejador da fixação a partir das características do objeto, do tipo de garra, do modelo do contato e dos possíveis carregamentos externos. Para os casos em que os objetos são previamente desconhecidos pelo sistema, é necessário que o planejador reconheça o objeto através da interpretação dos dados obtidos pelos sensores de visão. Os tipos de sensores utilizados determinam quais os objetos podem ser fixados e quais as garras mais adequadas para a operação. Por exemplo, os planejadores que reconhecem a forma do objeto a partir de uma única câmera são eficientes apenas para objetos planos (PEDRO; CAURIN, 2008). As informações obtidas por sistemas de visão 2D apresentam somente informações sobre a seção predominante do objeto, desta forma, o sistema de fixação 2D está limitado a fixar objetos cuja altura é expressamente menor que a sua seção predominante. Devido à limitação de objetos a serem fixados, imposta pelo sistema de visão, as garras mais empregadas neste caso são as garras primitivas, as garras tipo pinça e castanha, sendo que a utilização de garras de múltiplos dedos e múltiplos graus de liberdade não é recomendada, pois a sua grande capacidade de movimentação fica subutilizada. Para o caso de planejadores que utilizam sensores mais poderosos, como visão estereoscópica ou scanner 3D, a obtenção de informações sobre a geometria 3D da peça permite determinar pontos de fixação mais adequados, ou até selecionar regiões de fixação como alças e cabos, ou ainda determinar uma postura para a garra adequada para uma operação específica (CUTKOSKY, 1985). Por vezes, uma fixação, que foi determinada a partir dos dados obtidos por um sistema de visão 3D, somente é executada com sucesso pelas garras mais com- 2 Revisão bibliográfica 10 plexas, pois em alguns casos, tal como aqueles em que os pontos selecionados não estão em uma disposição geométrica trivial, a fixação pode apenas ser realizada pelas garras de maior mobilidade. Os planejadores de fixação podem então ser classificados em relação ao método de aquisição de dados da cena em duas classes: planejadores de fixação 2D e planejadores de fixação 3D. O primeiro sistema determina os pontos de contato a partir da forma 2D do objeto, enquanto que o segundo determina-os a partir da forma 3D. Na literatura, pode-se ainda encontrar diferentes definições para fixação 2D e 3D determinadas pela ocorrência de carregamentos apenas em um plano, e pela ocorrência de carregamentos no espaço respectivamente. Existem ainda outros sistemas capazes de fixar objetos que utilizam sensores de força e de tato combinados com sensores de visão (VISCHER, 1992; ALLEN et al., 1996; HAIDACHER, 2004), contudo, no presente trabalho os estudos estão concentrados naqueles planejadores que utilizam apenas informações obtidas pelos sensores de visão. Os principais planejadores de fixação 2D e 3D propostos na literatura são apresentadas nas Seções 2.1.1 e 2.1.2, repectivamente. 2.1.1 Fixação 2D de objetos desconhecidos A fixação 2D consiste em aplicar forças de contato, capazes de manter o objeto em equilíbrio e resistir a distúrbios, cujas posições de aplicação são determinadas a partir da sua forma 2D. A fixação apresenta basicamente três fases definidas: aquisição de dados da cena, processamento dos dados, e planejamento e execução da fixação. Nos trabalhos precursores de Hanafusa e Asada (1977) e Backer et al. (1985), as estapas anteriores ao planejamento da fixação, responsáveis pela aquisição dos dados da cena e de processamento dos dados para a definição da forma do objeto não foram consideradas. Contudo, Sanz et al. (1998) e Morales et al. (2001) apresentam as câmeras como os sensores de aquisição mais adequados para o caso. De fato, nos trabalhos citados nesta Seção, com exceção daqueles que abstraem a informação, uma única câmera é utilizada como dispositivo de aquisição de dados da cena. A câmera pode ser móvel, normalmente localizada junto ao efetuador do braço robótico (câmera de punho), ou estática em uma posição estratégica, normalmente no topo da cena (câmera de topo). A utilização de uma câmera implica na necessidade de calibração do sistema, e da transformação das coordenadas da imagem (posição dos pixels na imagem) para um sistema de coordenadas conhecido pelo robô (sistema de coordenadas global para as câmeras de topo, e sistema de coordenadas da ferramenta para as câmeras de punho). 2.1 Fixação de objetos desconhecidos por garras robóticas 11 A etapa de processamento dos dados consiste na aplicação, sobre a imagem da cena, de técnicas de processamento de imagens. O processamento da imagem tem como objetivos básicos a localização do objeto na cena, a determinação da sua forma, normalmente representada pelo seu contorno, e a extração de algumas de suas características, tais como: área, centro geométrico, perímetro, momentos principais de inércia, esqueleto, entre outros. Em alguns casos a forma ainda é simplificada, como em Boissonnat (1982), que simplifica o contorno do objeto por cinco primitivas elementares, e em Backer et al. (1985), Valente (1999) , e Ballester (2003) que simplificam o contorno do objeto por uma aproximação poligonal. O objetivo de simplificar a forma do objeto é, na maioria dos casos, reduzir o custo computacional e o tempo de processamento das etapas posteriores de determinação dos pontos de contato. A partir da forma do objeto, simplificada ou não, das suas outras características, das características da garra considerada e do tipo de contato, pontos adequados para uma fixação devem ser determinados pelo planejador da fixação 2D. Os principais algoritmos de fixação 2D são apresentados nos próximos parágrafos, e são descritas: a etapa de processamento de imagens, quando não abstraída, as características das garras e do contato, e o método de determinação dos pontos1 . O trabalho realizado por Hanafusa e Asada (1977) é considerado por diversos autores como o trabalho pioneiro na determinação de pontos de contato a partir da geometria do objeto. A garra considerada possui três dedos elásticos compostos por molas, dispostos em um anel e defasados de 120o entre si. Os dedos não apresentam movimentação lateral, a força aplicada é controlada pela deformação da mola desconsiderando as forças de atrito. O objetivo é encontrar uma posição no plano xy, e uma orientação θ entre a garra e o objeto, medida no mesmo plano, em que a força aplicada por cada dedo sobre o objeto (medida pela deformação da mola) seja mínima. Para tanto, uma busca composta de três etapas é realizada: na primeira etapa, o centro da garra é posicionado sobre o centróide do objeto; na segunda, a orientação θ da garra é variada até o ponto de menor deformação das molas; na terceira etapa, a posição da garra no plano xy é variada mantendo θ constante até um novo ponto de mínima deformação. Como limitações pode-se citar a ocorrência de escorregamento dos dedos sobre o objeto, pois o sistema não considera o atrito e o ângulo entre as orientações dos dedos e as direções normais aos contatos, e ainda segundo Backer et al. (1985), o sistema não é capaz de encontrar o mínimo global de energia da fixação. 1 Recomenda-se a leitura dos trabalhos completos para uma melhor compreensão dos mesmos. 2 Revisão bibliográfica 12 (a) (b) Figura 2.1: Esquemático da garra de Hanafusa e Asada (1977). A Figura 2.1(a) mostra os dedos da garra dispostos sobre um anel a 120o entre si, e a Figura 2.1(b) representa a garra fixando um objeto e as molas deformadas. Backer et al. (1985) propõem modificações para o sistema de Hanafusa e Asada (1977) a fim de ampliar a capacidade de fixação do sistema. Movimentos laterais são adicionados a dois dedos da garra, o atrito é considerado no modelo do contato e um sistema de escolha da fixação baseado na geometria do objeto, ao contrário de uma busca, é proposto. A movimentação lateral permite um ajuste adequado entre as posições dos dedos e as direções normais aos contatos, e ainda evita a ocorrência de forças de atrito não desejadas que podem provocas possíveis escorregamentos. Os pontos de contato são determinados pelo cruzamento entre o polígono que representa o objeto e o maior circulo inscrito no mesmo (vide Figura 2.2(a)). É demonstrado pelos autores que o novo sistema é capaz de determinar pontos de fixação mais estáveis que o sistema anterior de Hanafusa e Asada (1977), contudo, o sistema apresenta falhas para objetos côncavos, com rasgos ou com reentrâncias, pois os pontos selecionados nestes locais podem não ser acessíveis para os dedos da garra. Hanafusa e Asada (1977) utilizam um modelo simplificado de contato, em que a força é realizada sobre um ponto do objeto e os efeitos de atrito são despresados. Backer et al. (1985) consideram a ocorrência de forças de atrito no posicionamento dos dedos, o que possibilitou a obtenção de melhores resultados. De fato, as forças de atrito evitam que os dedos escorreguem sobre a superfície do objeto durante a fixação. Para tanto, a diferença angular entre a direção de aplicação da força e a direção normal ao ponto de contato deve estar abaixo de um limiar definido pelo coeficiente de atrito entre dedo e objeto. A região definida por este limiar é denominada cone de atrito. Salisbury (1982a) apresenta oito modelos diferentes de contato entre dedo e objeto, contudo, os modelos podem ser resumidos em três tipos: ponto de contato sem atrito; ponto de 2.1 Fixação de objetos desconhecidos por garras robóticas (a) 13 (b) Figura 2.2: Resultado do sistema proposto por Backer et al. (1985) para duas formas geométricas. A Figura 2.2(a) mostra resultado satisfatório para uma forma qualquer, e Figura 2.2(b) mostra um exemplo de falha, em que não é possível atingir o ponto vermelho. contato com atrito; e contato macio (MURRAY et al., 1994). O modelo de ponto de contato sem atrito permite apenas a aplicação de forças na direção normal ao ponto de contato. O modelo de ponto de contato com atrito permite a aplicação de forças localizadas dentro do cone de atrito. O modelo de contato macio permite a aplicação de forças localizadas dentro do cone de atrito, e momentos de atrito, abaixo de um limiar, na mesma direção de aplicação da força (mais detalhes na Seção 3.2.1). O modelo de contato entre os dedos e o objeto é decisivo na escolha do tipo de garra a ser utilizada e no desenvolvimento do algoritmo de determinação dos contados. Por exemplo, quando se considera o modelo de contato pontual sem atrito, quatro contatos dispostos estrategicamente são necessários para imobilizar um objeto suscetível à movimentações no plano, e sete contatos para movimentos no espaço (LAKSHMINARAYANA, 1978). Quando se considera o modelo de contato com atrito, três pontos de contato são necessários para resistir a quaisquer esforços no espaço, e quando se considera o modelo de contato macio, apenas dois pontos são suficientes para resistir a esforços no espaço (NGUYEN, 1988). Ainda sobre os trabalhos de Hanafusa e Asada (1977) e Backer et al. (1985), as forças de contato são determinadas a partir da deformação das molas, e as forças de atrito em cada contato, para o caso do segundo trabalho, podem ser determinadas analiticamente. Em outros casos particulares, como o estudado por Abel et al. (1985), em que apenas a força gravitacional 2 Revisão bibliográfica 14 atua sobre o objeto e as forças de contato e atrito são definidas no mesmo plano da gravidade, é possível determinar as forças de atrito através de equações de equilíbrio estático do objeto. Contudo, quando se considera modelos completos e todas as possibilidades de carregamentos sobre o objeto, pode-se dizer que é impossível a determinação dos carregamentos de cada contato (forças de atrito e momentos de atrito) a partir da resolução analítica das equações de equilíbrio estático do objeto. Nestes casos, a fixação é determinada segundo diferentes critérios de qualidade e de estabilidade (MURRAY et al., 1994). Chen e Burdick (1992) utilizam o modelo de contato macio e apresentam um algoritmo baseado em técnicas de otimização para determinar pontos de contato para garras de dois dedos. Uma função custo classifica os pontos de fixação de acordo com as características geométricas da fixação: distância entre pontos, ângulos entre a direção da normal ao ponto e da força, distância entre centróide e pontos de contato e distância entre linha de ação (definida pela semi-reta ligando os pontos de contato) e centróide. Técnicas de otimização são utilizadas para encontrar os pontos críticos da função custo que representam pontos adequados de fixação. Também se destaca neste trabalho a utilização da forma do objeto simplificada. Nesta simplificação, seções do contorno do objeto são representadas por polinômios do terceiro grau. No trabalho realizado por Bendiksen e Hager (1994), uma garra de dedos paralelos é utilizada para fixar objetos planos. Dados da cena são adquiridos por uma única câmera e a forma do objeto é determinada pelo contorno extraído pelo sistema de processamento de imagens. Para a determinação dos pontos de contato, uma busca heurística é realizada e cada configuração é avaliada segundo um critério de estabiblidade. Um sistema mapeia os pontos de contato para o sistema de coordenadas global e a fixação é executada. Dentre os 14 objetos utilizados nos experimentos, 10 foram fixados com sucesso. Similar aos trabalho de Chen e Burdick (1992) e Bendiksen e Hager (1994), pode-se também citar outros trabalhos como o de Sanz et al. (1998) e Morales et al. (2006b), em que uma função custo é relacionada à geometria da fixação, e técnicas de busca ou de otimização são aplicadas a fim de se encontrar um fixação adequada. Estas técnicas de determinação de pontos de contato requerem muito tempo e recursos computacionais de processamento. A redução do número de dados para a busca, pela aplicação de técnicas de simplificação da forma do objeto, reduz significativamente o tempo e os recursos de processamento, contudo, os sistemas ainda eram para aplicações em robótica na época (XU et al., 1990). Com o objetivo de melhorar a capacidade do planejador da fixação, Kamon et al. (1994) utilizam informações de um banco de dados para determinar os pontos de contato. A partir de uma imagem capturada por uma câmera de topo, algumas informações (ângulos entre dedos e 2.1 Fixação de objetos desconhecidos por garras robóticas 15 as normais ao contato, distância entre o centróide e a linha de ação e distância entre os pontos de contato e o eixo de simetria) são extraídas e comparadas com as informações do banco de dados, e uma primeira fixação é determinada e executada. A partir da imagem adquirida por uma câmera lateral auxiliar, a fixação é avaliada segundo o comportamento do objeto, como rotação ou escorregamento, provocado pela execução da fixação. Se a fixação for considerada satisfatória ou adequada, as informações são adicionadas ao banco de dados, caso contrário, novas tentativas são realizadas até ocorrer uma fixação estável, cujas características são adiconadas ao banco de dados. O método de Kamon et al. (1994) é capaz de aprender novas fixações e apresenta resposta rápida para fixação cujas características já foram adicionadas ao banco de dados. Porém, o mecanismo de verificação da fixação para adição, ou não, ao banco de dados, torna o sistema lento e inviável para aplicações que exigem rápido tempo de resposta. Outra proposta interessante, capaz de aprender novas fixações, é apresentada por Xu et al. (1990), em que é sugerida a utilização de redes neurais artificiais (RNAs) para a determinação dos pontos de fixação. O trabalho sugere que, inicialmente, uma RNA de Hopfield (HOPFIELD, 1982) pode ser utilizada para determinar uma fixação estável. As RNA de Hopfield podem ser utilizadas em processos de otimização e de busca, desde que sua função objetivo seja apropriada para o caso. Contudo, o valor de convergência da rede depende de uma inicialização adequada (XU et al., 1990). Para tanto, sugere-se que uma RNA feedforward de múltiplas camadas de neurônios (MLP - sigla do termo em inglês multilayer perceptron) seja utilizada na etapa de inicialização. A rede MLP, previamente treinada com padrões geométricos, determina uma inicialização adequada para a RNA de Hopfield que é responsável pelo refinamento da determinação da fixação. O resultado obtido pela rede de Hopfield é comparado com o resultado da rede MLP, e se os resultados apontarem que a inicialização não foi adequada, o objeto e sua respectiva fixação são adicionados aos padrões para retreinamento da rede. O sistema de aprendizado supervisionado apresenta possibilidades de bons resultados, contudo o elevado tempo de retreinamento da rede MLP2 , impede a execução do aprendizado em tempo de execução (aprendizado on-line), e ainda, não foi demonstrado nenhum resultado da proposta, sendo que resultados foram apresentados apenas para as redes de Hopfield na determinação de fixações. Ainda com relação às RNAs, destaca-se o trabalho realizado por Valente (1999). Assim como no trabalho de Xu et al. (1990), duas RNAs distintas são utilizadas. A primeira rede neural, de Hopfield, é responsável por simplificar a forma do objeto. A simplificação con2 Atualmente, as redes MLP ainda apresentam elevados tempos de treinamento mesmo nos computadores de maior velocidade de processamento. O tempo de treinamento varia de alguns minuto até horas, dependendo principalmente do número de camadas e de neurônios. 2 Revisão bibliográfica 16 siste em reduzir o contorno do objeto, que é extraído de uma imagem, para um polígono de 50 lados. A segunda rede, tipo feedforward, previamente treinada com 15 padrões geométricos, recebe como entrada o polígono de aproximação e determina pontos de contato para garras de três dedos sem movimentação lateral. Foi estudado o comportamento de redes MLP e de função de base radial (RBF - sigla do termo em Inglês Radial bases function) na realização da segunda etapa do processo, e os resultados obtidos mostram que ambas apresentam resultados satisfatórios quanto à qualidade da fixação, contudo, na etapa de treinamento das redes feedforward, realizada em etapas de pré-execução, as redes RBF apresentaram tempo de treinamento menores (segundos de treinamento para a rede RBF contra minutos para a rede MLP). Uma das desvantagens do sistema proposto por Valente (1999) é o elevado tempo de execução da rede de aproximação poligonal, que pode chegar a minutos de processamento (PEDRO; CAURIN, 2008). O tempo de treinamento da rede RBF possibilita a implementação de um sistema de aprendizado em tempo de execução, contudo, o tempo de execução da rede de Hopfield na etapa de aproximação poligonal, que leva cerca de minutos, impossibilita sua utilização em sistemas de rápido processamento. Dentre todos os trabalhos acima citados, muitos apresentam soluções satisfatórias quanto à qualidade da fixação, porém, os tempos elevados de processamento, principalmente dos sistema capazes de aprender novas fixações, não permitem que as soluções sejam utilizadas nos sistemas robóticos de automação industrial ou de serviços, cujo tempo total de resposta deve ser rápido. Na tentativa de reduzir o tempo de processamento, trabalhos recentes que utilizam técnicas de rápido processamento têm sido desenvolvidos. Sanz et al. (1998), Morales et al. (2001), Sanz et al. (2005) e Morales et al. (2006) propõem sistemas de fixação de objetos, previamente desconhecidos pelo sistema, com reduzidos tempos de processamento, porém sem capacidade de aprendizagem. Nestes sistemas, a extração das características do objeto é realizada por algoritmos de rápido processamento (vide Sanz et al. (2005)) e regiões candidatas para fixação são selecionadas a partir de uma aproximação da forma do objeto. Uma busca refinada é realizada para determinar pontos de fixação para garras de dois e três dedos. Os sistemas são implementados com dispositivos simples e dedicados, a fim de levar tais tecnologias às indústrias. O sistema proposto foi testado na indústria de alimentos onde a forma dos objetos apresenta variações significativas. Bons resultados foram observados com tempos de processamento inferiores a 5s. Apesar do rápido tempo de processamento, estes sistemas não são capazes de aprender novas fixações. 2.1 Fixação de objetos desconhecidos por garras robóticas 17 2.1.2 Fixação 3D de objetos desconhecidos Para a determinação da fixação de objetos de geometria 3D complexa, a utilização de informações sobre apenas uma seção, aquela obtida por um sistema de visão 2D, não é suficiente, pois a seção representa apenas uma das vistas do objeto, e todo o restante da sua forma não é considerada nos cálculos (HAUCK et al., 1999). Portanto, a fixação 2D é eficiente apenas para uma classe de objetos, aqueles que apresentam uma seção predominante, e para fixar de forma eficiente os objetos das demais classes, em que a geometria 3D é mais complexa, é necessário utilizar informações sobre toda a superfície do objeto. A consideração de todo o formato superficial do objeto na determinação de uma fixação caracteriza a fixação 3D, que pode ser formalmente definida como a aplicação de forças sobre um objeto por garras robóticas, sendo que tais forças são determinadas a partir da geometria 3D do objeto. Na fixação 3D, assim como na fixação 2D, as forças devem ser capazes de manter o objeto em equilíbrio estático e de resistir a qualquer carregamento externo aplicado sobre o mesmo. Quando a fixação 3D é comparada com a fixação 2D, a primeira diferença encontrada é a forma de aquisição e de representação dos dados referentes ao formato do objeto. Na fixação 2D, o dispositivo utilizado na maioria dos casos é uma câmera, e logo, toda a informação necessária para a determinação da fixação está contida em uma imagem. Existem algumas variações na maneira com que as características do objeto, necessárias para se determinar a fixação, são extraídas das imagens, porém todas as variações podem ser classificadas como métodos de processamento de imagens ou como métodos de extração de características de imagens. Ainda quanto à determinação da fixação 2D, as principais diferenças entre os diversos métodos de fixação estão concentradas na forma com que as informações extraídas das imagens são trabalhadas a fim de se obter uma fixação adequada. Por outro lado, para o caso da fixação 3D, pode-se afirmar que existem diferentes possibilidades de determinação da forma do objeto, e conseqüentemente, os métodos de determinação da fixação são especializados em função do método de aquisição dos dados. Esta especialização é evidenciada a seguir juntamente com a descrição dos trabalhos de destaque na fixação a partir da geometria 3D do objeto. Uma das formas mais simples e diretas de se determinar pontos de fixação 3D é a extensão dos resultados da fixação 2D para o caso 3D. Alguns trabalhos (BACKER et al., 1985; XU et al., 1990) propõem que seus algoritmos para fixação 2D podem ser extendidos para o caso 3D. Backer et al. (1985) propõem que seu algoritmo de fixação 2D pode ser utilizado para objetos com seção constante segundo uma altura conhecida. Xu et al. (1990) sugerem que seu 2 Revisão bibliográfica 18 algoritmo baseado em RNAs de Hopfield pode ser aplicados para o caso 3D. No caso de Backer et al. (1985), a estratégia de determinar uma fixação baseada nas informações da forma de uma seção constante por toda uma altura também conhecida é denominada por alguns autores como fixação 2,5D, que apresenta as mesmas desvantagens que a fixação 2D aplicada a objetos complexos. No segundo caso, nenhum resultado experimental ou simulado é comentado ou apresentado. A estratégia de estender o algoritmo da fixação 2D para o caso 3D é adotada principalmente na tentativa de solucionar os problemas relacionados à aquisição dos dados 3D da cena. Podese dizer que uma das principais dificuldades encontradas para a determinação da fixação 3D consiste na etapa de aquisição dos dados, pois, mesmo com o grande avanço desde a época dos trabalhos de Backer et al. (1985) e Xu et al. (1990), os dispositivos atuais ainda apresentam grandes erros e elevados tempos de aquisição (WANG et al., 2005; YAMAZAKI et al., 2006). De fato, alguns trabalhos recentes (KRAGIC et al., 2001; LEE; LEE, 2003; BLEY et al., 2006) dedicam-se à investigação e à proposição de sistemas de visão 3D com a finalidade de fornecer ao planejador da fixação dados e informações sobre a geometria 3D do objeto com erros e tempo de aquisição reduzidos. Os sistemas de visão 3D desenvolvidos por Kragic et al. (2001), Lee e Lee (2003) e Bley et al. (2006) atendem os requisitos de tempo de processamento e de precisão. Contudo, estes sistemas requerem elevados recursos computacionais, conforme é descrito pelos próprios autores, fator que, conseqüentemente, eleva o custo destes sistemas, tornado-os proibitivos em alguns casos em que se deseja baixo custo, em detrimento da capacidade do sistema. Na busca de soluções de baixo custo para a fixação 3D, alguns trabalhos utilizam os resultados da fixação 2D para a determinação das coordenadas tridimensionais dos pontos de fixação. Diferentemente das propostas de extenção da fixação 2D para o caso 3D, estas soluções consistem na determinação de fixação 2D para uma série de imagens de um mesmo objeto, obtidas a partir de diferentes posições. A partir dos pontos selecionados em cada uma das diferentes imagens, algoritmos específicos de triangulação são aplicados a fim de se determinar as coordenadas espaciais daqueles pontos. Taylor et al. (1994) descrevem e discutem as limitações da fixação 2D em relação a determinação da direção normal aos pontos de contato. Segundo Taylor, a utilização de uma única imagem possibilita apenas a determinação da direção normal aos pontos no plano da imagem, pois a componente da normal na direção perpendicular à imagem não é considerada. Na tentativa de solucionar o problema, Taylor et al. (1994) propõem um sistema de mapeamento baseado na movimentação de uma câmera de punho ao redor do objeto. A partir de uma imagem inicial, 2.1 Fixação de objetos desconhecidos por garras robóticas 19 uma fixação por dois pontos de contato é determinada. Um algoritmo de movimentação calcula a próxima posição da câmera segundo o eixo formado pela semi-reta que une os dois pontos de fixação. A cada nova posição, a nova imagem é analisada e a direção normal é atualizada. A movimentação prossegue até que a verificação seja completada, realizando a fixação caso nenhuma verificação aponte instabilidade, e interrompendo o processo ao encontrar uma situação de instabilidade. Neste último caso, o processo é reiniciado com uma nova posição de aquisição da primeira imagem. No trabalho de Taylor et al. (1994), a superfície do objeto não é reconstruída, portanto, novos dados são coletados a cada tentativa. O algoritmo é capaz de determinar pontos de contato para garras de dois dedos para objetos de formato 3D complexo. Contudo, o processo de verificação da fixação pela movimentação da câmera torna o processo demorado, e dependendo da complexidade da forma do objeto, o processo pode ser repetido várias vezes até que uma fixação estável seja encontrada. Também utilizando diversas imagens consecutivas para a fixação 3D, destaca-se o trabalho de Saxena et al. (2006), em que uma câmera movimenta-se ao redor do objeto, e dois pontos de contato são determinados para o objeto em cada uma das imagens adquiridas. As coordenadas 3D dos pontos de contato são obtidas por triangulação dos pontos de contato das várias imagens. Os pontos de fixação para cada imagem são determinados por uma busca heurística, e a principal vantagem do método é a não necessidade de triangulação de todos os pontos do objeto ou de reconstruir um modelo virtual do objeto. Os pontos de contato de uma fixação 3D podem também ser obtidos a partir de imagens de um sistema de visão estereoscópica (HAUCK et al., 1999). Neste caso, pontos de contato são determinados para cada uma das duas imagens a partir de um algoritmo de fixação 2D. Posteriormente, uma triangulação é executada com os pontos selecionados nas duas imagens para se conhecer as coordenadas x, y e z dos pontos de contato. A determinação das coordenadas tridimensionais dos pontos de contato a partir da triangulação de resultados da fixação 2D para várias imagens é uma alternativa razoável para solucionar o problema de aquisição da geometria 3D do objeto. Esta abordagem, é mais rápida em relação aos tempos de aquisição e de processamento dos dados adquiridos, e os resultados obtidos são melhores que aqueles da fixação 2D em relação aos objetos mais complexos. Contudo, a não utilização da geometria 3D completa do objeto na determinação da fixação desclassifica estes trabalhos como sistemas de fixação 3D, pois a forma de todo o objeto não é considerada, apenas se consideram as informações geométricas locais na determinação da fixação. Segundo a classificação adotada, a fixação 3D consiste na determinação de pontos de con- 2 Revisão bibliográfica 20 tato a partir da geometria 3D do objeto. Para o caso dos trabalhos de Saxena et al. (2006) e Hauck et al. (1999), as fixações determinadas em cada diferente imagem não consideram as direções normais aos pontos do objeto no sentido perpendicular ao plano da imagem. Para o caso do trabalho de Taylor et al. (1994), a direção normal é completamente verificada apenas para pequenas regiões da superfície do obejto, sendo que o restante da mesma não é verificada. Uma outra abordagem adotada pelos pesquisadores da área, com a finalidade de transpor as dificuldades relacionadas à aquisição dos sistemas atuais de visão 3D, é a identificação dos objetos na cena através de comparações das imagens do objeto com uma base de modelos virtuais (MORALES et al., 2006; MILLER et al., 2003). Nesta abordagem as informações contidas em uma base de dados são comparadas com a(s) imagem(s) do objeto a fim de se determinar a posição e a orientação deste na cena. A fixação 3D é então determinada para o modelo virtual que corresponde ao objeto. Esta estratégia também soluciona o problema da presença de faces ocultas que ocorrem quando dados são coletados por um sensor de visão 3D estático, ou quando não é possível obter toda a superfície do objeto. Nestes casos, não se conhece a geometria do objeto na região oculta, mas esta pode ser estimada pelos dados auxiliares do modelo da base de dados relacionada. A alternativa de se utilizar modelos virtuais apresenta a desvantagem de se trabalhar apenas com os objetos cujos modelos já estão disponíveis, objetos previamente desconhecidos não são fixados quando esta estratégia é adotada, pois não é possível selecionar um modelo correspondente ao objeto e, conseqüentemente, não é possível determinar pontos de contato para o objeto real. Para se fixar objetos cujos modelos não estão disponíveis na base de dados, é necessário adquirir dados de todo o entorno do objeto, seja utilizando triangulação a partir de imagens (YAMAZAKI et al., 2006), seja pela combinação de dados adquiridos por sensores de visão 3D em diferentes posições (ADE et al., 1994), ou seja, pela utilização de diferentes sensores integrados (WANG et al., 2005). Para a fixação de objetos de geometria 3D complexa e desconhecida, é necessário que o sistema conheça toda a superfície do objeto, ou que a superfície conhecida seja suficiente para se determinar uma fixação adequada. Os dispositivos atuais permitem que a informação completa seja obtida, desde que diferentes aquisições sejam realizadas em posições estratégicas. A aquisição de diferentes vistas do objeto pode ser realizada ao mesmo tempo por diferentes dispositivos (ADE et al., 1994), a partir de movimentações de um único sensor ao redor do objeto (YAMAZAKI et al., 2006), ou pela integração de diferentes sensores (WANG et al., 2005). No primeiro e no terceiro caso, a desvantagem principal é o custo que é multiplicado pelo número de sensores utilizados, e no segundo caso, a desvantagem é o tempo decorrido 2.1 Fixação de objetos desconhecidos por garras robóticas 21 para a movimentação do sensor para aquisição em cada diferente posição. E ainda, para os três casos, é necessário manipular os dados para a correta construção do modelo virtual do objeto. Devido às dificuldades e às desvantagens de se utilizar os atuais sensores de visão 3D, alguns autores adotam a hipótese de que os dados da geometria 3D do objeto já foram obtidos de alguma maneira e estão disponíveis para a determinação da fixação. A partir destas hipóteses o problema é então abordado como um caso de fixação 3D, em que os pontos de contato são definidos a partir da geometria 3D do objeto. A adoção de tal hipótese permite que algoritmos e métodos para a fixação 3D sejam desenvolvidos antes mesmo de uma solução para aquisição da superfície do objeto que atenda a todos os requisitos da fixação 3D. Contudo, além das dificuldades de se trabalhar com os sensores de visão 3D, existe outro fator problemático a ser considerado na fixação 3D: a consideração da terceira coordenada no problema da fixação aumenta a complexibilidade, em relação à fixação 2D, da relação entre as forças aplicadas nos pontos de contato e o equilíbrio estático do objeto. Para o caso da fixação 2D, algumas simplificações e hipóteses permitem a solução analítica das equações de equilíbrio da fixação (BACKER et al., 1985), e ainda, para os casos mais complexos, as variáveis independentes das equações de equilíbrio que são relacionadas à geometria de fixação podem ser resolvidas pela aplicação direta de técnicas de otimização (CHEN; BURDICK, 1992) ou pela busca da configuração de melhor qualidade da fixação segundo uma função custo estabelecida. Para o caso da fixação 3D, a verificação da estabilidade da fixação, assim como a determinação da qualidade da fixação, não é realizada de forma trivial como aquela realizada para o caso 2D, pois a consideração da terceira coordenada no problema aumenta o número de variáveis indepentendes e torna mais complexa a relação entre elas. Portanto, para o desemvolvimento de algoritmos eficientes de fixação 3D, foi necessário o desenvolvimento de uma teoria capaz de relacionar as forças aplicadas sobre o objeto e sua disposição geométrica com o equilíbrio estático do objeto e a capacidade de resistir a esforços externos aplicados sobre o mesmo. Considera-se na literatura que a teoria da fixação iniciou-se com Nguyen (1988), que propõe a propriedade force-closure de uma fixação. Esta propriedade relaciona a geometria da fixação com a sua capacidade de resistir a carregamentos externos. Nesta teoria, a capacidade da fixação é determinada a partir da construção da envolvente convexa das possíveis forças aplicáveis (cone de atrito) em cada ponto de contato. Segundo Nguyen (1988), se a envolvente convexa dos cones de atrito contiver a origem do sistema na qual a mesma é desenhada, então a fixação resiste a qualquer carregamento e é denominada force-closure. Destaca-se também o trabalho de Ferrari e Canny (1992), que propõem uma normalização para o cálculo da qualidade de 2 Revisão bibliográfica 22 uma fixação force-closure. Ferrari e Canny (1992) propõem duas diferentes métricas, Q1 e Q∞ calculadas a partir da envolvente convexa, e que estimam a capacidade de uma fixação de resistir a carregamentos externos. Outros trabalhos também foram fundamentais na elaboração da teoria da fixação (MURRAY et al., 1994; PONCE et al., 1993; BORST et al., 1999; BICCHI; KUMAR, 2001; MILLER; ALLEN, 1999), entre outros colaboradores. A teoria da fixação é detalhada no Capítulo 3. Atualmente, a teoria da fixação desenvolvida pelos autores supracitados é amplamente aceita e utilizada pelos pesquisadores da área, de tal forma que programas específicos como o GraspIt! (MILLER; ALLEN, 2004) foram implementados para serem utilizados como ferramentas no desenvolvimento de planejadores de fixação e de manipulação em geral. Como exemplo, o programa GraspIt! é capaz de verificar a estabilidade da fixação, estimar a sua qualidade, e ainda verificar colisões e corportamento dinâmico dos objetos e dos dedos da garras em tarefas de manipulação. Quando integrados com outros sistemas, estes programas também podem ser utilizados na determinação de fixações adequadas para objetos. Desta maneira, a teoria da fixação desenvolvida e as considerações adequadas em relação ao sistema de visão 3D possibilitam a proposição de planejadores de fixação 3D. Dentre os trabalhos já citados neste texto, e dentre os demais existentes na literatura, destacam-se particularmente os trabalhos de Ade et al. (1994), Fischer e Hirzinger (1997), Borst et al. (1999), Lee et al. (2002), Miller et al. (2003), Wang et al. (2005), Damian et al. (2005), Morales et al. (2006b), Yamazaki et al. (2006). Estes trabalhos são brevemente descritos a seguir focando em algumas características como: garras utilizadas; método de aquisição dos dados do objeto; método de determinação da qualidade da fixação; método de determinação dos pontos de contato. Ade et al. (1994) discutem o tempo de processamento para a determinação de pontos de contato a partir de dados tridimensionais da cena. Na tentativa de reduzir o tempo de aquisição de dados e de ampliar a capacidade do sistema de sensoriamento, dois scanners 3D, opostos entre si, são utilizados. As informações dos sensores são combinadas e faces opostas do objetos são reconstruídas por polígonos. Cada par de polígonos, cada um constituído por polígonos de uma das faces opostas, é candidato para a fixação. As possíveis fixações são avaliadas segundo a distância entre si, o paralelismo entre as faces e a distância ao centróide do objeto. Resultados satisfatórios são apresentados com tempo de processamento de 12s3 a 21s. O tempo observado no sistema de Ade et al. (1994) indica que sensores do tipo scanner 3D são compatíveis com a aplicação. Contudo, simplificações de seções da superfície do objeto por polígonos são necessárias para reduzir o tempo de processamento. 3 Ade fixação. et al. (1994) não informam qual a configuração do computador utilizado para determinar os pontos de 2.1 Fixação de objetos desconhecidos por garras robóticas 23 Borst et al. (1999) utilizam em seu trabalho modelos virtuais de objetos, ou seja, nenhum sistema de visão é proposto ou utilizado. Para se determinar os pontos de fixação do objeto para a garra DLR Hand, Figura 2.3, 100 diferentes fixações candidatas são geradas para cada objeto. A geração de cada fixação inicia-se com a seleção aleatória de um ponto próximo ao centróide do objeto, este ponto é o centro de um sistema de coordenadas. A orientação deste sistema de coordenadas também é aleatória e o cruzamento do seu eixo x com a superfície do objeto determina o primeiro ponto de fixação. O segundo e o terceiro ponto de fixação são determinados pelo cruzamento de retas cujo ângulo com o eixo x é de 1200 e 240o (ângulos medidos em um mesmo plano). Cada candidato da fixação é avaliado segundo o critério Q1 proposto por Ferrari e Canny (1992), que determina o menor carregamento externo necessário para desestabilizar o objeto fixado, sendo que quanto maior o valor de Q1 , cujo limite é a unidade, melhor é a fixação. Filtros são aplicados para eliminar os candidatos cujos pontos estão próximos aos planos de suporte do objeto, os pontos próximos às bordas, e os pontos que não podem ser "atingidos" pelos dedos da garras. Tempos de processamento obtidos variam de 14s a 29s em um computador comum, e de 2s a 4s em um computador de oito núcleos4 . Figura 2.3: DLR Hand. Miller et al. (2003) utilizam o sistema de visão proposto em Kragic et al. (2001), que pode ser resumido como um sistema capaz de identificar, a partir de uma base de dados, contendo formatos de objetos, e a partir das imagens de um sistema de visão estereoscópica, qual o modelo que melhor representa o objeto da cena, qual a sua posição e qual a sua orientação. A principal característica deste sistema é o processamento das informações em tempo real. Uma vez que o objeto é identificado, uma simplificação é realizada. Nesta simplificação, a forma do objeto é aproximada por formas primitivas, cubos, esferas, cones, etc. Esta forma simplificada pode não ser uma aproximação otimizada, pois o objetivo é utilizá-la para determinar qual a melhor postura da mão para a fixação. Quatro diferentes posturas da Barret Hand, Figura 2.4, são utilizadas. 4 Os computadores utilizados no trabalho de Borst et al. (1999) apresentavam processadores de 200MHz. 2 Revisão bibliográfica 24 Figura 2.4: Barret Hand. Uma vez definida a postura da garra mais adequada para a forma do objeto, candidatos da fixação são gerados, e estes são constituídos de uma posição e orientação, em relação ao objeto, para a fixação. Cada fixação candidata é avaliada em tempo de execução no programa de análise de fixações GraspIt!, que fornece a medida Q1 da fixação. A melhor fixação dentre todas as candidatas é selecionada. Simulações do algoritmo proposto são realizadas com objetos cujo modelo virtual está disponível na base de dados. Resultados satisfatórios em relação à capacidade de determinação de uma fixação estável foram alcançados, com tempo de processamento variando de 10s a 480s, utilizando um computador comum com velocidade de processamento de 1GHz. Similar ao trabalho de Miller e Allen (1999), Morales et al. (2006b) também utilizam o sistema de visão proposto por Kragic et al. (2001) e o programa GraspIt! para avaliar os candidatos gerados por diferentes posições e trajetórias de execução da fixação. A principal diferença entre os trabalhos, além do tipo da garra utilizada (que para este caso consiste em uma garra antropomórfica, cuja postura pode apresentar cinco variações daquelas propostas por Cutkosky (1985)), a etapa de determinação da fixação é realizada antes da execução do algoritmo. Ou seja, uma vez que se sabe quais são os objetos a serem fixados, a fixação determinada também é armazenada na base de dados juntamente com a forma do objeto. Desta maneira, ao identificar o objeto, obtém-se a postura da mão e a melhor orientação e trajetória de fixação. Sobre os tempos de processamento, uma vez que a identificação ocorre em tempo real, e a fixação de todos objetos já foram previamente determinadas por uma avaliação exaustiva de todas as possíveis possibilidades de fixação, a fixação é determinada em tempo real. Os sistemas propostos por Miller et al. (2003) e Morales et al. (2006b) apresentam as limi- 2.1 Fixação de objetos desconhecidos por garras robóticas 25 Figura 2.5: Robô ARMAR, utilizado por Morales et al. (2006b). tações de que não é possível determinar fixações e ,conseqüentemente, realizá-las para objetos apresentados ao sistema pela primeira vez. Ou seja, os sistemas são capazes apenas de fixar os objetos cujos modelos estão disponíveis na base de dados. Wang et al. (2005) propõem um sistema diferente daqueles anteriores em que a forma do objeto, definida por uma nuvem de pontos, é obtida por um sistema de visão multisensorial composto por um scanner 3D, um gerador de linhas por feixes de luz, e duas câmeras. A nuvem de pontos é obtida em 3s e a malha superficial do objeto é formada em menos de 2s. O modelo reconstruído do objeto é avaliado para um simulador similar ao GraspIt!, porém mais enxuto, a fim de poupar recursos computacionais. Vários candidatos de fixação (orientação e posição da garra na fixação ) são gerados e avaliados, sendo que o melhor dentre eles é a fixação selecionada. O tempo de avaliação observado foi de 7s para um total de 33 candidatos. Testes com 110 objetos diferentes resultaram em 94% de fixações satisfatórias. Yamazaki et al. (2006) também reconstroem o objeto a partir dos dados obtidos por um sistema capaz de obter a forma do objeto por várias imagens adquiridas durante a movimentação da câmera ao redor do mesmo. A partir da forma reconstruída, pontos de contato são determinados por uma busca heurística utilizando uma função custo relacionada às carcterísticas geométricas da fixação. O tempo de processamento e o desempenho do método não são apresentados e discutidos pelo autor. Na utilização de RNAs para a determinação de pontos de fixação 3D, destaca-se o trabalho 26 2 Revisão bibliográfica de Lee et al. (2002), no qual um sistema de visão estereoscópica é utilizado para capturar a superfície do objeto, e uma RNA tipo MLP, previamente treinada como padrões geométricos, para determinar três pontos de fixação do objeto. O treinamento prévio da rede é realizado com 14 formas geométricas e seus respectivos pontos de contato determinados por um algoritmo genético. A utilização das RNAs permite a determinação de fixações adequadas para objetos diferentes daqueles de treinamento, contudo, esta capacidade não é explorada pelo autor, sendo que apenas um resultado para objetos diferentes daqueles de treinamento é apresentado. 27 3 Teoria fundamental da fixação A teoria da fixação estuda o mecanismo de interação entre manipuladores e objetos através de contatos mecânicos realizados por garras robóticas. O propósito deste Capítulo é estudar o mecanismo destas interações na fixação. As teorias e os conceitos envolvidos na fixação de objetos, ou seja, os modelos de contato, as forças de contato e seus efeitos sobre os objetos, as condições para equilíbrio estático, e os métodos de avaliação da qualidade da fixação são brevemente explanados. Para uma maior compreensão da teoria da fixação de objetos por garras robóticas recomenda-se a leitura de Bicchi e Kumar (2001), Mason (2001), Murray et al. (1994), Nguyen (1988) e Craig (2005), trabalhos nos quais este texto foi parcialmente inspirado. 3.1 Movimentação e carregamentos de corpos rígidos Nesta Seção, é introduzida a teoria de movimentação de corpos rígidos, translação e rotação na representação de transformação homogênea, e a teoria de carregamentos equivalentes quando forças são aplicadas em diferentes pontos de contato sobre um objeto. As teorias da movimentação de corpos rígidos e das transformações homogêneas são apresentadas por motivos didáticos para compreenção da formulação dos carregamentos equivalentes. 3.1.1 Movimentação em R3 e transformações homogêneas A movimentação de partículas no espaço Euclidiano pode ser descrita pela sua posição, relativa a um sistema de coordenadas cartesianas inercial, em cada instante t do movimento. O percurso de uma partícula p durante uma movimentação é caracterizado por uma curva de pontos no espaço, definida em um sistema de coordenadas inercial I, rip (t) ∈ R3 . Cada coordenada x, y e z de rip (t) determina a projeção da posição da partícula p no espaço sobre o sistema inercial em cada instante de tempo. 3 Teoria fundamental da fixação 28 Na robótica, em especial, o interesse é a movimentação de um conjunto de partículas que formam um corpo rígido. Um corpo rígido é então definido como um conjunto de pontos, ou partículas, cujas distâncias entre si são invariantes no tempo e no espaço. Desta forma, se p e q são dois pontos quaisquer do corpo rígido, então: rip (t) − rqi (t) = rip (t0 ) − rqi (t0 ) = constante. (3.1) Define-se como "movimentação rígida" de um corpo rígido, doravante mencionado como um objeto, aquela que é contínua no tempo e cujas distâncias entre pontos de um mesmo corpo são mantidas constantes, logo a movimentação de um corpo rígido composta por translação e rotação é uma movimentação rígida. Dado um objeto rígido, representado por um sistema de coordenadas O ∈ R3 fixo ao mesmo1 , uma movimentação rígida é representada por um mapeamento io T (t), que descreve a posição e a orientação de O em relação a I em cada instante de tempo t. A movimentação do corpo rígido também pode ser extendida para o movimento de vetores no espaço. Se ropq = rqo − rop é o vetor posição do ponto p ao ponto q descrito no sistema O, então a movimentação do vetor no espaço é dado por: i o o T (t) · r pq =io T (t) · rqo −io T (t) · rop . (3.2) Uma propriedade interessante é que, além de manter a distância entre pontos, a movimentação também mantém a posição relativa entre vetores. Dados dois vetores posição rop e rqo quaisquer, então: i o o i o T (t) · (r p × rq ) =o T (t) · rop × io T (t) · rqo . (3.3) Desta maneira, as propriedades da movimentação de corpos rígidos permitem que a posição e a orientação no espaço sejam definidas por um sistema de coordenadas ortonormal fixo a um ponto do corpo rígido, pois a Equação 3.3 garante que o sistema não é alterado por qualquer movimentação rígida. A movimentação rígida pode ser definida como uma combinação de uma rotação pura e uma translação pura. 1 O centro do sistema de coordenadas é representado com a letra que o representa na sua foma minúscula, assim, o centro do sistema de coordenadas O é o ponto o. 3.1 Movimentação e carregamentos de corpos rígidos 29 Definidos o sistema de coordenadas ortonormal O fixo ao corpo, e um sistema de coordenadas inercial I, define-se a matriz: I i i i o R = [o Rx o Ry o Rz ], (3.4) como a matriz de rotação pura de I para O. Os vetores Io Rx , Io Ry e Io Rz ∈ R3 são as projeções dos eixos x, y e z do sistema O sobre o sistema I, respectivamente. Sejam R ∈ Rn×n e ri ,com i = 1 . . . n ∈ Rn as colunas de uma matriz de rotação qualquer R, então: 1. riT · r j = 0 se i = j 1 se i = j 2. R · RT = RT · R = I e R−1 = RT 3. det(R) = 1 As transformações no espaço que apresentam as características acima formam o grupo de rotação SO(n): SO(n) = {R ∈ Rn×n | R · RT = 1 e det(R) = 1}. (3.5) O grupo de rotação SO(n) é formado por todas as n possíveis orientações relativas que um sistema pode apresentar em relação a outro. As possibilidades de orientação relativa podem ser reduzidas caso haja alguma restrição de movimentação2 . A rotação R ∈ SO(n) é uma movimetação rígida que mantém as relações 3.1 e 3.3. Além disso, o produto entre duas matrizes io R e oc R ∈ SO(n) resulta em uma matriz também pertencente a SO(n) segundo a relação: i o i o R ·c R =c R. (3.6) A rotação rígida de um corpo é compreendida como apenas um caso particular de uma movimentação. Uma movimentação geral, é então definida como composição de uma rotação e de uma translação. Seja o sistema O fixo ao corpo e um sistema inercial I, roi ∈ R3 é o vetor posição da origem do sistema O descrito no sistema I, e ainda, io R é a orientação do sistema O relativo ao sistema I. Então, dado um vetor posição rqo descrito no sistema O, então o mesmo vetor pode ser descrito no sistema I, ou seja rqi , é dado por: rqi = roi +io R · rqo . 2A (3.7) restrição pode ocorrer por diversos fatores, como colisão com outros corpos rígidos presentes no mesmo espaço. 3 Teoria fundamental da fixação 30 As transformações de rotação e de translação possuem as características de movimentação rígida apresentadas anteriormente, e de forma geral, são representadas por diversos autores por uma matriz de transformação homogênea: i oT = iR o roi 0 1 . (3.8) Desta maneira, uma movimentação qualquer de um corpo rígido no espaço Euclidiano é representada por: i o T (t) = i R(t) o roi (t) 0 1 . (3.9) A matriz io T (t) é definida como transformação homogênea, e apresenta valores diferentes em cada instante t. Quando se considera apenas as posições e as orientações relativas entre dois sistemas, omite-se o termo (t). De forma geral o grupo de transformações homogêneas é formado por: SE(n) = {(p, R) : p ∈ Rn , R ∈ SO(n)} = Rn × SO(n). (3.10) Para o espaço Euclidiano SE(3) = R3 × SO(3) e a transformação consecutiva de dois sistemas de coordenadas é determinada por: i cT =io T ·oc T = i R ·o R o c i R · ro + ri o c o 0 1 . (3.11) As transformações homogêneas são úteis na determinação de posições dos elementos de sistemas multicorpos de cadeia aberta ou fechada. Para cada corpo, um sistema de coordenadas é associado, e a partir de transformações homogêneas é possível determinar as posições de cada corpo em um sistema de coordenadas global. Para um determinado sistema multicorpo, as transformações homogêneas são determinadas a partir das relações geométricas, como ângulos e posições relativas entre os corpos (vide Craig (2005) e Denavit e Hartemberg (1955)). 3.1.2 Velocidade em R6 de um corpo rígido O conjunto de transformações homegêneas io T (t) que definem a posição e a orientação do sistema O, solidário a um corpo rígido, em relação as sistema inercial I em cada instante de tempo t, define uma trajetória ψoi do corpo rígido. A trajetória ψoi do corpo rígido define a posição e a orientação, e a sua derivada no tempo, ψ̇oi , define a velocidade de translação e de rotação do corpo rígido em cada instante de tempo e posição no espaço. 3.1 Movimentação e carregamentos de corpos rígidos 31 A descrição da velocidade de translação e de rotação de um corpo rígido, segundo uma trajetória ψoi , não é trivial como para o caso de uma única partícula q cuja posição é representada pelo vetor rqi , em que viq = d i dt rq (t). Neste caso, deve-se considerar os efeitos da movimentação combinada de translação e rotação. Primeiramente, considera-se o caso de uma rotação pura em R3 descrita no tempo, e representado por io R(t) ∈ SO(3). O sistema de coordenadas I é o sistema inercial e O é o sistema fixo ao corpo. Se q é um ponto fixo ao corpo então: rqi (t) =io R(t) · rqo , e sua velocidade é dada por: viq (t) = (3.12) d i r (t) =io Ṙ(t) · rqo . dt q (3.13) Desta forma, io Ṙ(t) relaciona a velocidade de um ponto em I com sua posição em O no tempo. Pode-se ainda reescrever a Equação 3.13 na seguinte forma: viq (t) =io Ṙ(t) · io R−1 (t) · io R(t) · rqo . (3.14) Murray et al. (1994) define a velocidade angular instantânea, ω̂ , como: i ω̂o/i =io Ṙ(t) · io R−1 (t), (3.15) que corresponde à velocidade angular instantânea do objeto, representado pelo sistema de coordenadas O, em relação ao sistema I. A velocidade angular relativa está descrita no sistema I. O operador ˆ , lê-se operador chapéu, é definido da seguinte forma: se ω = [ωx ωy ωz ]T então: ⎡ 0 ⎢ ω̂ = ⎢ ⎣ ωz −ωy −ωz 0 ωx ωy ⎤ ⎥ −ωx ⎥ ⎦. 0 (3.16) De forma similar, a velocidade angular instantânea do corpo em relação ao sistema I e descrita no sistema O sistema O é definida como: o ω̂o/i =io R−1 (t) · io Ṙ(t). (3.17) 3 Teoria fundamental da fixação 32 As Equações 3.15 e 3.17 estão relacionadas da seguinte forma: o i ω̂o/i =io R−1 · ω̂o/i · io Ṙ, (3.18) o i ωo/i =io R−1 · ωo/i . (3.19) ou Retornando à Equação 3.13, a velocidade do ponto q pode ser então representada no sistema I por: i i (t) ·io R(t) · rqo = ωo/i (t) × rqi (t), viq (t) = ω̂o/i (3.20) ou ainda, pode-se representar a velocidade do ponto q no sistema O pela relação: o voq (t) =io RT (t) · vq i (t) = ωo/i (t) × rqo . (3.21) As Equações 3.20 e 3.21 descrevem as velocidades de translação de todas as partículas de i (t), e da velocidade angular do um corpo rígido em termos da velocidade angular espacial ωo/i o (t) respectivamente. corpo ωo/i Considerando agora uma movimentação geral io T (t) ∈ SE(3), composta por uma rotação i R ∈ SO(3), o e translação roi ∈ R3 . De forma análoga ao caso de rotação pura pode-se escrever: i o Ṫ · io T −1 = i Ṙ o r˙o i 0 1 · i RT o −io RT · roi 0 1 , (3.22) e então: i =io Ṫ · io T −1 , V̂o/i ⎡ e i Vo/i =⎣ vio/i i ωo/i ⎤ ⎦= −io Ṙ · io RT · roi + r˙o i (3.23) (io Ṙ · io RT )ˇ , (3.24) em que ˇ é o operador inverso de ˆ, ou seja, (x̂) ˇ = x, e vio/i é a velocidade de translação relativa entre as origens dos sistemas O e I, medida no sistema I. i é denominado velocidade espacial e pode ser usado para encontrar a velociO termo V̂o/i dade de um ponto q, fixo ao corpo, em relação ao sistema I. viq (t) =io Ṫ (t) · rqo =io Ṫ (t) · io T −1 (t) · rqi (t) (3.25) i viq (t) = Vˆoi (t) · rqi (t) = ωo/i (t) × rqi (t) + vio/i (t). (3.26) e então: 3.1 Movimentação e carregamentos de corpos rígidos 33 A componente linear vio/i (t) da Equação 3.26, não é a velocidade da origem do sistema O descrita em I conforme a intuição sugere, mas sim a velocidade, medida no sistema I, do ponto virtual fixo ao sistema do corpo O, que no instante t passa pela origem de I. Também é possível determinar a velocidade do corpo rígido em relação ao sistema O (instantâneo). O termo relativo ao tempo "(t)" é omitido das próximas equações para melhorar a visualisação. o =io T −1 · io Ṫ = V̂o/i ⎡ e o =⎣ Vo/i voo/i o ωo/i ⎤ ⎦= i RT o i Ṙ · ṙ i o o 0 0 i RT · r i o o (io RT · io Ṙ)ˇ , (3.27) . (3.28) E a velocidade de um ponto q no sistema O é dada por: o · rqo , voq = V̂o/i (3.29) o × rqo + voo/i , voq = ωo/i (3.30) ou ainda: o éa em que voo/i é a velocidade relativa entre a origem de I e de O, descrito no sistema O, e ωo/i velocidade angular relativa entre I e O, também descrita no sistema O. A velocidade de um corpo rígido descrito no sistema de coordenadas do corpo O e no sistema de coordenadas inercial I é relacionada segundo a expressão: i o V̂o/i =io T · V̂o/i · io T −1 . (3.31) i o ωo/i =io R · ωo/i (3.32) i o vio/i = −ωo/i × roi + ṙoi = roi × (io R · ωo/i ) +io R · voo/i . (3.33) Pode-se escrever também que: e Reescrevendo 3.32 e 3.33 na forma matricial, obtém-se a expressão: ⎤ ⎤ ⎡ ⎡ i o i R r̂ i · i R v v o o i · ⎣ o/i ⎦ = ⎣ o/i ⎦ = o Vo/i i i o ωo/i ωo/i 0 oR (3.34) 3 Teoria fundamental da fixação 34 A matriz 6 × 6 da Equação 3.34 é denominada matriz adjunta associada a uma transformação homogênia T , e escrita na forma AdT . Desta maneira, dado T ∈ SE(3) então AdT = R r̂ · R . R 0 (3.35) De forma geral, a matriz AdT mapeia as velocidades e rotações de um corpo do sistema de coordenadas fixo ao mesmo, para um sistema de referência inercial. A matriz Adg também é invertível segundo a relação: (AdT )−1 = RT −(RT · r)ˇ · RT RT 0 = RT −RT · r̂ 0 RT = Ad(T )−1 . (3.36) A matriz adjunta e sua inversa são utilizadas nos cálculos dos carragamentos equivalentes na próxima Seção. 3.1.3 Carregamentos e carregamentos equivalentes Um carregamento generalizado, seja o carregamento da fixação ou seja um carregamento externo, atuando em um corpo rígido consiste em uma componente puramente linear e uma componente puramente torcional atuando em um ponto. Pode-se representar este carregamento generalizado como um vetor em R6 : f F= em que : f ∈ R3 , e τ ∈ R3 . τ ou na forma expandida: F= f1 f2 f3 τ4 τ5 τ6 T (3.37) (3.38) Os valores do carregamento aplicado em um ponto do corpo rígido, ou seja, os valores de F, dependem do sistema de coordenadas no qual esta escrito. Se O é o sistema de coordenadas do objeto, então considera-se a notação F o = [( f o )T (τ o )T ]T . Quando os carregamentos são combinados com movimentações infinitesimais, obtém-se o trabalho instantâneo realizado. Considerando a movimentação de um corpo rígido parametrizado por io T (t) (Equação 3.9), definido na Seção 3.1.1, e considerando ainda I o sistema de coordenadas inercial e O o sistema de coordenadas fixo ao objeto, a representação da velocidade o , e F o representa o carregamento aplicado. As repreinstantânea do corpo rígido é dada por Vo/i sentações são referentes ao sistema de coordenadas O e seu produto escalar fornece o trabalho 3.1 Movimentação e carregamentos de corpos rígidos 35 infinitesimal: o δ W = Vo/i · (F o )T = (voo/i · ( f o )T + woo/i · (τ o )T ). (3.39) o , durante o intervalo de O trabalho realizado pelo carregamento F o na movimentação Vo/i tempo [t1 ,t2 ], é dado por: W= t2 t1 o Vo/i · (F o )T dt (3.40) Dois carregamentos são denominados equivalentes se ambos produzem o mesmo trabalho para qualquer possível movimentação do corpo. Carregamentos equivalentes podem ser utilizados para reescrever carregamentos em diferentes sistemas de coordenadas. Por exemplo: deseja-se reescrever o carregamento F o , aplicado na origem do sistema de coordenadas O, como um carregamento equivalente aplicado na origem do sistema de coordenadas C. Para computar o carregamento equivalente uiliza-se o trabalho instantâneo realizado pelo carregamento em uma movimentação arbitrária. Sendo oc T a configuração do sistema C relativo ao sistema O, e igualando os trabalhos instantâneos realizados por F c e F o na mesma movimentação arbitrária, obtem-se: o o · F c = Vo/i · F o, Vi/c (3.41) o o Vi/c · (F c )T = Vi/c · (Adoc T )T · F o , (3.42) F c = (Adoc T )T · F o . (3.43) o obtém-se: cancelando Vi/c A Equação 3.43 transforma um carregamento aplicado na origem do sistema O em um carregamento equivalente aplicado na origem do sistema C. Expandindo a Equação 3.43 obtémse: fc = τc em que: o RT c o −c RT · r̂co o RT c o −c RT · r̂co 0 o RT c 0 o RT c · fo τo , (3.44) = (Adoc T )T . (3.45) A transformação adjunta transposta rotaciona os momentos e as forças aplicadas do sistema O para o sistema C e inclui momentos adicionais na forma −rco × f o , que é o momento gerado pela força f o em uma distância rco . 3 Teoria fundamental da fixação 36 Se diversos carregamentos são aplicados em diferentes pontos de contato sobre um corpo rígido, então um carregamento equivalente, aplicado sobre o corpo rígido, pode ser determinado somando cada um dos diferentes carregamentos representados em um mesmo sistema de coordenadas. Desta forma, dado um conjunto de carregamentos F ci , i = 1, . . . , n, aplicados em diferentes sistemas de coordenadas dos contatos Ci, o carregamento da fixação escrito no sistema de coordenadas do objeto é dado por: n F o = ∑ (Adcio T )T · F ci . (3.46) i=1 Da mesma forma, o carregamento da fixação pode se representado em qualquer sistema de coordenadas, sejam estes pertencentes ao corpo rígido ou sejam estes fora do corpo rígido. O carregamento da fixação resultantes dos diversos carregamentos aplicados em um corpo rígido pode ser utilizado para calcular o efeito de diversas forças aplicadas por garras robóticas com múltiplos dedos sobre um objeto durante uma tarefa de fixação. Por fim, para melhor entendimento, os carregamentos que podem ser aplicados sobre um objeto são listados: • Carregamento do contato: é aquele aplicado pela ponta do dedo de uma garra sobre o objeto. Este carregamento normalmente é descrito no sistema de coordenadas do próprio contato. • Carregamento da fixação: é obtido pelo somatório dos carregamentos dos contatos. Normalmente este carregamento é descrito no sistema de coordenadas do objeto ou da fixação. • Carregamento externo: este carregamento pode ser aquele necessário para a realização de um tarefa específica, ou pode ser formado por distúrbios externos, normalmente indesejados e imprevisíveis. O carregamento externo também pode ser composto pelo carregamento de uma tarefa específica e por distúrbios. 3.2 Estática da fixação 37 3.2 Estática da fixação A fixação é a aplicação de carregamentos de contato (forças e momentos) em pontos sobre a superfície do objeto capazes de mantê-lo em equilíbrio estático e de resistir a carregamentos externos3 aplicados sobre o objeto. As forças e momentos aplicados pelos dedos de uma garra são transmitidos para o objeto a partir do contato entre a superfície dos corpos. Existem vários modelos de contato, sendo que cada tipo modela diferentes capacidades de transmissão de carregamentos. Os tipos de contato, representados por modelos apropriados, caracterizam as condições para equilíbrio estático de um objeto durante uma fixação. 3.2.1 Modelos de contato Um objeto, tratado como corpo rígido, livre no espaço, apresenta seis graus de liberdade (GDL) de movimentação, ou seja, seis parâmetros independentes são necessários para definir sua posição e sua orientação relativa a um sistema de referência inercial. Se o objeto entra em contato com outro corpo (uma mesa por exemplo), restrições de movimentação são impostas ao objeto que perde alguns dos seis GDL de movimentação (no caso da mesa, o objeto perde a capacidade de translação na vertical e rotação nas direções paralelas à mesa). As restrições impostas pelo contato entre corpos depende da natureza do contato entre eles. Em Salisbury (1982a), um Capítulo completo é dedicado para descrever os modelos de contato e seus efeitos na movimentação de objetos. São descritos oito tipos de contato entre corpos, sendo que cada um impõe uma restrição diferente, desde o contato sem restrição até o contato com restrição total dos seis GDL4 . Os oito tipos de contato de Salisbury (1982a) indicam como objetos interagem entre si de uma forma geral. Contudo, para o caso particular de contato entre dedos de uma garra e objetos em uma fixação, o contato pode ser resumido por três modelos simplificados (NGUYEN, 1988), sendo eles: Contato pontual sem atrito O contato ocorre em apenas um ponto do objeto. Forças de atrito não estão presentes e a força aplicada no contato ocorre somente na direção normal à superfície do objeto. Qualquer força com componente na direção tangencial ao contato provoca escorregamento entre dedo e objeto. 3 Os carregamentos externos podem ser carregamento característicos de uma aplicação, que normalmente podem ser estimados e previstos, ou ainda, os carregamentos externos podem ser distúrbios, que normalmente não podem ser previstos. 4 Vide Salisbury (1982a) para mais detalhes. 3 Teoria fundamental da fixação 38 Contato pontual com atrito O contato ocorre em apenas um ponto. Forças de atrito estão presentes, e portanto, a força de contato pode ser composta por uma componente normal e uma componente tangencial ao contato, sendo que a relação entre as componentes deve obedecer os limites de atrito para que não haja escorregamento. Contato macio O contato é realizado em uma área de contato que surge pela deformação do dedo, provocada pelo carregamento do contato, pois o objeto é considerado um corpo rígido e não se deforma. O atrito entre as superfícies de contato permite que um momento de atrito seja aplicado na direção normal à área de contato, além da força com componentes normal e tangencial. (a) (b) (c) Figura 3.1: Possíveis carregamentos para os três tipos fundamentais de contato propostos por Nguyen (1988). Figura 3.1(a) contato pontual sem atrito, Figura 3.1(b) contato pontual com atrito e Figura 3.1(c) contato macio. Segundo Nguyen (1988), todos os demais modelos de contato (incluindo os modelos de Salisbury (1982a)) podem ser construídos pela combinação entre os três modelos fundamentais que são diferentes entre si pela ocorrência e pela natureza do atrito. O modelo de contato pontual sem atrito não permite a aplicação de forças com componentes na direção tangencial, pois estas forças provocariam escorregamentos devido a ausência do atrito. Este tipo de contato é interessante em análises de fixação form-closure (descrita nas próximas Seções). Contudo, a restrição da direção de aplicação da força dificulta a seleção de pontos de contato, pois deve ser levado em consideração a capacidade da garra em posicionar as pontas de seus dedos (os efetuadores) em cada contato, segundo a direção normal. O modelo de contato pontual com atrito permite a aplicação de forças com componentes tangenciais e normais. A componente tangencial da força é equilibrada por uma força de atrito. O modelo de atrito adotado neste trabalho é o modelo de atrito de Coulomb, pois, dentre os diversos modelos sofisticados, mais completos e apurados existentes na literatura, este é o que representa o atrito de forma simples e satisfatória. 3.2 Estática da fixação 39 Segundo a lei de Coulomb as forças máximas para o atrito são determinadas pela equação: f j max = μest · f3 e ainda f j ≤ μest · f3 (3.47) em que μest é o coeficiente de atrito estático, e j = 1, 2 é o índice que indica as duas possíveis direções perpendiculares de decomposição da força de atrito. Em geral, o coeficiente de atrito estático é maior que o coeficiente de atrito dinâmico. Segundo a lei de Coulomb, o coeficiente de atrito depende do material do objeto e da superfície, sendo então independente da forma da superfície e da área de contato. Como nesta abordagem não são considerados os efeitos do atrito dinâmico, o coeficiente estático é representado na forma simplificada μ . Um bom experimento para a determinação do coeficiente de atrito é a experiência do bloco escorregando sobre uma rampa inclinada. Um bloco é posicionado sobre uma rampa com inclinação variável. A rampa, inicialmente na horizontal, é inclinada progressivamente até que o bloco atinja o limite do escorregamento. O valor do ângulo limite de inclinação da rampa, o ângulo α , está relacionado com o valor do coeficiente de atrito pela equação: tan(α ) = μ . (3.48) Para o caso particular da fixação, o ângulo α é a máxima diferança angular, entre a direção de aplicação da força pelo dedo da garra e a direção normal da superfície, para que não ocorra escorregamentos. A região compreendida pelo ângulo limite α é denominada cone de atrito (vide Figuras 3.1(b) e 3.1(c)). Caso a força de contato esteja compreendida dentro do cone de atrito, o contato pode ser realizado, caso contrário, a fixação não pode ser relizada, pois, ocorrerá escorregamento entre o dedo da garra e o objeto. O modelo mais completo, o contato macio, considera a ocorrência de deformação da ponta do dedo da garra durante o contato e a formação de uma área de contato. Cada elemento infinitesimal da área de contato é capaz de realizar uma força de atrito infinitesimal. Quando as diversas forças infinitesimais são somadas, gera-se um momento de atrito (vide Figura 3.1(c)). Segundo Higdon et al. (1984), o momento de atrito é desenvolvido como resultado de uma força normal f3 exercida por uma área sobre outra. O momento binário τ6 necessário para produzir uma rotação depende da força normal f3 , do coeficiente de atrito de Coulomb, e da distribuição da pressão normal sobre a área de contato. Neste trabalho, considera-se que a pressão é distribuída uniformemente sobre a área de contato, embora a elasticidade e a irregularidade da superfície do objeto normalmente alterem-na. 3 Teoria fundamental da fixação 40 A força normal por unidade de área é igual à pressão do contato P, e a força normal sobre o elemento de área é igual ao produto da pressão unitária e do elemento de área, então: f3 dA, A dP = (3.49) considerando circular a área de contato, e transformando a área infinitesimal em coordenadas polares, pode-se obter a seguinte relação: dP = f3 drd θ . π · r2 (3.50) A força infinitesimal de atrito, d fa , quando o movimento é eminente, é igual à pressão multiplicada pelo coeficiente de atrito estático: d fa = μ dP = μ f3 drd θ . π · r2 (3.51) O momento de atrito τ6 sobre o elemento de área em relação à linha central do eixo é dado por: d τ6 = rd fa = μ e então: τ6 = μ D 2 0 f3 drd θ , π ·r 2π f3 0 π ·r drd θ . (3.52) (3.53) Para área de contato circular a expressão 3.53 pode ser simplificada por: 1 τ6 = μ f3 D. 3 (3.54) A aproximação da área de contato por uma área circular é conveniente para simplificação dos cálculos e estimação dos momentos de atrito, contudo, na prática a área de contato pode apresentar as mais variadas formas e os momentos de atrito devem ser calculados pela equação: τ6 = γ f 3 , (3.55) em que γ é o coeficiente do momento de atrito estático, que relaciona a área de contato e o coeficiente μ . O coeficiente γ é obtido experimentalmente, ou pode ser previamente estimado. 3.2.2 Base do contato e mapa da fixação G O contato entre dedo e o objeto pode ser também descrito pelo mapeamento de forças exercidas no contato sobre o objeto. Assume-se, para tanto, a hipótese de que o contato é realizado 3.2 Estática da fixação 41 em um único ponto, mesmo para os casos de contato macio, e que não há escorregamento ou rolagem5 . Por conveniência, define-se o sistema de coordenadas do contato Ci com origem no ponto de contato ci e eixo Zci alinhado com a direção normal ao ponto ci, e os demais eixos, Xci e Yci , alinhados com as direções tangenciais. A localização do ponto de contato ci relativo ao sistema de coordenadas do objeto O é descrita pela tranformação homogênea oci T ∈ SE(3). Para mapear as forças de contato descritas no sistema de fixação Ci para carregamentos equivalentes no sistema do objeto O, define-se a base de carregamento B que mapeia os carregamentos de contato para cada diferente modelo. Desta forma, o carregamento de um contato Fci é definido como: F ci = B · f ci . (3.56) Para o modelo contato pontual sem atrito: ⎡ ⎤ 0 ⎢ ⎥ ⎢ 0 ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ 1 ⎥ ci ci ⎥ B=⎢ ⎢ ⎥ e f = f3 ⎢ 0 ⎥ ⎢ ⎥ ⎢ 0 ⎥ ⎣ ⎦ 0 (3.57) em que f3ci é a força na dirção zci , e f3ci ≥ 0 para as garras convencionais, ou seja, o dedo pode apenas empurrar o objeto, ou f3ci < 0 para as garras com ventosas ou sistemas de sucção. Para o modelo contato pontual com atrito: ⎤ ⎡ 1 0 0 ⎥ ⎢ ⎢ 0 1 0 ⎥ ⎥ ⎢ ⎥ ⎢ ⎢ 0 0 1 ⎥ ⎥ e f ci = [ f ci f ci f ci ], B=⎢ 1 2 3 ⎥ ⎢ ⎢ 0 0 0 ⎥ ⎥ ⎢ ⎢ 0 0 0 ⎥ ⎦ ⎣ 0 0 0 em que f1ci e f2ci são as forças tangenciais de modo que 2 (3.58) 2 ( f1ci ) + ( f2ci ) ≤ μ f3ci , com f3ci ≥ 0 para as garras comuns e f3ci < 0 para as garras com ventosas . 5 Os (1994). efeitos de rolagem e escorregamento entre objetos em contato são descritos em detalhes por Murray et al. 3 Teoria fundamental da fixação 42 A restrição significa que a força aplicada deve pertencer à região representada pelo cone de atrito FCci , ou seja: ci FCci = { f ∈ R | 3 2 2 ( f1ci ) + ( f2ci ) ≤ μ f3ci } (3.59) Finalmente, para o modelo de contato macio: ⎤ ⎡ 1 0 0 0 ⎥ ⎢ ⎢ 0 1 0 0 ⎥ ⎥ ⎢ ⎥ ⎢ ⎢ 0 0 1 0 ⎥ ⎥ e f ci = [ f ci f ci f ci τ ci ], B=⎢ 1 2 3 6 ⎥ ⎢ 0 0 0 0 ⎥ ⎢ ⎥ ⎢ ⎢ 0 0 0 0 ⎥ ⎦ ⎣ 0 0 0 1 em que f1ci , f2ci e f3ci devem obedecer a lei de Coulomb, 2 (3.60) 2 ( f1ci ) + ( f2ci ) ≤ μ f3ci , e τ6ci , o momento aplicado na direção Zci de Ci, deve respeitar a lei | τ6ci |≤ γ | f3ci |. Desta forma, o cone de atrito para o modelo de contato macio é definido como: 2 2 ci 4 FCci = { f ∈ R | ( f1ci ) + ( f2ci ) ≤ μ f3ci e | τ6ci |≤ γ | f3ci |} (3.61) Para determinar o efeito das forças de contato sobre o objeto, as forças devem ser transformadas do sistema de coordenadas da fixação Ci para o sistema de coordenadas do objeto O. Se oci T é a transformação homogênea do i-ésimo sistema de coordenadas do contato Ci para o sistema do objeto, então, a força exercida por um contato pode ser escrita no sistema de coordenadas do objeto como: F oi = (Ado T −1 )T · F ci = ci o RT ci o r̂ci · oci R 0 oR ci · Bci · f ci com f ci ∈ FCci . (3.62) Define-se então o mapa do contato Gci ∈ Rk×m , em que k é o número de contatos da fixação e m é o número de carregamento aplicaveis no contato. A matriz G é um o mapa linear resultante do produto entre a base do contato representada por Bci e a transformação adjunta entre o sistema do contato Ci e o sistema do objeto O. Gci = (Ado T −1 )T · Bci ci (3.63) 3.3 Propriedades da fixação 43 Se existirem k dedos em contato com o objeto, e considerando que o mapa de contato é linear, o carregamento resultante no objeto devido às forças aplicadas nos contatos é dado por: F o = F o1 + · · · + F ok , (3.64) F o = Gc1 · f c1 + · · · + Gck · f ck . (3.65) ou: Resumindo a Equação 3.65 pode-se escrever: F o = G · f c, (3.66) em que todas as forças aplicadas nos contatos são representadas pelo vetor: ⎤ ⎡ f c1 ⎢ . ⎥ . ⎥ fc = ⎢ ⎣ . ⎦, f ck (3.67) e o mapa da fixação G é então definido como: G= Gc1 · · · Gck = (Ado c1 T −1 )T · Bc1 · · · (Ado T −1 )T · Bck ck . (3.68) 3.3 Propriedades da fixação O mapa da fixação G é capaz de transformar as forças aplicadas em cada um dos pontos de contato Ck , que estão descritas no sistema de coordenadas específico de cada contato, em carregamentos equivalentes descritos em um único sistema de coordenadas, que pode ser o do objeto O por exemplo. O mapa G leva em consideração a geometria da fixação, ou seja, a disposição dos pontos de contato em relação a ao sistema de coordenadas escolhido expressa pela matriz adjunta transposta (Ado T −1 )T referente a cada contato, e leva também em consideração a ci capacidade de aplicação de carregamentos em cada contato expressa pelas bases Bck do modelo adotado para os contatos. No início do Capítulo foi definido que uma fixação adequada é aquela que garante: 1) a estabilidade estática do objeto quando apenas as forças de contato são aplicadas sobre o mesmo; e que também garante 2) a estabilidade estática quando carregamentos externos são aplicados devido a ocorrência de carregamentos de reação nos contatos. 3 Teoria fundamental da fixação 44 Desta maneira, ao se fixar um objeto por n dedos em n posições distintas sobre a sua superfície, as equações de equilíbrio estático são: Para o caso 1, as forças de contato descritas no mesmo sistema de coordenadas O devem se anular, ou seja: o F = n ∑ Gck · f ck = 0 (3.69) k=1 em outras palavras, as forças aplicadas em cada um dos contatos, devem se anular quando descritas em um mesmo sistema de coordenadas. Para o caso 2, as forças de contato devem equilibrar as forças e os momentos de um carregamento externo Fex = [ f ex1 f ex2 f ex3 τ ex4 τ ex5 τ ex6 ]T , ou seja: n ∑ Gck · f ck + Fex = 0. (3.70) k=1 Vale lembrar que as forças em cada um dos contatos f ck não são iguais nas equações 3.69 e 3.70, pois são casos distintos de equilíbrio estático. Uma fixação adequada deve então satisfazer ambas as equações 3.69 e 3.70. Contudo, a verificação das condições de equilíbrio para uma fixação qualquer não é possível na prática, pois mesmo que as matrizes G e B sejam conhecidas, ou seja, mesmo que as posições de contatos e os tipos de contato estejam definidos, é impossível determinar os valores das forças nos contatos, pois o número de incógnitas sempre é maior que o número de equações, mesmo se o número de pontos contatos for pequeno6 . Em alguns trabalhos, como em Abel et al. (1985), hipóteses simplificadoras são consideradas: todas as forças agem segundo o mesmo plano; as forças externas ocorrem apenas em uma direção (apenas forças gravitacionais); o modelo considerado é o ponto de contato pontual com atrito; e apenas dois pontos de contato realizam a fixação. Neste caso, o objetivo de se adotar as hipóteses é reduzir o número de variáveis da Equação 3.70, a fim de permitir a resolução analítica das equações de equilíbrio. Hipóteses simplificadoras, como aquelas citadas, permitem a resolução analítica do problema para casos específicos, no entanto, para casos complexos e genéricos, com carregamentos externos ocorrendo em várias direções, com consideração do modelo de contato macio, a resolução analítica do problema, ou seja, é impossível a determinação das forças de contato. Na tentativa de solucionar esta dificuldade, vários pesquisadores empenharam-se na elaboração de uma teoria capaz de fornecer métodos de análise de equilíbrio do objeto (LAKSHMI6 Cada diferente tipo de modelo de contato exige diferentes mínimos pontos de contato. 3.3 Propriedades da fixação 45 NARAYANA, 1978; NGUYEN, 1988). Estas novas teorias definem algumas propriedades da fixação: estabilidade, propriedade force-closure, e propriedade form-closure, que são capazes de caracterizar as capacidades da fixação. Estas propriedades da fixação permitem uma avaliação adequada das condições de equilíbrio do objeto na fixação sem a necessidade da resolução das equações de equilíbrio. Contudo, a definição das propriedades da fixação requer o conhecimento do mapa da fixação G, ou seja, os pontos de contato devem estar definidos. Na etapa do planejamento da fixação, quando se deseja definir os pontos de contato, em função ou não de um carregamento externo esperado, a utilização apenas das propriedades da fixação não é satisfatória, pois com elas, apenas as condições de equilíbrio são verificadas. Alguns autores utilizam as próprias equações de equilíbrio estático do objeto, Equações 3.69 e 3.70, no planejamento da fixação. Neste caso, o objetivo é encontrar uma relação geométrica entre os pontos de contato e o objeto que minimizem as forças de contato. Os resultados são satisfatórios quando se adota a hipótese de que todas as forças, de contato ou externas, são aplicadas em um mesmo plano, sobre um objeto de formato bidimensional (PFEIFFER, 1996). Para os casos mais complexos de fixação, deve-se adotar uma estratégia de avaliação da fixação capaz de considerar todas as possibilidades de contato (toda a superfície do objeto), e todos os possíveis carregamentos externos. Diversos pesquisadores, Ferrari e Canny (1992), Ponce et al. (1993), Murray et al. (1994), Miller e Allen (1999) propõem métricas da qualidade da fixação a partir da envolvente convexa7 de uma fixação. A envolvente convexa é construída para a análise da propriedade force-closure de uma fixação. As propriedades da fixação propostas por Lakshminarayana (1978) e Nguyen (1988), e as métricas da qualidade da fixação definidas por Ferrari e Canny (1992) formam a base da teoria fundalmental da fixação, e são formalmente apresentadas nas próximas Seções. Vale ressaltar a contribuição de outros autores da área na elaboração da teoria da fixação, cuja grande maioria são descritos em Bicchi e Kumar (2001), e Murray et al. (1994), além das revisões realizadas pela maioria dos trabalhos citados no Capítulo 1 desta Dissertação. 3.3.1 Estabilidade da fixação Segundo Mason (2001), diferentes abordagens utilizam o mesmo termo "estabilidade" para definir a capacidade de um sistema em permanecer em um estado de equilíbrio. No entanto, 7O termo envolvente convexa é a tradução para a lingua Portuguesa do termo em Inglês convex hull, o qual é encontrado na literatura. 3 Teoria fundamental da fixação 46 Bicchi e Kumar (2001) apresentam dois significados na definição da estabilidade de uma fixação, um segundo a teoria de Lyapunov, e outro segundo a teoria de Lagrange. Bicchi e Kumar (2001) apresentam uma revisão completa dos trabalhos que investigam a estabilidade da fixação em relação as duas teorias citadas. Em relação à teoria de Lyapunov, a estabilidade de uma fixação está relacionada com seu comportamento dinâmico, e define como estabilidade a capacidade de um objeto, quando movido de um estado inicial para um estado intermediário por um agente externo, de retornar ao estado inicial, quando a ação do agente externo é removida. Em relação à teoria de Lagrange, a estabilidade representa um mínimo local de energia potencial para manter a fixação. Esta energia potencial é determinada pela magnitude das forças de contato e/ou pelas forças requeridas nas articulações da garra e do manipulador durante a fixação. Valente (1999) faz uma revisão dos trabalhos que determinam fixações para objetos a partir da busca por fixações estáveis segundo a teoria de Lagrange. Neste trabalho, adota-se a definição da estabilidade segundo a teoria de Lagrange, pois, interessa-se apenas pelos efeitos estáticos das forças de contato sobre o objeto. Os efeitos dinâmicos das forças sobre o objeto não são considerados. 3.3.2 Propriedade Force-closure de uma fixação A propriedade force-closure de uma fixação, introduzida por Nguyen (1988), diz que uma fixação executada por k pontos de contato é considerada force-closure no caso em que é possível aplicar forças e momentos nos k pontos de contato, tal que qualquer carregamento externo Fex possa ser balanceado. Antes de apresentar as ferramentas para verificação da propriedade force-closure, é necessário definir o espaço de carregamento (WS8 ). O espaço de carragemanto tem dimensão seis, que representam as três dimensões dos carregamentos puramente lineares (forças) e as três dimensões dos carregamentos puramente torcionais (momentos) que podem ser aplicados em um objeto. Com o objetivo de permitir uma melhor visualização, pode-se dividir o WS em dois espaços tridimensionais, um representando os carregamentos puramente lineares, o espaço das forças, force space (FS), e o segundo representanto os carregamentos puramente torcionais, o espaço dos momentos, torque space (τ S). Também é necessário definir o conceito de envolvente convexa. Dado um conjunto de pontos p ∈ Rm , a envolvente convexa deste conjunto é uma forma geométrica convexa de dimensão 8A sigla WS é definida pelo termo em inglês wrench space. 3.3 Propriedades da fixação 47 m, tal que todos os pontos do conjunto p estão contidos no seu interior, ou seja, a forma convexa encapsula todos os pontos de p. Dado um conjunto de pontos p = [p1 . . . pm ]T ∈ R2 , então a envolvente convexa PL1 é definida como: PL1 = ConvexHull( m pi ) (3.71) i=1 A expressão gráfica da envolvente convexa para um conjunto qualquer de pontos p ∈ R2 pode ser exemplificada graficamente pela Figura 3.2. Figura 3.2: Exemplo de uma envolvente convexa para um conjunto de pontos no plano. À esquerda o conjunto de pontos, e à direita a envolvente convexa em vermelho gerada pelo algoritmo QuickHull (BARBER et al., 1996). Para uma fixação por k dedos, o carregamento sobre o objeto é resultante da soma dos carregamentos de cada um dos contatos. Relembrando, tem-se que F oi é o carrgamento do i-ésimo ponto de contato representado no sistema de coordenadas do objeto, então é definido como espaço de carregamento da fixação (GWS9 ), o espaço formado pelos possíveis carregamentos que podem ser aplicados em cada um dos k pontos de contato. O espaço de carregamento da fixação GWS apresenta dimensão seis, GWS∈ R6 , porém, pode-se também dividi-lo em dois espaços distintos, o espaço de carregamento lineares da fixação (GFS10 ), em que GFS∈ R3 , e o espaço de carregamentos torcionais da fixação (Gτ S11 ), em que Gτ S∈ R3 . Desta forma, o GFS é formado pelas componentes puramente lineares dos possíveis carregamentos nos pontos de contato. Foi visto que quando se considera a ocorrência de atrito no 9A sigla GWS refere-se ao termo em Inglês grasp wrench space. sigla GFS refere-se ao termo em Inglês grasp force space. 11 A sigla Gτ S refere-se ao termo em Inglês grasp torque space. 10 A 3 Teoria fundamental da fixação 48 contato, os possíveis carregamentos lineares em cada contato formam uma região denominada cone de atrito. É possível discretizar a região definida pelo cone de atrito por um número q de forças localizadas sobre uma superfície cônica (BORST et al., 1999). Pela definição da envolvente convexa, o cone de atrito pode ser definido de forma alternativa como: ci FC = ConvexHull( q f ci, j ). (3.72) j=1 em que f ci, j é a j-ésima força da discretização do cone de atrito. Assim, na construção do GFS, é necessário considerar todas as possibilidades de forças definidas pela representação simplificada do cone de atrito em cada contato. Vale lembrar que o carregamento em cada contato deve ser normalizado, tal que o maior dos módulo de todas as força seja unitário. O Gτ S é formado pelos momentos resultantes de todas as possíveis forças aplicadas em cada contato. Ou seja, para o contato no ponto ci, é necessário calcular o momento resultante de cada uma das forças f ci, j de discretização do cone de atrito definida pelo produto vetorial o × f ci, j , lembrando que r o é a distância do centróide do objeto ao ponto de contato ci. Vale rci ci ressaltar que mesmo para o caso do contato macio, em que existe a ocorrência de momentos de atrito na direção normal ao contato, a consideração apenas dos momentos resultantes das o , na maioria dos casos, provê ordem de forças no contato é satisfatória, pois a distância rci grandeza maior ao momento resultante do produto vetorial em comparação ao momento de atrito. Também é necessário normalizar as componentes de Gτ S antes da construção. Um vez que o GWS (GFS e Gτ S) é definido, é possível determinar sua envolvente convexa. Dado um conjunto de pontos de contato em uma fixação tal que C = [C1 , . . . ,Ck ], capazes de aplicar um carregamento F = [F c1 , . . . F ck ] sobre o objeto, a envolvente convexa desta fixação é denominada por: FL1 = ConvexHull( k F ci ). (3.73) i=1 A envolvente convexa do carregamento de uma fixação representa o espaço de carregamentos que podem ser aplicados sobre o objeto, resultantes de combinações dos carregamentos em cada um dos contatos. Se a origem do sistema em que a envolvente convexa é desenhada estiver encapsulado pela própria envolvente, então é possível conseguir uma combinação de carregamentos nos pontos do contato cuja resultante é nula, o que satisfaz a condição 1 (Equação 3.69). E ainda, se a origem estiver contida dentro da envolvente convexa e não estiver sobre 3.3 Propriedades da fixação 49 algum ponto da superfície da envolvente, então é possível equilibrar qualquer carregamento externo através de uma combinação dos carregamentos aplicados nos pontos de contato, o que satisfaz a condição 2 (Equação 3.70). Então, pode-se dizer que, se a envolvente convexa do GWS contiver a sua origem, e ainda se origem não estiver sobre a superfície da envolvente, então as condições 1) e 2) para uma fixação adequada estão satisfeitas e denomina-se esta fixação adequada como uma fixação forceclosure. Uma fixação force-closure não é necessariamente uma fixação estável. A estabilidade segundo a teoria de Lagrange é definida como um estado local de mínima energia potencial. Em uma fixação force-closure, para que a capacidade de resistir a qualquer carregamento externo seja conseguida, podem ocorrer forças maiores que as mínimas possíveis, desta forma, segundo a teoria de Lagrange, um fixação force-closure pode não ser estável, embora as condições de equilíbrio possam ser satisfeitas. 3.3.3 Propriedade Form-closure de uma fixação A movimentação de um corpo rígido pode ser restringida por contatos entre o manipulador e a superfície do objeto. Quando uma fixação promove esta restrição pela disposição geométrica dos contatos, sem considerar os carregamentos exercidos nos mesmos, denomina-se esta fixação como form-closure. Na análise da propriedade form-closure de uma fixação interessase exclusivamente pela restrição de movimentação provocada pelos contatos em relação as suas posições, sem considerar as forças necessárias para mantê-los. Logo, esta propriedade é puramente geométrica. Esta restrição geométrica é interessante nos casos em que se deseja imobilizar um objeto em relação a um sistema inercial12 , fato que contrasta com a propriedade force-closure, em que se deseja manter a posição do objeto constante em relação à ferramenta de fixação13 . Apesar destas diferença, Mason (2001) define que uma fixação form-closure é um caso simplificado de uma fixação force-closure, quando a mesma é relizada por pontos de contato sem atrito. Devido às diferenças entre estas duas propriedades, as operações em que se deseja obter a propriedade form-closure são distintas daquelas em que se deseja obter a propriedade forceclosure na fixação de um objeto. Esta propriedade é importante em aplicações industriais como 12 Na lingua inglesa, a restrição da movimentação do objeto em relação a um sistema de referência inercial é denominada to fix. 13 Na lingua inglesa, a restrição da movimentação do objeto em relação à ferramenta de fixação é denominada to grasp. 3 Teoria fundamental da fixação 50 montagem de dispositivos, em que se deseja manter imóvel algumas peças para a montagem de outras na mesma. Mais exemplos podem ser encontrados em Bicchi e Kumar (2001). Como estas aplicações não estão no foco deste trabalho, esta propriedade é descrita de forma breve, portanto, recomenda-se, para uma melhor compreensão, a leitura de Lakshminarayana (1978), que realiza seu desenvolvimento na fixação de objetos. O termo form-closure foi proposto por Reuleaux (1986) no estudo das condições necessárias para restrição dos movimentos em cadeias cinemáticas para o caso plano. Reuleaux (1986) demonstra que quando a movimentação do objeto está restrita à movimentação no plano, a imobilização de um corpo rígido é realizada por, no mínimo, quatro contatos pontuais sem atrito. Para o caso tridimensional, o objeto apresenta seis graus de liberdade de movimentação, e, segundo Lakshminarayana (1978), são necessários sete pontos de contato para restringir totalmente qualquer movimentação do objeto no espaço. A estratégia de fixação baseada na busca da propriedade form-closure dedica-se à determinação da localização dos pontos de contato, podendo ser menor que quatro ou sete, dependendo da forma do objeto. Ainda, segundo Mason (2001), objetos com formas circulares, ou gerados por revolução de um perfil ao redor de um eixo, não apresentam uma fixação form-closure. 3.3.4 Avaliação e Medida da qualidade da fixação Através da análise da envolvente convexa dos carregamentos de uma fixação, é possível determinar se esta é force-closure ou não. A definição introduzida na Seção 3.3.2 diz que uma fixação force-closure é capaz de equilibrar qualquer carregamento externo. Contudo, apenas por esta simples análise da envolvente convexa não é possível determinar, dentre várias fixações diferentes para um mesmo objeto, qual é a melhor, ou seja, qual é a fixação que melhor resiste aos carregamentos externos. Na maioria dos casos em que se pretende fixar um objeto, deseja-se obter não somente uma fixação force-closure, mas sim uma fixação force-closure de boa qualidade. Portanto, uma medida de qualidade deve ser utilizada para selecionar, dentre diversas fixações, a melhor fixação. Normalmente, a busca por fixações de boa qualidade é a tarefa desempenhada pelo planejador da fixação, portanto, utilizam-se medidas de qualidade para selecionar as fixações mais adequadas. Na literatura, diferentes formulações podem ser encontradas como propostas de medidas da qualidade da fixação para implementação de planejadores. Na maioria dos casos, esta qualidade é determinada por uma função custo que pode relacionar as forças nos contatos e/ou a disposição geométria entre eles. A existência de diferentes métricas dificulta a análise e comparação dos planejadores de 3.3 Propriedades da fixação 51 fixação, pois, cada diferente métrica considera critérios específicos de avaliação, o que provoca divergências na avaliação de resultados. Portanto, a formalização de uma métrica de avaliação da fixação, com capacidade de abranger todos os tipos de garras e modelos de contato propostos, é fundamental. Ferrari e Canny (1992) propõem duas métricas de qualidade da fixação, Q∞ e Q2 , baseadas nos trabalhos de Markenskoff e Papadimitriou (1989) e Kirkpatric et al. (1990), respectivamente. Estas métricas são baseadas na envolvente convexa dos carregamentos dos contatos aplicados sobre o objeto, e atualmente são amplamente utilizadas pelos pesquisadores da área na avaliação de fixações de maneira geral, pois, as principais caracterísiticas das métricas são: a capacidade de se trabalhar com garras de diferentes quantidades de dedos (não há limitantes superiores); e a capacidade de se utilizar diferentes modelos de contato. Segundo Ferrari e Canny (1992), uma fixação pode ser melhor que outra pela sua capacidade de equilibrar um mesmo carregamento externo com forças de contato de magnitude menor. Esta capacidade pode ser medida pela razão entre a magnitude do carregamento equilibrado e a magnitude das forças aplicadas nos contatos. Vale relembrar que a envolvente convexa do GWS indica quais os carregamentos que uma fixação pode equilibrar. Se cada ponto dentro da envolvente convexa representa um carregamento externo que pode ser equilibrado, e a sua superfície representa os carregamentos que provocam o limite do equilíbrio estático, então, o menor carregamento externo que pode ser aplicado é o ponto da superfície com a menor distância à sua origem. Segundo Kirkpatric et al. (1990), a eficiência de uma fixação é medida por esta distância. Esta medida de qualidade pode ainda apresentar diferentes valores para diferentes metodologias de construção da envolvente convexa. Ferrari e Canny (1992) propõem duas metodologias de construção da envolvente convexa para avaliação da qualidade da fixação. A primeira considera limites independentes das magnitudes das forças de cada contato, fato que maximiza o pior caso. A segunda considera o limite da soma das magnitudes das forças de todos os contatos. A primeira metodologia maximiza o menor dos carregamentos equilibráveis pelos contatos, enquanto que a segunda minimiza a magnitude dos somatório das forças. A segunda abordagem é interessante na busca de fixações estáveis segundo a teoria de Langrange, enquanto que a primeira abordagem é interessante na busca de fixações otimizadas em relação à capacidade de resistir à carregamentos externos. 3 Teoria fundamental da fixação 52 Maximização do menor carregamento externo Nesta abordagem, o carregamento em cada contato é considerado independente, e com máxima magnitude igual a um. Como a relação entre um carregamento externo e as forças nos contatos é linear, para carregamentos externos com magnitudes maiores que a unidade deve-se redimensionar as magnitudes das forças aplicadas nos contatos. Na Seção 3.3.2 é mostrado que o cone de atrito pode ser representado por um número finito de forças q, localizadas na superfície do cone de atrito. Considerando a força f oi como a força aplicada no i-ésimo contado e descrita no sistema de coordenadas do objeto, pode-se dizer que esta força é uma combinação linear das q forças de simplificação do cone de atrito, assim: q oi f = ∑ αoi, j · f oi, j (3.74) j=1 q com αoi , j ≥ 0 e ∑ j=1 αoi , j ≤ 1. Os vetores f oi, j , com ( j = 1, . . . , q), são os vetores de discretização do cone de atrito descritos em O. o a As forças f oi, j também provocam momentos em relação ao centroide do objeto, sendo rci distância entre o ponto de contato e o centróide do objeto, então: τ oi = q ∑ αoi, j · (rcio × f oi, j ). (3.75) j=1 Utilizando a notação F oi = [( f oi )T (τ oi )T ]T para o carregamento do contato ci, descrito em O, então é possível afirmar que: q F oi = ∑ αoi, j · F oi, j . (3.76) j=1 O mesmo procedimento pode ser realizado para todos os n pontos de contato, então: n F o = ∑ F oi , (3.77) i=1 e o conjunto de todos os carregamentos sobe o objeto é dado por: FLo∞ = F o1 ⊕ . . . ⊕ F on . (3.78) A Equação 3.78 é o somatório de Minkowisk (vide Anexo A) dos carregamentos em cada contato, que pode ser geometricamente representado por uma envolvente convexa, definida por: FLo∞ n {F oi,1 , . . . , F o,q }). = ConvexHull( i=1 (3.79) 3.3 Propriedades da fixação 53 A envolvente convexa da Equação 3.79 é construída considerando que a força em cada carregamento tem magnitude máxima unitária, e a qualidade Q∞ , medida pela menor distância entre a superfície da envolvente convexa e sua origem, é maximizada pela considerção da não dependência entre as magnitudes das forças de contato. Minimização do somatório das forças de contato Para o caso em que se considera que o somatório de todas as forças de todos os contatos tem valor unitário, então o somatório das forças de contato é dado por: n f o = ∑ f oi . (3.80) i=1 Se cada força de contato f oi é uma combinação linear daquelas de discritização do cone de atrito, então: n fo = ∑ q ∑ αi, j · f oi, j , (3.81) i=1 j=1 q com αoi , j ≥ 0 e ∑ni=1 ∑ j=1 αoi , j ≤ 1. De forma similar pode-se dizer que: n Fo = ∑ q ∑ αi, j · F oi, j . (3.82) i=1 j=1 Finalmente, o conjunto dos carregamentos possíveis é representado pela envolvente convexa: FLo1 = ConvexHull( n {F i,1 , . . . , F i,q }). (3.83) i=1 cuja menor distância da sua supérfície à origem é a medida de qualidade Q1 . A qualidade Q1 considera que o somatório das magnitudes da força é limitado, desta forma, quando uma fixação apresenta melhor qualidade Q1 que outra, pode-se dizer que a primeira é mais estável que a segunda. Quando se utiliza esta medida em planejadores de fixação, obtém-se uma fixação com estabilidade segundo a teoria de Lagrange. 3 Teoria fundamental da fixação 54 3.4 Resumo do Capítulo 3 O objetivo do presente Capítulo foi apresentar a teoria envolvida na fixação de objetos por garras robóticas e a principal contribuição para a compreensão do texto desta Dissertação é a verificação da condição force-closure de uma fixação e a determinação da qualidade da mesma. Porém, antes da apresentação destes assuntos específicos, foi necessário apresentar outras formulações de fenômenos envolvidos na fixação. Primeiramente, foi apresentado o conceito das transformações homogêneas e a teoria de movimentação de corpos rígidos no espaço. Estes conceitos são utilizados para definir o mapa de uma fixação G, que transforma os carregamentos de cada contato, cujo espaço é definido pela base de contato B, em carregamentos equivalentes definidos em um único sistema de coordenadas, neste caso, o sistema de coordenadas do objeto. Utilizando-se o mapa da fixação G e a base dos contatos B, é possível determinar as equações de equilíbrio estático do objeto em uma fixação. Contudo, na maioria dos casos, este sistema de equações é linearmente dependente e não possui uma única solução. A fim de possibilitar a análise qualitativa de uma fixação quanto a sua capacidade de resistir a carregamentos externos, foi apresentada a propriedade force-closure de uma fixação. Uma fixação force-closure é definida como aquela capaz de se manter em equilíbrio na ausência de carregamentos externos, ou seja, quando somente o carregamento da fixação é aplicado sobre o objeto, que permanece em equilíbrio estático. Para a verificação da propriedade force-closure de uma fixação é necessário recorrer a uma ferramenta específica, a envolvente convexa. A envolvente convexa representa o espaço dos possíveis carregamentos que podem ser aplicados por uma fixação, e conseqüentemente, representa os carregamentos externos que uma fixação pode equilibrar. Se a envolvente convexa contiver a sua origem, então a fixação é capaz de equilibrar um carregamento externo nulo, ou seja, a fixação é capaz de se manter em equilíbrio na ausência de carregamentos externos. Neste caso, diz-se que a fixação é force-closure. Por fim, a análise da propriedade force-closure de uma fixação não permite determinar, dentre uma série de fixações para um mesmo objeto, qual é a fixação que melhor resiste aos diferentes carragemantos externos. Para este fim, recorre-se a uma métrica de qualidade da fixação. Se a envolvente convexa de uma fixação representa os carregamentos que podem ser equilibrados, e ainda, a sua superfície representa os limites em que o equilíbrio entre carregamento da fixação e externo é atingido, então o ponto da superfície da envolvente convexa mais próximo a sua origem é o ponto em que o desequilíbrio é mais facilmente atingido, e portanto, 3.4 Resumo do Capítulo 3 55 a distância deste ponto à origem da mesma envolvente é a medida da qualidade da fixação. As teorias, definições, propriedades e equações apresentadas neste Capítulo são fundamentais para a plena compreensão dos Capítulos 5, 7 e 8 deste trabalho. 56 3 Teoria fundamental da fixação 57 Parte II Fixação 2D utilizando redes neurais artificiais 59 4 Aproximação poligonal utilizando redes de Hopfield Neste Capítulo é apresentado um algoritmo de rápido processamento, baseado em redes neurais, para o problema da aproximação poligonal de curvas. O algoritmo aqui proposto consiste em modificações na regra de ativação originalmente proposto por Araújo e Tanaka (1995). Simulações e comparações mostram que o novo algorimo apresenta respostas com qualidade equivalente ao algoritmo original, contudo, o tempo de processamento observado foi significantemente menor. 4.1 Introdução No reconhecimento de padrões geométricos, é crucial o emprego de formas geométricas aproximadas ou reduzidas, sendo que, a técnica de aproximação poligonal, que permite a descrição da forma de maneira compacta, simplifica sua análise, além de reduzir a demanda computacional na etapa de processamento de dados. A aproximação poligonal é uma abordagem bastante utilizada para a simplificação de formas bidimensionais. O objetivo é representar uma forma geométrica por um polígono, cujos vértices são alguns dos pontos da curva original, sendo que as características relevantes são preservadas na aproximação. A abordagem consiste na escolha dos melhores vértices para a representação do polígono com perdas mínimas de informação. Em geral, as soluções existentes apresentam respostas otimizadas quanto à qualidade da aproximação, porém, os algoritmos existentes, em sua maioria, requerem muito esforço computacional. A dificuldade encontrada em tais abordagens é a obtenção de respostas satisfatórias com tempo reduzido que permitam a aplicação da técnica em tarefas onde o tempo de processamento é crítico. Algumas técnicas propõem o uso de recursos não convencionais na tentativa de simplificar os cálculos. Dentre as várias estratégias não convencionais pode-se destacar as redes neurais 4 Aproximação poligonal utilizando redes de Hopfield 60 artificiais. Chung et al. (1994) propõe uma rede de Hopfield para a solução do problema da aproximação poligonal, que posteriormente fora modificada por Araújo e Tanaka (1995) a fim de melhorar a qualidade dos resultados. As modificações propostas por Araújo e Tanaka (1995) estão concentradas na matriz de pesos de aprendizagem da rede neural, de modo que as diferenças entre o polígono de aproximação e a curva aproximada tivessem maior influência no cálculo dos pesos. Os resultados obtidos com as modificações foram satisfatórios em várias situações, porém, o custo computacional para o cálculo da aproximação ainda é elevado, conforme será mostrado neste Capítulo. Dentre as desvantagens do algoritmos de Araújo e Tanaka (1995), pode-se citar que, quando o número de vértices da aproximação é próximo ao da curva inicial, ou quando o número de pontos da curva inicial é elevado, o tempo total de cálculo gasto pelo algoritmo não permite sua utilização em operações que exigem rápido processamento, tal como os sistemas robóticos. O novo algoritmo propõe uma variação da rede competitiva de Hopfield apresentada por Araújo e Tanaka (1995) como solução para o problema do custo computacional para resolver o problema da aproximação poligonal. A proposta envolve modificações na construção da matriz de aprendizado, na rede competitiva, na construção da regra de ativação e na função energia U. As modificações evitam operações que não influenciam no resultado final, portanto, evita operações desnecessárias, sem perda da qualidade da aproximação. A Seção 4.3 apresenta o modelo de rede neural competitiva de Hopfield proposta por Araújo e Tanaka (1995) e discute alguns resultados preliminares. Na Seção 4.4 são propostas modificações na matriz de pesos H, na regra de ativação, e o algoritmo proposto é apresentado. Simulações são realizadas e os resultados são comparados com resultados obtidos por vários métodos na Seção 4.5. Formas de objetos reais também são utilizadas para comparar o algoritmo original com o proposto na Seção 4.5.3. Por motivos didáticos na proxima Seção, Seção 4.2, a rede competitiva de Hopfield é brevemente apresentada. 4.2 Rede de Hopfield A rede neural proposta por Hopfield (1982) apresenta uma formação recurssiva em que cada neurônio é conectado a todos os demais neurônios da rede. A conexão entre os neurônios é caracterizada pelos pesos wi j , que é o peso da conexão entre o neurônio i e o neurônio j. Os pesos entre os neurônios de toda a rede formam uma matriz simétrica de pesos W , wi j = w ji , e com diagonal principal nula, caracterizando que a conexão de um neurônio com si mesmo é inexistente ou nula. A Figura 4.1 mostra uma rede de Hopfield de seis neurônios e suas 4.2 Rede de Hopfield 61 conexões. Figura 4.1: Exemplo de uma rede de Hopfield com seis neurônios e suas conexões. A ativação de cada neurônio da rede é determinada por uma função degrau aplicada sobre um somatório ponderado dos valores de entrada do neurônio subtraído de um limiar T j . Os valores de entrada de cada neurônio são os valores atribuído a cada um dos demais neurônios, no instante anterior t, multiplicados pela sua conexão com o neurônio avaliado. xi (t + 1) = fh N ∑ wi j · x j (t) − Tj i = 1, 2, · · · , N (4.1) j=1 em que N é o número total de neurônios da rede e x j e T j são respectivamente o valor de ativação e o limiar do j-ésimo neurônio. A função degrau fh é uma função não linear que determina uma ativação bipolar (-1,+1) ou binária (0,1). Na arquitetura da rede de Hopfield, valores iniciais são atribuídos à rede, 0 e 1 para o caso binário, ou -1 e +1 para o caso bipolar. A conexão mútua entre os neurônios permite que a ativação de um neurônio influencie na ativação dos demais. Desta forma, a rede inicial passa por diversos estados intermediários até a convergência em um estado estável que ocorre quando não há mais mudanças na ativação dos neurônios. O estado estável significa que há mais neurônios mantendo as ativações do que neurônios tentando invertê-las. O ponto de mínimo valor da função energia dada pela equação 4.2 corresponde ao ponto de estabilidade atingido pela rede. E =− 1 ∑ wi j · xi · x j + ∑ xi · Ti 2∑ i j=i i (4.2) A convergência da rede de um estado inicial até um de mínima energia possibilita a utiliza- 4 Aproximação poligonal utilizando redes de Hopfield 62 ção das redes competitivas de Hopfield em problemas de otimização, para tanto, é necessário associar uma função objetivo com a função energia, desta maneira, a rede poderá convergir para uma solução otimizada segundo um mínimo local. O caso da aproximação poligonal consiste em um clássico problema de otimização. Equacionando o problema da aproximação em termos de uma função energia, é possível determinar uma solução para o problema através da rede de Hopfield. O ponto de mínimo da função energia, para o caso da aproximação, consiste em um polígono que minimiza o desvio entre o polígono aproximado e a curva original. 4.3 Algoritmo original A presente Seção apresenta o modelo de rede competitiva de Hopfield proposto por Araújo e Tanaka (1995) para a determinação dos melhores vértices da aproximação poligonal. Porém, para melhor compreensão do algoritmo é recomendado a leitura de Chung et al. (1994) e Araújo e Tanaka (1995). A partir de um polígono composto por n pontos, é definido P = [p1 , p2 , . . . , pn ]T como o vetor de vértices do polígono, sendo que cada elemento tem duas componente x e y em um sistema de referência inercial. Deseja-se representar o polígono por um número reduzido de m elementos, ou seja m < n. A rede neural proposta apresenta configuração bidimensional, denominada matriz neural V , de dimensões n × m. Cada uma das m colunas apresenta n neurônios, onde cada neurônio representa um vértice ou elemento do vetor P, sendo que apenas um neurônio é ativado por coluna. Os neurônios ativados de cada coluna representam os vértices selecionados de aproximação. Desta forma, o neurônio ativado na primeira coluna representa o primeiro vértice da aproximação, e assim sucessivamente até que na m-ésima coluna, o neurônio ativado representa o último vértice da aproximação. Uma vez definida a matriz neural Vn×m , define-se a regra de aprendizado, ou a matriz de pesos H. Para tanto, o desvio entre curva e corda é definido. Primeiramente, dada uma curva P = [px , px+1 , px+2 , . . . , px+n−1 , py ]T constituída de n pontos ordenados, e px py e px py representando, respectivamente, o trecho da curva e a corda do ponto px ao ponto py . Araújo e Tanaka (1995) definem como desvio ponto-corda o somatório das distâncias entre os pontos da curva P e a corda px py como: hx,y = x+n−1 ∑ k=x+1 d(pk , px py ). (4.3) 4.3 Algoritmo original 63 Figura 4.2: Desvio entre curva e corda definido como o somatório das distâncias entre a curva px py e a corda px py . Define-se então a matriz Hn×n formada pelo desvio ponto-corda entre todos os pontos da curva como: H = [hx,y ], (4.4) em que x, y = 1, 2, 3, . . . , n. Após a construção da matriz H, a seleção dos melhores pontos de aproximação é definida por um método iterativo onde cada etapa da iteração consiste na análise de uma coluna da matriz de neurônios da matriz V . A regra winner-takes-all é aplicada sobre uma regra de ativação, ou função energia U, calculada para cada elemento de uma mesma coluna, sendo que a unidade vencedora recebe o valor 1 (ativada) e as demais recebem o valor 0 (não ativada). A função energia U é calculada da seguinte maneira: Ux,i = n ∑ −(hy,x ·Vy,i−1 + hx,y ·Vy,i+1), (4.5) y=1 para x = 1, . . . , n e i = 1, . . . , m. Em que x é o neurônio da i-ésima coluna. Para cada ponto neurônio x, pertencente à i-ésima coluna verificada, é calculada a energia Ux,i , que recebe o somatório das conexões com os elementos das colunas vizinhas, da direita e da esquerda, conforme mostra a Figura 4.3. Para que nenhum ponto px seja ativado em colunas vizinhas, modifica-se o cálculo dos elementos de H dado pela Equação 4.6 válida para todo x = y. hx,y = ∞ (4.6) A aproximação poligonal utilizando a rede competitiva de Hopfield pode ser resumida da seguinte forma: 1. Entrada: pontos de uma curva P = [p1 , p2 , . . . , pn ]T ordenada no sentido horário e o número de vértices do polígono de aproximação m. 4 Aproximação poligonal utilizando redes de Hopfield 64 Figura 4.3: Esquemático do cálculo da função energia U para um elemento qualquer. Figura modificada de Valente (1999). 2. Estado final da rede: as unidades ativas representam os vértices do polígono de aproximação. 3. Método. (a) Regra de aprendizado: construção da matriz de pesos H, formada pelo somatório das distâncias de pontos de curva e corda. (b) Estado inicial da rede: escolha inicial dos m pontos selecionados o mais eqüidistantes possível. (c) Regra de propagação: cálculo da função energia para todos os neurônios da coluna avaliada. (d) Regra de ativação winner-takes-all para obtenção do novo neurônio ativado na coluna. (e) Repetição dos passos c) e d) para todas as colunas até não haver mais mudanças na rede. (f) Geração dos vértices do polígono de aproximação a partir das unidades ativas da rede. 4.4 Algoritmo proposto O algoritmo proposto apresenta modificações na rede apresentada na Seção anterior. Esperase, como resultado, obter uma aproximação onde os pontos selecionados sejam os mesmos, ou 4.4 Algoritmo proposto 65 semelhantes, aos calculados pelo algoritmo original, porém, com tempo total de processamento e recursos computacionais utilizados reduzidos. A principal estratégia adotada no novo algoritmo é executar o cálculo dos elementos da matriz H apenas quando forem solicitados. Cada elemento da matriz é ainda calculado segundo a Equação 4.3. Determinada a regra de aprendizagem ou seja, o cálculo dos elementos da matriz de pesos H, utiliza-se a matriz de representação neural V introduzida na Seção anterior, onde cada neurônio pode assumir um valor binário 0 ou 1. Os vetores P = [p1 , . . . , pn ]T e S = [s1 , . . . , sm ]T são definidos. O vetor P é formado pelos vértices da curva inicial. O vetor S é formado por m ponteiros que indicam quais vértices foram selecionados na aproximação, desta forma se s1 = 3, significa que o terceiro vértice da curva, ou o elemento p3 ∈ P foi selecionado para a aproximação. Conforme foi discutido na Seção anterior, cada coluna da matriz V representa os vértices candidatos, ou seja, os pontos do vetor P. O índice dos elementos do vetor P selecionado em cada uma das m colunas da matriz V compõem o vetor S. A matriz neural V é inicializada com pontos eqüidistantes em cada uma das colunas. Uma vez inicializada a rede, inicia-se o processo de iteração. A função energia é calculada e a regra de ativação é aplicada para cada uma das colunas. A Figura 4.4 mostra a função energia calculada pela Equação 4.5 para um estágio de iteração. Figura 4.4: Função energia para uma etapa de iteração. 4 Aproximação poligonal utilizando redes de Hopfield 66 Uma vez inicalizada a rede, começa o processo de iteração. A função energia é calculada e a regra de ativação é aplicada para cada um das colunas. A Figura 4.4 mostra a função energia onde pode ser obervado que os vales são os pontos onde houve a penalização imposta pela restrição da equação 4.5, e a região entre os vales, ou topo, indica a região de interesse (vide Figura 4.5) onde está localizado o ponto selecionado. A região de interesse esta compreendida entre o vértice selecionado da coluna anterior e o vértice selecionado da coluna posterior, conforme mostra a Figura 4.5, em outras palavras, a região de interesse é formada pelos neurônios localizados entre o neurônio ativado da coluna anterior e o neurônio ativado da coluna posterior à coluna avaliada. Figura 4.5: Região de interesse para o cálculo da matriz H. Considerando que o ponto selecionado está dentro da região de interesse, a equação da função energia é simplificada até a seguinte expressão: Ux,y = −(hS(y−1),x + hx,S(y+1) ) para S(y − 1) < x < S(y + 1) com y = 1, . . . , m, (4.7) em que S(y − 1) é a posição do ponto A dentro do vetor P, e S(y + 1) é a posição do ponto C dentro do vetor P (vide figura 4.5), ou ainda, S(y − 1) é o neurônio ativado da coluna anterior e S(y + 1) é o neurônio ativado da coluna posterior. A nova equação para o cálculo da função energia evita as multiplicações por 0, ou seja, multiplicações dos elementos da matriz V não selecionados. Outra modificação é o cálculo de 4.5 Simulações e resultados 67 U apenas dentro da região de interesse. As modificações no método da rede competitiva de Hopfield podem ser resumidas como: • Mudança na ordem de cálculo da matriz de pesos H, evitando o cálculo de termos não utilizados. • Modificação na regra de propagação. Aplicação da função energia apenas sobre a região de interesse. • Mudança no equacionamento da função energia, eliminando multiplicações desnecessárias. O algoritmo proposto pode ser então resumido como: 1. Entrada: pontos de uma curva P = [p1 , p2 , . . . , pn ]T ordenada no sentido horário e o número de vértices do polígono de aproximação m. 2. Estado final da rede: as unidades ativas representam os vértices do polígono de aproximação. 3. Método. (a) Estado inicial da rede: escolha inicial dos m pontos selecionados o mais eqüidistante possíveis. (b) Regra de propagação: cálculo da função energia para cada coluna somente na região de interesse. Nesta etapa os pesos da matriz H serão calculados conforme a necessidade. (c) Regra de ativação winner-takes-all para obtenção do novo estado da rede. (d) Repetição dos passos c) e d) até não haver mais mudanças na rede. (e) Geração dos vértices do polígono de aproximação a partir das unidades ativas da rede. 4.5 Simulações e resultados Simulações foram realizadas para verificar o desempenho do algoritmo proposto quanto à qualidade da aproximção e quanto ao tempo de processamento. O método proposto foi implementado na linguagem Matlab, e as simulações foram realizados em um computador de 2, 0GHz do tipo IBM-PC. 4 Aproximação poligonal utilizando redes de Hopfield 68 A qualidade das respostas foi medida pelos seguintes parâmetros: somatório do erro quadrático: n EQ = ∑ (di )2 ; (4.8) EM = max{di } para i = 1, 2, . . . , n (4.9) i=1 e erro máximo: em que d é a distância entre um ponto da curva original à curva de aproximação (vide Figura 4.2). 4.5.1 Comparação com o algoritmo original Na primeira simulação, o resultado do algoritmo proposto foi comparado com o algoritmo original proposto por Araújo e Tanaka (1995) e utilizado por Valente (1999) na etapa do compactação dos dados. Para cada possível valor de aproximação m, ou seja 3 ≤ m ≤ (n − 1), os parâmetros de qualidade EQ, EM e o tempo de processamentoto foram medidos para ambos os algoritmos. No experimento foram utilizadas as curvas da Figura 4.6. (a) (b) (c) Figura 4.6: As formas acima são freqüentemente utilizadas pelos autores da área para avaliação dos algoritmos de aproximação poligonal. Figura 4.6(a) Leaf shape, Figura 4.6(b) Chromosome shape e Figura 4.6(c) Semi-circle shape. As três formas foram utilizadas na avaliação dos resultados do resultado do algoritmo de aproximação poligonal por diversos autores, entre eles: Rosenfeld e Weszka (1975), Teh e Chin (1989), Ansari e Huang (1991), Chung et al. (1994), Ray e Ray (1992a), Ray e Ray (1992b), Cornic (1997), Wu (2003), Marji e Siy (2003), Marji e Siy (2004), Sarkar (1993) e Huang e Sun (1999). 4.5 Simulações e resultados 69 Figura 4.7: Gráficos de comparação entre o algoritmo proposto, em azul, e o algoritmo original, em vermelho, para o Leaf shape (Figura 4.6(a)). Figura 4.7(a) mostra o erro máximo por aproximação m, Figura 4.7(b) mostra o somatório do erro quadrático por aproximação m e Figura 4.7(c) mostra o tempo de processamento por aproximação m.A forma Leaf shape tem inicialmente 120 pontos. 70 4 Aproximação poligonal utilizando redes de Hopfield Figura 4.8: Gráficos de comparação entre o algoritmo proposto, em azul, e o algoritmo original, em vermelho, para o Chromosome shape (Figura 4.6(b)). Figura 4.8(a) mostra o erro máximo por aproximação m, Figura 4.8(b) mostra o somatório do erro quadrático por aproximação m e Figura 4.8(c) mostra o tempo de processamento por aproximação m. A forma Chromosome shape tem inicialmente 60 pontos. 4.5 Simulações e resultados 71 Figura 4.9: Gráficos de comparação entre algoritmo proposto, em azul, e o algoritmo original, em vernelho, para o Semi-circle shape (Figura 4.6(c)). Figura 4.9(a) mostra o erro máximo por aproximação m, Figura 4.9(b) mostra o somatório do erro quadrático por aproximação m e Figura 4.9(c) mostra o tempo de processamento por aproximação m. A forma Semi-circle shape tem inicialmente 100 pontos. 4 Aproximação poligonal utilizando redes de Hopfield 72 Os gráficos anteriores mostram os parâmetros medidos EM e EQ e o tempo de processamento, pelo valor m de aproximação, para as formas leaf shape, chromossome shape e semicircle shape. Pode-se observar que para as três formas a qualidade da aproximação, expressa pelos parâmetros EQ e EM, foram mantidas, no entanto, o tempo de processamento observado foi consideravelmente reduzido para valores de aproximação acima de 5% do número total de pontos n. Em média o algoritmo original foi 400 vezes mais lento que o algoritmo proposto neste trabalho. O código fonte do algoritmo original utilizado nesta comparação foi gentilmente sedido por Carlos Magno de Oliveira Valente. 4.5.2 Comparação com demais algoritmos Na segunda comparação, os curvas da Figura 4.6 foram aproximadas e comparadas com outros algoritmos de aproximação poligonal. As Tabelas B.1 e B.2, localizadas no Apêndice B, mostram os resultados obtidos em alguns trabalhos relevantes. Novos parâmetros de qualidade da aproximação são definidos, sendo eles: somatório do erro quadrático ponderado: n EQp = ∑ (di )2 /TC; (4.10) EM p = max{di }/TC para i = 1, 2, . . . , n, (4.11) i=1 e erro máximo ponderado: em que TC é a taxa de compressão TC = mn . Os resultados do algoritmo proposto foram comparados com os resultados dos demais algoritmos (ROSENFELD; WESZKA, 1975; TEH; CHIN, 1989; ANSARI; HUANG, 1991; CHUNG et al., 1994; RAY; RAY, 1992a, 1992b; CORNIC, 1997; WU, 2003; MARJI; SIY, 2003, 2004; SARKAR, 1993; HUANG; SUN, 1999). Os gráficos das Figuras 4.10 a 4.15 a seguir comparam os resultados do algoritmo proposto, e os resultados dos demais algoritmos para cada valor m de aproximação poligonal. Para as aproximações por determinado m realizadas por mais de um autor, foi selecionado aquele que apresentou a melhor qualidade de aproximação. Os dados obtidos com o algoritmo proposto estão na Tabela B.3, também localizada no Apêndice B. 4.5 Simulações e resultados 73 Figura 4.10: Comparação do algoritmo proposto com outros algoritmos. Somatório do erro quadrático por aproximação do Leaf Shape. Figura 4.11: Comparação do algoritmo proposto com outros algoritmos. Erro máximo por aproximação do Leaf Shape. 74 4 Aproximação poligonal utilizando redes de Hopfield Figura 4.12: Comparação do algoritmo proposto com outros algoritmos. Somatório do erro quadrático por aproximação do Chromosome Shape. Figura 4.13: Comparação do algoritmo proposto com outros algoritmos. Erro máximo por aproximação do Chromosome Shape. 4.5 Simulações e resultados 75 Figura 4.14: Comparação do algoritmo proposto com outros algoritmos. Somatório do erro quadrádico por aproximação do Semi Circle Shape. Figura 4.15: Comparação do algoritmo proposto com outros algoritmos. Erro máximo por aproximação do Semi Circle Shape. 4 Aproximação poligonal utilizando redes de Hopfield 76 4.5.3 Simulação com imagens reais Para verificar a capacidade do algoritmo de aproximação proposto de realizar aproximações poligonais em tempos reduzidos, formas de objetos reais são aproximadas pelo algoritmo original e pelo algoritmo proposto. A simulação com formas de objetos reais tem o objetivo de mostrar a eficiência do algoritmo proposto para utilização em sistemas mecatrônicos, neste caso, para utilização em um sistema de fixação de objetos. As aproximações são realizadas com as figuras utilizadas nas simulações do algoritmo de fixação 2D (As imagens de objetos utilizadas são aquelas das Figuras A.2, A.3 e A.4 localizadas no Apêndice A) para m = 50, m = 100 e m = 150 pontos. A curva original, o contorno do objeto, é extraído segundo o método de processamento de imagens apresentado no Apêndice A. Os resultados das simulações são apresentados na tabela a seguir. Tabela 4.1: Tabela de comparação dos tempos de processamento da aproximação poligonal, calculada pelo algoritmo original e pelo algoritmo proposto, de formas de objetos reais, para diversos valores m de aproximação. Os tempos medidos estão em segundos. Figura Figura A.2(a) Figura A.2(b) Figura A.3(a) Figura A.3(b) Figura A.3(c) Figura A.3(d) Figura A.3(e) Figura A.4(a) Figura A.4(b) Figura A.4(c) Figura A.4(d) Figura A.4(e) m = 50 Alg. Prop. Alg. Orig. 0,1361 69,893 0,1998 210,27 0,1718 137,68 0,6251 708,07 0,2470 271,20 0,4322 447,65 0,2746 237,60 0,4731 36,774 0,3807 280,84 0,0891 26,269 0,3006 347,59 0,5237 692,35 m = 100 Alg. Prop. Alg. Orig. 0,1612 167,53 0,3389 498,75 0,3877 423,40 0,5327 1189,4 7,1519 637,18 0,2799 1674,3 0,4018 711,69 0,0749 119,61 0,3281 1059,5 1,2513 133,88 0,3118 802,49 0,2939 3067,2 m = 150 Alg. Prop. Alg. Orig. 0,1994 728,37 0,3447 1080,6 0,4975 1295,9 0,8466 3664,5 0,3638 821,69 5,3440 2525,5 0,3420 1504,7 0,0490 509,57 0,5568 1346,1 0,0399 199,06 0,7193 1683,1 0,5387 6505,4 Os tempos de processamento apresentados pelo algoritmo original são extremamente inferiores aqueles apresentados pelo algoritmo original. Porém, é importante ressaltar que o tempo de processamento do algoritmo original depende principalmente do número de pontos da curva orignal, pois o número de pontos determina o tamanho da matriz de pesos H. As formas utilizadas para a obtenção dos valores da Tabela 4.1 foram obtidas de imagens de alta resolução (4 Mega pixels), e desta forma, cada forma apresenta um elevado número de pontos n. Quando se utiliza curvas iniciais definidas por pouco pontos, é cpossível obter reduzidos tempos de processamento com a utilização do algoritmo original, tal como os resultados obtidos 4.6 Resumo do Capítulo 4 77 por Valente (1999), que utiliza imagens de baixa resolução1 . 4.6 Resumo do Capítulo 4 A aproximação poligonal é uma técnica que pode ser usada em várias áreas da ciência, porém, muitos métodos existentes levam em consideração a obtenção de uma aproximação otimizada, dentre as inúmeras possíveis soluções existentes, sendo que o tempo de processamento é elevado. Portanto, o uso de técnicas de determinação de aproximações otimizadas é inviável para sistemas com requisitos de processamento em tempo real. Neste Capítulo, modificações do algoritmo de Araújo e Tanaka (1995) foram apresentadas como uma solução para o elevado tempo de processamento das técnicas de aproximação poligonal. As modificações do algoritmo original estão concentradas na construção da matriz de pesos H e no cálculo da função energia U, que no caso do método original, apresenta cálculos desnecessários que provocam tempos elevados para a obtenção das respostas. Simulações foram realizadas e os resultados obtidos mostraram que foi possível diminuir o tempo de processamento sem perda da qualidade da aproximação, porém a aproximação obtida pode, em muitos casos, não ser uma aproximação otimizada. Como proposta para trabalhos futuros é sugerido a análise da qualidade da aproximação em função da inicialização da rede. Testes, não descritos neste texto, mostraram que a resposta da rede é influenciada pela sua inicialização, que deve ser otimizada a fim de se melhorar as respostas. Também é proposta a avaliação dos resultados apresentados pela rede em função do cáculo dos pesos da rede, em outras palavras, a medida do erro da aproximação de uma curva de vários pontos (corda) por uma reta. Chung et al. (1994) propõem que o erro de aproximação de uma corda por uma reta é determinado pela maior distância entre os pontos da corda e a reta, e Araújo e Tanaka (1995) mostram que melhores resultados são obtidos quando o erro é representado pelo somatório das distâncias entre os pontos da corda e a reta de aproximação. Logo, o desempenho da rede também depende do método utilizado para se determinar os pesos da rede, e poderia ser investigado. Por fim, as medidas de tempo realizadas nas comparações entre os algoritmos foram reali1 Segundo informações de Valente (1999), a câmera utilizada capturava imagens de 128×128 pixels, e desta forma, as formas dos objetos apresentavam em média 400 pontos de contorno. 78 4 Aproximação poligonal utilizando redes de Hopfield zadas a partir do processamento em um computador do tipo desktop a partir de programas implementados em uma linguagem de desenvolvimento sem recursos de processamento em tempo real. Para uma real medida da eficiência do algoritmo em sistema robóticos, é desejável testar o algoritmo em um computador dedicado, com hardware e software que permitam execução em tempo real. 79 5 Fixação 2D de objetos desconhecidos 5.1 Introdução A utilização de garras robóticas em ambientes fabrís pode ser encontrada em larga escala com o objetivo de fixar objetos, e com a finalidade de movimentação de material, montagem, inspeção de peças, entre outras diversas aplicações. Contudo, os sistemas manipuladores e as garras robóticas industriais apresentam alto grau de especialização e são incapazes de se adaptarem às variações das condições de operação, sejam elas mudanças na geometria do objeto a ser fixado, ou mudanças na orientação e posição do mesmo no espaço de trabalho do manipulador. Na área científica, muitos trabalhos propõem diferentes abordagens para o problema da fixação de objetos previamente desconhecidos. Dentre os trabalhos que se focam no problema da fixação, pode-se destacar os trabalhos que utilizam informações obtidas por sistemas de visão para informar ao manipulador a forma do objeto a ser fixado. Os principais sistemas de visão utilizados nas indústrias e nos trabalhos acadêmicos são: visão estereoscópica (HAUCK et al., 1999); scanners laser (WANG et al., 2005); sistemas compostos por scanners e câmeras (SAXENA et al., 2006) e os sistemas formados por somente uma câmera (BALLESTER, 2003)(MORALES et al., 2006). Nas aplicações industrias, pela necessidade de tempo total de processamento reduzido, os manipuladorers providos de um sistema de visão composto por uma única câmera, ou visão bidimensional (2D), apresentam-se como os mais adequados quando comparados aos outros sistemas de visão tridimensionais (3D). As câmeras apresentam, de forma geral, baixo custo de instalação, facilidade de calibração, e permitem rápido processamento das informações devido ao número reduzido de dados, quando comparados com os sistemas de visão 3D. Ainda para as aplicações industriais, além do reduzido tempo de aquisição e de processamento dos dados obtidos pelo sistema de visão, o tempo de tomada de decisão, ou seja, o tempo decorrido para a determinação dos pontos de fixação, também deve ser reduzido. Na busca de 5 Fixação 2D de objetos desconhecidos 80 sistemas rápidos de fixação, baseados em informações 2D do objeto, pode-se destacar os trabalhos de Xu et al. (1990), Bendiksen e Hager (1994), Kamon et al. (1994), Valente (1999), Morales et al. (2001), Ballester (2003), Sanz et al. (2005), e Morales et al. (2006). Os trabalhos citados propõem sistemas baseados em diferentes técnicas e algoritmos de planejamento da fixação, desde uma busca heurística exaustiva pela melhor fixação, até a determinação de pontos de fixação por RNAs, sendo que alguns ainda apresentam sistemas de aprendizagem com auxílio de sistemas supervisores. Nos trabalhos de Morales et al. (2001), de Ballester (2003), de Sanz et al. (2005) e de Morales et al. (2006), técnicas de rápido processamento e mecanismos de busca são utilizados para a determinação de uma fixação estável para objetos de formatos desconhecidos. Os resultados apresentados são satisfatórios, mas pode-se citar algumas desvantagens como erros na fixação de objetos com geometria complexa muito diferente da forma retangular e elipsoidal. Nos trabalhos de fixação 2D de objetos desconhecidos, pode-se ainda citar aqueles que utilizam técnicas não convencionais. Os trabalhos de Xu et al. (1990) e Valente (1999) utilizam RNA na tentativa de obter resultados mais satisfatórios quanto à qualidade da fixação de objetos com geometria complexa, de tornar o sistema mais rápido, e de prover ao sistema a capacidade de aprendizado. Xu et al. (1990) utilizam uma rede competitiva de Hopfield para a determinação de pontos de contato para objetos 2D . O propósito da rede competitiva é encontrar uma fixação adequada a partir da otimização de uma função que modela a estabilidade da fixação, o processo de otimização da função é realizado pela rede de Hopfield. Os resultados apresentados por Xu et al. (1990) mostram a capacidade de se determinar fixações estáveis utilizando redes de Hopfield. Uma das desvantagens do método é a grande quantidade dos pontos de entrada da rede, fato que implica em um elevado tempo de processamento da RNA. Ainda utilizando RNAs, Valente (1999) propõe modificações para o algoritmo de Xu et al. (1990). A principal modificação consiste na redução da quantidade de pontos necessárias para representar a forma do objeto, apresentada como entrada de uma nova rede rede tipo feedforward em substituição à rede de Hopfield. Também é estudado o comportamento de diferentes tipos e configurações das RNAs feedforward quanto à qualidade das respostas e quanto ao tempo de treinamento. Os resultados obtidos mostram que as fixações determinadas com informações reduzidas da forma do objeto são satisfatórias, e que os melhores resultados, quanto à qualidade da resposta, são obtidos com redes MLP. Porém, quanto ao tempo de treinamento, os melhores resultados são obtidos com as redes RBF. 5.2 Teoria e equacionamento da fixação 2D 81 Os resultados obtidos por Xu et al. (1990) e Valente (1999) mostram a capacidade das RNAs em determinar pontos de fixação para objetos a partir de informações 2D. Contudo, os tempos de processamento, de etapas específicas de ambos os métodos, impedem sua utilização como sistemas com resposta em tempo compatíveis com as aplicações. Na tentativa de se obter melhores resultados na utilização de RNAs como solução do problema da fixação a partir de informações 2D do objeto, este Capítulo apresenta um algoritmo, também baseado em RNAs, para a determinação de pontos de fixação. O algoritmo proposto é baseado em modificações dos algoritmos de Xu et al. (1990) e Valente (1999). Outra característica de destaque do algoritmo proposto é o tempo reduzido de execução de todas as etapas de cálculos, característica até então não apresentada pelos sistemas de fixação baseados em RNAs. O algoritmo é implementado para determinação de fixação de objetos 2D por dois e três pontos de contato. Este Capítulo está organizando na seguinte forma: na Seção 5.2 é apresentado o equacionamento da fixação 2D de objetos por dois e três contatos, e na Seção 5.4 são apresentados os quatro diferentes métodos de determinação de pontos de contato utilizados no algoritmo proposto. Por fim, conclusões e discussões sobre a proposta são apresentadas na Seção 5.5. 5.2 Teoria e equacionamento da fixação 2D Em síntese, a fixação de um objeto consiste na aplicação de forças, produzidas pelo contato entre os dedos de uma garra e a superfície do contato, capazes de manter o objeto em equilíbrio quando carregmentos externos são aplicados sobre o objeto ou não. Em uma fixação, as forças aplicadas pelos dedos da garras, o equilíbrio estático do objeto e a capacidade de resistir a carregamentos externos depende fundamentalmente: das posições em que os contatos são realizados; do tipo de contato; e do número de dedos em contato. Nesta Seção, o equacionamento das forças de fixação 2D é realizado segundo as teorias apresentadas no Capítulo 3. Porém, antes do equacionamento, é necessário definir algumas simplificações e hipóteses dos objetos e das garras consideradas. 5 Fixação 2D de objetos desconhecidos 82 5.2.1 Simplificações e hipóteses Quanto aos objetos, considera-se algumas hipóteses: • O objeto apresenta densidade constante. • O objeto é rígido. • A sua superfície é uniforme. • O coeficiente de atrito de Coulomb é constante por todo a sua superfície. Quanto às garras, primeiramente é considerado que a ponta dos seus dedos dedos são capazes de se deformar, de maneira a manter uma superfície de contato, porém ainda considera-se que todos os carregamentos aplicados no contato estão concentrados em um único ponto da superfície do objeto. O equacionamento desta Seção é realizado para dois e três pontos de contato. Tendo em vista o número de pontos de contato reduzido, ambas as garras industriais e antropomórficas são capazes de realizar a fixação. Em relação às garras industriais, considera-se que: 1) as garras tipo pinça apresentam dois dedos paralelos acionados por um único atuador. Desta forma, defini-se como centro de fixação o ponto de fechamento da garra. O espaço de trabalho de cada dedo é composto por uma linha definida como linha de ação la (vide Figura 5.2(a)). As linhas de ação de ambos os dedos ocorrem segundo a mesma direção; 2) As garras tipo castanha apresentam dedos defasados em 120o , também acionados por um único atuador, sendo que o centro de fixação é o ponto em que as direções de movimentação, ou linhas de ação, dos dedos se encontram no centro de fixação ch (vide Figura 5.2(b)). O tipo de contato considerado é o contato macio, devido à capacidade de deformação das pontas dos dedos. Em relação as garras antropomórficas, considera-se que: 1) a garra antropomórfica é capaz de realizar a postura de fixação tipo pinch (fixação de precisão por dois pontos opostos) e desta forma realizar a fixação por dois pontos de contato; 2) a mão também é capaz de realizar a postura de fixação tripod (fixação de precisão por três pontos de contato), de forma que seja possível realizar a fixação pelos três pontos de contato determinados pelo planejador da fixação. Desta forma, os pontos de contato são determinados independentemente de qual a ferramenta utilizada para a fixação, e para tornar o sistema ainda mais flexível, não são consideradas as dimensões das garras, ou seja, é possível fixar objetos de qualquer ordem dimensional. 5.2 Teoria e equacionamento da fixação 2D 83 Para que seja realizada uma fixação, é necessário que todas as forças aplicadas sejam positivas, que a soma entre elas seja zero e que os momentos resultantes sejam também nulos. As forças aplicadas em cada contato devem ser reescritas como carregamentos equivalentes no sistema de coordenadas da fixação. Para tanto, os sistemas de coordenadas de cada ponto de contato, do objeto e da fixação devem ser definidos. 5.2.2 Sistemas de coordenadas Sistemas de coordenadas do objeto: Define-se como o sistema de coordenadas do objeto aquele formado pelos eixos XO paralelo ao primeiro momento principal de inércia da forma 2D do objeto e ZO paralelo ao segundo momento principal de inércia, o centro do sistema de coordenadas do objeto coincide com o centróide do objeto, o ponto co . Figura 5.1: Definição do sistema de coordenadas do objeto. 5 Fixação 2D de objetos desconhecidos 84 Sistema de coordenadas da fixação: Para o caso de forças aplicadas em um objeto plano, define-se o sistema de coordenadas de fixação como: seu centro coincide com o centro da fixação, o ponto ch , e o eixo XH é alinhado com a semi-reta ch c1 , o eixo ZH forma com o eixo XH o plano XH ZH no qual a forma do objeto é definida, o eixo YH é obtido pelo produto vetorial entre ZH e XH . (a) (b) Figura 5.2: Definição do sistema de coordenadas da fixação. A Figura 5.2(a) mostra o sistema de coordenadas da fixação por dois contato, e a Figura 5.2(b) mostra o sistema para a fixação por trê contatos. 5.2 Teoria e equacionamento da fixação 2D 85 Sistema de coordenadas do contato: Dado um ponto de contato ci (i =1,2 para dois contatos, e i =1,2,3 para três contatos), define-se o sistema de coordenadas do contato com centro em ci e eixo Zi alinhado com a direção normal à superfície do objeto. Para a fixação 2D, o plano de contato contém os eixos Zi e Xi . As Figuras 5.3(a) e 5.3(b) mostram os sistemas de coordenadass para os contatos na fixação por dois e três pontos, respectivamente. Nas figuras, θi é o ângulo entre a linha de ação lai do dedo da garra e o eixo Zi segundo a direção normal ao ponto de contato. (a) (b) Figura 5.3: Definição do sistema de coordenadas dos contatos para fixação por dois pontos de contato (Figura 5.3(a)), e para fixação por três pontos de contato (Figura 5.3(b)). 5 Fixação 2D de objetos desconhecidos 86 5.2.3 Equacionamento da fixação 2D por 2 pontos de contato Para que a fixação seja estável, é necessário que as forças aplicadas pelos dedos da garra sejam capazes de equilibrar as forças externas exercidas sobre o objeto, tais como a força da gravidade e distúrbios externos. O equacionamento é realizado no sistema de coordenadas da fixação e, desta maneira, as forças externas calculadas em outros sistemas de cordenadas devem ser transformadas para o sistema de fixação. No Capítulo 3 foi mostrado que o mapa da fixação G é capaz de transformar os carregamentos dos contatos (forças e momentos), aplicadas nos pontos de contato, em carregamentos equivalentes descritos no sistema de coordenadas da fixação. A transfomação é dada pela seguinte equação: F h = G · F ci (5.1) em que F ci é o vetor formado pelas forças e momentos aplicados nos pontos de contato. O modelo de contato considerado é o contato macio, que define as forças de contato como: F ci = [ f1ci f2ci f3ci τci6 ], (5.2) sendo que f1ci e f2ci são as forças de atrito nas direções tangenciais, f3ci é a força normal, e τ6ci é o momento de atrito também na direção normal. As forças de atrito e o momento de atrito devem estar dentro do limite de escorregamento, ou cone de atrito, para que seja possível executar a fixação. A matriz G, definida como o mapa da fixação, é determinada por: h RT 0 ci G= · B, h r̂ci ·hci R hci R em que B é a base do tipo contato considerado: ⎡ 1 0 ⎢ ⎢ 0 1 ⎢ ⎢ ⎢ 0 0 B=⎢ ⎢ ⎢ 0 0 ⎢ ⎢ 0 0 ⎣ 0 0 0 0 (5.3) ⎤ ⎥ 0 0 ⎥ ⎥ ⎥ 1 0 ⎥ ⎥, ⎥ 0 0 ⎥ ⎥ 0 0 ⎥ ⎦ 0 1 (5.4) e hci R é a matriz de transformação homogênia do sistema de coordenadas da fixação H para o sistema de coordenadas do contato Ci. A Figura 5.4 mostra uma fixação qualquer por garra de dois dedos. Tem-se que βi é o ângulo entre a direção do eixo Zi e a direção do eixo Zo . 5.2 Teoria e equacionamento da fixação 2D 87 Figura 5.4: Definição do sistema de coordenadas dos contatos c1 e c2 . Substituindo os termos da Equação 5.3 obtém-se: ⎡ cos(β1 ) 0 cos(β1 ) 0 ⎢ ⎢ 0 1 0 0 ⎢ ⎢ ⎢ cos(β1 ) 0 cos(β1 ) 0 Gc1 = ⎢ ⎢ 0 −l 0 −sen(β1 ) ⎢ ⎢ ⎢ l · cos(β ) 0 −l · cos(β ) 0 1 1 ⎣ 0 0 0 cos(β1 ) e ⎡ cos(β2 ) 0 cos(β2 ) 0 ⎢ ⎢ 0 1 0 0 ⎢ ⎢ ⎢ cos(β2 ) 0 cos(β2 ) 0 Gc2 = ⎢ ⎢ 0 −l 0 −sen(β1 ) ⎢ ⎢ ⎢ −l · cos(β ) 0 l · cos(β ) 0 2 2 ⎣ 0 0 0 cos(β2 ) ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ (5.5) ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥, ⎥ ⎥ ⎥ ⎥ ⎦ (5.6) em que l e −l são as distâncias entre os pontos de contato c1 e c2 , respectivamente, e o centro da fixação ch , medidos no sistema de coordenadas da fixação. Tranformando as forças de contato descritas no sistema de coordenadas dos contatos para o sistema de referência da fixação obtém-se: F h = Gc1 · f c1 + Gc2 · f c2 (5.7) 5 Fixação 2D de objetos desconhecidos 88 ou na forma expandida: ⎡ f1c1 · cos(β1 ) − f3c1 · sen(β1 ) + f1c2 · cos(β2 ) − f3c2 · sen(β1 ) ⎢ ⎢ f2c1 + f2c2 ⎢ ⎢ ⎢ f1c1 · sen(β1 ) + f3c1 · cos(β1 ) + f1c2 · sen(β2 ) + f3c2 · cos(β1 ) h F =⎢ ⎢ f2c1 · l − τ6c1 · sen(β1 ) + f2c2 · l − τ6c2 · sen(β2 ) ⎢ ⎢ ⎢ l · f c1 · cos(β ) − l · f c1 · sen(β ) + l · f c2 · cos(β ) − l · f c2 · sen(β ) 1 1 2 1 ⎣ 1 3 1 3 c1 c2 τ6 · cos(β1 ) + τ6 · cos(β2 ) ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥. ⎥ ⎥ ⎥ ⎥ ⎦ (5.8) As forças de contato escritas no sistema de coordenadas da fixação devem ser capazes de equilibrar forças externas, também escritas no sistema de coordenadas da fixação. Se as forças externas aplicadas no objeto, expressas no sistema de coordenadas de fixação, são: T Fexh = Fex1h Fex2h Fex3h τ ex4h τ ex5h τ ex6h , (5.9) então, para que aconteça o equilíbrio estático do obejto, a seguinte relação deve ser satisfeita Fexh + F h = 0 (5.10) −Fexh = F h (5.11) ou: ou ainda, na forma expandida: ⎡ ⎤ ⎡ −Fex1h f1c1 · cos(β1 ) − f3c1 · sen(β1 ) + f1c2 · cos(β2 ) − f3c2 · sen(β1 ) ⎢ ⎥ ⎢ ⎢ −Fexh ⎥ ⎢ f2c1 + f2c2 2 ⎥ ⎢ ⎢ ⎢ ⎥ ⎢ ⎢ −Fex3h ⎥ ⎢ f1c1 · sen(β1 ) + f3c1 · cos(β1 ) + f1c2 · sen(β2 ) + f3c2 · cos(β1 ) ⎢ ⎥=⎢ ⎢ ⎥ ⎢ f2c1 · l − τ6c1 · sen(β1 ) + f2c2 · l − τ6c2 · sen(β2 ) ⎢ −τ ex4h ⎥ ⎢ ⎢ ⎥ ⎢ ⎢ −τ exh ⎥ ⎢ l · f c1 · cos(β ) − l · f c1 · sen(β ) + l · f c2 · cos(β ) − l · f c2 · sen(β ) 1 1 2 1 ⎣ ⎣ 1 3 1 3 5 ⎦ h c1 c2 −τ ex6 τ6 · cos(β1 ) + τ6 · cos(β2 ) ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥. ⎥ ⎥ ⎥ ⎥ ⎦ (5.12) O sistema acima apresenta as seis equações de equilíbrio do objeto quando o carregamento da fixação é realizado por dois pontos de contato e equilibra carregamentos externos aplicados sobre o objeto. 5.2 Teoria e equacionamento da fixação 2D 89 5.2.4 Equacionamento da fixação 2D por 3 pontos de contato A determinação dos pontos de contato para fixação estável de objetos por três pontos de contato depende, além da forma do objeto, das características construtivas do tipo de garra. Para as garras de três dedos, pode-se considerar que existem fundamentalmente duas possíveis variações, de acordo com a capacidade de movimentação lateral dos dedos: aquelas com capacidade de movimentação lateral e aquelas sem capacidade de movimentação lateral. A movimentação lateral dos dedos é chamada de movimento de adução e abdução. As garras com capacidade de adução e abdução, quando comparadas àquelas sem a mesma capacidade, possuem um espaço de trabalho mais amplo e podem alcançar os mesmos, segundo diferentes orientações. Por outro lado, uma garra que não apresenta movimentos de adução e abdução mantém constante a posição relativa entre os dedos. Tal simplificação limita a capacidade de fixação destas garras. É possível considerar que uma garra com movimentos laterais é capaz de realizar as mesmas fixações de uma garra sem estes movimentos, e ainda, para certos casos, é possível alinhar a linha de ação de cada dedo com a direção normal ao contato. Desta forma, uma fixação adequada para garras sem movimentos de adução e abdução, também será para aquelas com a capacidade de movimentação. Para simplificar o estudo da fixação por garras de três dedos, neste trabalho são consideradas apenas as garras sem o movimento lateral dos dedos. Recomenda-se para os trabalhos futuros investigar algoritmos de seleção de pontos de contato para as garras de três dedos com capacidade de movimentação lateral. Uma vez definida as características das garras, as demais considerações e hipóteses adotadas são as mesmas para o caso de fixação por 2 pontos de contato. A Figura 5.5 mostra os sistemas de coordenadas dos contatos e o sistema de coordenadas da fixação. O centro da fixação é determinado através do algoritmo apresentado no Apêndice E, sendo o eixo Xh alinhado com o segmento de reta que liga o centro de fixação ch com o primeiro ponto de contato c1 , o eixo Yh é difinido na direção normal ao plano análizado e o eixo Zh é definido pelas direções de Xh e Yh . Uma vez determinados os sistemas de coordenadas dos contatos e da fixação, a linha de ação do contato c1 , representada por la1 é definida pelo segmento de reta entre os ponto ch e c1 , e da mesma forma obtém-se la2 e la3 . O comprimento dos segmentos de retas ch c1 , ch c2 e ch c3 são definidos respectivamente por l1 , l2 e l3 . 5 Fixação 2D de objetos desconhecidos 90 Figura 5.5: Definição do sistema de coordenadas da fixação, linha de ação e direção normal aos pontos de fixação para uma garra de três dedos sem adução abdução. As forças necessárias para manter o equilíbrio do objeto durante a fixação quando forças e momentos externos são aplicados são expressas pela seginte relação: F h = Gc1 · f c1 + Gc2 · f c2 + Gc3 · f c3 = −Fexh , e na forma expandida: ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ −Fex1h ⎤ ⎡ f1c1 c(β1 ) − f3c1 s(β1 ) ⎥ ⎢ ⎢ −Fex2h ⎥ f2c1 ⎥ ⎢ ⎥ ⎢ c1 c1 ⎢ −Fex3h ⎥ ⎥ = ⎢ f1 s(β1 ) + f3 c(β1 ) ⎥ ⎢ 6 s(β ) −τ ex4h ⎥ ⎢ −τc1 1 ⎥ ⎢ ⎢ c1 c1 −τ ex5h ⎥ ⎦ ⎣ f1 l1 c(β1 ) − f3 l1 s(β1 ) 6 c(β ) −τ ex6h f2c1 l1 + τc1 1 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥+ ⎥ ⎥ ⎥ ⎥ ⎦ (5.13) 5.3 Verificação da condição force-closure e avaliação da fixação ⎡ f1c2 c(β2 ) − f3c2 s(β2 ) ⎢ ⎢ f2c2 ⎢ ⎢ ⎢ f1c2 s(β2 ) + f3c2 c(β2 ) ⎢ ⎢ 6 s(β ) f2c2 l2 c(120o ) − τc2 ⎢ 2 ⎢ ⎢ f c2 l (c(β )s(120o ) − s(β )c(120o )) − f c2 (l 2 s(β )s(120o ) + s(β )c(120o )) 2 2 2 2 2 ⎣ 1 2 3 c2 o 6 f2 l2 c(120 ) + τc2 c(β2 ) ⎡ 91 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ f1c3 c(β3 ) − f3c3 s(β3 ) ⎢ ⎢ f2c3 ⎢ ⎢ 1 s(β ) + f 3 c(β ) ⎢ fc3 3 3 c3 ⎢ +⎢ 2 o 6 fc3 l3 c(240 ) − τc3 s(β3 ) ⎢ ⎢ ⎢ f 1 l (c(β )s(240o ) − s(β )c(240o )) − f 3 (l 2 s(β )s(240o ) + s(β )c(240o )) 3 3 3 3 ⎣ c3 3 c3 3 2 o 6 fc3 l3 c(240 ) + τc3 c(β3 ) ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ , (5.14) ⎥ ⎥ ⎥ ⎥ ⎦ em que c(β ) e s(β ) são respectivamente o cosseno e o seno do ângulo β . O sistema acima apresenta as seis equações de equilíbrio do objeto quando três carregamentos de contato e carregamentos externos são aplicadas no objeto. 5.3 Verificação da condição force-closure e avaliação da fixação Na Seção 3.3 desta Dissertação, foi discutida a dificulade de se resolver as equações de equilíbrio estático de um objeto durante uma tarefa de fixação. O equacionamento da fixação 2D, tanto para dois quanto para três pontos de contato, é mostrado nas Seções 5.2.3 e 5.2.4. São apresentadas as seis equações de equilíbrio estático do objeto, que relacionam os carregamentos de cada um dos contatos, que geram o carregamento da fixação, e a geometria da fixação1 com os carregamentos externos. Vale lembrar que um carregamento externo é formado tanto pelo carregamento da tarefa, como por distúrbios. Para o caso mais simples da fixação 2D, ou seja, aquela realizada por dois pontos de contato, mesmo se a geometria da fixação for conhecida, não é possível resolver as equações de equilíbrio e encontrar os carregamentos dos contatos, pois o sistema formado é linearmente dependente. Logo, para o caso em que se deseja determinar a geometria da fixação que promove 1A geometria da fixação é compreendida como a disposição dos pontos de contato sobre o objeto. 5 Fixação 2D de objetos desconhecidos 92 para a fixação a maior capacidade de equilibrar esforços externos, deve-se recorrer a teorias e técnicas avançadas a fim de transpor as dificuldades de resolução do problema. Na Seção 3.3.4, foi apresentada a definição da envolvente convexa de um carregamento da fixação. Recordando, a envolvente convexa representa os possíveis carregamento que uma geometria de fixação pode apresentar, e como conseqüência, a envolvente convexa também apresenta o espaço dos carregamentos externos que a fixação pode equilibrar. Apesar da envolvente convexa não determinar os carregamentos em cada um dos pontos de contato necessários para manter o objeto em equilíbrio, é possível avaliar a capacidade de uma fixação. Se a envolvente convexa de uma fixação contiver a origem do sistema em que a mesma é definida, então a fixação relacionada a ela é capaz de se manter em equilíbrio quando não existem carregamentos externos sobre o objeto. Esta é uma importante característica da fixação, e quando uma fixação apresenta-a, diz-se que esta fixação é force-closure. Para o caso da fixação 2D, existem duas possibilidades de construção da envolvente convexa. Ambos dependem fundamentalmente da consideração dos carregamentos com dimensão três ou seis. No primeiro caso, considera-se que as componentes lineares dos carregamentos ocorrem somente no plano xy do objeto, e a componente torcional do carregamento ocorre apenas na direção z, e então, as equações de equilíbrio são reduzidas de seis para três, porém ainda sem solução analítica. Quando os carregamentos com apenas três dimensões são considerados, a envolvente convexa apresenta também dimensão três, sendo duas dimensões para as componentes lineares dos carregamentos, e uma dimensão para a componente torcional. Se a envolvente convexa contiver a sua origem, então a fixação é force-closure. Para o caso em que se considera todo o possível espaço dos carregamentos, a envolvente convexa tem dimensão seis, assim como os carregamentos, porém é possível dividí-la em duas envolventes distintas para melhor vizualização e análise. Nesta divisão, uma envolvente convexa representa as componentes lineares do carregamento da fixação, e a outra representa as componentes torcionais. Neste caso, se cada uma das envolventes contiver a sua própria origem, então a fixação é force-closure e, caso contrário, se alguma das duas envolventes não contiver a sua origem, a fixação não é force-closure. Para os casos citados, deseja-se saber, dentre uma série de fixações force-closure para um objeto, qual é a melhor, ou seja, qual é aquela que melhor resiste aos carregamentos externos. Este é o papel desempenhado por um planejador de fixação, ou seja, o planejador deve determinar para um objeto qual é a melhor fixação dentre todas as possibilidades. 5.4 Métodos de determinação dos pontos de contato 93 Muito autores utilizam funções custo que relacionam a geometria da fixação, e alguns critérios específicos para cada aplicação, para determinar a fixação de melhor desempenho por meio da seleção da fixação que apresentar a melhor função custo. Esta estratégia permite selecionar a fixação que apresenta a melhor função custo para a aplicação específica, porém a condição force-closure pode não ser atingida. A fim de normalizar e padronizar o cálculo da qualidade da fixação, Ferrari e Canny (1992) propõem métricas para se determinar a qualidade de uma fixação force-closure. Segundo Ferrari e Canny (1992), a qualidade da fixação é medida pela menor distância entre o centro da envolvente convexa e a sua origem. Esta métrica pode ser aplicada para os dois casos discutidos nesta Seção. Contudo, vale ressaltar que em alguns casos, uma função custo pode ser adequada para se determinar uma fixação force-closure de qualidade (NGUYEN, 1988). 5.4 Métodos de determinação dos pontos de contato As Equações 5.12 e 5.14 relacionam os carregamentos externos aplicados sobre um objeto com as características geométricas da fixação e com as forças aplicadas em cada contato, respectivamente para fixação com garras de dois e três dedos. Nos dois casos, o número de incógnitas é maior que o número de equações, e portanto, não existe uma única solução para o equilíbrio estático do objeto. Ainda quanto às equações de equilíbrio, caso seja determinada a geometria da fixação por um método, a determinação das forças em cada contato continua sendo impossível, pois mesmo neste caso, ainda há mais incógnitas do que equações. Desta forma, a verificação da capacidade da fixação de resistir a carregamentos externos deve ser realizada pela análise da propriedade force-closure da fixação. Portanto, a solução das equações de equiíbrio estático consiste em encontrar pontos de contato, cujas características geométricas proporcionem uma fixação forceclosure. Existem inúmeros métodos desenvolvidos para se determinar pontos adequados de fixação, dentre eles, interessa-se especialmente por aqueles baseados em RNAs. A determinação de fixações utilizando RNAs envolve outros métodos, tal como o método de determinação da fixação por busca heurística. Neste caso, a busca heurística é utilizada a fim de se determinar pontos de fixação para os padrões de treinamento da RNA. Nesta Seção, são apresentados os métodos de determinação de pontos de contato por busca heurística, por otimização com redes de Hopfield, por redes feedforward tipo RBF, e ainda é apresentada uma nova configuração de RNAs para a determinação da fixação: a combinação 5 Fixação 2D de objetos desconhecidos 94 das redes RBF e Hopfield, sugerida por Xu et al. (1990). Estes métodos são descritos de forma detalhada. Resultados da apliacação dos métodos com imagens reais são apresentados juntamente com os tempos de processamento da etapa de determinação da fixação, e ainda, uma base de dados de 8100 figuras, obtidas de modelos virtuais (SAXENA, 2006), é utilizada para simular e avaliar o desempenho de cada método. 5.4.1 Fixação 2D por busca heurística A busca heurística de uma fixação adequada2 consiste na avaliação de todas as possíveis fixações (ou um conjunto previamente selecionado de fixações) para um objeto. O mecanismo de busca consiste na avaliação de cada fixação segundo critérios pré-determinados. Estes critérios envolvem algumas características definidas pelas relações geométricas dos pontos de contato como as direções normais aos contatos, pelos ângulos de ponta e pela posição relativa entre os pontos de contato. A fixação também pode ser avaliada quanto à configuração da garra para fixar o objeto nos pontos avaliados, nesta caso, também pode ser considerado a executabilidade da fixação, ou seja, se a garra é capaz de atingir os pontos de fixação, e também quanto as forças e os momentos necessários para controlar as juntas dos dedos da garra durante a fixação. Contudo, pelas hipóteses consideradas no início do Capítulo, as restrições de fixação estabelecidas pelas dimensões das garras em relação aos objetos, e pela executabilidade da fixação, que pode não ser realizada pela ocorrência de colisões, não são consideradas. Desta maneira, na busca heurística, notas são atribuídas para cada combinação de fixação escolhida randomicamente, ou segundo uma ordem qualquer pré-determinada. O resultado final, isto é, a fixação escolhida, é aquela que atingir nota igual a um determinado limiar, ou é aquela que apresentar a menor nota dentre todas as combinações. Também é possível que não haja uma fixação que atenda as exigências estabelecidas ou a condição force-closure3 , ou que não atinja um valor abaixo do limiar estabelecido, nestes casos, considera-se que não é possível determinar uma fixação satisfatória para o objeto. Para cada diferente caso de fixação, critérios específicos de avaliação dependentes das características dos objetos e das características das garras devem ser considerados. Para os casos aqui estudados, os critérios estabelecidos estão relacionados à geometria da fixação, pois segundo Nguyen (1988), para os casos de fixação por dois e três pontos de contato, é possível relacionar a geometria da fixação com a propriedade force-closure. Outra possibilidade de determinação da qualidade da fixação é a utilização das medidas de qualidade Q1 e Q∞ descritas 2 Uma fixação adequada é aquela que apresenta a propriedade force-closure. alguns casos específicos, pode-se definir critérios capazes de definir uma fixação adequada, porém não force-closure. 3 Em 5.4 Métodos de determinação dos pontos de contato 95 no Capítulo 3, porém, as medidas não consideram as características geométricas expressas em uma função custo específica. Para a fixação por dois pontos de contato, quando se considera o modelo de contato macio, a fixação é force-closure quando os pontos de contato estão em faces opostas do objeto, e a direção da linha de ação em cada contato está dentro do cone de atrito. Para fixação por três pontos de contato, basta que a direção da linhas de ação de cada contato esteja dentro do cone de atrito. O mecanismo de busca descrito é o mesmo tanto para dois quanto para três pontos de contato, sendo que a única diferença é a função custo estabelecida para cada caso. Garras de dois dedos No caso da fixação por garras de dois dedos, o algoritmo de busca avalia quantitativamente cada possível par de pontos, sendo que os pontos são aqueles resultantes da aproximação poligonal, que é aplicada para reduzir a quantidade de pontos e conseqüentemente, o esforço computacional dos cálculos da busca. A nota de cada fixação é calculada segundo a expressão matemática: fcusto = A · Σθi + B · d(co , la ) +C · abs(αI − αla ), (5.15) em que θi é o ângulo entre a linha de ação la , definida pela semi-reta ligando os pontos de contato c1 e c2 , e a direção normal ao ponto de contato ci ; d(co , la ) é a distância entre o centróide do objeto e a linha de ação; e abs(αI − αla ) é a diferença angular absoluta entre a direção do momento principal de inércia αI , e a direção da linha de ação αla . Os parâmetros A, B, e C representam a contribuição de cada termo na nota final que estima a qualidade da fixação. Quanto menor o valor de fcusto , melhor é a fixação. A definição dos valores de A, B, e C deve ser realizada de acordo com a importância do termo que cada valor está ponderando. Dentre os termos da Equação 5.15, o de maior importância é o termo referente a diferença entre linha de ação e normal ao ponto, o termo Σθi . Quando a diferença angular é elevada, as forças de atrito necessárias para equilibrar as forças de contato são elevadas, e quando forças externas são aplicadas, o equilíbrio estático pode ser facilmente desfeito. Segundo Nguyen (1988), se a linha de ação estiver dentro dos cones de atrito de cada um dos pontos de contato, a fixação é force-closure, e sua qualidade está relacionada com a diferença angular expressa pelo termo Σθi . Este termo está relacionado com a estabilidade de Lagrange da fixação. 5 Fixação 2D de objetos desconhecidos 96 Figura 5.6: Definição dos parâmetros para cálculo da função custo para fixação por dois pontos de contato. O termo de segunda maior importância é a distância entre a linha de ação e o centróide do objeto, o termo d(co , la ). Esta distância quando elevada implica na influência da força de gravidade na estabilidade da fixação. Estas forças geram carregamentos na forma de momentos quando a distância entre a linha de ação e o centróide é alta. Não há limites superiores para d(co , la ) que podem provocar a perda da propriedade force-closure, porém, quanto maior o termo menos estável é a fixação. Por último, porém ainda importante, a diferença angular entre a direção do segundo momento principal de inércia e a linha de ação, que influencia diretamente na estabilidade da fixação (SANZ et al., 2005). Os parâmetros adotados foram A = 100, B = 100, C = 500. Não foram utilizados métodos determinísticos na adoção dos parâmetros, que podem variar dependendo do caso e da implementação. Por exemplo, a escala da imagem do objeto e a distância entre o objeto e a câmera pode alterar o significado do parâmetro C que pondera a distância entre o centróide do objeto e a linha de ação da fixação. O algoritmo proposto foi implementado e simulado no computador de testes. As simulações foram realizadas com objetos comuns encontrados em ambientes fabrís, domésticos, escritórios, entre outros. A Figura 5.7 mostra fotos de objetos do cotidiano, com 640 × 480 pixels de resolução, e a respectiva resposta obtida. Pode-se observar que com a busca heurística é possível encontrar dois pontos de fixação satisfatórios para todos os objetos. 5.4 Métodos de determinação dos pontos de contato 97 (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) Figura 5.7: Resultados do algoritmo de busca heurística para dois pontos de fixação para objetos do cotidiano. As linhas vermelhas mostram a direção de aproximação dos dedos da garra para o momento da fixação. 5 Fixação 2D de objetos desconhecidos 98 A Tabela 5.1 apresenta os tempos de processamento da execução da busca heurística para cada um dos objetos mostrados na Figura 5.7. Na Tabela 5.1 não é mostrado o tempo do processamento da imagem e da aproximação poligonal. Tabela 5.1: Tabela do tempo de execução do algoritmo de busca heurística para fixação 2D por dois pontos de contato dos objetos da Figura 5.7. Figura 5.7(a) Figura 5.7(b) Figura 5.7(c) Figura 5.7(d) Figura 5.7(e) Figura 5.7(f) Figura 5.7(g) Figura 5.7(h) Figura 5.7(i) Figura 5.7(j) Figura 5.7(k) Figura 5.7(l) Busca heurística [s] 0,2625 0,2160 0,2335 0,2032 0,2521 0,2589 0,2598 0,2505 0,1300 0,2892 0,2536 0,2610 Pode-se verificar que para todos os objetos utilizados nesta simulação é possível encontrar uma fixação force-closure. O tempo de processamento da etapa de busca heurística foi reduzido devido a redução das combinações avaliadas quanto à posição em relação ao momento principal de inércia. Os pontos são divididos em dois grupos separados pela direção do momento principal de inércia do objeto, e a avaliação foi realizada apenas para os pares contendo um elemento de cada grupo. Em outras simulações, cujos resultados não são mostrados, foi verificado que a não divisão em grupos torna o algoritmo cerca de 10 vezes mais lento, sem melhoria alguma nos resultados. Nos testes com as 8100 imagens da base de dados, foi possível determinar uma fixação satisfatória por dois pontos de contato para 100% dos objetos. Garras de três dedos Para as garras de três dedos, todos os conjuntos de três de pontos devem ser avaliados, e neste caso, não é possível dividir os pontos em grupos de candidatos. O mesmo procedimento de processamento de imagens e aproximação da forma do objeto por um polígono de 100 lados é adotado, sendo que os pontos candidatos são formados pelos 100 pontos selecionados na aproximação poligonal. Considerando então o conjunto de pontos candidatos, cada combinação possível de três pontos é avaliada sengundo uma função custo que leva em consideração: 5.4 Métodos de determinação dos pontos de contato 99 • A distância entre o centróide do objeto e o centro de fixação. O centro de fixação para três pontos de contato é definido no Apêndice E. • A diferença angular entre a linha de ação e a normal ao ponto de fixação. Desta maneira, a função custo é definida como: fcusto = A · Σθi + B · d(co , ch ), (5.16) em que θi é o ângulo entre a linha de ação de cada dedo l1 , l2 e l3 , definida pela semi-reta ligando os pontos de contato c1 , c2 , c3 e o centro da fixação ch , e d(co , ch ) é a distância entre o centróide do objeto e o centro de fixação. Figura 5.8: Definição dos parâmetros para cálculo da função custo para fixação por três dedos. Similar ao algoritmo de fixação por dois dedos, a estratégia de fixação por três dedos adotada leva em consideração a distância entre o centróide e o centro de fixação e a diferença angular entre as linhas de ação e a direção normal ao ponto de contato. A posição relativa entre a direção do momento principal de inércia e dos pontos de fixação não é considerada. Os parâmetros A e B da Equação 5.16 representam a contribuíção de cada termo na nota final, que estima a qualidade da fixação. Quanto menor a nota melhor é a fixação. A definição 5 Fixação 2D de objetos desconhecidos 100 dos valores de A e B deve ser realizada de acordo com a importância do termo que o mesmo está multiplicando. Para este caso, se a linha de ação das forças estiver fora do cone de atrito, a fixação é instável, portanto, o parâmetro A é o mais significativo na busca de uma fixação force-closure. O termo ponderado pelo parâmetro B é responsável por penalizar as fixações nas extermidades do objeto, sendo de relativa importância, porém a resolução da imagem, e a distância entre câmera e objeto na aquisição, devem ser levados em consideração na determinação do parâmetro B. O método de busca heurística para garras de três dedos foi implementado e simulações com imagens reais foram realizadas no computador de testes. As Figuras 5.9 e 5.10 mostram os resultados obtidos, e a partir delas pode-se observar que o algoritmo de busca heurística também é capaz de determinar três pontos de fixação para todos os objetos de teste. (a) (b) (c) (d) (e) (f) (g) (h) (i) Figura 5.9: Resultados do algoritmo de busca heurística para três pontos de fixação para objetos do cotidiano. As linhas vermelhas mostram a direção de aproximação dos dedos da garra para o momento da fixação (parte 1 de 2). 5.4 Métodos de determinação dos pontos de contato (a) (b) 101 (c) Figura 5.10: Resultados do algoritmo de busca heurística para três pontos de fixação para objetos do cotidiano. As linhas vermelhas mostram a direção de aproximação dos dedos da garra para o momento da fixação (parte 2 de 2). Os tempos de determinação de três pontos de contato para cada um dos objetos mostrados nas imagens das Figuras 5.9 e 5.10 são mostrados na Tabela 5.2. Tabela 5.2: Tabela do tempo de execução do algoritmo de busca heurística para fixação 2D por garras de três dedos dos objetos das Figuras 5.9 e 5.10. Figura 5.9(a) Figura 5.9(b) Figura 5.9(c) Figura 5.9(d) Figura 5.9(e) Figura 5.9(f) Figura 5.9(g) Figura 5.9(h) Figura 5.9(i) Figura 5.10(a) Figura 5.10(b) Figura 5.10(c) Busca heurística [s] 12,5083 10,7642 12,1357 10,4243 12,6787 11,5055 10,2894 8,03370 10,0774 13,4464 9,66960 9,92430 Os tempos observados são altos quando comparados com os tempos da busca heurística para garras de dois dedos. Esta diferença é proveniente do cálculo do centro da fixação para cada combinação, e é principalmente proveniente da avaliação de todas as combinações, ao contrário do caso anterior, em que os pontos são divididos em dois grupos de candidatos e a avaliação é realizada apenas para os pares formados por elementos de cada um dos grupos. O método de determinação de três pontos de contato por busca heurística também foi testado com os 8100 objetos da base de dados. Foi possível determinar uma fixação force-closure para 8035 objetos (99,2% dos objetos). 5 Fixação 2D de objetos desconhecidos 102 5.4.2 Fixação 2D por otimização utilizando redes competitivas de Hopfield O mecanismo de busca heurística avalia todas as possíveis combinações de fixação entre os pontos da aproximação poligonal, porém, não há um mecanismo de busca, ou seja, é necessário avaliar todas as combinações em uma ordem qualquer, e selecionar a que apresentar a melhor nota, ou até que um limiar seja atingido. O mecanismo de busca pela melhor fixação pode ser otimizado de diversas maneiras, sendo que uma delas é utilizar como ferramenta de busca uma rede competitiva de Hopfield (XU et al., 1990). A rede de Hopfield é capaz de encontrar mínimos locais de uma função qualquer em poucas iterações, sendo que não é necessário avaliar todo o domínio da função. A rede competitiva para a fixação 2D implemetada é similar àquela da aproximação poligonal4 . Uma matriz neural V é formada por m colunas que representam os pontos de contato, sendo que para a fixação por dois pontos de contato m = 2, e para fixação por três pontos de contato, m = 3. Cada uma das m colunas é formada pelos n pontos da aproximação poligonal. A regra de aprendizado, os pesos da conexão entre os neurônios das colunas vizinhas de V , é calculada segundo a mesma função custo da busca heurística, ou seja, as Equações 5.15 e 5.16, respectivamente para dois e três pontos de contato. Uma vez determinada a matriz neural V e a regra de aprendizado, é necessário inicializar a rede. A rede é inicializada da seguinte forma: para cada coluna um único neurônio é ativado, este neurônio ativado representa o ponto selecionado para um contato, e desta forma, um neurônio é ativado para cada coluna, representando o ponto selecionado para um contato, e desta forma, os neurônios ativados em cada uma das colunas formam a fixação. Os neurônios ativados na inicialização da rede estão igualmente espaçados. O mecanismo de execução da rede consiste em um processo iterativo, e em cada etapa da iteração uma coluna de V é avaliada, para cada neurônio da coluna avaliada é determinado o peso da conexão com os neurônios das colunas vizinhas. O neurônio que apresentar o menor valor de ativação dentre todos aqueles de uma mesma coluna é ativado, e os demais neurônios da mesma coluna são desativados. A próxima coluna é então avaliada dando continuidade ao proceso iterativo, que termina quando não houver modificações na matriz V . Quando não há mais mudanças dos neurônios ativados em toda a rede, diz-se que a rede convergiu. Os neurônios ativados em cada uma das m colunas no estado de convergência da rede representam os melhores pontos de contato. O algoritmo foi implementado no computador de testes para se determinar pontos de fixação 4 Vide Xu et al. (1990), que demonstram a convergência da rede de Hopfield para fixação 2D e 3D. 5.4 Métodos de determinação dos pontos de contato 103 por dois e três pontos de contato, e os resultados obtidos são mostrados a seguir. Garras de dois dedos As imagens das Figuras 5.11 e 5.12 mostram os resultados obtidos com o método de determinação por otimização com redes de Hopfield para fixação por dois contatos. Em alguns casos não foi possível determinar pontos de contato adequados, nestes casos apresenta-se um "x" vermelho no centro da imagem. (a) (b) (c) (d) (e) (f) (g) (h) (i) Figura 5.11: Resultados do algoritmo de otimização com redes de Hopfield para determinação de dois pontos de fixação para objetos do cotidiano. As linhas vermelhas mostram a direção de aproximação dos dedos da garra para o momento da fixação (parte 1 de 2). 5 Fixação 2D de objetos desconhecidos 104 (a) (b) (c) Figura 5.12: Resultados do algoritmo de otimização com redes de Hopfield para determinação de dois pontos de fixação para objetos do cotidiano. As linhas vermelhas mostram a direção de aproximação dos dedos da garra para o momento da fixação (parte 2 de 2). A Tabela 5.3 apresenta os tempos de processamento da execução da rede de Hopfield para cada um dos objetos mostrados nas Figuras 5.11 e 5.12. Na Tabela 5.2 não é mostrado o tempo do processamento da imagem e da aproximação poligonal. Os tempos de execução da rede de Hopfield para determinação de dois pontos de fixação variam de objeto para objeto. Este comportamento deve-se a complexidade da forma deste objeto, fazendo com que formas mais complexas demandem um maior tempo de execução da rede. Em comparação com rede de Hopfield com a busca Heurística, pode-se observar que não é possível determinar uma fixação satisfatória para vários objetos de teste utilizando o primeiro método, porém o seu tempo de execução é significativamente menor. Além disso, nas simulações com os objetos da base de dados, foi possível determinar uma fixação force-closure para apenas 5086 objetos (62,8% do total de objetos). Tabela 5.3: Tabela do tempo da fixação 2D por Hopfield para os objetos das Figuras 5.11 e 5.12. Figura 5.11(a) Figura 5.11(b) Figura 5.11(c) Figura 5.11(d) Figura 5.11(e) Figura 5.11(f) Figura 5.11(g) Figura 5.11(h) Figura 5.11(i) Figura 5.12(a) Figura 5.12(b) Figura 5.12(c) Rede de Hopfield [s] 0,0690 0,0238 0,0567 0,0209 0,0314 0,0419 0,0318 0,0214 0,0321 0,0217 0,0223 0,0214 5.4 Métodos de determinação dos pontos de contato 105 Garras de três dedos As imagens da figura a seguir mostram os resultados obtidos com o método de determinação por otimização com redes de Hopfield para garras de três dedos. (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) Figura 5.13: Resultados do algoritmo de otimização com redes de Hopfield para determinação de três pontos de fixação para objetos do cotidiano. 5 Fixação 2D de objetos desconhecidos 106 Tabela 5.4: Tabela do tempo de determinação da fixação 2D por três pontos de contato utilizando otimização por redes de Hopfield para os objetos da Figura 5.13. Figura 5.13(a) Figura 5.13(b) Figura 5.13(c) Figura 5.13(d) Figura 5.13(e) Figura 5.13(f) Figura 5.13(g) Figura 5.13(h) Figura 5.13(i) Figura 5.13(j) Figura 5.13(k) Figura 5.13(l) Rede de Hopfield [s] 0,2378 0,1119 0,1039 0,1120 0,1239 0,1016 0,1226 0,1044 0,1093 0,1041 0,0967 0,0947 Ao comparar os tempos de processamento da rede de Hopfield, mostrados na Tabela 5.4, com os tempos de processamento da busca heurística, mostrados na Tabela 5.2, para fixação por três pontos de contato, pode-se verificar a significativa diminuição do tempo de processamento. E ainda, é possível determinar pontos adequados de fixação para sete objetos dos doze objetos de teste. Desta forma, pode-se dizer que a rede de Hopfield apresenta bons resultados quando o tempo de processamento é um dos requisitos do sistema em detrimento da qualidade das respostas. Nas simulações com os objetos da base de dados, foi possível determinar uma fixação adequada por três pontos de contato para 1545 objetos (19,1% do total de objetos). 5.4.3 Fixação 2D por redes neurais feedforward tipo RBF A capacidade de generalização e de classificação das redes neurais também pode ser utilizada para a determinação de fixações para garras robóticas. Em Valente (1999), o método de determinação de pontos de contato por redes neurais, no qual esta implementação é baseada, é apresentado, portanto, recomenda-se a leitura deste texto para maior compreensão. Em síntese, as redes neurais tipo feedforward, quando devidamente treinadas, são capazes de determinar pontos adequados para uma fixação estável. Neste caso, a rede neural é treinada com padrões geométricos divididos em classes, e seus respectivos pontos de fixação. Em etapa de execução, a rede neural recebe como entrada a representação simplificada do objeto obtida pela aproximação poligonal do contorno do objeto, e a resposta obtida representa uma estimativa dos pontos de fixação. 5.4 Métodos de determinação dos pontos de contato 107 Pode-se então dividir este método em duas partes: a primeira é a etapa pré-execução em que a rede é treinada; e a segunda é a etapa em que a rede é executada e os pontos de fixação são determinados. Para a primeira primeira etapa, formas geométricas são selecionadas para o treinamento da rede. Dependendo do tipo de aplicação, pode-se adaptar os padrões de treinamento com a finalidade de melhorar o desempenho da rede para um caso específico, ou pode-se treinar a rede com alguns padrões representantes das classes geométricas mais comuns a fim de garantir rendimento satisfatório da rede para as formas mais variadas possíveis. Baseado nas formas utilizadas por Valente (1999), são selecionadas formas representantes de três classes geométricas: retângulos, elipsóides e triângulos. A Figura 5.14 mostra as formas geométricas utilizadas no treinamento da rede. Figura 5.14: Padrões geométricos 2D utilizados no treinamento das redes neurais feedforward tipo RBF. Para cada um dos padrões geométricos 2D apresentados na Figura 5.14, os melhores pontos de fixação são determinados pelo algoritmo de busca heurística apresentado na Seção 5.4.1 para dois e três pontos de contato. Os padrões geométricos definidos e suas respectivas respostas são utilizados para treinamento da rede neural. O tempo de treinamento determina a escolha do tipo de rede feedforward a ser utilizado, neste caso, a rede selecionada é a rede tipo RBF. Segundo Valente (1999), que investiga o comportamento das redes feedforward nesta tarefa, ambos os tipos RBF e MLP apresentam resultados satisfatórios quanto à qualidade da fixação determinada 5 Fixação 2D de objetos desconhecidos 108 e quanto ao tempo de execução, contudo, as primeras apresentam tempo de treinamento menor que as segundas. Tempo de treinamento reduzido é fundamental para a implementação de sistemas capazes de aprender novas fixações. Tendo em mãos os padrões de treinamento e seus respectivos melhores pontos de fixação, pode-se iniciar o treinamento da rede. Vale ressaltar que é necessário, para o correto funcionamento da rede, normalizar as suas entradas e saídas, tanto na etapa de treinamento, quanto na etapa de execução. A entrada da rede consiste em um vetor de 200 pontos formado pelas coordenadas x e y dos pontos obtidos da aproximação poligonal, os valores são redimensionados a fim de que o máximo valor seja unitário, e o mínimo seja zero, e rotacionados a fim de posicionar o lado da forma geométrica de maior comprimento com o eixo x. As respostas esperadas para os padrões geométricos também recebem a mesma normalização. Na etapa de execução, a rede recebe como entrada os 200 pontos resultantes da aproximação poligonal normalizados segundo a descrição acima, e as resposta obtidas são aproximadas para aqueles mais próximos pertencentes aos dados de entrada da rede. As respostas obtidas devem sofrer modificações inversas àquelas da normalização a fim de se obter valores coerentes com a imagem do objeto. Para se determinar os pontos reais no espaço de trabalho do robô, ainda é necessário transformar os pontos selecionados do sistema de coordenadas da imagem para o sistema de coordenadas global, neste caso, para as câmeras de topo, os cálculos são mais simples que para as câmeras posicionadas nos efetuadores, além da facilidade de calibração do primeiro tipo de disposição do sensor de visão. Garras de dois dedos O método de busca heurística para garras de dois dedos apresentado anteriormente foi utilizado para determinar as respostas dos padrões geométricos de treinamento. A rede neural treinada com estes dados foi utilizada para a determinação de dois pontos de fixação para os objetos selecionados. A Figura 5.15 mostra os resultados obtidos e a Tabela 5.5 mostra os tempos de processamento da rede para cada um dos objetos. Nas imagens da Figura 5.15, as imagens com um "x" vermelho são aquelas em que a fixação determinada não apresenta a propriedade force-closure. O índice de ocorrência de erros é alto, e melhorias ainda devem ser investigadas em trabalhos futuros. 5.4 Métodos de determinação dos pontos de contato 109 (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) Figura 5.15: Resultados do algoritmo de otimização com redes de Hopfield para determinação de três pontos de fixação para objetos do cotidiano. 5 Fixação 2D de objetos desconhecidos 110 Tabela 5.5: Tabela do tempo de determinação da fixação 2D por garras de dois dedos utilizando RNAs tipo RBF para os objetos da Figura 5.15. Figura 5.15(a) Figura 5.15(b) Figura 5.15(c) Figura 5.15(d) Figura 5.15(e) Figura 5.15(f) Figura 5.15(g) Figura 5.15(h) Figura 5.15(i) Figura 5.15(j) Figura 5.15(k) Figura 5.15(l) Rede RBF [s] 0,0473 0,0350 0,0364 0,0360 0,0354 0,0351 0,0363 0,0351 0,0365 0,0362 0,0355 0,0371 Apesar do índice de erros apresentado pela rede RBF, a resposta considerada insatisfatória para alguns objetos é determinada sempre próxima a uma região em que se encontra soluções satisfatórias. Desta forma, pode-se concluir que a rede RBF apresenta bom desempenho como classificadora, e, ao se ajustar adequadamente seus parâmetros, tal como o raio da sua função de base, pode-se conseguir bons desempenhos em tarefas de classificação. Na simulação apresentada, o raio da função de base da rede RBF foi ajustado com valor abaixo de 1, ou seja, o rede foi configurada para trabalhar como determinadora dos pontos de contato, e não como classificadora. Em relação aos tempos de processamento, pode-se verificar pelos valores apresentados na Tabela 5.5, que o tempo de processamento é reduzido em comparação com a busca heurística. Nas simulações com os objetos da base de dados, foi possível determinar uma fixação forceclosure para apenas 645 objetos (7,7% do total de objetos). Garras de três dedos Outra rede RBF foi treinada com as formas geométricas e seus respectivos três pontos de fixação obtidos pelo método de busca heurística para fixação por três contatos. Simulações foram realizadas com os objetos selecionados e os resultados são mostrados na Figura 5.16, e na Tabela 5.6. 5.4 Métodos de determinação dos pontos de contato 111 (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) Figura 5.16: Resultados do algoritmo baseado em RNAs RBF na determinação de três pontos de fixação para objetos do cotidiano. 5 Fixação 2D de objetos desconhecidos 112 Tabela 5.6: Tabela do tempo de determinação da fixação 2D por garras de três dedos utilizando redes neurais tipo RBF para os objetos das Figuras 5.16. Figura 5.16(a) Figura 5.16(b) Figura 5.16(c) Figura 5.16(d) Figura 5.16(e) Figura 5.16(f) Figura 5.16(g) Figura 5.16(h) Figura 5.16(i) Figura 5.16(j) Figura 5.16(k) Figura 5.16(l) Redes RBF [s] 0,1794 0,1330 0,0994 0,0931 0,1094 0,1052 0,0921 0,1019 0,0948 0,1232 0,1075 0,0991 A partir das observações das respostas mostradas na Figura 5.16 e dos tempos de processamento apresentados na Tabela 5.6, pode-se verificar que a rede RBF apresenta melhor desempenho para a determinação de três pontos de contato, cujo desempenho em relação a qualidade é semelhante àquele apresentado pela rede de Hopfield, e em relação aos tempos de processameto, pode-se dizer estes são reduzidos em comparação com a busca heurística. Nas simulações com os objetos da base de dados, foi possível determinar uma fixação adequada por três pontos de contato para 2110 objetos (26,0% do total de objetos). 5.4.4 Fixação 2D por redes feedforward e de Hopfield combinadas Avaliando os resultados da rede feedforward e da rede de Hopfield, pode-se chegar a algumas conclusões, dentre elas: (1) a inicialização da rede de Hopfield afeta diretamente sua resposta, tendo em visa que inicializações inadequadas geram respostas não satisfatórias; (2) pode haver pontos estáveis ou mais adequados para a fixação nas proximidades dos pontos determinados pela rede feedforward. Baseado nestas duas observações, Xu et al. (1990) propõem a utilização das duas redes em cascata com o objetivo de reunir as características positivas das duas redes na determinação da fixação. Nesta configuração em cascata, a rede feedforward é responsável por classificar o objeto, e sua resposta é uma inicialização mais adequada para a rede otimizadora de Hopfield, que busca nas regiões vizinhas dos pontos de fixação selecionados pela rede RBF, melhores pontos de fixação. Na presente Seção, a rede em cascata é composta pelas redes RBF e Hopfield sem qualquer 5.4 Métodos de determinação dos pontos de contato 113 modificação, de tal forma que o resultado da rede RBF é utilizada como inicialização adequada da rede de Hopfield. Garras de dois dedos As Figuras 5.17 e 5.18 mostram os resultados obtidos para os objetos selecionados e a Tabela 5.7 mostra os tempos de processamento. Em comparação com os resultados das redes anteriores, de forma isolada para cada uma delas, é possível verificar uma melhora significativa da qualidade das respostas, principalmente a queda do índice de respostas não satisfatórias. (a) (b) (c) (d) (e) (f) (g) (h) (i) Figura 5.17: Resultados do algoritmo baseado em RNAs RBF e posterior otimização por redes de Hopfield na determinação de dois pontos de fixação para objetos do cotidiano (parte 1 de 2). 5 Fixação 2D de objetos desconhecidos 114 (a) (b) (c) Figura 5.18: Resultados do algoritmo baseado em RNAs RBF e posterior otimização por redes de Hopfield na determinação de dois pontos de fixação para objetos do cotidiano (parte 2 de 2). Os tempos de processamento das redes RBF e de Hopfield para determinação de dois pontos de contato são apresentados na Tabela 5.7. Tabela 5.7: Tabela do tempo de determinação da fixação 2D por dois dedos utilizando RNAs tipo RBF e posterior otimização por redes de Hopfield para os objetos das Figuras 5.17 e 5.18. Figura 5.17(a) Figura 5.17(b) Figura 5.17(c) Figura 5.17(d) Figura 5.17(e) Figura 5.17(f) Figura 5.17(g) Figura 5.17(h) Figura 5.17(i) Figura 5.18(a) Figura 5.18(b) Figura 5.18(c) Redes RBF e Hopfield [s] 0,1283 0,0738 0,0692 0,0473 0,0591 0,0603 0,0619 0,0626 0,0588 0,0583 0,0616 0,0590 A utilização da rede RBF como classificadora e da rede de Hopfield como otimizadora melhorou o desempenho na determinação da fixação. Em relação a qualidade das respostas, o desempenho apresentado pelas duas redes em conjunto é melhor que o desempenho de cada rede separada, sendo que onze fixações são satisfatórias para a redes redes em conjunto contra sete e seis fixações satisfatórias para as rede de Hopfield e RBF, respectivamente. Em relação aos tempos de processamento, o desempenho também é satisfatório. O novo método proposto foi simulado na determinação de fixações para os 8100 objetos da base de dados. Foram obtidas 6143 fixações force-closure, aproximadamente 75,8% do total de imagens. 5.4 Métodos de determinação dos pontos de contato 115 Garras de três dedos Da mesma forma que para a determinação de dois pontos de contato, as redes combinadas também podem ser utilizadas para determinar três pontos de contato. Os resultados das simulações com os objetos de teste são apresentados nas Figuras 5.19 e 5.20. (a) (b) (c) (d) (e) (f) (g) (h) (i) Figura 5.19: Resultados do algoritmo baseado em redes neurais RBF e posterior otimização por redes de Hopfield na determinação de três pontos de fixação para objetos do cotidiano. As linhas vermelhas mostram a direção de aproximação dos dedos da garra para o momento da fixação (parte 1 de 2). 5 Fixação 2D de objetos desconhecidos 116 (a) (b) (c) Figura 5.20: Resultados do algoritmo baseado em redes neurais RBF e posterior otimização por redes de Hopfield na determinação de três pontos de fixação para objetos do cotidiano. As linhas vermelhas mostram a direção de aproximação dos dedos da garra para o momento da fixação (parte 2 de 2). Os tempos de processamento medidos na determinação de três pontos de contato pelas redes combinadas são apresentados na Tabela 5.8. Tabela 5.8: Tabela do tempo de determinação da fixação 2D por garras de três dedos utilizando redes neurais tipo RBF e posterior otimização por redes de hopfield para os objetos das Figuras 5.19 e 5.20. Figura 5.19(a) Figura 5.19(b) Figura 5.19(c) Figura 5.19(d) Figura 5.19(e) Figura 5.19(f) Figura 5.19(g) Figura 5.19(h) Figura 5.19(i) Figura 5.20(a) Figura 5.20(b) Figura 5.20(c) Redes RBF e Hopfield [s] 0,1271 0,0393 0,1383 0,0899 0,1173 0,1012 0,1078 0,0408 0,1389 0,1186 0,0969 0,1147 Similar aos resultados obtidos pelas redes de Hopfield e RBF combinadas na determinação de dois pontos de contato, para três pontos de contato também houve melhora significativa no desempenho das redes na determinação dos pontos de contato e em relação aos tempo de processamento. O novo método proposto foi simulado na determinação de fixações para os 8100 objetos da base de dados. Foram obtidas 6425 fixações force-closure, aproximadamente 79,3% do total de imagens. 5.5 Resumo do Capítulo 5 117 5.5 Resumo do Capítulo 5 Neste Capítulo, a fixação 2D de objetos desconhecidos foi estudada. Diferentes métodos de fixação 2D baseados em RNAs foram descritos e resultados de simulações com imagens de objetos do cotidiano e com uma extensa base de dados foram apresentados para cada um dos métodos. O principal objetivo deste Capítulo foi o estudo da capacidade das RNAs na determinação de pontos de contato e das limitações apresentadas pelo diferentes métodos. Foram apresentados três métodos de fixação 2D baseados em RNAs: o método proposto por Valente (1999), que utiliza redes RBF previamente treinadas; o método proposto por Xu et al. (1990), que utiliza redes de Hopfield; e foi apresentada uma proposta de combinação das redes RBF e de Hopfield. Adicionalmente, também foi apresentado um método de busca heurística, que é utilizado na etapa de treinamento da rede RBF. Simulação com oito imagens de objetos reais foram realizadas para cada um dos métodos na determinação de dois e de três pontos de contato a fim de apresentar os resultados obtidos, e ainda, simulações foram realizadas com uma base de 8100 objetos. O objetivo de tais simulações foi avaliar o desempenho da rede em relação à qualidade das respostas e em relação ao tempo de processmento. Os resultados obtidos nas simulações mostraram que, de forma geral, é possível determinar pontos adequados de fixação para objetos desconhecidos, desde que as redes estejam adequadamente treinadas e configuras. E ainda, o tempo de processamento observado é reduzido. Em relação aos resultados obtidos com a rede RBF, foi possível verificar que a mesma não apresenta um bom desempenho em relação a qualidade das respostas, pois, apenas 7,7% das respostas foram satisfatórias para os 8100 objetos da base dedos. Porém, a rede RBF apresenta diversos parâmetros de configuração, como número de neurônios, raio da função de base radial, tipo de treinamento, entre outros menos expressivos. Logo, deve-se ainda investigar a relação entre o desempenho da rede e seus parâmetros de configuração. Um das vantagens da rede RBF é a possibilidade de treiná-las com formas padrões adequadas para cada aplicação específica. Em relação aos resultados obtidos com a rede de Hopfield, os resultados obtidos são melhores que aqueles obtidos pelas redes RBF quanto à qualidade das respostas, porém com pequena desvantagem em relação ao tempo de processamento. Uma das principais características observadas para este tipo de rede, é o seu desempenho em função da sua inicialização, pois se verificou a dependência dos resultados em relação à inicialização da rede. Uma das vantagens da rede, é a possibilidade de se trabalhar com dados não normalizados. 118 5 Fixação 2D de objetos desconhecidos Em relação a proposta de combinação das redes RBF e de Hopfield para a fixação 2D, observou-se uma melhora significativa na qualidade das respostas sem significante aumento no tempo de processamento, o que indica que a rede RBF apresenta melhores resultados como classificadora, e que a sua resposta é uma boa inicialização para a rede de Hopfield. Resultados expressivos foram alcançados com a combinação das duas redes, chegando a cerca de 70% de fixações satisfatórias para os 8100 objetos da base de dados. 119 Parte III Fixação 3D utilizando redes neurais artificiais 121 6 Simplificação de superfícies utilizando redes de Hopfield Este Capítulo apresenta um algoritmo, baseado em redes neurais de Hopfield, para a simplificação de malhas superfíciais de modelos 3D de objetos. Tais modelos são representados por uma nuvem de pontos definidos no espaço, e uma malha de elementos triangulares que ligam estes pontos formando a topologia do objeto. Dentre os pontos da nuvem, um número reduzido pode ser selecionado a fim de representar o objeto, sem perda das principais características da sua forma. Para a tarefa de simplificação do objeto, é proposto um algoritmo baseado em redes de Hopfield, inspirado naquele utilizado para a aproximação poligonal apresentado no Capítulo 4. A rede neural é utilizada na tentativa de simplificar as etapas de cálculos da simplificação e o objetivo é obter simplificações de boa qualidade, porém com tempo de processamento reduzido. Os resultados obtidos com a rede neural proposta, com simulações na simplificação de malhas de objetos, mostram que a qualidade da simplificação é similar àquelas obtidas por outros métodos, segundo métricas de um software avaliador dedicado, e que o tempo total de processamento observado é compatível com as aplicações em robótica, nas quais pretende-se aplicar este método. 6.1 Introdução Uma malha superficial, ou malha tridimensional (malha 3D), é composta por elementos geométricos fundamentais (triângulos, quadrados, retângulos, ou polígonos) conectados ordenadamente entre si, e é utilizada na representação de objetos, ou de formas geométricas quaisquer, em diversas aplicações. Estas aplicações são inúmeras e distintas. As malhas 3D são utilizadas, de forma geral na Engenharia, em programas dedicados de projeto, conhecidos pelo acrônimo do inglês ComputerAided Design (CAD), em análises pelo método dos elementos finitos (neste caso a malha pode ser volumétrica), entre outros. São utilizadas também na implementação de jogos (video games), e em computação gráfica em geral, tal como animações e realidade virtual. 6 Simplificação de superfícies utilizando redes de Hopfield 122 Na robótica existem programas de desenvolvimento que utilizam as malhas 3D para representar ambientes, objetos e robôs, e que simulam a interação física entre os mesmos. Pode-se citar como exemplo o programa IBEX (ETTLIN et al., 2005) desenvolvido para simular interações de robôs autônomos com o meio ambiente, e destinado ao desenvolvimento da robótica móvel, e também pode-se citar o programa GraspIt! (MILLER; ALLEN, 2004), que foi desenvolvido para simulação, análise e desenvolvimento de problemas de fixação e manipulação de objetos por garras robóticas. Nestes exemplos citados, as malhas 3D, que representam os objetos e o ambiente, são obtidas de maneira sintética através de programas CAD, que em sua maioria utilizam para formar o objeto primitivas geométricas como cubos, elipsóides, superfícies de revolução, e operações de conjunto como união, intersecção, e outras operações como extrusão e corte. Estes programas CAD geram automaticamente a malha 3D dos objetos modelados. De forma geral, a criação, ou a modelagem, de objetos em programas CAD é muito demorada e requer que o usuário tenha conhecimentos específicos do programa utilizado para a modelagem. O tempo de criação depende fundamentalmete da complexidade dos objetos que se deseja criar. Por este motivo, e pelo desenvolvimento de equipamentos e técnicas de aquisição de dados espaciais de uma cena (FERNANDES, 2005), as malhas 3D podem também ser obtidas pela reconstrução de dados reais adquiridos por dispositivos de visão 3D, tal como o scanner 3D. Esta técnica é utilizada principalmente para criar modelos de objetos complexos, e em muitos casos, o objeto é modelado manualmente e depois digitalizado com o dispositivo adequado. Esta abordagem alternativa requer que a malha seja reconstruída a partir de uma nuvem de pontos espaciais, ou seja, aqueles pontos obtidos pelos sistemas de visão 3D. A reconstrução da malha não é trivial, pois a mesma deve ser realizada apenas conhecendo-se a nuvem de pontos, que normalmente não está organizada, e não há informações adicionais sobre a conectividade entre os pontos. Existem diversos métodos para reconstruir malhas 3D a partir de nuvem de pontos, e para os leitores mais interessados recomenda-se a leitura de Gois (2004) e Polizzeli (2008), nos quais é realizada uma revisão dos métodos clássicos de reconstrução de malhas 3D a partir de nuvens de pontos, assim como novos métodos são apresentados. Uma malha 3D pode apresentar um elevado nível de detalhamento, sendo composta por centenas, e até milhares, de elementos fundamentais como vértices e triângulos por exemplo. Esta característica é comum tanto para as malhas 3D geradas por programas CAD, quanto para as malhas 3D reconstruídas a partir de uma nuvem de pontos. Em algumas aplicações, é interessante notar a presença de muitos detalhes com a finalidade de promover realismo, e 6.1 Introdução 123 observa-se esta necessidade em animações gráficas e em jogos virtuais. No caso das animações gráficas, as cenas são renderizadas a partir de cenários virtuais ricos em detalhes, o que demanda horas de processamento para uma única cena. No caso dos jogos, a exigência de realismo promove o constante desenvolvimento de softwares de renderização e placas gráficas de alto desempenho. Contudo, em outras aplicações necessita-se de versões simplificadas das malhas 3D. Por exemplo, na transmissão de visualizações via linha de comunicação, pode-se utilizar diferentes níveis de detalhamento (LOD1 ) de uma malha, sendo que neste caso inicia-se a transmissão com uma malha de pouco detalhamento, e progressivamente aumenta-se o detalhamento a medida que os dados são transmitidos. Diferentes níveis de detalhamento também são utilizados em computação gráfica na apresentação de um mesmo objeto a diferentes distâncias do observador. Quando o objeto está próximo, utiliza-se uma malha com muitos detalhes, e a medida que o objeto afasta-se, utilizam-se malhas menos refinadas. O objetivo desta técnica é melhorar o desempenho da renderização da cena. Pode-se ainda utilizar níveis de detalhamento na representação de topologias, e neste caso, melhora-se o detalhamento nas regiões próximas ao observadoor, enquanto que aquelas distantes apresentam poucos detalhes (HOPPE, 1996). Existem ainda outras aplicações em que se requer o uso de malhas simplificadas para reduzir tanto os recursos computacionais requeridos (memória, espaço em disco rígido e processador), quanto os tempos de execução no processamento de tarefas que utilizam as informações contidas na malha 3D. Para o caso especial da fixação 3D de objetos, também é interessante o uso de malhas 3D simplificadas. Em muitos casos utiliza-se sensores 3D para adquirir uma nuvem de pontos que define um objeto, e que retornam ao sistema uma grande quantidade de pontos, que devem ser simplificados a fim de reduzir os tempos de processamento, e, principalmente, de simplificar os cálculos específicos que utilizam as informações referentes à forma do objeto que estão contidas na malha 3D. A simplificação de malhas 3D que representam objetos e topografias é fundamental para funcionamento adequado de várias aplicações. Na literatura existem inúmeros métodos propostos que utilizam diferentes abordagens para resolver este problema. Cignoni et al. (1998a) faz uma breve, porém completa, apresentação e descrição dos tipos fundamentais de simplificação de superfícies. No trabalho também são discutidas algumas das características como qualidade de simplificação, tempos de processamento e desvantagens de cerca de 21 métodos que representam os tipos fundamentais de abordagens. Ainda em Cignoni et al. (1998a), seis trabalhos 1 LOD é a sigla do termo inglês level of detail. 6 Simplificação de superfícies utilizando redes de Hopfield 124 escolhidos como os mais eficientes são comparados quantitativamente na simplificação de três malhas obtidas por diferentes métodos: o fandisk representa a classe do objetos modelados em programa CAD, o bunny representa a classe de mallhas 3D reconstruídas a partir de pontos obtidos por scanners 3D, e o femur representa a classe daquelas malhas obtidas pela reconstrução de dados extraídos de imagens. No caso específico estudado neste trabalho, também se deseja utilizar versões simplificadas das malhas 3D para se determinar pontos de contatos para fixação de objetos. Segundo a proposta inicial do trabalho de se utilizar RNAs nas etapas de determinação da fixação, neste Capítulo é apresentado uma nova proposta de simplificação de superfícies baseado em RNAs competitivas de Hopfield. A proposta da utilização de RNAs para o problema da simplificação é inovador para a área, e comparações com os resultados apresentados por Cignoni et al. (1998a), dos seis principais trabalhos de simplificação, mostram a eficiência da nova proposta. O Capítulo segue esta organização: na Seção 6.2, o algoritmo de simplificação de superfícies proposto, baseado em redes de Hopfield, é descrito; na Seção 6.2.2, diferentes estratégias de simplificação de malhas utilizando a proposta são discutidas; na Seção 6.3, o algoritmo é simulado na simplificação de alguns objetos a fim de se verificar a capacidade de simpificação, e comparações com outros métodos de simplificação são realizadas a fim de comprovar a capacidade do método proposto; por fim, conclusões e propostas são realizadas na Seção 6.4. 6.2 Algoritmo proposto 6.2.1 Descrição O modelo de rede neural competitiva de Hopfield para a simplificação de superfícies é apresentado nesta Seção. A arquitetura da rede é baseada naquela utilizada para aproximação poligonal apresentada no Capítulo 4. Nesta abordagem, a superfície do objeto é definida por uma nuvem de pontos representada pelo vetor p = [p(1),. . . ,p(n)]T , sendo que cada elemento de p tem componentes x, y, e z em um sistema de referência inercial, e ainda, os pontos estão ligados entre si por uma malha superficial composta por triângulos como elementos geométricos elementares. A Figura 6.1(a) mostra um modelo reconstruído a partir de dados adquiridos por um scanner 3D, a Figura 6.1(b) mostra os pontos de aquisição e a Figura 6.1(c) mostra a malha triangular. A malha superfícial do objeto é obtida a partir da nuvem de pontos pela triangulação de Delaunay (OKABE et al., 2000), sendo que os pontos da nuvem compõem os vértices dos triân- 6.2 Algoritmo proposto 125 (a) (b) (c) Figura 6.1: Elementos de malhas da superfície de um modelo reconstruído pela triangulação de Delaunay. Figura 6.1(a) mostra o modelo reconstruído, Figura 6.1(b) mostra a nuvem de pontos, e a Figura 6.1(c) mostra os elementos triangulares da malha. 6 Simplificação de superfícies utilizando redes de Hopfield 126 gulos da malha. As relações geométrica entre os pontos da nuvem e os elementos triangulares da malha são utilizados na construção da regra de aprendizado da rede neural. Porém, antes da formalização desta regra, deve-se definir a arquitetura da rede neural. A rede neural apresenta um total de n neurônios, sendo que cada neurônio, que representa um único ponto da nuvem de pontos, está ligado a todos os demais neurônios da rede. A conexão entre cada neurônio recebe um peso w, assim a conexação entre os neurônios i e j é definida por w(i, j), e ainda, o peso muda de acordo com o sentido da conexão, tal que a conexão w(i, j) que vai do neurônio i para o neurônio j é diferente da conexão w( j, i) que vai do neurônio j para o neurônio i, ou seja w(i, j) = w( j, i). A conexão de um neurônio com ele mesmo tem peso nulo (w(i, i) = 0). O conjunto de pesos entre todos os neurônios, e em todos os sentidos, de conexão forma a matriz de pesos W . Para a definição da construção da matriz de pesos W deve-se definir a "vizinhança" de um ponto na triangulação. Na triangulação de uma superfície, cada ponto p(i) torna-se o vértice de um conjunto de triângulos Ei = [ei(1), ..., ei(s)]T , em que cada elemento de Ei possui três coordenadas, sendo que cada coordenada representa o vértice de um triângulo e é formada pelo índice de um ponto p da nuvem de pontos. Os vértices de cada triângulo do conjunto Ei, diferentes do ponto p(i), formam a vizinhança Vi do ponto, tal que Vi = [vi(1), ..., vi(s)]T . A Figura 6.2 mostra em azul o i-ésimo ponto, em vermelho o conjunto Ei, e em verde os pontos de Vi. Figura 6.2: Vizinhança de um ponto qualquer de uma malha. Em azul o ponto selecionado, em vermelho os triângulos da vizinhança e em verde os pontos vizinhos do ponto em azul. 6.2 Algoritmo proposto 127 Uma das interessantes características da triangulação de Delaunay é que, ao se retirar um ponto da nuvem inicial, e retriangular a nuvem alterada, a única região afetada pela retirada do ponto é aquela definida pela sua vizinhança, ou seja, são afetados apenas os triângulos de Ei na reconstrução da malha ao se retirar o i-ésimo ponto. A Figura 6.3(b) mostra a nova triangulação Ei , em vermelho tracejado, formada ao se retirar o i-ésimo ponto (ponto azul da Figura 6.3(a)) da nuvem de pontos. (a) (b) Figura 6.3: Efeito sobre a malha de superfície ao retirar um ponto. Figura 6.3(a) mostra a malha antes de se retirar o ponto azul, Figura 6.3(b) mostra a malha reconstruída após a retirada do ponto. A partir da Figura 6.3, pode-se verificar que ao se reconstruir a malha após a retirada do ponto p(i), a vizinhança de cada um dos pontos vizinhos daquele retirado é também modificada, assim como o conjunto de triângulos dos quais os vizinhos (pontos verdes de 6.3(b)), são vértices. Ao se retirar um ponto p(i) qualquer de uma malha e ao se efetuar a retriangulação, o que ocorre é a simplificação parcial da malha pela simplificação de Ei por E i. Cignoni et al. (1998b) define como erro de aproximação de superfícies o somatório das distâncias entre os elementos de malha da superfície original, que foram retirados na simplificação, aos elementos de malha da superfície aproximada. Para o caso em que o i-ésimo ponto é retirado da nuvem de pontos, o erro é definido pelo somatório das distâncias do ponto p(i) aos triângulos Ei da nova triangulação. 6 Simplificação de superfícies utilizando redes de Hopfield 128 Figura 6.4: Cálculo do erro de simplificação. O erro de simplificação ao se retirar o ponto p(i) é dado por: δi = s ∑ d(p(i), Ei(k)) (6.1) k=1 em que d(p(i), Ei (k)) é a distância Euclidiana do ponto p(i) ao triângulo Ei (k). Definido o erro de aproximação ao se retirar um ponto p(i) qualquer, pode-se então definir a construção da matriz de pesos W . Dado um ponto p(i) qualquer, sua vizinhança Vi e a nova triangulação Ei , o peso das conexões que partem de p(i) tem valores nulos quando o neurônio no qual a conexão chega não faz parte da vizinhança Vi. Para as conexões que partem de p(i) e chegam nos neurônios cujos pontos relacionados pertencentes à vizinhança Vi, os pesos são calculados da seguinte maneira: w(i, j) = ∑ d(p(i), Ei ∩ Evi (x)) (6.2) em que vi(x) é o ponto p( j) pertencente a vizinhança Vi, e o termo Ei ∩ Evi (x) é formado pelos triângulos de Ei que tem como um de seus vétices o ponto vi(x) (ou p( j)). Desta maneira, a conexão de um neurônio com todos os demais neurônios não é nula somente quando o segundo neurônio faz parte da sua vizinhança, e neste caso, o peso da conexão é o somatório da distância do primeiro ponto aos triângulos obtidos na retriangulação que tem o segundo ponto como vértice. Para cada neurônio i também existe um limiar de ativação T (i). O limiar é definido da 6.2 Algoritmo proposto 129 seguinte forma: T (i) = λ s ∑ Area(Ei( j)). (6.3) j=1 em que Area(Ei ( j)) é a área do j-ésimo triângulo de Ei , e λ é um escalar de ponderação (λ ∈ R). Definida a construção da matriz de pesos e dos limiares de ativação, pode-se definir o processo de simplificação pela rede de Hopfield. Inicialmente, todos os neurônios estão ativados, ou seja, x(i) = 1 para i = 1, . . . , n, e para cada neurônio i uma função energia é calculada segundo a relação: U(i) = n ∑ w(i, j)x( j) + T (i). (6.4) j=1 O neurônio que apresentar a menor energia de ativação é desativado, ou seja, seu estado x(i) muda de 1 para 0. Em outras palavras, o neurônio que representa o ponto com menor erro de aproximação ao ser retirado é desativado. O termo λ da Equação 6.3 é um escalar de valor escolhido de acordo com o caso de aplicação do algoritmo. Este termo pondera a ampliação de área entre os pontos da superfície provocada pela retirada de pontos durante a simplificação. Por exemplo, para os casos em que se deseja uma aproximação com distribuição regular de pontos ao longo da superfície, o termo λ tem grande importância. Para os casos em que pode haver regiões de maior concentração de pontos e outras com menor concentração, o termo λ pode ser pequeno ou até mesmo nulo. A simplificação pela rede competitiva segue um processo iterativo. Na primeira iteração todos os neurônios estão ativados, a função energia de toda a rede é calculada e o neurônio de menor energia é desativado. Ao desativar um neurônio qualquer k, a triangulação Ek é modificada para Ek , e conseqüentemente os neurônios vizinhos de k, pertencentes a V k, também terão seus vizinhos modificados. Desta forma, ao desativar um neurônio k, o peso das conexões dos vizinhos de k com seus próprios vizinhos é modificada. Portanto, a matriz de pesos é dinâmica, e a cada iteração a matriz de pesos W deve ser atualizada. Então, em cada iteração da rede um neurônio é desativado, a triangulação é reconstruída localmente, os pesos de conexão são atualizados e a função energia é recalculada para aqueles neurônios cujas conexões mudaram. Neste estágio, o neurônio com menor energia é desativado e o processo iterativo prossegue até que permaneçam apenas m neurônios ativados. Os m neurônios ativados ao final do processo representam os m pontos da simplificação. 6 Simplificação de superfícies utilizando redes de Hopfield 130 6.2.2 Estratégias de simplificação Na primeira iteração de execução da rede neural, a energia de cada neurônio deve ser calculada para se determinar aquele de menor energia que será desativado. Então, deve-se determinar a vizinhança Vi e a triangulação Ei a partir da malha original para o ponto p(i), deve-se calcular os pesos w(i, j), ou seja, deve-se calcular as distâncias entre o ponto p(i) e os triangulos de Ei , assim como as áreas destes. Ao finalizar este mesmo procedimento para cada um dos n neurônios, e após calcular a função energia dos mesmo, aquele de menor energia é desativado. Quando um neurônio é desativado, a malha original é atualizada, e inicia-se a próxima iteração em que todos os neurônios ainda ativos serão novamente avaliados. Este processo pode ser acelerado, pois pode ocorrer que qualquer um dos neurônios avaliados na primeira iteração apresente energia nula (U = 0). Como o valor de U é estritamente positivo, pode-se afirmar que este neurônio é o que apresenta mínima energia, ou um dos que apresentam mínima energia, caso outros neurônios apresentem energia também nula. A energia nula de um neurônio pode ocorrer para aqueles que representam pontos em uma região plana e quando o termo λ é nulo. Neste caso, pode-se concluir uma iteração com a desativação de um neurônio do interior da região plana, mesmo que ainda restem neurônios a serem verificados. A malha original é atualizada, e inicia-se a próxima iteração, que pode ser concluída da mesma maneira sem a necessidade da verificação de todos os neurônios. Seguindo esta linha de raciocínio, pode-se adotar um limiar de mínima energia Umin . Desta forma, pode-se finalizar uma etapa de iteração assim que algum neurônio apresentar energia menor ou igual ao limiar. O limiar de mínima energia estabelece um erro de aproximação aceitável, pois em determinadas aplicações pode-se trabalhar com aproximações não otimizadas. Esta estratégia permite acelerar o processo iterativo com conseqüente detrimento da qualidade da simplificação. Outra estratégia de simplificação interessante, principlamente para o caso estudado nesta dissertação, é a simplificação de apenas uma região limitada do objeto. Nesta estratégia, a rede é construída apenas para os pontos da região que pretende-se simplificar e executa-se o processo iterativo. Pode-se ainda simplificar diferentes regiões do objeto em escalas diferentes, ou seja, pode-se reduzir metade da malha de um objeto para 20% dos pontos originais, enquanto que para a outra metada pode-se reduzir a malha para 10%. As simulações realizadas com diferentes limiares de mínima energia são apresentados na próxima Seção, enquanto que a estratégia de simplificação de regiões definidas é utilizada no próximo Capítulo em que o algoritmo de fixação 3D é apresentado. 6.3 Simulações e resultados 131 6.3 Simulações e resultados Para avaliar a capacidade de simplificação do algoritmo proposto, duas diferentes simulações foram realizadas. Na primeira, diferentes simplificações foram realizadas para um mesmo objeto a fim verificar a qualidade das respotas do algoritmo em função do parâmetro Umin . Na segunda, os melhores resultados obtidos na primeira simulação são comparados com resultados apresentados por outros métodos de simplificação. Nas simulações são utilizadas duas malhas, que também são utilizadas por diversos autores na avaliação de algoritmos de simplificação. Foram utilizados o modelo Bunny (Figura 6.5(a)) e o modelo Fandisk (Figura 6.5(b))2 . (a) (b) Figura 6.5: Figura 6.5(a) mostra o modelo Bunny, que possui com 34834 vertices e malha de 69451 triângulos, e a Figura 6.5(b) mostra o modelo Fandisk que possui com 6475 vertices e malha de 12946 triângulos. Cada uma das simplificações realizadas é avaliada pelo programa Metro(descrito a seguir), e apresenta-se, para cada caso, o erro máximo de simplificação Emax , e o erro médio quadrático de simplificação Emed . 6.3.1 A ferramenta de avaliação Metro Antes da descrição das simulações realizadas e da apresentação dos resultados obtidos, é necessário apresentar os critérios de medida do erro de simplificação de superfícies. Foi descrita anteriormente a métrica proposta por Cignoni et al. (1998b), que pode ser sintetizada como: dado duas superfícies, a original S1 e a aproximada S2 , o erro de aproximação é dado pelas distâncias entre os pontos da superfície S1 à superfície S2 . Em função das distâncias entre 2O modelo Femmur não foi utilizado pois não foi possível encontrar o arquivo da malha 3D. 6 Simplificação de superfícies utilizando redes de Hopfield 132 os pontos de S1 e a curva S2 , diferentes medidas de aproximação podem ser obtidas: o erro máximo Emax , o erro médio Eavg e o erro médio quadrático Emed . A fim de difundir e formalizar as medidas de qualidade da simplificação descritas acima, um programa dedicado denominado Metro foi desenvolvido e é apresentado em Cignoni et al. (1998b). O Metro possibilita a avaliação da simplificação de uma superfície a partir da comparação da malha simplificada com a original, de forma independente do método de simplificação utilizado. Segundo (CIGNONI et al., 1998a) o programa foi utilizado por mais de 250 autores na análise de algoritmos de simplificação na época da publicação. Além das medidas de qualidade da aproximação, o software também calcula outras características das superfícies como: volume encapsulado (apenas para as malhas fechadas); área; menor diagonal do cubo que o contém; volume entre as superfícies; e também fornece uma saída visual em que uma escala de cores, que indica o valor do erro em cada ponto da rede, é aplicada sobre a superfície original. A fim de formalizar os resultados das simulações, utiliza-se o Metro como avaliador da qualidade da simplificação. Este procedimento permite comparar o resultado do algoritmo proposto com os resultados de outros algoritmos, e também possibilita que outros trabalhos também utilizem os dados em futuras comparações. 6.3.2 Desempenho em função do limiar Umin Na Seção 6.2.2 foi discutida a possibilidade de se trabalhar com diferentes valores do parâmetros Umin , para se reduzir o tempo de processamento, em detrimento da qualidade da simplificação. Para avaliar a dependência da qualidade dos resultados e do tempo de processamento da simplificação em função do limiar de energia Umin , diferentes simplificações foram realizadas para o modelo Bunny e para o modelo Fandisk. Para cada diferente porcentagem de simplificação, 0,5%, 1%, 5%, 10%, 25% e 50% dos pontos do modelo original, o limiar foi variado de 0 a 2,5. Para cada diferente simplificação o tempo de processamento e o erro médio quadrático Emed foram medidos3 . Os gráficos das Figuras 6.6 e 6.7 mostram os resultados obtidos para o modelo Bunny e para o modelo Fandisk, respectivamente. 3 O erro máximo de simplificação E max também foi medido nas simulações, mas os valores não são apresentados pois não verifica-se dependência entre Umin e Emax . 6.3 Simulações e resultados 133 Resultados obtidos para o modelo Bunny. (a) (b) Figura 6.6: Resultados para diferentes porcentagens de simplifcação do modelo Bunny em função do limiar Umin . A Figura 6.6(a) mostra o erro médio quadrático de cada porcentagem de simplificação em função do limiar, e a Figura 6.6(b) mostra o tempo de simplificação em função do mesmo limiar. 134 6 Simplificação de superfícies utilizando redes de Hopfield Resultados obtidos para o modelo Fandisk. (a) (b) Figura 6.7: Resultados para diferentes porcentagens de simplifcação do modelo Fandisk em função do limiar Umin . A Figura 6.7(a) mostra o erro médio quadrático de cada porcentagem de simplificação em função do limiar, e a Figura 6.7(b) mostra o tempo de simplificação em função do mesmo limiar. 6.3 Simulações e resultados 135 Pela análise dos gráficos, pode-se verificar que, tanto para o modelo Bunny, quanto para o Modelo Fandisk, o melhor resultado, ou seja, Umin = 0, ocorre quando não se utiliza um limiar no processo iterativo da rede neural, e ainda, o tempo de processamento é reduzido com a utilização de um limiar, porém, a estratégia prejudica a qualidade da aproximação. Pode-se também verificar a melhora do desempenho do método, em relação ao tempo de processamento, com o aumento de Umin , porém, o desempenho em relação a qualidade da simplificação reduz-se com o aumento de Umin , ou seja, o erro médio Emed aumenta. Os dados coletados nestas simulações, e que foram utilizados na construção dos gráficos das Figuras 6.6 e 6.7, encontram-se nas Tabelas C.1, C.2, C.3 e C.4 do Apêndice C. 6.3.3 Comparação com outros algoritmos Na segunda simulação o objetivo é comparar os resultados do algoritmo proposto com outros métodos de simplificação de malhas. Os métodos utilizados nesta comparação são: Mesh decimation proposto por Schroeder et al. (1992), Simplification envelopes proposto por Cohen et al. (1996), Multiresolution decimation proposto por Ciampalini et al. (1997), Mesh optimization proposto por Hoppe et al. (1993), Progressive meshes proposto por Hoppe (1996), Quadric error metrics simplication proposto por Garland e Heckbert (1997)4 . Nas simulações foram utilizadas as malhas do modelo Bunny (Figura 6.5(a)) e do modelo Fandisk (Figura 6.5(b)). O modelo Bunny foi simplificado para 50%, 25%, 10%, 5%, 1% e 0,5% dos 34834 pontos do modelo original, e o modelo Fandisk foi simplificado para 50%, 25%, 10%, 5% e 1% dos pontos do modelo original. Para cada simplificação o erro máximo Emax e o erro médio quadrático Emed foram medidos. Para a simplificação dos dois modelos com o algoritmo proposto, foi utilizado Umin = 0, pois neste caso obtém-se a melhor simplificação. Os gráficos das Figuras 6.8(a) e 6.8(b) mostram os erros máximos e médios na simplificação do modelo Bunny. E os gráficos das Figuras 6.9(a) e 6.9(b) mostram os erros máximos e médios na simplificação do modelo Fandisk. Os resultados dos diversos algoritmos utilizados na construção dos gráficos encontram-se nas Tabelas C.5, C.6, C.7 e C.8 do Apêndice C. 4 Os resultados dos métodos citado foram extraídos de Cignoni et al. (1998a). 136 6 Simplificação de superfícies utilizando redes de Hopfield (a) (b) Figura 6.8: Gráficos de comparação do método proposto com outros métodos da literatura na simplificação do modelo Bunny. Os gráficos das Figuras 6.8(a) e 6.8(b) mostram respectivamente o erro máximo Emax e o erro médio Emed medidos para diferentes níveis de simplificação. 6.3 Simulações e resultados 137 (a) (b) Figura 6.9: Gráficos de comparação do método proposto com outros métodos da literatura na simplificação do modelo Fandisk. Os gráficos das Figuras 6.9(a) e 6.9(b) mostram respectivamente o erro máximo e o erro médio medidos para diferentes níveis de simplificação. 6 Simplificação de superfícies utilizando redes de Hopfield 138 A partir dos gráficos das Figuras 6.8 e 6.9 pode-se verificar que o método proposto apresenta desempenho próximo, e por vezes melhor, que o desempenho apresentado por outros métodos de destaque na literatura. Então, pode-se afirmar que o método de simplificação por redes de Hopfield é eficiente. As Figuras 6.10 e 6.11 mostram as malhas após a execução da simplificação utilizando o algoritmo proposto. As Figuras 6.10(a) e 6.10(b) mostram os modelos originais do Bunny e do Fandisk respectivamente, as Figuras 6.10(c), 6.11(a), 6.11(c), 6.11(e) e 6.12(a) mostram respecticamente as simplificaçãoes para 50%, 25%, 10%, 5% e 1% para o Bunny, e as Figuras 6.10(d), 6.11(b), 6.11(d), 6.11(f) e 6.12(b) mostram respecticamente as simplificaçãoes para 50%, 25%, 10%, 5% e 1% do modelo Fandisk. (a) (b) (c) (d) Figura 6.10: Representação dos modelos simplificados pelo método proposto (parte 1 de 3). 6.3 Simulações e resultados 139 (a) (b) (c) (d) (e) (f) Figura 6.11: Representação dos modelos simplificados pelo método proposto (parte 2 de 3). 6 Simplificação de superfícies utilizando redes de Hopfield 140 (a) (b) Figura 6.12: Representação dos modelos simplificados pelo método proposto (parte 3 de 3). 6.4 Resumo do Capítulo 6 Neste Capítulo foi apresentada uma nova proposta de algoritmo de simplificação de superfícies baseado em redes neurais artificiais. A rede selecionada para cumprir a tarefa foi uma rede competitiva de Hopfield, o que atende a proposta inicial de se utilizar redes neurais. Os resultados obtidos na simplificação de modelos 3D complexos foram comparados com os resultados obtidos por outros métodos de destaque na literatura. As comparações apontam que a nova proposta é capaz de simplificar malhas superficiais com desempenho similar aos melhores métodos de simplificação. Também foi avaliado o desempenho do método proposto em função do limiar de desativação de neurônios Umin . Os resultados mostram que é possível acelerar os tempos de processamento utilizando valores elevados de Umin , porém ocorre detrimento da qualidade da simplificação. Contudo, a aplicação em que se deseja utilizar a rede de simplificação não exige ótimo desempenho em relação a qualidade, e sim em relação ao tempo de processamento, então o uso de valores elevados de Umin é conveniente e os resultados obtidos são satisfatórios. Ainda sobre o tempo de processamento da rede de simplificação, as simulações foram realizadas em um computador do tipo desktop não dedicado, e a implementação foi realizada no ambiente de desenvolvimento Matlab. Esta plataforma não apresenta o desempenho que aquelas dedicadas que são utilizadas em sistemas robóticos. Portanto, para verificar o desempenho do método, é necessário implementá-lo em uma linguagem apropriada e executá-lo em um computador dedicado. Esta nova simulação também deve ser realizada para os demais métodos da literatura, afim de verificar qual o método que melhor atende aos requisitos de um sistema de 6.5 Agradecimentos 141 fixação 3D. Por fim, apesar de não se ter uma boa indicação de que o método atende os requisitos de tempo de processamento, o método destaca-se pelos bons resultados apresentados e pela inovadora utilização de redes neurais no caso de simplificação de superfícies. 6.5 Agradecimentos O autor gostaria de agradecer ao aluno de iniciação científica Christoffer Tenório Emídio de Souza, autor de Souza (2007), pelo apoio na elaboração e na implementação do método proposto neste Capítulo. E ao colega de laboratório Rafael Vidal Aroca, pela ajuda na programação em C++, utilizada no pós-processamento dos resultados das simplifiicações. 142 6 Simplificação de superfícies utilizando redes de Hopfield 143 7 Fixação 3D de objetos desconhecidos 7.1 Introdução Como citadado anteriormente, a fixação é definida como a aplicação de forças, realizadas por garras robóticas sobre o objeto, capazes de mantê-lo em equilíbrio estático na presença, ou não, de carregamentos externos. Quando os pontos de aplicação das forças são definidos a partir da geometria 3D do objeto, a fixação é denominada como fixação 3D. A fixação de objetos por garras robóticas tem sido explorada com a finalidade de realizar diversas tarefas1 , e tem como precursor o trabalho realizado por Hanafusa e Asada (1977), conforme discutido nos Capítulos 1 e 5. Nos primeiros trabalhos de investigação da fixação, posteriores ao de Hanafusa e Asada (1977), esta é determinada a partir da forma 2D do objeto, pois, a representação deste por uma única seção é satisfatória em muitos casos2 , e também, esta consideração simplifica o mecanismo de determinação dos pontos de contato, o que dispensa a utilização de recursos computacionais avançados e teorias sofisticadas. Estas características relacionadas à fixação 2D ainda tem sido exploradas por pesquisadores no desenvolvimento de sistemas de fixação de baixo custo e de rápido processamento (SANZ et al., 2005). Contudo, pontos de contato definidos a partir da seção plana de um objeto podem ser inadequados para aqueles de geometria 3D complexa3 . No caso da fixação 2D, é possível apenas determinar a direção normal à superfície com componente no plano da seção 2D, sendo que a componente no plano transversal àquele não pode ser determinada. Então, para os casos de objetos com geometria 3D complexa, é necessário considerar toda a superfície do objeto na determinação dos pontos de contato, que por sua vez, é uma tarefa de maior complexidade que a tarefa relativa na fixação 2D. 1A descrição das tarefas em que se utilizam fixações por garras robóticas é realizada de forma completa no Capítulo 1. 2 Os processos tradicionais de usinagem (torneamento, fresamento, furação, etc) geram peças que podem ser representadas pela forma de uma única seção predominante. 3 Processos de fabricação como fundição, prototipagem 3D, conformação, entre outros, permitem a obtenção de peças com geometria complexa. 7 Fixação 3D de objetos desconhecidos 144 A principal diferença entre a fixação 3D e a fixação 2D pode ser resumida pela maneira de se representar a forma do objeto na etapa de determinação dos pontos de fixação. Porém, quando se explora todas as etapas necessárias para se determinar uma fixação, tanto 2D quanto 3D, desde a aquisição dos dados até a execução da fixação, verifica-se que todas as etapas comuns aos dois métodos apresentam algumas diferenças. No Capítulo 1, estas diferenças foram apresentadas e discutidas, relembrando, elas estão presentes: na forma de aquisição dos dados da cena em que se encontra o objeto, e conseqüentemente no dispositivo utilizado nesta etapa; nas técnicas de processamento dos dados, a fim de se extrair a forma do objeto dos dados da cena; na teoria da fixação envolvida, pois o elevado número de variáveis das equações de equilíbrio no caso da fixação 3D não permite que a teoria da fixação 2D, desenvolvida a partir de diversas simplificações, seja diretamente utilizada; e no método de seleção dos pontos de contato da fixação, que deve ser apropriado por dois motivos, pela quantidade de pontos que definem um objeto, que são maiores para o caso 3D, e pela ocorrência de um número maior de incógnitas das equações de equilíbrio. Todas estas diferenças entre a fixação 2D e 3D podem ser traduzidas como dificuldades a serem transpostas no desenvolvimento e implementaçção da fixação 3D. De fato, ao se analisar os trabalhos que propõem sistemas de fixação, 2D ou 3D, desde a proposta de Hanafusa e Asada (1977), até as propostas recentes, pode-se verificar que o pleno desenvolvimento de sistemas de fixação 3D foi possível apenas após meados da década de 1990. O desenvolvimento destes sistemas ocorreu devido ao desenvolvimento dos dispositivos de aquisição de profundidade de cenas, ou visão 3D, e dos algoritmos de processamento destes dados; devido ao desenvolvimento de uma teoria da fixação aplicável aos casos mais complexos; devido ao desenvolvimento de garras mais complexas capazes de promover diferentes possibilidades de fixação; e devido também ao desenvolvimnento de recursos computacionais mais poderosos. Pode-se dizer então que o advento destas novas tecnologias e teorias permitiu o desenvolvimento da fixação 3D de objetos, e os trabalhos de maior destaque nesta linha são: Ade et al. (1994), Fischer e Hirzinger (1997), Borst et al. (1999), Lee et al. (2002), Miller et al. (2003), Wang et al. (2005), Damian et al. (2005), Morales et al. (2006b) e Yamazaki et al. (2006). Estes trabalhos são descritos de maneira detalhada no Capítulo 1, e dentre eles, focou-se naqueles que utilizam RNAs na determinação da fixação. Para o caso da fixação 2D, alguns trabalhos destacam-se na utilização de RNAs para a fixação de objetos desconhecidos. A aplicações de redes neurais na fixação 2D é extensivamente explorada no Capítulo 5, e resultados satisfatórios são obtidos tanto para o tempo de processa- 7.2 Teoria e equacionamento da fixação 3D 145 mento quanto para a qualidade das fixações determinadas. Para o caso 3D, poucos trabalhos propõem RNAs para a determinação de pontos de fixação de objetos. Pode-se dizer que a primeira proposta de redes neurais para o caso é apresentada por Xu et al. (1990), que apresentam uma rede competitiva de Hopfield capaz de determinar pontos de fixação para os casos 2D e 3D, porém resultados são apresentados somente para o caso 2D. Outro trabalho que utiliza RNAs para o caso 3D é apresentado por Lee et al. (2002), que utilizam redes MLP previamente treinadas com formas padrões, porém, novamente a capacidade em determinação de pontos de contato para objetos de geometria 3D complexa não é comprovada. Objetiva-se neste Capitulo estudar a capacidade das redes neurais na determinação de pontos de fixação 3D, e três diferentes métodos são propostos utilizando os resultados obtidos no Capítulo 5 e nos trabalhos de Lee et al. (2002) e Xu et al. (1990). O Capítulo está organizado na seguinte forma: na Seção 7.2 é apresentado o equacionamento da fixação 3D para dois e três pontos de contato; a Seção 7.4 apresenta os quatro diferentes métodos de determinação da fixação 3D, por busca heurística (Seção 7.4.2), por redes competitiva de Hopfield (Seção 7.4.3), por redes feedforward tipo RBF (Seção 7.4.4) e por redes RBF e redes de Hopfield (Seção 7.4.5). Os resultados obtidos pelas diferentes configurações de RNAs são discutidos na Seção 7.5, onde conclusões e propostas para trabalhos futuros também são apresentadas. 7.2 Teoria e equacionamento da fixação 3D O equilíbrio estático do objeto na fixação 3D depende da posição em que o contato é realizado, do tipo de contato, e do número de dedos em contato. Nesta Seção o equacionamento do equilíbrio estático do objeto na fixação 3D é apresentado segundo a teoria da fixação do Capítulo 3. Contudo, antes de realizar o equacionamento, é necessário definir e apresentar algumas simplificações e hipóteses, e definir os sistemas de coordenadas envolvidas no equacionamento da fixação 3D. 7.2.1 Simplificações e hipóteses As simplificações e hipóteses consideradas para o equacionamento da fixação 3D são as mesmas que aquelas consideradas para a fixação 2D. Relembrando, as simplificações e hipóteses são realizadas quanto aos objetos, quanto às garras, e quanto aos tipos de contato. Os objetos são considerados rígidos com densidade constante, e com coeficiente de atrito de Coulomb constante por toda a sua superfície. Sobre os dedos das garras considera-se que 7 Fixação 3D de objetos desconhecidos 146 existe deformação nas pontas durante o contato, portanto, considera-se o modelo de contato macio. Contudo, considera-se que os carregamentos dos contatos ocorrem em apenas um ponto da superfície do objeto. São consideradas fixações por dois e três pontos de contato. 7.2.2 Sistemas de coordenadas Sistemas de coordenadas do objeto: o sistema de coordenadas do objeto O para a fixação 3D é definida da seguinte maneira. O centro co do sistema coincide com o centróide do objeto, o eixo Xo é paralelo à direção do momento principal de inércia, e da mesma forma Yo e Zo são paralelos ao segundo e terceiro momento principais de inércia respectivamente. A Figura 7.1 apresenta o sistema de coordenadas do objetos para uma forma 3D qualquer. Figura 7.1: Definição do sistema de coordenadas do objeto para a Fixação 3D. 7.2 Teoria e equacionamento da fixação 3D 147 Sistema de coordenadas da fixação: antes de definir este sistema de coordenadas, é necessário definir o centro de fixação ch . O ponto ch é determinado da mesma maneira que no caso da fixação 2D, pois para dois pontos de contato, o ponto ch está sobre a linha de ação dos dedos no ponto médio entre os pontos de contato c1 e c2 , e para três pontos de contato, o ponto ch está sobre o plano formado pelos pontos de contato c1 , c2 e c3 , e coincide com o ponto de encontro das linhas de ação la1 , la2 e la3 . O eixo Zh é paralelo à linha de ação la1 , o eixo Xh está sobre o plano da fixação, e o eixo Yh é obtido pelo produto vetorial entre Zh e Xh . As Figuras 7.2(a) e 7.2(b) mostram os sistemas de coordenadas da fixação por dois e três pontos de contato, respectivamente. (a) (b) Figura 7.2: Sistema de coordenadas de uma fixação 3D. 7 Fixação 3D de objetos desconhecidos 148 Sistema de coordenadas do contato: dado um ponto de contato da fixação ci (i=1,2 para dois pontos de fixação, e i=1,2,3 para três pontos de fixação) define-se o sistema de coordenadas do contato com centro em ci e eixo Zi alinhado com a direção normal à superfície do objeto no mesmo ponto. Não há regras para a escolha da direção de Xi e Yi , porém, recomenda-se sempre que possível escolher a direção de Yi alinhado, ou o mais próximo possível, com a direção de Yh , ou então o mesmo para Xi e Xh . As Figuras 7.3(a) e 7.3(b) mostram os sistemas de coordenadas dos contatos para as fixações por dois e três pontos de contato, respectivamente. (a) (b) Figura 7.3: Sistemas de coordenadas dos contatos Ci para uma fixação 3D. 7.2 Teoria e equacionamento da fixação 3D 149 7.2.3 Equacionamento da fixação 3D por 2 pontos de contato Para que a fixação seja estável, é necessário que as forças aplicadas pelos dedos da garra sejam capazes de equilibrar os carregamentos externos exercidos sobre o objeto, tais como a força da gravidade e distúrbios externos. O equacionamento é realizado no sistema de coordenadas da fixação e, desta maneira, as forças externas calculadas em outros sistemas de cordenadas devem ser transformadas para o sistema de fixação. No Capítulo 3, foi mostrado que o mapa da fixação G é capaz de transformar os carregamentos dos contatos (forças e momentos), em carregamentos equivalentes, descritos no sistema de coordenadas da fixação. A transfomação é dada pela seguinte equação: F h = G · F ci (7.1) em que F ci é o vetor formado pelas forças e momentos aplicados nos pontos de contato. O modelo de contato considerado é o contato macio, que define as forças de contato como: F ci = [ f1ci f2ci f3ci τci6 ], (7.2) sendo que f1ci e f2ci são as forças de atrito nas direções tangenciais ao contato, f3ci é a força normal ao contato, e τ6ci é o momento de atrito na direção normal ao contato. As forças e os momentos de atrito devem estar dentro do limite de escorregamento, ou cone de atrito, para que seja possível executar a fixação. A matriz G, definida como o mapa da fixação, é determinada por: h RT 0 ci G= · B, h r̂ci ·hci R hci R em que B é a base do tipo contato considerado: ⎡ 1 0 ⎢ ⎢ 0 1 ⎢ ⎢ ⎢ 0 0 B=⎢ ⎢ ⎢ 0 0 ⎢ ⎢ 0 0 ⎣ 0 0 0 0 (7.3) ⎤ ⎥ 0 0 ⎥ ⎥ ⎥ 1 0 ⎥ ⎥, ⎥ 0 0 ⎥ ⎥ 0 0 ⎥ ⎦ 0 1 (7.4) e hci R é a matriz de transformação homogênea do sistema de coordenadas da fixação H para o sistema de coordenadas do contato Ci. c(α1 )c(β1 ) s(α1 )c(β1 ) −s(β1 ) 0 ⎤ ⎡ c(α2 )c(β2 ) s(α2 )c(β2 ) −s(β2 ) 0 ⎤ obtém-se: F h = Gc1 · F c1 + Gc2 · F c2 (7.7) Transformando os carregamentos dos contatos, descritos nos sistemas de coordenadas dos mesmos, para o sistema de coordenadas da fixação sistema da fixação para o sistema de coordenadas do contato. coordenadas da fixação. Os ângulos α , β e γ são os ângulos de Euler de rotações consecutivas em X, Y e Z, respectivamente, que transformam o em que l e −l são as distâncias entre os pontos de contato c1 e c2 , respectivamente, e o centro da fixação ch , e são medidos no sistema de ⎥ ⎢ ⎥ ⎢ c(α2 )s(β2 )s(γ2 ) − s(α2 )c(γ2 ) s(α2 )s(β2 )s(γ2 ) + c(α2 )c(γ2 ) c(β2 )s(γ2 ) 0 ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ c(α2 )s(β2 )c(γ2 ) + s(α2 )s(γ2 ) s(α2 )s(β2 )c(γ2 ) − c(α2 )s(γ2 ) c(β2 )c(γ2 ) 0 c2 ⎥ G =⎢ ⎥ ⎢ l · (s(α2 )c(β2 )) l · (s(α2 )s(β2 )s(γ2 ) + c(α2 )c(γ2 )) l · (s(α2 )s(β2 )c(γ2 ) − c(α2 )s(γ2 )) c(α2 )s(β2 )c(γ2 ) + s(α2 )s(γ2 ) ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ −l · (c( α )c( β )) −l · (c( α )s( β )s( γ ) − s( α )c( γ )) −l · (c( α )s( β )c( γ ) + s( α )s( γ )) s( α )s( β )c( γ ) − c( α )s( γ ) 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ⎦ ⎣ 0 0 0 c(β2 )c(γ2 ) (7.6) e ⎥ ⎢ ⎥ ⎢ c(α1 )s(β1 )s(γ1 ) − s(α1 )c(γ1 ) s(α1 )s(β1 )s(γ1 ) + c(α1 )c(γ1 ) c(β1 )s(γ1 ) 0 ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ c(α1 )s(β1 )c(γ1 ) + s(α1 )s(γ1 ) s(α1 )s(β1 )c(γ1 ) − c(α1 )s(γ1 ) c(β1 )c(γ1 ) 0 c1 ⎥ ⎢ G =⎢ ⎥ −l · (s(α1 )c(β1 )) −l · (s(α1 )s(β1 )s(γ1 ) + c(α1 )c(γ1 )) −l · (s(α1 )s(β1 )c(γ1 ) − c(α1 )s(γ1 )) c(α1 )s(β1 )c(γ1 ) + s(α1 )s(γ1 ) ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ l · (c( α )c( β )) l · (c( α )s( β )s( γ ) − s( α )c( γ )) l · (c( α )s( β )c( γ ) + s( α )s( γ )) s( α )s( β )c( γ ) − c( α )s( γ ) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ⎦ ⎣ 0 0 0 c(β1 )c(γ1 ) (7.5) ⎡ Substituindo os termos da equação 5.3 obtém-se: 150 7 Fixação 3D de objetos desconhecidos 7.2 Teoria e equacionamento da fixação 3D 151 As forças de contato escritas no sistema de coordenadas da fixação devem ser capazes de equilibrar forças externas, também escritas no sistema de coordenadas da fixação. Se as forças externas aplicadas no objeto, expressas no sistema de coordenadas de fixação, são: T Fexh = Fex1h Fex2h Fex3h τ ex4h τ ex5h τ ex6h , (7.8) então, para que aconteça o equilíbrio estático do obejto, a seguinte relação deve ser satisfeita: Fexh + F h = 0 (7.9) −Fexh = F h (7.10) ou: O sistema acima apresenta as seis equações de equilíbrio do objeto quando dois dedos exercem forças de contato e forças externas são aplicadas no objeto. 7.2.4 Equacionamento da fixação 3D por 3 pontos de contato De forma similar ao caso da fixação 3D por dois pontos de contato, para uma fixação 3D com três pontos de contato deseja-se que a seguinte relação seja satisfeita: F h = G · F ci (7.11) tal que G e B são definidos da mesma forma que a definida na Seção 7.2.3. Para o caso da fixação 3D por três pontos de contato, expandindo a Equação 7.11 obtém-se: F h = Gc1 · F c1 + Gc2 · F c2 + Gc3 · F c3 em que Gc1 , Gc2 e Gc3 são dados pelas Equações 7.13, 7.14, e 7.15. (7.12) c(α1 )c(β1 ) s(α1 )c(β1 ) −s(β1 ) 0 ⎤ c(α2 )c(β2 ) s(α2 )c(β2 ) −s(β2 ) 0 ⎤ ⎢ ⎥ ⎢ c(α2 )s(β2 )s(γ2 ) − s(α2 )c(γ2 ) ⎥ s( α )s( β )s( γ ) + c( α )c( γ ) c( β )s( γ ) 0 2 2 2 2 2 2 2 ⎢ ⎥ ⎢ ⎥ ⎢ c(α2 )s(β2 )c(γ2 ) + s(α2 )s(γ2 ) ⎥ s( α )s( β )c( γ ) − c( α )s( γ ) c( β )c( γ ) 0 2 2 2 2 2 2 2 ⎢ ⎥ ⎢ ⎥ α )s( β )s( γ ) α )s( β )c( γ ) s( s( ⎢ ⎥ 2 2 2 2 2 2 o o ⎢ −l2 s(120o ) · (s(α2 )c(β2 )) ⎥ −l s(120 ) · s(120 ) · α )s( β )c( γ ) + s( α )s( γ ) −l c( 2 2 2 2 2 2 2 ⎢ ⎥ α )c( γ ) α )s( γ ) +c( −c( 2 2 2 2 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ c( c( α )s( β )s( γ ) α )s( β )c( γ ) 2 2 2 2 2 2 ⎢ ⎥ o o o l s(120 ) · s(120 ) · l 2 2 ⎢ l2 s(120 ) · (c(α2 )c(β2 )) ⎥ ⎢ s(α2 )s(β2 )c(γ2 ) − c(α2 )s(γ2 ) ⎥ −s( +s( α )c( γ ) α )s( γ ) 2 2 2 2 o ⎢ ⎥ −l2 c(120 ) · (−s(β2 )) ⎢ ⎥ −l2 c(120o ) · (c(β2 )s(γ2 )) −l2 c(120o ) · (c(β2 )c(γ2 )) ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ s( s( α )s( β )s( γ ) α )s( β )c( γ ) 2 2 2 2 2 2 ⎦ ⎣ l2 c(120o ) · (s(α2 )c(β2 )) l2 c(120o ) · l2 c(120o ) · c(β2 )c(γ2 ) +c(α2 )c(γ2 ) −c(α2 )s(γ2 ) (7.14) Gc2 = ⎡ ⎢ ⎥ ⎢ c(α1 )s(β1 )s(γ1 ) − s(α1 )c(γ1 ) ⎥ s(α1 )s(β1 )s(γ1 ) + c(α1 )c(γ1 ) c(β1 )s(γ1 ) 0 ⎢ ⎥ ⎢ ⎥ ⎢ c(α1 )s(β1 )c(γ1 ) + s(α1 )s(γ1 ) ⎥ s(α1 )s(β1 )c(γ1 ) − c(α1 )s(γ1 ) c(β1 )c(γ1 ) 0 ⎢ ⎥ ⎢ ⎥ −l1 · (s(α1 )c(β1 )) −l1 · (s(α1 )s(β1 )s(γ1 ) + c(α1 )c(γ1 )) −l1 · (s(α1 )s(β1 )c(γ1 ) − c(α1 )s(γ1 )) c(α1 )s(β1 )c(γ1 ) + s(α1 )s(γ1 ) ⎥ ⎢ ⎢ ⎥ ⎢ ⎥ l · (c( α )c( β )) l · (c( α )s( β )s( γ ) − s( α )c( γ )) l · (c( α )s( β )c( γ ) + s( α )s( γ )) s( α )s( β )c( γ ) − c( α )s( γ ) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ⎦ ⎣ 0 0 0 c(β1 )c(γ1 ) (7.13) ⎡ Gc1 = 152 7 Fixação 3D de objetos desconhecidos c(α3 )c(β3 ) s(α3 )c(β3 ) −s(β3 ) 0 ⎤ O sistema apresenta seis equações de equilíbrio do objeto quando três dedos exercem forças de contato sobre o objeto. −Fexh = F h então para que aconteça o equilíbrio estático do obejto, a seguinte relação deve ser satisfeita: T Fexh = Fex1h Fex2h Fex3h τ ex4h τ ex5h τ ex6h , sistema de coordenadas. Se as forças externas aplicadas no objeto, expressas no sistema de coordenadas de fixação, são: (7.17) (7.16) contato. As forças de contato escritas no sistema de coordenadas da fixação devem ser capazes de equilibrar forças externas, escritas no mesmo ângulos de Euler de rotações consecutivas em X, Y e Z, respectivamente, que transformam o sistema da fixação para o sistema de coordenadas do em que l1 , l2 e l3 são as distâncias entre os pontos de contato c1 , c2 e c3 , respectivamente, e o centro da fixação ch . Os ângulos α , β e γ são os ⎢ ⎥ ⎢ c(α3 )s(β3 )s(γ3 ) − s(α3 )c(γ3 ) ⎥ s(α3 )s(β3 )s(γ3 ) + c(α3 )c(γ3 ) c(β3 )s(γ3 ) 0 ⎢ ⎥ ⎢ ⎥ ⎢ c(α3 )s(β3 )c(γ3 ) + s(α3 )s(γ3 ) ⎥ s( α )s( β )c( γ ) − c( α )s( γ ) c( β )c( γ ) 0 3 3 3 3 3 3 3 ⎢ ⎥ ⎢ ⎥ s( s( α )s( β )s( γ ) α )s( β )c( γ ) ⎢ ⎥ 3 3 3 3 3 3 o o ⎢ −l3 s(240o ) · (s(α3 )c(β3 )) ⎥ −l s(240 ) · s(240 ) · α )s( β )c( γ ) + s( α )s( γ ) −l c( 3 3 3 3 3 3 3 ⎢ ⎥ +c( −c( α )c( γ ) α )s( γ ) 3 3 3 3 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ c( c( α )s( β )s( γ ) α )s( β )c( γ ) 3 3 3 3 3 3 ⎢ ⎥ o o o l l s(240 ) · s(240 ) · 3 3 ⎢ l3 s(240 ) · (c(α3 )c(β3 )) ⎥ ⎢ s(α3 )s(β3 )c(γ3 ) − c(α3 )s(γ3 ) ⎥ −s( +s( α )c( γ ) α )s( γ ) 3 3 3 3 o ⎢ ⎥ −l3 c(240 ) · (−s(β3 )) ⎢ ⎥ −l3 c(240o ) · (c(β3 )s(γ3 )) −l3 c(240o ) · (c(β3 )c(γ3 )) ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ s( s( α )s( β )s( γ ) α )s( β )c( γ ) 3 3 3 3 3 3 ⎣ ⎦ l3 c(240o ) · (s(α3 )c(β3 )) l3 c(240o ) · l3 c(240o ) · c(β3 )c(γ3 ) +c(α3 )c(γ3 ) −c(α3 )s(γ3 ) (7.15) Gc3 = ⎡ 7.2 Teoria e equacionamento da fixação 3D 153 7 Fixação 3D de objetos desconhecidos 154 7.3 Verificação da condição force-closure e avaliação da fixação 3D Como citado anteriormente, se uma fixação é capaz de equilibrar qualquer carregamento externo, então esta fixação é denominada force-closure. Uma das possíveis maneiras de se verificar se uma fixação é force-closure é a partir da análise da envolvente convexa do carregamento equivalente daqueles aplicados nos pontos de contato. A envolvente convexa das forças é construída com as direções das forças, que podem ser exercidas nos contatos, descritas no sistema de coordenadas da fixação, ou do objeto. A envolvente convexa dos momentos é construída com as direções dos momentos de atrito e dos momentos gerados pelas forças que podem ser exercidas no contato. Estes momentos também devem ser descritos no sistema de coordenadas da fixação, ou do objeto. Desta forma, duas envolventes convexas são construídas. A envolvente convexa das forças, é utilizada para verificar se a fixação é capaz de resistir aos carregamentos externos puramente lineares. Se a envolvente convexa das forças contiver a origem do sistema em que é construída, então a fixação é capaz de resistir a qualquer carregamento puramente linear. A envolvente convexa dos momentos é utilizada para verificar a capacidade da fixação de resistir a carregamento externos puramente torcionais. Se a envolvente convexa dos momentos contiver a origem, então a fixação é capaz de resistir a qualquer carregamento puramente torcional. Se as duas envolventes contiverem suas respectivas origens, então a fixação é force-closure. Nas Figuras 7.4 e 7.5 são apresentados dois exemplos de envolventes convexas de fixações force-closure para fixação por dois e três pontos de contato, respectivamente. A partir das envolventes convexas de uma fixação, também é possível determinar uma medida de qualidade para a fixação. Esta qualidade pode ser determinada pela menor distância entre o centro da envolvente convexa e a superfície da envolvente convexa. O ponto da superfície da envolvente convexa em que ocorre a menor distância representa a direção normal do menor carregamento, em módulo, necessário para desequilibrar o objeto. Esta relação é válida tanto para o carregamento puramente linear (forças), quanto para o carregamento puramente torcional (momentos), porém o ponto em que ocorre a mínima distância não é o mesmo nas duas envolventes. Para o caso em que se constrói apenas uma envolvente convexa de dimensão seis, a qualidade da fixação é determinada pela menor distância Euclidiana entre o centro do sistema e a superfície da envolvente convexa. 7.3 Verificação da condição force-closure e avaliação da fixação 3D 155 Figura 7.4: Exemplos de envolventes convexas para uma fixação 3D por dois pontos de contato. Figura 7.5: Exemplos de envolventes convexas para uma fixação 3D por três pontos de contato. 7 Fixação 3D de objetos desconhecidos 156 7.4 Métodos de seleção de pontos de contato Na fixação, o equilíbrio do objeto deve ser estabelecido e mantido, ou seja, as Equações 7.10 e 7.17 devem ser satisfeitas. Ambas as equações apresentam diversas incógnitas, que superam o número de equações, portanto, não existe uma única solução capaz de garantir o equilíbrio do objeto. Na Seção 7.3, foi apresentado o método de verificação da propriedade force-closure de uma fixação. A verificação desta propriedade permite verificar a capacidade de uma fixação de resistir a qualquer carregamento externo sem a necessidade de resolução das Equações 7.10 e 7.10, pois, a verificação é realizada apenas a partir da geometria da fixação. Na mesma Seção, também são apresentadas as medidas da qualidade de uma fixação force-closure, que permitem avaliar e comparar quantitativamente diferentes fixações. Os diferentes métodos de seleção de pontos de contato4 utilizam as medidas de qualidade da fixação, ou outras métricas também relacionadas à geometria da fixação e ao equilibrio do objeto, a fim de determinar, para um determinado objeto, pontos adequados de fixação. São inúmeros os métodos propostos para se determinar pontos de contato a partir da geometria do objeto, e eles podem ser constituídos desde métodos exaustivos de busca pela melhor fixação, até métodos complexos baseados em algoritmos avançados, como redes neurais (XU et al., 1990) e algoritmos genéticos (LEE; LEE, 2003). O método proposto neste Capítulo é similar àquele proposto no Capítulo 5 para a fixação 2D, e o mesmo é composto pela integração de diferentes métodos, sendo eles: busca heurística, otimização por redes de Hopfield, redes feedforward, e redes feedforward e de Hopfield combinadas. Os quatro métodos são detalhados nas próximas Seções, e resultados na determinação de fixações para dois e três dedos de contato são apresentados. 7.4.1 Simplificações e hipóteses Além das simplificações e hipóteses consideradas para o equacionamento da fixação 3D por dois e três pontos de contato, é preciso considerar algumas simplificações e hipóteses complementares para a descrição dos métodos avaliados. Neste caso, as considerações são realizadas principalmente quanto aos objetos a ser fixados. Considera-se que os objetos são convexos, ou apresentam regiões côncavas que não são representativas ou que não modificam a forma geral do objeto. Não existem faces ocultas, ou 4 Os métodos de seleção de pontos de contato são tambérm denominados de planejadores da fixação. 7.4 Métodos de seleção de pontos de contato 157 seja, toda a superfície é satisfatoriamente representada pela nuvem de pontos e pela sua malha superficial. Devido à indisponibilidade de um sistema de visão 3D capaz de mapear toda a superfícies do objeto no momento do desenvolvimento do trabalho, e pelo fato de que o estudo de sistemas de visão 3D e reconstrução de objetos não ser o escopo deste trabalho5 , utilizou-se nas simulações e testes dos métodos implementados modelos sintéticos de objetos, em sua maioria de forma abstrata, obtidos por um software CAD, e utilizou-se também modelos obtidos de repositórios de modelos virtuais disponível na internet. Considerou-se também que o objeto está apoiado em um plano e que qualquer fixação é exeqüível nos pontos não pertencentes ao plano em contato com o apoio, mesmo se houver alguma possível colisão na execução da fixação. A fixação é preferencialmente realizada com a aproximação da garra pelo topo do objeto. A consideração da direção de aproximação na fixação reduz o número de possibilidade de fixação, mas de forma geral, esta consideração não é essencial. Também é necessário simplificar a forma do objeto, pois, na maioria dos casos, a grande quantidade de dados torna também elevado o número de possibilidades de fixações, o que implica em custos de processamento (recursos computacionais e tempo). Para reduzir o número de dados, e conseqüentemente o número de combinação de fixações e os recursos necessários para o processamento, utiliza-se o método de simplificação de superfícies apresentado no Capítulo 6. Para os metódos de determinação da fixação por busca heurística e por redes de Hopfield, pode-se utilizar diretamente o método de simplificação proposto. Porém, para os casos em que se utiliza redes neurais feedforward na determinação da fixação, é necessário normalizar os dados de entrada da rede. A normalização de entrada da rede consiste em uma translação seguida de uma rotação e um redimensionamento para que o centróide do objeto seja coincidente com o sistema de coordenadas global, para que a maior dimensão do objeto esteja na direção x do mesmo sistema de coordenadas, e para que a maior dimensão seja unitária. E ainda, simplifica-se o objeto como parte da normalização das entradas da rede. Para a simplificação, dividi-se o objeto em seções específicas, e utiliza-se a capacidade do método de simplificação de trabalhar com regiões limitadas a fim de simplificar cada seção específica. Na divisão do objeto em seções específicas, utiliza-se um sistema de coordenadas 5 Alguns trabalhos como Gois (2004) e Polizzeli (2008) dedicam-se ao estudo deste sistemas. 7 Fixação 3D de objetos desconhecidos 158 cilíndricas auxiliar, concêntrico com o sistema de coordenadas do objeto, cujos eixos ’z’ são paralelos, e divide-se o objeto em camadas na direção perpendicular ao eixo z. Cada uma das diferentes camadas é subdividida segundo o ângulo θ do sistema de coordenadas auxiliar. Os pontos que pertencem a um mesmo subgrupo de uma camada formam uma seção específica. Desta forma, o objeto é dividido em seções específicas, porém, os grupos pertencentes a extremidade inferior, aquela em contato com a superfície de apoio do objeto, são descartados pela consideração de que não é possível realizar uma fixação nas proximidades do apoio. Cada subgrupo de pontos que compõem uma seção específica é simplificado por um único ponto. O ponto selecionado na simplificação é aquele que melhor representa a seção específica. O conjunto de pontos resultante da simplificação de todas as seções específicas formam a entrada da rede neural feedforward. Para avaliar e apresentar as fixações determinadas pelos diferentes métodos avaliados, são apresentadas as respostas obtidas para oito objetos de teste. As Figuras 7.6 e 7.7 apresentam os objetos de teste da fixação 3D, e a Tabela 7.1 mostra os tempos de simplificação obtidos utilizando a estratégia descrita nos parágrafos anteriores. E ainda, uma extensa base de dados, constituída por 11700 objetos 3D de formas abstratas, também foi utilizada para avaliar a capacidade de cada método em determinar fixações force-closure. (a) (b) Figura 7.6: Formas de objetos, que são representadas por uma malha superficial, utilizadas nas simulações dos métodos de determinação de pontos de fixação 3D. Os objetos representam algumas formas abstratas e alguns objetos do cotidiano (parte 1 de 2). 7.4 Métodos de seleção de pontos de contato 159 (a) (b) (c) (d) (e) (f) Figura 7.7: Formas de objetos, que são representadas por uma malha superficial, utilizadas nas simulações dos métodos de determinação de pontos de fixação 3D. Os objetos representam algumas formas abstratas e alguns objetos do cotidiano (parte 2 de 2). 7 Fixação 3D de objetos desconhecidos 160 Tabela 7.1: Tabela de tempos de simplifcação das superfícies dos objetos das Figuras 7.6 e 7.7. Objeto No Vértices Figura 7.6(a) 843 Figura 7.6(b) 1363 Figura 7.7(a) 1541 Figura 7.7(b) 4213 Figura 7.7(c) 5975 Figura 7.7(d) 1771 Figura 7.7(e) 2289 Figura 7.7(f) 1053 No Triângulos Tempo de simplificação[s] 1350 0,7528 2562 1,2686 2987 1,5147 6594 10,465 11765 21,904 3008 1,3619 3985 1,6993 1709 3,9168 7.4.2 Fixação 3D por Busca Heurística A qualidade de uma fixação pode também ser estimada por uma função custo calculada a partir das relações geométricas da fixação e de critérios específicos para diferentes casos. Para um objeto qualquer, que apresenta diversas fixações possíveis, cada fixação apresenta uma função custo. Na busca heurística, a função custo é determinada para todas as possíveis combinações de fixação, e então, é selecionada como a fixação mais adequada para o objeto aquela que apresentar a melhor função custo. O processo de busca pode ser ainda otimizado pelo estabelecimento de um limiar de busca, assim, quando alguma fixação atingir o limiar, seleciona-se esta fixação como a mais adequada e finaliza-se a busca. Pode-se então determinar através de uma busca heurística uma fixação adequada, e se na função custo for utilizada as medidas de qualidade da fixação obtidas a partir da sua envolvente conexa, pode-se conseguir uma fixação force-closure de qualidade. Apesar da capacidade de se determinar fixações com a busca heurística, o mecanismo de busca exige recursos computacionais, e em geral, o processamento desta etapa é computacionalmente custoso. Com o objetivo de se reduzir os recursos computacionais e tempos de processamento, diferentes estratégias de busca podem ser adotadas, e neste caso, utiliza-se a estratégia de reduzir o número de possíveis fixações como conseqüência da simplificação da superfície do objeto. A busca heurística é implementada para se determinar dois e três pontos de fixação para os objetos de teste6 . Antes da busca, cada objeto é simplificado pelo método proposto no Capítulo 6, e a busca é realizada. Para os dois casos de fixação, por dois ou três pontos de contato, a diferença na implementação da busca é a função custo relacionada à fixação. 6 Os objetos de testes selecionados são constituídos por algumas formas abstratas e objetos do cotidiano 7.4 Métodos de seleção de pontos de contato 161 Fixação por 2 contatos A superfície simplificada do objeto contém pontos, que quando combinados em pares, formam as possíveis fixações para o objeto. Para cada possível fixação, a seguinte função custo é relacionada: fcusto = A · Σθi + B · d(co , la ) +C · abs(αI − αla ) + D · abs(γ ), (7.18) em que θi é o ângulo entre a direção normal à superfície ao ponto de contato (vide Figura 7.8), ci e a linha de ação la , d(co , la ) é a distância entre o centróide do objeto e a linha de ação, abs(αI − αla ) é a diferença angular entre a direção da linha de ação e a direção do momento principal de inércia, e γ é o cosseno diretor da linha de ação com o eixo z. Os pesos A, B, C, D são escalares que ponderam os termos da Equação 7.18. Figura 7.8: Definição dos ângulos θ1 e θ2 entre as linhas de ação la e os eixos Z dos sistemas de coordenadas C1 e C2 respectivamente. Os termos de fcusto estão relacionados com a estabilidade da fixação, uma fixação estável é aquela que apresenta a menor função custo, ou seja, apresenta o mínimo somatório dos termos. Cada termo está relacionado com uma característica específica da fixação. O termo θi está relacionado com o cone de atrito. Quando este termo apresenta valor elevado, as forças de atrito na fixação são consideráveis, quando o termo é pequeno, a força de contato tem direção próxima à direção da normal ao contato. O termo d(co , la ) está relacionado aos momentos, em relação ao centróide do objeto, gerados pela aplicação das forças de contato, e deseja-se que a 7 Fixação 3D de objetos desconhecidos 162 linha de ação da fixação esteja próxima ao centróide do objeto. O termo abs(αI − αla ) relaciona a direção da fixação com direção do momento principal de inércia do objeto, deseja-se que estejam alinhados o máximo possível para minimizar os efeitos de inércia. O termo auxiliar abs(γ ) é o angulo da linha de ação com a direção z (normal à superfície de apoio do objeto) como o objeto deve ser fixado preferencialmente pelo seu topo, este termo penaliza fixações nas outras direções, desde que exista alguma satisfatória na direção z. A busca heurística por dois pontos de contato foi implementada no computados de testes, e fixações foram determinadas para os objetos de teste. Na implementação foram utilizados os pesos A = 200, B = 90, C = 150 e D = 507 , e as respostas obtidas são apresentadas nas Figuras 7.9, 7.10 e 7.11. (a) (b) (c) (d) (e) (f) Figura 7.9: Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de busca heurística (parte 1 de 3). 7 Os valores de A, B, C e D foram determinados empiricamente. 7.4 Métodos de seleção de pontos de contato 163 (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) Figura 7.10: Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de busca heurística (parte 2 de 3). 7 Fixação 3D de objetos desconhecidos 164 (a) (b) (c) (d) (e) (f) Figura 7.11: Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de busca heurística (parte 3 de 3). Os tempos de processamento da fixação 3D por dois pontos de contato utilizando a busca heurística foram medidos e são apresentados na Tabela 7.2. Tabela 7.2: Tabela do tempo de execução do algoritmo de busca heurística para fixação 3D por dois pontos de contato dos objetos das Figuras 7.9, 7.10 e 7.11. Figura 7.9(a) Figura 7.9(d) Figura 7.10(a) Figura 7.10(d) Figura 7.10(g) Figura 7.10(j) Figura 7.11(a) Figura 7.11(d) Busca heurística [s] 1,3927 1,2795 1,2824 1,2474 1,2735 1,2751 1,2572 1,2865 Também se utilizou a base de objetos 3D para avaliar o desempenho da busca heurística na determinação de dois pontos de fixação. Nos testes foi possível determinar uma fixação force-closure para todos os objetos. 7.4 Métodos de seleção de pontos de contato 165 Fixação por 3 contatos Para o caso de três pontos de contato, as possíveis fixações são formadas pelos conjuntos de três diferentes pontos. Cada possível fixação é avaliada pela seguinte função custo: fcusto = A · Σθi + B · d(co , ch ) +C · abs(γ ) (7.19) em que θi é o ângulo entre a direção normal à superfície ao ponto de contato ci e a linha de ação lai , d(co , ch ) é a distância entre o centróide do objeto e o centro de fixação, e γ é o cosseno diretor do ângulo entre a normal ao plano de fixação e o eixo z. Os pesos A, B, C são escalares que ponderam os parâmetros da Equação 7.19. Figura 7.12: Definição dos ângulos θ1 , θ2 e θ3 entre as linhas de ação la1 , la2 e la3 e os eixos Z dos sistemas de coordenadas C1 , C2 e C3 respectivamente. Todos os termos da Equação 7.19 têm o mesmo significado, quanto à estabilidade da fixação, que os termos da Equação 7.18. A exceção é a ausência do termo que relaciona a posição da fixação com o momento de inércia. No caso da fixação por três contatos, este termo não tem significado, pois, a disposição dos contatos garante que qualquer configuração seja capaz de reduzir aos efeitos de inércia. 7 Fixação 3D de objetos desconhecidos 166 A busca heurística por três pontos de contato foi implementada no computados de testes, e fixações foram determinadas para os objetos de teste. Na implementação foram utilizados os pesos A = 100, B = 50 e C = 1508 . Os pontos de contato obtidos para os objetos de testes são mostrados nas Figuras 7.13, 7.14 e 7.15. (a) (b) (c) (d) (e) (f) (g) (h) (i) Figura 7.13: Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de busca heurística (parte 1 de 3). 8 Os valores de A, B e C foram determinados empiricamente. 7.4 Métodos de seleção de pontos de contato 167 (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) Figura 7.14: Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de busca heurística (parte 2 de 3). 7 Fixação 3D de objetos desconhecidos 168 (a) (b) (c) Figura 7.15: Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de busca heurística (parte 3 de 3). Os tempos de processamento da busca heurística por três pontos de contato também foram medidos para os objetos de testes, e os mesmos são apresentados na Tabela 7.2. Tabela 7.3: Tabela do tempo de execução do algoritmo de busca heurística para fixação 3D por três pontos de contato dos objetos das Figuras 7.13 e 7.14. Figura 7.13(a) Figura 7.13(d) Figura 7.13(g) Figura 7.14(a) Figura 7.14(d) Figura 7.14(g) Figura 7.14(j) Figura 7.15(a) Busca heurística [s] 35,49620 114,5424 89,92680 34,00910 120,0924 87,60460 81,60400 81,12600 No teste com os objetos da bases de dados, os resultados obtidos com a busca heurística por três pontos de contato foi similar ao resultado da busca heurística por dois pontos de contato, ou seja, foi possível determinar uma fixação force-closure para todos os 11700 objetos testados. 7.4.3 Fixação 3D por otimização utilizando redes competitivas de Hopfield A determinação de pontos de contato por busca heurística exige que todas as possíveis fixações sejam avaliadas. Este procedimento não é otimizado, sendo que inúmeras combinações são avaliadas, mesmo depois da avaliação daquela que será considerada a melhor fixação. O mecanismo de busca pode ser otimizado utilizando-se a rede competitiva de Hopfield. Neste caso, a arquitetura da rede, o processo iterativo e os critérios de convergência são utilizados na tentativa de acelerar o processo de busca e de reduzir o número de avaliações realizadas, muitas delas desnecessárias. 7.4 Métodos de seleção de pontos de contato 169 A rede competitiva proposta é semelhante àquela desenvolvida para a fixação 2D, tendo apenas como diferença as funções custo relacionadas às fixações, que neste caso são as funções das Equações 7.18 e 7.19, respectivamente para dois e três pontos de contato. A rede de Hopfield é capaz de encontrar mínimos de energia, que correspondem a fixações satisfatórias. O mínimo de energia pode ser local ou global, sendo que a convergência depende da sua inicialização. Neste caso particular, nenhum método é utilizado para determinar a inicialização da rede, que é realizada escolhendo-se a ativação eqüidistante dos neurônios. A rede foi implementada no computador de teste e fixações por dois e três pontos de contato foram determinadas para os objetos de teste. Os resultados obtidos são mostrados nas Figuras 7.16, 7.17 e 7.18. Fixação por 2 contatos (a) (b) (c) (d) (e) (f) Figura 7.16: Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de otimização por redes de Hopfield (parte 1 de 3). 7 Fixação 3D de objetos desconhecidos 170 (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) Figura 7.17: Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de otimização por redes de Hopfield (parte 2 de 3). 7.4 Métodos de seleção de pontos de contato 171 (a) (b) (c) (d) (e) (f) Figura 7.18: Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de otimização por redes de Hopfield (parte 3 de 3). Os tempos de processamento foram medidos e são apresentados na Tabela 7.4. Pode-se observar a redução do tempo de processamento em comparação com os valores apresentados na Tabela 7.2, porém, pode-se observar também a redução do desempenho na determinação de fixações force-closure, pois, no teste com os objetos da base de dados, foi possível determinar 84,2% de fixações satisfatórias. Tabela 7.4: Tabela do tempo de determinação da fixação 3D por dois contatos utilizando redes de Hopfield. Tempos para as Figuras 7.16, 7.17 e 7.18. Figura 7.16(a) Figura 7.16(d) Figura 7.17(a) Figura 7.17(d) Figura 7.17(g) Figura 7.17(j) Figura 7.18(a) Figura 7.18(f) Rede de Hopfield [s] 0,2819 0,5040 0,2025 0,3464 0,3054 0,3278 0,2411 0,2523 7 Fixação 3D de objetos desconhecidos 172 Fixação por 3 contatos O método de determinação de fixação 3D por redes de Hopfield também foi implementado para a determinação de três pontos de fixação. Os resultados obtidos são apresentados nas Figuras 7.19, 7.20 e 7.21. (a) (b) (c) (d) (e) (f) (g) (h) (i) Figura 7.19: Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de otimização por redes de Hopfield (parte 1 de 3). 7.4 Métodos de seleção de pontos de contato 173 (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) Figura 7.20: Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de otimização por redes de Hopfield (parte 2 de 3). 7 Fixação 3D de objetos desconhecidos 174 (a) (b) (c) Figura 7.21: Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando o método de otimização por redes de Hopfield (parte 3 de 3). Os tempos de execução foram medidos e são apresentados na Tabela 7.5. Similar aos resultados obtidos com a rede de Hopfield na fixação 3D por dois pontos de contato, para o caso de três pontos de contato houve uma redução significativa no tempo de processamento, porém com redução do desempenho da rede, pois, nos testes com os objetos da base de dados, foram obtidas 77,6% de fixações satisfatórias. Tabela 7.5: Tabela do tempo de determinação da fixação 3D por três pontos de contato utilizando otimização com redes de Hopfield. Os tempos foram medidos para os objetos das Figuras 7.19, 7.20 e 7.21. Figura 7.19(a) Figura 7.19(d) Figura 7.19(g) Figura 7.20(a) Figura 7.20(d) Figura 7.20(g) Figura 7.20(j) Figura 7.21(c) Rede de Hopfield [s] 4,4257 2,1885 3,8546 5,0939 3,7056 3,6894 3,5502 5,4816 7.4.4 Fixação 3D por redes feedforward tipo RBF A determinação de pontos de contato para a fixação 3D também pode ser realizada por redes neurais feedforward. Para tanto, é necessário treinar a rede neural com padrões geométricos e seus respectivos melhores pontos de fixação. A utilização de redes neurais na determinação da fixação é amplamente investigada para o caso 2D (XU et al., 1990; VALENTE, 1999; PEDRO; CAURIN, 2008). Para o caso da fixação 3D, poucos trabalhos investigam o comportamento das redes na determinação de pontos 7.4 Métodos de seleção de pontos de contato 175 de contato, contudo, destaca-se nesta área o trabalho de Lee et al. (2002), que utiliza redes feedforward tipo MLP na determinação de pontos de contato para uma garra robótica de três dedos. Resultados preliminares9 mostram que os resultados das redes tipo RBF e MLP são equivalentes quanto à qualidade das respostas, porém, as redes MLP apresentam tempo de treinamento elevados em comparação com o treinamento das redes RBF10 . Desta forma, utiliza-se uma rede RBF na determinação da fixação, pois se deseja tempos reduzidos de treinamento. A determinação da fixação por uma rede feedforward pode ser dividida em duas etapas distintas: treinamento e execução. Na etapa de treinamento, é necessário selecionar padrões geométricos para o treino, que podem ser específicos para uma determinada aplicação, ou que podem ser variados para aplicações em geral. Como se deseja que a rede apresente capacidade de fixar uma grande variedade de objetos, utiliza-se no treinamento representantes de três classes geométricas, cubos, cilindros e elipsóides (Figura 7.22). Para completar os dados de treinamento, os pontos de fixação de cada um dos objetos são selecionados pelo método de busca heurística. Todos os dados de treinamento (entradas e saídas) devem ser normalizados segundo a descrição realizada na Seção 7.4.1. Figura 7.22: Padrões de treinamento para a rede feedforward tipo RBF para a fixação 3D. 9 Os resultados da comparação entre o comportamento das redes feedforward tipo MLP e RBF estão omitidos, pois seria necessário dedicar um Capítulo para apresentá-los. 10 Os resultados da comparação entre os tempos de treinamento das redes RBF e MLP para a fixação 3D são coerentes com aqueles obtidos na mesma comparação para o caso da fixação 2D. 7 Fixação 3D de objetos desconhecidos 176 Na etapa de execução, a superfície do objeto é simplificada, e cada ponto da simplificação é uma das entradas da rede. As entradas devem receber a mesmo normalização que aquela realizada para os padrões geométricos na etapa de treinamento, e as respostas obtidas com a rede devem sofrer as transformações inversas daquelas da normalização, a fim de se obter resultados corentes com o objeto original. Fixação por 2 contatos Uma rede neural RBF foi treinada para determinar dois pontos de fixação, e os resultados obtidos para os objetos de testes são mostrados nas Figuras 7.23, 7.24 e 7.25. (a) (b) (c) (d) (e) (f) (g) (h) (i) Figura 7.23: Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas (parte 1 de 3). 7.4 Métodos de seleção de pontos de contato 177 (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) Figura 7.24: Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas (parte 2 de 3). 7 Fixação 3D de objetos desconhecidos 178 (a) (b) (c) Figura 7.25: Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas (parte 2 de 3). Os tempos de processamento da rede RBF na determinação de dois pontos de contato também foram medidos. A Tabela 7.6 apresenta os tempos de processamento observados, e pode-se observar que os mesmo são inferiores àqueles observados nas Tabelas 7.2 e 7.4, porém, como conseqüência observa-se a redução do desempenho da rede, pois, nos testes com os objetos da base de dados, foram obtidas apenas 34,6% de fixações satisfatórias. Tabela 7.6: Tabela do tempo de determinação da fixação 3D por dois pontos de contatos utilizando RNAs tipo RBF para os objetos das Figuras 7.23, 7.24 e 7.25. Figura 7.23(a) Figura 7.23(d) Figura 7.23(g) Figura 7.24(a) Figura 7.24(d) Figura 7.24(g) Figura 7.24(j) Figura 7.25(c) Rede RBF [s] 0,0196 0,0212 0,0213 0,0204 0,0299 0,0201 0,0210 0,0190 Fixação por 3 contatos Uma rede feedforward tipo RBF também foi implementada para a determinação de três pontos de fixação de objetos 3D. As Figuras 7.26, 7.27 apresentam os resultados obtidos para os objetos de testes. 7.4 Métodos de seleção de pontos de contato 179 (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) Figura 7.26: Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas (parte 1 de 2). . 7 Fixação 3D de objetos desconhecidos 180 (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) Figura 7.27: Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas (parte 2 de 2). 7.4 Métodos de seleção de pontos de contato 181 Os tempos de processamento da rede RBF para a determinação de três pontos de contato para o caso 3D foram medidos e são apresentados na Tabela 7.7. Ao comparar os valores com aqueles apresentados nas Tabelas 7.3 e 7.5, pode-se verificar uma redução significativa do tempo de processamento, porém o desempenho da rede também é reduzido, sendo que apenas 51,9% das fixações determinadas para os objetos da base de dados foram satisfatórias. Tabela 7.7: Tabela do tempo de determinação da fixação 3D por três pontos de contatos utilizando RNAs tipo RBF para os objetos das Figuras 7.26 e 7.27 . Figura 7.26(a) Figura 7.26(d) Figura 7.26(g) Figura 7.26(j) Figura 7.27(a) Figura 7.27(d) Figura 7.27(g) Figura 7.27(l) Rede RBF [s] 0,0615 0,0218 0,0261 0,0217 0,0251 0,0226 0,0245 0,0263 7.4.5 Fixação 3D por redes feedforward e de Hopfield combinadas Pode ser verificado, tanto para a fixação 2D, quanto para a fixação 3D, que as redes competitivas de Hopfield geram fixações satisfatórias, porém a resposta, na maioria das vezes, não corresponde ao mínimo global. Como a função custo utilizada é a mesma que aquela da busca heurística, ao se comparar o resultado de um mesmo objeto para os diferentes métodos, pode-se verificar que a fixação determinada pela busca heurística, que corresponde ao mínimo global, é diferente da fixação determinada pela rede de Hopfield. Pode-se observar também que as redes feedforward apresentam resultados próximos àqueles que seriam adequados para fixação. Este tipo de resposta é característico da capacidade de generalização da rede feedforward, que ocorre em detrimento da capacidade de precisão da resposta11 . Pode-se então utilizar as duas redes combinadas a fim de se otimizar as respostas. Nesta combinação, a rede feedforward é responsável por classificar o objeto, gerando respostas próximas às regiões em que se encontram os melhores pontos de fixação. A resposta da rede feedforward é então utilizada como inicialização da rede de Hopfield, que por sua vez, é responsável por otimizar as repostas. Neste método de determinação da fixação, as redes RBF e de Hopfield são as mesmas descritas nas Seções anteriores. A rede RBF é previamente treinada com os padrões geométricos 11 A capacidade de generalização da rede RBF é obtida aumentando-se o raio da função de base radial. A diminuição do mesmo raio melhora a precisão da resposta, porém com queda na capacidade de generalização. 7 Fixação 3D de objetos desconhecidos 182 da Figura 7.22, cujos pontos de contato são determinados pela busca heurística, e a rede de Hopfield tem a mesma arquitetura que a apresentada anteriormente e utiliza a função custo das Equações 7.18 e 7.19 para otimizar a fixação por dois e três pontos de contato respectivamente. Fixação por 2 contatos As rede combinadas foram implementadas para determinar dois pontos de fixação de objetos 3D, e os resultados obtidos com os objetos de testes são apresentados nas Figuras 7.28, 7.29 e 7.30. (a) (b) (c) (d) (e) (f) (g) (h) (i) Figura 7.28: Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas e posterior otimização com redes de Hopfield (parte 1 de 3). 7.4 Métodos de seleção de pontos de contato 183 (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) Figura 7.29: Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas e posterior otimização com redes de Hopfield (parte 2 de 3). 7 Fixação 3D de objetos desconhecidos 184 (a) (b) (c) Figura 7.30: Vista frontal, superior e em perspectiva da determinação de dois pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas e posterior otimização com redes de Hopfield (parte 3 de 3). Os tempos de processamento foram medidos e são apresentados na Tabelas 7.8. A partir da observação de que os tempos de processamento estão entre os tempos apresentados nas Tabelas 7.4 e 7.6, e ainda, a partir dos resultados dos testes com os objetos da base de dados, em que no total foram determinadas 92,1% de fixações satisfatórias, pode-se concluir que a combinação das duas redes neurais melhora o desempenho na determinação de pontos de fixação sem aumentar significativamente o tempo de processamento. Tabela 7.8: Tabela do tempo de determinação da fixação 3D por dois pontos utilizando RNAs tipo RBF e posterior otimização por redes de Hopfield para os objetos das Figuras 7.28, 7.29 e 7.30. Figura 7.28(a) Figura 7.28(d) Figura 7.28(g) Figura 7.29(a) Figura 7.29(d) Figura 7.29(g) Figura 7.29(j) Figura 7.30(a) Redes RBF e Hopfield [s] 0,1472 0,1422 0,1082 0,2217 0,1991 0,2441 0,1921 0,2422 Fixação por 3 contatos As redes RBF e de Hopfield também foram combinadas para determinar três pontos de fixação de objetos 3D. Os resultados obtidos na determinação de pontos de contato para os objetos de testes são apresentados nas Figuras 7.31 e 7.32. 7.4 Métodos de seleção de pontos de contato 185 (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) Figura 7.31: Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas e posterior otimização com redes de Hopfield (parte 1 de 2). 7 Fixação 3D de objetos desconhecidos 186 (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) Figura 7.32: Vista frontal, superior e em perspectiva da determinação de três pontos de fixação, para objetos do cotidiano e abstratos, utilizando redes feedforward tipo RBF previamente treinadas e posterior otimização com redes de Hopfield (parte 2 de 2). 7.5 Resumo do Capítulo 7 187 Os tempos de processamento foram medidos e são apresentados na Tabela 7.9. Novamente, os resultados da combinação das duas redes neurais promoveu melhoras no desempenho quanto à quantidade de fixações satisfatórias nos testes com a base de dados. Foram obtidas 96,7% de fixações satisfatórias, e ainda, não houve aumento siginificativo do tempo de treinamento. Tabela 7.9: Tabela do tempo de determinação da fixação 3D por garras de dois dedos utilizando RNAs tipo RBF e posterior otimização por redes de Hopfield para os objetos das Figuras 7.31 e 7.32 Figura 7.31(a) Figura 7.31(d) Figura 7.31(g) Figura 7.31(j) Figura 7.32(a) Figura 7.32(d) Figura 7.32(g) Figura 7.32(j) Redes RBF e Hopfield [s] 0,8541 1,2213 1,0946 0,8888 2,0610 1,1547 1,6554 2,0102 7.5 Resumo do Capítulo 7 Neste Capítulo foi investigado o comportamento das RNAs na determinação de pontos de fixação para objetos 3D desconhecidos. O objetivo principal foi avaliar a capacidade das redes em relação à qualidade das respostas e em relação aos tempos de processmaneto. Para o caso da fixação 3D, ao contrário do que é observado para a fixação 2D, existem poucos trabalhos que utilizam RNAs se determinar os pontos de contato, destacando-se apenas o trabalho de Lee et al. (2002). Contudo, os mesmos métodos testados para o caso 2D foram testados para o caso 3D, ou seja, foram implementados os seguintes métodos: o método utilizando redes RBF previamente treinadas, segundo a proposta de Lee et al. (2002); o método utilizando redes de Hopfield; e um novo método proposto como uma combinação das redes RBF e de Hopfield. Os métodos foram implementados e simulações foram realizadas com uma base de dados formada por um total de 11700 objetos abstratos e obtidos por modelagem computacional. E resultados foram apresentados para oito modelos de objetos do cotidiano e de formas abstratas. Em geral, pode-se dizer que as RNAs são capazes de determinar pontos adequados de fixação, porém as mesmas devem ser adequadamente configuradas e treinadas. Dentre os resultados, destacam-se aqueles obtidos com a nova proposta de combinação das redes, neste caso, um total de 92,1% de fixação satisfatórias foi alcançado para dois pontos de contato, e 97,6% para 7 Fixação 3D de objetos desconhecidos 188 três pontos de contato. Estes resultados são significativamente melhores que aqueles obtidos com a rede RBF e com a rede de Hopfield, no entanto, não houve aumento expressivo no tempo de processamento. 7.6 Agradecimentos O autor gostaria de agradecer aos colegas de laboratório Rafael Vidal Aroca, Dalton Matsuo Tavares e José Martins Júnior pela ajuda na obtenção e criação dos modelos 3D para as simulações dos algoritmos de fixação 3D. 189 Parte IV Proposta de um sistema de fixação de auto-aprendizagem 191 8 Fixação 2D e 3D com auto-aprendizagem Nos Capítulos 5 e 7 desta Dissertação, foram apresentadas diferentes configurações de RNAs para a determinação de fixações de objetos, e resultados satisfatórios são apresentados. Contudo, pode-se ainda explorar as capacidades das redes de classificação e generalização para desenvolver um sistema de auto-aprendizagem para fixação de objetos. Neste sentido, um algoritmo de auto-aprendizagem, baseado nas diferentes RNAs apresentadas nos Capítulos supracitados, é apresentado no presente Capítulo. Uma característica importante do algoritmo é que o mesmo pode ser aplicado tanto para o caso da fixação 2D quanto para o caso 3D. Os primeiros resultados da auto-aprendizagem são apresentados pela simulação do algoritmo proposto com as bases de objetos 2D e 3D, e os resultados obtidos apontam a capacidade de auto-aprendizagem das RNAs destinadas à determinação de pontos de fixação de objetos. 8.1 Introdução A capacidade dos robôs de fixar objetos é uma das características desejadas para muitas aplicações. Em algumas delas, os objetos a serem fixados apresentam geometria complexa e pode-se dizer que é impossível de se determinar, a priori, quais as geometrias dos objetos que serão apresentados ao sistema. Nestes casos, diz-se que o objeto é desconhecido pelo robô. Portanto, a fixação de objetos desconhecidos é um dos maiores desafios na área de fixação e manipulação de objetos por garras robóticas, e tal característica é fundamental principalmente para os robôs que devem trabalhar em ambientes não estruturados, como robôs de serviço por exemplo. A melhor forma de se determinar pontos de fixação para objetos é a partir da geometria do mesmo. Desta forma, quando se deseja fixar um objeto desconhecido, a primeira etapa é a obtenção da sua forma. Uma vez que se conhece a geometria do objeto, que pode ser 2D ou 3D, diversas estratégias podem ser adotadas para se determinar os pontos de fixação do objeto. 8 Fixação 2D e 3D com auto-aprendizagem 192 As diferentes estratégias de se fixar objetos desconhecidos são apresentadas na Seção 2.11 , e dentre elas é importante recordar os sistemas propostos para aplicações industriais, tendo como principal trabalho aquele realizado por Morales et al. (2006b). Tais sistemas são baseados em algoritmos de rápido processamento, e uma das desvantagens é a não capacidade de aprendizagem, ou seja, o sistema não melhora seu desempenho a medida em que objetos são apresentados para fixação. Se algum objeto for apresentado pela segunda vez ao sistema, mesmo qua a fixação determinada na primeira apresentação tenha sido satisfatória, todos os cálculos serão repetidos, e para aqueles cuja fixação determinada não é satisfatória, não há posibilidade de fixá-lo, mesmo existindo uma forma de fixá-lo adequadamente. Outra proposta interessante é a formação de uma base de dados de objetos, tal como proposta em Kamon et al. (1994). A base de dados é formada por formas de objetos, suas características geométricas, e respectivos pontos adequados de fixação. O objetivo da formação de uma base de dados é permitir que objetos apresentados pela segunda vez ao sistema sejam fixados sem a necessidade de cálculos, pois apenas uma busca na base de dados é realizada. Neste caso, pode-se dizer que ao adicionar informações de um objeto à base de dados, o mesmo torna-se conhecido pelo sistema, e ainda, não há melhorias no desempenho do sistema quando objetos ainda desconhecidos são apresentados ao sistema pela primeira vez, mesmo que exista uma extensa base de dados formada. Uma alternativa interessante é a utilização de RNAs previamente treinadas para determinar fixações de objetos desconhecidos. Para o caso da fixação 2D, cita-se os trabalhos de Xu et al. (1990) e Valente (1999), e para o caso 3D cita-se o trabalho de Lee et al. (2002). A fixação utilizando os diferentes tipos de RNAs das citações anteriores é apresentada nos Capítulos 5 e 7 do presente trabalho, e a partir dos resultados obtidos, pode-se concluir que as RNAs, quando adequadamente configuradas e treinadas, constituem uma poderosa ferramenta para a fixação de objetos desconhecidos. Contudo, apesar dos bons resultados em relação à qualidade das respostas e aos tempos de processamento apresentados pelas RNAs, pode-se explorar algumas das suas características como a sua capacidade de classificação, de generalização e de retreinamento na tentativa de melhorar o seu desempenho na tarefa de fixar objetos. Neste sentido, a proposta apresentada neste Capítulo é um sistema de fixação com capacidade de auto-aprendizagem, ou seja, o sistema é capaz de aprender novas fixações a medida em que é executado, e ainda, o sistema apresenta tempos reduzidos de aprendizagem e de execução. O algoritmo é baseado em RNAs conforme a proposta inicial de utilizá-las nas etapas 1 Recomenda-se a leitura da Seção 2.1 para conhecimento das estratégias de fixação de objetos desconhecidos. 8.2 Algoritmo proposto 193 de determinação da fixação, pois o mesmo é desenvolvido com base nos resultados obtidos por Xu et al. (1990) e Valente (1999) para o caso 2D, nos resultados obtidos por Lee et al. (2002) para o caso 3D, e nos resultados obtidos nos Capítulos 5 e 7 desta Dissertação. Simulações com objetos de extensas bases de objetos mostram a capacidade de auto-aprendizagem do algoritmo proposto, e os tempos de processamento de aprendizagem e de execução são compatíveis com as aplicações de fixação de objetos. Este Capítulo está organizado da seguinte forma: na Seção 8.2, o algoritmo de autoaprendizagem proposto é apresentado; e na Seção 8.3 duas diferentes simulação são realizadas para verificar as capacidades e limitações da proposta. E por fim, considerações e discuções dos resultados são apresentados na Seção 8.4. 8.2 Algoritmo proposto 8.2.1 Descrição O algoritmo proposto neste Capítulo consiste em um sistema de auto-aprendizagem baseado nas RNAs tipo feedforward e de Hopfield. A principal característica do algoritmo é a capacidade de aprender novas fixações a partir da avaliação de um supervisor e de um mecanismo de retreinamento da rede feedforward. O algoritmo apresenta diversas etapas, sendo que em cada uma, um diferente método de determinação de fixação é utilizado. Os diferentes métodos de fixação utilizados são: busca heurística; redes feedforward; e otimização por redes de Hopfield;. Os diferentes algoritmos de fixação são utilizados em etapas específicas do algoritmo de auto-aprendizagem, que é por sua vez dividido em 5 etapas. Cada etapa é responsável por cálculos e procedimentos definidos, explicados a seguir na seqüência de execução do algoritmo. Rede feedforward Nesta etapa inicial, um rede neural feedforward tipo RBF, configurada como classificadora, é utilizada para determinar uma fixação inicial, ou seja, uma classifcação do objeto é realizada. A rede é previamente treinada com alguns padrões geométricos, cujos pontos de fixação são determinados pelo método de busca heurística. Esta etapa é baseada no algoritmo proposto por Valente (1999) para o caso 2D, e no algoritmo proposto por Lee et al. (2002) para o caso 3D. Otimização com redes de Hopfield Por vezes, a fixação determinada na etapa anterior não apresenta a propriedade force-closure, mas podem haver soluções satisfatórias quanto à propriedade nas proximidades dos pontos iniciais. Na tentativa de otimizar o resultado 8 Fixação 2D e 3D com auto-aprendizagem 194 da primeira rede, ou seja, encontrar uma fixação force-closure e de boa qualidade, uma rede competitiva otimiza o resultado buscando uma fixação que representa o mínimo local mais próximo da sua inicialização. O mínimo global (a melhor fixação dentre todas as possíveis) pode também ser alcançado, caso a inicialização da rede seja adequada. Mas de forma geral, encontra-se apenas mínimos locais, que são satisfatórios na maioria dos casos. Supervisor Um sistema supervisor avalia a resposta da rede de otimização segundo a propriedade force-closure. Se a resposta for considerada não satisfatória, é necessário utilizar um método de busca, diferente dos anteriores, capaz de determinar uma diferente fixação que deve ser satisfatória, e então, é necessário executar o procedimento de aprendizagem. Se a fixação for considerada satisfatória, as próximas etapas não serão executadas, e o procedimento é finalizado nesta etapa. Busca heurística Esta etapa é realizada para se determinar uma fixação satisfatória no caso em que a avaliação do supervisor da etapa anterior apontar que a fixação determinada pelas redes neurais não é satisfatória. Nesta etapa, todas as possíveis combinações são avaliadas segundo um critério estabelecido, ou uma função custo. A combinação que apresentar a melhor nota, segundo o critério estabelecido, é a melhor fixação. Caso a melhor fixação não apresente a condição force-closure, não é possível fixar o objeto e não há aprendizagem. Mecanismo de aprendizagem Caso a fixação determinada pela rede não for force-closure, e a fixação determinada pela busca heurística for, a rede neural feedforward é retreinada. No retreinamento, são utilizados todos os padrões anteriores adicionados da presente forma apresentada ao sistema, que é então considerada com um novo padrão de treinamento. A resposta esperada para o novo padrão de treinamento é aquela determinada pela busca heurística. Em outras palavras, se para uma determinada forma as redes neurais feedforward e de Hopfield não apresentam uma resposta satisfatória, e se pela busca heurística é possível obter uma fixação estável, então esta forma é adicionada como padrão de treinamento e a rede feedforward é retreinada com os padrões atualizados. Cada uma das etapas acima desempenha um papel fundamental na auto-aprendizagem. Inicialmente, a rede tipo feedforward é responsável por classificar os objetos de acordo com os padrões de treinamento, apresentando uma estimativa de uma fixação satisfatória2 , contudo a capacidade de generalização das redes feedforward implica em uma resposta não otimizada, e desta forma a fixação determinada pode não ser adequada. 2 Relembrando, uma fixação satisfatória é uma fixação force-closure. 8.3 Simulações e resultados 195 Para melhorar a resposta apresentada pela rede feedforward, uma rede competitiva é responsável por otimizar os resultados. A resposta obtida pela rede de Hopfield é um mínimo local, ou global, que depende da sua inicialização (XU et al., 1990). O resultado da rede de Hopfield pode ser satisfatório dependendo da sua inicialização, portanto, se o resultado não é satisfatório, então a inicialização pode não ser adequada, ou seja, se a resposta não é satisfatória, a rede feedforward não é capaz de classificar o objeto. No caso em que a rede RBF não é capaz de classificar um determinado objeto, a forma deste objeto é considerada como a representante de uma nova classe de formas, e então a rede é retreinada com as formas padrões anteriores adicionadas da nova. O algoritmo apresentado possui a capacidade de aprender novas fixações a partir da consideração de novos padrões de treinamento da rede feedforward, encontrados a medida em que o algoritmo é utilizado. Para verificar a capacidade de auto-aprendizagem do sistema, simulações, descritas nas próximas Seções, foram realizadas. 8.3 Simulações e resultados 8.3.1 O algoritmo proposto é capaz de aprender novas fixações? O algoritmo de auto-aprendizagem proposto utiliza um mecanismo de retreinamento das redes RBF na tentativa de melhorar o seu desempenho na determinação de pontos de contato para a fixação de objetos. Em relação à sua capacidade de auto-aprendizagem, algums questões podem ser discutidas: "A rede é capaz de aprender novas fixações?" "A cada novo retreinamento, o que acontece com o desempenho da rede em comparação com o estado da rede anterior ao retreinamento?" "A freqüência de retreinamento diminui com o uso da rede?" "Existe algum limite de adição de padrões de treinamento? Se existe, como este limite é determinado?" A fim de responder as questões listadas, simulações foram realizadas, e para tanto, extensas bases de objetos, uma de objetos 2D e outra de objetos 3D, foram utilizadas. Para o caso 2D, 8 Fixação 2D e 3D com auto-aprendizagem 196 a base de dados é formada pelas imagens disponibilizadas em SAXENA (2006). Os dados utilizados consistem em imagens adiquiridas a partir de fotos de diversas posições de uma cena contendo objetos do cotidiano modelados em um ambiente virtual. No total, utilizou-se 8100 imagens de sete objetos diferentes, sendo cerca de 1200 imagens para cada objeto. Para o caso 3D, a base de dados é formada por 2925 objetos 3D abstratos modelados em um software CAD3 . 8.3.2 Simulações e resultados As fim de responder as questões sobre a capacidade do sistema de auto-aprendizagem proposto, duas simulações foram realizadas. Primeira Simulação Na primeira simulação, os objetos foram apresentados às redes sempre em uma mesma ordem. Na primeira apresentação de todos os objetos à rede, não foi permitida a capacidade de auto-aprendizagem, e para cada objeto verificou-se a propriedade force-closure da fixação determinada. A Figura 8.1 apresenta a resposta da rede sem a capacidade de auto-aprendizagem para a fixação 2D por dois pontos de contato. A imagem, nomeada como "Mapa de comportamento da rede, mostra em cada um de seus pixels a resposta obtida, os pixels em vermelho claro representam os objetos cuja fixação não foi force-closure, e os pixels em verde claro representam os objetos cuja fixação determinada foi force-closure. O resultado desta primeira etapa foi utilizado nas próximas etapas da primeira simulação. Na segunda etapa, foi permitido a capacidade de auto-aprendizagem, ou seja, a cada fixação não force-closure determinada, executou-se o processo de retreinamento da rede com os padrões iniciais adicionados do novo padrão e sua respectiva resposta obtida pela busca heurística. Os objetos da base de dados foram apresentados na mesma ordem que aquela da primeira etapa, até que um total de 50 formas foram adicionadas aos padrões de treinamento, ou seja, até o retreinamento com 50 novas formas. Espera-se que, ao adicionar 50 formas aos padrões geométricos, não sejam obtidas respostas satisfatórias somente para as 50 formas adicionadas, o que aconteceria se fosse formada uma base de dados de fixações, mas espera-se que seja possível determinar fixações satisfatórias para outros objetos, diferentes daquelas 50 formas adicionadas, cujas fixações não foram satisfatórias na primeira etapa. 3 No total, foram criados 11700 objetos 3D, porém, devido ao tempo de processamento requerido para a realização das simulações, apenas aqueles mais complexos foram utilizados. 8.3 Simulações e resultados 197 Figura 8.1: Mapa do comportamento da rede no seu estado inicial. Após a aprendizagem de 50 novos padrões, interrompeu-se o processo, e executou-se o mesmo procedimento da primeira etapa, ou seja, todos os objetos da base foram apresentados à rede em uma mesma ordem, e também não foi permitido a capacidade de aprendizagem. A diferença nesta etapa da simulãção com a primeira etapa é a rede utilizada, que neste caso foi aquela retreinada com os padrões iniciais adicionados das 50 novas formas. A Figura 8.2 mostra o mapa do comportamento da rede após 50 retreinamentos. Figura 8.2: Mapa do comportamento da rede após a realização de 50 retreinamentos. 8 Fixação 2D e 3D com auto-aprendizagem 198 O procedimento descrito foi realizado com o objetivo de avaliar o desempenho de uma rede que "aprendeu" 50 novas formas geométricas. Contudo, pode-se repetir o procedimento para diferentes quantidades de formas geométricas aprendidas. Para cada diferente quantidade de formas adicionadas aos padrões geométricos, pode-se medir a quantidade de fixações satisfatórias, apresentando à mesma cada um dos objetos da base e verificando a resposta obtida. A Figura 8.3 mostra os mapas do comportamento da rede para diferentes estágios de aprendizagem. Figura 8.3: Mapas do comportamento da rede para diferentes estágios de retreinamento. Ao traçar em um gráfico a curva de quantidade de fixações satisfatórias por número de formas adicionadas aos padrões de retreinamento, obtém-se a curva denominada formas adicionadas aos padrões × fixações satisfatória que é também denominada como curva de aprendizagem, e a partir desta curva é possível responder à algumas das questões sobre a capacidade de aprendizagem das redes. 8.3 Simulações e resultados 199 O gráfico da Figura 8.4 apresenta a curva de aprendizagem para a fixação 2D por dois pontos de contato. A base de objetos utilizada nesta simulação contém 8100 exemplares, e as simulações foram realizadas para diferentes quantidade de formas adicionadas aos padrões para retreinamento (de 0 a 800 com passo de 50). Figura 8.4: Curva de aprendizagem para a fixação 2D por dois pontos de contato. A partir da curva de aprendizagem da Figura 8.4, pode-se verificar que, inicialmente, fixações satisfatórias foram determinadas para cerca de 6170 objetos, porém ao adicionar 50 formas geométricas aos padrões de treinamento, houve cerca de 7200 fixações satisfatórias. Pode-se responder a primeira questão em relação à capacidade de aprendizagem, sendo que houve melhora no desempenho da rede retreinada em relação à rede inicial. Ainda em relação à curva da Figura 8.4, pode-se dizer que o desempenho da rede melhora a cada nova aprendizagem, porém, pode-se observar uma linha de tendência (linha horizontal por volta de 7200) e não há melhoras significativas após este valor ser atingido, e em alguns casos, o desempenho apresenta algumas pequenas oscilações, contudo, o desempenho é sempre maior que 90%. Simulações similares foram realizadas para a fixação 2D por três pontos de contato, para a fixação 3D por dois pontos de contato, e para a fixação 3D por três pontos de contato. As curvas de para cada caso são apresentadas nas Figuras 8.5, 8.6 e 8.7 repectivamente. 200 8 Fixação 2D e 3D com auto-aprendizagem Figura 8.5: Curva de aprendizagem para a fixação 2D por três pontos de contato. Figura 8.6: Curva de aprendizagem para a fixação 3D por dois pontos de contato. 8.3 Simulações e resultados 201 Figura 8.7: Curva de aprendizagem para a fixação 3D por três pontos de contato. Nas simulações realizadas para as diferentes configurações de rede, para fixação 2D ou 3D, por dois ou três pontos de contato, observa-se o mesmo comportamento: há melhora da qualidade das respostas apresentadas a medida que novas formas são adicionadas aos padrões de treinamento e que a rede é retreinada; e existe uma linha ou valor de tendência, sendo que não há melhoras significativas após este valor ser atingido. Segunda Simulação Na primeira simulação, é possível verficar a capacidade de auto-aprendizagem, e ainda, é possível verificar a melhoria do desempenho após vários retreinamentos. Contudo, duas das questões sobre a capacidade de auto-aprendizagem não foram respondidas na primeira simulação: "A freqüência de retreinamento diminui com o uso da rede?" "Existe algum limite de adição de padrões de treinamento? Se existe, como este limite pode ser determinado?" Estas questões não puderam ser respondidas a partir dos resultados da primeira simulação, pois, naquele caso, os objetos das bases de dados foram apresentados à rede sempre em uma mesma ordem, e para cada diferente estágio de rede, atingido após um certo número de 8 Fixação 2D e 3D com auto-aprendizagem 202 retreinamentos, uma verificação exaustiva foi realizada4 . Em uma condição real de trabalho, não há como verificar o desempenho de cada estágio intermediário da rede através de uma simulação exaustiva utilizando uma base de objetos, e portanto, não é possível determinar quando o valor de tendência foi atingido, e quando o retreinamento deve ser interrompido. Para responder estas questões sobre o desempenho da rede, uma segunda simulação foi realizada. Nesta simulação, os exemplares da base de objetos foram apresentados aleatoriamente à rede e não houve restrições ou limites de retreinamento. O número de apresentações de objetos entre cada retreinamento foi medido, e desta forma, é possível verificar o aumento da quantidade de objetos apresentados à rede necessários para que um novo retreinamento ocorra. Os tempos de execução e de retreinamento da rede também foram medidos. A rede testada nesta simulação é novamente aquela para a fixação 2D por dois pontos de contato, e objetos foram apresentados à rede até a execução de 10000 retreinamentos. O gráfico da Figura 8.8 mostra a média de objetos apresentados à rede entre 250 retreinamentos, e os gráficos das Figuras 8.9 e 8.10 apresentam o tempo de execução e de retreinamento da rede, repectivamente, para cada intervalo de 250 retreinamentos. Figura 8.8: Objetos apresentados à rede entre retreinamentos. Os valores mostrados representam a média entre cada 250 retreinamentos. Resultados para a primeira simulação de apresentação de objetos à rede, em ordem randômica. 4 Cada uma das verificações leva cerca de 2 horas de processamento no computador de testes. 8.3 Simulações e resultados 203 Figura 8.9: Tempo de execução da rede. Média entre cada 250 retreinamentos. Resultados para a primeira simulação de apresentação de objetos à rede, em ordem randômica. Figura 8.10: Tempo de retreinamento da rede. Média entre cada 250 retreinamentos. Resultados para a primeira simulação de apresentação de objetos à rede, em ordem randômica. 8 Fixação 2D e 3D com auto-aprendizagem 204 Esta mesma simulação foi repetida outras quatro vezes, e os resultados são mostrados no Apêndice F. Nos resultados obtidos nas cinco simulações, o mesmo comportamento pode ser verificado, ou seja, a quantidade de objetos apresentados à rede entre retreinamentos aumenta significativamente no início da simulação, porém a curva do gráfico apresenta oscilações após 1000 retreinamentos, aproximadamente. Contudo, os tempo de retreinamento e de execução da rede aumentam linearmente a cada retreinamento. Desta forma, a adição de novas formas aos padrões geométricos e o retreinamento da rede melhoram o desempenho da mesma, e pode-se dizer que não há um limite de adição de formas acima do qual pode haver detrimento da capacidade de determinar fixações satisfatórias. Apesar disso, a adição de valores aumenta o tempo de execução e de retreinamento da rede, tal que, os tempos de execução e de retreinamento podem tornar-se maiores que aqueles de execução da busca heurística, e neste caso, pode-se dizer que é mais conveniente executar uma busca heurística do que executar a rede, pois os tempos de execução são os mesmos, porém, o melhor desempenho em relação à qualidade das resposta é alcançado com a busca heurística. Então, pode-se propor a verificação do tempo de retreinamento da rede como critério de parada, ou seja, quando o tempo de retreinamento atingir um determinado limiar, que pode ser relacionado ao tempo de busca heurística, interrompe-se o processo de aprendizagem, e a rede passa a ser utilizada sem a capacidade de aprender novas fixações. Desta forma, quando existe um mecanismo de determinação do melhor momento de interrupção da aprendizagem, pode-se afirmir que o algoritmo apresenta a capacidade de autoaprendizagem, pois, neste caso, o sistema é capaz de aprender novas fixação e de melhorar seu desempenho com retreinamentos da rede, e ainda, o sistema é decidir qual o melhor momento de parada do retreinamento sem detrimento da capacidade do sistema (tanto para a qualidade das respostas quanto para o tempo de processamento). A rede utilizada neste segundo tipo de simulação da auto-aprendizagem foi aquela para a determinação de dois pontos de contato para objetos 2D. O tempo de execução da busca heurística por dois pontos de contato para objetos 2D medido no Capítulo 5, e mostrados na Tabela 5.1, apresentou valores em torno de 0,3s de processamento. Portanto, pode-se adotar para este caso o tempo de execução da rede igual ou superior a 0,3R s, como critério de parada de adição de formas aos padrões para o retreinamento. O termo R é um escalar de ponderação, podendo ser maior ou menor que 1, dependendo da aplicação. Para os outros casos da fixação, fixação 2D por três pontos de contato e fixação 3D por dois e três pontos de contato, pode-se encontrar um critério de parada de aprendizagem semelhante àquele encontrado nestas simulações. Devido aos tempos necessários para a realização de cada 8.4 Resumo do Capítulo 8 205 simulação (cerca de dias e até semanas para o caso da fixação 3D por três contatos), estas simulações serão futuramente realizadas. 8.4 Resumo do Capítulo 8 Neste Capítulo, um algoritmo de auto-aprendizagem de fixações foi apresentado. A proposta abrange tanto a fixação 2D quanto a fixação 3D. O algoritmo proposto é baseado nas RNAs tipo RBF e de Hopfield combinadas, e um sistema supervisor e um de retreinamento da rede RBF permite o aprendizado de novas fixações, e ainda, é possível melhorar o desempenho da rede com pouco retreinamentos. Diferentes simulações foram realizadas para verificar a capacidade de auto-aprendizagem, e nas simulações foram utilizadas extensas bases de objetos. Na primeira simulação, foi verificada a capacidade da rede de melhorar o seu desempenho à medida que novas formas são adicionadas aos padrões de treinamento, sendo que a capacidade de auto-aprendizagem foi verificada em todos os casos, 2D ou 3D por dois ou três pontos de fixação. Na segunda simulação, os objetos foram apresentados à rede em uma ordem aleatória e, neste caso, foi avaliado o comportamento da rede em uma situação sem qualquer controle de auto-aprendizagem. O objetivo da simulação foi determinar uma relação capaz de indicar qual o limite de treinamento. Nos resultados obtidos verificou-se que o principal ponto negativo da proposta é o tempo de retreinamento e de execução da rede, pois observou-se que o tempo aumenta linearmente com o número de novas aprendizagens. Logo, após uma série de retreinamentos da rede, o tempo de execução e retreinamento tornam o sistema inviável. Portanto, pode-se utilizar o tempo de execução ou de retreinamento da rede como critério de parada da aprendizagem, o que caracteriza a auto-aprendizagem. Apesar dos bons resultados obtidos, a segunda simulação foi realizada somente para o caso da fixação 2D por dois pontos de contato, sendo necessário realizar a mesma situação para os demais casos. Por fim, estes primeiros resultados apontam que é possível desenvolver um sistema de autoaprendizagem de fixação utilizando redes neurais, contudo, ainda é necessário investigar a fundo o comportamento deste novo algoritmo a fim de conhecer melhor as suas vantagens e desvantagens. 206 8 Fixação 2D e 3D com auto-aprendizagem 207 9 Conclusões Finais A crescente necessidade em diversas áreas - industrial, médica, serviços - de sistemas flexíveis e adaptáveis, que atendam a diferentes condições de trabalho, motivou a pesquisa e desenvolvimento de sistemas inteligentes e capazes de se adaptarem às diferentes condições de trabalho sem a necessidade de reestruturação e readequação das suas instalações. No campo da fixação de objetos por garras robóticas, a atual necessidade de sistemas capazes de fixar diferentes tipos de objetos em posições aleatórias também tornou-se uma necessidade para a flexibilização dos processos que envolvem, de forma direta ou indireta, os manipuladores robóticos e os robôs de serviço. Nas últimas décadas, pode-se destacar inúmeros trabalhos cujas propostas são sistemas flexíveis capazes de realizar tarefas de fixação inteligente. Dentre todos, destacam-se aqueles que utilizam sistemas de visão como fonte de informação sobre os objetos existentes no espaço de trabalho de um robô. Se por um lado os sistemas propostos apresentaram maior flexibilidade e adaptabilidade quanto à posição e à forma do objeto, surge outro problema relacionado ao sistema de visão que deve ser capaz de capturar e informar ao sistema qual a forma do objeto. Outro fator de importância é a necessidade de baixo tempo de resposta do sistema e baixo custo computacional. Em aplicações industriais existe a necessidade de sistemas rápidos com baixo custo de instalação. Trabalhos recentes estudam a relação entre velocidade e custo de instalação do sistema e propõem a utilização de algoritmos e técnicas de cálculos simples com bom tempo de resposta, porém em detrimento da capacidade do sistema. Por outro lado, em algumas aplicações, pode-se investir em recursos computacionais avançados, a fim de permitir o ótimo desempenho do sistema. Desta maneira, a fixação de objetos é uma importante área de pesquisa da robótica, seja para aplicações industriais, para robôs de serviços, ou para outras aplicações em que também é desejavel a interação entre robôs e objetos do meio. A necessidade de robôs capazes de interagir com objetos, ou seja, fixá-los e manipulá-los, motivou o desenvolvimento de novas garras mais capazes e de planejadores inteligentes de fixação e de manipulação. 9 Conclusões Finais 208 Neste contexto, o desenvolvimento de planejadores avançados de fixação e de manipulação são tão importantes quanto o desenvolvimento das garras, pois, mesmo para as garras com menor capacidade de movimentação, tal como as garras industriais, é necessário o uso de um planejador de fixação e manipulação, para que uma tarefa de interação um um objeto seja realizada com sucesso. Para o caso das garras mais avançadas, com diversos dedos e muitos graus de liberdade e sensores, a utilização de planejadores de fixação e manipulação é ainda mais importante para que seja possível utilizar toda a capacidade de fixação e de manipulação da mesma. A fixação e a manipulação podem ser consideradas como formas de interagir com um objeto, e diferenciam-se entre si pelo equilíbio estático e dinâmico do objeto em relação à garra. Na grande maioria dos casos, uma tarefa de manipulação é precedida de uma fixação. Portanto, a fixação é uma etapa importante no processo de interação de robôs com objetos por meio de garras robóticas. Neste trabalho, foram estudados diversos sistemas de fixação de objetos. E o foco principal foi a utilização de redes neurais na determinação de pontos de fixação baseados na forma geométrica do objeto. Uma vez que é possível dividir os sistemas utilizados para a obtenção da forma do objeto em sistemas de visão 2D e 3D, o estudo foi realizado para os dois casos, e ainda, para cada um dos casos, duas maneiras de se fixar objetos foram estudadas, a fixação por dois pontos de contato e a fixação por três pontos de contato. A fixação por dois e três pontos de contato resumem os tipos de garras utilizadas nas indústriais, e mais, representam as duas formas mais simples de se realizar uma fixação de precisão utilizando garras antropomórficas. O objetivo deste trabalho foi avaliar a capacidade das redes neurais na determinação de pontos adequados de fixação para objetos, e também verificar a capacidade das redes de aprender novas fixações através de um sistema de auto-aprendizagem. Para cada um dos casos, 2D e 3D, simulações foram realizadas com diferentes métodos propostos na literatura e com novas propostas realizadas neste trabalho. Para o algoritmo de auto-aprendizagem proposto, também aplicável para ambos os casos, diferentes simulações foram realizadas. Nas simulações, foram utilizados objetos do cotidiano e extensas bases de objetos para comprovar as capacidades e limitações do método. Nas próximas Seções, 9.1, 9.2 e 9.3, são apresentadas as conclusões e propostas de trabalhos futuros para a fixação 2D, para a fixação 3D, e para o algoritmo de auto-aprendizagem, respectivamente. 9.1 Conclusões e propostas para a fixação 2D 209 9.1 Conclusões e propostas para a fixação 2D No Capítulo 5, foram apresentadas aplicações de redes neurais na determinação de pontos de fixação de objetos a partir da geometria 2D dos mesmos. Os estudos foram realizados a fim de verificar a capacidade dos diferentes métodos que utilizam RNAs propostos na literatura (XU et al., 1990; VALENTE, 1999) em determinar pontos de fixação para objetos desconhecidos, e ainda, uma nova proposta utilizando RNAs também foi apresentada. Quatro diferentes métodos de determinação de pontos de contato, e seus resultados, foram apresentados, são eles: busca heurística, redes de Hopfield (XU et al., 1990), redes feedforward tipo RBF (VALENTE, 1999), e a nova proposta que combina as redes de Hopfield e RBF. Para cada um dos quatro difetentes métodos, duas diferentes implementações foram apresentadas, uma para a determinação de dois pontos de contato, e outra para três pontos de contato. Os resultados para o método de busca heurística cumpriram as espectativas iniciais. Foi possível determinar pontos adequados de fixação para todos os objetos, tanto para os objetos de teste, quanto para os objetos da base de dados. E ainda, o tempo de processamento do método é elevado, devido, principalmente, à avaliação de todas as possíveis combinações de fixação, sendo que esta é a sua principal característica negativa. O método de busca heurística foi apresentado pois o mesmo é utilizado na determinação dos pontos de fixação das formas padrões para o treinamento da rede RBF e para comparações entre os tempos de processamento. O método proposto por Xu et al. (1990) também foi implementado e simulado na determinação de dois e três pontos de fixação de objetos desconhecidos. A partir dos resultados obtidos nas simulações, foi observado que a principal característica do método é a rapidez de execução da rede, porém a taxa de fixações satisfatórias é baixa, apenas 62,8% (para a fixação por dois pontos de contato, o melhor caso) das fixações determinadas para os 8100 objetos da base de dados foram satisfatórias. Um dos prováveis motivos do baixo desempenho da rede de Hopfield é a inicialização adotada, segundo Xu et al. (1990), a convergência da rede depende de sua inicialização. A rede RBF para a fixação 2D, apresentada em Valente (1999), também apresentou rápido processamento. Apesar disso, a taxa de fixações satisfatórias é baixa e menor que aquela da rede de Hopfield, mesmo para a configuração da rede de melhor desempenho. Destaca-se neste método a possibilidade de configuração da rede para tarefas específicas, a partir do seu treinamento com formas geométricas padrões. Outra característica interessante da rede RBF é a sua capacidade de classificação, porém, quando se configura a rede para cumprir esta tarefa, perde-se a precisão das respostas. 9 Conclusões Finais 210 O quarto método apresentado consiste em uma combinação das redes RBF e de Hopfield. O objetivo desta combinação é melhorar o desempenho de cada uma delas, a partir da utilização das suas principais características particulares. Neste método, a rede RBF é configurada como classificadora, e treinada com formas elementares, e sua resposta consiste em uma inicialização para a rede de Hopfield, que por sua vez, é responsável por encontrar uma fixação satisfatória próxima a resposta da primeira rede. Os resultados obtidos mostram que é possível melhorar o desempenho dos métodos que utilizam apenas uma das redes, e ainda, o tempo de processamento também foi reduzido (vide Tabelas 9.1 e 9.2). O tempo de processamento do método proposto apresenta melhores resultados que aqueles apresentados por cada uma das redes utilizadas de forma isolada nos métodos anteriores. Tabela 9.1: Comparação dos tempos de processamento da determinação da fixação 2D por dois pontos de contato utilizando os quatro diferentes métodos descritos. Figura Figura A.2(a) Figura A.2(b) Figura A.3(a) Figura A.3(b) Figura A.3(c) Figura A.3(d) Figura A.3(e) Figura A.4(a) Figura A.4(b) Figura A.4(c) Figura A.4(d) Figura A.4(e) Busca Heurística 0,2625s 0,2160s 0,2335s 0,2032s 0,2521s 0,2589s 0,2598s 0,2505s 0,1300s 0,2892s 0,2536s 0,2610s Rede de Hopfield 0,0690s 0,0238s 0,0567s 0,0209s 0,0314s 0,0419s 0,0318s 0,0214s 0,0321s 0,0217s 0,0223s 0,0214s Rede RBF 0,0473s 0,0350s 0,0364s 0,0360s 0,0354s 0,0351s 0,0363s 0,0351s 0,0365s 0,0362s 0,0355s 0,0371s Redes RBF e Hopfield 0,1283s 0,0738s 0,0692s 0,0473s 0,0591s 0,0603s 0,0619s 0,0626s 0,0588s 0,0583s 0,0616s 0,0590s Tabela 9.2: Comparação dos tempos de processamento da determinação da fixação 2D por três pontos de contato utilizando os quatro diferentes métodos descritos. Figura Figura A.2(a) Figura A.2(b) Figura A.3(a) Figura A.3(b) Figura A.3(c) Figura A.3(d) Figura A.3(e) Figura A.4(a) Figura A.4(b) Figura A.4(c) Figura A.4(d) Figura A.4(e) Busca Heurística 12,5083s 10,7642s 12,1357s 10,4243s 12,6787s 11,5055s 10,2894s 8,03370s 10,0774s 13,4464s 9,66960s 9,92430s Rede de Hopfield 0,2378s 0,1119s 0,1039s 0,1120s 0,1239s 0,1016s 0,1226s 0,1044s 0,1093s 0,1041s 0,0967s 0,0947s Rede RBF 0,1794s 0,1330s 0,0994s 0,0931s 0,1094s 0,1052s 0,0921s 0,1019s 0,0948s 0,1232s 0,1075s 0,0991s Redes RBF e Hopfield 0,1271s 0,0393s 0,1383s 0,0899s 0,1173s 0,1012s 0,1078s 0,0408s 0,1389s 0,1186s 0,0969s 0,1147s 9.1 Conclusões e propostas para a fixação 2D 211 No entanto, apesar dos bons resultados obtidos com o método que utiliza as redes combinadas, algumas ressalvas e considerações, e conseqüentes propostas para trabalhos futuros, devem ser apresentados em relação aos métodos, aos resultados e à continuidade dos trabalhos. Primeiramente, em relação ao sistema de aquisição e de processamento da imagem, devese considerar que: as imagens foram obtidas em um ambiente com controle de iluminação, e com uma câmera previamente calibrada, o que favoreceu e permitiu a aplicação direta do processamento da imagem apresentado no Apêndice A. Em uma aplicação real, por vezes, não é possível controlar a iluminação, e é necessário realizar calibrações manuais ou automáticas do sistema de aquisição. Assim, um sistema de visão 2D, que atende estes requisitos, é uma das propostas de continuação do trabalho. Outra proposta interessante é a detecção e verificação de colisões na execução da fixação determinada. Na implementação dos diferentes métodos de fixação do Capítulo 5 em um sistema robótico real, é necessário verificar a possibilidade de realizar a fixação nos pontos determinados, ou se haverá colisões com outras partes do próprio objeto durante a fixação. Nas simulações realizadas, foram apenas verificados os ângulos de ponta do contorno do objeto. Outras simplificações importantes que foram adotadas no desenvolvimento e na implementação dos métodos foram: a não consideração da geometria da garra e do objeto; e a não consideração de uma garra específica (industrial ou antropomórfica) para realizar a fixação. Estas simplificações foram realizadas para permitir a avaliação do método em determinar fixações a partir da geometria do objeto somente, sem considerar o cinematismo da garra e suas restrições. Para os casos em que se deseja determinar pontos de fixação para garras específicas, o espaço de trabalho da garra deve ser considerado afim de se selecionar pontos de contato cuja fixação seja exeqüível. Neste sentido, pode-se também selecionar uma postura da mão, cujo espaço de trabalho melhor abrange a superfície do objeto. Ou ainda, para uma tarefa específica, que apresenta para a sua execução uma postura da mão mais adequada, pode-se pré-selecionar regiões da superfície do objeto que permitem a fixação segundo aquela postura, e então, utilizar os planejadores de fixação para determinar os pontos de contato que promovem uma fixação satisfatória. Levando em conta estas propostas, os métodos apresentados podem ser aplicados a qualquer tipo de garra, tanto industriais, quanto antropomórficas. Por fim, uma outra proposta interessante é a implementação dos métodos de fixação em um robô manipulador para testes com objetos reais. Dentro desta proposta, existem duas possibilidades: 1) Implementação do sistema no robô SCARA do Laboratório de Mecatrônica da EESC-USP. O robô apresenta arquitetura aberta e sistema operacional de tempo real (vide Aroca (2008)), e ainda, o mesmo é provido de uma garra industrial tipo pinça. 2) Outra possibilidade 9 Conclusões Finais 212 é a aplicação do método na nova garra antropomórfica denominada Kangûera (BENANTE et al., 2007; MASSARO, 2006), desenvolvida pelo mesmo laboratório. Nestas implementações, poderá ser verificado o comportamento das fixações determinadas pelo método e executadas por um sistema real, e ainda, poderá ser verificado a capacidade do sistema de operar em tempo real. 9.2 Conclusões e propostas para a fixação 3D O objetivo principal do Capítulo 7 foi estudar o comportamento das RNAs na determinação de pontos de fixação de objetos de geometria 3D desconhecida. Os estudos foram baseados nos trabalhos de Xu et al. (1990) e Lee et al. (2002), e nos resultados obtidos no Capítulo 5, no qual foi estudado o comportamento das redes para o caso da fixação 2D. Também foi proposto um novo método de determinação de fixação 3D baseado em RNAs. Ao longo do texto, foram apresentados quatro métodos de determinação de pontos de fixação 3D: busca heurística; rede de Hopfield; rede feedforward tipo RBF; e a proposta de combinação das redes RBF e de Hopfield. Para cada diferente método, duas implementações foram realizadas, uma para fixação por dois pontos de contato e outra para três pontos de contato. Cada uma delas foi simulada com uma base de dados de 11700 objetos 3D abstratos, e ilustrações de alguns resultados foram apresentados para oito diferentes objetos do cotidiano, sendo que o tempo de processamento foi medido a fim de comparações entre os métodos. O método de busca heurística foi implementado e simulado, apesar deste método não ser baseado em RNAs. O motivo da implementação é a sua utilização na etapa de treinamento das redes RBF com a determinação dos pontos de contato dos objetos pertencentes aos padrões de treinamento e comparação dos tempos de execução. Os resultados obtidos estão dentro das espectativas para o método, ou seja, foi possível encontrar uma fixação satisfatória para todos os objetos, porém, o tempo de processamento foi elevado devido à verificação de todas as possibilidades de fixação. O segundo método apresentado consiste em uma rede de Hopfield (XU et al., 1990). Uma das principais características da rede é que não há etapa de treinamento, e a mesma pode apresentar número variável de neurônios para diferentes objetos, ou seja, não é preciso realizar uma normalização da sua entrada, em relação a quantidade de pontos do objeto, para a execução da rede. Outra característica interessante é que não é necessário a utilização de toda a superfície do objeto como entrada da rede, ou seja, pode-se determinar pontos de fixação para superfícies incompletas. Desta forma, pode-se determinar uma fixação por pontos de contato pertencentes 9.2 Conclusões e propostas para a fixação 3D 213 à regiões definidas por algum método de seleção de regiões de fixação, ou ainda, pode-se determinar fixações para objetos com faces ocultas. Com relação ao tempo de processamento da rede de Hopfield, os resultados obtidos foram satisfatórios. Tempos reduzidos de processamento foram obtidos, o que aponta que a rede converge em poucas iterações. Aponta-se a dimensão 3D dos objetos como o principal fator pela ocorrência da elevada taxa de respostas satisfatórias, pois, a existência de uma dimensão a mais que o caso 2D aumenta as possiblidades de fixação, e conseqüentemente, a ocorrência de mínimos locais, considerando as duas variáveis, é menor. Logo, consegue-se atingir mínimos próximos ao mínimo global. Também foi avaliado o comportamento da rede feedforward na determinação de pontos de fixação de objetos de geometria 3D desconhecida. O algoritmo implementado foi baseado naquele proposto por Lee et al. (2002). Similar à rede feedforward para o caso 2D, o correto funcionamento da rede depende fundamentalmente da normalização dos dados de entrada. Com este propósito, utilizou-se o método de simplificação de superfícies do Capítulo 6, e ainda, é necessário utilizar toda a superfície do objeto, ou seja, não é possível utilizar a rede para seções incompletas do objeto, ou para aqueles que apresentam faces ocultas. Na etapa de treinamento da rede feedforward, foram utilizados os 15 objetos da Figura 7.4.1, sendo que para cada um deles, os pontos de fixação foram determinados pelo método de busca heurística. Nos testes da rede em etapa de execução, o desempenho foi baixo em relação à qualidade das fixações determinadas, pois foram obtidas apenas 35,0% de fixações force-closure para dois pontos de contato, e 51,9% para três pontos de contato. Em relação ao processamento, tempos reduzidos foram obtidos. Sobre o tempo de treinamento da rede, em resultados preliminares não apresentados neste trabalho, as redes feedforward tipo RBF apresentaram tempo de treinamento de poucos segundos (de 1s a 10s dependendo da configuração da rede), enquanto que as redes tipo MLP apresentaram até horas de treinamento. Estes resultados são similares àqueles obtidos por Valente (1999) no treinamento das rede feedforward para o caso 2D. O último método apresentado no Capítulo 7 consiste na nova proposta de combinação das redes RBF e de Hopfield, similar àquela proposta no Capítulo 5 para a fixação 2D. A primeira RNA da combinação é uma rede RBF classificadora que apresenta como resposta uma estimativa de fixação do objeto. Na maioria dos casos, esta estimativa não é propriamente uma fixação force-closure, porém, ela pode estar próxima a uma. No sentido de encontrar uma fixação adequada próxima àquela apresentada pela rede classificadora, utiliza-se uma rede de Hopfield, que recebe como inicialização a saída da rede RBF. Resultados satisfatórios foram obtidos tanto em 9 Conclusões Finais 214 relação a taxa de fixações force-closure determinadas para os objetos da base de dados, quanto em relação aos tempos de processamento. Com relação à qualidade das respostas apresentadas pelas rede combinadas, cerca de 92,0% das fixações determinadas para os 11700 objetos foram force-closure para o caso de dois pontos de contato, e cerca de 97% para três pontos de contato. Com relação ao tempo de processamento, os tempos observados foram reduzidos, e pode-se comparar os tempos obtidos pelos diversos métodos a partir das Tabelas 9.3 e 9.4. Tabela 9.3: Tabela de comparação dos tempos de processamento da determinação da fixação 3D por dois pontos de contato utilizando os quatro diferentes métodos descritos. Figura Busca Heurística 7.6(a) 1,3927 s 7.6(b) 1,2795 s 7.7(a) 1,2824 s 7.7(b) 1,2474 s 7.7(c) 1,2735 s 7.7(d) 1,2751 s 7.7(e) 1,2572 s 7.7(f) 1,2865 s Rede de Hopfield 0,2819 s 0,5040 s 0,2025 s 0,3464 s 0,3054 s 0,3278 s 0,2411 s 0,2523 s Rede RBF 0,0196 s 0,0212 s 0,0213 s 0,0204 s 0,0299 s 0,0201 s 0,0210 s 0,0190 s Redes RBF e de Hopfield 0,1472 s 0,1422 s 0,1082 s 0,2217 s 0,1991 s 0,2441 s 0,1921 s 0,2422 s Tabela 9.4: Tabela de comparação dos tempos de processamento da determinação da fixação 3D por três pontos de contato utilizando os quatro diferentes métodos descritos. Figura Busca Heurística 7.6(a) 35,49620 s 7.6(b) 114,5424 s 7.7(a) 89,92680 s 7.7(b) 34,00910 s 7.7(c) 120,0924 s 7.7(d) 87,60460 s 7.7(e) 81,60400 s 7.7(f) 81,12600 s Rede de Hopfield 4,4257 s 2,1885 s 3,8546 s 5,0939 s 3,7056 s 3,6894 s 3,5502 s 5,4816 s Rede RBF 0,0615 s 0,0218 s 0,0261 s 0,0217 s 0,0251 s 0,0226 s 0,0245 s 0,0263 s Redes RBF e de Hopfield 0,8541 s 1,2213 s 1,0946 s 0,8888 s 2,0610 s 1,1547 s 1,6554 s 2,0102 s De forma geral, pode-se dizer que as RNAs são capazes de determinar pontos de fixação satisfatórios em tempo reduzido, desde que as mesmas sejam devidamente configuradas, treinadas e combinadas. Contudo, algumas ressalvas e considerações devem ser levadas em conta, assim como propostas para continuação do trabalho também devem ser realizadas. As considerações e propostas para trabalhos futuros são realizadas em relação ao sistema de aquisição do objeto, e em relação às garras utilizadas para executar a fixação. Primeiramente, em relação ao sistema de visão 3D, sabe-se da dificuldade de se adquirir toda a superfície do objeto, de forma que os sistemas de visão 3D ainda estão em fase de 9.2 Conclusões e propostas para a fixação 3D 215 desenvolvimento, e que o tema é uma importante e promissora área da ciência. Portanto, é proposto o desenvolvimento de um sistema de visão capaz de mapear toda a superfície do objeto com tempos reduzidos e com boa precisão. Estes são os principais requisitos para um sistema de visão 3D destinado à fixação de objetos por garras robóticas. Ainda relacionado ao sistema de visão, após a obtenção da nuvem de pontos do objeto, existe a necessidade de se reconstruir a malha do mesmo, e ainda, pode-se também desejar simplificá-la. De forma análoga ao sistema de visão 3D, a reconstrução e a simplificação de malhas 3D constituem linhas de pesquisa de destaque. Neste trabalho, foi utilizado um método de reconstrução de malhas cujo bom desempenho é reconhecido pela literatura, porém, existem algumas restrições e desvantagens, que são tratadas em trabalhos específicos como os trabalhos de Gois (2004) e Polizzeli (2008). Então, deve-se pesquisar e avaliar os métodos de reconstrução de superfícies, afim de apontar o mais apropriado para o caso estudado. Quanto à simplificação de superfícies, o método utilizado foi aquele proposto no Capítulo 6, contudo, novas comparações com outros métodos devem ser realizadas para se verificar aquele que melhor atende aos requisitos dos métodos de fixação 3D. Outras considerações devem ser realizadas em relação as ferramentas necessárias para realizar a fixação do objeto. No desenvolvimento deste trabalho, não foi considerada qual a garra que realizaria a fixação, e desta forma, os métodos foram avaliados em relação a capacidade de determinar pontos de fixação a partir da geometria 3D do objeto somente. Contudo, o cinematismo e a capacidade de movimentação das garras destinadas à fixação devem ser consideradas na determinação dos pontos de contato, pois é desejado que a fixação determinada possa ser executada pela ferramenta selecionada. Para as garras industriais, do tipo pinça e castanha, a simplicidade dos movimentos facilita a determinação da posição das mesmas para realizar a fixação nos pontos determinados. Por outro lado, para as garras antropomórficas, tal como a Kangûera (BENANTE et al., 2007; MASSARO, 2006) que atualmente está em fase de construção, a grande capacidade de movimentação e as inúmeras possibilidades de configuração dificultam a determinação da maneira com que a fixação será executada. Alternativas, complementares aos métodos apresentados no Capítulo 7, podem ser adotadas. Pode-se estimar uma postura da mão mais adequada para o objeto e para a operação, e a partir do espaço de trabalho de cada um dos dedos da garra, pode-se selecionar quais as regiões da superfície do objeto em que a fixação pode ser realizada, e então pode-se determinar os melhores pontos de contato dentro das regiões específicas utilizando o método baseado nas redes de Hopfield, que possibilita o trabalho com apenas algumas regiões do objeto. 9 Conclusões Finais 216 9.3 Conclusões e propostas para o algoritmo de auto-aprendizagem No Capítulo 8, foi apresentado um algoritmo de auto-aprendizagem para a fixação de objetos desconhecidos. O algoritmo é baseado nas RNAs apresentadas nos Capítulos 5 e 7, porém naqueles casos, não havia possibilidade de se melhorar o desempenho das redes por uma mecanismo de auto-aprendizagem. A nova proposta de auto-aprendizagem utiliza um supervisor, um mecanismo de retreinamento, e um critério de parada de aprendizagem. O supervisor avalia a resposta da rede obtida para cada objeto, ou seja, a fixação determinada. A fixação é avaliada em relação à propriedade force-closure, e se a fixação não apresentar a propriedade, ela é denominada como insatisfatória, e inicia-se o processo de aprendizagem da rede através de um mecanismo de retreinamento. Nesta etapa, determinam-se pontos de fixação satisfatórios por uma busca heurística, e a rede neural é retreinada com a nova forma e os padrões de treinamento anteriores. O objetivo do algoritmo proposto é melhorar o desempenho da rede, e para verificar a capacidade de auto-aprendizagem, duas diferentes simulações foram realizadas com extensas bases de dados de objetos 2D e 3D. Na primeira simulação, os objetos da base de dados foram apresentados à rede em uma ordem pré-determinada, e nesta etapa foi permitida a capacidade de auto-aprendizagem. Cada estado intermediário da rede, que sofreu o processo de aprendizagem, foi avaliado. Nesta avaliação, os objetos foram novamente apresentados à rede, porém neste caso a mesma não apresentava a capacidade de auto-aprendizagem, e o número de fixações satisfatórias foi medido. Nesta verificação, foi possível observar que a rede melhora seu desempenho, a partir da avaliação progressiva de cada estado intermediário da rede, o que significa que a adição de formas aos padrões e seqüente retreinamento da rede melhora a capacidade da mesma, não somente em relação àquelas formas adicionadas, mas também em relação a outros objetos, para os quais a rede inicial não era capaz de determinar uma fixação adequada. Este comportamento foi verificado para todos os casos, fixação 2D ou 3D, por dois ou três pontos de contato. Ainda sobre a primeira simulação, foi demonstrado que é possível aprender novas fixações e melhorar o desempenho da rede. Contudo, em uma situação de uso qualquer, a rede não pode ser retreinada indefinidamente, pois cada nova forma adicionada aos padrões ocupa espaço em memória ou em disco rígido, e ainda, a adição de novos padrões aumenta o tempo de retreinamento e de execução da rede neural. Desta forma, deve-se estabelecer um critério de parada de retreinamento, e desta forma, pode-se dizer que existe auto-aprendizagem, pois, o sistema é 9.3 Conclusões e propostas para o algoritmo deauto-aprendizagem 217 capaz de aprender e também de determinar quando a aprendizagem deve ser finalizada. A avaliação de cada estado da rede na primeira simulação é realizada pela contagem de fixações satisfatória dentre as respostas de todos os objetos da base. Este tipo de verificação não pode ser realizada em uma situação prática, pois a mesma demanda tempo de processamento (cerca de duas horas), sendo que o sistema deve avaliar o desempenho da rede por outra medida que deve ser realizada em tempo de execução. Se a rede é capaz de aprender novas fixações, então espera-se que, a medida que novas formas são adicionadas aos padrões e o retreinamento é executado, ocorra aumento do número de objetos apresentados à rede entre cada retreinamento. Assim, na segunda simulação, os objetos foram apresentados aleatoriamente à rede, e o número de objetos apresentados à mesma entre os retreinamentos foi medido. Os resultados obtidos mostram que há aumento significatvo do número de objetos apresentados entre retreinamentos no início dos testes, e que existe um valor limite, que após ser atingido, não há mais melhoria no desempenho. Por outro lado, os tempos de execução e de retreinamento da rede aumentam linearmente a cada retreinamento1 . Com base nestas observações, foi proposto um critério de parada da aprendizagem a partir do tempo de execução e de retreinamento da rede, contudo, outros critérios podem ser mais adequados para determinar qual o melhor momento de parada. Assim, é proposto um estudo sobre qual o melhor critério para finalização da auto-aprendizagem. Por fim, pode-se concluir a partir destes primeiros resultados que o sistema proposto é capaz de aprender novas fixações e determinar o melhor instante de parada. Contudo, novas simulações devem ser realizadas e novas métricas de capacidade de aprendizagem e de limite de retreinamento devem ser estudadas e propostas, a fim de melhor avaliar as capacidades e limitações do algoritmo de auto-aprendizagem proposto. 1 Este comportamento foi verificado para as cinco repetições da segunda simulação. 218 9 Conclusões Finais 219 Referências Bibliográficas ABEL, J.; HOLZMANN, W.; MCCARTHY, J. On grasping planar objects with two articulated fingers. IEEE Journal of Robotics and Automation, v. 1, n. 4, p. 211–214, dez, 1985. ADE, F.; RUTISHAUSER, M.; TROBINA, M. Grasping unknown objects. Modelling and Planning for Sensor Based Intelligent Robot Systems, World Scientific, p. 445–459, 1994. ALLEN, P. K. et al. Integration of vision and force sensors for grasping. Proceedings of the IEEE/SICE/RSJ International Conference on Multisensor, Fusion and Integration for Intelligent Systems, p. 349–356, 1996. ANSARI, N.; HUANG, K. Non-parametric dominant point detection. Pattern Recogn, Elsevier Science Inc., New York, NY, USA, v. 24, n. 9, p. 849–862, 1991. ARAúJO, A. F. R.; TANAKA, J. S. Variação de um modelo de rede neural competitiva de hopfield para aproximação poligonal. Proceedings of the Brazilian Symposium on Neural Networks, p. 193–198, 1995. AROCA, R. V. Análise de Sistemas Operacionais de Tempo Real para Aplicações de Robótica e Automação. Dissertação (Mestrado) — Escola de Engenharia de São Carlos, Universidade de São Paulo, São Carlos, 2008. BACKER, B. S.; FORTUNE, S.; GROSSE, E. Stable prehension with three fingers. Proceedings of the ACM Symposium on Theory of Computing, p. 114–120, 1985. BALLESTER, G. R. Visual determination, tracking and execution of 2D grasping using a behavior-inspired approach. Tese (Doutorado) — Departament d’Enginyeria I Ciènces dels Computadors, Universitat Juame I, Castelló, Espanha, 2003. BARBER, C. B.; DOBKIN, D. P.; HUHDANPAA, H. T. The quickhull algorithm for convex hulls. ACM Transactions on Mathematical Software, v. 22, n. 4, p. 469–483, set 1996. BENANTE, R. C. et al. A self-organizing state trajectory planner applied to an anthropomorphic robot hand. Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, p. 3082–3087, 2007. BENDIKSEN, A.; HAGER, G. D. A vision-based grasping system for unfamiliar planar objects. Proceedings of the IEEE International Conference on Robotics and Automation, p. 2844–2849, 1994. BICCHI, A.; KUMAR, V. Robotic grasping and manipulation. Springer-Verlag, Berlin Heidelberg, Germany, v. 270, p. 55–74, 2001. 220 Referências Bibliográficas BLEY, F.; SCHMIRGEL, V.; KRAISS, K.-F. Mobile manipulation based on generic object knowledge. Proceeding of the IEEE International Symposium on Robot and Human Interactive Communication, p. 411–416, set 2006. BOISSONNAT, J.-D. Stable matching between a hand structure and an object silhouette. IEEE Transactions on Pattern Analysis and machine intelligence, v. 1, n. 6, p. 603–612, nov, 1982. BORST, C.; FISCHER, M.; HIRZINGER, G. A fast and robust grasp planner for arbitrary 3d objects. Proceedings of the IEEE Internetional Conference on Robotics and automation, p. 1890–1896, mai, 1999. CHEN, I.-M.; BURDICK, J. W. Fiding antipodal point grasps on irregularly shaped objects. IEEE Transactions on Robotics and Automation, v. 9, n. 4, p. 507–512, 1992. CHUNG, P.-C. et al. Polygonal approximation using a competitive hopfield neural network. Pattern Recognition, v. 27, n. 11, p. 1505–1512, 1994. CIAMPALINI, A. et al. Multiresolution decimation based on global error. The Visual Computer, v. 13, n. 5, p. 228–246, 1997. CIGNONI, P.; MONTANI, C.; SCOPIGNO, R. A comparison of mesh simplification algorithms. Computers and Graphics, v. 22, n. 1, p. 37–54, 1998a. CIGNONI, P.; ROCCHINI, C.; SCOPIGNO, R. Metro: Measuring error on simplified surfaces. Computer Graphics Forum, v. 17, n. 2, p. 167–174, 1998b. COHEN, J. et al. Simplification envelopes. ACM, New York, NY, USA, p. 119–128, 1996. CORNIC, P. Another look at the dominant point detection of digital curves. Pattern Recognition Letters, Elsevier Science Inc., New York, NY, USA, v. 18, n. 1, p. 13–25, 1997. CORNIN, T. M. A boundary concavity code to support dominant point detection. Pattern Recognition Letters, v. 20, p. 617–634, 1999. CRAIG, J. J. Introduction to Robotics: Mechanics and Control. Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc., 2005. CUTKOSKY, M. R. Robotic Grasping and Fine Manipulation. Hingham, MA, USA: Kluwer Academic Publishers, 1985. DAMIAN, E. L.; SIDOBRE, D.; ALAMI, R. A grasp planner based on inertial properties. Proceedings of the IEEE International Conference on Robotics and Automation, p. 754–759, apr, 2005. DENAVIT, J.; HARTEMBERG, R. S. Kinematic notation for lower-pair mechanisms based on matrices. Transactions of the ASME, Journal of Applied Mechanics, v. 23, p. 215–221, 1955. ETTLIN, A.; BUCHLER, P.; BLEULER, H. A simulation environment for robot motion planning. Proceedings of the IEEE International Workshop on Robot Motion and Control, p. 277–282, jun 2005. Referências Bibliográficas 221 FERNANDES, L. A. F. Estudo de métodos para extração de formas e realização de medidas a partir de imagens. Relatório técnico - Universidade Federal do Rio Grande do Sul, 2005. FERRARI, C.; CANNY, J. Planning optimal grasps. Proceedings of the EEE International Conference on Robotics and Automation, v. 3, p. 2290–2295, mai 1992. FISCHER, M.; HIRZINGER, G. Fast planning of precision grasps for 3d objects. Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, p. 120–126, 1997. GARLAND, M.; HECKBERT, P. S. Surface simplification using quadric error metrics. ACM Press/Addison-Wesley Publishing Co., New York, NY, USA, p. 209–216, 1997. GOIS, J. P. Reconstrução de superfícies a partir de nuvens de pontos. Dissertação (Mestrado) — Instituto de Ciências Matemáticas e de Computação, Universidade de São Paulo, São Carlos, 2004. HAIDACHER, S. Estimating Finger Contact and Object Pose from Contact Measurements in 3-D Grasping. Tese (Doutorado) — Institut für Robotik und Mechatronik, 2004. HANAFUSA, H.; ASADA, M. Stable prehension by a robot hand with elastic fingers. Proceedings of the Symposiun on Industrial Robots, p. 361–368, 1977. HAUCK, A. et al. Visual determination of 3d grasping points on unknown objects with a binocular camera system. Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, v. 1, p. 272–278, 1999. HIGDON, A. et al. Mecânica. 2. ed. [S.l.]: Prentice-Hall do Brasil, 1984. HOPFIELD, J. J. Neural network and physical systems with emergent collective computational abilities. Proceedings of the National Academy of Science, n. 79, p. 2554–2558, 1982. HOPPE, H. Progressive meshes. ACM, New York, NY, USA, p. 99–108, 1996. HOPPE, H. et al. Mesh optimization. ACM, New York, NY, USA, p. 19–26, 1993. HUANG, S. C.; SUN, Y. N. Polygonal approximation using genetic algorithms. Pattern Recognition, v. 32, n. 8, p. 1409–1420, Ago 1999. IFR. World Robotics 2007, 2007. Disponível em: <http://www.worldrobotics.org>. Acesso em: 31 mai. 2008. KAMON, I.; FLASH, T.; EDELMAN, S. Learning to Grasp Using Visual Information. Jerusalem, Israel, 1994. KIRKPATRIC, D. G.; MISHRA, B.; YAP, C. K. Quantitative steinitz’s theorems with applications to multifingered granping. Proceedings of the ACM Symposium on Theory of Computing, p. 17–29, mai 1990. 222 Referências Bibliográficas KRAGIC, D.; MILLER, A. T.; ALLEN, P. K. Real-time tracking meets online grasp planning. Proceedings of the IEEE International Conference on Robotics and Automation, p. 2460–2465, 2001. LAKSHMINARAYANA, K. Mechanics of form closure. ASME Techinical Report, p. 1–8, 1978. LEE, H.-K.; KIM, M.-H.; LEE, S.-R. Determination of 3d grasping points using stereo matching and neural network. Proceedings of SPIE Optomechatronic Systems III, v. 4902, p. 285–294, 2002. LEE, H.-K.; LEE, S.-R. 3d optimal determination of grasping points with whole geometrical modeling for unknown objects. Sensors and Actuators A: Physical, v. 107, p. 146–151, oct 2003. MARJI, M.; SIY, P. A new algorithm for dominant points detection and polygonization of digital curves. Pattern Recognition, v. 36, n. 10, p. 2239–2251, 2003. MARJI, M.; SIY, P. Polygonal representation of digital planar curves through dominant point detection - a nonparametric algorithm. Pattern Recognition, v. 37, n. 11, p. 2113–2130, 2004. MARKENSKOFF, X.; PAPADIMITRIOU, C. H. Optimum grip of a polygon. The International Journal of Robotics Research, v. 8, n. 2, p. 17–29, abr 1989. MARQUES, M. H. D. Algoritmo de auxílio de percepção de objetos para robôs de serviço : uso de hipóteses de contato entre o objeto e mão robótica. Dissertação (Mestrado) — Escola de Engenharia de São Carlos, Universidade de São Paulo, São Carlos, 2008. MASON, M. T. Mechanics of robotic manipulation. Cambridge, MA, USA: MIT Press, 2001. MASSARO, L. C. Implementação de Técnicas de Controle Robusto Multiváriavel ao Posicionamento de uma Mão Robótica Artificial. São Paulo: EESC-USP, 2006. 103 p. (Relatório técnico, Processo FAPESP 2006/06453-2). MILLER, A. T.; ALLEN, P. K. Examples of 3d grasp quality computations. Proceedings of the IEEE International Conference on Robotics and Automation, p. 1240–1246, 1999. MILLER, A. T.; ALLEN, P. K. Graspit! a versatile simulator for robotic grasping. IEEE Robotics & Automation Magazine, v. 11, n. 4, p. 110–122, dez 2004. MILLER, A. T. et al. Automatic grasp planning using shape primitives. Proceedings of the IEEE International Conference on Robotics and Automation, p. 1824–1829, 2003. MORALES, A. et al. Integrated grasp planning and visual object localization for a humanoid robot with five-fingered hands. International Conference on Intelligent Robots and Systems, p. 5663–5668, 2006b. MORALES, A. et al. Heuristic vision-based computation of planar antipodal grasps on unknown objects. Proceedings of the IEEE International Conference on Robotics and Automation, p. 583–588, 2001. Referências Bibliográficas 223 MORALES, A. et al. Vision-based three-finger grasp synthesis constrained by hand geometry. Journal of Robotics and Autonomous Systems, v. 54, n. 6, p. 496–512, 2006. MURRAY, R. M.; SASTRY, S. S.; ZEXIANG, L. A Mathematical Introduction to Robotic Manipulation. Boca Raton, FL, USA: CRC Press, Inc., 1994. NGUYEN, V.-D. Constructing force-closure grasps. International Journal of Robotics Research, Sage Publications, Inc., Thousand Oaks, CA, USA, v. 7, n. 3, p. 3–16, 1988. ISSN 0278-3649. OKABE, A. et al. Spatial Tessellations Concepts and Applications of Voronoi Diagrams. Second. [S.l.]: John Wiley & Son, 2000. PEDRO, L. M.; CAURIN, G. A. P. Algoritmo de rápido processamento baseado em redes neurais artificiais para fixação de objetos desconhecidos por garras robóticas. Revista Minerva, v. 4, n. 2, p. 189–200, jan 2008. PFEIFFER, F. Grasping with hidraulic fingers - an example of mecatronics. IEEE/ASME Transaction on mechatronics, v. 1, n. 2, p. 158–167, 1996. POLIZZELI, V. Métodos implícitos para a reconstrução de superfícies a partir de nuvens de pontos. Dissertação (Mestrado) — Instituto de Ciências Matemáticas e de Computação, Universidade de São Paulo, São Carlos, 2008. PONCE, J. et al. On characterizing and computing three- and four-finger force-closure grasps of polyhedral objects. Proceedings og the IEEE International Conference on roboticas and Automation, v. 2, p. 821–827, 1993. RAY, B. K.; RAY, K. S. An algorithm for detection of dominant points and polygonal approximation of digitized curves. Pattern Recognition Letters, Elsevier Science Inc., New York, NY, USA, v. 12, p. 849–856, 1992a. RAY, B. K.; RAY, K. S. Detection of significant points and polygonal approximation of digitized curves. Pattern Recognition Letters, Elsevier Science Inc., New York, NY, USA, v. 13, n. 6, p. 443–452, 1992b. REULEAUX, F. The Kinematics of Machinery: Outlines of a Theory of Machines. New York, USA: Dover Publications, 1986. ROSENFELD, A.; WESZKA, J. S. An improved method of angle detection on digital curves. IEEE Trans. Computers, v. 24, n. 9, p. 940–941, 1975. SALISBURY, J. K. Kinematic and force analysis of articulated hands. Tese (Doutorado) — Stanford University, 1982a. SANZ, P. et al. Grasping the not-so-obvious: vision-based object handling for industrial applications. IEEE Robotics and Automation Magazine, v. 12, n. 3, p. 44–52, sep 2005. SANZ, P. J. et al. Vision-guided grasping of unknown objects for service robots. Proceedings of IEEE International Conference on Robotics and Automation, p. 3018–3025, 1998. 224 Referências Bibliográficas SARKAR, D. A simple algorithm for detection of significant vertices for polygonal approximation of chain-coded curves. Pattern Recognition Letters, Elsevier Science Inc., New York, NY, USA, v. 14, n. 12, p. 959–964, 1993. ISSN 0167-8655. SAXENA. Fotos de objetos do cotidiano, 2006. Disponível em: <http://ai.stanford.edu/ asaxena/learninggrasp/data.html>. Acesso em: 23 mai. 2008. SAXENA, A. et al. Learning to grasp novel objects using vision. Proceedings of the International Symposium of Experimental Robotics, 2006. SCHROEDER, W. J.; ZARGE, J. A.; LORENSEN, W. E. Decimation of triangle meshes. SIGGRAPH Computer Graphics, ACM, New York, NY, USA, v. 26, n. 2, p. 65–70, 1992. ISSN 0097-8930. SOUZA, C. E. T. Simplificação de Superfícies Utilizando Redes Neurais Artificiais. São Paulo: EESC-USP, 2007. 88 p. (Relatório técnico, Processo FAPESP 2006/01016-4). TAYLOR, M.; BLAKE, A.; COX, A. Visually guided grasping in 3d. Proceedings of the IEEE International Conference on Robotics and Automation, p. 761–766, may, 1994. TEH, C. H.; CHIN, R. T. On the detection of dominant points on digital curves. IEEE Trans. Pattern Anal. Mach. Intell., IEEE Computer Society, Washington, DC, USA, v. 11, n. 8, p. 859–872, 1989. VALENTE, C. M. O. Fixação de objetos de formato geométrico desconhecido utilizando redes neurais artificiais. Dissertação (Mestrado) — Escola de Engenharia de São Carlos, Universidade de São Paulo, São Carlos, 1999. VISCHER, D. Cooperating robot with visual and tactile skills. Proceedings of the IEEE International Conference on Robotics and Automation, v. 3, p. 2018–2025, 1992. WANG, B. et al. Grasping unknown objects based on 3d model reconstruction. Proceedings of the IEEE/ASME International Conference on Advanced Intelligent Mechatronics, 2005. WU, W. Y. An adaptive method for detecting dominant points. v. 36, n. 10, p. 2231–2237, out, 2003. XU, G.; SCHERRER, H.; SCHWEITZER, G. Application of neural networks on robot grippers. Proceedings of the IEEE International Joint Conference on Neural Networks, v. 3, n. 4, jun, 1990. YAMAZAKI, K. et al. A grasp planning for picking up an unknown object for a mobile manipulator. Proceedings of the IEEE International Conference on Robotics and Automation, p. 2143–2148, mai 2006. 225 APÊNDICE A -- Processamento de imagens A.1 Justificativa e descrição do método Para que um sistema robótico seja capaz de fixar um objeto desconhecido, é necessário que as principais características do objeto sejam adquiridas de alguma maneira pelo sistema. Conforme discutido no texto desta Dissertação, a melhor forma de se fixar um objeto é determinada a partir da geometria tridimensional, dentre outras características geométricas do objeto. Entretanto, os sistemas de visão tridimensionais ainda apresentam alto custo de instalação e não permitem processamento da informação em velocidade adequadas para as aplicações de fixação. Por outro lado, a extração da forma do objeto a partir de imagens adquiridas por câmeras apresenta-se como uma solução satisfatória quanto ao custo de instalação e manutenção, quanto à velocidade de processamento, e quanto à capacidade de se trabalhar com uma grande variedade de objetos. A extração da forma do objeto, e de outras características geométricas, a partir de uma imagem adquirida por uma câmera, é realizada pela utilização de técnicas de processamento de imagens sobre uma matriz bidimensional de pixels, que representa a cena, capturada pela câmera, na qual está localizado o objeto. Diferentes técnicas e algoritmos podem ser utilizados a fim de se extrair estas características específicas. Muitos pesquisadores dedicam-se à pesquisa destes algoritmos, e diversos e diferentes algoritmos podem ser utilizados com a finalidade de se extrair a forma do objeto, para a determinação de uma fixação ou para a manipulação dos mesmos. Dentre as diferentes técnicas de processamento de imagens desenvolvidas e propostas pelos autores, desta área específica da ciência ou não, interessa-se por aquelas capazes de extrair o contorno de um objeto presente em uma cena. O método de procesamento da imagem adotado neste trabalho baseia-se nos resultados obtidos por Valente (1999) e Sanz et al. (2005). O método consiste em duas etapas distintas: a primeira etapa é a localização do objeto na A 226 imagem e sua segmentação, ou seja, separação da região do objeto do restante da imagem, e a segunda etapa é a extração da forma do objeto representada pelo contorno da região segmentada na etapa anterior. A primeira etapa do processamento da imagem consiste na segmentação da imagem em duas regiões, uma região representa o fundo da imagem e outra região representa o objeto. Uma das maneiras de se segmentar imagens é dada segundo o algoritmo de Otsu. Este algoritmo divide a imagem em duas regiões, a partir de uma análise estatística do histograma da imagem da cena em tons de cinza. O algoritmo calcula um limiar que define a divisão da imagem da seguinte maneira: os pixels que apresentarem tom de cinza abaixo do limiar calculado pertencem ao objeto e recebem o valor binário 0, os demais pertencem ao fundo da imagem e recebem o valor binário 1. Desta maneira, o algoritmo de Otsu por vezes é chamado de binarização de Otsu. O algoritmo apresenta bons resultados para imagens que apresentam histograma com regiões distintas entre o objeto e o fundo da imagem. A Figura A.1 mostra o histograma de duas imagens de objetos. Figura A.1: Histograma de imagens. A.2 Resultados obtidos 227 Após a etapa de segmentação, ou binarização, da imagem, a borda do objeto, que representa sua forma, deve ser extraída. Valente (1999) estuda diversos métodos de detecção de borda, e aponta como o mais adequado para a aplicação o método do vizinho mais próximo. Os resultados apresentados por Valente (1999), mostram que outros métodos são capazes de extrair a borda do objeto, contudo, muitos apresentam resultados com ruídos e não extraem uma borda fechada do objeto. Pela necesidade de se extrair somente uma borda fechada da área segmentada, sem ruídos e com espessura de um único pixel, o método apontado, como o único que atendeu os requisitos, foi o método do vizinho mais próximo. Desta maneira, de uma forma resumida, a processamento da imagem consiste em uma etapa de segmentação do objeto, e outra de extração do contorno do objeto. A.2 Resultados obtidos O método adotado neste trabalho, composto pelo algoritmo de binarização por Otsu e pela extração do contorno do objeto pelo método do vizinho mais próximo, foi implementado no ambiente de desenvolvimento Matlab e testes foram realizados com as imagens utilizadas nas simulações dos algoritmos de fixação 2D do Capítulo 5. As Figuras A.2, A.3 e A.4 mostram a imagem original, a imagem segmentada e a borda extraída. (a) (b) Figura A.2: Resultado do processamento da imagem. Da esquerda para a direita: imagem original, imagem binarizada e o contorno extraído (parte 1 de 3). A 228 (a) (b) (c) (d) (e) Figura A.3: Resultado do processamento da imagem. Da esquerda para a direita: imagem original, imagem binarizada e o contorno extraído (parte 2 de 3). A.2 Resultados obtidos 229 (a) (b) (c) (d) (e) Figura A.4: Resultado do processamento da imagem. Da esquerda para a direita: imagem original, imagem binarizada e o contorno extraído (parte 3 de 3). A 230 Os tempos de processamento das imagens foram medidos e estão sumarizados na Tabela A.1. Tabela A.1: Tabela dos tempos da etapa de processamento das imagems utilizadas nas simulações do algoritmo de fixação 2D proposto no Capítulo 5. Figura A.2(a) Figura A.2(b) Figura A.3(a) Figura A.3(b) Figura A.3(c) Figura A.3(d) Figura A.3(e) Figura A.4(a) Figura A.4(b) Figura A.4(c) Figura A.4(d) Figura A.4(e) Tempo de processamento [s] 0,074725 0,092710 0,091121 0,119825 0,104295 0,110208 0,102121 0,080964 0,106727 0,078304 0,101178 0,144116 A.3 Considerações sobre o método de processamento de imagens adotado Foram satisfatórios os resultados obtidos com o método de processamento de imagens adotado. Quanto ao tempo de processamento, as medições nas simulações com imagens reais mostram que os tempos são adequados para aplicações em robótica. Quanto à qualidade das respostas, verificou-se que para as imagens com contraste entre o fundo o objeto, o algoritmo foi eficiente, ou seja, a segmentação e a extração da borda do objeto foram bem sucedidas. Apesar dos resultdos satisfatórios obtidos, algumas ressalvas devem ser consideradas. O principal ponto negativo do método refere-se a etapa de segmentação da imagem. O algoritmo é ineficiente nos casos em que não existe no histograma da imagem uma divisão bem definida entre o fundo da imagem e o objeto, ou seja, o tom do objeto, ou sua textura, é semelhante ao fundo da imagem. Como solução pode-se adotar outros algoritmos de segmentação, utilizar métodos de pré-processamento a fim de ajustar o brilho e o contraste da imagem. Ainda quanto à etapa de segmentação da imagem, existem ambientes onde não há controle de iluminação, principalmente nos ambientes fabrís, podendo haver sombras indesejadas e até iluminação insuficiente. Nestes casos a segmentação pode também ocorrer de forma indesejada, e a utilização de fontes de luz auxiliares, como lanternas e luz polarizada, podem promover melhores resultados. 231 APÊNDICE B -- Tabelas do Capítulo 4 As Tabelas B.1 e B.2 mostram os resultados obtidos pelos autores Rosenfeld e Weszka (1975), Teh e Chin (1989), Ansari e Huang (1991), Chung et al. (1994), Ray e Ray (1992a), Ray e Ray (1992b), Cornic (1997), Wu (2003), Marji e Siy (2003), Marji e Siy (2004), Sarkar (1993) e Huang e Sun (1999), na aproximação poligonal das formas Leaf Shape, Chromossome Shape e Semi-circle Shape da Figura 4.6. Tabela B.1: Tabela de resultados de algoritmos de aproximação poligonal (parte 1 de 2). Curva Leaf n=120 pontos Método Rosenfeld e Weszka (1975) Teh e Chin (1989)(k-cosine) Teh e Chin (1989)(k-curvature) Ansari e Huang (1991) Chung et al. (1994) Ray e Ray (1992a) Ray e Ray (1992b) Cornic (1997) Wu (2003) Marji e Siy (2003) Marji e Siy (2003)(suppressed) Sarkar (1993) Cornin (1999) Huang e Sun (1999) Araújo e Tanaka (1995) m 18 29 28 30 28 32 32 23 22 21 23 28 24 28 TC 6,667 4,138 4,286 4,000 4,286 3,750 3,750 5,217 5,455 5,714 5,217 4,286 5,000 4,286 EQ 30,570 14,960 15,430 25,570 12,310 14,718 14,180 20,340 13,210 14,150 13,170 7,300 14,030 10,940 EM 1,530 0,990 0,990 2,130 0,960 0,996 0,990 1,000 0,780 0,780 0,780 0,740 0,340 1,000 EQp 4,586 3,615 3,600 6,393 2,872 3,925 3,781 3,899 2,422 2,476 2,524 1,703 2,806 2,553 EMp 0,230 0,239 0,231 0,533 0,224 0,266 0,264 0,192 0,143 0,137 0,150 0,173 0,068 0,233 Apêndice B -- Tabelas do Capítulo 4 232 Tabela B.2: Tabela de resultados de algoritmos de aproximação poligonal (parte 2 de 2). Curva Chromosome n=60 pontos Semicircle n=102 pontos Método Rosenfeld e Weszka (1975) Teh e Chin (1989)(k-cosine) Teh e Chin (1989)(k-curvature) Ansari e Huang (1991) Chung et al. (1994) Ray e Ray (1992a) Ray e Ray (1992b) Cornic (1997) Wu (2003) Marji e Siy (2003) Marji e Siy (2003)(suppressed) Sarkar (1993) Cornin (1999) Huang e Sun (1999) Araújo e Tanaka (1995) Rosenfeld e Weszka (1975) Teh e Chin (1989)(k-cosine) Teh e Chin (1989)(k-curvature) Ansari e Huang (1991) Chung et al. (1994) Ray e Ray (1992a) Ray e Ray (1992b) Cornic (1997) Wu (2003) Marji e Siy (2003) Marji e Siy (2003)(suppressed) Sarkar (1993) Cornin (1999) Huang e Sun (1999) Araújo e Tanaka (1995) m 14 22 22 28 22 18 18 17 17 12 11 19 17 15 22 12 15 16 16 16 29 27 30 27 26 18 19 30 18 19 TC 4,286 2,727 2,727 2,143 2,727 3,333 3,333 3,529 3,529 5,000 5,455 3,158 3,529 4,000 2,727 8,500 6,800 6,375 6,375 6,375 3,517 3,778 3,400 3,778 3,923 5,667 5,368 3,400 5,667 5,368 EQ 59,120 20,610 20,610 17,830 12,360 5,566 4,810 5,540 5,010 8,080 9,960 3,857 3,180 4,520 2,720 22,610 7,200 5,910 20,250 7,710 11,820 11,500 9,190 9,010 9,010 24,020 17,370 2,910 12,520 17,950 EM EQp EMp 1,560 13,795 0,364 1,000 7,557 0,367 1,000 7,557 0,367 1,260 8,321 0,588 1,060 4,532 0,389 0,707 1,670 0,212 0,650 1,443 0,195 0,860 1,570 0,244 0,640 1,420 0,181 0,895 1,616 0,179 0,900 1,826 0,165 0,550 1,221 0,174 0,630 0,901 0,179 0,350 1,130 0,088 0,510 0,997 0,187 1,580 2,660 0,186 0,740 1,059 0,109 0,710 0,927 0,111 2,000 3,176 0,314 1,150 1,209 0,180 0,833 3,361 0,237 0,880 3,044 0,233 0,880 2,703 0,259 0,830 2,385 0,220 0,740 2,297 0,189 1,000 4,239 0,176 1,450 3,236 0,270 0,490 0,856 0,144 0,740 2,209 0,131 1,360 3,344 0,253 Apêndice B -- Tabelas do Capítulo 4 233 As aproximações realizadas pelos autores das Tabelas B.1 e B.2 acima foram realizadas com o algoritmo proposto de aproximação poligonal do Capítulo 4, os resultados obtidos estão na Tabela B.3 a seguir. Tabela B.3: Tabela de resultados do algoritmo proposto para a aproximação poligonal. Curva Leaf shape 120 pontos m 18 21 22 23 24 28 29 30 32 Chromosome shape 11 60 pontos 12 14 15 17 18 19 22 28 Semi-circle shape 12 102 pontos 15 16 18 19 26 27 29 30 TC 6,666 5,714 5,454 5,217 5,000 4,285 4,137 4,000 3,750 5,454 5,000 4,285 4,000 3,529 3,333 3,157 2,727 2,142 8,500 6,800 6,375 5,666 5,368 3,923 3,777 3,517 3,400 EQ 33,580 25,950 24,590 11,080 11,190 8,790 7,660 6,820 6,800 11,570 8,020 5,690 5,320 4,970 3,960 3,600 2,390 1,980 31,510 27,580 25,220 16,190 16,190 8,110 7,270 6,870 6,870 EM 2,680 2,360 2,360 0,970 0,970 1,000 1,000 1,000 1,000 1,480 0,930 0,810 0,813 0,930 0,930 0,930 0,510 0,550 1,360 1,360 1,360 1,360 1,360 1,000 1,000 1,000 1,000 EQp 5,037 4,541 4,508 2,123 2,238 2,051 1,851 1,705 1,813 2,121 1,604 1,327 1,330 1,408 1,188 1,140 0,876 0,924 3,707 4,055 3,956 2,960 3,020 2,067 1,924 1,953 2,020 EMp 0,402 0,413 0,432 0,185 0,194 0,233 0,241 0,250 0,266 0,271 0,186 0,189 0,203 0,263 0,279 0,294 0,187 0,256 0,160 0,200 0,213 0,240 0,250 0,254 0,264 0,284 0,294 234 Apêndice B -- Tabelas do Capítulo 4 235 APÊNDICE C -- Tabelas do Capítulo 6 No Capítulo 6 duas simulações são realizadas para avaliar o comportamento da rede na simplificação dos modelos Bunny e Fandisk. No primeiro experimento verifica-se o desempenho da rede em função do limiar de mínima energia Umin utilizado na etapa iterativa da rede. Diferentes porcentagens de simplificação são realizadas para ambos os modelos, para cada porcentagem de simplificação, o valor de Umin é variado de 0 a 2.5. Para cada simplificação, foram medidos o erro máximo Emax e o erro médio quadrático, assim como o tempo de processamento. Os valores obtidos encontram-se nas Tabelas a seguir. Tabela C.1: Valores dos erros de silplificação Emax e Emed e do tempo de processamento para diferentes porcentagens de simplificação e limiar de energia Umin para o modelo Bunny. Aproximação de 50% Aproximação de 25% Aproximação de 10% Umin Emax Emed tempo(s) Emax Emed tempo(s) Emax Emed tempo(s) 0 0,1672 0,0012 347,133 0,3876 0,0039 483,836 0,4219 0,0101 565,7230 0,2 0,5404 0,0039 77,4513 0,3767 0,0095 128,855 0,3822 0,0168 173,5104 0,4 0,5404 0,0045 67,4974 0,3757 0,0115 108,756 0,3875 0,0230 148,9833 0,6 0,3812 0,0046 64,0983 0,7719 0,0136 100,062 0,7638 0,0282 134,3022 0,8 0,3812 0,0047 60,2655 0,7719 0,0143 94,0924 0,3903 0,0290 125,1765 1 0,3812 0,0047 58,2909 0,3876 0,0137 90,8525 0,8245 0,0326 119,8143 1,2 0,3812 0,0047 58,2909 0,3876 0,0137 90,8525 0,8245 0,0326 119,8143 1,4 0,3812 0,0047 56,5945 0,3876 0,0147 87,7936 0,6708 0,0358 114,6069 1,6 0,3812 0,0047 56,3689 0,3876 0,0150 87,1779 0,3841 0,0370 112,8851 1,8 0,3812 0,0047 56,3255 0,3876 0,0153 86,8228 0,3810 0,0378 111,7603 2 0,3812 0,0047 56,3620 0,3876 0,0154 86,6014 0,3890 0,0387 110,4562 2,2 0,3812 0,0048 56,2278 0,3876 0,0155 86,2516 0,7305 0,0406 109,8475 2,4 0,3812 0,0048 56,2864 0,3767 0,0156 86,1727 0,4209 0,0397 109,1248 236 Apêndice C -- Tabelas do Capítulo 6 Umin 0 0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 2 2,2 2,4 Tabela C.2: Continuação da Tabela C.1. Aproximação de 5% Aproximação de 1% Emax Emed tempo(s) Emax Emed tempo(s) 0,7422 0,0209 591,5694 1,1461 0,0808 613,4748 0,6232 0,0247 193,8970 1,7085 0,1045 215,7642 0,3844 0,0319 167,4336 2,6541 0,1077 187,9055 0,7723 0,0385 151,8723 1,9788 0,1124 171,2991 0,7265 0,0419 141,7764 1,1402 0,1194 160,5178 0,6500 0,0485 135,0200 1,3549 0,1086 153,4926 0,6500 0,0485 135,0200 1,3549 0,1086 153,4926 0,7002 0,0541 128,4324 2,5570 0,1279 145,9008 0,8829 0,0550 126,5216 0,6255 0,1184 142,6141 0,6324 0,0553 124,5948 0,9656 0,1237 140,9897 0,4726 0,0590 122,7152 1,8028 0,1303 138,4124 0,6703 0,0611 121,7789 0,9547 0,1273 137,5533 0,6848 0,0617 120,9533 2,4819 0,1224 137,1750 Tabela de dados de simplificação para o modelo Bunny. Aproximação de 0.5% Emax Emed tempo(s) 1,8185 0,1643 616,4467 1,8776 0,1678 218,5703 2,1437 0,1782 190,7209 1,9537 0,1937 174,4189 2,0410 0,1884 163,4587 1,4765 0,1720 156,4062 1,4765 0,1720 156,4062 1,0327 0,1606 148,9379 1,5827 0,1769 146,1579 1,0585 0,1683 144,1551 1,0040 0,1850 141,9164 1,0778 0,1900 140,9417 1,8506 0,1749 138,5068 Apêndice C -- Tabelas do Capítulo 6 237 Tabela C.3: Valores dos erros de silplificação Emax e Emed e do tempo de processamento para diferentes porcentagens de simplificação e limiar de energia Umin para o modelo Fandisk. Aproximação de 50% Aproximação de 25% Aproximação de 10% Umin Emax Emed tempo(s) Emax Emed tempo(s) Emax Emed tempo(s) 0 0,3244 0,0014 25,6091 0,2001 0,0033 38,0612 0,2490 0,0137 46,0759 0,2 0,3207 0,0015 19,7536 0,2895 0,0045 35,9495 0,3246 0,0144 43,8141 0,4 0,5720 0,0034 15,4886 0,1991 0,0041 24,2801 0,2413 0,0148 32,2575 0,6 0,2751 0,0041 14,3757 0,2947 0,0066 22,6297 0,2828 0,0165 29,2346 0,8 0,2941 0,0043 14,5231 0,1720 0,0068 22,4315 0,1747 0,0155 29,7090 1 0,5819 0,0059 14,4002 0,2535 0,0080 22,4104 0,2191 0,0167 28,9227 1,2 0,1454 0,0048 14,0044 0,1403 0,0079 21,4099 0,1985 0,0156 28,1243 1,4 0,4488 0,0059 14,0660 0,2094 0,0091 21,2250 0,2191 0,0142 28,7185 1,6 0,4386 0,0064 14,0307 0,4386 0,0103 21,7541 0,3236 0,0151 28,2823 1,8 0,3343 0,0067 13,7204 0,1984 0,0078 21,5372 0,2423 0,0150 28,3540 2 0,2624 0,0069 13,4530 0,1792 0,0101 21,1588 0,3058 0,0165 27,3021 2,2 0,3180 0,0066 13,6826 0,3099 0,0098 21,4038 0,2327 0,0146 27,9037 2,4 0,3109 0,0074 13,2443 0,2988 0,0111 21,0347 0,3958 0,0167 26,7654 2,6 0,3310 0,0074 13,3550 0,2796 0,0119 21,2856 0,2188 0,0167 26,4423 Tabela de dados de simplificação para o modelo Fandisk. 238 Apêndice C -- Tabelas do Capítulo 6 Umin 0 0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 2 2,2 2,4 2,6 Tabela C.4: Continuação da Tabela C.3. Aproximação de 5% Aproximação de 1% Emax Emed tempo(s) Emax Emed tempo(s) 0,2613 0,0322 48,9575 0,4940 0,0931 51,2130 0,2858 0,0298 46,8966 0,5214 0,1074 49,0050 0,3221 0,0328 35,0476 0,5364 0,0984 37,3104 0,2931 0,0332 32,1259 0,5262 0,0962 35,4479 0,2974 0,0313 31,7793 0,5086 0,0937 34,1710 0,2882 0,0314 31,8899 0,5497 0,0942 35,1330 0,2455 0,0319 30,9557 0,5589 0,0953 33,2999 0,3093 0,0349 30,3907 0,5576 0,0851 34,4721 0,3570 0,0280 31,3672 0,4858 0,0888 33,8476 0,2946 0,0304 31,6631 0,5103 0,0940 34,2575 0,3499 0,0297 30,8256 0,5503 0,0860 33,6051 0,2619 0,0294 31,3037 0,4210 0,0811 33,8395 0,3112 0,0291 30,5095 0,5187 0,0995 33,2071 0,2846 0,0309 30,1710 0,5471 0,0961 33,1513 Tabela de dados de simplificação para o modelo Fandisk. Apêndice C -- Tabelas do Capítulo 6 239 240 Apêndice C -- Tabelas do Capítulo 6 Tabela C.5: Resultados obtidos na simplificação do Modelo Bunny (34834 vertices, 69451 triângulos) para o método proposto, e para os outros métodos (parte 1 de 2). Hopfield Mesh Simplification (Proposto) Nvert Ntriang Emax Emed 17417(50%) 34726 0,167200 0,001200 8709(25%) 17360 0,387600 0,003900 3483(10%) 6947 0,421900 0,010100 1742(5%) 3480 0,742200 0,020900 (2%) 348(1%) 690 1,141600 0,080800 Mesh Decimation (SCHROEDER et al., 1992) Nvert Ntriang Emax Emed 17566(50%) 34965 0,161400 0,007350 8705(25%) 17267 0,258600 0,019470 3505(10%) 6900 0,521200 0,057910 1775(5%) 3451 1,200000 0,162000 701(2%) 1389 2,072100 0,342300 344(1%) 678 3,311700 0,646300 Simplification envelopes (COHEN et al., 1996) Nvert Ntriang Emax Emed 17418(50%) 34643 0,020890 0,004140 8709(25%) 17252 0,041540 0,011740 3472(10%) 6801 0,088130 0,031170 1763(5%) 3395 0,162900 0,060660 678(2%) 1301 0,380200 0,142300 355(1%) 672 0,759900 0,283800 Multiresolution decimation (CIAMPALINI et al., 1997) Nvert Ntriang Emax Emed 17417(50%) 34679 0,022400 0,003600 8708(25%) 17289 0,043800 0,009700 3483(10%) 6874 0,094800 0,024200 1741(5%) 3408 0,169700 0,045900 696(2%) 1358 0,351900 0,099700 348(1%) 674 0,614100 0,181000 Mesh optimization (HOPPE et al., 1993) Nvert Ntriang Emax Emed 17410(50%) 34643 0,296800 0,009960 8699(25%) 17279 0,036680 0,010640 3501(10%) 6956 0,296400 0,015540 1758(5%) 3491 0,366600 0,024150 686(2%) 1347 0,426200 0,048460 349(1%) 676 0,840700 0,082650 Apêndice C -- Tabelas do Capítulo 6 241 Tabela C.6: Resultados obtidos na simplificação do Modelo Bunny (34834 vertices, 69451 triângulos) para o método proposto, e para os outros métodos (parte 2 de 2). Progressive meshes (HOPPE, 1996) Nvert Ntriang Emax Emed 17417(50%) 34667 0,133900 0,007810 8708(25%) 17252 0,158500 0,011000 3483(10%) 6821 0,206500 0,018510 1741(5%) 3367 0,281700 0,032730 696(2%) 1359 0,529000 0,068970 348(1%) 673 0,812200 0,124600 Quadric error metrics (GARLAND; HECKBERT, 1997) Nvert Ntriang Emax Emed 17417(50%) 34666 1,024000 0,004860 8708(25%) 17293 1,676900 0,011350 3483(10%) 6888 1,707000 0,023630 1741(5%) 3434 2,425600 0,042790 696(2%) 1360 4,270000 0,103100 171(1%) 675 4,661400 0,167200 242 Apêndice C -- Tabelas do Capítulo 6 Tabela C.7: Resultados obtidos na simplificação do Modelo Fandisk (6475 vertices, 12946 triângulos) para o método proposto, e para os outros métodos (parte 1 de 2). Hopfield Mesh Simplification (Proposto) Nvert Ntriang Emax Emed 3238(50%) 6470 0,324400 0,001400 1619(25%) 3230 0,200100 0,003300 648(10%) 1297 0,249000 0,013700 324(5%) 650 0,261300 0,032200 (2%) 65(1%) 132 0,494000 0,093100 Mesh Decimation (SCHROEDER et al., 1992) Nvert Ntriang Emax Emed 3224(50%) 6444 0,004120 4,50.10−5 1616(25%) 3228 0,074520 0,003980 639(10%) 1274 0,247100 0,015390 325(5%) 646 1,170800 0,058000 131(2%) 258 2,156600 0,152300 66(1%) 128 3,512800 0,352700 Simplification envelopes (COHEN et al., 1996) Nvert Ntriang Emax Emed 3216(50%) 6428 0,003170 0,000158 1633(25%) 3262 0,022270 0,002505 654(10%) 1304 0,059580 0,009646 317(5%) 630 0,146800 0,024520 129(2%) 244 0,972600 0,182700 77(1%) 150 8,737000 0,940600 Multiresolution decimation (CIAMPALINI et al., 1997) Nvert Ntriang Emax Emed 3149(50%) 6294 0,002480 4,84.10−5 1615(25%) 3226 0,004270 0,000210 645(10%) 1286 0,026570 0,002800 323(5%) 642 0,067780 0,009440 129(2%) 254 0,343700 0,047670 64(1%) 124 1,259800 0,180600 Mesh optimization (HOPPE et al., 1993) Nvert Ntriang Emax Emed 3287(50%) 6570 0,529700 0,002776 1611(25%) 3218 0,502100 0,002901 655(10%) 1306 0,245200 0,003614 333(5%) 662 0,291000 0,005877 123(2%) 220 0,375900 0,021800 62(1%) 120 0,873400 0,066800 Apêndice C -- Tabelas do Capítulo 6 243 Tabela C.8: Resultados obtidos na simplificação do Modelo Fandisk (6475 vertices, 12946 triângulos) para o método proposto, e para os outros métodos (parte 2 de 2). Progressive meshes (HOPPE, 1996) Nvert Ntriang Emax Emed 3237(50%) 6470 0,136600 0,003451 1618(25%) 3232 0,167400 0,004139 647(10%) 1290 0,237700 0,006077 323(5%) 642 0,247000 0,011860 123(2%) 254 1,277700 0,065760 64(1%) 124 3,261000 0,225900 Quadric error metrics (GARLAND; HECKBERT, 1997) Nvert Ntriang Emax Emed 3237(50%) 6470 0,000670 8,62.10−5 1618(25%) 3232 0,004420 0,000210 647(10%) 1290 0,037460 0,001830 323(5%) 642 0,092530 0,005810 129(2%) 254 0,332100 0,025520 64(1%) 124 1,237300 0,098790 244 Apêndice C -- Tabelas do Capítulo 6 245 APÊNDICE D -- Cálculo dos momentos principais de inércia Dada uma forma, por exemplo uma figura binária, contendo uma forma geométrica qualquer, os momentos principais de inércia da forma geométrica são definidos como: Ixx = N M ∑ ∑ m · x2 (D.1) x=1 y=1 Iyy = N M ∑ ∑ m · y2 (D.2) x=1 y=1 Ixy = Iyx = N M ∑ ∑ m·x·y (D.3) x=1 y=1 em que M é a largura da imagem em pixels, e N é a sua altura, também em pixels. Onde x e y são as coordenadas de cada pixel e m é a massa do pixel analizado, se o pixel pertencer ao fundo da imagem, é considerado que a sua massa é igual a zero (m = 0), se o pixel pertencer ao obejto sua massa é unitária (m = 1). Figura D.1: Definição da massa do pixel pertencente a figura, e do pixel pertencente ao fundo da imagem, necessária para o cálculo dos momentos de inércia Ixx Iyy e Ixy . Apêndice D -- Cálculo dos momentos principais de inércia 246 A partir dos momentos de inércia Ixx , Iyy e Ixy os momentos principais de inércia podem ser calculados. Para o caso estudado, deseja-se obter a direção do segundo momento principal de inércia I2 . Dada uma forma expressa em uma figura binária, a direção do momento principal de inércia, α , é dado pela equação D.4. tg(2 · α ) = 2 · Ixy Ixx · Iyy (D.4) 247 APÊNDICE E -- Cálculo do centro de um fixação realizada por três pontos de contato Dados três pontos quaisquer PA , PB e PC de fixação de uma garra de três dedos, deseja-se determinar o ponto C f cujas retas C f PA , C f PB e C f PC formam entre si 120o conforme ilustra a Figura E.1. Figura E.1: Pontos de contato PA , PB e PC de fixação de uma garra de três dedos e o centro de fixção C f . E 248 E.1 Definição do problema E.1.1 Arco capaz de 120o Dados dois pontos quaisquer PA , PB define-se como arco capaz de 120o a região geométrica do ponto C f que forma com o segmento de reta PA PB um triângulo com ângulo de 120o no vértice Cf , conforme mostra a Figura E.2. Figura E.2: Arco capaz de 120o . Para se determinar o arco capaz deve-se traçar a mediana do segmento de reta PA PB na qual esté localizado o centro do arco capaz, o ponto O, que é eqüidistante dos pontos PA e PB em uma distância r, que é definida pela equação a seguir. r= |PA PB | 2 cos(30o ) (E.1) E.1.2 Cálculo do C f Para o cálculo do centro de fixação para três pontos de contato, deve-se traçar o arco capaz de 120o para os segmentos de reta PA PB e PB PC . No cálculo do arco capaz de cada segmento, existem duas regiões geométricas distintas, cada solução apresenta um centro do arco capaz, O e O . Para a resolução do problema estudado E.1 Definição do problema 249 selecionado o arco capaz cujo centro é mais distante ao centro geométrico do conjunto de pontos PA , PB e PC . O mesmo procedimento é realizado para o segmento PB PC . Os arcos capazes de 120o dos segmentos de reta PA PB e PB PC cruzam-se em dois pontos, um deles é o próprio ponto PB o outro é o centro de fixação, o ponto C f , conforme ilustra a Figura E.3. Figura E.3: Cálculo do ponbto C f . E.1.3 Solução analítica As equações das circunferências que representam os arcos capazes dos segmentos PA PB e PB PC são definidos por E.2 e E.4. r12 = (x − x1 )2 + (y − y1 )2 (E.2) r22 = (x − x2 )2 + (y − y2 )2 (E.3) Onde x1 e y1 são as coordenadas do ponto O1 , centro do primeiro arco capaz, e x2 e y2 são as coordenadas do ponto O2 , centro do segundo arco capaz. O sistema 2x2 é não linear e pode ser resolvido pelo método numérico apropriado. E 250 E.1.4 Solução geométrica Uma solução mais simples é a resolução geométrica do sistema. A partir do triângulo formado pelos centros dos arcos capazes O1 e O2 , e do centro de fixação C f , ilustrado na Figura E.4, pode-se obter a relação da equação E.4 atravéz da lei dos cossenos. Figura E.4: Solução geométrica para o cálculo do centro de fixação. 2 − 2 · r1 · dO1 O2 · cos(γ ) r22 = r12 + rO 1 O2 (E.4) Isolando γ obtem-se: γ = acos d22 + dO2 1 O2 − d22 2 · d1 · dO1 O2 (E.5) Onde dO1 O2 é a distância entre os pontos O1 e O2 . Calcula-se então a inclinação do semento de reta O1 )2 pela equação E.6. y2 − y1 α = arc tag x2 − x1 −−−→ O ponto CF é então determinado pela equação do vetor O1C f . (E.6) E.1 Definição do problema 251 −−−→ O1C f = C f − O1 = Cf = r1 · cos(α + γ ) r1 · sen(α + γ ) (E.7) r1 · sen(α + γ ) + r1 · cos(α + γ ) x1 y1 , onde O1 = x1 y1 (E.8) Como a equação E.8 permite duas soluções, α1 = α e α1 = α + 180o , o ponto C f deve ser calculado para os dois casos, sendo então selecionado o C f cálculado mais próximo ao centróide dos ponto PA , PB e PC . 252 E 253 APÊNDICE F -- Figuras das respostas das simulações do algoritmo de auto-aprendizagem do Capítulo 8 No Capítulo 8, foram realizadas duas diferentes simulações para avaliação do comportamento do algoritmo de auto aprendizagem proposto. No segundo tipo de simulação apresentado, os objetos foram apresentados à rede em uma ordem aleatória, e de acordo com as respostas obtidas, algumas conclusões puderam ser realizadas. Contudo, como a ordem de apresentação dos objetos é aleatória, é necessário repetir a mesma simulção diversas vezes a fim de verificar se o comportamento observado repete-se. Com este objetivo, o segundo tipo de simulação apresentado foi repetido quatro vezes, e as próximas Figuras apresentam as respostas obtidas. Pode-se observar que o mesmo comportamento foi apresentado em cada uma das simulações. 254 F F.1 Gráficos da segunda simulação Figura F.1: Objetos apresentados à rede entre retreinamentos. Os valores mostrados representam a média entre cada 250 retreinamentos. Resultados para a segunda simulação de apresentação de objetos à rede, em ordem randômica. F.1 Gráficos da segunda simulação 255 Figura F.2: Tempo de execução da rede. Média entre cada 250 retreinamentos. Resultados para a segunda simulação de apresentação de objetos à rede, em ordem randômica. Figura F.3: Tempo de retreinamento da rede. Média entre cada 250 retreinamentos. Resultados para a segunda simulação de apresentação de objetos à rede, em ordem randômica. 256 F F.2 Gráficos da terceira simulação Figura F.4: Objetos apresentados à rede entre retreinamentos. Os valores mostrados representam a média entre cada 250 retreinamentos. Resultados para a terceira simulação de apresentação de objetos à rede, em ordem randômica. F.2 Gráficos da terceira simulação 257 Figura F.5: Tempo de execução da rede. Média entre cada 250 retreinamentos. Resultados para a terceira simulação de apresentação de objetos à rede, em ordem randômica. Figura F.6: Tempo de retreinamento da rede. Média entre cada 250 retreinamentos. Resultados para a terceira simulação de apresentação de objetos à rede, em ordem randômica. 258 F F.3 Gráficos da quarta simulação Figura F.7: Objetos apresentados à rede entre retreinamentos. Os valores mostrados representam a média entre cada 250 retreinamentos. Resultados para a quarta simulação de apresentação de objetos à rede, em ordem randômica. F.3 Gráficos da quarta simulação 259 Figura F.8: Tempo de execução da rede. Média entre cada 250 retreinamentos. Resultados para a quarta simulação de apresentação de objetos à rede, em ordem randômica. Figura F.9: Tempo de retreinamento da rede. Média entre cada 250 retreinamentos. Resultados para a quarta simulação de apresentação de objetos à rede, em ordem randômica. 260 F F.4 Gráficos da quinta simulação Figura F.10: Objetos apresentados à rede entre retreinamentos. Os valores mostrados representam a média entre cada 250 retreinamentos. Resultados para a quinta simulação de apresentação de objetos à rede, em ordem randômica. F.4 Gráficos da quinta simulação 261 Figura F.11: Tempo de execução da rede. Média entre cada 250 retreinamentos. Resultados para a quinta simulação de apresentação de objetos à rede, em ordem randômica. Figura F.12: Tempo de retreinamento da rede. Média entre cada 250 retreinamentos. Resultados para a quinta simulação de apresentação de objetos à rede, em ordem randômica. 262 F 263 ANEXO A -- Adição de Minkowski A adição de Minkowisk é uma operação de conjunto. Dados dois conjuntos A e B, tal que cada conjunto é formado por um número de vetores, então a adição de Minkowisk consiste em um conjunto de vetores C, sendo que cada vetor c ∈ C é obtido pela soma vetorial: c = a+b (A.1) A ⊕ B = {a + b | a ∈ A, b ∈ B}. (A.2) com a ∈ A e b ∈ B. Desta maneira tem-se que: A soma pode ser extendida para um número n de conjunto de vetores, assim: S = A1 ⊕ · · · ⊕ An = {a1 + · · · + an | a1 ∈ A1 , · · · , an ∈ An }. (A.3) A Equação A.3 pode ser ainda escrita na forma suprimida: S= n {Ai }. i=1 (A.4) 264 Anexo A -- Adição de Minkowski Anexo A -- Adição de Minkowski 265 266 Anexo A -- Adição de Minkowski Anexo A -- Adição de Minkowski 267