COBEF2015_FINAL_pós revisão
Transcrição
COBEF2015_FINAL_pós revisão
8º Congresso Brasileiro de Engenharia de Fabricação 18 a 22 de maio de 2015, Salvador, Bahia, Brasil Copyright © 2015 ABCM RECONHECIMENTO DA POSIÇÃO PO E ORIENTAÇÃO DE E OBJETOS EM UMA IMAGEM Betânia Vargas Oliveira, [email protected] Rafael Crespo Izquierdo, [email protected] Melissa dos Santos Schlüter, [email protected] Carlos Arthur Carvalho Sarmanho Junior1, [email protected] Eduardo André Perondi, [email protected] Flávio José Lorini, [email protected] 1 Universidade Federal do Rio Grande do Sul, Rua Sarmento Leite, 425 - 2º Andar - Porto Alegre/RS – Brasil. Resumo: O reconhecimento da posição e orientação de objetos em uma imagem é importante para diversas áreas de atuação da engenharia, como robótica, automação industrial e processos de fabricação. O presente trabalho propõe o desenvolvimento de um algoritmo para reconhecimento da posição e orientação de objetos em uma imagem, para, para posteriormente, relacionar estas informações com o sistema de coordenadas de um robô, robô tornando possível a automação do planejamento da trajetória que ele deve percorrer. A metodologia é baseada no processamento de uma imagem digital obtida por meio do uso de uma câmera convencional. Para a validação do d algoritmo proposto, foi realizado um estudo de caso com sua aplicação no desenvolvimento de um sistema de visualização e geração automática de trajetória para um robô cilíndrico com cinco graus de liberdade acionado pneumaticamente. pneumaticamente Os resultados obtidos mostram que o algoritmo proposto permite determinar a localização e orientação dos objetos com precisão adequada para manipulação de peças pelo robô. Palavras-chave: segmentação de imagens, orientação de objeto, visão computacional, processamento de imagens, imagens robô pneumático 1. INTRODUÇÃO Um robô é composto por diversos atuadores que podem ser acionados e controlados individualmente ou simultaneamente. No caso de acionamento simultâneo, see requer a coordenação dos diferentes eixos de movimento, movimento com o propósito de obter a trajetória desejada multidirecional no espaço operacional do manipulador. manipulador Por sua vez, a descrição completa de uma trajetória é obtida se especificando o caminho geométrico a ser seguido, incluindo a orientação ao longo da curva e a forma como esse caminho geométrico deve ser efetivamente realizado (Biagiotti e Melchiorri, 2008). Uma ma trajetória pode ser expressa como uma equação parametrizada parametrizada em função do tempo, a qual fornece a posição desejada de umaa ou mais juntas para cada instante,, sendo, portanto, necessário determinar primeiramente seus pontos inicial e final. final O ponto inicial é corriqueiramente definido como a posição atual em que o manipulador anipulador se encontra e o ponto final está relacionado com a posição onde está localizado o objeto obje que se deseja manipular ou o ponto onde se deseja colocá-lo. colocá Assim, técnicas de visão de máquina, podem auxiliar no reconhecimento da localização do objeto a ser manipulado, por meio do tratamento de uma imagem no formato digital. Usualmente, uma imagem digital é formada por meio de amostragem e quantização do sinal captado pelo sensor óptico da câmera utilizada, sendo a quantidade de pixels dependente da resolução desse sensor. Após a conversão analógica para digital, essa ssa imagem pode ser representada como uma matriz numérica, cujos valores de cada elemento expressam a cor doo respectivo pixel na imagem (Shapiro e Stockman, 2000). 2000) Esses es valores numéricos dependem do padrão ou espaço de cores com que a imagem está sendo tratada. Segundo Foley et al. (1990), o espaço de cores consiste em um sistema tridimensional de coordenadas, onde cada eixo refere-se refere se a uma cor primária. O espaço de cores usualmente aplicado é o RGB, o qual necessita de três valores numéricos para representar uma combinação de cores. cores O primeiro valor é correspondente aos tons em vermelho (Red), o segundo aos tons em verde (Green Green) e o terceiro aos tons em azul (Blue). Esse padrão é baseado no fato de que diversos efeitos cromáticos podem ser obtidos por meio da projeção de luz branca por meio de filtros de bandas associadas a essas três cores. Uma imagem no padrão RGB, que é uma matriz tridimensional, pode ser simplificada em uma representação em tons de cinza,, que é uma matriz bidimensional. bidimensional Quando necessário, a imagem pode também ser representada em preto e branco, sendo necessário,, neste caso, realizar a sua limiarização. Este processo corresponde ao estabelecimento de um limiar arbitrário a partir do qual todos os pontos da imagem que estiverem acima de um dado valor serão assumidos como, por exemplo, de cor branca (igual a 1), enquanto que os que estiverem abaixo dessee valor serão ser assumidos como de cor preta (igual a 0), resultando, assim, assim em uma matriz binária de representação da imagem em preto e branco. Segundo Kavallieratou e Stamatatos (2006), (2006) uma limiarização ideal deve ser capaz de separar o conteúdo de interesse da imagem de fundo, atenuando ainda qualquer ruído que prejudique a legibilidade daa imagem. imagem Uma vez obtida uma imagem limiarizada, limiarizada ainda é necessário identificar a localização de d cada objeto na mesma. Assim, como, omo, após a limiarização, os objetos são representados pelos valores 1 da matriz binária, é preciso determinar 8º Congresso Brasileiro de Engenharia de Fabricação 18 a 22 de maio de 2015, Salvador, Bahia, Brasil Copyright © 2015 ABCM um método para identificar cada objeto na cena. Após isso, é geralmente ainda necessário arbitrar um procedimento para identificar cada diferente objeto presente na cena. Usualmente, isto é realizado modificando-se modifica a matriz da imagem, especificando um número diferente para cada objeto. objeto Para determinar a orientação de um objeto com relação a um determinado eixo de referência, referência pode-se inicialmente identificar a sua posição, a qual pode ser obtida a partir do cálculo do centroide com relação ao sistema de referência atribuído inicialmente. No presente trabalho, trabalho para realizar o cálculo da posição do centroide e a orientação dos objetos, utiliza-se uma estratégia baseada no cálculo de relações trigonométricas dos objetos nas as imagens imagen binárias. No contexto de aplicação do algoritmo apresentado neste estudo, a informação da posição do centroide e da orientação do objeto é utilizada também como entrada em um programa computacional de geração de trajetórias,, o qual, por sua vez, gera vetores com as referências de posições para as juntas de um robô manipulador pneumático. Este artigo é organizado da seguinte forma: na Seção Seç 2 são apresentadas as características do robô manipulador utilizado neste trabalho e o sistema de planejamento planejament de trajetórias desenvolvidos para este robô. robô Na Seção 3, é abordado o algoritmo itmo de processamento que identifica a localização e ângulo de giro das peças,, bem como a metodologia utilizada na integração do sistema de visão com o robô. A Seção 4 consiste na apresentação e discussão dos resultados, onde são analisadas as respostas obtidas por meio do algoritmo desenvolvido e é apresentado um experimento de sua integração com o robô. Na Seção 5 são apresentadas as conclusões do presente trabalho. 2. DESCRIÇÃO DO PROBLEMA Os robôs vêm sendo cada vez mais utilizados nas diversas áreas visando substituir o homem em tarefas repetitivas, árduas,, de risco e/ou que exigem precisão. Os sistemas robóticos têm aumentado continuamente a sua capacidade de interagir com diferentes ferentes tipos de ambientes, o que vem permitindo que executem atividades mais complexas e a utilização de sistemas periféricos, como, por exemplo, sistemas sistema de visão, associados à atuação do manipulador, melhorando o desempenho em um número significativo de d tarefas. Atualmente, um robô com acionamento pneumático está sendo desenvolvido no Laboratório de Mecatrônica e Controle da Universidade Federal do Rio Grande do Sul (LAMECC/UFRGS) para realização de tarefas de manipulação de peças. Associado a esse equipamento, equi desenvolveuse um sistema de visão computacional que identifica identifi as peças a serem manipuladas, interagindo com um algoritmo de planejamento de trajetórias do robô os valores de coordenadas necessárias para gerar a trajetória a ser seguida pelo robô, de forma que este possa pegar a peça em uma determinada posição e deslocá-la deslocá la até outra posição pré-determinada. pré 2.1. Robô manipulador de cinco graus de liberdade O manipulador utilizado neste trabalho consiste de um robô cilíndrico de cinco graus de liberdade (GDL) acionado por meio de energia pneumática. Este robô vem v sendo objeto de diversos em estudos nas áreas de controle, robótica e automação e geração de trajetória (Allgayer, Allgayer, 2011; Rijo, 2013; Missiaggia, 2014 201 e Sarmanho Jr., Jr. 2014). Esse robô apresenta uma configuração cilíndrica com as juntas identificadas como RPP:RR. Com essa configuração, o braço do manipulador é composto posto por uma junta rotacional (R) em sua base, enquanto que a segunda e a terceira juntas jun são prismáticas ortogonais (P). O punho possui duas juntas rotacionais sequenciais que conferem movimentos de arfagem e rolagem ao efetuador. Segundo Craig (2005), o espaço de trabalho de um robô é caracterizado como volume do espaço que o efetuador pode alcançar,, e depende diretamente da geometria do manipulador e das capacidades mecânicas de deslocamento de suas juntas (Spong e Vidyasagar, 1989). Na Figura (1(a)) é apresentado a estrutura do sistema, com indicação da disposição de suas juntas, e na Fig. Fig (1(b)) o espaço de trabalho do manipulador cilíndrico. (a) Configuração das juntas do robô pneumático (b) Representação do espaço de trabalho cilíndrico Figura 1 – Caracterização do robô manipulador pneumático utilizado (adaptado de Missiaggia, 2014). 8º Congresso Brasileiro de Engenharia de Fabricação 18 a 22 de maio de 2015, Salvador, Bahia, Brasil Copyright © 2015 ABCM Missiaggia (2014) desenvolveu um sistema de planejamento de trajetórias otimizadas que fornece as trajetórias desejadas no espaço das juntas do robô, robô tendo proporcionado um movimento adequado do d efetuador em função da tarefa a ser realizada e do critério de otimização adotado. Esse método possibilita a obtenção de curvas no espaço das juntas com valores otimizados de jerk, jerk aceleração ou velocidade por meio do ajuste de parâmetros em função da exigência de cada aplicação. A obtenção enção das trajetórias por esse método envolve a solução do problema da cinemática inversa do manipulador e daa geração de trajetórias entre os pontos no espaço de trabalho do robô por meio da utilização de um algoritmo de aproximação de pontos por splines compostas ompostas por polinômios de sétimo grau, o que garante a continuidade da função de posição, bem como de suas três primeiras derivadas, sendo essa uma condição necessária para a implantação de importantes leis e estratégias de controle. Sarmanho (2014) desenvolveu um sistema de controle composto por hardware e software de controle que opera junto a uma lei não linear com compensação de atrito para as juntas do robô utilizado nos testes experimentais. experimentais O algoritmo proposto necessita da prévia definição das d trajetórias de referência na forma de vetores expressos no espaço das juntas do robô. Assim, se pode utilizar o programa de geração de trajetórias proposto por Missiaggia (2014) para a geração de trajetórias para o controlador do robô. Sarmanho (2014) apresenta esenta ainda algumas limitações quanto aos erros de seguimento de trajetória do robô acionado pneumaticamente, indicando que, que para esta classe de sistemas, sistemas as trajetórias de referência devem respeitar tanto os o limites físicos do sistema como os do hardware de controle. Assim, para utilização de um dado conjunto de algoritmos para a definição das trajetórias, deve-se se avaliar previamente essas limitações para que as mesmas possam ser aplicadas experimentalmente. 3. ALGORITMO DE PROCESSAMENTO DE IMAGENS Como entrada de um sistema de planejamento de trajetórias, são fornecidas as coordenadas x, y e z, além dos ângulos dos dois últimos GDL, correspondentes a orientação da peça alvo. Para isso, propôs-se propôs um algoritmo que permite calcular a orientação e posição ão de peças onde o manipulador deve apanhá-las. apanhá las. Este algoritmo pressupõe primeiramente uma leitura da imagem, ou seja, armazenamento de uma matriz tridimensional com valores em RGB correspondentes a cada pixel, seguida da segmentação da imagem (transformação (transformação para tons de cinza e limiarização da imagem) e separação dos objetos, com o cálculo dos centroides e os vértices de cada objeto. Finalmente, são calculadas as orientações de cada objeto por meio de um método que utiliza relações trigonométricas. 3.1. Identificação ficação da posição e orientação de peças No presente trabalho,, para fins de testes do sistema, são utilizadas peças opacas de cor clara que contrastam com um fundo escuro, conforme mostra a imagem apresentada na Fig. (2 (a)), a qual foi obtida por meio de uma fotografia tomada usando uma câmera convencional (webcam ebcam da marca Clone de 5 Megapixels (interpolados) (interpolad modelo 10028) em um ambiente com iluminação artificial. A resolução máxima interpolada, informada mada pelo fabricante é de 2560 x 1920 pixels, ou seja, 5 Megapixels,, sendo a resolução máxima real de 1366 x 768 pixels.. Para efetuar os testes de correspondência entre os pontos do robô com os pontos da imagem (calibração da câmera) foi utilizada a sua resolução máxima real. Para calibração da câmera, foi utilizado ut um desenho padrão medindo 9,50 x 9,50 mm, mm o que, na imagem corresponde a 16 x 16 pixels.. Desta forma, 1 pixel corresponde a aproximadamente 0,59 mm, mm o que é uma resolução considerada adequada para a aplicação, pois, de acordo com Sarmanho (2014), essa resolução é maior do que a obtida com o controle do robô. A escolha de uma webcam, w ao invés de uma câmera digital comum, comum deu-se pelo fato de que a primeira é facilmente integrável ao Matlab® e pode ser manipulada em tempo real. Já, no caso da segunda, segunda seria necessário captar e exportar a imagem para o computador para, somente então, poder tratá-la tratá digitalmente (usando o software Matlab®).. Mesmo no caso de câmeras que captam e armazenam as imagens automaticamente no computador via rede sem fio, far-se-ia ainda necessário integrar o software do fabricante da câmera com o Matlab®. Matlab® As peças utilizadas nos testes são retangulares e estudos estão sendo realizados no sentido de generalizar o método proposto para aplicação em peças com outras geometrias. Para processamento gráfico, optou-se se pelo uso do conjunto de rotinas (toolbox de processamento gráfico) disponibilizadas pelo software Matlab® (Mathworks, works, 2013), além de códigos desenvolvidos para a aplicação (implantados implantados na forma de scripts). Para identificar um objeto, o primeiro passo consiste na leitura da imagem,, ou seja, armazenamento de uma matriz tridimensional com valores em RGB correspondentes a cada pixel. O segundo passo consiste na transformação da imagem para tons de cinza, ou seja, sua conversão de uma imagem RGB para um de escala de cinza, cinza representando a matriz tridimensional com uma matriz bidimensional. Para realizar a conversão de RGB para tons de cinza, varre-se varre a matriz tridimensional que representa a imagem em RGB e transforma-se transforma o vetor 1 x 3 (RGB) de cada posição da matriz (pixel) em um único valor entre 0 e 255 que irá representar aquela cor em escala de cinza. Segundo Gulati (2006), para transformar esses três valores lores em um único valor ( ), aplica-se a Eq. (1), que é a soma ponderada dos valores dos componentes do vermelho, verde e azul da cor original. 0,299R 0,587G 0,112 112B (1) sendo que R, G e B são os valores das cores vermelho, verde e azul, respectivamente, de cada vetor da matriz que representa um pixel. Se os valores da resposta espectral dos canais R, B e B, forem somados, na razão de 0,299R, 0,587G e 0,112B, a característica resultante tem aproximadamente a mesma forma que a resposta respost de um canal em tons 8º Congresso Brasileiro de Engenharia de Fabricação 18 a 22 de maio de 2015, Salvador, Bahia, Brasil Copyright © 2015 ABCM de cinza (Turner, 1976). Os valores usados na Eq.(1), são devidos ao fato de que, para quantidades iguais de cor, o olho é mais sensível ao verde do que ao vermelho ou ao azul. Isso significa que para quantidades equivalentes de luz verde e azul, o verde vai parecer mais brilhante. brilhante. Assim, a imagem em tons de cinza obtida através de uma soma não ponderada dos componentes da cor não passaria a percepção de brilho equivalente ao da imagem original. A soma definida por essa fórmula faz com que a imagem em preto e branco gerada tenha o brilho equivalente à imagem colorida original. O terceiro passo consiste na transformação transforma do formato em tons de cinza para binário, conforme mostra a Fig. (2), na qual observa-se se a relação entre a imagem importada (a) e a imagem limiarizada (b). (a) Imagem original (b) Imagem limiarizada Figura 2. 2 Estágios iniciais do tratamento de uma imagem. Para limiarizar uma determinada imagem, imagem realiza-se se a varredura da matriz que representa a imagem em tons de cinza a qual possui valores de 0 a 255, estipula-se o valor de um limiar e, substitui-se, se, por 0 (zero), todos os valores da matriz que forem inferior ao valor do limiar e, por 1 (um), todos os valores da matriz que forem superiores superior ao valor do limiar. Uma maneira utilizada para obtenção do limiar limia consiste naa análise visual do histograma da imagem, onde o limiar a ser escolhido é o valor que separa as duas regiões (fundo e objeto). Porém, como este método não é automático, o mesmo somente pode ser utilizado em ambientes com a iluminação totalmente controlada,, onde é possível adotar um valor de limiar fixo. Uma maneira de seleção automática de limiar é o método proposto por Otsu (1979), ( o qual busca minimizar a variância intraclasse (ou maximizar a variância interclasses) entre os tons de cinza dos dois objetos de interesse (peça e plano de fundo). Na forma aplicada, a ideia do Método de Otsu (1979), é a de aproximar o histograma de uma imagem por duas funções Gaussianas e escolher o limiar de forma a minimizar a variância intraclasses, sendo que cadaa classe possui suas próprias características, ou seja, sua média e desvio padrão. Assim, determina-se determina o limiar ótimo (k ∗ ) a partir da minimização da variância intraclasses "# $!,, conforme apresentado na Eq. (2): k∗ min σ k! (2) onde k é a amplitude do tom de cinza de cada posição da matriz e L é o número de tons de cinza da imagem. Após a limiarização, de posse daa imagem em preto e branco, é realizada a segmentação da imagem em regiões definidas pelos domínios onde se encontram as peças, ou seja, efetua-se o processo de identificação identific de cada uma das peças na imagem. A definição de um dado objeto depende do tipo conectividade dos pixels com relação aos seus pares adjacentes considerado pelo algoritmo. Segundo Gonzalez e Woods (2009),, dois pixels estão conectados se são adjacentes e se seus atributos (níveis de cinza, cores ou texturas) são similares. Os tipos de conectividade de imagens bidimensionais podem ser de ordem 4 (laterais ( dos pixels conectadas), 8 (laterais e diagonais conectados) ou m (mista). Na Figura (3 (a)) está apresentado o exemplo de um conjunto de pixels adjacentes com conectividade de ordem 4 e, na Fig. (3 (b)),, o exemplo de um conjunto de pixels com conectividade de ordem 8. (a) conectividade de ordem 4 (b) conectividade de ordem 8 Figura 3 - Exemplo de conjunto de pixels adjacentes Para determinar se um pixel faz parte parte de um objeto, é preciso estipular um valor de distância entre os pixels. pi Segundo Gonzalez e Woods (2009),, uma distância bastante utilizada é a do tipo city block, a qual é similar à distância euclidiana, considerando, porém, somente espaços espaço em linhas retas entre os pixels, sem usar as diagonais, ou seja considerando como adjacentes apenas os pixels que estão dispostos acima, a abaixo, a esquerda e a direita. O cálculo da distância do tipo city block é baseado no conceito de conectividade entre pixels ls de ordem 4. Gonzalez e Woods (2009), 8º Congresso Brasileiro de Engenharia de Fabricação 18 a 22 de maio de 2015, Salvador, Bahia, Brasil Copyright © 2015 ABCM apresentam, também, a distância chessboard que difere da city block por considerar a conectividade entre pixels de ordem 8. Dessa forma, segundo Haralick e Shapiro (2002), ( dada uma imagem em preto e branco, pode-se calcular as distâncias (city block ou chessboard) entre os pixels com valor 1 da imagem, e estipular um valor máximo de distância para que um pixel seja considerado parte de determinado objeto. Em seguida, faz-se faz se a atribuição de um índice a cada conjunto nto de pixels que estejam conectados com uma determinada conectividade, escolhida a priori, como, por exemplo, índice 1 para o primeiro objeto encontrado na matriz, índice 2 para o segundo objeto, e assim por diante. Dessa forma, a identificação de cada objeto pode ser feita diferenciando os componentes em uma imagem binária bidimensional, gerando assim uma matriz do mesmo tamanho que a anterior,, contendo rótulos para os componentes (conjuntos de pontos adjacentes com valor 1) identificados na imagem. Uma vez identificadas todos os objetos (i) da imagem, é possível calcular separadamente os respectivos centroides e vértices de cada um deles. Para obter o centroide, primeiramente, calcula-se se a área do objeto (% ( & ), somando-se todos os pixels do objeto. Em seguida, realiza-se se o somatório de todas as coordenadas x do objeto (i)) e dividindo-se o resultado pela área (%& ), obtendo-se, assim, a distância x central ('̅ ) daquele objeto na imagem, conforme apresentado na Eq. 3: '̅ ∑ '& /%& (3) Da mesma forma, realiza-se se o somatório de todas as coordenadas y do objeto (i), dividindo divid o resultado pela área (%& ), obtendo-se assim a coordenada y central ( +) daquele objeto na imagem,, conforme apresentado na Eq. 4: + ∑ & /%& (4) Uma alternativa viável para encontrar os vértices de um objeto o é, após calculado o centroide, centroide realizar uma varredura de todos os pontos do objeto, calculando ndo as distâncias com relação ao seu centroide.. Porém, para reduzir o número de pontos a serem testados e visando a diminuir o tempo de processamento total do algoritmo, algoritmo optou-se por utilizar somente os pontos do perímetro (bordas) (borda de cada objeto (i). São considerados como fazendo parte do perímetro de d um objeto aqueles pixels que apresentam valor diferente de zero e estão est conectados a, pelo menos, menos um elemento de valor zero. Após, obtidos os pontos pertencentes ao perímetro do objeto, compara-se se os valores das coordenadas, coordenadas obtendo-se os vértices dos objetos, conforme os seguintes pontos descritos na Tab. (1) e ilustrados graficamente na Fig. (4). Tabela 1. Vértices identificados. Vértice Maior valor de “y” Maior valor de “x” Pontos ,- & , ,. & , , & , , 7 & e , 8 & , & , ,/ & , , & , , - & e , 9 & Vértice Menor valor de “y” Menor valor de “x” Pontos , & , ,9 & , ,8 & , , . & e , : & ,7 & , ,: & , , & , , / & e , & objeto pode-se então obter a orientação dos mesmos.. O algoritmo proposto neste Conhecendo-se os vértices de cada objeto, estudo reconhece apenas objetos de geometria retangular e toma como referência sempre o sentido referente ao maior de seus lados. Esta definição garante o cálculo correto da direção principal de orientação do objeto. objeto Na Figura (4), é possível visualizar os parâmetros obtidos com a aplicação do algoritmo proposto à imagem referente à Fig. (2). Conhecendo os pontos e os parâmetros arâmetros apresentados na Fig. (4), calcula-se se então a distância euclidiana (0 ( 2 & ) entre os dois pontos adjacentes (, & e ,- & ) e a distância na direção x (01 & ) entre eles. Assim, a projeção desse comprimento na direção x é igual à distância euclidiana calculada e, e posteriormente, multiplicada pelo cosseno do ângulo 6 que indica a direção do eixo principal do objeto, conforme a Eq. (5): 01 & 02 & cos 6& (5) i i Figura 4. Parâmetros utilizados para a implementação do algoritmo proposto. 8º Congresso Brasileiro de Engenharia de Fabricação 18 a 22 de maio de 2015, Salvador, Bahia, Brasil Copyright © 2015 ABCM Desta forma, calcula-se o ângulo (6)) de cada objeto (i) ( aplicando a Eq. (6): 6& cos ; <= > <? > @ (6) Definidas as coordenadas do centroide de cada peça e da direção do seu eixo principal, pode-se planejar a trajetória de movimentação do robô, de forma que o manipulador se desloque até a posição necessária e o seu punho gire, colocando-se na pose adequada para p pegar a peça. Um fluxograma da metodologia que representa o algoritmo proposto é apresentado na Fig. (5). Parametrização Geração da trajetória pick-and-place Calibração da câmera Geração da matriz de pontos Leitura da imagem Validação dos pontos no espaço de trabalho do robô Conversão de RGB para escala de cinza Cálculo da cinemática inversa Limiarização Aproximação dos nós no espaço das juntas por meio das splines Obtenção da posição e orientação do objeto Geração dos vetores de posições das juntas Figura 5. Metodologia do algoritmo proposto. 4. RESULTADOS Para aplicação experimental do algoritmo desenvolvido, foram realizados testes em um cenário com objetos dispostos sobre um fundo escuro, estando o mesmo no interior do espaço de trabalho do manipulador e devidamente referenciado a um sistema de coordenadas, coordenadas conforme ilustrado na Fig. (4). Os testes foram realizados da seguinte forma: forma primeiramente, realizou-se a medição da posição aproximada dos vértices de cada objeto e as distâncias na direção x e y entre os pontos que formam a orientação principal do objeto, objeto, bem como o cálculo do ângulo 6& formado entre 02 & e 01 & , conforme ilustrado na Fig. (4). Em seguida, comparou-se comparou os valores dos ângulos (6& ) medidos com os valores obtidos pelo algoritmo. 4.1. Direções Angulares dos Objetos Para determinar os valores dos coeficientes angulares das retas que passam no eixo de simetria principal de cada objeto, devem ser conhecidas inicialmente as coordenadas dos pontos medidas em relação ao sistema de coordenadas adotado. Tais medidas são apresentadass na Tab. Tab (2). Tabela 2. Identificação dos pontos. Ponto , , ,,7 ,/ ,. ,: ,9 ,8 , Coordenadas (x;y) ( (17,2 ; 14) (19 ; 12,2) (16,4 ; 10,4) (15 ; 12,2) (13,3 ; 17) (13,2 ; 13,7) (10,8 ; 13,7) (11 ; 17) (8,5 ; 18,2) (8,9 ; 15,9) Ponto , , ,,7 ,/ ,. ,: ,9 ,8 , Coordenadas (x;y) ( (5,8 ; 15,7) (5,3 ; 17,5) (7,2 ; 11,1) (6,5 ; 8) (4,2 ; 8,4) (4,8 ; 11,5) (13,8; 19,9) (14,8;7,8) (11,9;6.5) (11;8,5) 8º Congresso Brasileiro de Engenharia de Fabricação 18 a 22 de maio de 2015, Salvador, Bahia, Brasil Copyright © 2015 ABCM Para calcular o coeficiente angular do eixo principal, principa é necessário também conhecer a dimensão do objeto e qual a orientação do mesmo a ser considerada, considerada de forma a determinar os respectivos coeficientes angulares dos eixos principais de cada objeto. A orientação utilizada pode ser visualizada visualiza na Fig. (4). Por exemplo, o objeto (5) composto compos pelos pontos , , , , ,e ,7 tem dimensão aproximada de 3,3 cm x 2,2 cm (medida previamente). Portanto, a distância euclidiana entre os pontos , e ,- é de aproximadamente 3,3 cm. A distância na direção x é expressa pelo valor da coordenada x em , subtraída do valor da coordenada x em ,- , cujo valor resultante é de aproximadamente 2,6 cm. cm Desta forma, determinase o ângulo α utilizando a Eq. (6),, resultando em α5 = 38 º. Os resultados dos ângulos calculados alculados pelo algoritmo e seus respectivos desvios simples em relação à uma medição realizada estão apresentados na Tab. (3)). ca e medidos experimentalmente. Tabela 3.. Ângulos calculados Objeto Objeto 1 Objeto 2 Objeto 3 Objeto 4 Objeto 5 Valor obtido pelo algoritmo 71,5 11,9 23,6 83,5 34,5 Ângulo medidos (graus) 77,0 20,0 28,5 88,0 38,0 Desvios simples 5,5 8,1 5,0 4,5 3,5 4.3. Testes experimentais Para validação do método foram realizados 20 testes experimentais com uma peça branca de acrílico sobre uma esteira na cor preta. Esta escolha (peça branca em fundo preto) facilita a limiarização e segmentação da imagem. Porém, como o limiar é definido por meio da aplicação do método de Otsu (1979), ( , é possível utilizar peças ou fundo de outras cores, desde que seja possível,, visualmente, diferenciar o objeto do fundo. A primeira etapa do procedimento consiste na realização da calibração da câmera relacionando coordenadas mundo com as coordenadas em pixel da imagem. Para isso, utilizou-se utilizou um padrão gráfico fixo em uma superfície plana do próprio robô, obtendo-se as coordenadas referentes a cada ponto do padrão (por meio de medições) e suas coordenadas correspondentes em pixel obtidas por inspeção na imagem digital. digital Desta forma, calcula-se se uma matriz de correlação correl dessas coordenadas, chamada matriz de calibração de câmera. Essa matriz é posteriormente utilizada para transformar as coordenadas cartesianas de pontos no espaço de trabalho do robô para coordenadas em pixel da imagem e, vicevice versa. O segundo passo consiste na transformação da imagem de RGB para tons de cinza e sua posterior limiarização para transformá-la la em uma imagem em preto branco, ou seja, uma matriz de valores 0 ou 1. Os testes realizados para verificação da eficácia do método de Otsu mostraram mostrara que, quando a cor das peças difere bastante do fundo, a limiarização pode ser considerada apropriada, conforme o conceito apresentado por Kavallieratou e Stamatatos (2006). Porém, quando há excesso ou pouca iluminação, iluminação ou quando há textura e o fundo tiver uma cor muito próxima à da peça (Fig. 6(a)), o resultado da limiarização não é satisfatório, satisfatório já que pontos da peça são identificados como fundo, conforme pode ser observado no exemplo da Fig. 6 (b). (a) Exemplo de uma peça com textura (b) Exemplo da peça limiarizada Figura 6. Resultado da limiarização de uma peça com textura. A fim de resolver o problema de pontos escuros que ocorreram noo resultado da limiarização apresentado na Fig. (6) (b), aplicou-se se inicialmente o filtro da média, que consiste de uma técnica de filtragem que substitui um pixel da imagem pela média dos pixels adjacentes. Este filtro resolve o problema dos outliers (pixels com valores atípicos), porém suaviza os cantos do objeto, o que prejudica a aplicação da técnica de identificação da orientação do objeto. 8º Congresso Brasileiro de Engenharia de Fabricação 18 a 22 de maio de 2015, Salvador, Bahia, Brasil Copyright © 2015 ABCM Aplicou-se se em seguida o filtro da mediana, o qual substitui um pixel da imagem pelo valor da mediana dos pixels adjacentes. Verificou-se se que este método também não preserva os vértices do objeto. Outra opção consiste na aplicação de um filtro de média ponderada.. Esses filtros são usados quando os coeficientes de ponderação dos pixels são definidos em função de suas distâncias ao pixel central. Estes filtros atenuam ass altas frequências com menor suavização de arestas,, já que há mais influência do pixel central. Os resultados foram satisfatórios com a aplicação do filtro da média ponderada, sendo que, em alguns casos,, fez-se necessário aplicar o mesmo filtro mais de umaa vez na mesma imagem. Conforme pode ser observado na Fig. (7),, tanto no filtro da média (a) quanto no filtro da mediana (b), o algoritmo consegue filtrar os outliers,, porém suavizando suaviz em demasia os vértices do objeto. Por outro lado, na Fig. (7 (c)), o algoritmo consegue filtrar os outliers,, preservando os vértices do objeto. (a) filtro da média (b) filtro da mediana (c) filtro da média ponderada Figura 7. Exemplo de um dos vértices de uma peça após aplicação de filtros. O segundo passo consistiu na aplicação doo método de reconhecimento da posição e orientação da peça, obtendo-se obte as coordenadas em pixel do seu centroide, centroide assim como sua orientação. Após esta etapa, se transformou t os valores do centroide da peça para coordenadas cartesianas em relação ao robô e o valor do ângulo de graus para radianos para que estes dados fossem utilizados pelo programa de geração de trajetórias. A Figura (8) ilustra o exemplo da imagem de uma peça testada, sendo que o ponto em azul identifica o seu centroide. Figura 8. 8 Identificação do centroide pelo algoritmo. Uma vez calculados noo algoritmo de visão os valores numéricos em x e y e o ângulo de giro da peça em relação ao eixo x do sistema de coordenadas do robô, robô gerou-se a matriz de pontos (posições das juntas) para a realização da trajetória que possibilite que o manipulador robótico, partindo de um determinado ponto no espaço, espaço seja capaz de efetuar uma tarefa de pick-and-place entre a posição atual do manipulador e a posição desejada para a peça. Inseriu-se então a matriz de correlação como entrada para o programa de geração de trajetórias desenvolvido por Missiaggia (2014) que, por sua vez, gera como resultado os vetores em coordenadas de juntas que devem ser enviados ao algoritmo de controle que é efetivamentee responsável por mover o robô. Analisando oss resultados das trajetórias previstas e realizadas nos testes experimentais, percebeu-se percebeu que os desvios máximos durante o seguimento das trajetórias foram os seguintes: na primeira junta, a, o desvio máximo foi de aproximadamente ∓0,02 0,, na segunda junta de ∓0,04C, na terceira junta foi de ∓0,02C,, na quarta junta de ∓0,024 0 e, na quinta junta de ∓0 0,04C. Estes desvios, são considerados aceitáveis para as aplicações de manipulação estudadas. Verifica-se que oss testes experimentais apresentaram resultados satisfatórios, satisfatórios já que o robô manipulador foi capaz de realizar a pega da peça em estudo corretamente em todos os testes efetuados. Na Figura gura (9 (a)) é apresentada uma imagem do manipulador capturando a peça, peça e, na Fig. (9 (b)), do manipulador transportando a peça. peça Os desvios angulares, como os calculados no exemplo da Tab. (3), podem ser identificados na situação prática, porém não interferem de forma significativa na captura do objeto pelo efetuador do robô. 8º Congresso Brasileiro de Engenharia de Fabricação 18 a 22 de maio de 2015, Salvador, Bahia, Brasil Copyright © 2015 ABCM (a) Manipulador capturando a peça (b) Manipulador transportando a peça Figura 9. Resultados experimentais da remoção de uma peça de uma esteira 5. CONCLUSÕES verificou que o algoritmo proposto realizou adequadamente a determinação da Mediante os resultados obtidos, verificou-se orientação de objetos retangulares,, podendo, assim, fornecer as trajetórias necessárias para o controle de posição do robô utilizado. Ao longo do desenvolvimento deste estudo verificou-se também que os desvios desvio dos resultados com relação aos dados obtidos por meio de instrumentos de medição (paquímetros e micrômetros) além de estarem sujeitos aos erros de medição, dependem das condições de operação, como, por exemplo, iluminação do local, cor da peça e da superfície de trabalho (fundo da imagem), além da textura da superfície da peça e da sua geometria. No caso da geometria da peça, notou-se se que quanto menos arredondados os cantos, melhores melhor são os resultados resultado obtidos na medição da sua direção. Verificou-se também que a textura de uma peça pode prejudicar o resultado da limiarização, já que dobras e curvas na superfície da peça podem escurecer demasiadamente pontos intermediários da imagem, sendo por isso identificados pelo algoritmo como componentes de fundo. Neste caso, a aplicação do filtro da media ponderada pode minimizar o problema do ruído digital. Quanto à cor da peça, verificou-se que ela pode influenciar o resultado apenas quando for muito parecida com o fundo (nos casos em que não é possível sua diferenciação de forma visual pelo usuário). Percebeu-se, ainda, que o fator que mais influencia nos no resultados experimentais é a iluminação, já que qualquer alteração sua gera variações significativas nos resultados de posição e orientação obtidos. obtidos. Isto se deve ao fato de que a limiarização é realizada baseada nas cores da imagem, as quais, por sua vez, são dependentes da iluminação. Nesse caso, é importante que se tenha um sistema com sensoriamento sensoriamento que monitore e controle a iluminação, iluminação ajustando o ponto de limiarização conforme as condições ambientes. ambientes Outra alternativa, a qual foi aplicada neste trabalho, consiste na utilização de um sistema ativo de compensação da iluminação, com intuito de atenuar as a influências negativas da mesma sobre a resposta dos algoritmos,, já que a iluminação em determinados ambientes pode variar consideravelmente no decorrer dos períodos de trabalho. 6. REFERÊNCIAS BIBLIOGRÁFICAS Desenvolvimento de um Manipulador Robótico Cilíndrico Cilíndrico Acionado Pneumaticamente.”, Allgayer, R. S., 2011, “Desenvolvimento Dissertação de Mestrado, Universidade Federal do Rio Grande do Sul, Programa de Pós-Graduação Pós em Engenharia Mecânica. Biagiotti, L, Melchiorri, C., 2008, “Trajectory Trajectory Planning for Automatic Machines and Robots”, ”, Springer-Verlag. Springer Craig. J. J., 2005, “Introduction Introduction to Robotics: Mechanics and Control.”, Control. 3. ed. Pearson Prentice Hall. Upper Saddle Sa River: Prentice Hall. Foley, J. D., Van Dam, A., Feiner, S.K., S.K. Hughes, J. F., 1990, “Computer mputer graphics: principles and practice”, practice Reading, MA: Addison-Wesley, 1176p. Gonzalez, z, R.C, Woods, R.E, Eddins, S.L., S.L. 2009, “Digital Processing Image using Matlab®”. Matlab® Second edition, Gatesmark Publishing. Gulati, R. R., 2006. "Monochrome and colour television". New Age International Publishers. New Delhi. Haralick, R.M., Shapiro, L., 2002, "Computer Computer and Robot Vision", Vision Prentice Hall. Kavallieratou, E, Stamatatos, E., 2006, “Improving “Improving the Quality of Degraded Document Images”, Images Second International Conference onference on Document Image Analysis for Libraries Libra (DIAL'06), pp. 340-349. Mathworks, 2014, “Help”, Disponível em: http://www.mathworks.com/help/toolbox/images acessado em 25/11/2014. 25/11/2 8º Congresso Brasileiro de Engenharia de Fabricação 18 a 22 de maio de 2015, Salvador, Bahia, Brasil Copyright © 2015 ABCM Missiaggia, L., 2014, “Planejamento Planejamento otimizado de trajetória para um robô cilíndrico acionado pneumaticamente” pneumaticamente Dissertação de Mestrado, Universidade Federal do Rio Grande do Sul, Programa de Pós-Graduação Pós em Engenharia Mecânica. Otsu, N., 1979, "A A threshold selection method me from gray-level histograms", IEEE Transactions on Systems, Man and Cybernetics, Vol.9, No.1, P.62-66. 66. Pedroni, R.U., 2011, “Sistema Sistema Autônomo em FPGA para Captura e Processamento em tempo real de imagens da pupila”, Dissertação de mestrado, Universidade Tecnológica Tecno Federal do Paraná. Plesha, M.E., Gray, G. L., Constanzo, F., F. 2014 “Mecânica para Engenharia”, Bookman. Rijo, M.G.Q., 2013, “Desenvolvimento Desenvolvimento da Base e Controle do Grau de Liberdade Rotacional de um Robô Cilíndrico Cilínd com Acionamento Pneumático”, Dissertação de Mestrado, Universidade Federal do Rio Grande do Sul, Programa de Pós-Graduação ção em Engenharia Mecânica. Mecânica Sarmanho Jr., C. A. C., 2014, “Desenvolvimento Desenvolvimento de um Robô Pneumático de 5 Graus de Liberdade com Controlador Não Linear com Compensação de Atrito”, Atrito Tese de Doutorado, do, Universidade Federal do Rio Grande do Sul, Programa de Pós-Graduação ção em Engenharia Mecânica. Mecânica Shapiro, L., Stockman, G., 2000, “Computer Computer Vision.”, Vision. The University of Washington, Seattle, Department Depart of Computer Science. Sokal, G.J., 2010, “Posicionamento dinâmico utilizando controle a estrutura variável e servovisão”, servovisão Dissertação de mestrado, Universidade Estadual tadual do Rio de Janeiro, 121p. 121p Spong, M. W., Vidyasagar, M., 1989, “Robot Robot Dynamics and Control”, Control”, John Wiley & Sons, Inc. Inc Turner, L. A. W., 1976. "Eletronics Eletronics Engineers's Reference Books". Butterworth & Co. Publishers, 4th Edition. London. 7. DIREITOS AUTORAIS Os autores são os únicos responsáveis pelo conteúdo do material impresso incluído no seu trabalho. RECOGNITION OF THE POSITION AND ORIENTATION OF OBJECTS IN AN IMAGE Betânia Vargas Oliveira, [email protected] Rafael Crespo Izquierdo, [email protected] Melissa dos Santos Schlüter, [email protected] Carlos Arthur Carvalho Sarmanho Junior1, [email protected] Eduardo André Perondi, [email protected] Flávio José Lorini, [email protected] 1 Universidade Federal do Rio Grande do Sul, Rua Sarmento Sarment Leite, 425 - 2º Andar - Porto Alegre/RS – Brasil. Abstract: The recognition of the position and orientation of objects in an image is important to many areas of the engineering, such as robotics, industrial automation and manufacturing processes. This paper p proposes the development of an algorithm that recognize the position and orientation of objects in an image, to then relate this information with the coordinate system of a robot, enabling the automation of its trajectory planning. plannin The method is based on digital images processing obtained by a conventional camera. To validate the proposed algorithm, a case study was realized with application in the development of a system that simulates and generates trajectories automatically for a robot of five degrees of freedom actuated pneumatically. The results show that the proposed algorithm determines the position and the orientation of objects with adequate precision for pieces manipulation by the robot. Keywords: image segmentation, object orientation, orientation computer vision, images processing, pneumatic robot