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