You are on page 1of 38

I HC QUC GIA TP.

H CH MINH
TRNG I HC KHOA HC T NHIN
KHOA CNG NGH THNG TIN

Trn Duy Quang 0912369


Email: duyquang.fit@gmail.com

N (seminar)MN HC
TR TU NHN TO

TI : Lp l trnh chuyn ng cho robot


DA TRN TI LIU : Principles of Robot Motion Theory
Tc gi: Howie Choset
NGI HNG DN KHOA HC: PGS-TS. L HOI BC

TP.HCM 6/2011

MC LC
MC LC ................................................................................................................. 2
K HIU QUY C ........................................................................................... 4
TM TT N ................................................................................................... 5
NI DUNG N .................................................................................................. 7
CHNG 1: GII THIU BI TON LP L TRNH CHO ROBOT......... 7
1.1.

Khi nim c bn ............................................................................................ 7


1.1.1. S lc v robot ................................................................................... 7
1.1.2. Mt s thut ng chung trong vic lp l trnh.................................... 7

1.2.

Bi ton lp l trnh ......................................................................................... 9

1.3.

V d v lp k hoch v mt s ng dng v lp l trnh robot .................. 10


1.3.1. Robot sp xp cc khi ...................................................................... 10
1.3.2. Robot mua hng ha .......................................................................... 11
1.3.3. S dng robot di ng di chuyn piano ........................................ 11
1.3.4. Tm ng cho robot di ng ............................................................ 12

1.4.

Mt s gii thut c bn ................................................................................ 13


1.4.1. Gii thut Bug 0 ................................................................................. 14
1.4.2. Gii thut Bug 1 ................................................................................. 15
1.4.3. Gii thut Bug 2 ................................................................................. 16
1.4.4. So snh hai gii thut ......................................................................... 17

1.5.

Kt lun ......................................................................................................... 19

CHNG 2: CU HNH KHNG GIAN TRNG THI ............................... 20


2.1.

Cc khi nim khng gian cu hnh .............................................................. 20


2.1.1. Chng ngi (Obstacle) ..................................................................... 20
2.1.2. Khng gian t do (Free Space Cfree) ............................................... 20

2.2.

Cc php bin di ca robot.......................................................................... 21


2.2.1. Php tnh tin ..................................................................................... 22

2.2.2. Php quay ........................................................................................... 22


2.3.

Khng gian cu hnh chng ngi vt .......................................................... 24

2.4.

Kt lun ......................................................................................................... 26

CHNG 3: MT S PHNG PHP CHNH XC LP L TRNH


CHUYN NG ................................................................................................... 27
3.1.

Gii thiu chung ............................................................................................ 27

3.2.

Mt s gii thut lp l trnh chnh xc cho robot ........................................ 27


3.2.1. Cc gii thut roadmap ...................................................................... 27
3.2.1.1. Visibility Graph th tm nhn ....................................... 27
3.2.1.2. Voronoi Diagram Lc Voronoi .................................. 30
3. 2.2. Cell Decomposition (Phn ly ) ......................................................... 32
3.2.2.1. Exact Cell Decomposition .................................................... 33
3.2.2.2. Approximate Cell Decomposition ........................................ 35

3.3.

Tng kt ........................................................................................................ 36

TI LIU THAM KHO ..................................................................................... 37


PH LC ................................................................................................................ 38
Ph lc 1 - Demo cc gii thut c bn (Bug 1 Bug 2) ............................. 38
Ph lc 2 Demo gii thut Visibility Graph............................................... 38
Ph lc 3 Demo gii thut Voronoi Diagram ............................................ 38

K HIU QUY C
C-Space: Configuration space - khng gian cu hnh
Cfree: Khng gian t do
qstart: v tr xut pht
qgoal: mc tiu cn n

TM TT N
Lp l trnh chuyn ng cho robot l mt hng nghin cu khoa hc vi
mc tiu cung cp tri thc robot c kh nng t vn ng, di chuyn trong
khng gian phc tp (vi nhiu chng ngi) n c ch m khng b lc hay
va vo cc i tng khc.
Thng thng mt l trnh thng c xc lp trc dn dt robot n v
tr ch. Vi phng php ny, mi trng robot i qua phi c bit hon ton v
khng thay i, ng thi robot cn c c quan cm gic cm nhn v cp nht
tri thc t mi trng. Hn ch ca vic lp l trnh trc i hi vic nghin cu
tm hiu vch l trnh ni ti, v ph thuc vo cc tri thc thu c t mi trng
hin ti x l cc chng ngi cha bit khi robot bng qua mi trng.
Trn th gii hin nay t ng ha robot l mt lnh vc nghin cu thu ht
mt lc lng ng o cc nh khoa hc tham gia. Bi ton lp l trnh cho robot
l bi ton c bn thit k v ch to robot, do vy vic tm hiu bi ton v
nghin cu cc phng php lp l trnh l rt quan trng v cn thit cho s pht
trin ca ngnh khoa hc robot. Hin nay, c mt s nghin cu mi gii
quyt bi ton ny nh ng dng gii thut di truyn - lp trnh tin ha, ng dng
mng neuron trong vic xy dng l trnh chuyn ng, ; ni chung, y l mt
vn m, nhiu th thch v ang rt c quan tm. c bit trong nc ni
chung v trong lnh vc AI ca nc ta ni ring, so vi cc hng nghin cu nh
nhn dng, x l nh, x l m thanh, y vn cn l mt ch kh mi m v
hu nh cha c ti liu mt cch y v ti ny.
Trc tin em xin chn thnh cm n thy L Hoi Bc, di s gi v
ch dn ca thy, em c to iu kin v c hi tip cn vi hng nghin
cu mi, y th v ny: Robot Motion Planning Lp l trnh chuyn ng
cho robot. Mc tiu ca bi bo co n ny tp trung vo tng thut li cc
ni dung m em thu thp v nm c trong sut qu tm hiu n. Bo co
n y gm 3 chng, c th c tm tt ngn gn nh sau:

