Escolar Documentos
Profissional Documentos
Cultura Documentos
.
Em qualquer altura em que se possa confundir qualquer tipo de letra/expresso
representada em figuras, com a notao matemtica aqui descrita, previamente
definido o que representa cada uma delas.
26 Captulo 1: Introduo
Capt ul o 2
Vi so Art i f i ci al
2. 1 Int roduo
Cada vez mais usada, a viso artificial uma tecnologia que permite que as
mquinas usem captao de imagens durante o seu funcionamento. Esta tecnologia
baseia-se na teoria de construir sistemas artificiais que obtenham informaes a partir
de imagens capturadas atravs de cmaras fotogrficas/vdeo. Esta captura pode ser
efectuada em sequncia de vdeo de uma s cmara, ou de mltiplas cmaras com
diferentes perspectivas da mesma imagem.
Estes sistemas tm estado em constante entrada no mercado industrial, devido s
suas caractersticas face viso Humana. Este sistema no sofre de falsos julgamentos
ou cansao. No entanto, mesmo fora do uso industrial os sistemas de viso artificial tm
sido usados como meio de interface humana para entretenimento ou facilidade de
introduo de dados em alguns programas.
Este tipo de tecnologia tem sido introduzida em muitas reas, entre as quais:
Monitorizao/controlo de processos ex: contagem de pessoas, inspeco
industrial, anlise mdica, modelao topogrfica, Robs industriais,
veculos autnomos.
Ajuda/Entretenimento ex: como meio de dispositivo de entrada de alguns
sistemas, no auxlio de pessoas com menos capacidades ou aumentar a
facilidade de jogar em consolas de vdeo jogos.
Fsica: ex: estudo da radiao electromagntica, em que esta reflectida nas
superfcies dos objectos e finalmente medida no CCD da cmara. So usados
algoritmos de seguimento, reconhecimento de objectos, aprendizagem,
estimao de movimento e restaurao de imagem.
A implementao de um sistema de viso artificial no se apresenta como uma
tarefa trivial pois a seleco dos componentes e a programao de todo o sistema
reflecte as exigncias particulares de cada aplicao. Adicionalmente as decises que
tm de ser tomadas devem reflectir aspectos mais abrangentes do que apenas os custos
iniciais do investimento.
27
28 Captulo 2: Viso artificial
Em viso artificial podemos encontrar anlise de imagem 2D (maioritariamente),
nos ltimos anos tem-se observado um crescente aumento na aplicao e estudo de
imagens a 3D. Cada vez mais se tem tentado emular a viso biolgica e a percepo
visual dos Humanos (Stereopsis). J h muitos anos se conhece o sistema de percepo
visual humano e tem-se tentado passar este conhecimento para as mquinas.
Neste captulo apenas vamos abordar o modelo de cmaras finitas e projectivas, tipo
de cmaras usadas no trabalho.
As cmaras de vdeo so j um sensor muito usado na robtica, muito devido
grande quantidade de informao que possvel extrair da cada imagem (frame) que
esta adquire. Para isso necessrio efectuar processamento da imagem obtida focado na
informao que se pretende extrair dessa mesma imagem.
Modelo da cmara O modelo pinhole camera descreve a relao matemtica entre
as coordenadas de um ponto 3D e a sua projeco na imagem do plano. Maior parte dos
algoritmos desenvolvidos para viso computacional parte do princpio que o modelo da
cmara usada segue o modelo pinhole camera.
Fi gur a 2. 1. 1 Cmar a de vdeo
Modelo pinhole camera 29
2. 2 Model o pi nhol e camer a
Este modelo no inclui distores geomtricas nem objectos desfocados provocados
pelas lentes e apenas pode ser usado para uma primeira aproximao do mapeamento da
cena 3D para a cena a 2D. Os erros do modelo da cmara diminuem com a qualidade da
cmara e qualidade das lentes, o erro aumenta desde o centro da imagem at s margens
desta, onde o efeito de barril
3
mais acentuado nas margens [13]. Alguns destes erros
podem ser compensados por algoritmos ou filtros.
Existe um plano fixo a uma distncia f em frente a um plano de imagem . Um
pinhole ideal encontrado no plano - ver Figura 2.2.2.
Todos os raios de luz emitidos ou reflectidos por objectos passam atravs do pinhole
e formam uma imagem invertida deste mesmo objecto na imagem do plano; ver Figura
2.2.1.Cada ponto do objecto constitui um ponto na imagem, formando-se uma linha por
cada ponto formado. A imagem seguinte mostra este fenmeno. A este fenmeno de
projeco do espao 3D para um plano d-se o nome de projeco projectiva
4
[15].
Fi gur a 2. 2. 1 Repr esent ao t pi ca do model o pi nhol e camer a
O modelo geomtrico do modelo pinhole camera consiste num plano de imagem
e um ponto C no plano . O ponto C chamado de centro ptico ou ponto de focagem.
O plano paralelo a chamado de plano de principal. A distncia entre o centro
ptico e a imagem chamado de distncia focal e representado por f.
3 4
Consultar anexo A
30 Captulo 2: Viso artificial
Fi gur a 2. 2. 2: Model o pi nhol e camer a
A linha perpendicular imagem do plano chamado de eixo ptico e intercepta
no ponto p, chamado ponto principal. Note-se que o plano focal tambm perpendicular
ao eixo ptico. Na Figura 2.2.2 temos representado o modelo pinhole camera.
Para a representao e explicao dos conceitos, vamos comear por definir um eixo
de coordenadas no nosso modelo. O eixo Z aponta na direco frontal da cmara sendo
o eixo ptico ou eixo principal. O plano principal contm o referencial XYZ e o lado
da frente da cmara, a origem deste referencial o ponto C. Estas definies podem ser
observadas na Figura 2.2.3.
O plano de imagem onde toda a cena 3D projectada atravs do diafragma da
cmara o plano de imagem e est paralelo aos eixos XY, est tambm a uma distncia
f da origem C. No modelo real da implementao do modelo o plano da imagem est
localizada na coordenada - f.
Fi gur a 2. 2. 3: Repr esent ao dos ei xos coor denados no nosso model o pi nhol e camer a.
O ponto P
m
um ponto no Mundo com as coordenadas (x
m
, y
m
, z
m
) relativamente a
XYZ.
Modelo pinhole camera 31
A projeco do ponto P
m
no plano de imagem o ponto P
m
i
. Neste plano temos
definido um referencial 2D X
1
Y
1
com origem p (centro da imagem) e nos quais as
coordenadas do ponto P
m
i
deste sistema so (x
m
i
, y
m
i
).
No modelo pinhole camera original a relao entre as coordenadas do ponto P
m
(x
m
, y
m
, z
m
) e do ponto P
m
i
(x
m
i
, y
m
i
) dado por:
x
m
i
= -
x
m
z
m
( 2. 1)
y
m
i
= -
m
z
m
( 2. 2)
Esta relao geomtrica de 3D para 2D descrita pelo pinhole camera apenas uma
projeco da imagem no plano de imagem seguido de uma rotao de 180. Para evitar
isto e simplificar a resoluo, podemos colocar a imagem do plano na coordenada f em
vez de -f. Assim obtemos:
x
m
i
=
x
m
z
m
( 2. 3)
y
m
i
=
m
z
m
( 2. 4)
Fi gur a 2. 2. 4 vi st a de l ado do model o pi nhol e camer a
Salienta-se mais uma vez, que esta representao assume que a origem das
coordenadas na imagem do plano o ponto principal. Ter em conta que o passo anterior
apenas uma simplificao e uma maneira de tratar o problema real sem necessitarmos
de fazer a rotao da imagem obtida.
32 Captulo 2: Viso artificial
A relao anterior entre o ponto P
m
no mundo e o ponto P
m
i
no plano de imagem
vem com a relao:
P
m
i
= P P
m
( 2. 5)
Sendo P a matriz de projeco da cmara. A matriz de projeco uma matriz de
dimenso 3x4 que contm os parmetros intrnsecos e extrnsecos da cmara - distncia
focal, centro da imagem, factor de escala dos pixis, rotao e translao da cmara. Em
seguida explicamos onde se localiza cada um dos parmetros na matriz de projeco.
O modelo pinhole camera assume que a origem das coordenadas na imagem do
plano feito no ponto principal, p. Tipicamente em processamento de imagem no
usamos o ponto principal como origem do referencial neste plano, mas sim num dos
cantos da imagem. Considerando que a origem do referencial feita no canto inferior
esquerdo do plano da imagem X
2
Y
2
e que as coordenadas do ponto principal neste novo
referencial so (x
0
, y
0
).
As expresses que nos do as coordenadas (x
m
i
, y
m
i
) no plano de imagem com
origem no ponto principal:
Fi gur a 2. 2. 5: Ei xo de coor denadas X
1
Y
1
no pont o pr i nci pal e X
2
Y
2
num
dos cant os da i magem.
x
m
i
=
x
m
m
z
( 2. 6)
y
m
i
=
m
z
m
( 2. 7)
Fazendo p
x
=x
0
e p
=y
0
as expresses (2.6) e (2.7), passam a:
x
m
i
=
x
m
z
m
+ p
x
( 2. 8)
Modelo pinhole camera 33
y
m
i
=
m
z
m
+ p
( 2. 9)
E ficamos com a origem do nosso referencial num dos cantos da imagem.
Reescrevendo a expresso (2.5) que relaciona P
m
i
e P
m
e apenas em funo dos
parmetros intrnsecos da cmara, em coordenadas homogneas fica-se com:
P
m
i
= K |I | u] P
m
( 2. 10)
Em que o ponto P
m
:
P
m
= j
P
m
1
[ ( 2. 11)
e o ponto P
m
i
a representao de P
m
i
em coordenadas homogneas definido por:
P
m
i
= j
P
m
i
1
[ ( 2. 12)
E que K :
K = _
u p
x
u p
u u 1
_ ( 2. 13)
K definido como a matriz de calibrao da cmara, contendo a distncia focal e o
centro da imagem. [13]
O modelo anterior considera que todo o espao em frente cmara est representado
segundo o referencial da cmara com origem em C, no sendo prtico estar
constantemente a representar o espao envolvente no referencial da cmara. Para
simplificar adicionado mais um referencial tridimensional X
W
Y
W
Z
W
do nosso mundo
exterior (chamado referencial do mundo) e nele onde o nosso espao de trabalho ficar
representado. As coordenadas 3D do nosso ponto P
m
neste novo referencial do mundo
sero (x
mw
, y
mw
, z
mw
) e definem o vector P
mw
. O referencial da cmara e o referencial
do mundo esto relacionados atravs de uma rotao e de uma translao. Na Figura
2.2.6 poderemos visualizar a relao entre os eixos coordenados. [14]
34 Captulo 2: Viso artificial
Fi gur a 2. 2. 6 Ref er enci al do mundo
A relao entre os pontos nos referenciais da cmara e do mundo expressa por:
P
m
= R(P
mw
-T) ( 2. 14)
e a relao do ponto no plano de imagem com o ponto no mundo em coordenadas
homogneas expressa em:
P
m
i
= KR_
I | -T
u | 1
_ P
mw
( 2. 15)
Modelo pinhole camera 35
Na expresso (2.15) P
mw
defin o por: id
P
mw
= j
P
mw
1
[ ( 2. 16)
A matriz R uma 3 d ign matriz de rotao sendo representada por:
matriz 3x es ada
R = _
r
1
r
2
r
3
r
4
r
5
r
6
r
7
r
8
r
9
_ ( 2. 17)
Nesta matriz esto implcitos os 3 ngulos sobre cada um dos eixos do referencial, e
que so denominados os ngulos de Euler, yaw , pitch , e roll . Estes podem ser
obtidos da matriz de rotao por exemplo atravs das expresses:
= Atan2(r , 1 - r
9
2
)
9
( 2. 18)
= Atan2(r
3
, r
6
) ( 2. 19)
= Atan2(-r
7
, r
8
) ( 2. 20)
De salientar que estas expresses no so nicas, dependendo do sinal do ngulo que
escolhermos para . Mais pormenores podem ser consultados em [26].
O vector T vector de translao representado por
T = _
t
x
t
t
z
_ ( 2. 21)
36 Captulo 2: Viso artificial
Podemos ento definir a matriz de projeco P da cmara:
P = KR|I | -T] ( 2. 22)
A matriz P tem 9 graus de liberdade, 3 para a matriz de calibrao K (elementos
, p py, 3 para R (os ngulos , e ) e 3 para T. x,
K contm os parmetros internos ou intrnsecos da cmara e R e T relaciona a
orientao e posio da cmara com o sistema de coordenadas do mundo. [13]
Reescrevendo a expresso (2.22) de forma a separar os parmetros intrnsecos e
extrnsecos da cmara fica-se com:
P
m
i
= K_
R | -RT
u | 1
_ P
mw
( 2. 23)
O modelo pinhole camera assume que os sistemas de eixos coordenados tm ambos
as mesmas escalas. Nas cmaras actuais com o uso de CCD, a coordenada no plano de
imagem costuma ser dado em pixis. Com a possibilidade da no existncia de pixis
completamente quadrados, temos um pequeno problema de factor de escala em cada
direco. Principalmente no nmero de pixis por unidade de distncia. [13]
Para continuarmos a usar o modelo pinhole camera, usando cmaras com CCD,
apenas necessrio efectuar a converso de pixis para unidades de distncia.
Ento, K vir definido como:
K = _
o
x
u x
u o
y
u u 1
_ ( 2. 24)
Em que o
x
= m
x
e o
= m
m
z
m
( 3. 2)
44 Captulo 3: Viso estereoscpica
Continuam a ser v ara a segunda cmara: lidas e temos p
x
2m
i
=
2
x
m
z
m
( 3. 3)
y
2m
i
=
2
m
z
m
( 3. 4)
Salienta-se que daqui em diante todas as variveis com o ndice 1 ou 2 associados
referem-se ao sistema da primeira ou da segunda cmara respectivamente. O referencial
3D (x
w
, y
w
, z
w
) e o nosso ponto P
mw
com coordenadas (x
mw
, y
mw
, z
mw
) no mundo, so
as nicas coisas que se mantm constantes na passagem do sistema com uma cmara
para o sistema estereoscpico.
Existe tambm uma matriz de rotao e de translao, devido ao facto da segunda
cmara ter uma rotao e uma translao diferente relativamente ao referencial do
mundo com origem em 0
W
.
_
x
2m
y
2m
z
2m
_ = R
2
_
x
mw
y
mw
z
mw
_ + T
2
( 3. 5)
P
2
= K
2
|R
2
| -R
2
T
2
] ( 3. 6)
Em que P
2
, K
2
, R
2
e T
2
so as matrizes de projeco, calibrao e rotao
respectivamente e o vector de translao da cmara nmero 2.
No captulo 3.5 so apresentados dois algoritmos para o clculo dos parmetros
intrnsecos e extrnsecos de cada uma das cmaras pertencentes ao sistema
estereoscpico.
Geometria epipolar 45
3. 4 Geomet ri a epi pol ar
Geometria epipolar a geometria projectiva intrnseca que existe entre duas vistas.
Ela independente da estrutura da cena e apenas dependente dos parmetros internos
das cmaras e da posio relativa destas. Esta geometria intrnseca est encapsulada
numa matriz, denominada matriz F. A matriz F uma matriz de dimenso 3x3 e se um
ponto P
m
no espao 3D visto na primeira vista do sistema estereoscpico, sendo a sua
projeco no plano de imagem P
1m
i
, na segunda vista P
m
visto como P
2m
i
ento estes
pontos nos dois planos de imagem satisfazem a relao [13]:
P
2m
iT
FP
1m
i
= u ( 3. 7)
A Figura 3.4.1 representa o modelo de um sistema estereoscpico e a sua
terminologia segue descrita em seguida.
Fi gur a 3. 4. 1 Model o de um si st ema est er eoscpi co
Os pontos e
1
e e
2
so denominados epipolos das imagens 1 e 2 respectivamente.
Estes dois pontos so formados pela linha que une os dois centros das cmaras C
1
, C
2
e
esta denomina-se a baseline do sistema.
Na Figura 3.4.1 est tambm representado o plano epipolar, que definido pelas
linhas de projeco do ponto P
m
no mundo ao centro de cada cmara juntamente com a
baseline. A intercepo do plano epipolar com as imagens do plano gera em cada um
destes uma linha, denominada de linha epipolar.
Atravs destes conceitos observa-se que, se o ponto P
m
mover sobre o raio de
projeco definido para a cmara 1 (equivalente a mover-se para a posio 1 ou 2 na
46 Captulo 3: Viso estereoscpica
Figura 3.4.1), ento a projeco deste ponto na imagem do plano da cmara 2, move-se
sobre a linha epipolar l
2
. Este conceito muito importante para a realizao de match de
pontos de duas imagens, conhecendo um ponto P
1m
i
na primeira vista, na segunda vista
no necessitamos de procurar em toda a imagem pelo correspondente par de P
1m
i
, mas
sim apenas sobre a linha epipolar l
2
. Esta definio vlida inversamente, ou seja,
conhecido um ponto P
2m
i
na segunda vista, o seu par na primeira vista est restrito
linha epipolar l
1
.
Se j tivermos acesso a F e conhecendo um ponto P
m
no plano de imagem da cmara
1, ento o seu par encontra-se restringido linha epipolar
l
2.
Em que l
2
obtido a partir
de:
l
2
= FP
1m
i
( 3. 8)
Se pretendermos o inverso apenas temos que transpor a matriz F, representado em
(3.9)
l
1
= F
T
P
2m
i
( 3. 9)
Se no conhecemos a matriz F, necessrio determin-la, existindo alguns
caminhos para a sua determinao, como por exemplo:
Processos lineares com e sem escalamento;
Processos no lineares;
Atravs do conceito de paralaxe virtual.
Em [16] so explicadas algumas vantagens e desvantagens entre cada um deles,
entre as quais destacam-se que, os critrios no lineares serem melhores que os critrios
lineares, mas ao mesmo tempo mais pesados computacionalmente.
Vamos abordar dois critrios, para o clculo da matriz F, a partir dos parmetros
intrnsecos das cmaras (obtidos pelo algoritmo de Tsai, ver seco 3.5) e atravs do
eight-point algorithm ver seco 3.5.2.
Rimon Elias e Robert Laganire [16] dizem que no caso de os parmetros
intrnsecos de ambas as cmaras j serem conhecidos ento a matriz fundamental a
matriz essencial do sistema. Esta matriz uma precursora da matriz fundamental e
depende de 5 parmetros descrevendo a disparidade binocular entre as duas vistas, em
que os 3 primeiros parmetros so devido rotao 3D e os outros 2 definem a direco
da translao apenas descreve os parmetros extrnsecos da cmara; Enquanto a
matriz F contm os parmetros intrnsecos e extrnsecos.
Geometria epipolar 47
Se temos P
1m
i
e P
2m
i
de um ponto P
m
nas duas imagens ento segundo o modelo
pinhole, tendo a matriz de rotao R e o vector deslocamento T da segunda vista em
relao primeira podemos ento determinar F atravs da matriz E - matriz essencial. R
e T passam a ser chamados parmetros extrnsecos do sistema estereoscpico.
F = K
2
-1
T
x
RK
1
-1
( 3. 10)
Onde T
x
a matriz anti-simtrica definida pelo vector de translao T, K
2
a
matriz de calibrao da cmara 2, R a matriz de rotao do sistema estereoscpico e K
1
a matriz de calibrao da cmara 1.
A matriz essencial E pode ser escrita como:
E = T
x
R ( 3. 11)
Com a relao (3.11) a expresso (3.7) passa a:
P
2m
i1
EP
1m
= u ( 3. 12)
Ficando as matrizes F e E relacionadas por:
F = K
2
-1
E K
1
-1
( 3. 13)
E = K
2
1
FK
1
( 3. 14)
48 Captulo 3: Viso estereoscpica
3. 5 Cal i brao do si st ema de vi so
3. 5. 1 O al gori t mo de Tsai : versat i l e camera cal i brat i on t echni que
A calibrao de um sistema de viso tenta calcular um largo nmero de parmetros
do sistema de viso. Classicamente so usados processos no lineares para percorrer
todo o cenrio de calibrao. Para evitar estes processos no lineares, muitas vezes
usam-se estratgias de sistemas de equaes lineares, usadas por exemplo no modelo
DLT Direct linear transformation em que possvel que se obtenha um nmero de
variveis superior ao nmero de graus de liberdade. O problema deste algoritmo que
ignora a distoro das lentes assim como a dependncia entre parmetros. [14]
O algoritmo de Tsai usa uma particularidade fsica do sistema de viso, esta
particularidade trata-se do alinhamento radial. Esta particularidade definida em funo
da rotao relativa e translao (excepto na componente Z) entre a cmara e os pontos
de calibrao - ver Figura 3.5.1 e particularidades descritas a seguir:
assumido que a distoro radial, ou seja, em nada afecta na profundidade
do espao envolvente. No importa qual a magnitude da distoro, a direco
do vector O
i
P
d
(vector definido pela origem O
i
e pelo ponto P
d
com as
coordenadas (x
d
,y
d
) na imagem do plano) mantm-se constante e
radialmente alinhado com o vector P
Oz
P, ( formado pela origem P
Oz
- dada
pela coordenada z do ponto P - e pelo ponto P ). A coordenada z destes dois
pontos a mesma - ver Figura 3.5.1.
A distncia focal f no influencia a direco do vector O
i
P
d .
O ponto no mundo transladado e rodado em X, Y logo O
i
P
d
ser sempre
paralelo a P
Oz
P para todos os pontos. A componente Z de translao no
altera a direco de O
i
P
d
. [14]
Fi gur a 3. 5. 1 Par t i cul ar i dades assumi das no al gor i t mo de Tsai .
Ret i r ada de [14]
Calibrao do sistema de viso 49
Para a calibrao foi usado um conjunto de pontos complanares com a cmara a
calibrar ver Figura 3.5.2.
Fi gur a 3. 5. 2 Set up Cal i br ao Tsai
Esta calibrao feita atravs de um conjunto de pontos em que as suas posies no
mundo (x
w
, y
w
, z
w
) so conhecidas bolas rosa na Figura 3.5.2. - e as coordenadas
(x
m
i
, y
m
i
) medidas no plano de imagem pontos formados pela intercepo das linhas
vermelhas da Figura 3.5.2, com o plano de imagem da cmara a calibrar.
O conjunto de pontos no mundo e que a sua posio conhecida (pontos de
calibrao) esto assentes num plano (chamado plano de calibrao) plano axadrezado
na Figura 3.5.2.
Depois de calculadas as coordenadas no plano de imagem dos pontos do mundo
conhecidos, todo o algoritmo se desenrola usando as relaes anteriormente descritas.
Atravs delas possvel calcular os parmetros intrnsecos e extrnsecos apresentados a
seguir.
Os parmetros extrnsecos que pretendemos calcular so a transformao do sistema
de coordenadas 3D do mundo para o sistema de coordenadas 3D da cmara centrado no
centro ptico. Existem 6 parmetros extrnsecos, 3 deles so os ngulos de Euler, yaw ,
pitch , e roll para a rotao e os trs componentes de translao do vector T.
50 Captulo 3: Viso estereoscpica
A matriz de rotao pode ser expressa como:
R = _
cos cos 0 sincos 0 -sin0
-sincos +cos sin0 cos cos cos +sinsin0 sin cos 0 sin
sinsin +cos sin0 cos -cos sin +sinsin0 cos cos 0 cos
_ ( 3. 15)
E que pode ser escrita numa forma mais compacta:
R = _
r
1
r
2
r
3
r
4
r
5
r
6
r
7
r
8
r
9
_ ( 3. 16)
O vector T de transla o por: o definid
T = _
t
x
t
t
z
_ ( 3. 17)
Atravs deste algoritmo possvel tambm calcular os parmetros intrnsecos j
referidos anteriormente no captulo 2 e que se passam a citar:
is ia focal efectiva. f d tnc
Coeficie
(C
x
, C
, y
12
13
21
22
23
31
32
33
]
1
( 3. 21)
a expresso (3.7) pode ser reescrita como:
|x
2m
i
x
m
i
y
2m
i
x
m
i
x
m
i
x
2m
i
y
m
i
y
2m
i
y
m
i
y
m
i
x
2m
i
y
2m
i
1]F = u
( 3. 22)
Onde P
2m
i
= |x
2m
i
y
2m
i
1]
1
e P
1m
i
= |x
m
i
y
m
i
1]
1
Se tivermos mais que 8 correspondncias obtemos um sistema sobredimensionado e
vivel o uso do mtodo dos mnimos quadrados para resolver:
Calibrao do sistema de viso 53
min
F
= (P
2m
iT
F P
m
i
)
2
( 3. 23)
Considerando n pares de correspondncias, ento pode ser escrito como:
min
I
= [NF[
2
( 3. 24)
Onde N uma matriz de n x 9 elementos.
A equao (3.7) pode ser escrita como
NF = u ( 3. 25)
e refere que a soluo pode ser encontrada usando a decomposio em valores
singulares Singular value decomposition (SVD) - de N
1
N que corresponde ao vector
prprio mais pequeno da matriz U, que corresponde ltima coluna de U.
Atravs deste algoritmo, o processo de calibrao rpido e fcil. Para gerar os
pares de pontos necessrios, movia-se aleatoriamente um marcador no campo de viso
da cmara. Durante esta amostragem o sistema retira as posies dos pontos e faz a sua
identificao como pares, aps esta amostra os pares obtidos so usados no algoritmo
para o clculo de F. Este algoritmo sofre do problema de reconstruo mtrica. Como
mencionado anteriormente o clculo de F obtido e depende de um factor de escala,
sendo necessrio afinar os valores de F para se obter uma reconstruo 3D correcta.
Foram analisadas algumas maneiras de tentar efectuar este passo automaticamente,
inserindo no sistema 3 medidas conhecidas e usando mais leds na calibrao. Devido ao
tempo disponvel no foi possvel finalizar este processo.
54 Captulo 3: Viso estereoscpica
3. 6 Reconst ruo 3D
Depois de encontrados os pares de pontos nas duas imagens, de nosso interesse
efectuar a reconstruo tridimensional do ponto.
Para esta tarefa mais uma vez existem diferentes caminhos que se podem tomar para
efectuar a reconstruo tridimensional a partir das matrizes de projeco. Na lista
seguinte so apresentadas algumas delas: minimizao da distncia, intercepo dos
raios das cmaras, triangulao atravs dos raios das cmaras que podem no se
interceptar e usando decomposio de valores singulares.
Idealmente atravs de triangulao dos raios das cmaras, era possvel obter a
posio tridimensional do ponto P
m
(ver Figura 3.6.1), mas devido a rudo raramente
ocorre a intercepo das rectas de projeco.
Fi gur a 3. 6. 1 Tr i angul ao i deal
No trabalho foi implementado o critrio de triangulao que prev que as rectas de
projeco podem no se interceptar na realidade, retirando o ponto mdio da
perpendicular entre os dois raios, ver Figura 3.6.2.
A triangulao a intercepo das rectas de projeco que saem dos centros das
cmaras passando nos respectivos planos de imagem e no ponto comum a eles, ponto no
mundo, as rectas intersectam-se. [18]
Reconstruo 3D 55
Fi gur a 3. 6. 2 Tr i angul ao sem i nt er cepo dos r ai os
Rimon Elias and Robert Laganire [16] afirmam que a equao da linha de
projeco da primeira vista pode ser representada por:
i
I
= oP
1m
i
( 3. 26)
Onde a um valor escalar. A linha de projeco da segunda vista, lado direito,
referido ao plano de imagem esquerdo pode ser expresso como:
i
r
= bR
1
P
2m
i
+ T ( 3. 27)
Onde b um valor escalar.
De salientar que conhecidos a e b as expresses anteriores no caso de triangulao
ideal, dariam o mesmo ponto. Como estamos a considerar que a triangulao no ideal
ento obtemos dois pontos p
1
p
2
ver Figura 3.6.2. e -
O vector perpendicular a i
I
a i
r
:
p = P
1m
i
x R
1
P
2m
i
( 3. 28)
A linha s paralela a p e passando em oP
1m
i
:
s = oP
1m
i
+cp ( 3. 29)
56 Captulo 3: Viso estereoscpica
Onde c um escalar, ento a linha da esquerda mais o valor da linha perpendicular a
r
I
obtemos o outro extremo da linha do lado direito. Logo os pontos finais do segmento
de recta s podem ser obtidos resolvendo:
oP
1m
i
+ c(P
1m
i
x R
1
P
2m
i
) = bR
1
P
2m
i
+T ( 3. 30)
Obtemos assim o ponto mdio do erro entre os raios projectados. Uma boa medida
do desvio que os raios esto a sofrer entre um e outro analisar o escalar c - quanto
mais prximo de zero for menos erro entre as rectas existe.
Voltando ao caso em que a, b e c so conhecidos, na representao passamos a ter os
pontos p
1
, p
2
j referido anteriormente. Como estamos a considerar que o ponto P
m
est
a metade da distncia entre p
1
e p
2
esta distncia c/2.
Capt ul o 4
Hardware
Neste captulo descrito todo o hardware usado para a elaborao do trabalho
apenas ser apresentado as caractersticas mais relevantes. Para obter mais informaes
podem ser adquiridas atravs das folhas de caractersticas de cada componente.
4. 1 Si st ema est ereoscpi co
Sistema de viso, composto por duas cmaras com lentes iguais. As lentes usadas
so de distncia focal de 6 mm, e as cmaras fazem capturas de imagens com resoluo
de (64u x 48u) pixis e em modo automtico a frequncia mxima de captura est entre
os 30-40ms. A comunicao destas cmaras efectuada via USB e permitem o que o
disparo do obturador funcione em modo manual ou em modo automtico. Este
funcionamento configurado por software e em modo de funcionamento manual
necessrio fornecer o sinal de disparo do obturador na entrada de trigger que possui.
Esta caracterstica das cmaras importante para o nosso trabalho - imperativo que as
imagens capturadas pelo nosso sistema estereoscpico sejam do mesmo instante. Assim
sendo apenas se usa o modo manual de disparo e frequncia de 10 Hz. As Figura 4.1.1
e Figura 4.1.2 mostram uma cmara do sistema estereoscpico.
Fi gur a 4. 1. 1 Cmar a do si st ema est er eoscpi co
57
58 Captulo 4: Hardware
As cmaras foram assentes num trip e colocadas numa barra de suporte, separadas
de uma distncia de 78 cm. A Figura 4.1.3 ilustra a disposio das cmaras, ficando o
sistema estereoscpico assim definido.
Fi gur a 4. 1. 2 Ent r adas USB e Tr i gger das cmar as usadas
Fi gur a 4. 1. 3 Si st ema est er eoscpi co mont ado
Marcadores Luminosos 59
4. 2 Marcadores Lumi nosos
Para obter a posio e rotao da ferramenta nela ser acoplada um conjunto de leds
de iluminao de alta potncia, que daqui em diante sero referidos como marcadores
ou marcadores luminosos.
Para os testes foi criado um suporte modular em forma de cruz (Figura 4.2.1) que
permitisse facilmente, quando pretendido, alterar a posio dos marcadores.
Para a deteco da posio da ferramenta apenas necessrio um marcador, mas
para retirar a rotao e orientao dela, necessrio ter a ideia do plano em que ela est
assente. Para se conseguir definir este plano so precisos no mnimo 3 marcadores,
tendo-se optado o uso de quatro marcadores para aumentar a preciso e robustez do
sistema. Desta forma, se mais tarde se concluir que vantajoso introduzir mais
marcadores, as funes implementadas j esto preparadas para processar um maior
nmero de marcadores.
Fi gur a 4. 2. 1 Supor t e const r udo par a col ocar os mar cador es
Para se detectar o sincronismo entre a aquisio de imagens por parte do sistema
estereoscpico, os nossos marcadores no fornecem uma emisso contnua de luz,
estando apenas a emitir num curto espao de tempo para que possa ser capturado pelo
sistema estereoscpico. Desta forma possvel fornecer uma potncia muito mais
elevada durante um curto espao de tempo, o que facilita a deteco destes nas imagens.
Permite tambm diminuir/anular o incmodo provocado pela intensidade de luz nos
utilizadores do sistema.
O disparo dos leds est sincronizado com o sistema de trigger das cmaras, se o
nosso sistema estiver bem sincronizado, os marcadores luminosos apareceram em
emisso contnua no filme capturado pelas imagens; Caso contrrio, conseguimos
visualizar um piscar de marcadores como na realidade se verifica a olho nu.
60 Captulo 4: Hardware
A Figura 4.2.2 mostra a disposio dos marcadores na ferramenta real de trabalho -
notar que os marcadores no tm que ter a disposio em cruz, apresentada no modelo
montado em cima.
Fi gur a 4. 2. 2 Di sposi o dos mar cador es l umi nosos na f er r ament a
4. 3 Si st ema de Si ncroni zao
Para o sistema de sincronizao, disparo de trigger e de marcadores foi usada uma
placa genrica que contm um microprocessador Atmega164P. O micro controlador
atravs de dois mosfets de potncia actua sobre os marcadores e entrada de trigger
durante o tempo previamente predefinido.
Este circuito estava em funcionamento no sistema Sincrovision j construdo
anteriormente, sendo que as suas caractersticas e funcionalidades j estavam bem
testadas.
Fi gur a 4. 3. 1 Pl aca genr i ca At mega164P
Manipulador industrial 61
4. 4 Mani pul ador i ndust ri al
Para um trabalho sobre programao rpida de manipuladores industriais nada
melhor que ter acesso a um manipulador para testes. Assim temos a noo de alguns
problemas reais, sobre comunicaes, limitaes de movimentos, configuraes etc.
A empresa MOTOMAN cedeu gentilmente um manipulador robtico que tem a
capacidade de 20 kg de carga no punho.
Estudou-se o modo de programar e configurar este tipo de manipulador. Como este
tipo de manipuladores tem muita preciso, at centsima de milmetro, foram escritos
pequenos programas para debug do sistema estereoscpico desenvolvido desde
simples movimentos com translao e rotao, como percursos mais elaborados. Na
foto pode-se ver o manipulador em aco com os marcadores.
O manipulador foi usado para verificar se o sistema estereoscpico estava a medir
bem translaes e rotaes dos marcadores bem como para a parte de gerao de
trajectrias. Usado nos testes de fora versus corrente consumida pelo motor da
mquina de polimento e ser utilizado futuramente no processo de polimento
robotizado.
Fi gur a 4. 4. 1 Mani pul ador Mot oman
62 Captulo 4: Hardware
4. 5 Si st ema Pneumt i co
O sistema pneumtico serve para que o manipulador possa segurar as peas a polir
durante esta actividade. O sistema montado composto por um compressor, um
regulador de presso para definir a presso necessria ao funcionamento do gripper e
um bloco de vlvulas pneumticas. As caractersticas do material so apresentadas a
seguir. No gripper foram efectuadas alteraes para que fosse possvel segurar as peas
apresentadas na seco 4.9.
Caractersticas:
Gripper PGN 64 -2 370 150
Peso mximo da pea a trabalhar: 2.5 kg;
Tempo de abertura e de fecho: 0.02 s.
Regulador de presso:
Presso mxima 15 bars.
Bloco de vlvulas:
Tenso de fecho: 12 Volts DC.
Fi gur a 4. 5. 1 Gr i pper usado
Fora aos 6 bars: 420 N;
Vlvula de uma bobine;
Presso mxima: 8 bars;
Sensor de fora 63
4. 6 Sensor de f ora
Na actividade de polimento necessrio ter uma boa estimativa da fora exercida
sobre a pea que estamos a polir. Para se ter uma ideia do valor da fora foi usado um
sensor JR3 analgico de 6 graus de liberdade de forma a procedermos a algumas
experincias. Este sensor j vem preparado para ser acoplado ao punho de um
manipulador industrial e a sua aparncia pode ser visualizada na Figura 4.6.1.O sensor
que dispomos ligado a uma placa PCI e atravs dela podemos obter os valores
medidos pelo JR3. Este sensor tem a capacidade de medir foras e binrios segundo 6
eixos, 3 como mostrados na Figura 4.6.2, mais 3 de toro, ou seja o binrio exercido
sobre cada um dos eixos ilustrados.
A sada do sensor em Newton, sendo que necessrio ajustar escalas para que se
consiga obter este valor correctamente. No foi necessrio este ajuste, pois o sensor j
estava configurado com as escalas correctas.
Fi gur a 4. 6. 1 Sensor de f or a JR3
Surgiu a motivao, em particular para a actividade de polimento, da substituio do
sensor JR3 por um sensor mais barato. Foram efectuados testes de forma a se encontrar
uma relao vlida entre a fora exercida pelo manipulador sobre o disco de polimento
e a corrente consumida pelo motor elctrico que o faz girar. O sistema de monitorizao
de corrente est descrito na seco seguinte.
Ao inicio deparou-se com algumas dificuldades em colocar este sensor a funcionar
na plataforma Linux. Encontrou-se um driver para Linux num local Web de um outro
projecto muito interessante de Mrio Prats [29], mas que no funcionava nas novas
verses de Linux.
64 Captulo 4: Hardware
Fi gur a 4. 6. 2 Repr esent ao de 3 dos 6 gr aus de l i ber dade mensur vei s pel o
JR3. Imagem r et i r ada da f ol ha de car act er st i cas do sensor .
O driver para Linux foi actualizado, nas bibliotecas de que depende para a sua
instalao. Como se sabe o software Open Source est constantemente a ser actualizado,
e por vezes necessrio fazer uma reviso ao software j desenvolvido, principalmente
quando so necessrias bibliotecas de sistema. Ao autor do driver Linux Mrio Prats
[29] foi-lhe comunicado esta alterao tendo sido criado um script que escolhe
automaticamente a biblioteca a ser usada consoante a verso de kernel instalada. Foram
implementados tambm alguns procedimentos de forma a aplicaes desenvolvidas em
Lazarus poderem efectuar a leitura dos valores do sensor de fora - Figura 4.6.3.
Futuramente, procedimentos para a escrita de escalas e escolha de filtros sero
implementadas. No tendo sido usada a plataforma Windows, mesmo assim fica a
referncia onde poder ser encontrado o driver para este sistema operativo - pgina
pessoal de Norberto Pires [30].
Fi gur a 4. 6. 3 Apl i cao JR3
Mquina de Polimento 65
4. 7 Mqui na de Pol i ment o
Para o estudo da relao da fora aplicada sobre as peas a polir versus corrente
consumida pelo motor trifsico, a NS-Mquinas cedeu uma mquina de polimento.
Est mquina constituda por um motor trifsico e um disco de polimento, com a
possibilidade de se poder duplicar as caractersticas anteriores - 2 motores e dois discos,
ver Figura 4.7.1
Fi gur a 4. 7. 1 Mqui na de pol i r
Obteve-se uma ideia do funcionamento do conjunto do sistema manipulador,
sistema pneumtico, mquina de polimento.
66 Captulo 4: Hardware
4. 8 Si st ema de moni t ori zao de Corrent e
Com a motivao apresentada na seco 4.6 era necessrio ter um sistema a
monitorizar a corrente do motor trifsico que faz girar o disco de polimento. Para este
efeito usou-se o analisador de energia Mach Smart da Ducati, que permite a leitura e
monitorizao dos gastos energticos de um motor trifsico (ex: Potncia mdia
consumida, Correntes em cada fase, Tenses em cada fase, tenses compostas, entre
outras).
Este dispositivo tem a possibilidade de se efectuarem leituras dos valores medidos
atravs do protocolo RS-485. Foi desenvolvida uma aplicao modelo de leitura dos
valores medidos pelo analisador de energia da DUCATI -Figura 4.8.2.
Fi gur a 4. 8. 1 Anal i sador de ener gi a Mach Smar t da Ducat i
Com o incio dos testes e logs sincronizados efectuados, foi detectado que o
aparelho de medida Mach Smart apenas coloca disponveis os valores medidos
frequncia de 1 Hz - embora ele internamente trabalhe a uma frequncia de amostragem
de 1800 Hz. Abandonou-se a ideia do uso deste sensor, sendo apenas usado para
confirmar os valores obtidos no circuito apresentado a seguir.
Fi gur a 4. 8. 2 Apl i cao Mach Moni t or
Sistema de monitorizao de Corrente 67
Foi desenvolvido um circuito de leitura da corrente de uma fase do motor trifsico,
que funciona-se frequncia de 1 KHz. Este circuito desenvolvido composto por um
circuito de condicionamento de sinal (em que faz um ajuste de escala e amplifica o sinal
aplicado sua entrada) e um LEM LTS 15 NP (a sua sada em tenso e varia
linearmente com os valores e sentido das correntes medidas que o atravessam) - Figura
4.8.3 e Figura 4.8.4. Para leitura da tenso de sada do LEM foi usada uma placa de
circuito impresso que contm uma montagem genrica de um micro controlador
atmega8. O micro controlador efectua leituras atravs do seu ADC, processa a
informao adquirida e envia os dados por RS-232 para a aplicao desenvolvida para o
efeito.
Fi gur a 4. 8. 3 Ci r cui t o de Condi ci onament o de si nal
Este circuito est a funcionar com uma frequncia de amostragem de 1KHz o que
suficiente para se conseguir a reconstruo da onda a medir - 50Hz.
A sada do nosso sensor esta representada na Figura 4.8.4 e linearmente
dependente com a corrente e direco que o atravessa.
Fi gur a 4. 8. 4 Sada em t enso do LEM
68 Captulo 4: Hardware
-IPmax/ IPmax - Corrente mxima no primrio, neste sensor +/- 45A.
-IPN/IPN Corrente nominal no primrio, neste sensor +/- 15 A.
O conversor analgico digital analog to digital converter ADC - do micro
con
Foram analisados os consumos do motor trifsico atravs do analisador da Mach, as
cor
trolador tem 8 bits e o seu valor de fim de escala usado foi de 5V obtendo uma
resoluo de 19.6 mV.
rentes em vazio, ou seja, sem nenhuma pea no disco de polimento, rondam em
mdia os 4.10 A, em carga estimou-se por observao de resultados obtidos em testes,
que a corrente mxima que o motor poderia consumir, seria 6.5 A. Projectou-se ento
um circuito para leituras at 7.5 A de valor eficaz 10.6 A de valor de pico, valor
medido pelo LEM. A tenso na sada do LEM varia segundo a expresso:
I
out
= 2.S _ u.62S [
I
p
I
PN
Iolts ( 4. 1)
te que est a ser medida no LEM. Podemos notar que para
Corrente de pico Sada do LEM (V) Diferena
visualizada na sada
Em que I
p
a corren
I
p
= u, I
out
= 2.S I. Para os nossos valores de correntes mximos esperados a
tenso vai variar da referncia 2.5V de - Figura 4.8.5.
(A)
- 2.05 10.6 450 mV
- 5.8 2.25 250 mv
5.8 2.74 240 mv
10.6 2.94 440 mv
Fi gur a 4. 8. 5 Val or es Mxi mos e m o ci r cui t o de l ei t u nt e
Note-se que a sada do LEM linear com a intensidade e sentido da corrente, como
est
Ento para uma corrente eficaz de 7.5 A apenas iramos ter na sada do LEM uma
dif
Na Figura 4.8.3 est representado o circuito de condicionamento de sinal.
com
ni mos d r a de cor r e
amos a trabalhar com ondas em AC sinusoidais, iremos obter valores positivos e
negativos.
erena de meio volt, foi ento projectado um circuito amplificador e de ajustamento
de escala.
posto por um amplificador operacional em que na sua entrada negativa temos a
sada em tenso do LEM seguido de uma montagem amplificadora de ganho 5.6, como
se pode deduzir pelas resistncias R
1
e R
2.
Na entrada positiva temos um divisor
Sistema de monitorizao de Corrente 69
resistivo de forma a efectuar um ajustamento do ponto de funcionamento, para assim
obter uma maior resoluo de leitura de corrente.
Atravs deste circuito de condicionamento de sinal obtemos sada 0 V para -10.6
A e
ada a expresso:
5.04V para 10.6A de pico.
Para o clculo do valor eficaz da corrente us
v
eII
= _
1
T
] v
2
(t) dt
T
( 4. 2)
ostrado aproximada por: Sendo o sinal am
v
eII
= _
1
N
v
t
2 N
t=1
( 4. 3)
lo do valor eficaz, o somatrio do quadrado dos valores medidos est a
ser
comparadas com as medidas
efe
mos ver o aspecto da nova aplicao desenhada para a leitura
da
Para o clcu
efectuado pelo prprio micro controlador, sendo este valor enviado a cada 100 ms
via porta srie para a aplicao Sincrovision. O restante clculo efectuado dentro da
aplicao, para ser processado o seu valor correcto.
As medidas efectuadas por este circuito foram
ctuadas pelo Mach, sendo que a diferena de valores obtidos no era muito diferente
e eram fiveis. Conseguimos assim obter valores eficazes da corrente com uma
resoluo de 80 mA de 100 em 100 ms, tempos impostos pela captura do sistema
estereoscpico.
Na Figura 4.8.6 pode
corrente atravs do sensor LEM.
Fi gur a 4. 8. 6 Aspect o da apl i cao de moni t or i zao de cor r ent e
70 Captulo 4: Hardware
4. 9 Peas para pol i ment o
Para a actividade do polimento a empresa NS-Mquinas cedeu um conjunto de peas
de teste para polimento. Com estas peas foram efectuados os logs e testes de
monitorizao de corrente e fora.
Foi enviada uma pea modelo, j polida. Podemos ver na Figura 4.9.1 a pea no
topo da imagem a pea modelo, e a pea no fundo da imagem uma das peas
enviadas antes de entrar na mquina de polimento.
Fi gur a 4. 9. 1 Peas par a pol i ment o
Nesta fase do trabalho no era objectivo, proceder ao polimento das peas, elas
foram usadas para testes e aquisio de medidas.
Capt ul o 5
Si st ema Si ncrovi si on
Neste captulo so descritas as alteraes efectuadas aplicao j existente a
funcionar com o sistema Sincrovision. At aqui apenas era processado e determinado a
posio de um marcador no mundo. Aps este perodo de trabalho, novas
funcionalidades foram adicionadas ao programa, entre as quais:
9 Identificao e determinao da posio e da rotao de 4 marcadores
colocados na ferramenta do operador.
9 Monitorizao/armazenamento de trajectrias efectuadas pela ferramenta.
9 Aquisio dos valores das correntes do motor trifsico da mquina de
polimento, com a opo de efectuar a medida em modo sincronizado com o
sistema de viso ou em modo livre.
9 Aquisio dos valores do sensor de fora, com a opo de efectuar as
medidas em modo sincronizado com o sistema de viso ou em modo livre.
So tambm abordados os passos efectuados para a implementao e testes dos
algoritmos escolhidos.
5. 1 Cal i brao Tsai
Para obter os parmetros intrnsecos e extrnsecos da configurao do sistema
estereoscpico montado, foi efectuada a calibrao do mesmo. Foram utilizados os
algoritmos Tsai e eight point. No entanto, neste ltimo necessrio ajustar a escala da
reconstruo, o que ainda no se conseguiu implementar de forma automtica. O Tsai
o algoritmo mais usado pois permite uma reconstruo 3D mtrica directa, aps a
obteno dos parmetros das cmaras.
71
72 Captulo 5: Sincrovision
Comeamos por definir um referencial tridimensional no plano de calibrao, para
explicar as rotaes efectuadas.
Fi gur a 5. 1. 1 Ei xos de r ot ao
Como j referido na seco 3.5.1, o plano de calibrao no pode estar perpendicular
aos planos de imagem das cmaras. Para um sistema de uma s cmara, com alguma
facilidade que se coloca o plano de calibrao numa posio propcia mesma. Num
sistema estereoscpico, com a configurao escolhida, difcil o posicionamento do
plano de calibrao segundo a rotao sobre o eixo Z - Figura 5.1.1. Por exemplo,
quando se coloca o plano de calibrao no perpendicular para a cmara nmero 1 ver
Figura 5.1.2 a) - na cmara 2 o plano de calibrao fica quase na perpendicular - ver
Figura 5.1.2 b).
Efectuaram-se alguns testes e verificou-se que, a deciso de rotao sobre este eixo
Z no era a mais adequada, devido a terem-se obtido valores incorrectos e no fiveis.
Fi gur a 5. 1. 2 Rot ao segundo ei xo Z- a) vi st a par a a cmar a 1, b) vi st a par a a cmar a 2
Calibrao Tsai 73
Optou-se pela rotao segundo outro eixo, rotao sobre o eixo Y, em que permitia a
variao do ngulo do plano de calibrao, garantindo a no perpendicularidade do
plano s cmaras. A Figura 5.1.3 exemplifica uma parte de uma sequncia de imagens
para calibrao do algoritmo Tsai.
Fi gur a 5. 1. 3 Comeando a r ef er i r por ci ma - Test e 2, 4 e 6 ef ect uados par a a
cal i br ao Tsai .
Exemplo da sequncia efectuada do processo de calibrao Tsai:
i) Captura das imagens - Figura 5.1.4;
ii) Threshold das imagens - Figura 5.1.5;
iii) Localizao dos pontos de calibrao e extraco das suas posies - Figura
5.1.6;
74 Captulo 5: Sincrovision
Fi gur a 5. 1. 4 Capt ur a dos pl anos Test e 2
Fi gur a 5. 1. 5 Apl i cao de t r eshol d
Fi gur a 5. 1. 6 Local i zao de Pont os de cal i br ao
Calibrao Tsai 75
Alguns resultados medida que se inclinava o plano de calibrao esto
representados na tabela 5.1.1. Podemos visualizar a variao de alguns dos parmetros
intrnsecos e extrnsecos com a posio do plano de calibrao.
5. 1. 1 Al guns Par met r os i nt r nsecos cal cul ados
Parmetros f Tx Ty Tz
Ensaio
1 Cmara
1
0.004875 -0.049413 0.241497
1.030214
Cmara
2
0.005719 -0.284669 0.196879
1.257953
2 Cmara
1
0.005274 -0.052935 0.226462
1.137745
Cmara
2
0.005968 -0.281696 0.180703
1.327709
3 Cmara
1
0.005576 -0.056073 0.223467
1.221038
Cmara
2
0.006008 -0.278884 0.176837
1.351057
4 Cmara
1
0.005935 -0.060027 0.222717
1.322871
Cmara
2
0.006035 -0.275045 0.175178
1.375974
5 Cmara
1
0.00615 -0.063986 0.225072
1.393956
Cmara
2
0.006116 -0.271115 0.176864
1.413817
Os valores desta tabela so os resultados da calibrao da sequncia efectuada e
mostrada na Figura 5.1.3 na figura apenas esto representados trs passos da
sequncia. Nesta sequncia, o plano de calibrao estava a aproximadamente a noventa
graus com a horizontal e foi-se diminuindo o ngulo do plano at o sistema de viso no
ser capaz de detectar os pontos de calibrao. Os valores esto apresentados de forma
decrescente do ngulo do plano de calibrao. Do teste nmero 6 da Figura 5.1.3 no foi
possvel extrair valores fiveis.
Salienta-se que o ngulo do plano de calibrao no foi medido nesta experincia.
Para trabalho futuro, poder-se- calcular o valor ideal deste parmetro para este tipo de
calibrao.
observada na tabela a variao da distncia focal f e os parmetros de translao
de cada cmara ao plano de calibrao. Observa-se um constante aumento da distncia
focal consoante se diminui o ngulo com a horizontal. O valor que melhor se aproxima
do correcto o ensaio nmero 4 e nmero 5, pois so os nicos em que para as duas
cmaras as distncias focais esto perto de 6 mm este o valor esperado, pois so
usadas lentes de 6 mm no sistema de viso. Usaram-se estes dois valores para alguns
ensaios que so apresentados nas seguintes seces.
Pode-se ento concluir que necessrio ter em ateno o processo de calibrao,
para se obter correctamente os parmetros pretendidos.
76 Captulo 5: Sincrovision
5. 2 Test e da Geomet ri a epi pol ar
Aps extraco dos parmetros intrnsecos e extrnsecos do sistema estereoscpico,
foram efectuados grupos de testes para verificao dos valores obtidos. O teste da
geometria epipolar corresponde ao primeiro passo num total de 3, para a verificao da
fiabilidade dos valores calculados. Recorreu-se geometria epipolar para confirmao
dos clculos e dos parmetros intrnsecos calculados no passo anterior.
Atravs da geometria epipolar sabemos que se conhecemos um ponto na primeira
vista, o par correspondente na imagem 2, encontra-se sobre a linha epipolar. A Figura
5.2.1 mostra a linha epipolar obtida, recorrendo ao teste da geometria epipolar.
Fi gur a 5. 2. 1 Li nha epi pol ar cal cul ada at r avs do pont o sel ecci onado na i magem 1
Quando dois pontos esto sobre a mesma linha horizontal na primeira imagem,
existe ambiguidade na determinao do seu par; isto porque existem 2 pontos na
segunda imagem que esto sobre a mesma linha epipolar. Neste caso, utiliza-se outro
critrio para fazer a correcta identificao de pares de pontos. No sistema Sincrovision,
tal facto ocorre quando dois marcadores de cores iguais ficam sobre a mesma linha.
Existem vrias formas de resolver esta ambiguidade. A soluo implementada
calculada com base na distncia de cada um dos pontos linha epipolar aquele que se
encontrar a uma distncia menor da linha o que lhe pertence. Caso ocorra que a
distncia linha epipolar seja a mesma, baseamo-nos na geometria do sistema e faz-se a
correspondncia directa de pontos o ponto mais esquerda/direita na imagem nmero
dois corresponde ao ponto esquerda/direita da imagem nmero 1.
Teste reconstruo 3D 77
5. 3 Test e reconst ruo 3D
Para a segunda validao do algoritmo de calibrao, efectuou-se a reconstruo 3D
dos pontos do plano de calibrao. Na Figura 5.3.1, possvel observar, em plano de
fundo, a imagem captada pelo sistema estereoscpico e, no canto superior direito, a
representao grfica da reconstruo dos pontos do plano de calibrao usados neste
ensaio.
Graficamente podemos ver que a reconstruo 3D est a ser executada, j que os
planos de calibrao mais pequenos aparentam estar perpendiculares entre si, como
estavam na realidade.
Fi gur a 5. 3. 1 Test e r econst r uo 3D
Podemos observar na Figura 5.3.2, na figura da esquerda a reconstruo de um plano
de calibrao. Embora os resultados das calibraes sejam satisfatrias, vemos
graficamente na imagem da direita, aps rotao do plano de calibrao que as lentes
podem introduzir alguns erros, como demonstrado na Figura 5.3.2, denominado efeito
de barril.
Fi gur a 5. 3. 2 Ef ei t o de Bar r i l
78 Captulo 5: Sincrovision
O efeito de barril detectado na reconstruo de linhas rectas, estas deixam de ser
rectas e passam a linhas distorcidas.
Fi gur a 5. 3. 3 Cor r eco do ef ei t o de bar r i l
Para compensar este fenmeno tem que ser aplicado um filtro sobre os pontos
calculados, usando funes prprias para este efeito, foi ento corrigido este efeito.
Pode-se observar na Figura 5.3.3, a reconstruo do mesmo plano, aplicando a
correco do efeito de barril.
5. 4 Posi o e rot ao da f errament a
O plano onde assenta a ferramenta determinado atravs de mnimos quadrados de
forma a se obter a melhor aproximao aos quatro marcadores. A rotao da ferramenta
sobre o eixo do plano ser dada atravs da posio de um dos marcadores, que tem cor
diferente dos restantes trs.
So necessrias, no mnimo, duas cores diferentes. Inicialmente, foram utilizadas as
cores branca e vermelha. Aps alguns testes, concluiu-se que o sistema por vezes
confundia reflexos de luz com o marcador de cor branca. Cada vez que isto acontecia
era necessrio executar nova calibrao de cores ou alterar a abertura dos diafragmas
das cmaras.
Optou-se por substituir a cor branca pela cor amarela, para assim aumentar a
robustez do sistema de modo a no ser afectado pelas repetidas alteraes de
luminosidade no ambiente de trabalho. Aps esta permuta, notou-se uma significativa
melhoria.
Posio e rotao da ferramenta 79
O modelo idealizado para o clculo da posio e rotao da ferramenta feito
atravs dos 4 marcadores luminosos, consoante o seguinte procedimento:
i) Clculo do ponto central, a que chamamos centroid ponto verde na Figura
5.4.1.
ii) Clculo da equao do plano definido pelos 4 marcadores e clculo do seu
vector normal vector n;
iii) Clculo do vector R
M
que vai entre o centroid e o marcador vermelho.
iv) Clculo do vector B, vector normal ao vector n e ao vector R
M
. Fica assim
definido automaticamente nosso terceiro eixo do referencial da ferramenta.
Para ajudar a compreender a geometria do modelo idealizado a Figura 5.4.1 mostra
graficamente o pretendido.
Fi gur a 5. 4. 1 Model o da f er r ament a com mar cador es
Durante o clculo da equao do plano obtido o vector normal a ele, sendo este
vector a componente que necessria para a orientao da ferramenta.
feita uma aproximao por um plano aos quatro marcadores usando o critrio dos
mnimos quadrados. Eberly,David (2008) [19] prope uma aproximao hiper planar de
n pontos, usando uma regresso ortogonal, utilizada tambm neste trabalho, atravs das
posies dos marcadores e calculando a matriz M definida a seguir.
M = _
(x
-o)
2 m
=1
(x
-o) -(y
-b)
m
=1
(x
-o) -(z
-c)
m
=1
(x
-o) -(y
-b)
m
=1
(y
-b)
2 m
=1
(y
-o) -(z
-c)
m
=1
(x
-o) -(z
-c)
m
=1
(y
-o) -(z
-c)
m
=1
(z
-c)
2 m
=1
_
80 Captulo 5: Sincrovision
Em que os valores a, b e c so as coordenadas do centro dos 4 pontos obtida pela
posio mdia das suas posies.
Aps definida esta matriz Eberly,David (2008) [19] comenta que possvel obter o
vector normal, ao plano definido pelos 4 pontos, atravs da decomposio de valores
singulares (SVD) a partir do p M
1
M. roduto A =
O resultado obtido ser A = USV
1
, em que S a matriz diagonal contendo os
valores prprios de M, as colunas de V os vectores prprios, e U uma matriz
ortogonal. Na ltima coluna da matriz U, est o vector normal ao plano, associado ao
menor valor prprio da matriz M.
O vector R
M
calculado a partir das posies do centroid e do marcador vermelho
ver Figura 5.4.1.
O vector B calculado a partir do produto externo entre n e R
M
.
assim criado um referencial com origem no ponto centroid, com o eixo X segundo o
vector n, o eixo Y segundo o vector R
M
e o eixo Z segundo o vector B ver Figura
5.4.2.
Fi gur a 5. 4. 2 Ei xos coor denados
de realar que a face do plano onde assentam os marcadores, a face para a qual a
componente x do vector n positiva - ver Figura 5.4.2. Durante o clculo do vector
normal n, pode acontecer, para o mesmo plano, obter o mesmo vector mas com direco
oposta, coordenada x do vector n, negativa. Este resultado no faz sentido, pois significa
que a ferramenta teria rodado 180 sobre o eixo Y, e se isto acontecesse na realidade os
marcadores no estavam visveis no sistema de viso artificial. Constatando-se tal facto,
se durante os clculos obtemos o vector da face oposta do nosso plano (componente x
do vector n negativa) ento invertemos a direco deste vector corresponde a
multiplicar o vector n pela constante -1.
Ficando assim definidos os eixos coordenados do manipulador ver Figura 5.4.3.
Posio e rotao da ferramenta 81
Fi gur a 5. 4. 3 Ei xos coor denados Mani pul ador
Aps determinao do eixo de coordenadas da ferramenta, possvel determinar a sua
rotao.
Usando os vectores calculados anteriormente retira-se a rotao sobre cada um dos
eixos do referencial XYZ.
Definindo os seguintes vectores:
R
M
= _
r
m
x
r
m
r
m
z
_ ( 5. 1)
B = _
b
x
b
b
z
_ ( 5. 2)
n = _
n
x
n
n
z
_ ( 5. 3)
82 Captulo 5: Sincrovision
As rotaes segundos os eixos X,Y e Z so R
x
, R
y
, R
z
respectivamente podem ser
calculadas atravs das seguintes expresses:
R
x
= -Atan2(b
, b ) - 18u ( 5. 4)
z
R
y
= -Atan2(n , n ) - 18u ( 5. 5)
z x
R
z
= Atan2(n
, n
x
) - 18u ( 5. 6)
Atravs das expresses em cima so obtidas os valores dos ngulos em graus das
rotaes, sobre os respectivos eixos coordenados. Nas expresses (5.4) e (5.5)
observam-se dois sinais negativos, em que para o clculo dos ngulos por estas
expresses so necessrios, para se obter o resultado correcto conforme os ngulos do
manipulador.
5. 5 Val i dao de resul t ados
Este o terceiro passo para a validao do sistema de calibrao. Devido grande
preciso que este manipulador industrial oferece, decidiu-se fixar a cruz com os
marcadores no manipulador para validao de todas as funes e modelos definidos.
O manipulador passou a mover-se com a cruz, de forma a existir uma forma fcil de
efectuar rotaes e translaes com grande preciso dentro de uma rea de trabalho
apresentada na Tabela 5.5.1. Na Tabela 5.5.1 esto tambm representadas configuraes
de setup do sistema Sincrovision.
Em complemento, recorreu-se aplicao ComMotoman que permite enviar alguns
comandos via TCP para o manipulador, posicionando o manipulador nas posies
desejadas. Em cada uma delas retiraram-se as medidas pretendidas atravs da aplicao
Sincrovision. Alguns resultados so apresentados na tabela Tabela 5.5.2.
Tabel a 5. 5. 1 Pr opr i edades do set up
Propriedades do setup
Valores
Distncia entre cmaras (mm) 780
ngulo entre cmaras () 46.4
Distncia dos marcadores s cmaras (mm)
(No ponto origem e sem nenhuma rotao)
1900
Distncia entre marcadores (mm) 200
rea de trabalho em X (mm) 700
rea de trabalho em Y (mm) 500
rea de trabalho em Z (mm) 400
Validao de resultados 83
Tabel a 5. 5. 2 Medi das ef ect uadas pel o Si ncr ovi si on
Ponto Sincrovision X
(mm)
Y
(mm)
Z
(mm)
Rx
()
RY
()
RZ
()
Ponto Motoman
(x,y,z,Rx,Ry,Rz)
1
(0,0,0,0,0,0)
0.712 0.167 0.025 -0.324 2.00 1.155
2
(0,0,0,0,30,0)
-2.678 0.109 -6.227 -0.051 31.801 -0.581
2
(0,0,0,30,-30,0)
-2.801 1.246 7.834 30.497 -29.188 -0.636
3
(200,0,0,30,0,0)
191.062 -9.04 -5.401 29.722 1.446 -0.327
4
(-300,300,300,0,0,0)
-285.383 315.127 308.406 -0.141 2.579 0.014
Tabel a 5. 5. 3 Er r os mxi mos posi o e r ot ao
Ponto Motoman
(x,y,z,Rx,Ry,Rz)
Erro Mximo
obtido Posio
(mm)
Eixo
maior erro
na posio
Erro Mximo
Obtido Rotao
()
Eixo
maior erro
na rotao
1
(0,0,0,0,0,0)
0.721
Em X 2 Em Y
2
(0,0,0,0,30,0)
6.222
Em Z 1.8 Em Y
3
(0,0,0,30,-30,0)
7.834
Em Z 0.812
Em Y
4
(200,0,0,30,0,0)
9.04
Em Y 1.446
Em Y
5
(-300,300,300,0,0,0)
14.617
Em X 2.579
Em Y
Na Tabela 5.5.3 esto alguns dos valores dos erros mximos cometidos pelo
Sincrovision nas medidas efectuadas nos pontos presentes na Tabela 5.5.2. Estas tabelas
apenas servem para dar uma ideia da preciso do sistema desenvolvido.
Nota-se um pequeno erro na rotao sobre o eixo Y, ainda no se conseguiu
determinar a origem para este erro, mas com mais testes ser possvel perceber de onde
surge este erro. Mas provavelmente, provm da fixao da cruz ao manipulador.
Tabel a 5. 5. 4 Er r os ( %) em f uno da r ea t ot al de t r abal ho
Ponto Motoman
(x,y,z,Rx,Ry,Rz)
Erro em X
(%)
Erro em Y
(%)
Erro em Z
(%)
1
(0,0,0,0,0,0)
0.102 0.0334 0.006
2
(0,0,0,0,30,0)
0.38 0.0218 1.56
2
(0,0,0,30,-30,0)
0.4 0.25 1.96
3
(200,0,0,30,0,0)
1.28 1.8 1.35
4
(-300,300,300,0,0,0)
2.088 3.02 2.10
84 Captulo 5: Sincrovision
A avaliao exaustiva da preciso do sistema deixada para trabalho futuro. Pelas
medidas das tabelas em cima, conclui-se que para actividades que no necessitem de
muita preciso este o sistema suficiente so obtidos erros mximos de 3 % ver
Tabela 5.5.4.
Durante a operao, visualiza-se que medida que se os marcadores se afastam do
sistema de viso, deslocamento no sentido negativo do eixo X, o rudo nas medidas
aumenta. Este efeito constata-se devido maior dificuldade de deteco dos marcadores
medida que estes se afastam do sistema de viso.
Outra ideia que surgiu, para a validao de resultados, consistiu em fazer com que o
manipulador percorresse um trajecto bem definido/conhecido, e colocar o sistema a
medir automaticamente. Foram criados dois trajectos, um em forma de cubo e outro em
forma de cubo deformado - ver Figura 5.5.1e Figura 5.5.2. Num primeiro teste, o
manipulador percorria os vrtices das figuras geomtricas. No segundo teste, o
manipulador executava o teste anterior e em cada vrtice exercia rotaes sobre os 3
eixos de coordenadas. Para uma rigorosa avaliao tambm proposto que se repitam
os testes anteriores, alterando as distncias entre marcadores e assim tentar encontrar os
limites do sistema - Distncia mxima, mnima e ideal entre marcadores.
Validao de resultados 85
efectuados alguns vdeos com as propostas anteriores, mas devido a
alteraes de setup, posies e modelos das cmaras, estes vdeos de nada servem para
avaliao do novo sistema montado. No foi possvel a repetio dos testes e a
aqu
ritmos
testados. Os valores que so enviados pela aplicao Sincrovision so os da posio da
ferr
Fi gur a 5. 5. 1 Cubo de t est e
Fi gur a 5. 5. 2 Cubo def or mado
Foram
isio das medidas pretendidas, por carncia de tempo. No entanto, fica proposto
para trabalho futuro a execuo destes testes para avaliar a preciso do sistema.
Aps a verificao da veracidade de todos os valores, estabeleceu-se a comunicao
entre as aplicaes Sincrovision e ComMotoman para colocar em prtica os algo
amenta e rotao da mesma. No programa est definida uma rea de trabalho limite
para a ferramenta. Caso esta se localize fora dos limites, ou no se seja possvel a
visualizao dos quatro marcadores, o envio de comandos para o manipulador cessa e
este pra. Esta uma medida de segurana, que tem por objectivo evitar que o
manipulador invada reas no permitidas sua volta, pois a segurana primordial e
factor a ter em conta neste tipo de trabalhos. Existe tambm um boto de emergncia na
consola do manipulador, que vem j embutido de fbrica, sendo possvel, em caso de
emergncia, anular todas as manobras que se estejam a executar.
86 Captulo 5: Sincrovision
erior anlise numa outra aplicao.
Conseguimos assim controlar o manipulador em tempo real. Algo de semelhante ao
trabalho feito por Neto, Pedro et al (2009) [11].
Efectua-se ento o passo seguinte, guardar os pontos do movimento da ferramenta
capturados atravs do sistema de viso, para post
O setup para o funcionamento do manipulador em tempo real mostrado na Figura
5.5.3.
Fi gur a 5. 5. 3 Conf i gur ao do si st ema Si ncr ovi si on
Capt ul o 6
Gerao de t raj ect ri as
6. 1 Exposi o do probl ema
Aps executada e guardada uma trajectria em ficheiro, esta pode ser carregada para
uma outra aplicao. Esta aplicao no funcionar em tempo real e nela gerada a
melhor trajectria para o manipulador.
Aleotti J e Caselli S. (2006) [2] no seu trabalho propem a gnese de trajectrias,
recorrendo ao critrio de NURBS (Non Uniform Rational Basis Spline). Os pontos do
trajecto so introduzidos no computador atravs de uma luva antropomrfica e
guardados para posterior anlise utilizando o critrio NURBS.
Este critrio muito flexvel e muito usado, principalmente na rea de design, permite
de uma forma simples a representao de superfcies livres. Pierre Bzier e Paul de
Casteljau, criadores do critrio NURBS, trabalhavam ambos na indstria automvel e
necessitavam de uma ferramenta flexvel e eficaz para a representao dos contornos
dos automveis e representao dos chassis.
O seu uso permite a representao de formas geomtricas de uma forma compacta
dependendo de dois parmetros mapeados, na superfcie tridimensional pretendida e a
que se pretende aproximar. Estes dois parmetros so denominados pontos de controlo e
podem ser colocados em posies estratgicas de forma a manipular a forma da curva
ver Figura 6.1.1.
Fi gur a 6. 1. 1 Cami nho ger ado pel o NURBS
87
88 Captulo 6: Gerao de trajectrias
6. 2 Abordagem adopt ada
Foi feito um estudo mais aprofundado deste algoritmo com recorrncia a Splines. No
entanto, a aplicao deste critrio no foi efectuada, devido ao facto de o manipulador
ter predefinido duas funes e o objectivo ser o seu uso - instrues MOVL e MOVC.
Para a utilizao destas instrues, as expresses dos percursos calculadas seriam
inteis. Apesar disso, deixada a referncia do livro onde pode ser encontrada
informao adicional sobre este assunto - Foley, James D. (1990) [21]. Para se poderem
definir a sequncia de operaes a efectuar ao conjunto de pontos guardados, comeou-
se por analisar as limitaes e condies que cada instruo acarretava, de forma a
optimizar os algoritmos - estas condies so explicadas ao longo das prximas seces.
Decidiu-se comear por analisar o rudo que afecta a amostra de pontos guardada.
Aps filtragem da amostra, agrupam-se os pontos por velocidades iguais e tenta-se
efectuar uma aproximao por rectas ou crculos.
De seguida, so descritas cada uma das instrues.
6. 3 Inst rues a usar no mani pul ador
6. 3. 1 Inst ruo MOVL
Nesta instruo, necessrio definir o ponto final e a velocidade e opcionalmente o
position level. Chama-se a ateno para o facto de o ponto inicial das instrues o
ponto actual onde se encontra o manipulador.
A instruo MOVL, para este manipulador, escrita na forma:
Fi gur a 6. 3. 1 Inst r uo MOVL
Instrues a usar no manipulador 89
O ltimo parmetro opcional denominado PL (position level) define a aproximao
do manipulador ao ponto final entre instrues. Este parmetro tem 8 nveis possveis e
a Figura 6.3.2 mostra quais os seus efeitos.
Se este parmetro no for definido, ele variar consoante a operao a executar e a
velocidade do manipulador. [20]
6. 3. 2 Inst ruo MOVC
Com a instruo MOVC o manipulador move-se sobre o arco definido por trs
pontos - ver Figura 6.3.3.
Fi gur a 6. 3. 2 Posi t i on Level - r et i r ada dos manuai s da MOTOMAN
Fi gur a 6. 3. 3 Resul t ado da i nst r uo MOVC
Dados trs pontos ao manipulador P1,P2 e P3 o manipulador move-se segundo um
arco de circunferncia. Notar que se programada uma interpolao linear at P0, o
manipulador mover-se- de P0 at P1 em linha recta. [20]
Se pretendermos ter dois arcos de circunferncia seguidos como apresentado na
Figura 6.3.4.
90 Captulo 6: Gerao de trajectrias
Transmitindo ao manipulador os pontos P1 at P5, este no executa o movimento
pre
Para se conseguir efectuar a trajectria definida pelos pontos p1 a p5, entre os
crc
Assim sendo o ponto P3 replicado m o ponto final do primeiro circulo,
out
tendido [20]; Uma explicao deste facto dada seguidamente.
ulos, precisamos de introduzir uma instruo de movimento de juno MOVJ ou um
MOVL. Esta deve ser inserida no ponto idntico aos dois crculos ver Figura 6.3.5.
3 vezes, u
ro - o P4 - para inserir uma instruo MOVL ou MOVJ e o ponto P5 para o inicio do
segundo circulo. Para efectuar os dois arcos de crculo correctamente, precisamos de dar
os pontos P1,P2 e P3 com a instruo MOVC o ponto P4 com a instruo MOVJ ou
MOVL e os pontos P5,P6 e P7 com a instruo MOVC. Na Figura 6.3.6 est descrita a
forma de declarar a instruo MOVC.
Fi gur a 6. 3. 4 Cr cul os segui dos
Fi gur a 6. 3. 5 Cr cul os consecut i vos de f or ma cor r ect a - f i gur a r et i r ada do manual de pr ogr amao do
mani pul ador
Fi gur a 6. 3. 6 Inst r uo MOVC
Deteco de zonas de paragem 91
Mais uma vez, nesta instruo, possvel utilizar a opo position level (parmetro
PL), j descrita na instruo MOVL.
crculo nos pontos P1,P2,P3 velocidade de 50.0
mm/s e PL=0 tem a seguinte estrutura:
Para ambas as instrues MOVC e MOVL, a velocidade pode ser definida de vrias
form
do centro da ferramenta. Valores de 0.1mm at 1500.0
6. 4 Det eco de zonas de paragem
devido deteco dos marcadores
lum
se
feita criando um
O cdigo para a execuo de um
MOVC P1 V=50.0 PL=0
MOVC P2 V=50.0 PL=0
MOVC P3 V=50.0 PL=0
as, indicadas a seguir:
V -> Velocidade
mm/s.
VR -> Velocidade angular. Valores de 0.1 at 180 graus/s.
VE -> V elocidade dos eixos externos. Valores de 0.01% at 100.00%.
Como existe rudo na recolha de valores,
inosos, comea-se por efectuar uma filtragem de todos os pontos da trajectria.
feita uma anlise s distncias entre cada ponto e os seus vizinhos. Esta anli
a esfera imaginria em redor do ponto em anlise. No caso do ponto
seguinte estar dentro desta esfera imaginria ele ser encarado como sendo o mesmo
ponto. A posio deste novo ponto actualizada para a posio mdia dos outros dois
pontos. Considere-se um ponto I, representado na Figura 6.4.1 a partir deste ponto,
criada uma esfera de raio D. Se os pontos seguintes da trajectria estiverem dentro desta
esfera, ou seja numa distncia inferior a D, (representada a vermelho), ento esses
pontos sero etiquetados como sendo o mesmo ponto I - ver Figura 6.4.2. O prximo
ponto em que se situe a uma distncia superior a D (representado a cor azul clara), ser
o prximo ponto distinto da trajectria, sendo atribuda a etiqueta II. feita, novamente,
uma esfera de raio D em torno deste novo ponto II e assim sucessivamente, at ao final
da trajectria.
92 Captulo 6: Gerao de trajectrias
Caso exista um nmero de pontos superior a um dado limite Delta, conclui-se que
ocorreu uma paragem da ferramenta, sendo adicionada uma instruo de espera, para
que o manipulador fique parado nessa mesma posio. Todos estes parmetros Delta e
distncia D podem ser definidos antes de mandar analisar a trajectria.
Fi gur a 6. 4. 1 Esf er as em t or no dos pont os de anl i se
Fi gur a 6. 4. 2 Fi l t r agem de pont os
6. 5 Det eco de zonas de vel oci dade const ant e
O principal objectivo criar uma trajectria aproximada por segmentos de recta ou
arcos de circunferncia. Comeando pela aproximao a segmentos de recta e
analisando as capacidades do manipulador, sabemos partida que o manipulador
executar a instruo MOVL a velocidade constante. Por exemplo: considerando o
segmento de recta da Figura 6.5.1, supondo que esta percorrida por diferentes
velocidades, e para que o manipulador consiga execut-la, ser necessrio dividi-la em
rectas de igual velocidade - neste caso, 3 rectas.
Deteco de zonas de velocidade constante 93
Embora se trate apenas de uma recta, necessrio dividi-la em 3 segmentos de recta
distintos - Figura 6.5.2.
ssim tem-se que:
Mov om v=3;
ov com v=2;
cdigo apresentado, no esta na linguagem do
anipulador. apenas uma maneira de expressar o pretendido.
Fi gur a 6. 5. 1 Tr aj ect r i a em r ect a
com vel oci dades di f er ent es Fi gur a 6. 5. 2 Di f er ent es segment os de r ect a
A
line i=0 at i=5 c
line i=5 at i=10 M
Movline i=10 at i=20 com v=5;
Chama-se a ateno que o
m
94 Captulo 6: Gerao de trajectrias
6. 6 Det eco de rect as
Aps a obteno de um conjunto de pontos num espao tridimensional, designado
de trajectria, pretende-se detectar subconjuntos de pontos que possam ser aproximados
por rectas.
Para este efeito, o algoritmo usado um algoritmo iterativo que percorrer toda a
trajectria, testando se um dado conjunto de pontos pode ser aproximado por uma dada
recta definida pelos prprios pontos do conjunto. Considerando uma qualquer sequncia
de pontos, por exemplo o da Figura 6.6.1, e numerando cada um deles, para fcil
identificao por parte do leitor, passa-se a explicar o algoritmo de aproximao de
rectas a um determinado conjunto de pontos. Inicialmente, utilizam-se os 3 primeiros
pontos da trajectria e, com estes, definir uma recta - ver Figura 6.6.1. Posteriormente,
calculado o erro quadrtico mdio de cada ponto que define a recta.
Fi gur a 6. 6. 1 Rect a dos 3 pr i mei r os pont os
Caso este erro quadrtico mdio seja mais pequeno que um dado valor , aumenta-se
o nmero de pontos que passam a definir a nova recta - neste caso, os primeiro 4 pontos
da recta e assim sucessivamente, at ao ponto em que a mdia do erro quadrtico seja
superior a . Desta forma, a recta fica s definida pelos primeiros seis pontos, ver Figura
6.6.2, sendo que a partir do ponto seis, considerada uma nova recta. No final, obtida
uma trajectria aproximada por pequenos segmentos de recta - ver Figura 6.6.3.
Fi gur a 6. 6. 2 Rect as cal cul adas dos 6 pr i mei r os pont os
Deteco de rectas 95
Fi gur a 6. 6. 3 Tr aj ect r i a f i nal apr oxi mada por r ect as
Juntando todos estes passos, foi implementada uma aplicao que analisa os pontos
da ferramenta. A sequncia de operaes efectuada :
i) Fazer uma filtragem do rudo e deteco de paragens;
ii) Entre paragens realizar o agrupamento dos pontos por velocidades iguais;
iii) Dentro dos conjuntos de velocidades iguais, analisar os pontos e verificar se
pertencem a uma recta ou um arco de circunferncia, dependendo de um critrio
de ajuste.
96 Captulo 6: Gerao de trajectrias
Capt ul o 7
Rel ao Fora vs Corrent e el ct ri ca
Para se tentar determinar a relao entre a fora, exercida durante a actividade de
polimento, em funo da corrente elctrica consumida pelo um motor trifsico da
mquina de polimento, foram efectuados logs sincronizados destas duas grandezas.
7. 1 Hardwar e
A lista de hardware para estes testes :
9 Manipulador
9 Gripper
9 Sensor JR3
9 Analisador da Ducati
9 Placa de monitorizao de corrente
9 Peas de polimento
9 Mquina de Polir
O hardware e software usados, foram j descritos na seco 4.
7. 1. 1 Abordagem
Existem dois tipos de pea para teste, se bem que apenas um pode ser processado,
devido ao gripper apenas conseguir segurar um dos dois tipos de peas. Para a recolha
destas amostras foram definidas 3 zonas de teste na pea processada. Esta repartio de
diferentes zonas, efectuou-se devido ao facto da fora exercida variar consoante a zona
a polir.
97
98 Captulo 7: Fora vs Corrente Elctrica
Diviso da pea representada na Figura 7.1.1.
Fi gur a 7. 1. 1 Pea nmer o 2
Em cada teste foram retiradas em mdia 800 amostras de cada valor. Usaram-se
duas peas e estas foram escolhidas aleatoriamente. Este nmero foi escolhido pois em
mdia ao fim de 5 leituras consecutivas a pea tinha que ser retirada da mquina, devido
ao sobreaquecimento do disco de polimento e da pea a polir.
Para evitar relaes de atrito/ aquecimento, as peas antes de serem usadas no teste,
eram limpas, para eliminar detritos originados pelo aquecimento do disco e a troca das
peas efectuava-se de 5 em 5 leituras.
O manipulador segura a pea de teste atravs do gripper, avanava segundo o
referencial mostrado na Figura 7.1.2. Este referencial est assente na extremidade da
ferramenta, neste caso o gripper. Efectuou-se um avano uniforme segundo o eixo X de
meio em meio milmetro, numa distncia total verdadeira de 7 mm. definido como
distncia total verdadeira, a distncia avanada com a pea em contacto com o disco.
Entre leituras era necessrio ir actualizando a posio de contacto como disco, devido
ao desgaste deste.
Hardware 99
Fi gur a 7. 1. 2 Ref er enci al par a o t est e
Durante a actividade de polimento todas as peas envolvidas, principalmente o disco
de polimento e a superfcie das peas vo sofrendo desgaste. No incio de cada teste
houve o cuidado de actualizar a posio de contacto com o disco de polimento. Para se
ter uma noo de desgaste por parte deste, no final de 23 testes observou-se um desgaste
de 7 mm do disco. primeira vista aparenta ser um desgaste muito pequeno, mas que
afecta em muito toda a experincia, considerando que o avano da pea foi feito com
um incremento de meio milmetro na maioria dos testes.
muito importante actualizar sempre que possvel a coordenada do instante de
contacto entre a pea e o disco, para obtermos resultado da relao entre a fora e a
corrente mais fiveis.
Notou-se que as leituras do sensor JR3 com a instruo SERVO ON (que coloca os
motores do manipulador em funcionamento), ficavam afectadas de rudo devido s
correntes consumidas pelos motores do manipulador. Compreende-se este fenmeno,
visto que estamos a trabalhar com um sensor analgico e que o cabo de extenso at
placa PCI no blindado.
Para reduzir o efeito do rudo, posicionava-se a pea atravs do manipulador na
posio pretendida, e os servos do manipulador eram desligados.
Os testes feitos basearam-se em encostar a pea ao disco e retirar a fora e corrente.
Entre testes havia um incremento de 0,5mm segundo o eixo X.
Devido a mudanas de setup e falta de tempo, apenas se realizaram testes com a
pea nmero 2 e na zona 1 e 2.
Durante a anlise dos logs, observou-se que o circuito de leitura de corrente estava a
saturar, na fase final dos testes Zonas onde se exercia mais fora sobre o disco de
polimento e o consumo de corrente era maior. Este fenmeno, deve-se ao facto de uma
m projeco do limite mximo mensurvel da corrente por parte do circuito
implementado valor eficaz de 7.5 A.
100 Captulo 7: Fora vs Corrente Elctrica
O valor mximo apresentado pelo analisador de corrente da Ducati nestas alturas,
era de 6.5A enquanto, o nosso circuito tinha leituras muito prximas de 7.4 A no incio
do teste e no final do teste, ao fim de 400 medidas o valor da corrente eficaz medido era
de 6.5A valor correcto. Este disparo abrupto de corrente normal visualizar-se no
circuito implementado e no no analisador da Ducati, j que este apenas apresenta
valores de 1 em 1 segundo e durante este tempo, efectua filtragens, no sendo possvel
medir-se disparos/oscilaes abruptas de corrente.
Para evitar confuses, chama-se a ateno para o facto de serem usados dois
referenciais, o referencial do rob, representado Figura 7.1.2 e o referencial usado no
sensor de fora, que est representado na seco 4 na Figura 4.6.2. No grfico em cima
representada a fora Fz do sensor Jr3.
Mesmo assim analisaram-se os dados obtidos para valores mais baixos de corrente e
de fora, estando estes representados na Figura 7.1.3.
0
10
20
30
40
50
60
70
80
4 4,5 5 5,5 6 6,5
Fz
(N)
Corrente(A)
7
Zona2
Zona1
Fi gur a 7. 1. 3 Gr f i cos For a/ Cor r ent e el ct r i ca
Das duas curvas tiradas a que se pode ter mais confiana na curva calculada na
zona 1. A curva calculada para a zona 2, foi a que se verificou onde existiu mais
saturao do valor da corrente e portanto deve ser ignorada.
Observando a curva da zona 1, aparenta que a relao entre as duas grandezas
linear, conforme era esperado. No entanto deve-se fazer mais ensaios para confirmar
este facto.
Para testes futuros, pode-se projectar um novo circuito para medida de valores
eficazes da corrente, ou tentar arranjar um produto comercial que consiga cumprir as
especificaes necessrias - no mnimo funcionar frequncia de 10 Hz, frequncia de
funcionamento do sistema actual.
Capt ul o 8
Concl uses
Foram abordados todos os campos previstos nos objectivos principais para o
trabalho.
Verificou-se que atravs do algoritmo de calibrao de Tsai possvel extrair os
parmetros do sistema de viso de uma maneira fcil e verstil. O algoritmo eight point
mais flexvel em termos de calibrao mas a forma como est implementado no
possvel uma reconstruo 3D mtrica directa, sendo necessrio introduzir este passo
para se poder comparar com o algoritmo Tsai.
O clculo da posio e rotao da ferramenta est a ser calculado devidamente e
possvel o controlo em tempo real do manipulador.
Juntamente com a determinao da orientao da ferramenta possvel efectuar logs
sincronizados de imagem, fora e corrente. A recolha sincronizada destas grandezas,
ser futuramente muito importante para o relacionamento entre elas no contexto da
actividade de polimento.
A aproximao de pontos por segmentos de rectas, apenas metade do algoritmo est
implementado - deteco de rudo, e agrupar pontos por velocidade igual e a gnese de
trajectrias por arcos de circunferncia no foi possvel ainda a sua implementao
devido falta de tempo.
Este trabalho foi a continuao de um estudo sobre viso estereoscpica. Penso que
em redor do sistema Sincrovision se continuar a estudar novas opes e estratgias
para tornar o sistema mais intuitivo e robusto.
Neste trabalho tentou-se gerar trajectrias para o manipulador, mas atravs do uso
deste sistema possvel tambm manusear o manipulador industrial em tempo real. Este
modo de operao importante para certas actividades como por exemplo: manusear
substncias perigosas ou objectos de grande porte que de forma manual era
completamente impossvel - sendo apenas necessrio 4 marcadores, um sistema de
101
102 Captulo 8: Concluses
viso e um computador para manobrar com grande facilidade e agilidade um
manipulador industrial.
uma alternativa s solues de programao de manipuladores oferecidas hoje em
dia, tendo sido o que mais me motivou para aceitar este desafio. Os resultados so
animadores embora no perfeitos, mas devido ao tempo que se dispunha para a sua
elaborao, apenas foi possvel fazer o exposto nesta tese.
8. 1 Trabal ho f ut uro
Para trabalhos futuros sugiro as seguintes ideias para as reas de:
a) Caracterizao do sistema Sincrovision:
i. Anlise qualitativa e quantitativa da preciso do sistema Sincrovision.
Dependendo do mtodo de calibrao e tcnicas usadas a preciso do sistema
pode ser aumentada.
ii. Avaliar pontos de stress do sistema. Qual o espaamento
mnimo/mximo/ideal e posicionamento dos marcadores para os quais ainda
se obtm valores correctos. Visto que se pretende colocar os marcadores nas
ferramentas dos operadores, para guardar os seus movimentos, esta etapa
muito importante, para se ter uma noo sobre o tipo de actividades a que se
pode aplicar. Alguns dados foram j recolhidos, sobre a distncia entre
marcadores, sendo necessrio tempo para os processar e tirar concluses.
b) Aumento da robustez do sistema:
i. Determinao da posio e rotao da ferramenta. De momento a aplicao
para o clculo do estado da ferramenta precisa de estar a visualizar os quatro
marcadores. O que seria possvel faz-lo apenas com 3 marcadores, o
marcador de referncia e 2 amarelos, caso algum deles, sasse fora do
alcance do sistema de viso. Um procedimento automtico poderia detectar
em caso de apenas existirem 3 marcadores visveis, efectuar o clculo do
plano e centroide ser efectuado atravs dos 3 pontos e assim determinar o
estado da ferramenta.
ii. Aplicar algoritmos preditivos baseados no estado anterior da ferramenta para
o clculo do estado seguinte caso o marcador vermelho sasse fora do
alcance do sistema de viso.
Trabalho futuro 103
c) Gerao de trajectrias:
i. Aperfeioar os algoritmos j existentes para a gerao de trajectrias para o
manipulador e/ou at mesmo implementar outros.
ii. O uso da instruo MOVS que faz mover o manipulador entre 3 pontos segundo
uma Spline.
d) Actividade de polimento:
i. Analisar dados retirados sobre a relao Fora vs corrente e tirar a sua
relao.
ii. Efectuar vdeos de uma sesso de polimento, e tentar adaptar as trajectrias
geradas a esta actividade.
104 Captulo 8: Concluses
Ref ernci as
[1] Yusuke MAEDA, Tatsuya USHIODA and Satoshi MAKITA, Yokohama
National University (2008), Easy Robot Programming for Industrial Manipulators by
Manual Volume Sweeping in 2008 IEEE International Conference on Robotics and
Automation Pasadena, CA, USA, May 19-23.
[2] Aleotti J, Caselli S (Parma University, Italy) (2006) "Robust Trajectory learning
and approximation for robot programming by demonstration." in Robotics and
Autonomous Systems
[3] Ekvall,S. Kragic, D.(2005): Grasp Recognition for Programming by
Demonstration; in: Robotics and Automation, 2005. ICRA 2005.
[4] R. Dillmann(2004), Teaching and learning of robot tasks via observation of
human performance, in Robotics and Autonomous Systems, vol. 47, no.2-3, pp. 109-
116, 2004.
[5] Markus Ehrenmann, Oliver Rogalla, Raoul Zllner and Rdiger Dillmann,
TEACHING SERVICE ROBOTS COMPLEX TASKS: PROGRAMMING
BYDEMONSTRATION FOR WORKSHOP AND HOUSEHOLD
ENVIRONMENTS,University of Karlsuhe (TH), Germany
[6] Manuel Lopes and Alexandre Bernardino and Jos Santos-Victor(2005) .A
Developmental Roadmap for Task Learning by Imitation in Humanoid Robots.AISB -
Third International Symposium on Imitation in Animals and Artefacts. Hatfield,
England, 2005.
[7] F. Nagata, K. Watanabe, K. Kiguchi, K. Tsuda, S. Kawaguchi, Y. Noda, and M.
Komino,(2001) Joystick teaching system for polishing robots using fuzzy compliance
control, Proceedings 2001 IEEE International Symposium on Computational
Intelligence in Robotics and Automation, pp. 362-367, 2001.
[8] Jayawardena, C. Watanabe, K. Izumi, K. Dept. of Adv. Syst. Control Eng.,
Saga Univ., Japan (2005),Teaching a tele-robot using natural language commands in
Micro-NanoMechatronics and Human Science, 2005 IEEE International Symposium
on.
105
106 Referncias
[9] Pires, J.N.(2007): The Industrial robot as a human coworker: the role of the
speech interfaces. In Proceedings of the International Conference on Software
Development for Enhancing Accessibility and Fighting Info-exclusion (DSAI 2007),
Portugal, November 2007
[10] Pires, J.N. (2007), Demonstration videos: programming robots with digital
pens, Industrial Robotics Laboratory,Mechanical Engineering Department, Coimbra,
available at: http://robotics.dem.uc.pt/robot-pen
[11] Neto, P, Pires, JN, Moreira, AP, "High-level programming and control for
industrial robotics: using a hand-held accelerometer-based input device for gesture and
posture recognition", Emerald Industrial Robot, 2009 (accepted - April 2009). Internal
Code: IR-09-339
[12] J. Aleotti (2004), A. Skoglund and T. Duckett, Position teaching of a robot
arm by demonstration with a wearable input device International Conference on
Intelligent Manipulation and Grasping (IMG04), Genoa, Italy, July 1-2, 2004.
[13] Richard Hartley and Andrew Zisserman (2003). Multiple View Geometry in
computer vision. Cambridge University Press.
[14] ROGER Y. TSAI (1987) A Versatile Camera Calibration Technique for
High-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and
Lenses, in IEEE JOURNAL OF ROBOTICS AND AUTOMATION, VOL.RA-3, NO.4.
[15] Alberto B. Raposo, Flvio Szenberg, Marcelo Gattass, Waldemar Celes : Viso
Estereoscpica, Realidade Virtual, Realidade Aumentada e Colaborao.
[16] Rimon elias and Robert laganire - Projective Geometry for Three-
Dimensional Computer Vision.
[17] Richard I. Hartley (1997). "In Defense of the Eight-Point Algorithm". IEEE
Transaction on Pattern Recognition and Machine Intelligence.(June 1997)
[18] Richard I. Hartley and Peter Sturm Triangulation
[19] Eberly,David (2008), Least Squares Fitting of Data,in: Geometric Tools, LLC
[20] MOTOMAN NX100 BASIC PROGRAMMING .
[21] Foley, James D. (1990) : Computer Graphics.
[22] Qian, N.(1997),Binocular Disparity and the Perception of Depth, Neuron, 18,
359-368, 1997
[23] Gang Xu and Zhengyou Zhang (1996). Epipolar geometry in Stereo, Motion
and Object Recognition. Kluwer Academic Publishers. ISBN 0-7923-4199-6.
[24] http://www.robot.uji.es/lab/plone/Members/mprats
[25] http://robotics.dem.uc.pt/norberto/
Referncias 107
[26] Mark W. Spong, Seth Hutchinson, M. Vidyasagar , Robot Modeling and
Control . ISBN: 978-0-471-64990-8, 496 pages, December 2005
1
Pode ser consultado em
http://gnomo.fe.up.pt/~robotic/index.php?option=com_content&view=article&id=84&It
emid=94
2
Luvas que retiram o modelo da mo.
108 Referncias
Anexo A
Concei t os
Epipolos ou pontos epipolares: ponto de interseco da linha que une os centros
das cmaras com cada plano de imagem. [13]
Plano epipolar: Plano que contem a linha que une os epipolos. [13]
Linha epipolar: Linha resultante da interseco do plano epipolar com os planos de
imagem. Passa entre os pontos projectados no plano de imagem e nos epipolos (ex:
c
R
- x
R
, exemplo de linha epipolar da imagem do lado direito). [13]
Disparidade binocular: Refere-se diferena existente na localizao de um
objecto numa imagem vista no lado esquerdo ou direito do sistema de captura (olho
esquerdo ou olho direito, mas neste caso denominado disparidade da retina) devido
distncia entre as duas fontes de captura da mesma cena.
Com uma disposio de cmaras parecida disposio dos olhos humanos, a
disparidade apenas aparece na direco horizontal, e no existe disparidade na
Fi gur a 8. 1. 1 Di spar i dade bi nocul ar
109
110 Anexo A
coordenada y da imagem. Usualmente a disparidade calculada pelo deslocamento para
a esquerda de uma cena vista numa imagem observada do lado direito. Por exemplo, um
ponto K no mundo aparece na coordenada x (medida em pixis) na imagem do lado
esquerdo; O mesmo ponto K na imagem do lado direito tem a coordenada x -S nesta
situao a disparidade de 3 pixis. No caso de a disparidade ser 0, os pontos nas duas
imagens aparecem exactamente no mesmo stio na imagem do lado direito.
Percepo de profundidade capacidade visual para percepo tridimensional do
Mundo, at agora o conceito de percepo reservado aos humanos, embora qualquer
animal consiga mover-se no seu ambiente envolvente, apenas ns humanos
conseguimos transmitir a noo de distncia uns aos outros.
Homografia - Conceito matemtico em que consiste numa transformao de um
plano de projeco para outro plano de projeco, tambm conhecido como
transformao projectiva.
Geometria epipolar a geometria projectiva intrnseca entre dois pontos de vista
distintos. Uso de duas cmaras para visualizar um cenrio a 3D a partir de duas posies
distintas. Este tipo de geometria independente da cena visualizada apenas dependendo
dos parmetros internos e da posio relativa das cmaras usadas. Todas estas relaes
so obtidas com base no pressuposto de que as cmaras podem ser aproximadas pelo
modelo de pinhole camera. Esta geometria normalmente te motivada pela procura de
pontos de correspondncia nas duas imagens. [13]
Matriz anti-simtrica - Uma matriz anti-simtrica aquela com a qual sua matriz
transposta coincide com sua matriz oposta:
A
t
= A