VÒ mét ph¬ng ph¸p ®iÒu khiÓn hÖ Camera-robot
b¸m môc tiªu sö dông m¹ng N¬ ron
Bïi Träng Tuyªn Ph¹m Thîng C¸t
ViÖn VËt Lý ViÖn C«ng NghÖ Th«ng Tin
Email: buituyen@hn.vnn.vn Email: ptcat@ioit.ncst.ac.vn
Tãm t¾t néi dung
B¸o c¸o tr×nh bÇy kh¶ n¨ng øng dông m¹ng n¬ ron trong ®iÒu khiÓn hÖ thèng bao gåm tay m¸y cã g¾n
camera ®Ó quan s¸t vµ b¸m theo môc tiªu. Ph¬ng thøc ®iÒu khiÓn dùa trªn nguyªn lý tuyÕn tÝnh ho¸ tÝn hiÖu
¶nh ph¶n håi. M¹ng n¬ ron ®îc ®a vµo nh»m gi¶m nhÑ t¸c ®éng cña nh÷ng thµnh phÇn ngÉu nhiªn, cho
phÐp sö dông c¸c tham sè cã ®é chÝnh x¸c h¹n chÕ vµo trong m« h×nh ®éng häc cña hÖ thèng. M¹ng n¬ ron
®îc xem nh lµ mét yÕu tè thÝch nghi bæ xung vµo hÖ thèng ®iÒu khiÓn ®Ó t¨ng cêng kh¶ n¨ng cña chóng.
An application of Neural Networks based visual servoing for hand-eye robot tracking target is
introduced in this paper. The used control method bases input-output feedback linearization technique. The
Neural Network is introdeced to compensate model uncertainties of overall system. It suffers if the parameter
values are inaccurate in the model of dynamics, the presence of image distortions and time varying. Adding
the NN controller as adaptive item in the control system is one effective way to compensate for the ill effects
of these uncertainties and in fact it can in some cases be used for parameter estimation.
1. Giíi thiÖu m« h×nh hÖ thèng ®iÒu khiÓn R« bèt sö dông CAMERA
C«ng viÖc sö dông c¸c h×nh ¶nh thu nhËn ®îc b»ng camera trong qu¸ tr×nh ®iÒu
khiÓn R« bèt (visual servoing) lµ mét híng nghiªn cøu ®ang ®îc quan t©m trong lÜnh vùc
®iÒu khiÓn R« bèt. §iÓm chÝnh yÕu cña kü thuËt nµy lµ nh÷ng th«ng tin h×nh ¶nh nhËn ®îc
tõ camera sÏ lµ nh÷ng th«ng tin ph¶n ¶nh sù quan s¸t ®îc vÒ hÖ thèng vµ m«i trêng.
Visual servoing lµ sù tæng hîp kÕt qu¶ cña rÊt nhiÒu lÜnh vùc kh¸c nhau bao gåm xö
lý ¶nh tèc ®é cao, ®éng häc, ®éng lùc häc, lý thuyÕt ®iÒu khiÓn vµ kü thuËt tÝnh to¸n thêi
gian thùc.
HÖ thèng ®iÒu khiÓn R« bèt cã camera phæ biÕn sö dông hai d¹ng m« h×nh sau:
n Camera ®îc ®Æt trong kh«ng gian lµm viÖc
o Camera ®îc g¾n trªn ®Çu tay n¾m R« bèt (hand-eye R« bèt)
H×nh 1. M« h×nh hÖ thèng ®iÒu khiÓn R« bèt sö dông camera
M« h×nh thø nhÊt camera ®îc ®Æt trong kh«ng gian lµm viÖc cña R« bèt, khi ®ã
¶nh cña ®èi tîng quan s¸t kh«ng phô thuéc vµo chuyÓn ®éng cña R« bèt.
M« h×nh thø hai camera ®îc g¾n ë ®Çu tay n¾m R« bèt, trong trêng hîp nµy ¶nh
®èi tîng mµ camera thu nhËn ®îc phô thuéc vµo chuyÓn ®éng cña R« bèt.
Ph©n lo¹i c¸c hÖ thèng ®iÒu khiÓn visual servoing
Dùa theo tiªu chÝ khai th¸c sö dông h×nh ¶nh thu nhËn ®îc tõ camera ngêi ta cã
thÓ chia c¸c hÖ ®iÒu khiÓn visual servoing thµnh hai lo¹i nh sau:
n §iÒu khiÓn trªn c¬ së sö dông nh÷ng th«ng tin vÒ vÞ trÝ ®èi tîng trÝch läc ra
®îc tõ ¶nh (Position_based servoing control). Trong ®iÒu khiÓn position-based, c¸c ®Æc
trng ®îc trÝch läc ra tõ ¶nh kÕt hîp víi m« h×nh h×nh häc cña ®èi tîng (giíi h¹n trong
c¸c ®èi tù¬ng lµ vËt r¾n) ®Ó x¸c ®Þnh vÞ trÝ cña ®èi tîng trong hÖ trôc to¹ ®é cña camera.
Cßn sai lÖch gi÷a tÝn hiÖu ph¶n håi vÞ trÝ cña môc tiªu vµ vÞ trÝ mong muèn ®îc tÝnh to¸n
trong kh«ng gian lµm viÖc (hÖ to¹ ®é §Ò c¸c).
o §iÒu khiÓn trªn c¬ së sö dông trùc tiÕp ¶nh (Image_based servoing control). Víi
d¹ng ®iÒu khiÓn nµy, tÝn hiÖu sai lÖch ®îc ®Þnh nghÜa vµ tÝnh to¸n trùc tiÕp ngay trong
kh«ng gian tham sè ®Æc trng ¶nh.
Trong mçi lo¹i l¹i cã thÓ chia thµnh hai nhãm dùa theo ph¬ng ph¸p ®iÒu khiÓn,
mét lµ thùc hiÖn qu¸ tr×nh ®iÒu khiÓn theo hai phase riªng biÖt quan s¸t vµ chuyÓn ®éng
(look-and-move), lo¹i thø hai lµ sö dông ®iÒu khiÓn trùc tiÕp (direct visual servoing). NÕu
hÖ thèng ®iÒu khiÓn ph©n cÊp chØ sö dông tÝn hiÖu ¶nh do camera cung cÊp ®Ó thiÕt lËp c¸c
gi¸ trÞ ®Çu vµo cho c¸c bé ®iÒu khiÓn cña tõng khíp vµ ®ång thêi sö dông c¸c vßng ph¶n
håi t¹i tõng khíp ®Ó gi÷ æn ®Þnh chuyÓn ®éng cña R« bèt th× ®ã lµ hÖ ®iÒu khiÓn kiÓu look-
and-move. Ngîc l¹i hÖ thèng ®iÒu khiÓn trùc tiÕp lo¹i bá hoµn toµn vßng ph¶n håi t¹i tõng
khíp, bé ®iÒu khiÓn visual servoing tÝnh to¸n tÝn hiÖu ®iÒu khiÓn trùc tiÕp cho c¸c khíp, nã
chØ sö dông c¸c tÝn hiÖu ph¶n håi b»ng h×nh ¶nh ®Ó gi÷ æn ®Þnh chuyÓn ®éng cña R« bèt.
H×nh 2a. CÊu tróc ®iÒu khiÓn position-based look-and-move
H×nh 2b. CÊu tróc image-based look-and-move
H×nh 2c. CÊu tróc position-based direct visual servoing
H×nh 2d. CÊu tróc image-based direct visual servoing
Bªn c¹nh ®ã còng cã thÓ ph©n lo¹i theo tiªu chÝ ¶nh vÒ môc tiªu quan s¸t, cã hÖ
thèng chØ quan s¸t ®îc môc tiªu vµ mét lo¹i quan s¸t c¶ môc tiªu vµ ®Çu tay n¨m R« bèt.
HÖ thèng thø nhÊt gäi lµ hÖ end-point-loop (EOL), trong c¸c hÖ thèng nµy ®ßi hái ph¶i
chuÈn ho¸ quan hÖ kh«ng gian gi÷a tay n¾m R« bèt vµ camera. Ngîc l¹i hÖ thèng sau end-
closed-loop (ECL) cã thÓ quan s¸t c¶ ®èi tîng vµ ®Çu tay n¾m R« bèt nªn kh«ng phô
thuéc vµo ¸nh x¹ quan hÖ kh«ng gian gi÷a tay n¾m R« bèt vµ camera.
§Æc trng ¶nh vµ kh«ng gian tham sè ®Æc trng ¶nh
Mét bíc cÇn thiÕt ®èi víi bÊt kú mét thuËt to¸n ®iÒu khiÓn ¸p dông visual servoing
®Æc biÖt c¸c hÖ thèng sö dông image-based lµ x¸c ®Þnh ®Æc trng ¶nh vµ quan hÖ cña nã ®èi
víi m« h×nh. §Æc trng ¶nh cã thÓ hiÓu lµ bÊt kú mét ®Æc ®iÓm nµo vÒ cÊu tróc cã thÓ trÝch
läc ra tõ ¶nh bao gåm c¶ c¸c tÝnh chÊt chñ yÕu vÒ ®Æc tÝnh phæ, ®Æc tÝnh h×nh häc cña ®èi
tîng. Víi c¸c gi¸ trÞ thùc xuÊt hiÖn trong qu¸ tr×nh ®o ®¹c c¸c ®Æc trng ¶nh ®îc trÝch läc
ra tõ mét hoÆc nhiÒu ¶nh liªn tiÕp cho phÐp ta x©y dùng kh«ng gian tham sè ®Æc trng ¶nh.
§èi víi c¸c c¸c vËt thÓ r¾n cã cÊu tróc h×nh häc cè ®Þnh (®ã còng lµ ®èi tîng chñ
yÕu sö dông trong kü thuËt ®iÒu khiÓn R« bèt) c¸c th«ng sè ®Æc trng ¶nh thêng lµ to¹ ®é
cña c¸c ®iÓm ®Æc trng trªn mÆt ph¼ng ¶nh [u, v] , kho¶ng c¸ch gi÷a c¸c ®iÓm vµ tham sè
cña c¸c ®o¹n th¼ng trªn ¶nh [α, β] , trong t©m vµ diÖn tÝch (S), ... TËp hîp c¸c vÐc t¬ ®Æc
trng ¶nh t¹o thµnh kh«ng gian th«ng sè ®Æc trng ¶nh ký hiÖu ξ = [u1 v1, ... α1 β1 ... S1 S2].
2. Sö dông m¹ng n¬-ron trong ®iÒu khiÓn hÖ Robot-camera
b¸m môc tiªu
M« t¶ kh¸i qu¸t hÖ thèng Robot-camera vµ bµi to¸n ®iÒu khiÓn camera b¸m theo ®èi
tîng b»ng sö dông tÝn hiÖu ®Æc trng ¶nh
S¬ ®å khèi hÖ thèng chØ ra trªn h×nh 3 trong ®ã cã mét camera ®îc g¾n ë ®Çu cña
tay m¸y cã m khíp nèi, sö dông ®Ó thu nhËn h×nh ¶nh cña ®èi tîng quan t©m. C¸c tham
biÕn Xc vµ X0 m« t¶ vÞ trÝ vµ híng cña camera vµ ®èi tîng trong kh«ng gian thùc. C¸c
vect¬
θθ
&
,
ξ
t¬ng øng lµ vÞ trÝ gãc, vËn tèc gãc c¸c khíp cña tay m¸y vµ ®Æc trng ¶nh
chóng cã thÓ ®o vµ thu ¶nh b»ng camera. VÐc t¬ momen ®iÒu khiÓn T
m]...[ 21
ττττ
=, trong
bµi to¸n ®iÒu khiÓn camera b¸m theo ®èi tîng b»ng ¶nh, ®îc tÝnh to¸n trªn c¬ së sai lÖch
(e) cña ®Æc trng ¶nh hiÖn thêi actual
ξ
nhËn tõ camera vµ ®Æc trùng ¶nh mong muèn desired
ξ
,
thªm vµo ®ã lµ c¸c tÝn hiÖu ph¶n håi tr¹ng th¸i cña c¸c biÕn trong cña robot
θθ
&
, nh»m môc
®Ých ®a camera vÒ vÞ trÝ mµ t¹i ®ã h×nh ¶nh thu nhËn ®îc vÒ ®èi tîng t¬ng ®¬ng víi
h×nh ¶nh mong muèn.
M« h×nh ®éng häc cña Robot
§éng häc cña mét robot cã m khíp nèi ®îc m« t¶ b»ng mét hÖ ph¬ng tr×nh vi ph©n
nh sau:
),()(
θθθθτ
&&& hH += (1)
Trong ®ã T
m]...[ 21
θθθθ
=lµ vÐc t¬ gãc cña c¸c khíp nèi, T
m]...[ 21
ττττ
= lµ vÐc t¬ m« men
t¬ng øng víi c¸c khíp. H(
θ
) lµ ma trËn qu¸n tÝnh [m x m] phÇn tö lµ c¸c hµm sè phô
thuéc vµo gãc
θ
vµ vÐc t¬ h),(
θθ
& lµ vÐc t¬ ®¹i diÖn cho lùc Coriolis, lùc ly t©m vµ träng
lùc phô thuéc phi tuyÕn vµo gãc
θ
vËn tèc gãc
θ
&.
+
-
e
+
d
ξ
Controller Robot Camera
Xo
ξ
Xc
τ
θ
θ
&
,
H
×nh 3. HÖ thèng ®iÒu khiÓn tay m¸y cã g¾n camera
§Æt c¸c biÕn tr¹ng th¸i vector gãc
θ
vµ vector vËn tèc gãc
θ
& ta cã ph¬ng tr×nh
tr¹ng th¸i cña robot nh sau:
τ
θ
θθθ
θ
θ
θ
+
=
)(
0
),()( 1
1H
hH
dt
d
&
&
& (2)
M« t¶ tr¹ng th¸i cña hÖ thèng ®iÒu khiÓn phi tuyÕn cho camera g¾n trªn tay m¸y
Trong b¸o c¸o nµy tr×nh bµy mét hÖ thèng ®iÒu khiÓn phi tuyÕn trªn cë së tuyÕn tÝnh
ho¸ c¸c tÝn hiÖu ®Æc trng ¶nh ®îc ph¶n håi trùc tiÕp tõ ®Çu ra trë l¹i ®Çu vµo, thªm vµo ®ã
viÖc bï trùc tiÕp ¶nh hëng qu¸ tr×nh ®éng häc cña robot còng ®îc sö lý cã hiÖu qu¶ b»ng
viÖc më réng thuËt to¸n tÝnh m« men thùc cho c¸c khíp.
Ho¹t ®éng cña hÖ thèng cã thÓ h×nh dung nh sau: khi camera g¾n trªn tay robot híng
vÒ ®èi tîng vµ thu nhËn ®îc ¶nh cña ®èi tîng nÕu c¸c khíp cña robot thùc hiÖn mét
phÐp quay T
m]...[ 21
θθθθ
=sÏ lµm cho vÞ trÝ cña vËt trªn ¶nh còng bÞ thay ®æi theo.
Gäi
ξ
lµ vÐc t¬ ®Æt trng ¶nh cña ®èi tîng ®îc ®Þnh nghÜa trong kh«ng gian ¶nh 2
chiÒu (2D) cã 2n chiÒu t¬ng øng n ®Æc trng ®îc chän vµ
ξ
lµ sù thay ®æi vi ph©n cña
®Æc trng ¶nh khi vÞ trÝ vµ híng cña camera thùc hiÖn mét dÞch chuyÓn vi ph©n Xc,, mét
ma trËn ®îc Weiss ®a ra ( tham kh¶o thªm tµi liÖu [1] ) gäi lµ ma trËn Jacobian cña ®Æc
trng ¶nh ®Ó m« t¶ mèi quan hÖ gi÷a c¸c ®¹i lîng nµy nh sau:
ξ
= Jfeature Xc (3)
§Ó thÓ hiÖn sù biÕn thiªn cña ®Æc trng ¶nh theo c¸c biÕn trong cña robot
T
m]...[ 21
θθθθ
=ta cã c«ng thøc sau:
ξ
= Jfeature Jrobot
θ
(4)
ë ®©y Jrobot lµ ma trËn Jacobian cña robot ta ký hiÖu J(
θ
ξ
,) = Jfeature Jrobot . Trong bµi to¸n
®iÒu khiÓn robot b»ng h×nh ¶nh (visual servoing) ma trËn J(
θ
ξ
,) cã thÓ ®îc x¸c ®Þnh b»ng
nhiÒu ph¬ng ph¸p kh¸c nhau tham kh¶o thªm trong tµi liÖu [2], trong m« h×nh ®iÒu khiÓn
®îc tr×nh bµy trong bµi b¸o nµy, ®èi víi tõng cÊu h×nh cña robot vµ camera cô thÓ th× ma
trËn J(
θ
ξ
,) sÏ ®îc x¸c ®Þnh b»ng ph¬ng ph¸p gi¶i tÝch.
Gi¶ thiÕt r»ng ta ®· x¸c ®Þnh ®îc ma trËn J(
θ
ξ
,) vµ ma trËn ®ã kh«ng bÞ suy biÕn
(®ñ h¹ng) víi mét ®èi tîng kh«ng chuyÓn ®éng. Trong trêng hîp ®ã ®Æc trng ¶nh cña
®èi tîng chØ cßn phô thuéc vµo c¸c biÕn trong cña robot )(
θϕξ
def
=. (5)
Chän c¸c biÕn tr¹ng th¸i cña hÖ thèng lµ:
][]...,...[ 2121
TTT
mm
x
θθθθθθθθ
&&&& == (6)
)( d
Gz
ξ
ξ
=
(7)
§îc dïng lµ biÕn m« t¶ sai lÖch ®Æc trng ¶nh, G lµ ma trËn h»ng sè [2n x m] phÇn
tö. Tæ hîp c¸c ph¬ng tr×nh (2), (6) vµ (7) ta nhËn ®îc ph¬ng tr×nh tr¹ng th¸i vµ ®Çu ra
cña m« h×nh camera g¾n trªn tay m¸y nh sau:
τ
)()( xgxfx
+
=
& , )( d
Gz
ξ
ξ
=
(8)
víi:
=hH
f1
θ
&
,
=1
0
H
g (9)
Lu ý chóng ta cã thÓ ®o ®îc
θθ
&
, còng nh tÝnh ®îc
ξ
tõ viÖc ph©n tÝch ¶nh thu nhËn
®îc.