Chng 1: Trnh by tng quan v bi ton lp l trnh cho robot bao gm:
Cc khi nim c bn v robot, gii thiu v bi ton lp l trnh, v d v mt s
ng dng v lp l trnh robot, khi qut mt s gii thut lp l trnh c bn.
Chng 2: Trnh by cc khi nim v cu hnh khng gian trng thi, cch
biu din khng gian trong bi ton lp l trnh robot.
Chng 3: Tm hiu su v mt s phng php chnh xc lp l trnh
chuyn ng cho robot, c th gm cc phng php: lp gii thut Roadmap (Cc
gii thut tiu biu nh: Visibiliity Graph ( th tm nhn), Voronoi Diagram
(Lc Voronoi)), cc phng php Cell Decomposition (Phn gii ). y l
nhng cch tip cn t hp vi vic lp l trnh chuyn ng tm ng i xuyn
qua khng gian cu hnh lin tc m khng cn n cc thut ton xp x.

NI DUNG N
CHNG 1:
GII THIU BI TON LP L TRNH CHO ROBOT
1.1.

Khi nim c bn:


1.1.1. S lc v robot:
Cng vi s pht trin ca khoa hc k thut, cng ngh robot ngy cng

c quan tm, u t v ng dng rng ri trn nhiu phng din. Robot c th l


cc thit b t ng trong cc dy chuyn cng nghip hoc l cc i tng lm
vic trong cc mi trng phc tp m con ngi i khi khng th tip cn c,
nh : mi trng nhit cao, p sut ln, khong khng v tr,
V cu to: Robot phi c trang b b phn cm bin cm nhn v cp
nht tri thc t mi trng xung quanh (nh: sensor, decoder,) v cc b
phn hnh ng phn hi li cc thng tin thu thp c trong qu trnh
vn ng (nh: cnh tay robot, bnh xe chuyn ng,).
Cc tri thc cn trang b cho robot gm: Cu trc mi trng m robot ang
lm vic, cc tnh hung m robot c th gp v phng hng x l trong
cc hon cnh . Cc tri thc ny cn c th hin mt cch thch hp sao
cho thun tin trong vic lu tr, tm kim v suy din.
Cc kh nng ca robot: Robot cn c kh nng phn bit cc i tng m
n gp, thc hin cc thao tc, di chuyn trong mi trng sao cho ng i
l ti u v khng va chm vi cc vt cn.
1.1.2. Mt s thut ng chung trong vic lp l trnh:
Agent Tc nhn: L cc i tng, thc th c kh nng nhn thc t mi
trng xung quanh thng qua c quan cm gic v c nhng phn ng thch
hp tr li mi trng nh c quan phn ng. V d: con ngi, robot,
Percept Tri thc: L kt qu nhn thc ca 1 i tng (agent / robot) i
vi mi trng xung quanh

Action Hnh ng: L nhng phn ng ca robot (agent) tc ng vo


mi trng trong qu trnh thu thp tri thc. Hnh ng l nguyn nhn ca
s thay i trng thi.
State Trng thi: Trng thi ca vn lp l trnh l mt khng gian
gm tt c cc tnh trng c th xut hin ca robot v mi trng xung
quanh.
Initial state Trng thi ban u: Trng thi c trc khi i tng (agent
/ robot) thc hin bt k hnh ng no.
Goal state Trng thi mc tiu: Trng thi cui cng m mt i tng
(agent / robot) cn t c sau khi thc hin k hoch.
Environment - Mi trng: L khng gian th gii xung quanh di tng
(agent / robot), cung cp tri thc v nhn phn ng phn hi t di tng.
Plan library Th vin k hoch: Tp lut v cc hnh ng ca agent /
robot. Th vin c th khng y cc k hoch nhng c kh nng cp
nht, chn lc thng xuyn trong qu trnh agent / robot hot ng v tip
thu tri thc t mi trng.
Plan space Khng gian k hoch: Lu tr cc k hoch ca agent / robot.
Khc vi th vin k hoch, khng gian k hoch c th trng lp do c
cp nht tc thi, khng c s chn lc ti mi thi im agent / robot thc
hin cc hnh ng t n mc tiu.
State Space Khng gian trng thi: L khng gian tp hp tt c cc
trng thi m agent / robot c th c khi thc hin hnh ng. i vi bi
ton c th, khng gian trng thi l hu hn. Mt iu ch l khng gian
trng thi c biu din khng tng minh trong mt gii thut lp l trnh;
trong a s cc ng dng, s chiu ca khng gian trng thi l qu ln c
th c trnh by r rng.
Configuration Space Khng gian cu hnh: L khng gian tp hp tt c
cc cu hnh c th c ca agent / robot v mi trng xung quanh n; l mt
c t ton vn v cc ta cc im trong h thng.

