iii
LỜI CM T
Đềătàiă“HoạchăđịnhăquỹăđạoăchoărobotădiăđộngădùngăthuậtătoánăPSO”ăđãăhoàn thành
với sựăhướngădẫnătậnătìnhăcủaăTS. Ngô Văn Thuyên (Trưởngăphòng quảnălýăkhoaă
họcă&ăquanăhệăquốcătếă- TrườngăSưăphạmăKỹăthuậtăTp.HồăChíăMinh).ăTrướcăsựătậnă
tìnhăđóătôi xinăbàyătỏălòngăbiếtăơnăsâuăsắcăvàălờiăcảmăơnăchânăthànhănhấtăđếnăthầyă
Ngô Văn Thuyên, ngườiăđãătậnătìnhăhướngădẫnăvàăgiúpăđỡătôi rấtănhiềuătrongăsuốtă
thờiăgianăthựcăhiệnăđềătài.
Tôi xin gửiălờiăcámăơn đếnăquýăthầyăcôătrườngăĐạiăHọcăSưăPhạmăKỹăThuậtătp.ăHồă
Chí Minh,ă Đạiă Họcă Báchă Khoaă tp.ă Hồă Chíă Minh,ă Đạiă Họcă Quốcă Tếă đãă tậnă tìnhă
hướngă dẫnă vàătruyềnă đạtă nhữngă kiếnăthức,ăphươngă phápă nghiênăcứuăvàăcácăkinhă
nghiệmătrongăsuốtăhaiănĕmăhọc.ăNhữngăkiếnăthứcăvàăkinhănghiệm nàyăchínhălàănềnă
tảngăgiúpăngườiăthựcăhiệnăhoànăthànhătốtăluậnăvĕnănày.
Tôi xinăgửiă lờiăcảmăơnă đếnăBanăGiámăHiệu,ă cùngăquýăthầyăcôă trườngă Cao Đẳngă
NghềăĐồngăThápăđãăgánhăvácăcôngăviệcăcủaătôi vàătạoăđiềuăkiệnăthuậnălợiăchoătôi
tham gia và hoàn thành khóa học này.
Tôi xinăgửiălờiăcảmăơnăđếnăquýăanhăchịăcácăkhóaăCaoăhọcătrước,ăbạn bè, ngườiăthână
vàăgiaăđìnhăđãătậnătìnhăgiúpăđỡ,ăđộngăviên tôi trongăsuốtăkhóaăhọcăcǜngănhưătrongă
quáătrìnhăthựcăhiệnăluậnăvĕn.
T.p.HồăChíăMinh,ăthángă04 nĕmă2013
Họcăviênăthựcăhiện
v
TÓM TT
H l
thúc mà .
khai
(Road Map)
“Hoạch định quỹ đạo cho robot di động dùng thuật toán
PSO” p D*_PF.
D* và
.
ách an toàn.
vi
ABSTRACT
Path planning is one of the important problems of mobile robot, its task is to find an
optimal path from its starting point to end point without colliding with obstacles.
There are many methods for mobile robot path planning such as: potential field
method (PF), the road map approach (RM), or genetic algorithm (GA)
Disadvantages of those methods are trapped local minima (PF), increase of the cost
of the path length (RM) or complexity (GA) due to the crossover and mutation
techniques.
Recent path planning solutions combining algorithm to find the shortest path D *
with the above methods result in avoiding local minima traps and the path length is
shorter. However, the robot's path has not been smoothed. The robot is swung when
it travels near the obstacles or when it moves along a narrow path. To overcome this
limitation, the proposed method named "Planning for mobile robot using PSO
algorithm" on the basis of inherited method D *_PF is used in this thesis.
The D* and PF algorithms are used to find the shortest path for the robot to move
from its starting position to its desired position without colliding to the obstacles.
Then the PSO algorithm is used to find the angular and linear velocities for the
robot to move from one way point to the other along the desired path generated by
D* algorithm.
The algorithm is simulated on Player /Stage using C++ language. The simulation
results show the path of the robot is very smooth and the robot to the goal safely.
MC LC
i
iii
iv
v
Chương 1: TNG QUAN 1
1
1.2. 5
1.3. 5
Chương 2: C S Lụ THUYT 7
7
2.2.1. Robot 2 bánh 7
2.2.2. Robot 3 bánh 9
2.2.3. Robot 4 bánh 10
11
11
13
14
2.3.1. 14
2.3.2. 16
2.3.3. 19
2.4. Các gi 21
*
21
*
24
29
2.5.1. 29
34
35
Chương 3: HOCH ĐNH CHUYN ĐNG CHO ROBOT DI ĐNG DÙNG
THUT TOÁN PSO 37
37
37
3.3. Tìm 39
41
45
Chương 4: KT QU MÔ PHNG 46
46
46
46
48
49
50
50
*
52
56
Chương 5: KT LUN VÀ HNG PHÁT TRIN CA Đ TÀI 63
5.1. 63
5.2. 63
63
64
TÀI LIU THAM KHO 65
68
DANH SÁCH CÁC HÌNH
Hình 1.1. Một số hình ảnh robot di động 2
Hình 1.2. Robot di chuyển bằng bằng bánh xe. 2
Hình 2.1. Cấu trúc robot 2 bánh 8
Hình 2.2. Cấu trúc robot với điều kiện ràng buộc nonholonomic trong hệ tọa độ
toàn cục 9
Hình 2.3. Cấu trúc robot 3 bánh 10
Hình 2.4. Cấu trúc ca robot di động 4 bánh 10
Hình 2.5. Phơng pháp đồ thị trực quan (Visibility graph) 12
Hình 2.6. Sơ đồ Voronoid 13
Hình 2.7. Phơng pháp chia ô 13
Hình 2.8. Đờng đi tránh vật cản ca thuật toán Bug 1 15
Hình 2.9. Đờng đi tránh vật cản ca thuật toán Bug 2 15
Hình 2.10. Đờng đi tránh vật cản ca thuật toán DistBug 15
Hình 2.11. Phơng pháp trờng thế năng 16
Hình 2.12. Phân bố xác xuất vật cản dùng cảm biến lấy mẫu liên tục 20
Hình 2.13. Mô tả bản đồ và đờng đi ca thuật toánt A* 22
Hình 2.14. Khoảng cách giữa các ô lới 23
Hình 2.15. Mô tả bản đồ và đờng đi ca thuật toán D* 25
Hình 2.16. Sự kết hợp ca ba trọng số di chuyển 30
Hình 2.17. Sự di chuyển ca cá thể trong PSO 31
Hình 3.1. Lu đồ mô tả hoạt động ca giải thuật hoạch định đờng đi 38
Hình 3.2. Mô phỏng thuật toán D* với vật cản tĩnh 40
Hình 3.3. Mô phỏng thuật toán D* với vật cản tĩnh và động 40
Hình 3.4. Dẫn đờng giữa hai điểm 41
Hình 4.1. Mô hình Client/Sever ca Player 47
Hình 4.2. Kết nối giữa Player/Stage và Robot 49
Hình 4.3. Đờng đi ca robot sử dụng phơng pháp PF tiếp cận đợc mục tiêu 51
Hình 4.4. Đờng đi ca robot sử dụng phơng pháp PF không tiếp cận mục tiêu 52
Hình 4.5. Đờng đi ca robot sử dụng kết hợp thuật toán D* với phơng pháp PF
thoát khỏi bẫy cực tiểu cục bộ 53
Hình 4.6. Biểu đồ vận tốc góc điều khiển robot với vật cản chữ U 54
Hình 4.7. Đờng đi ca robot sử dụng kết hợp thuật toán D* với phơng pháp PF
cha tối u 54
Hình 4.8. Đờng đi ca robot sử dụng kết hợp thuật toán D* với phơng pháp PF
cha tối u với vật cản phc tạp 55
Hình 4.9. Biểu đồ vận tốc góc điều khiển robot với vật cản phc tạp 56
Hình 4.10. Đờng đi ca robot sử dụng thuật toán PSO 57
Hình 4.11. Biểu đồ vận tốc góc điều khiển robot với vật cản chữ U 58
Hình 4.12. Biểu đồ so sánh vận tốc góc điều khiển robot phơng pháp PSO và
PF_D* 58
Hình 4.13. Đờng đi ca robot sử dụng thuật toán PSO với thông số khác nhau . 59
Hình 4.14. Đờng đi ca robot sử dụng thuật toán PSO với vật cản phc tạp 60
Hình 4.15. Biểu đồ vận tốc góc điều khiển robot với vật cản phc tạp 61
Hình 4.16. Biểu đồ so sánh vận tốc góc điều khiển robot phơng pháp PSO và
PF_D* 61
Ch
1
Chương 1
TNG QUAN
1.1. Gii thiu
[1].
obot ngày càng c hoàn
thi
và
nhan
[4].
.
.
Ch
2
a. Robot tự hành thám hiểm sao hoả b. Robot hút bụi Trilobite
Hình 1.1. Một số hình ảnh robot di động
a. Robot di chuyển bằng bánh xe b. Robot di chuyển bằng bánh xe
dạng dĩa đa hớng
Hình 1.2. Robot di chuyển bằng bằng bánh xe.
Ch
3
robot
tâm là làm nào r tôi âu
và robot có
r
.
Theo Lagoudakis, Michail G [14
các "task
Mapping :
Positioning :
Path planning "):
Obstacle avoidance :
Dn đưng đi cho robot di
động”
(global path planning) và
nning) robot
: (Potential Field) [30],
Ch
4
(Road Map) [5]
(Genetic Algorithms) [23] PSO (Particle Swarm Optimization) [3],
[11], [12]
Phương pháp bn đ đưng (Road Map)
Road Map kt ni các vùng không gian trng ca robot trong mt
mng thng hong cong gi là các b
pháp bn i viu khin robot phi thc s chính xác, vic tìm
kii chi vng rng ln có nhiu vt cn.
Phương pháp trưng th năng (Potential Field)
Phương pháp thut toán di truyn (Genetic Algorithms)
evolutionary), thô
Chính vì các quá trình trên nên trong
.
Phương pháp PSO (Particle Swarm Optimization)
Ch
5
.
1.2 . Mc tiêu vƠ gii hạn đ tƠi
D*_PF u
.
- N
các ph,
tìm
-
tPSO (Particle Swarm Optimization).
- K
Player/Stage .
1.3 . Nội dung đ tƠi
Chơng 1: Tổng quan
mobile robot,
Ch
6
Chơng 2: Cơ sở lý thuyết
l
: ap),
Decomposition). Các t toán Bug
A*, g D*. T trình bày .
Chơng ̀: Hoạch định chuyển động cho robot di động dùng thuật toán PSO
là các
và bài toán di ).
Chơng 4: Kết quả mô phỏng
robot mã
Player/Stage
và
r . K mô
,
.
Chơng 5: Kết luận và hớng phát triển của đề tài
n
ra t và
.
Ch
7
Chương 2
C S Lụ THUYT
2.1. Mô t mô hình toán hc ca một số robot di động
khác nhau [4], [6
ba bánh, 3
bánh và robot 4 bánh.
2.2.1. Robot 2 bánh
Robot di
cao.
b
Ch
8
v
U
(2.1)
y
x
P
(2.2)
( , )xy
là góc
v
là
Hình 2.1. Cấu trúc robot 2 bánh
L
(R+ )
2
R
V
(2.3)
L
(R- )
2
L
V
(2.4)
:
R
V
L
V
.
Ch
9
2
RL
VV
v
(2.5)
RL
VV
L
(2.6)
Hình 2.2. Cấu trúc robot với điều kiện ràng buộc nonholonomic trong hệ tọa độ toàn cục
cos 0
sin 0 .
01
x
v
y
(2.7)
os sin os =0
x
sin c x y c
y
(2.8)
2.2.2. Robot 3 bánh
v
Ch
10
()
cos ( ) 0
()
( ) sin ( ) 0 .
()
01
()
xt
t
vt
y t t
t
t
(2.9)
( ) ( ) os (t)
s
v t v t c
,
()
( ) sin (t)
s
vt
t
d
Hình 2.3. Cấu trúc robot 3 bánh
2.2.3. Robot 4 bánh
Hình 2.4. Cấu trúc ca robot di động 4 bánh
v
Ch
11
cos sin 0
sin cos 0 .
0 0 1
x
v
y
(2.10)
2.2. Các phương pháp lp k hoạch đưng đi
B5], [7], [8]
r
g
:
2.2.1. Phơng pháp bản đồ đờng đi (Road Map)
Road Map kt ni các vùng không gian trng ca robot trong mt
mng thng hong cong 1D gi là các b
Road Map c chp nhn vi nhng kit ngt:
th trc quan (Visibility graph) và bi Voronoi (Voronoi diagram). Trong
th tr bám sát theo vt c
cui cùng là kt qu dài ngn nh Voronoi
ng càng cách xa vt cn càng tt.
Visibility graph
PVisibility graph (hình 2.5) m. Th nht, nó cc k
nhanh và hiu qu t vt c chm và
không hiu qu bi vng có m vt
cn cao. Th hai là có nhiu thiu sót tim n: Kt qu c bi
Visibility graph có th làm cho robot b chm vào vt c
Ch
12
Gic vt cn lên mt khong bng vi bán kính ca
robot, hou chnh kt qu ho
vt cn ra mt khong cách u này s hy sinh s t
dài cVisibility graph.
Hình 2.5. Phơng pháp đồ thị trực quan (Visibility graph)
Voronoi
Voronoid (Voronoid diagram). S Voronoid (hình 2.6) là
nh da trên khong cách ta robot và vt
cn trong b. Ti
ng t t dài. Voronoid diagram có mt hn ch là s gii hn v
khong cách ca cm bin v trí. Vì thun khong cách t
gia robot và vt cng nên các cm bin có tm hong ngn ca
robot s sai khi cm nhn v ng xung quanh.
Tuy nhiên, mt lm quan trng cVoronoid diagram so vi hu
ht các k thut tránh vt cn khác là kh c thi. Cho mt k ho
c lp b Voronoid diagram, mt robot vi các cm bin
kho c siêu âm, có th ng Voronoid trong môi
ng thc bng cách s dng thun ca Voronoid diagram: Robot
cc tiu cc b mà cm bin cc. H thng
u khin này s gi ng Voronoid, u này s gim
thiu kh
Ch
13
Hình 2.6. Sơ đồ Voronoid
2.2.2. Phơng pháp chia ô (Cell decomposition)
ng cchia ô là phân bit rõ gia khu vc hình hc, hoc các ô
là nhng vùng trng và vùng b chim gi bi vt cn. Có hchia ô là
chia ô chính xác và chia ô gần đúng.
Hình 2.7a mô t chia ng biên cc
nh da trên gii hn hình hc ca vt cn. Các ô kt qu có th là nhng ô
hoàn toàn trng hoc hoàn toàn b chim gi, vì vy k hong
c thc hin gi trên. Bt li chính c
chia ô chính xác là s ng các ô, do s tính toán khi lp k ho
thuc vào m phc tp ca vt cn tng. Vì vy, s biu din
s ph thu l t cng. Do s phc tp khi thc
hin nên k thut chia ô c s dng trong các ng dng robot t
hành mc dù nó là s la ch c vì vn gi c nguyên trng môi
ng.
a). Chia ô chính xác. b). Chia ô
Hình 2.7. Phơng pháp chia ô
Ch
14
Chia ô gần đúng
Chia ô g (hình 2.7b) là mt trong nhng k thut ph bin nhc s
dng cho vic lp k hong ph bin nht c
chia ô c c nh (fixed-size cell decompositionc ca ô không
ph thum ca vt cng, và các lp có th b
mt do s không chính xác t nhiên ca các m m li ln nht ca
chia ô chính xác là tính toán rn khi lp k ho
2.3. Các phương pháp tránh vt cn
2.3.1. Thuật toán Bug
S
G
mà
[28], [ 29].
1
H
1
L
1
L
.
mà
1
H
1
L
9
2.
Ch
15
Hình 2.8. Đờng đi tránh vật cản ca thuật toán Bug 1
Hình 2.9. Đờng đi tránh vật cản ca thuật toán Bug 2
10
1 và Bug
Hình 2.10. Đờng đi tránh vật cản ca thuật toán DistBug
Ch
16
1
2, Bug
u điê
̉
m va
ha
̣
n chê
của thuật toán Bug
2.3.2. Phơng pháp trờng thế năng (Potential field methods)
(PF) [30]
(gradient
11).
.
Hình 2.11. Phơng pháp trờng thế năng
Ch
17
( , )q x y
. Tr
()Uq
( ) ( ) ( )
att rep
U q U q U q
(2. 11)
()
att
Uq
q
t.
()
rep
Uq
q
( ) ( ) ( )
att repi
i
U q U q U q
(2. 12)
()
repi
Uq
i
.
r
( ) ( ) ( ) ( ) ( )
att ep att rep
F q U q U q F q F q
(2. 13)
Thế hút từ mục tiêu
2
1
( ) ( )
2
att att goal
U q k d q
(2. 14)
att
k
()
goal goal
d q q q
q
t
goal
q
.
Ch
18
( ) ( )
att att goal
U q k q q
(2.15)
()
att
Uq
q
goal
q
( ) ( )
att att att goal
F U q k q q
(2.16)
(2.16
Thế đẩy từ vật cản
( ) ( )
rep repi
i
U q U q
(2.17)
i
0
0
0
1 1 1
, ( )
U ( )
2 ( )
0 , ( )
obsti obsti
repi
obsti
obsti
k d q d
q
d q d
d q d
(2.18)
()
obsti
dq
q
i
;