Free space Khng gian t do: L ni cn trng trong khng gian m


robot c th di chuyn.
Obstacle Chng ngi vt: L thnh phn thng xuyn chim ch
trong khng gian, hay ni cch khc l ni m robot khng th i vo. V d
nh: bc tng, chic bn,
1.2.

Bi ton lp l trnh:

L trnh trong tr t nhn to c nh ngha l mt tp hu hn cc hnh


ng c th thc hin v c c p dng cho mt tp hp ring bit
nhng trng thi v c xy dng mt gii php thch hp cho dy nhng
hnh ng .
Trong phm vi rng nhng vn cp trong thut ng lp l trnh
c p dng trong tt c cc lnh vc tr tu nhn to, l thuyt iu khin,
v k thut robot. V c bn, di gc nhn ca lnh vc tr tu nhn to,
chng ta c th coi vic lp l trnh nh l mt nhnh ca gii thut. T y,
chng ta nghin cu v cc gii thut lp l trnh, trong mc tiu trng
tm l thut ton v nhng vn ci t mt s phng php lp l trnh.
Mun hiu su sc v cc gii thut lp l trnh ta phi tr li c cc cu
hi sau:
o Th no l mt l trnh?
o Mt l trnh c m t nh th no?
o L trnh c ci t nh th no trong my tnh?
o Nh th no c cho l hon tt?
o nh gi cht lng ca mt l trnh ra sao?
o i tng no s s dng l trnh ?
o
Tm li, bi ton lp l trnh cho robot c th c pht biu nh sau:
Cho i tng vi v tr ban u v v tr ch vi mt tp cc chng ngi
vt c cc v tr khc nhau trong khng gian lm vic. Yu cu tm ra mt

ng i lin tc t v tr ban u n v tr ch sao cho trnh c nhng


va chm vi cc vt cn trn ng i. Qu trnh lp l trnh thng c
chia thnh hai thao tc chnh l: Xy dng khng gian k hoch v tm
ng.
1.3.

V d v lp k hoch v mt s ng dng v lp l trnh robot


Tip sau y chng ta s xem xt mt s v d c bn v ng dng thc tin

ca vic lp l trnh cho robot, t ta s c th hiu r hn tm quan trng v cn


thit ca cc gii thut lp l trnh.
c th lp l trnh chnh xc cho cc i tng (agent / robot), trc tin
ta cn phi xy dng b lp k hoch cho i tng n c th tip nhn tri thc,
x l v a ra cc k hoch ph hp. Trc tin chng ta s xem xt mt s bi
ton c bn u tin trong vic lp k hoch.
1.3.1. Robot sp xp cc khi:
M t bi ton: C mt tp hp cc khi lp phng trn bn. Cc khi c
th xp chng ln nhau, nhng ch mt khi c th nm trn mt khi khc. Mt
cnh tay robot c th nhc mt khi ln v di chuyn n n v tr khc: ln trn bn
hay ln trn mt khi khc. Trong mt thi im cnh tay ch c th nhc mt khi,
v vy n khng th nhc mt khi ang di mt khi khc. Mc tiu l s xy
dng mt hay nhiu ng cc khi, c th l gii hn khi no trn khi no.
Hng gii quyt bi ton: c th gip robot thc hin c cng vic
ny, trc tin chng ta cn m hnh ha bi ton v dng chun, chuyn i cc
gi thit ca bi ton v dng d liu c th biu din trn my tnh gm input
(tng ng vi khng gian trng thi ban u) v output (tng ng vi trng thi
mc tiu m robot cn t); ng thi, ta cn ra cc gii thut lp k hoch thch
hp cho robot v kim nghim gii thut trn tp d liu mu c sn, t b sung,
cp nht tri thc v hng gii quyt vn cho robot. Kt qu m ta mong i
l robot s c kh nng lp k hoch chnh xc hon thnh cng vic m n
c b sung tri thc vi tp d liu u vo (trng thi bt u) v ra (trng thi
mc tiu) bt k.

10

V d, xt trng thi ban u ca cc khi nh sau:

Mc tiu l: Khi C xp trn khi A v khi B trn bn

K hoch c lp nh sau:Nhc B -> t xung -> Nhc C t trn khi A.


1.3.2. Robot mua hng ha:
C mt robot ang nh, ch nh cn mua mt s thc phm nu cho c
nh vo bui n tra. V thi gian nu nng qu gp rt, ch nh cn sai
robot ra ch mua cc loi thc phm cn thit. Trong tnh hung ny, b
lp k hoch phi lp ra k hoch robot c th ra ch v mua ng cc
thc phm m ngi ch yu cu vi thi gian nhanh nht hay t tn km v
tin bc v quay v nh vi ng cc thc phm yu cu.
Tip sau y ta s xt mt s ng dng thc t ca bi ton lp l trnh robot
1.3.3. S dng robot di ng di chuyn piano:
M t bi ton: Chng ta cn di chuyn mt piano ln qua mt cn phng
bng cch s dng 3 robot di ng vi 3 cnh tay thao tc trn chng. Hnh

11

1.3 m t qu trnh di chuyn. Trong qu trnh di chuyn yu cu phi trnh


c nhng va chm gia robot v cc vt khc. Vn s tr nn phc
tp hn khi cu trc cn phng cha c bit trc.

1.3.4. Tm ng cho robot di ng:


Mt trong nhng nhim v ph bin cho robot di ng l i hi chng phi
tm c ng i trong mi trng c th (trong nh, m cung, hm m,)
Hnh 1.4.
Mt robot c th c yu cu thc hin nhim v kho st thc a, xy
dng bn v mi trng m n kho st, xc nh v tr chnh xc ca n
trong bn , ch cn n. a s cc robot hnh ng bt chp tnh trng
khng chc chn. Vn xy dng mt bn v mi trng m robot hot
ng l tin ca nhiu h thng hin nay, y l mt la chn c a
chung cho vic pht trin nhng robot ng tin cy hon thnh nhng
nhim v c bit v chi ph tng i thp.

12

Qua cc v d nu trn, ta c th nhn thy c tm quan trng ca vic


lp k hoch v xy dng cc gii thut lp l trnh. Hng nghin cu ny khng
ch c ng dng trong ngnh cng ngh robot m cn c th c ng dng trong
rt nhiu lnh vc thc t nh: Kho st a hnh nguy him, lm sch mi trng
b nhim c - phng x, ng dng trong cc thit b t ng iu khin, my bay
khng ngi li. Khng ch vy, cc gii thut lp l trnh cn c ng dng
trong nhng k thut my tnh m phng sinh hc nh robot khm bnh, nhng m
hnh hnh hc ng dng ti tng phn t,
1.4.

Mt s gii thut c bn
c mt khung nhn chi tit hn v cc cch tip cn vi cc gii thut lp

l trnh trong thc t, trc tin chng ta s tm hiu s lc v mt s gii thut c


bn nht. Cc gii thut ny cn c bit vi tn gi l gii thut Bug (Bug
algorithms).
M t bi ton:
C nhiu chng ngi vt trong mt mi trng xc nh.
ng i hng t Ngun (Start) ti ch (Goal) c th giao vi nhiu vt
cn.
Khng gian lm vic l tp ng:
o W Br(x), r <

o Br(x) = { y(2) | d(x,y) < r }


o Din gii: W l khng gian lm vic ca robot

13

Br(x) l mt tp ng
Mt s gi nh ca gii thut:
i tng robot y c m hnh l mt im trong khng gian lm vic.
Robot c cung cp y tri thc v khng gian trng thi cc b v mc
tiu ton cc cn di chuyn n.
Robot c cc c quan cm gic v cc c quan cm ng a ra cc hnh
ng thch hp.
tng c bn ca gii thut:
Lun hng robot ti mc tiu cn t.
Khi gp vt cn trn ng i, men theo i tng vt cn (theo hng bn
tri hoc bn phi) cho n khi li thy c mc tiu hoc tm c khng
gian trng di chuyn v c th hng ti mc tiu.
Mt s k hiu quy c:
qstart v qgoal : V tr bt u v v tr ch.
hit point : qHi im m robot c kh nng tip xc vi vt cn ln u tin.
leave point : qLi : im m robot bt u ri vt cn v tip tc hng ti
ch.
1.4.1. Gii thut Bug 0:
Gii thut Bug 0 thc cht ch n gin vn dng tng lp l trnh c bn
nh nu trn.
Tm tt chi tit gii thut:
B1: Robot i thng ti mc tiu
B2:

Men theo b mt vt cn khi gp

chng ngi cho n khi c th xc nh li


mc tiu
B3: If (n ch) Dng
else Lp li bc 1.
Minh ha: Hnh 1.5

14

Nhn xt: Gii thut Bug 0 thc s qu n gin v vy thc s y l mt


gii thut khng ton vn, khng m bo lun tm ra li gii cho mi bi ton. C
th xt trng hp khng gian lm vic nh sau:
Trong trng hp ny robot s khng tm
c ng i nu p dng gii thut lp l trnh
Bug 0 (vi quy c robot ch quo tri hoc phi
khi gp vt cn)

1.4.2. Gii thut Bug 1


c th khc phc cc nhc im do tnh n gin ca gii thut Bug 0,
ngi ta b sung thm mt s chi ph cho gii thut ny, nh:
Tng thm vng nh lu tr.
Thm phc tp trong tnh ton (Chi ph tnh ton, xc nh ng i phc
tp, tn km hn).
Gii thut ci tin da trn gii thut c s Bug 0 c gi l gii thut Bug 1.
M t chi tit gii thut:
B1:

Hng thng n ch. Nu n ch -> Dng.

B2:

Nu gp vt cn, i 1 vng quanh n v ghi nhn li khong cch ti

mi im di chuyn so vi mc tiu
B3: Tr li im gn vi mc tiu nht v tip tc bc 1.
M gi cho gii thut Bug 1:

15

Demo gii thut Bug 1: S c gii thiu trong phn ph lc


1.4.3. Gii thut Bug 2:
Mt hng tip cn khc da trn gii thut Bug 0 cng ng thi c a
ra cng lc v cnh tranh vi gii thut Bug 1. Ngi ta t tn gii thut ny l
Bug 2.
M t chi tit gii thut:
Gi ng thng ni t v tr xut pht (Start) n v tr ch (Goal) l m-line.
Gii thut Bug 2 c m t nh sau:
B1: Hng thng n mc tiu theo ng
m-line.
If (n ch) Dng.
B2: Nu gp vt cn men theo b mt vt
cn cho n khi gp li ng m-line.
B3: Ri vt cn v di chuyn n mc tiu.

16

M gi gii thut Bug 2:

1.4.4. So snh 2 gii thut Bug 1 v Bug 2


Nhn xt:
Bug 1 l mt gii thut vt cn
-> Xem xet tt c cc trng hp trc khi a ra la chn tip theo
Bug 2 l mt gii thut tham lam
-> a ra la chn da trn kt qu tt nht u tin m n c c
Trong nhiu trng hp Bug 2 hiu qu hn Bug 1. Tuy nhin, Bug 1 an
ton v ng tin cy hn. Xt cc v d c th sau:

17

Trong hnh 1.8 trn, thut ton Bug 2 (ng biu din mu ) vi phng
php tm ng da trn ng m-line t ra hiu qu hn hn so vi gii
thut Bug 1 (ng biu din mu vng).

Trong hnh 1.9, trng hp ny thut ton Bug 1 li tm c ng i


nhanh chng hn thut ton Bug 2. Theo hnh minh ha Bug 1 ch cn mt

18

na vng di chuyn quanh vt cn tm ra l trnh n ch, trong khi


gii thut Bug 2 phi tn chi ph cao hn gp i so vi gii thut Bug 1
n c mc tiu.
So snh phc tp gia 2 gii thut:

1.5.

Kt lun
Chng ny gii thiu tng quan v khi nim lp k hoch, lp l trnh

chuyn ng cho robot v mt s khi nim lin quan khc, ng thi a ra mt


vi ng dng tiu biu ca ch ny v mt s gii thut c bn trong vic lp l
trnh cho robot (c biu din bi mt di tng im trong khng gian). Mc tiu
ca chng gip chng ta c mt khung nhn khi qut v bi ton lp l trnh v
cc cch tip cn bi ton. chng tip theo sau, chng ta s tm hiu chi tit hn
v cch m hnh ha bi ton.

19

CHNG 2:
CU HNH KHNG GIAN TRNG THI
Kin thc nn tng v quan trng trong vic lp l trnh cho robot l lm th
no m hnh ha, nh ngha c robot v khng gian trng thi xung quanh
robot. Khng gian trng thi cho vic lp l trnh chuyn ng l mt tp hp
nhng bin i c th ng dng c cho robot t n trng thi mc tiu.
Khng gian trng thi y s c nhc n di khi nim khng gian
cu hnh (Configuration Space). Mt khng gian cu hnh phi c biu din r
rng v d hiu. Trong khun kh chng ny chng ta s phn tch v tm hiu chi
tit hn v khi nim ny.
2.1.

Cc khi nim khng gian cu hnh:


Khng gian cu hnh (Configuration Space) l khng gian ca tt c nhng

cu hnh c th c ca robot, l mt c t ton vn v ta cc im trong h


thng.

2.1.1. Chng ngi (Obstacle):


L nhng phn ca khng gian thng xuyn b chon ch, v d nh: cc
bc tng trong mt ta nh, nhng chic bn, gh trong mt cn phng.

20

Cu hnh chng ngi vt: L cu hnh ca tng chng ngi vt.


Min chng ngi vt: L hp ca tt c cu hnh chng ngi vt.
Mt s k hiu quy c:

2.1.2. Khng gian t do (Free Space Cfree):


L phn b ca ton b khng gian vi min chng ngi vt.
K hiu quy c:

Din gii:
o A l tp cc ta cu hnh ca robot (agent) trong khng gian cu
hnh -> A(q) l trng thi ca robot ti cu hnh q
o C l khng gian cu hnh.

2.2.

Cc php bin di ca robot trong khng gian


Xt trong khng gian lm vic 2 chiu, mt robot c th c cc php bin i

c bn sau: Php tnh tin v php quay.


Trong khng gian 3 chiu, tnh cht ca cc php bin i c bn trn l
hon ton tng t nh cc php bin i 2 chiu. im khc y l ta s dng
thm mt bin biu din su trong khng gian khi hin th mt i tng trn
mt phng.
C 2 quan im v php bin i hnh hc trong khng gian, l:

21

Bin i i tng: thay i ta ca cc im m t i tng theo mt


quy tc no .
Bin i h ta : To ra mt h ta mi v tt c cc im m t i
tng s c chuyn v h ta mi.
2.2.1. Php tnh tin:
Trong khng gian 2D, Mt robot tnh A c cu thnh bi tp im thuc
v khng gian R2, robot c tnh tin bi vic s dng 2 tham s xt, yt R , trong
xt , yt ln lt biu din cho di theo trc x v trc y ca robot. Tp hp cc
ta im mi ca robot theo php tnh tin vi di (xt, yt) c nh ngha
nh sau:
h(x, y) = (x + xt, y + yt)
Trong hnh 2.2 c 2 cch xem xt v s bin i robot tnh A:
2.2.a. Khng gian c nh v robot c tnh tin.
2.2.b. Robot c nh v khng gian thay di.

2.2.2. Php quay:


Php quay lm thay i hng ca i tng. Mi php quay i hi phi c
tm quay, gc quay. Gc quay dng thng c quy c l chiu ngc chiu
kim ng h.

22

Php quay quanh gc ta : Ta c cng thc bin i ca php quay im


P(x, y) quanh gc ta 1 gc (xem hnh 2.3):
x = x.cos - y.sin
y = x.sin + y.cos
hay: Q = P*M
vi: Q(x, l ta im sau khi thc hin php bin i.
P l ta im trc khi thc hin php bin i.
v M l ma trn vi biu din:
M=

cos

sin

-sin

cos

Php quay quanh mt im bt k:

23

Xt im P(P.x, P.y) quay quanh im V(V.x, V.y) mt gc n im


Q(Q.x, Q.y). Ta c th xem php quay quanh tm V c kt hp t cc php bin
i c bn sau:
Php tnh tin (-V.x, -V.y) dch chuyn tm quay v gc ta .
Quay quanh gc ta O mt gc .
Php tnh tin (+V.x, +V.y) a tm quay v v tr ban u.
Ta c th rt ra cng thc tng qut cho php bin i trn nh sau:
Q.x = P.x*cos - P.y*sin + V.x*(1 - cos ) + V.y*sin
Q.y = P.x*sin + P.y*cos - V.x*sin + V.y*(1 - cos )
Hay:
Q = P.M + tr
vi:
M=

cos

sin

-sin

cos

Tr = (V.x*(1 - cos ) + V.y*sin , -V.x*sin + V.y*(1 - cos ))


2.3.

Php bin i C-Space (Php bin i cu hnh khng gian)


Vi mi robot vt th rn (khng khp) chuyn ng trong khng gian thc,

lun tn ti mt php nh x robot v cc vt cn v dng biu din gm mt im


di chuyn trong khng gian gm cc chng ngi c m t bi cc i tng
hnh hc n gin (hoc phc tp nhng c th thao tc/ x l c). Php bin i
ny c gi l php bin i cu hnh khng gian (C-Space Transform)
V d v php bin i C-Space:

24

Xt mt v d n gin nh trong hnh 2.5: Yu cu bi ton l tm cch di


chuyn i tng robot hnh cu, kch thc ln men theo st ra ca vt cn
(cng st cng tt) sao cho m bo iu kin robot khng va p vo
chng ngi. n gin ha cch biu din bi ton v tin trong vic lp
trnh ta c th p dng php bin i C-space a bi ton v dng biu
din di chuyn mt im trong khng gian (im ny tng ng vi i
tng robot) vi kch thc cc vt cn c m rng.
Php bin i cu hnh khng gian 3 chiu:

Bi ton t ra y l: Lm th no chuyn i khng gian cu hnh cho


bi ton di chuyn mt i tng a gic vt qua khng gian tp cc vt
cn cng l a gic???
-

Hnh 2.6. Minh ha cho cch gii quyt vn trn. y khng gian bi
ton ban u c a v khng gian cu hnh biu din mt im di chuyn
trong khng gian 3 chiu to bi cc vt cn a gic 2 chiu c b tr theo
su khc nhau.

25

2.4.

Kt lun:
Chng ny tp trung ch yu vo vic trnh by khi nim khng gian cu

hnh v mt s khi nim lin quan (nh: Khng gian t do, chng ngi trn l
trnh di chuyn), cp n php bin i cu hnh khng gian v mt s v d,
ng thi gii thiu s v mt s php bin i c bn mt i tng trong khng
gian (nh php tnh tin, php quay, php quay kt hp php tnh tin). y chnh
l cc kin thc nn tng cho cc phng php lp l trnh chnh xc s c cp
n chng sau.

26

CHNG 3:
MT S PHNG PHP CHNH XC LP L TRNH CHUYN NG
3.1.

Gii thiu chung


Cho n nay, trong lnh vc lp l trnh chuyn ng cho robot c rt

nhiu gii thut c ra, mi gii thut u c nhng u im, tim nng ring
v c ng dng trong mt s lnh vc nht nh. Trong , cc phng php ph
bin nht l phng php ly mu c s v phng php lp l trnh chnh xc.
Trong khun kh tm hiu ca n ny, chng ta ch xem xt cc phng php lp
l trnh chnh xc.
3.2.

Mt s gii thut lp l trnh chnh xc cho robot


C rt nhiu gii thut lp l trnh chnh xc. y chng ta tp trung gii

thiu v 3 gii thut lp l trnh chnh xc tiu biu l Visibility Graph, Voronoi
Diagram (thuc lp cc gii thut roadmap), v phng php Cell Decomposition.
3.2.1. Cc gii thut roadmap
3.2.1.1. Visibility Graph th tm nhn
Mc tiu ca gii thut: Tm c ng i ngn nht cho robot c th
di chuyn n ng mc tiu.
tng ca gii thut ny c th c coi l v d u tin cho mt gii
thut lp l trnh chuyn ng chnh xc.
tng chung ca gii thut ny l xy dng mt th n gin nht c
th biu din cc ng i t nh xut pht n nh ch trong khng gian cu
hnh; t ta s la chn ra mt gii thut tm kim thch hp nht (v d: Gii
thut A*) tm ra ng i ti u trn th tm kim va xy dng.

27

Mt iu cn lu na l phng php th tm nhn ch yu c p


dng cho cc bi ton xt trong khng gian gm cc vt cn a gic.
Xt khng gian cu hnh gm cc vt cn a gic c biu din trong hnh
3.1. Ta c mt s nhn xt nh sau:
Nu khng c vt cn, ng di ngn nht n ch chc chn l ng
thng m-line ni 2 im qstart v qgoal.
Ngc li, chc chn phi tn ti mt ng i l mt dy lin tc cc on
thng men theo b mt vt cn kt ni 2 im qstart v qgoal .
Mt s quy c trong phng php th tm nhn:
Nt (Node) ca th tng ng vi nh ca cc vt cn a gic.
Cc node c xem l k nhau khi:
- 2 node c ni vi nhau bi mt cnh ca mt vt cn.
- Hoc on thng ni 2 node thuc v khng gian t do.

28

Tm tt t tng ca phng php th tm nhn:


B1: Xy dng khng gian
cu hnh.
B2: Xy dng cc on
thng khng b chn ni
cc nh a gic, nh u
v nh cui.
B3: S dng thut ton
tm kim trn th va
xy dng tm ng i
ngn nht.
Hnh 3. 2 bn minh ha mt th c xy dng trn khng gian cu hnh
gm cc vt cn a gic theo t tng ca phng php th tm nhn.
Lc gin th tm nhn:
Vi nhn xt sau:
th c xy dng hin ti c qu nhiu cnh! -> Ta c th lc b mt
s cnh khng cn thit sau:
o Cc cnh / ng hng vo vt cn l a gic lm -> iu chc chn
l ng i ti u khng th i qua cc cnh ny, v i theo cc cnh
ny ng ngha vi vic i vo ng ct v ta phi thc hin mt php
quay lui.
o Cc cnh / ng c xu hng lao u vo cc i tng vt cn.
Nh vy t tng chnh ca th tm nhn gin lc y l ch tp trung
vo cc cnh lt qua cc gc ca vt cn v bo m khng i vo ng ct.
Tm li th gin lc s c dng sau:
Cc nt l cc nh ca a gic li.

29

Cc cnh tip xc vi cc a gic vt cn (Khng lao thng vo cc i


tng vt cn).
Hnh 3.3 m t mt th c lc gin t mt th phc tp ban u.

Nhn xt:
Theo thng k, chi ph cao nht cho vic xy dng th tm nhn trn
khng gian cu hnh s l O(n3) vi ci t quy (Brute force), v chi ph thp
nht cho cng vic ny l: n log (n) (hoc n2log (n)) vi hng p dng gii thut
ng qut (sweepline algorithm). Do trong khun kh bi bo ch dng mc
gii thiu khi nim tng quan v tng ca cc phng php lp l trnh chuyn
ng, v vy chng ta s khng i su vo tm hiu cch ci t v tnh ng n
ca cc gii thut ny y. Tuy nhin lu gii thut v ci t demo s c
cp thm phn ph lc.
3.2.1.2. Voronoi Diagram Lc Voronoi
Gii thiu khi nim chung:

30

Cho trc mt s im, mi im c mu sc khc nhau trong khng gian.


Tp cc im cn li trong khng gian s c t theo quy lut sau: Cc
im ny s c cng mu vi im cho gn nht vi n.
=> Tp hp cc ng bin phn chia cc vng khc nhau l lc Voronoi
(Voronoi Diagram).
Hnh 3.4 di y minh ha mt lc Voronoi c hnh thnh theo cc
nguyn tc trn.

Hnh 3.5 minh ha qu trnh hnh thnh mt lc Voronoi tng qut


(GVD General Voronoi Diagram). Lu , lc voronoi tng qut l lc
m tp cc im trn cng mang tnh cht l khong cch t mt im bt k n
2 (hay nhiu) vt cn l nh nhau.

31

ng dng lc Voronoi trong vic xc nh l trnh chuyn ng:


B1: Xc nh lc Voronoi cho khng gian cu hnh
B2: Tnh ton on ng ngn nht t nh ngun nh bt k trn th.
B3: Tnh ton on ng ngn nht t nh ch n nh bt k trn th.
B4: Xc nh ng i ti u t nh ngun n ch dc theo lc
Voronoi.

3.2.2. Cell Decomposition (Phn ly )


Cc gii thut phn ly hng ti vic chia ct Cfree thnh mt tp hu hn
cc vng gi l .
S phn ly phi m bo tha mn 3 thuc tnh:
Vic xy dng ng i t mt im bn trong mt phi d dng. V d,
nu mi li th bt k cp im no trong mi u c th ni c bi
mt on thng.

32

S cung cp thng tin cho nhng lin k phi d dng xy dng


roadmap.
Cho trc cp im bt u qstart v im ch n qgoal cn phi xc nh
c cc no cha chng.
Nu s phn ly tha mn cc thuc tnh nu trn th vn lp l trnh
chuyn ng c bin i v vn tm kim trn th. Tip sau y chng ta s
i vo tm hiu chi tit hn v cc phng php phn ly ph bin, c th l:
phng php phn ly chnh xc v phng php phn ly xp x.
3.2.2.1. Phn ly chnh xc (Exact Cell Decomposition):
T tng chnh ca phng php ny l chia khng gian t do thnh tp
cc a gic li chnh xc.
Mt s phng php phn ly chnh xc nh: Phn ly dc (hay cn gi
l phn ly hnh thang), phn ly da trn cnh ni cc nh ca cc vt cn a gic
vi cc inh ng bin ca khng gian cu hnh (phn ly a gic t do). Hnh
3.6 v 3.7 minh ha cc phng php phn ly trn.

33

Xt khng gian cu hnh c ng bin c biu din di dng a gic.


M t cc phng php phn ly c bn:
Xt phng php phn ly a gic t do minh ha nh trong hnh 3.6. T
tng ca phng php phn ly ny xc nh tt c cc nh ca cc i tng vt
cn a gic, dng cc cnh ni c th to (cc cnh khng b chn) gia cc nh li
ca cc a gic vt cn vi cc nh ng bin ca khng gian cu hnh. Vi quy
tc thc hin trn, ta c th phn ly khng gian cu hnh a gic ban u thnh tp
cc (cell) c minh ha nh trong hnh v.
Xt phng php phn ly dc minh ha nh trong hnh 3.7. T tng ca
phng php ny l dng nhng tia hng thng t trn xung (hoc ngc li) i
qua cc nh li ca cc vt cn a gic hoc qua cc nh ca ng bin ca
khng gian cu hnh phn ly khng gian ban u thnh khng gian gm tp hp
nhiu (cell) n v. Phng php ny cn gi l phng php phn ly hnh thang
v hu ht cc to thnh u c dng hnh thang.
ng dng phng php phn ly (Cell Decomposition) vo vic lp l
trnh chuyn ng:
Qu trnh lp l trnh din ra theo cc bc sau:

34

p dng phng php phn ly , phn r khng gian cu hnh ra thnh


khng gian tp hp cc (cell) n v.
Xc nh cc (cell) cha nh bt u (start point) v nh ch (goal
point).
Xy dng th lin k cho cc cn li. Theo quy c sau:
o Mi nt ca th tng ng vi mt im bt k trong -cell
(thng l tm ca cell hoc chn ra cc trung im trn cc cnh ca
cell).
o Cnh ca th ni cc cell (nt node) k nhau.
Ni nh bt u (start) v nh ch (goal) vi cc nh trong th va xy
dng tha mn tnh cht k vi 2 nh ny.
p dng gii thut tm ng i ti u trn th lin k.
Mt s phng php phn ly chnh xc khc nh: Trapezoidal
Decomposition, Morse Cell Decomposition, Visibility-based Decomposition.
Tuy nhin trong khun kh bi bo co ny, cc phng php ny s tm
thi khng c cp n.
3.2.2.2. Phn ly xp x (Approximate Cell Decomposition):
Trong phm vi tm hiu ca bo co d n ny chng ta s khng i chi tit
vo phng php ny. Mt s c im ni bt ca phng php c gii thiu
di y:
Cc bc thc hin phn ly :
Thit lp khung li (tp cc vung).
Loi b cc giao vi vt cn.
Xc nh ng i ngn nht qua cc cn li (s dng cc gii thut tm
kim trn th nh : A*)
Nu khng tn ti ng i, Tng phn ly v lp li qu trnh tm kim
Hnh 3.8 minh ha phng php phn ly xp x.

35

Nhn xt:
Nhc im ca phng php:
-

Khng chnh xc (Khng th cp ti khi nim ng i ti u).

Khn ton vn: Khng m bo vn s c gii quyt.

Khng chnh xc khi p dng trn khng gian t chiu.

Tuy nhin, phng php ny thc s c p dng trong cc h thng thc


t.
3.3. Tng kt
Chng ny ch yu tp trung vo mc tiu gii thiu mt khung nhn s
lc bao gm cc khi nim c bn v tng ca cc gii thut lp l trnh chnh
xc cho robot. C th l cc gii thut sau: th tm nhn (Visibility Graph), Loc
Voronoi (Voronoi Diagram), Phn ly (Cell Decomposition).

36

TI LIU THAM KHO


Motion.ppt PGS- TS. L Hoi Bc
Principles of Robot Motion Theory, Algorithms, and Implementations by Howie Choset
Lun vn Nghin cu Planning gii bi ton xc nh l trnh SVTH:
Trn Thy Tin, Trn Hng Thi
http://voronoi.sbp.ri.cmu.edu/~choset
http://www.metu.edu.tr/~e159540/index.html : Demo ca sinh vin MIT
http://www.vanhoavu.com/VHV/EXTRAS/ArtificialIntelligence_01.htm

http://www.scribd.com/doc/49899816/53/Khai-quat-v%E1%BB%81l%C6%B0%E1%BB%A3c-%C4%91%E1%BB%93-Voronoi
V tt nhin l s h tr khng th thiu t: GOOGLE

37

PH LC

Ph lc 1 - Demo cc gii thut c bn (Bug 1 Bug 2)


Bao gm cc on clip demo c lu trong ng dn th mc ..\Slide
thuyet trinh\Demos np km vi bo co n.
Ph lc 2 Demo gii thut Visibility Graph
Gii thut c ci t theo phng php ng qut (Sweepline algorithm).
Chi tit ci t c lu trong th mc ..\Source code\Visibility Graph v file
thc thi chng trnh c bin dch sn c lu trong th mc ..\Source
code\Release.
Ph lc 3 Demo gii thut Voronoi Diagram
Demo gii thut c m t trong bi thuyt trnh, slide 43 (file nh .gif)

38

You might also like