SlideShare a Scribd company logo
1 of 83
Download to read offline
i
LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứ ủa riêng tôi trong đó có sự
u c giúp
đỡ ấ ớ ủ ầy hướ ẫ
r t l n c a th ng d n .
TS Ngô Lam Trung
Các n i dung nghiên c u, s u và k t qu nêu trong lu
ộ ứ ố liệ ế ả ận văn là trung thực
và ch c ai công b trong b
ưa từng đượ ố ất kỳ công trình nào khác.
Trong lu n m t s tài li c li t kê t i ph n
ận văn, tôi có tham khảo đế ộ ố ệu đã đượ ệ ạ ầ
Tài li u tham kh o i lu . Các tài li u tham kh c trích d n trung
ệ ả ở cuố ận văn ệ ảo đượ ẫ
thực trong luận văn.
Hà Nội, ngày… tháng … năm 2016
Tác giả
Nguy n Thùy Linh
ễ
ii
LỜI CẢM ƠN
Trướ ảm ơn đ ờ
c tiên, tôi xin chân thành c TS Ngô Lam Trung ã dành th i gian
quý báu, t n tình h ng d n ch b o, góp ý cho tôi trong su t quá trình th c hi
ậ ướ ẫ ỉ ả ố ự ện
lu t nghi
ận văn ố
t ệp.
Tôi xin đượ ảm ơn sự giúp đỡ ệ ủ ầ
c c nhi t tình c a các Th y giáo, Cô giáo trong
trườ Đạ
ng i học Bách Khoa.
Đặ ệt, tôi xin đượ
c bi c bày t lòng bi c t i các Th y giáo, Cô giáo
ỏ ết ơn sâu sắ ớ ầ
trong Vi n Công ngh thông tin và Truy n thông ã tham gia gi ng d y tôi trong
ệ ệ ề đ ả ạ
quá trình h c t p t ng. Các th
ọ ậ ại Trườ ầy cô đã tậ ả ạ
n tình gi ng d y, truyền đạ ế
t ki n
thứ ạ ền đề ận văn. Tôi xin cám ơn các bạ
c, t o ti cho tôi hoàn thành lu n sinh viên
trong phòng Phòng thí nghi m H ng Máy tính c bi t v i hai b n sinh viên
ệ ệ thố và đặ ệ ớ ạ
Trần Đức Sơn và ễ ữ ạ ứu irobot đã hỗ ợ
Nguy n H u M nh trong nhóm nghiên c tr tôi
m i m tôi hoàn thành lu
ọ ặ ể
t đ ận văn.
Cuố ả
i cùng, tôi xin chân thành c m ơn các bạn bè, đồ ệ ấ
ng nghi p và nh t là gia
đình tôi đã quan tâm và tạ ọi điề ệ ố ất, độ ổ ũ ố
o m u ki n t t nh ng viên, c v tôi trong su t
quá trình h p và nghiên c hoàn thành t t nghi p này.
ọc tậ ứu để ốt luận văn tố ệ
Xin trân trọ ả
ng c m ơn!
Hà Nội, ngày 14 tháng 11 năm 2016
Tác giả
Nguy n Thùy Linh
ễ
iii
PHỤ LỤC
L I CAM ....................................................................................................... i
Ờ ĐOAN
L ............................................................................................................
ỜI CẢM ƠN ii
PHỤ Ụ
L C.................................................................................................................. iii
DANH MỤ Ẽ
C HÌNH V ............................................................................................ vi
DANH M VI
Ụ Ừ
C CÁC T ẾT T T NG
Ắ Ậ
T VÀ THU Ữ ......................................... viii
L U .............................................................................................................1
ỜI MỞ ĐẦ
CHƯƠNG 1: TỔNG QUAN.......................................................................................3
1.1. Lý do chọn đề ................................................................................................3
tài
1.2. Giới thiệu mộ ố ệ
t s khái ni m liên quan ...............................................................4
1.2.1. ch v là gì?...................................................................................4
Robot dị ụ
1.2.2. Các ng d ng c a robot d ................................................................4
ứ ụ ủ ịch vụ
1.2.3. ng bao ph là gì?..........................................................................5
Tìm đườ ủ
1.3.Các phương pháp giả ế ụ ế ậ ủ
i quy t và các công c ti p c n bài toán bao ph .............6
1.3.1. quy .................................................6
Phương pháp giải ết bài toán bao phủ
1.3.2. Các công c p c n bài toán ....................................................................7
ụ tiế ậ
1.4.N tài và k t qu c.........................................................7
ội dung đề ế ả thực hiện đượ
1.4.1. N ..........................................................................................7
ội Dung đề tài
1.4.2. K c..............................................................................7
ết quả thực hiện đượ
CHƯƠNG 2: PHƯƠNG PHÁP GIẢ Ế Ủ
I QUY T BÀI TOÁN BAO PH ....................9
2.1.Một số phương pháp giải quyết bài toán bao phủ với đơn robot .......................9
2.1.1. n .........................................9
Phương pháp phân chia vùng làm việc cổ điể
2.1.1.1. t toán phân chia theo hình thang............................................10
Thuậ
2.1.1.2. t toán phân chia Boustrophedon ............................................11
Thuậ
2.1.2. ........................................................12
Phương pháp dự ớ
a trên lư i ô vuông
2.1.2.1. t toán tràn sóng wavefront .....................................................13
Thuậ
2.1.2.2. ................................................................14
Thuật toán cây bao trùm.
iv
2.2.Phương pháp giải quyết sử dụng một nhóm robot ...........................................16
CHƯƠNG 3 Ế Ể Ậ
: LÝ THUY T VÀ PHÁT TRI N THU T TOÁN MSTC ................19
3.1.Các tiêu chí đánh giá ........................................................................................19
3.2.Thuậ ủ ớ
t toán bao ph v i mộ ự n môi trườ
t nhóm robot d a trên cây bao trùm trê ng
đã biết......................................................................................................................19
3.2.1. c bao ph ......................................................................................19
Khu vự ủ
3.2.2. t toán MSTC Offline........................................................................20
Thuậ
3.2.2.1. Xây d ng cây bao trùm..................................................................20
ự
3.2.2.2. MSTC Offline không quay lui .......................................................22
3.2.2.3. Phân tích các tiêu chí c t toán..............................................25
ủa thuậ
3.3.Thuậ ủ ớ ộ ới môi trường chưa rõ
t toán bao ph v i m t nhóm robot v ....................26
3.3.1. c bao ph ......................................................................................26
Khu vự ủ
3.3.2. t toán ORMSTC...............................................................................27
Thuậ
3.3.3. Phân tích các tiêu chí c t toán........................................................31
ủa thuậ
3.3.3.1. Tính m nh m ................................................................................31
ạ ẽ
3.3.3.2. toàn b .....................................................................31
Tính bao phủ ộ
3.3.3.3. a........................................................................32
Tính không dư thừ
3.4.Đề ấ ả ế ể ậ
xu t c i ti n và phát tri n thu t toán MSTC...............................................32
3.4.1. xu t và phát tri n thu t toán ORMSTC d a trên cách t o cây con trên
Đề ấ ể ậ ự ạ
MSTC-offline.....................................................................................................32
3.4.1.1. c bao ph ............................................................................32
Khu vự ủ
3.4.1.2. ng c n thu t toán.............................................................33
Ý tưở ải tiế ậ
3.4.1.3. Phát tri n thu t toán .......................................................................35
ể ậ
3.4.1.4. Phân tích các tiêu chí c t toán c n .................................38
ủa thuậ ải tiế
3.4.2. n khai thu t toán MSTC - ..........................................................40
Triể ậ Full
3.4.2.1. c bao ph ............................................................................40
Khu vự ủ
3.4.2.2. ng thu t toán .........................................................................41
Ý tưở ậ
3.4.2.3. Phát tri n thu t toán .......................................................................43
ể ậ
3.4.2.4. n .........................47
Phân tích các tiêu chí đánh giá thuật toán cải tiế
v
CHƯƠNG 4: CÀI ĐẶ Ử Ệ Ậ
T VÀ TH NGHI M CÁC THU T TOÁN MSTC...........50
4.1.Giới thi t s m s
ệu mộ ố ụ ầ ề
công c , ph n m ử ụ
d ng................................................50
4.1.1. u v ROS....................................................................................50
Giới thiệ ề
4.1.2. u v Gazebo...............................................................................51
Giới thiệ ề
4.1.3. u robot Kobuki...........................................................................51
Giới thiệ
4.1.4. u Hokuyo ...................................................................................52
Giới thiệ
4.2.Giả ế ế ữ
i quy t bài toán giao ti p gi a các robot.....................................................53
4.2.1. V phát sinh ......................................................................................53
ấn đề
4.2.2. ng l p trình socket v t toán MSTC.......................................54
Áp dụ ậ ới thuậ
4.3.V quay lui robot và gi i quy t tính m nh m khi th nghi m thu 57
ấn đề ả ế ạ ẽ ử ệ ật toán
4.3.1. V phát sinh ......................................................................................57
ấn đề
4.3.2. di chuy n cell c ..........59
Áp dụng phương pháp khoảng cách để ển đế ần đi
4.4.V trong tính m nh m c a thu t toán MSTC...........................................60
ấn đề ạ ẽ ủ ậ
4.5.K nghi m ..........................................................................................61
ết quả thử ệ
4.5.1. nghi ng mô ph ng: .................................................61
Thử ệm trên môi trườ ỏ
4.5.2. ng gi l p............................................68
Đánh giá thuật toán trên môi trườ ả ậ
4.5.3. nghi ng th .......................................................69
Thử ệm trên môi trườ ực tế
K N...............................................................................................................73
ẾT LUẬ
A. K n ............................................................................................................73
ết luậ
B. Những điể ưa hoàn thiệ
m ch n ...........................................................................73
C. H ng phát tri tài.....................................................................................74
ướ ển đề
TÀI LIỆ Ả
U THAM KH O.........................................................................................75
vi
DANH MỤC HÌNH VẼ
Hình 1.1: Một ứ ụ ự
ng d ng th c tế ủ ị ụ
c a robot d ch v .....................................................5
Hình 2.1: Bao ph m t cell hình ch ..........................10
ủ ộ ữ nhật bằng thao tác đi ziczag
Hình 2.2: Ví dụ ề ậ
v thu t toán phân chia hình thang .................................................11
Hình 2.3: Ví dụ ề ậ
v thu t toán BA* ...........................................................................12
Hình 2.4: Ví d i ô vuông v ng ng
ụ phương pháp phân chia dựa trên lướ ới hai chướ ại
v t..............................................................................................................................13
ậ
Hình 2.5: Gán có s cho các ô b ng cách lan truy c sóng v i ô b u (S) và
ố ằ ền bướ ớ ắt đầ
ô đích (G). .................................................................................................................14
Hình 2.6: K ho ch bao ph s d ng bi i kho ng cách v i thu t toán wavefront
ế ạ ủ ử ụ ến đổ ả ớ ậ
...................................................................................................................................14
Hình 2.7: Phân chia cell trong thuật toán cây bao trùm............................................15
Hình 2.8: Đườ ủ ủ ụ ậ –
ng bao ph c a robot khi áp d ng thu t toán Spiral STC...............16
Hình 2.9: Robot th c hi n bao ph m t cell theo thu t toán phân chia
ự ệ ủ ộ ậ
boustrophedon s d ng nhóm robot..........................................................................18
ử ụ
Hình 3.1: Xây dựng cây bao trùm.............................................................................22
Hình 3.2: Đường đi cho đa robot ..............................................................................23
Hình 3.3: Nhóm robot sử ụ ậ
d ng ORMSTC trên thu t toán Spiral- ....................34
STC
Hình 3.4: Nhóm robot s d ng MSTC- Offline........................................................35
ử ụ
Hình 3.5: (a): C nh có hai phía; (b): C nh có m t phía; (c): G cell m
ạ ạ ộ ấp đôi nút ở ất
k c b ............................................................................................................41
ết nối cụ ộ
Hình 3.6: V g p ph n MSTC-full................................................42
ấn đề ặ ải khi thực hiệ
Hình 3.7: Các subcell c ........................................................43
ủ ợ ịnh nghĩa
a cell đư c đ
Hình 3.8: V g p ph n i c ..............................................46
ấn đề ặ ải khi cell mất kế ố ục bộ
Hình 3.9: Vấn đề ặ ả
g p ph i khi cell m t k
ấ ế ố ụ
n i c c bộ ..............................................47
Hình 4.1: Robot Kobuki............................................................................................52
Hình 4.2: Laze Hokuyo.............................................................................................53
Hình 4.3: Mô hình client- d ng ..................................................................54
server sử ụ
vii
Hình 4.4: Tình huố ế
ng robot ch t n m gi
ằ ữa hai subcell.............................................58
Hình 4.5: Tình huố ố ể giúp robot đã chế
ng robot còn s ng không th t ........................61
Hình 4.6: Sơ đồ ệ ố ể khai trong môi trườ ỏ
h th ng khi tri n ng mô ph ng ......................62
Hình 4.7: Sơ đồ ấu trúc chương trình
c ......................................................................63
Hình 4.8: Thuậ ạ ớ
t toán MSTC_Offline ch y v i 2 robot.............................................65
Hình 4.9: Thuậ ạ
t toán ORMSTC ch y v i 2 robot.....................................................65
ớ
Hình 4.10: Thuậ ạ ớ
t toán MSTC ch y v i 2 robot ........................................................66
Hình 4.11: Thuậ ạ
t toán MSTC-full ch y v i 2 robot .................................................66
ớ
Hình 4.12: Thuậ ạ
t toán MSTC-full ch y khi bi p th i robot ch t ........................67
ết kị ờ ế
Hình 4.13 Thu t toán MSTC-full ch y xong và th c hi n ki
ậ ạ ự ệ ểm tra để quay lui để
bao ph cho robot l i.................................................................................................68
ủ ỗ
Hình 4.14: Sơ đồ ệ ố ển khai trong môi trườ ự ế
h th ng khi tri ng th c t ..........................70
Hình 4.15: Hình ả ạ ậ ự
nh ch y thu t toán trong th c tế...................................................72
viii
DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ
Thuật ng /Ch t t
ữ ữ ế
vi ắt Viế ầy đủ
t đ
STC Spanning Tree Coverage
BA* Boustrophedon online A* search
MSTC Multi-robot Spanning Tree Coverage
ORMSTC On- Robust Multi-robot STC
line
IFR The International Federation of Robotics
CPP Coverage Path Planning
ROS Robot Operating System
1
LỜI MỞ ĐẦU
Ý tưở ề ệ ế ạ ỗ ể ệ ự độ ừ ờ ổ đạ
ng v vi c ch t o các c máy có th làm vi c t ng có t th i c i,
nhưng nhữ ứ ề ức năng và khả năng ứ ụng không có bướ ế
ng nghiên c u v ch ng d c ti n
nào đáng kể cho đế ế ỷ ố ị ử ọc thường đượ
n th k 20. Xuyên su t l ch s , robot h c nhìn
nh b c hành vi c ng qu n lý các nhi m v
ận là để ắt chướ ủa con người, và thườ ả ệ ụ theo
cách thức tương tự.
Ngày nay, robot là m c phát tri n nhanh chóng, nh công ngh phát
ột lĩnh vự ể ờ ệ
triể ục, robot đã đượ ế ạo để ụ ụ ề ục đích khác nhau.
n liên t c ch t ph c v cho nhi u m
Nhiều robot đã thay con ngườ ữ ệc độ ại như tháo ngòi nổ
i làm nh ng công vi c h bom,
mìn, thăm dò các con tàu bị đắm, đi vào thu thậ ở ững nơi độ ạ
p thông tin nh c h i, có
phóng x ,.... Vi c s d gi i quy t bài toán bao ph ng d ng
ạ ệ ử ụng robot để ả ế ủ đã được ứ ụ
r t nhi u trong th c ti n. m v c a robot là tìm ki m và di chuy
ấ ề ự ễ Nhiệ ụ ủ ế ể ộ
n theo m t
thuật toán nào đó nhằ ủ đượ ế ực đượ ự ệ ủ
m bao ph c h t khu v c giao. Khu v c làm vi c c a
robot có th a nh ng v t c n. Robot có th ng b các c m bi n ho c các
ể chứ ữ ậ ả ể được trạ ị ả ế ặ
thi t b tr tr
ế ị ỗ
h ợ khác để ỗ
h ợ ệ
cho công vi c c a mình.
ủ
Những năm gần đây, sử ụ ề ủ
d ng nhóm nhi u robot trong bài toán bao ph ngày
càng đượ ở ệ ả ạ ẽ ủa nó. Lý do đầ ở
c quan tâm b i tính hi u qu và m nh m c u tiên là b i
nhi u robot có th hoàn thành nhi m v i m t robot, b ng cách
ề ể ệ ụ nhanh hơn so vớ ộ ằ
phân chia khu v c làm vi c gi a chúng. Lý do th hai là b i s d ng nhóm robot có
ự ệ ữ ứ ở ử ụ
thể đả ảo đượ ệ ệ ốt hơn. Khi nhiều robot đượ ử
m b c vi c hoàn thành xong công vi c t c s
d ng, gi s có m t thành viên b l i và không th hoàn thành ph n vi
ụ ả ử ộ ị ỗ ể ầ ệc mình được
giao, các đồ ệ ủ ể ỗ ợ để ẫn đả
ng nghi p khác c a nó có th h tr v m b o công vi c chung
ả ệ
được hoàn thành.
T mong mu n mu n th nghi m m t thu ng bao ph
ừ ố ố ử ệ ộ ật toán tìm đườ ủ cho
nhóm robot, trong lu p trung nghiên c u, tìm hi u, gi i quy
ận văn này tậ ứ ể ả ế ữ
t nh ng
v c
ấn đề ụ thể như sau:
- Tìm hi u t ng quan v ng bao ph .
ể ổ ề các thuật toán tìm đườ ủ
- Nghiên c u, tìm hi u lý thuy t v t toán tìm bao ph STC v i nhóm robot
ứ ể ế ề thuậ ủ ớ
(thuật toán MSTC).
2
- L p trình thu ng bao ph STC v
ậ ật toán tìm đườ ủ ới nhóm robot trong môi trường
đượ ế ớ
c bi t trư c (Offline - MSTC).
- L p trình phát tri n thu ng Online-MSTC).
ậ ể ậ ờ
t toán MSTC trên môi trư chưa biết (
Thự ệ ạ ử ệ ế ả đã lập trình được trong môi trườ
c hi n ch y th nghi m k t qu ng mô
ph ng th
ỏng và trong môi trườ ực tế
C u trúc này g m b n i nh ng n
ấ luận văn ồ ố chương vớ ữ ội dung chính như sau:
Chương 1: ổ
T ng quan
- Lý do chọn đề .
tài
- Giớ ệ ộ ố ệ
i thi u m t s khái ni m liên quan.
- Giớ ệ các phương pháp giả ế ụ ế ậ
i thi u i qu t và các công c ti p c n bài toán
bao ph .
ủ
- N i dung và k c
ộ ết quả thực hiện đượ
Chương 2: ơ sở ế
C lý thuy t
- Trình bày các phương pháp tiế ậ ả ế ủ ớ
p c n gi i quy t bài toán bao ph v i
m .
ột robot
- Trình bày p c n gi i quy t bài toán bao ph v
các phương pháp tiế ậ ả ế ủ ới
nhóm robot.
Chương ế ể ậ
3 Lý thuy
: t và phát tri n thu t toán MSTC.
- Giớ ệ
i thi u các tiêu chí đánh giá.
- Thuậ ủ ớ ộ ự
t toán bao ph v i m t nhóm các robot d a trên cây bao trùm
trên môi trường đã biết.
- Thuậ ủ ớ ộ ới môi trường chưa rõ
t toán bao ph v i m t nhóm robot v
- Đề ấ ậ
xu t thu t toán MSTC
Chương ử ệ ỏ ự ế
4 Th
: nghi m trong mô ph ng và trong th c t
- Giớ ệ ộ ố ụ ầ ề ử ụng để ể
i thi u m t s công c , ph n m m s d phát tri n.
- Trình bày các vấn đề ậ ậ
phát sinh khi l p trình thu t toán MSTC.
- Trình bày nhữ ế ả đạ ợ ử ệ ỏ
ng k t qu t đư c khi th nghi m trong mô ph ng và
trong thực tế.
3
CHƯƠNG 1 TỔNG QUAN
.
1.1. Lý do ch tài
ọ ề
n đ
Luận văn này có nộ ề ứ ử ệ ật toán tìm đườ
i dung v nghiên c u và th nghi m thu ng
bao ph MSTC v i nhóm robot.
ủ ớ
Lý do lựa chọn đề ể ồ
tài này có th bao g m nh ng lý do sau:
ữ
- Cùng v i s phát tri n c a công ngh , càng ngày vi c s d giúp
ớ ự ể ủ ệ ệ ử ụng robot để
đỡ con ngườ ộ ống càng đượ ổ ế Robot giúp cũng là đang
i trong cu c s c ph bi n.
d n tr thành m t s n ph m công ngh không th u trong cu c s ng c
ầ ở ộ ả ẩ ệ ể thiế ộ ố ủa
con ngườ au nhà ra đời như mộ ấ
i. Robot l t t t yế ủ ộ ố
u c a cu c s ng giúp con
ngườ ỏ ữ ệ ấ ặp đi lặ ạ
i thoát kh i nh ng công vi c có tính ch t l p l i, nhàm chán.
- Các bài toán bao ph robot có th hoàn thành nhi m v làm
ủ được đưa ra để ể ệ ụ
s ng th p v i các v t c n trong quá trình di chuy n. K
ạch đồ ời không va đậ ớ ậ ả ể ế
ho ng bao ph (Coverage Path Planning - CPP) là nhi m v tìm ra
ạch tìm đườ ủ ệ ụ
đường đi có thể đi qua tấ ả các điể
t c m c n thi t trong m t vùng ho c không
ầ ế ộ ặ
gian cho trướ ạnh đó cũng phải tránh đượ ữ ậ ả ệ
c, bên c c nh ng v t c n. Công vi c
này là c n thi t cho r t nhi ng d ng ví d i, lau nhà,
ầ ế ấ ều ứ ụ ụ như các robot hút bụ
sơn tườ ẽ
ng, v tranh, robot dò mìn, máy c , máy làm s ,...
ắt cỏ ạch cửa sổ
- V i khu v c bao ph r ng l n khi th c hi n v i ch m t robot duy nh t s
ớ ự ủ ộ ớ ự ệ ớ ỉ ộ ấ ẽ
g p nhi u v x i hay i gian th c hi n công
ặ ề ấn đề ẩy ra như khi robot đó lỗ thờ ự ệ
vi p c n là s d ng nhi u robot ho ng song song, nh
ệc. Phương pháp tiế ậ ử ụ ề ạt độ ờ
đó cho phép rút ngắ ờ ủ ệ ằ
n th i gian bao ph không gian làm vi c b ng cách phân
chia công vi c cho t ng robot. Hay còn g ng bao ph
ệ ừ ọi là bài toán tìm đườ ủ
cho m nhóm robot.
ột
V m t công ngh tác gi n:
ề ặ ệ ả muố
- Tìm hi u l p trình nhúng.
ể ậ
- Tìm hi u v ng.
ể ề các thuật toán tìm đườ
- Tìm hi u cách th c giao ti p gi a các robot.
ể ứ ế ữ
- Thự ậ
c hành l p trình cho robot.
4
1.2. Gi i thi
ớ ệ ộ
u m t số ệ
khái ni m liên quan
1.2.1. ch v là gì?
Robot dị ụ
Robot d ch v là lo i robot h , th c hi i trong các công
ị ụ ạ ỗ trợ ự ện thay con ngườ
vi c; ví d c có tính ch t l p l i, các công vi c trong nhà, công
ệ ụ như công việ ấ ặp đi lặ ạ ệ
vi c ph i th c hi n nh ng ch n, nguy hi ng
ệ ả ự ệ ở ữ ỗ dơ bẩ ểm,…. Những robot này thườ
được điề ể ự độ ở ộ ệ ống điề ể ợp được cài đặ ủ
u khi n t ng b i m t h th u khi n tích h t th công
bên trong. Thu t ng ch v
ậ ữ “Robot dị ụ” không có một định nghĩa chính xác. Liên
đoàn Robot Quố ế – IFR) đã đề ấ
c T (The International Federation of Robotics xu t
m t robot d ch v là m t robot mà ho ng bán t
ột định nghĩa: Mộ ị ụ ộ ạt độ ự động hoặc
hoàn toàn t c hi n các d ch v h u ích cho c i và thi t b
ự động để thự ệ ị ụ ữ ủa con ngườ ế ị,
không bao g m các ho ng s n xu
ồ ạ ộ
t đ ả ất.
1.2.2. a robot d ch v
Các ứng dụng củ ị ụ
Ứ ụ ể ủ ủ ếu là để ỗ ợ ệ ủ
ng d ng có th có c a robot ch y h tr trong công vi c c a con
ngườ ệ ứ ụ ộ ố ực như sau:
i. Hi n nay có các ng d ng trong m t s lĩnh v
- Ứ ụ ệ ị ụ ệ ể ợ ử
ng d ng trong công nghi p: Robot d ch v công nghi p có th đư c s
d c hi n các nhi m v n, ch ng h m tra hàn. Nó
ụng để thự ệ ệ ụ đơn giả ẳ ạn như kiể
cũng có các nhiệ ụ ứ ạp hơn, thự ệ ác môi trườ ắ
m v ph c t c hi n trong c ng kh c
nghi t, ch ng h trong vi c tháo d
ệ ẳ ạn như giúp đỡ ệ ỡ các nhà máy điệ ạ
n h t
nhân. Robot cũng có thể được dùng để ự ệ ững hành độ ặp đi
th c hi n nh ng l
l p l p ráp, th n các công vi
ặ ại như lắ ực hiệ ệc tự động hóa khác. Nhưng robot
đượ ử ụ ệp đượ ọ ệ
c s d ng trong công nghi c g i là "Robot công nghi p".
- Ứ ụ ạ ệ
ng d ng trong các nhà hàng, quán bar, khách s n: Hi n nay, nhi u nhà
ề
hàng, quán bar, khách s d ng robot d ch v . Các công vi c mà
ạn đã sử ụ ị ụ ệ
robot có th c hi n ví d n d p, pha ch u ng ph c t p,
ể thự ệ ụ như dọ ẹ ế các đồ ố ứ ạ
hay m chí là ti
thậ ếp đón khách hàng.
- Ứ ụng trong gia đình: Robot trong gia đình thự ệ ệ ụ
ng d c hi n nhi m v mà con
người thườ ự ện xung quanh nhà như lau chùi sàn nhà, cắ
ng xuyên th c hi t
c , d n d p h ,... C a m i qu n
ỏ ọ ẹ ồ bơi húng cũng có thể đóng vai trò củ ột ngườ ả
gia trong gia đình.
5
- Ứ ụ ọ ệ ố ự ệ ề ức năng như
ng d ng trong khoa h c: H th ng robot th c hi n nhi u ch
tiế ặp đi lặ ạ ứ ữ ự độ
n hành các thao tác l p l i trong nghiên c u. Nh ng robot t ng
cũng có thể ự ệ ệ ụ ọc mà con ngườ ặ
th c hi n các nhi m v khoa h i khó ho c
không th c hi n, ví d các vùng bi n sâu, không gian bên ngoài
ể thự ệ ụ như ể
Trái Đất....
Hình 1. 1: M ng d ng th c a robot d ch v
ột ứ ụ ực tế ủ ị ụ
1.2.3. ng bao ph là gì?
Tìm đườ ủ
Tìm đườ ủ ệ ụ
ng bao ph (Coverage Path Planning - CPP) là nhi m v tìm ra
đường đi có thể đi qua tấ ả các điể ầ ế ộ ặ
t c m c n thi t trong m t vùng ho c không gian
cho trướ ạnh đó cũng phải tránh đượ ữ ậ ả ệ ầ
c, bên c c nh ng v t c n. Công vi c này là c n
thiế ấ ề ứ ụ ụ như các robot hút bụi, lau nhà, sơn tườ
t cho r t nhi u ng d ng robot, ví d ng,
v tranh, robot dò mìn, máy c t c , máy làm s ch c a s . Nhi m v mà robot khi
ẽ ắ ỏ ạ ử ổ ệ ụ
thực hiệ ệc này đượ ặ ầu như sau:
n công vi c đ t ra theo các yêu c
- Robot ph t c m và bao ph vùng m c tiêu c n quét m
ải đi qua tấ ả các điể ủ ụ ầ ột
cách hoàn thiện.
- i th n di chuy
Robot phả ực hiệ ển mà không được đè các vùng quét lên nhau.
- Các n liên t n t l p l
tác vụ thực hiệ ục và tuầ ự mà đường đi không bị ặ ại.
- c các v n.
Robot phải tránh đượ ật cả
- S d ng qu
ử ụ ỹ o di chuy ng ho c vòng tròn...).
đạ ển đơn giản (đi thẳ ặ
- B ng d n tùy ch n khi có th .
ổ sung các đườ ẫ ọ ể
T t c nh u ki n trên không ph i lúc nào
ấ ả ững điề ệ ả cũng có thể đáp ứng được,
nh ng ph c t p. Vì v
ất là trong môi trườ ứ ạ ậy mà đôi lúc các mức ưu tiên khác nhau
ứ ớ ỗi điề ệ ần đượ ắ ếp để ỏ ợ ệ ự ệ
ng v i m u ki n c c s p x th a mãn cho phù h p. Vi c th c hi n
6
gi ng h p t ng quát hay áp d ng th c t không ph
ải bài toán tìm đường trong trườ ợ ổ ụ ự ế ải
là điề ễ ể ể ở đây mộ ố ụ như: bài toán “Người bán hàng”
u d dàng, có th k ra t s ví d
(Covering/Travelling Salesman problem), bài toán “Phòng trưng bày” (Art Gallery
problem) hay bài toán “Người đi tuần tra” (Watchman Route problem) đều là các
bài toán có liên h n yêu c u là nh ng bài toán NP-khó.
ệ đế ầu tìm đường, chúng đề ữ
Các thu t toán bao ph có th c phân lo i thành thu t toán bao ph t
ậ ủ ể đượ ạ ậ ủ ối ưu
ho c bao ph
ặ ủ đầy đủ ế ả năng bao phủ ộ ệ ủ ậ
. N u kh toàn b vùng làm vi c c a thu t toán
đượ ứ ặ ẽ ật toán đượ ọ ủ đầy đủ. Trong trườ
c ch ng minh ch t ch thì thu c g i là bao ph ng
h c l i, n u thu t toán nh m t n tích bao ph u ki n
ợp ngượ ạ ế ậ ằ ối đa hóa diệ ủ trong điề ệ
robot ch u các ràng bu i gian ho ng, ngu c và
ị ộc như thờ ạt độ ồn năng lượng, kích thướ
không th m b o bao ph toàn b vùng làm vi c, thì thu c g i là bao
ể đả ả ủ ộ ệ ật toán đượ ọ
ph t
ủ ối ưu.
Các thu t toán bao ph c phân thành hai lo i on-line và off-
ậ ủ cũng có thể đượ ạ
line. Thu t toán off-line ho ng d
ậ ạt độ ựa vào các thông tin tĩnh và các thông tin về
môi trườ ầ ủ ải đượ ết trướ ạt động. Ngượ ạ
ng c n bao ph ph c bi c khi robot ho c l i, các
thuậ ầ ết trướ ẽ ự xác đị
t toán on-line không c n bi c các thông tin này, mà robot s t nh
các thông tin v ng theo th i gian th c d a vào các c m bi c g n trên
ề môi trườ ờ ự ự ả ến đượ ắ
robot. Do đó, các thuậ ạ độ ạ
t toán on-line cho phép robot ho t ng linh ho t ngay c v
ả ới
các môi trườ ết trướ ậ ử
ng mà robot hoàn toàn không bi c. Các thu t toán on-line có s
d ng các c m bi n m c tiêu nên trong m t s ng h p còn
ụ ả ến để đánh giá và đi đế ụ ộ ố trườ ợ
có th c g
ể đượ ọi là gi m bi
ả ậ ủ ự ả
i thu t bao ph d a trên c ến.
1.3. Các phương ả ế ụ ế ậ ủ
pháp gi i quy t và các công c ti p c n bài toán bao ph
1.3.1. i quy t bài toán bao ph
Phương pháp giả ế ủ
Có ba hướng chính để ả
gi i quyế ủ, đó là:
t bài toán bao ph
- Phương pháp phân chia vùng làm việ ổ ể
c c đi n.
- Phương pháp dự ớ
a trên lư i ô vuông.
- Phương pháp sử ụ
d ng nhóm robot.
K t h p hai hay nhi ng gi i quy
ế ợ ều hướ ả ế ở trên để ả
t gi i quyế ủ
t bài toán bao ph .
MSTC chính là thu t toán d p c n vùng bao ph
ậ ựa trên phương pháp tiế ậ ủ thành lưới
7
các ô theo thu t toán cây bao trùm STC và k t h p s d ng m bao
ậ ế ợ ử ụ ột nhóm robot để
ph .
ủ
Thuật toán MSTC đượ ử ụng trên các môi trường đã biết hay chưa biế
c s d t có
thể ọ
g i chúng là Offline -MSTC và Online-MSTC.
1.3.2. n bài toán
Các công cụ tiếp cậ
Các công c p c n bài toán g
ụ tiế ậ ồm:
- t th nghi m thu ng mô ph ng
Tiến hành cài đặ ử ệ ật toán trên môi trườ ỏ
Gazebo có vật cản.
- S d ng ROS phiên b n Indigo trên h u hành Ubuntu 14.04.
ử ụ ả ệ điề
- C++
Ngôn ngữ
- K i các nhóm robot b ng Client Server trên C++
ết nố ằ –
- Chạy trên môi trườ ự ế ớ
ng th c t v i robot Kobuki.
1.4. N và k t qu c hi c
ội dung đề tài ế ả thự ệ ợ
n đư
1.4.1. Nội Dung đề tài
N này trình bày chi ti ng v
ội dung đề tài ết nhữ ấn đề như sau:
- Tìm hi u t ng quan v i quy :
ể ổ ề các phương pháp giả ết bài toán bao phủ
- Tìm hi u và nghiên c u thu ng bao ph cho nhóm
ể ứ ật toán tìm đườ ủ MSTC
robot (MSTC-Offline và ORMSTC).
- xu t toán MSTC m i cho nhóm robot.
Đề ất thuậ ớ
- t th nghi m thu ng mô ph ng Gazebo
Tiến hành cài đặ ử ệ ật toán trên môi trườ ỏ
và trên môi trườ ậ ớ
ng th t v i robot Kobuki.
1.4.2. K t qu c hi c
ế ả thự ệ ợ
n đư
Cho t i th m hi n t i, tác gi c hi c nh ng công vi
ớ ời điể ệ ạ ả đã thự ện đượ ữ ệc như
sau:
- Tìm hi u v các công c h trong l p trính nhúng.
ề ề ụ ỗ trợ ậ
- Tìm hi u v i quy
ể ề các phương pháp giả ế ủ ể ề ộ ố
t bài toán bao ph , hi u v m t s
thuậ ủ ể ớ ộ
t toán bao ph tiêu bi u v i m t robot.
- Tìm hi u v i quy t bài toán bao ph MSTC tiêu bi u là
ể ề các phương pháp giả ế ủ ể
MSTC-Offline và ORMSTC.
8
- xu pháp gi i quy t MSTC m i v ng có v t c
Đề ất các phương ả ế ớ ới môi trườ ậ ản
2x2 và môi trườ ậ ả
ng v t c n 1x1.
- nghi m l p trình thu t toán trên thu t toán xu MSTC v i nhóm
Thử ệ ậ ậ ậ đề ất ớ
robot, sau đó tiế ạ ử ệm và thu đượ ế ả
n hành cho ch y th nghi c k t qu :
o Chạy ng h p thu t toán ch y b ng, không có robot nào
được trườ ợ ậ ạ ình thườ
b h ng mô ph ng Gazebo.
ị ỏng trong môi trườ ỏ
o X c m t s ng h p có robot ch ng mô ph ng
ử lý đượ ộ ố trườ ợ ết trong môi trườ ỏ
Gazebo.
- Chạy được trườ ợp bình thườ ị ỏ
ng h ng, không có robot nào b h ng trong môi
trườ ự ế
ng th c t .
9
CHƯƠNG 2 PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN BAO PHỦ
.
K ho ch bao ph bao ph là m t nhi m v quan tr i v i robot, v
ế ạ ủ ủ ộ ệ ụ ọng đố ớ ới
nhi u ng d ng th c ti n ch ng h làm s , c t c , khai thác, thu ho ch,
ề ứ ụ ự ễ ẳ ạn như ạch sàn ắ ỏ ạ
sơn, và làm sạ ấ ả ể ại đây, robot được đưa ra mộ
ch các ch t th i nguy hi m,... T t công
vi c trong m t vùng b n, có th có nh ng ng i v t, tr ng i.
ệ ộ ị chặ ể ững chướ ạ ậ ở ạ Robot được
gi nh có m t công c k t h p c a m t hình d ng nh ng là các c
ả đị ộ ụ ế ợ ủ ộ ạ ất định thườ ảm
bi n và/ho c thi t b truy câp theo vùng tu n t . Robot c n ph c các
ế ặ ế ị ầ ự ầ ải “thăm” tất ả
điể ự ệc. Thường thì kích thướ ụ ủ ỏ hơn
m trong khu v c làm vi c công c c a robot nh
nhi u so v i khu v c làm vi c c a nó. Nhi m v c a robot là tìm ki m và di chuy n
ề ớ ự ệ ủ ệ ụ ủ ế ể
d c theo m ng sao cho nó bao ph c g i là tìm
ọ ột con đườ ủ hoàn toàn. Đôi khi đượ ọ
ki m hoàn toàn vùng, ho là quét.
ế ặc có thể
2.1. Một số phương pháp giải quyết bài toán bao phủ với đơn robot
Thuậ ủ đơn giả ất là điề ển robot đi mộ ẫ
t toán bao ph n nh u khi t cách ng u nhiên
trong vùng làm vi c. Theo cách ti p c n này, rõ ràng n u robot ho ng trong m
ệ ế ậ ế ạt độ ột
th t
ời gian đủ ộ ệ ủ ẽ đượ ủ. Đây là thuậ
lâu thì toàn b vùng làm vi c c a robot s c bao ph
toán đượ ử ụ ề ụi như Trilobite củ ổ
c s d ng trong nhi u robot hút b a Electrolux và n i
tiế ấ ủa iRobot. Đặc điể ủa phương pháp này là đơn giả
ng nh t là Roomba c m c n,
không c n tính toán ph c t p và không c n các c m bi t ti n trên robot. Tuy
ầ ứ ạ ầ ả ến đắ ề
nhiên, phương pháp này tỏ ệ ả ế ệ ủ
ra không hi u qu n u vùng làm vi c c a robot có kích
thướ ớ ứ ề ậ ả ế ấ ứ ạp. Khi đó chi phí hoạt độ ủ
c l n và ch a nhi u v t c n có k t c u ph c t ng c a
robot tính theo th i gian và ng tiêu th nên r t l n không th p nh
ờ năng lượ ụ trở ấ ớ ể chấ ận
đượ ự ế
c trên th c t .
Trên th gi t nhi u nghiên c u nh m gi i quy
ế ới đã có rấ ề ứ ằ ả ế ệ ả
t hi u qu bài toán
tìm đường đi bao phủ ứ ể đượ ệ hướ
. Các nghiên c u này có th c li t kê vào ba ng chính
như sau:
2.1.1. chia vùng làm vi n
Phương pháp phân ệc cổ điể
Đây là nhóm phương pháp cổ điể ấ ể là điể ởi đầu để
n nh t, có th xem m kh xây
d n là phân chia toàn b
ựng các nhóm phương pháp mới hơn về sau. Ý tưởng cơ bả ộ
vùng làm vi c c n, không ch ng l n, và không ch
ệ ủa robot thành các cell đơn giả ồ ấ ứa
10
v t c n. T ng di n tích các cell này b ng di n tích mà robot ph i bao ph
ậ ả ổ ệ ằ ệ ả ủ. Do đó,
bài toán tìm đường đi bao phủ ở ệ ủ
tr thành bài toán phân chia vùng làm vi c c a robot
thành các cell. Vì các cell không ch a v t c n, nên robot có th d dàng bao ph
ứ ậ ả ể ễ ủ
t ng cell b ng cày ho c quét theo
ừ ằng các thao tác đơn giản như quét kiểu ziczag đườ ặ
vòng tròn. Công vi c c có th bao ph c h t các cell
ệ ủa các robot là làm sao để ể ủ đượ ế
đó, và việc di chuyể ữ ể ối ưu nhấ ể
n gi a các cell sao cho có th t t có th .
Hình t cell hình ch t b
2.1: Bao ph m
ủ ộ ữ ậ
nh ằng thao tác đi ziczag
2.1.1.1.Thuật toán phân chia theo hình thang
Đây là thuậ ậ ầ ết thông tin môi trườ ệ
t toán off-line. Thu t toán c n bi ng làm vi c
để ự ệ ệ ồ
th c hi n phân chia vùng làm vi c thành các thành các hình thang, không ch ng
chéo lên nhau. Vi c phân chia các hình thang hình thành d a trên chia theo tr
ệ ự ục
tung ho c tr hình 2.2 k ra quan h
ặ ục hoành như ở dưới đây. Sau đó một đồ thị ề chỉ ệ
v m t không gian gi a các cell s c hình thành. T o bao ph toàn
ề ặ ữ ẽ đượ ừ đó để đảm bả ủ
b vùng làm vi c, robot c n tìm ra m t c k .
ộ ệ ầ ột đường đi qua tấ ả các cell trên đồ thị ề
Cu i cùng, robot th c hi ng ziczag t i m i cell, và di chuy n gi a các
ố ự ện đi theo đườ ạ ỗ ể ữ
cell theo đúng thứ ự ỉ ra trong đường đi đã xác định trên đồ ị ậ
t ch th . Thu t toán hình
thang i các vùng làm vi
[1] khá hi u qu v
ệ ả ớ ệc đơn giả ạng đa giác.
n d
11
Hình 2. 2: Ví d v
ụ ề thuật toán phân chia hình thang
2.1.1.2.Thuật toán phân chia Boustrophedon
Thuậ ự ật toán trên và đượ
t toán d a trên thu c ứ ụ ề ậ
ng d ng khá nhi u là thu t toán
phân chia boustrophedon còn đượ ọ ật toán đườ
c g i là thu ng cày [1]. Thu t toán này
ậ
tương tự ớ ậ án phân chia hình thang nhưng cho phép nố ề
v i thu t to i các cell k nhau
mà robot có th quét b i m ng ziczag l i. Trong thu t toán này, m nh ch
ể ở ột đườ ạ ậ ột đỉ ỉ
đượ ể ở ộ ả ống dướ ậ
c xem xét khi nó có th m r ng c lên trên và xu i. Thu t toán
boustrophedon phát tri c k t h p vi c xây d thì A* tiêu bi
ển đượ ế ợ ệ ựng lưới đồ ểu như
thu môi
ậ ật toán đượ ụ ể ủ
t toán BA*. Thu c áp d ng phát tri n trong bài toán bao ph
trường chưa biế ậ ủ ậ ệ
t, thu t toán bao ph on-line. Trong thu t toán này, vùng làm vi c
c a robot s c chia thành các vùng boustrophedon có hình d ng ph c t p mà
ủ ẽ đượ ạ ứ ạ
robot có th bao ph trong m t l n quét. Thu t toán BA* th c hi n tìm ki m các
ể ủ ộ ầ ậ ự ệ ế
vùng boustrophedon ngay trong quá trình robot chạy, đồ ời đưa ra cơ chế
ng th quay
lui để đả ả ấ ả các vùng boustrophedon đều đượ ấ
m b o t t c c tìm th y và không gian làm
vi c c c bao ph toàn b . Hình
ệ ủa robot đượ ủ ộ ở dưới đây mô tả ộ ụ
m t ví d phân chia
các vùng boustrophedon d a vào thu t toán BA* v i b t 1
ự ậ ớ ốn vùng được đánh số ừ
tới 4 và quỹ o di chuy
đạ ển tương ứ ủ
ng c a robot.
12
Hình 2. 3: Ví d v
ụ ề thuật toán BA*
2.1.2. i ô vuông
Phương pháp dựa trên lướ
Tìm đường đi bao phủ ựa trên lướ là hướ ế ậ ạ
d i (grid-based) [1] ng ti p c n m nh
và đượ ề ấ ả ết bài toán tìm đường đi bao phủ. Phương
c quan tâm nhi u nh t khi gi i quy
pháp này th hi n toàn b ng làm vi c c a robot trên m t b d
ể ệ ộ môi trườ ệ ủ ộ ản đồ ạng lưới
ô vuông. M i nh n m t giá tr cho bi t t i v ng ng i v
ỗi ô trên lướ ậ ộ ị ế ạ ị trí ô đó là chướ ạ ật
hay vùng không gian tr ng. Toàn b i cho bi t hình d ng x p x c a không gian
ố ộ lướ ế ạ ấ ỉ ủ
ho ng c ng ng i v t bên trong. Hình m t ví
ạt độ ủa robot và các chướ ạ ậ dưới đây mô tả ộ
d b i ô vuông v i hai v t c c c a m ng b ng
ụ ản đồ lướ ớ ậ ản. Kích thướ ủ ỗi ô vuông thườ ằ
kích thướ ủ ặ ấ ần kích thướ
c c a robot ho c là g p hai l c robot.
13
Hình 2. 4: Ví d i ô vuông v i ng
ụ phương pháp phân chia dựa trên lướ ớ hai chướ
ngại vật
2.1.2.1.Thuật toán tràn sóng wavefront
Đây ậ ử ụng lưới đạ ện môi trườ ới kích thướ
là thu t toán off-line, s d i di ng v c
g p hai l c robot. Thu t toán wavefront l p k ho ch bao ph hoàn thành
ấ ần kích thướ ậ ậ ế ạ ủ
vào lưới điện trên. Phương pháp này đòi hỏ ả ắt đầ ụ ự
i ph i có ô b u và ô m c tiêu. S
thay đổ ả ằ ề ừ ụ đế ắt đầ ử
i kho ng cách b ng cách lan truy n sóng t ô m c tiêu n ô b u s
d nh s i ph n t u tiên thu t toán gán nhãn s
ụng để chỉ đị ố đặc trưng cho mỗ ầ ử lưới. Đầ ậ ố
0 cho ô m 1 cho t t c các ô xung quanh ô . Quá
ục tiêu và sau đó gán nhãn số ấ ả mà đó
trình đượ ự ện tương tự ớ ạ ặp đi lặ ạ ừ
c th c hi v i các ô còn l i. Quá trình này l p l i t ng
bước cho đế ấ ả các ô đượ ộ ố ụ ể. Quá trình đó đượ ọ
n khi t t c c gán m t s nhãn c th c g i là
quá trình transform (trán sóng). Hình 2.5 ví d hi n minh h a quy trình này trên
ụ thể ệ ọ
m ng [1]. Khi chuy i kho c tính toán xong, k ho ch bao
ột môi trườ ển đổ ảng cách đượ ế ạ
ph có th c tìm th y b ng cách b u t các ô b u và l a ch n các ô lân
ủ ể đượ ấ ằ ắt đầ ừ ắt đầ ự ọ
c n v i các nhãn cao nh u có hai ho c nhi u ô lân c n
ậ ớ ất chưa được thăm. Nế ặ ề ậ chưa
được thăm chia sẻ ộ ột trong các ô đượ ọ ẫ
cùng m t nhãn, thì m c ch n ng u nhiên. Hình
2.6 hi n k ho ch bao ph
thể ệ ế ạ ủ thuật toán transform.
14
.
Hình 2 5: Gán có s cho các ô b ng cách lan truy c sóng v i ô b u (S)
ố ằ ề ớ
n bư ớ ắ ầ
t đ
và ô đích (G).
Hình 2. 6: K ch bao ph s d i kho ng cách v i thu t toán
ế hoạ ủ ử ụng biế ổ
n đ ả ớ ậ
wavefront
2.1.2.2.Thuật toán cây bao trùm.
Thuật toán này thu p c n d c
ộc phương pháp tiế ậ ựa trên lưới ô vuông đã đề ập
t trên. Trong thu t toán này, chia nh d n vùng làm vi c thành các ô vuông kích
ới ở ậ ỏ ầ ệ
thướ ọ ớ ỡ ỗi robot (các robot đượ ả đị
c 2Dx2D g i là cell, v i D là kích c m c gi nh là
gi ng nhau), m ô a b n ô con, g i là subcell, c b
ố ỗi chứ ố ọ có kích thướ ằng kích thước
robot và b qua nh ng cell b m (m t ph n ho c toàn ph n) b i v t c n. Các
ỏ ữ ị chiế ộ ầ ặ ầ ở ậ ả
cell tr ng t o thành m t c có các nodes m c a t ng cell và
ố ạ ộ ấu trúc đồ thị là tâm điể ủ ừ
các cạnh là đoạ ẳ ối tâm điể
n th ng n m các cell liề ề
n k [2].
15
Hình 2. 7: Phân chia cell trong thu t toán cây bao trùm
ậ
L p thu t toán d a trên cây bao trùm tiêu bi u là thu t toán Spiral-
ớ ậ ự ể ậ STC
(Spiral Spanning Tree Coverage). Spiral-STC [2] là thu ng on-line
ật toán tìm đườ
v i c xây d ng theo hình xo a robot trong
ớ đường đi của robot đượ ự ắn ốc. Đường đi củ
thuật toán này đượ ằ ấ ừ ứ ị ắt đầ ủ
c hình thành b ng cách xu t phát t cell ch a v trí b u c a
robot r ng bên c nh theo chi c chi ng h . Quá
ồi đi sang các cell trố ạ ều ngượ ều kim đồ ồ
trình ti p t c t i khi không còn cell nào ng thì robot b
ế ụ ớ trố ắt đầu đi theo chiều ngược
l c cell là 2Dx2D, robot s không bao gi hai l n
ại. Do kích thướ ẽ ờ đi qua một subcell ầ
và s quay l i v toàn b di n tích làm vi Thu
ẽ ạ ị trí ban đầu sau khi đã bao phủ ộ ệ ệc. ật
toán có đường đi ố ỗi ô được thăm chỉ ớ ộ ầ ả ộ ụ ề
t i, m v i m t l n. Hình 2.8 mô t m t ví d v
đườ ủ ủa robot đượ ụ ậ
ng bao ph c c hình thành khi áp d ng thu t toán Spiral-STC.
16
Hình 2. 8: Đườ ủ ủ ụ
ng bao ph c a robot khi áp d ng thu STC
ậ –
t toán Spiral
Giả ậ ầ ầ
i thu t Spiral-STC d n d n xây d ng m t cây bao này và
ự ộ trùm cho đồ thị
s d
ử ụng cây bao trùm đó để sinh ra đườ ẫ ủ như sau: cùng vớ ệ
ng d n bao ph i vi c xây
d ng cây bao trùm, robot chia nh m i cell nó b t g p thành b n subcell nh u có
ự ỏ ọ ắ ặ ố ỏ đề
kích thước D và có cùng kích thước cũng như hình dạ ớ ụ ụ ụ ụ
ng v i d ng c quét. D ng c
quét đi theo đườ ẫ ủ ầ ần theo cây bao trùm đã
ng d n c a các subcell vòng quanh d n d
đượ ựng cho đế ộ ậ ợ ống đượ ủ Ở đây mộ
c xây d n khi toàn b t p h p các cell tr c bao ph . t
cell tr c là thì coi
ống là “mới” khi tất cả ố ủa nó chưa đượ ủ, ngượ
b n subcell c c bao ph
là “cũ”. Tứ ỉ ần 1 subcell trong cell đã đượ ủ, cell đó sẽ đượ
c là ch c c bao ph c coi là
“cũ”.
2.2. Phương pháp giải quyết sử dụng một nhóm robot
Phương pháp tiế ậ
p c n này s d ng nhi u robot ho ng song , nh
ử ụ ề ạt độ song ờ đó
cho phép rút ng n th i gian bao ph không gian làm vi c b ng cách phân chia công
ắ ờ ủ ệ ằ
vi c cho t n a, khi k t h p ho ng c a nhi u robot h ng
ệ ừng robot. Hơn thế ữ ế ợ ạt độ ủ ề ệ thố
còn có th gi i quy t nhi u v khó khác. Ch ng h n các robot có th giúp
ể ả ế ề ấn đề ẳ ạ ể trợ
l n nhau khi có robot g p l i trong quá trình làm vi
ẫ ặ ỗ ệc.
Các h ng s d ng nhi c xây d m r ng
ệ thố ử ụ ều robot thường đượ ựng trên cơ sở ở ộ
các thu c a m
ật toán tìm đường đi bao phủ ủ ột robot như phân chia boustrophedon,
17
cây bao trùm, m - t s t toán bao ph dành riêng
ạng nơ ron. Ngoài ra cũng có mộ ố thuậ ủ
cho h c phát tri
ệ ố ề đượ
th ng nhi u robot ển.
Có th nêu ra m t s t thu t toán bao ph
ể ộ ố tiêu chí chính để đánh giá mộ ậ ủ, như
là “tính bao phủ ộ” (tạo ra đường đi bao phủ ộ đượ ự ệ
toàn b toàn b c khu v c làm vi c),
“tính hiệ ả” (robot di chuyể ự ật toán đó có thể ệ
u qu n d a theo thu hoàn thành công vi c
trong th i gian nhanh nh t có th nh m h nhau
ờ ấ ể), “tính mạ ẽ” (các robot có thể ỗ trợ
trong trườ ợ ị ỗi). Ngoài ra, người ta cũng xét cả ớ ệ
ng h p có thành viên b l t i vi c không
dư thừ ờ ủ ứ ộ đượ ạ ầ ở
a đư ng bao ph , t c là không có m t cell c quét l i hai l n tr lên.
Có th l y ví d tiêu bi u cho nhóm các thu t toán s d
ể ấ ụ ể ậ ử ụng phương pháp giải
quy t bài toán này là thu t toán phân chia boustrophedon s d ng nhóm robot
ế ậ ử ụ .
Thuật toán này nh m bao ph s d ng m t nhóm robot trong môi
ằ ủ đường đi đầy đủ ử ụ ộ
trường chưa xác định (môi trườ ả ủ ậ
ng on-line). Nhóm tác gi c a thu t toán này cho
r ng, vi c s d ng nhi u robot có th gi m th i gian làm vi c, tuy nhiên ch có th
ằ ệ ử ụ ề ể ả ờ ệ ỉ ể
đạ ợ ối đa hiệ ả ệ ếu như số ợng các vùng mà robot đi lặ ạ
t đư c t u qu làm vi c n lư p l i là ít
nh t toán này t p trung vào vi c gi m thi u t l p l i các
ất. Do đó thuậ ậ ệ ả ể ối đa sự ặp đi lặ ạ
vùng di chuyể ủ ậ
n c a robot. Thu t toán này s d ng cùng m
ử ụ ột phương pháp phân tích
cell hai chi t toán bao ph boustrophedon s d
ều như thuậ ủ ử ụng robot đơn, nhưng nó
m r x lý vi c làm th các robot có , và
ở ộng để ử ệ ế nào để thể đi hết các vùng đơn lẻ
làm th phân b các robot gi a các vùng. Gi i pháp c a h
ế nào để ố ữ ả ủ ọ là tính toán để
h n ch các thành viên trong nhóm robot di chuy n giao nhau trong quá trình làm
ạ ế ể
vi c. Các robot s di chuy
ệ ẽ ể ủ
n ch yếu theo các đườ ẳng. Để ể quét đượ
ng th có th c
toàn b m nh n hai vai
ộ vùng đang làm việc, các robot được chia làm hai nhóm để đả ậ
trò: m c g
ột vài robot, đượ ọi là explorer (robot thăm dò) đi men theo các ranh giới
c a vùng m c tiêu hi n t c g i là coverer (robot bao
ủ ụ ệ ại, trong khi các robot khác, đượ ọ
ph ) th c hi n các chuy ng t có th c các ph n còn l
ủ ự ệ ển độ ới lui để ể đi hết đượ ầ ại. Để
phân ph i các nhi m v i các vùng ho ng cho
ố ệ ụ cho các robot, cũng như phân phố ạt độ
t ng robot, m
ừ ột cơ chế đấu giá tham lam được sử ụ
d ng [1].
Hình 2.9 mô t vi c hai robot explorer th c hi n di chuy n hai biên trên và
ả ệ ự ệ ể ở
dướ ủ ụ ự ệ ển độ ớ
i c a vùng m c tiêu, trong khi ba robot coverer th c hi n các chuy ng t i
18
lui ở phía trong vùng đó.
Hình 2. 9: Robot th c hi m t toán phân chia
ự ện bao phủ ột cell theo thuậ
boustrophedon s d ng nhóm robot
ử ụ
19
CHƯƠNG 3 ẾT VÀ PHÁT TRIỂN THUẬT TOÁN MSTC
. LÝ THUY
3.1. Các tiêu chí đánh giá
Cũng như đã đề ậ ở ần phương pháp sử ụ ở
c p trong ph d ng nhóm robot trên,
ba tiêu chí chính để đánh giá mộ ậ ủ ử ụ
t thu t toán bao ph s d ng nhóm robot là:
- t toàn b c khu v
Tính bao ph toàn b :
ủ ộ ạo ra đường đi bao phủ ộ đượ ực
làm việc.
- robot di chuy n d a theo thu hoàn thành
Tính hi u qu :
ệ ả ể ự ật toán đó có thể
công việ ờ ấ
c trong th i gian nhanh nh t có thể.
- các robot có th h nhau tron ng h p có thành
Tính m nh m :
ạ ẽ ể ỗ trợ g trườ ợ
viên b l
ị ỗi.
Ngoài ra, trong nhi ng h p, khi xét t i tính hi u qu c a thu t toán,
ều trườ ợ ớ ệ ả ủ ậ
n t i vi ng bao ph , t c là không có m t ô
gười ta cũng xét cả ớ ệc không dư thừa đườ ủ ứ ộ
đượ ạ ầ ở
c quét l i 2 l n tr lên [3].
3.2. t toán bao ph v i m t nhóm robot d a trên cây bao trùm trên môi
Thuậ ủ ớ ộ ự
trường đã biết
3.2.1. K c bao ph
hu vự ủ
Ở ật toán này robot đã biế ự ệ ộ ản đồ đầy đủ
thu t khu v c làm vi c, robot có m t b
c a khu v c làm vi c, các ranh gi i khu v c làm vi c và t t c ng ng i v
ủ ự ệ ớ ự ệ ấ ả các chướ ạ ật
(đượ ả định là tĩnh). Mỗ ạ ụ ống như mộ
c gi i Robot có hình d ng công c liên quan gi t
hình vuông kích thướ ục tiêu là để ủ ự ệ ử ụ
c D. M bao ph các khu v c làm vi c s d ng
công c này. Trong các ng d ng th c t , công c này có th ng v i các
ụ ứ ụ ự ế ụ ể tương ứ ớ
c m bi n ch c ch c quét qua các khu v c làm vi phát hi n m
ả ế ắ ắn là đượ ự ệc để ệ ột đặc
trưng quan trọng, và kích thướ ể được xác đị ở ạ ệ ả ủ
c D có th nh b i ph m vi hi u qu c a
b c m bi n. Gi nh các robot có th di chuy n v i công c liên t c trong b n
ộ ả ế ả đị ể ể ớ ụ ụ ố
hướng cơ bả ố ả ể xác đị ị ả
n (lên / xu ng, trái / ph i), và có th nh v b
trí n thân trong khu
v c làm vi trong ph m vi ô con
ự ệ ể
c đ ạ kích thước D.
Chia khu v c này thành các ô vuông (cell) c 2Dx2D (m i ô bao
ự có kích thướ ỗ
g m 4 ô con c DxD) và lo i b c bao ph m t ph
ồ (subcell) có kích thướ ạ ỏ các ô đượ ủ ộ ần
b ng ng i v t. M t c u t p h
ởi các chướ ạ ậ ộ ấ rúc đồ thị G (V, E). V được định nghĩa là tậ ợp
20
các nodes, v nodes là nh m trung tâm c a m i ô, và E là t p các c nh, là
ới ững điể ủ ỗ ậ ạ
nh n th ng n i nh m trung tâm c a các ô lân c n. Xây d ng m t cây
ững đoạ ẳ ố ững điể ủ ậ ự ộ
bao trùm cho đồ ị ử ụ ấ ỳ
th G s d ng b t k thu t toán xây d ng cây bao trùm. S
ậ ự 0,..., Sk-1
là vị trí ban đầ ủ ạ ủ ự ệ
u c a các robot trong ph n vi phân tích chia ô c a khu v c làm vi c.
Các robot đượ ả định là đồ ấ ộ ốc độ và kích thướ ụ ủ
c gi ng nh t m t t c công c c a
chúng D. S d ám ch s i ám ch s ng các
ử ụng N để ỉ ố lượng ô trong lướ , và n để ỉ ố lượ ô
con. Khu v c làm vi c liên ti p, t c là, t t c các ô c a khu v c làm vi u có th
ự ệ ế ứ ấ ả ủ ự ệc đề ể
truy c p t b t k v trí b u nào.
ậ ừ ấ ỳ ị ắ ầ
t đ
3.2.2. Thuật toán MSTC Offline
3.2.2.1.Xây dựng cây bao trùm
Khi xây d ng cây trong m t h ng v i duy nh t m t robot thì ng
ự ộ ệ thố ớ ấ ộ ảnh hưở
c a c u trúc c a cây v m t lý thuy t không n th i gian bao ph . Rõ
ủ ấ ủ ề ặ ế ảnh hưởng đế ờ ủ
ràng, ngườ ể ố ự ới đặc điểm đặ ệ ụ như
i ta có th mu n xây d ng cây bao trùm v c bi t, ví d
gi m thi u s l n ch ng. Tuy nhiên, th i gian bao ph v c b m b
ả ể ố ầ ọn hướ ờ ủ ẫn đượ ảo đả ởi
các thu t toán STC là tuy n tính v i khu v c làm vi c d i vuông, vì
ậ ế ớ ự ệ ựa trên lướ cell
m i các c bao ph m t l ng th i gian b o hi m là N.
ỗ cell trừ cell biên đượ ủ ộ ần, do đó tổ ờ ả ể
M t khác, trong các h u trúc c a cây có th ng r t quan
ặ ệ thống đa robot, cấ ủ ể ảnh hưở ấ
trọ ờ ủ ự ự ọ ủ
ng vào th i gian bao ph . S l a ch n c a cây bao trùm d a vào v
ự ị trí ban đầu
c a các robot. B t k thu t thoán bao ph ng nh u d a trên m
ủ ấ ỳ ậ ủ đa robot nếu đồ ất đề ự ột
cây bao trùm thì c i thi n t n [3]. Có th ng minh, g i D
ả ệ ối đa 2 lầ ể chứ ọ i là kho ng cách
ả
gi a robot R
ữ i và Ri+1. Tính toán kho ng cách l n nh t D
ả ớ ấ max= max R1≤i≤N{Di} thời
gian bao ph s d ng thu t toán không quay lui. D a vào Dmax có th
ủ ử ụ ậ ự ể xác định
thờ ủ hi robot đồ ấ ự ộ
i gian bao ph là A. K ng nh t d a trên m t cây bao trùm thì th i gian
ờ
bao ph gi m xu ng
ủ ả ố 



. N ng h p x u nh t v i robot D
ếu trườ ợ ấ ấ ớ max di chuy n
ển đế
các robot khác thì đố ớ ột đoạ
i v i m n khác Dj h i i gian t u cho phép
đòi ỏ thờ ối đa là nế
quay lui s là t' >
ẽ 



nói cách khác nó s c
ẽ ải thiện được

 
{


}
 
21
Mã giả ậ
thu t toán 1:
Thuật toán 1: Creat_tree(W, S0,..., Sk-1)
Đầu vào:S 0,..., Sk-1 v u c a các robot, ng làm vi
ị trí ban đầ ủ W môi trườ ệc là đồ
thị ạng lướ
d i
Các bướ ế
c ti n hành:
1. Xây d ng các cây con
ự
2. For Ri, V i m i robot R
     do ớ ỗ i
3. Tìm và tính toán các n k m i (trái, ph
cell liề ề ớ ải, trên, dưới)
list_cell ← Ni
4. If list_cell.size()>1 then
5. Tính toán kho ng cách Manhattan và ch n m t cell
ả ọ ộ có
kho ng cách Manhattan t i thi n các robot khác
ả ố ố
i đa t ểu đế
6. If list_cell. size() =0 then
7. Di chuy n thì th n th t c Hilling(quay v nút g
ể ực hiệ ủ ụ ề ốc)
8. Tìm c u c a cho k cây con
ầ ủ
a) a các các cây con
Tìm ng u nhiên h p l c u B gi
ẫ ợ ệ ầ ữ
b) p kho ng cách gi a hai cây liên ti p S
Tính toán thiết lậ ả ữ ế i
c) Thiết l i t
ậ ị ở
p giá tr kh ạo ban đầu Best_result, S0
d) S
If i > Best_result then
Best_result = Si
9. v cây bao trùm Best_result
Trả ề
Giả ả ậ
i thích mã gi thu t toán 1:
Thuật toán 1 [3] là thu t toán xây d ng cây v o
ậ ự ới hai bước quan trong đó là tạ
cây con và tìm c u n i b t k
ầ ố ấ ỳ c cây hoàn ch c 1 v i m
trên cây để đượ ỉnh. Bướ ớ ỗi
robot i v xây d ng 1 các lá cho cây con b ng cách tìm các cell liên k
ới      ự ằ ề
theo b ng (trái, ph i) vi c tìm th y n u 1 cell n cell
ốn hướ ải, trên, dướ ệ ấ ế thì đi đế đó.
Việ ụng là đồ ờ ế ều hơn mộ ả
c xây d ng th i. N u có nhi t thì tính toán kho
cell ng cách
Manhattan tối đa củ ả ố ểu đế ạ ế
a kho ng cách t i thi n robot còn l i n u không có quay lui
v nút g B c th 2 là tìm các c u cho cây bao trùm v i c u kh i t o chính là
ề ốc. ướ ứ ầ ớ ầ ở ạ
22
điể ắt đầ
m b u S0, n u ch n ng c c u S
ế ọ ẫu nhiên đượ ầ i có kho ng cách gi a hai cây con
ả ữ
là xa hơn S0 y c .
thì lấ ầu đó
Hình 3.1: Xây d ng cây bao trùm
ự
3.2.2.2.MSTC Offline không quay lui
Công vi c bao ph n [3]. u tiên, thu toán 2
ệ ủ được chia làm hai giai đoạ Đầ ật
xây d ng m ng s d ng d
ự ột đườ đi STC ử ụ ựa trên cây đã tạ ự ậ
o d a trên thu t theo
toán 1
hướng ngượ đồ ồ ậ ử ụng đường đi STC củ ậ
c kim ng h . Thu t toán 3 là s d a thu t toán 2
để ự ệ ệ ủ ỗi robot đươc xác đị ị trí ban đầu trên đường đi và
th c hi n vi c bao ph , m nh v
d n v c
ựa vào đó để đi đế ị trị ủa robot khác. Điều này đượ ự ện khi đả ả
c th c hi m b o
r ng các robot có th n u robot k p b l ng vi c th c hi n c
ằ ể giúp đỡ ế ế tiế ị ỗi. Lưu ý rằ ệ ự ệ ủa
thu t
ậ toán 2 là hoàn toàn không ph i t i robot th c hi n công vi
ả ập trung, như mỗ ự ệ ệc
độ ậ ủ
c l p c a mình.
Mã giả ậ
thu t toán 2:
Thuật toán 2 k (W,
ế hoạch đường đi MSTC S0,..., Sk−1)
Đầu vào:S 0,..., Sk-1 v u c W là khu v c làm vi
ị trí ban đầ ủa robot, ự ệc
Các bướ ế
c ti n hành:
23
1. n b m b u: S
Chọ ất kì điể ắ ầ
t đ 0
2. Creat_tree(W, S0,..., Sk-1)
3. B u t S
ắt đầ ừ 0, xây d i khu v c làm vi c W d
ựng P, đường đi STC vớ ự ệ ựa
trên cây bao trùm trên.
4. V m S
ới các điể 0,..., Sk−1 d C, B u t S
ọc đường đi ST ắt đầ ừ 0 và di chuyển
trong 1 hướng ngược kim đồ ồ
ng h .
5. v ng v u c
Trả ề đường đi P, ứ ớ ể ầ
i các đi m ban đ ủa robot S0,..., Sk−1
Giả ả ậ
i thích mã gi thu t toán 2:
B u t m S
ắt đầ ừ điể 0, d a vào cây khung c a thu t toán 1, thu t toán 2 xây
ự ủ ậ ậ
d ng m t cây bao trùm cho khu v c làm vi c W xây d
ự ộ ự ệ ựng đường đi bao trùm dòng
3. Tr v m ng h d c theo cây bao trùm b
ả ề ột con đường hướng ngược kim đồ ồ ọ ắt đầu
t i v trí S
ạ ị 0 t c m b u c a t t c robot dòng 5 hình 3.2. Vi c xây
đi qua tấ ả các điể ắt đầ ủ ấ ả ệ
d ng các cây bao trùm trong t toán 1 có th c th c hi n b i m t robot và
ự thuậ ể đượ ự ệ ở ộ
truy n tin t i nh ng robot khác, ho c các robot bi t v
ề ớ ữ ặ ế ị trí các robot khác và được
thự ệ ở ọi con robot độ ậ ử ụ ộ ậ
c hi n b i m c l p trong khi nó s d ng cùng m t thu t toán cho
vi c xây d ng cây.
ệ ự
Hình 3.2: Đường đi cho đa robot
24
Mã giả ậ
thu t toán 3:
Thuật (W,
toán 3 MSTC không quay lui S0,..., Sk−1)
Đầu vào:S 0,..., Sk-1 v u c W là khu v c làm vi
ị trí ban đầ ủa robot, ự ệc
Các bướ ế
c ti n hành:
1. a robot hi n tai
i ← ID củ ệ
2. 1 v trí c a robot ti p theo, theo chu k
t ← i  ị ủ ế ỳ
3. v n t S
while ị trí hiệ ại  t -1do
4. Di chuy n d n S
ể ọc theo STC đế t, hướng ngược kim đồ ồ
ng h .
5. ng[S
Thông báo hoàn thành đoạn đườ i, St )
6. robot R
while t ng và các v trí [S
khác đang còn số ị 0,..., Sk-1, S0 ] chưa hoàn
thành do
7. Chờ
8. (robot Rt không còn s ng và v
if ố ị trí [S0,..., Sk-1, S0] chưa hoàn
thành) then
9. y ID c a robot ti p theo
i ← t Lấ ủ ế
10. 1 l y v a robot ti p theo c a robot ti p theo
t ← t  ấ ị trí củ ế ủ ế
11. quay v c 3
ề bướ
12. K p
ết thúc vòng lặ
13.D ng
ừ
Giả ả ậ
i thích mã gi thu t toán 3:
Đường đi đã đượ ự ề ầ ậ ợ ự
c xây d ng và chia thành nhi u ph n, thu t toán 1 đư c th c
hi n xây d ng cây bao trùm d a trên v u c a t t c các robot. Sau giai
ệ ự ự ị trí ban đầ ủ ấ ả
đoạ ở ạ ở ỗ ắt đầ ủ ầ ủ
n kh i t o ( dòng 1-2), m i robot b u bao ph ph n c a mình [Si,..., Sj), từ
v trí hi n t i S
ị ệ ạ i c n v u S
ủa nó đế ị trí ban đầ j c a robot ti p theo, d
ủ ế ọc theo đường đi
STC theo cây bao trùm có c chi ng h (dòng 3-4). T dòng
hướng đi ngượ ều kim đồ ồ ừ
6- m b o tính m nh m : N u m t robot l i, robot m b u c a robot
11 đả ả ạ ẽ ế ộ ỗ đi tới điể ắt đầ ủ
đó ệ ủ ầ ủ
có trách nhi m bao ph ph n c a nó.
25
3.2.2.3. Phân tích các tiêu chí của thuật toán
- Tính m nh m
ạ ẽ
Xét v m t lý thuy t, thu m b c tính m nh m . Robot
ề ặ ế ật toán này đã đả ảo đượ ạ ẽ
Ri khi th n xong công vi ng h n v
ực hiệ ệc của mình theo hướng ngược kim đồ ồ (đế ị trí
Si đến Sj v trí ti p theo c R
ị ế ủa robot j) và n u robot R
ế j l thì R
ỗi i s c hi n công
ẽ thự ệ
vi c c a robot R
ệ ủ j và công liên t n khi nó nh t t c robot khác
ục đế ận được ấ ả đã thực
hi n xong.
ệ
- Tính bao ph toàn b
ủ ộ
V i khu v c làm vi và robot, t ng h p toàn b nh ng bao ph
ớ ự ệc W k ổ ợ ộ ững đườ ủ
c m b o bao ph c hoàn toàn . Tính ch t này có th
ủa các robot con đả ả ủ đượ W ấ ể được
chứng minh như sau:
o Trong trườ ợ
ng h p :
  
V i ch m t robot, vi c xây d ng cây con chính là cây bao trùm c a thu
ớ ỉ ộ ệ ự ủ ật
toán 2 b c 2, t m i tính toán kho ng cách cell m i. T t c
ỏ qua bướ ìm cell ớ ả ớ ấ ả
kho ng cách là b ng nhau nên nó s l y giá tr
ả ằ ẽ ấ ị đầu tiên nó đã gán trong list
danh sách các ô. N u robot không nhìn th y cell nào n a thì robot th c hi n
ế ấ ữ ự ệ
tương tự như thuật toán 1 đó là quay về ố ệ ự ệ ậ
nodes g c. Vi c th c hi n thu t toán
đế ế ấ ữ ậ
n khi k t thúc không tìm th y cell nào n a. V y cây bao trùm ch a t t các
ứ ấ
cell khu v c làm vi c W. Và robot s di chuy m kh u S
ự ệ ẽ ển điể ởi đầ 0 đi theo
ngượ ều kim đồ ồ ới đế
c chi ng h trên cây bao trùm v n S0. M i subcell c
ỗ thuộ
cell trên nodes cây bao trùm sẽ được thăm duy nhấ ộ ầ ậ ẽ ậ
t m t l n. V y s thu t
toán bao ph t c trên khu v
ủ ấ
t ả cell ực W.
o Trong trườ ợ
ng h p :
  
V i cùng m t cây bao trùm a toàn b các cell trên khu v c làm vi c W vì
ớ ộ chứ ộ ự ệ
cây bao trùm chính là s k t h p c a các cây con. M i cây con là vi c tìm
ự ế ợ ủ ỗ ệ
ki các nodes tìm theo b ng. C thu c nodes c a cây con này s
ếm ốn hướ ell ộ ủ ẽ
không thu c b t k
ộ ấ ỳ cây con nào khác. Chính vì khu v c làm vi c là liên ti p
ự ệ ế
nên m i cell có th n b t k nào. V y m i cell s thu c nodes
ỗ ể đi đế ấ ỳ cell ậ ỗ ẽ chỉ ộ
duy nh t trên cây
ấ . Tương tự như trườ ợ ớ
ng h p v i k = 1 các subcell trên cây sẽ
26
được thăm ít nhấ ầ
t 1 l n.
- Tính không dư thừa
N u t t c robot th c thi theo thu t toán trên và không có robot nào b t,
ế ấ ả ự ậ ị chế
thì sẽ nào đi nhiều hơn 1 lần điề ể ứng minh như sau
không có subcell u này có th ch :
N u không có robot nào l i thì vi c xây d a trên cùng m
ế ỗ ệ ựng đường đi dự ột
cây bao trùm d a vào v u c a m i robot nên robot nh
ự ị trí ban đầ ủ ỗ ận được đường đi
c d
ủa robot đó ví ụ robot i hoàn thành đường đi [Si,..., Sj) đến robot j. Cây bao trùm
là cây ch a các cell m i c duy nh t m nodes trên cây (ô ch thu c duy
ứ ỗ cell chỉ thuộ ấ ột ỉ ộ
nh t m t cây con, m i cây con ch a 1 cell duy nh t trên cây) N u không có
ấ ộ ỗ ỉ chứ ấ . ế
robot nào l i thì t t c
ỗ ấ ả robot đi theo đường đi dựa trên cây bao trùm. Đường đi dựa
vào cây ng h t S
bao trùm đi theo chiều ngược kim đồ ồ ừ 0,..., Sk-1, S0 thì m i subcell
ỗ
thuộ ẽ được thăm 1 lầ
c s
cell n.
3.3. t toán bao ph v t nhóm robot v
Thuậ ủ ới mộ ớ ờng chưa rõ
i môi trư
3.3.1. K c bao ph
hu vự ủ
M i robot là m t công c d n ti n hình d ng m
ỗ ộ ụ có kích thước là D để ễ thuậ ệ ạ ỗi
robot xem như ột hình vuông kích thướ ục tiêu là để ủ ự
m c D. M bao ph các khu v c
làm vi c s d ng công c này. Trong các ng d ng th c t , công c này có th
ệ ử ụ ụ ứ ụ ự ế ụ ể
tương ứ ớ ả ến và kích thướ ể được xác đị ở ạ ệ
ng v i các c m bi c D có th nh b i ph m vi hi u
qu c a b c m bi n. Các robot có th di chuy n liên t c trong b n
ả ủ ộ ả ế ể ể ụ ốn hướng cơ bả
(lên, xu ng, trái, ph i), và có th nh v trí b n thân trong khu v c làm vi
ố ả ể xác đị ị ả ự ệc để
trong phạ ộ kích thướ
m vi m t ô con c D.
Robot không bi t ranh gi i khu v c làm vi c chính xác c t t c các v
ế ớ ự ệ ủa ấ ả ị trí
chướ ạ ật (đượ ả định là tĩnh), nhưng các vị trí ban đầ ủa chúng độ ậ
ng ng i v c gi u c c l p.
Chia khu v c này thành các ô c 2Dx2D, m i ô g m b n ô con
ự vuông có kích thướ ỗ ồ ố
kích thướ ế ộ ần là chướ ạ ật thì xem như ô đó chính là
c DxD. N u ô có m t ph ng ng i v
chướ ạ ậ ể ị ố ợ trong lướ ớ ỉ ố ợ ủ
ng ng i v t. Bi u th s lư ng ô i v i N, và ch rõ s lư ng ô con c a
n, t c là, N = 4n. Khu v c bi y m i ô
ứ ực ban đầu là không đượ ết như vậ ỗ ban đầu được
coi là trống.
Điể ởi đầ ủ ậ ự ệ ớ ị
m kh u c a thu t toán là khu v c làm vi c và k robot v i v trí ban
27
đầu độ ậ
c l p: A0,..., Ak-1. Các v a m c gi nh là trong m t
ị trí ban đầu củ ỗi robot đượ ả đị ộ
cell không có chướ ạ ậ ẽ ế ị ủ ả đị ệ ủ
ng ng i v t, và robot s bi t v c
trí a nó. Gi nh làm vi c c a
thuậ ể xác đị ị ủ ển khai lướ ủ
t toán, robot có th nh v trí c a chính nó trong tri i c a khu
v c làm vi
ự ệc.
3.3.2. Thuật toán ORMSTC
Như đã đề ậ ở ả ậ
c p trên, STC (Spanning Tree Coverage) là gi i thu t on-line
dùng cho m t ng, chia nh không gian làm vi c thành b [3]. D
ộ robot di độ ỏ ệ ản đồ ựa
trên thu t toán này, nh m t n d c nh m m nh c
ậ ằ ậ ụng đượ ững điể ạ ủa nhóm robot, người
ta đã phát triể ậ
n các thu t toán sử ụ ử ụ ề
d ng cây bao trùm bao trùm s d ng nhi u robot.
ORMSTC là vi t c a c m t Online Robust Multi-
ết tắ ủ ụ ừ robot STC. Đây là thuật
toán MSTC trong line.
trườ ợ
ng h p on-
Mã giả ậ
thu t toán 4:
Thuật ()
toán 4 -line ORMSTC initialization
On
Đầu vào: c làm vi c, v a robot.
W là khu vự ệ ị trí củ
Các bướ ế
c ti n hành:
1. 2D 2D
Chia khu v c làm vi c thành m cell
ự ệ ột lưới các có kích cỡ x
2. D D
Tiế ụ ỡ
p t c phân chia các cell thành 4 có kích c
subcell x
3. a robot hi n t i
  ID củ ệ ạ
4. if  a m t subsell
chính giữ ộ then
5. 
 subcell
6. Di chuy n t
ể ới 

7. else
8. 
  
9. 
 
cell có chứa 
10.Thông báo 
 u c a mình t i t
là cell khởi đầ ủ ớ ất cả các robot
11. C p nh p thông tin map v các v u c a các robot khác:
ậ ậ ề ị trí ban đầ ủ


   

12.Khởi tạo 

    


 
28
Giả ả ậ
i thích mã gi thu t toán 4:
Thuật toán 4 trên là kh i t o c a thu t toán MSTC on-line nói chung. T
ở ở ạ ủ ậ ất
c các robot cùng ch y kh i t o này. M a kh i t t l p
ả ạ ở ạ ục đích chính củ ở ạo là để thiế ậ
môi trườ ệ ết đượ ở đâu trong bả
ng làm vi c cho các robot, cho phép robot bi c mình n
đồ dòng đầ ệ theo đúng như nhữ ả
. Hai u tiên là vi c phân chia các cell và subcell ng gi
đị ủ ậ ộ ụ ể ột đị
nh c a các thu t toán STC khác. Dòng 3 gán cho m t robot c th m nh danh
nh nh nó v i các robot khác. T dòng 4 t robot di
ằm xác đị ớ ừ ới dòng 8 là đoạn để
chuy a m u v trí c a các robot là ng u
ển vào đúng chính giữ ột subcell. Do ban đầ ị ủ ẫ
nhiên, nên sau quá trình phân chia cell và subcell dòng 1 và dòng 2, kh
ở ả năng các
robot không nằm đúng mộ ấ ở ậ
t subcell là r t cao, b i v y cần đưa robot về đúng
subcell, phụ ụ ệ ể ở các bướ ế Ở đây cũng cầ
c v cho vi c di chuy n c ti p theo. n chú ý là
các robot c n ph i di chuy t nh s n. Lý do là b
ầ ả ển vào đúng subcell có số thứ ự đã đị ẵ ởi
n y, h quy chi a các robot s không gi ng nhau, khi n cho
ếu không làm như vậ ệ ếu củ ẽ ố ế
vi c các robot nhìn 1 cell là cell có th t c n b ng. Sau khi
ệ ể đi vào hay là vậ ả ị ảnh hưở
vào đúng mộ ậ ột subcell xác đị ởi đầ
t subcell, robot i nh n m nh làm subcell kh u (dòng
8) và nh n m nh làm cell kh u (dòng 9). Sau khi nh n v u,
ậ ột cell xác đị ởi đầ ậ ị trí ban đầ
nó thông báo v trí c ng th
ị ủa mình cho các robot khác (dòng 10), và đồ ời cũng cập
nh t l i v u c ng nghi p c a nó (dòng 11). T i dòng 12, m
ậ ạ ị trí ban đầ ủa các đồ ệ ủ ạ ột
m ng c kh i t o v i toàn giá tr , nh m m t n i v
ả connection đượ ở ạ ớ ị null ằ ục đích lưu kế ố ới
các đồ ệ ả ẽ đượ
ng nghi p sau này. M ng này s
connection c trình bày k n
ỹ hơn trong phầ
gi thu
ải thích mã giả ật toán 5 ở dưới.
Mã giả ậ
thu t toán 5:
Thuật toán 5 ORMSTC (W,X)
Đầu vào: Cell robot v (cell cha), cell robot v
ừa đi ra W ừa đi vào X
Các bướ ế
c ti n hành:
1. 
 3 cell lân c n c theo chi ng h , b u t sau cell
ậ ủa X ều kim đồ ồ ắ ầ
t đ ừ W
2. for    do
3. if    
 then
4. continue p t c v i giá tr p theo
tiế ụ ớ ị  tiế
29
5. if đã nằ ộ ạ ủ
m trong m t c nh c a cây bao trùm c a m robot khác
ủ ột 
then
6. H xem nó còn s ng không
ỏi robot  ố
7. l
if robot  trả ời then
8. if 




  then
9. 




 



  


10. p t c v i giá tr p theo
continue tiế ụ ớ ị  tiế
11. else
12. 




  


13. p t c v i giá tr p theo
continue tiế ụ ớ ị  tiế
14. else
15. t
//robot  đã chế
16. Xóa robot kh i m ng và thông báo r
 ỏ ả  ằng robot đó
đã chết
17. nh n i cell robot
Xóa cạ ối vớ  đã đi và thông báo
18. V c nh t t
ẽ ạ ừ  ới 
và thông báo di chuy n t
ể ới 

19. Di chuy n t i m t subcell c
ể ớ ộ ủa  bằng cách đi theo bên phải
c nh cây bao trùm
ạ
20. Thực thi ORMSTC(X, 

)
21.if   
then
22. Di chuy n l t d nh cây bao trùm
ể ại từ  ới  ọc theo bên phải cạ
23. t g
return ừ chỗ ọ ệ
i đ quy
24.if    then
25. Thực thi ORMSTC(X, W)
26.Trở ề ở ầ
v subcell kh i đ u 
b nh cây bao trùm
ằng cách đi theo bên phải cạ
27.Thông báo hoàn thành công việc của mình
28.while t a chúng
ất cả các robot chưa thông báo hoàn thành công việc củ do
29. nh k các robot có k t n i v i mình xem chúng còn s ng
Kiểm tra đị ỳ ế ố ớ ố
không
30
30. if robot  đã chết then
31. nh n i cell robot
Xóa cạ ối vớ  đã đi và thông báo
32. c
Thông báo mình chưa hoàn thành công việ
33. L a ch n xem
ự ọ 




hay 




g n v
ầ ới
mình hơn, di chuyể ều kim đồ ồ hay ngượ ề
n theo chi ng h c chi u
kim đồ ồ ạ ủ ủ ợ
ng h theo c nh c a cây bao trùm c a mình thì thích h p
hơn
34. Di chuy n trên t t n i v
ển theo hướng đã chọ ở ới điểm đã kế ố ới
robot đã chết
35. cell mình k i robot
  ết nối vớ j
36. k i v i mình
 cell robot j ết nố ớ
37. kh i m ng connection và thông báo
Xóa robot j ỏ ả
38. V c nh t t và thông báo
ẽ ạ ừ  ới 
39. Di chuyể ớ ủ ằng cách đi theo bên phả
n t i subcell c a  b i cây bao
trùm
40. )
Thực thi ORMSTC(X, Y
41.K t thúc vòng l p
ế ặ
42.D ng
ừ
Giả ả ậ
i thích mã gi thu t toán 5:
Thuật toán 5 mô t quá trình làm vi c c a m t robot. T t c
ả ệ ủ ộ ấ ả các robot đều
thự ậ ở ậ ẽ ấ
c thi thu t toán này, b i v y có bao nhiêu robot thì s có b y nhiêu th hi n c
ể ệ ủa
thuật toán này. T dòng 1 t i dòng 27 c a thu t toán này, v n là gi ng thu
ừ ớ ủ ậ ề cơ bả ố ật
toán Spiral-STC. Tuy nhiên, nó thêm vào đó một điể ọng, đó là có kiể
m quan tr m tra
xem robot đồ ệ ố ảng connection dùng để lưu kế
ng nghi p có còn s ng hay không. M t
n i gi a c c t o b i m t cell c a robot hi n t i v m t cell c a robot mà nó
ố ữ ạnh đượ ạ ở ộ ủ ệ ạ ới ộ ủ
g ng di chuy n. Giá tr c
ặp trên đườ ể ị ủa 




 l n g u tiên
lưu giá trị ầ ặp đầ
c a robot hi n t i robot , và giá tr c
ủ ệ ại vớ  ị ủa 




 l n g p g n
lưu giá trị ầ ặ ầ
nh t c a robot hi n t i v i robot . Giá tr m m c v cho
ấ ủ ệ ạ ớ  ị này được lưu nhằ ục đích phụ ụ
vi n t sau khi robot hoàn thành
ệc xác định điểm để giúp đỡ robot  ếu robot đó chế 
31
công vi c (dòng 33). M m quan tr ng n a khi n nhóm robot khác bi t v
ệ ột điể ọ ữ ế ệ ới đơn
robot, đó là có kế ố ữ ư trong mã giả ể ấ ệ ạ
t n i gi a các robot. Nh , ta có th th y robot hi n t i
liên t c có các thông báo v c p nh t thông tin. Robot hi n t i,
ụ ới các robot khác để ậ ậ ệ ạ
sau khi hoàn thành nhi m v c ng l i h n mà v n ti p t c ki
ệ ụ ủa mình, nó chưa dừ ạ ẳ ẫ ế ụ ểm
tra đị ỳ ế ố ớ ố
nh k xem các robot có k t n i v i nó còn s ng hay không (dòng 29). N u có
ế
robot có k t n i v t, robot hi n t i s robot kia, nh
ế ố ới nó đã chế ệ ạ ẽ tiến hành giúp đỡ ằm
đả ả ệc chung đượ
m b o công vi c hoàn thành.
3.3.3. Phân tích các tiêu chí c a thu t toán
ủ ậ
3.3.3.1. Tính mạnh mẽ
Xét v m t lý thuy t, thu b c tính m nh m
ề ặ ế ật toán này đã đảm ảo đượ ạ ẽ. Các
robot khi g p m a m ng nghi i v trí
ặ ột cell cũ củ ột đồ ệp khác, nó đã tiến hành lưu lạ ị
gặp nhau đó nhằm giúp đỡ ống robot đồ ệ ị ế
trong tình hu ng nghi p b ch t sau này.
Đoạ ật toán, robot đã hoàn thành công việc nhưng chưa hoàn to
n sau thu àn
d ng h n ngay l p t c, mà v n ti p t c ho n khi t t c ng
ừ ẳ ậ ứ ẫ ế ụ ạt động cho đế ấ ả các đồ
nghi p hoàn thành công vi ng nghi nh
ệ ệc. Trong khi các đồ ệp chưa hoàn thành, nó đị
k ki m tra tr ng thái c ng nghi p xem có robot nào b t hay
ỳ ể ạ ủa các robot đồ ệ ị chế
không.
3.3.3.2. Tính bao phủ toàn bộ
V i khu v c làm vi và robot, t ng h p toàn b nh ng bao ph
ớ ự ệc W k ổ ợ ộ ững đườ ủ
c m b o bao ph c hoàn toàn . Tính ch t này có th
ủa các robot con đả ả ủ đượ W ấ ể được
chứng minh như sau:
- ng h p :
Trong trườ ợ   
V i ch m t robot, thu t toán trên s heo thu t toán Spiral-
ớ ỉ ộ ậ ẽ thực thi đúng t ậ
STC, do đó sẽ ủ ộ đượ ự ệ
bao ph toàn b c khu v c làm vi c.
- ng h p :
Trong trườ ợ   
Giả ử ằ ể ộ ự ệ
s r ng có robot có th
   hoàn thành m t khu v c làm vi c. Ta
ch c
ứ ằ robot cũng có thể ự
ng minh r ng  hoàn thành khu v W. Không m t tính
ấ
t ng quát, ta xét m t robot . Khi th c thi thu t toán MSTC on-
ổ ộ  đơn lẻ ự ậ line,
nó sinh ra m t cây bao trùm c c b , v i nh a riêng nó, và t o ra
ộ ụ ộ ớ ững cell cũ củ ạ
32
m ng bao ph cho m m nhi m. Các robot khác s
ột đườ ủ ột vài cell mà nó đả ệ ẽ
xem như các cell này đã bị ế ính xác như việ ộ
chi m, và coi nó ch c nó là m t
cell đượ ấp đầ ở ộ ậ ả ở ậ ấ ả ững cell khác cũng đượ
c l y b i m t v t c n. B i v y, t t c nh c
chia thành robot bao ph , gi i gi
   đường đi và được    ủ ống như vớ ả
s t ra. Robot t c các cell b m b
ử ban đầu được đặ  cũng xem tấ ả ị chiế ởi   
robot t v t c m v c a nó tr thành bao ph toàn
kia như là mộ ậ ản, do đó nhiệ ụ ủ ở ủ
b m t khu v c làm vi ng h p
ộ ộ ự ệc, giống như vớ ờ
i trư ợ    ở trên.
3.3.3.3. Tính không dư thừa
N u t t c u th c thi theo thu t toán trên, và không robot nào b
ế ấ ả robot đề ự ậ ở ị
chế ẽ ị đi nhiều hơn 1 lần. Điề
t, s không có cell nào b u này có thể chứng minh như
sau:
N u không có robot nào b l i, và m i robot ch c xây
ế ị ỗ ỗ ỉ đi theo những cell đượ
d ng b cây bao trùm. N u m u là
ự ởi ế ột cell đã được robot khác đi, nó đã được đánh dấ
cell cũ, bở ậ ộ ể đi vào cell đó nữ ế
i v y không có m t robot nào khác có th a. N u robot
không có quay lui, s không có m n
ẽ ột cell nào bị đi quá nhiều hơn 1 lầ
3.4. Đề xuấ ả ế ể ậ
t c i ti n và phát tri n thu t toán MSTC
3.4.1. Đề ấ ể ậ ự ạ
xu t và phát tri n thu t toán ORMSTC d a trên cách t o cây con
trên MSTC-offline
3.4.1.1. Khu vực bao phủ
M i robot là m t công c d n ti n hình d ng m
ỗ ộ ụ có kích thước là D để ễ thuậ ệ ạ ỗi
robot xem như một hình vuông kích thướ ục tiêu là để ủ ự
c D. M bao ph các khu v c
làm vi c s d ng công c này. Trong các ng d ng th c t , công c này có th
ệ ử ụ ụ ứ ụ ự ế ụ ể
tương ứ ớ ả ế ắ ắn là đượ ự ệc để
ng v i các c m bi n ch c ch c quét qua các khu v c làm vi
phát hi n m c D có th nh b i ph
ệ ột đặc trưng quan trọng, và kích thướ ể được xác đị ở ạm
vi hi u qu c a b c m bi n. Các robot có th di chuy
ệ ả ủ ộ ả ế ể ể ụ ốn hướ
n liên t c trong b ng
cơ bả ố ả ể xác đị ị ả ự
n (lên, xu ng, trái, ph i), và có th nh v trí b n thân trong khu v c làm
vi trong ph m vi m t ô con c D.
ệ ể
c đ ạ ộ kích thướ
Không bi t ranh gi i khu v c làm vi c chính xác và t t c các v ng
ế ớ ự ệ ấ ả ị trí chướ
ng i v c gi u c c l p. Chia
ạ ật (đượ ả định là tĩnh), nhưng các vị trí ban đầ ủa chúng độ ậ
33
khu v c này thành các ô c 2Dx2D, m i ô g m b n ô con
ự có kích thướ ỗ ồ ố kích thước
DxD. N ng ng i v t thu c m t ph n c ng
ếu có chướ ạ ậ ộ ộ ầ ủa ô thì xem như ô đó là chướ
ng i v u th s ng ô i v i N, và ch rõ s ng ô con c a n, t c là,
ạ ật. Biể ị ố lượ trong lướ ớ ỉ ố lượ ủ ứ
N = 4n. Khu v c b c bi y m i c coi là
ự an đầu là không đượ ết như vậ ỗ cell ban đầu đượ
trống.
Điể ở ầ ủ ậ ự ệ ớ ị trí ban đầ
m kh i đ u c a thu t toán là khu v c làm vi c và k robot v i v u
độ ậ
c l p: A0,..., Ak-1. Các v u c a m c gi nh là trong m t ô
ị trí ban đầ ủ ỗi robot đượ ả đị ộ
không có chương ngạ ậ ẽ ế ị ủ ả đị ệ ủ ậ
i v t, và robot s bi t v trí c a nó. Gi nh làm vi c c a thu t
toán, robot có th nh v trí c a chính nó trong tri i c a khu v c làm
ể xác đị ị ủ ển khai lướ ủ ự
việc.
3.4.1.2. Ý tưởng cải tiến thuật toán
Thuậ dùng cho robot khi nó chưa biế ệ
t toán ORMSTC là t vùng làm vi c nó
đượ ụ ấ ề ự ễ ậ ậ
c áp d ng r t nhi u trong th c ti n. Thu t toán ORMSTC chính là là thu t toán
m i robot x y d ng cây con c a riêng nó. V i m i nodes c a cây con này s không
ỗ ậ ự ủ ớ ỗ ủ ẽ
thuộ ấ ữ
c b t ký cây nào n a. cell
Và nó th c hi n xong khi b t k
ự ệ ấ ỳ nào thu c vùng làm
ộ
vi c s tìm th y trên m i cây con thêm cell d a trên
ệ ẽ đươc ấ ột cây con nào đó. Mỗ được ự
cùng m t u ng s d ng thu ng xo n ôc Spiral-STC).
ộ th ật toán STC (thườ ử ụ ật toán đườ ắ
Thuậ ựa vào server để ế ạ ủ ừ
t toán ORMSTC d bi t thông tin tr ng thái c a t ng robot
cũng như môi trườ c client đưa và tìm
ng thông qua các robot, còn robot chính là cá
ki m thông tin. M i robot th c hi n riêng l . Chính vì th c phân chia
ế ỗ ự ệ ẻ ế việ cell để
đả ả ố ợ ỗ ụ ộ ấ ề ị trí ban đầ ủ
m b o s lư ng cell ban cho m i robot ph thu c r t nhi u vào v u c a
robot.
34
Hình 3.3 Nhóm robot s d ng ORMSTC trên thu t toán Spiral-
: ử ụ ậ STC
Hình trên là ví d y rõ vi c phân chia cell t toán ORMSTC d a trên
ụ thấ ệ ở thuậ ự
thuậ ỉ đượ ủ ủ
t toán Spiral-STC. Robot 1 ch c bao ph 2 trong khi robot 2 bao ph
cell
t i 11 ô. Vi c hi n s không t
ới vớ ệc thự ệ ẽ ối ưu thời gian.
Thuậ ộ ật toán đã biết môi trườ
t toán MSTC - Offline là m t thu ng. Chính vì
v y nó áp d ng trong th c ti n không cao. Thu t toán xây d ng cây bao trùm d
ậ ụ ự ễ ậ ự ựa
trên các cây con c a các robot. M i nút c a cây con t o d a vào kho ng cách xa
ủ ỗ ủ ạ ự ả
nh t t i u theo kho ng cách Manhattan c n các robot còn l M
ấ ố thiể ả ủa robot đó đế ại. ỗi
nodes của cây con được thêm vào để ả ớ ạ
cho kho ng cách so v i các robots còn l i là
xa nh t. Và thu t toán c g m b u trên vùng làm vi c cho
ấ ậ ố ắng đả ảo phân chia đề cell ệ
m i cây con c a m i robot.
ỗ ủ ỗ
35
Hình 3.4 Nhóm robot s d ng MSTC- Offline
: ử ụ
Hình trên là ví dụ các cây con môi trường đã biế ự ạ ủ
t d a trên các t o cây c a
thuậ – ụ ấ
t toán MSTC Offline. Ví d trên th y rõ lúc này robot 1 có 8 còn robot 2
cell
có 5 cell chính vì v y th c rút ng n nh t có th .
ậ ời gian sẽ đượ ắ ấ ể
Nhằ ậ ụng đượ ững điể
m t n d c nh m m nh tính linh ho t c a thu t toán
ạ ạ ủ ậ
ORMSTC để ự ện trên môi trường chưa biế ật toán MSTC Offline để
th c hi t và thu
phân chia cell m b o ch u nh t có th trên vùng làm vi c. Trong m c này
đả ả ia cell đề ấ ể ệ ụ
nêu rõ k t h p hai thu t toán trên cho m t nhóm robot. Vi c k h p hai thu t toán
ế ợ ậ ộ ệ ế ợ ậ
trên ta tạ ọ
m g i là MSTC.
3.4.1.3. Phát triển thuật toán
Cũng giố ớ ậ ở trên nó cũng xây dưng mộ
ng v i các thu t toán ORMSTC t hàm
kh i t c hi n các kh i t n. Khác
ở ạo ban đầu để thự ệ ở ạo cơ bả ở đây thay dùng mộ ả
t m ng
connection t n i c d ng m t d ng xâu
để lưu các kế ố ủa robot đó thì thay vào đó ta sử ụ ộ ạ
chứa đầy đủ thông tin như ô, tên robot nó đã đượ ặ ự ện trên đường đi
c g p lúc th c hi
để đả ảo đượ
m b c backtrack sau này.
36
Mã giả ậ
thu t toán 6:
Thuật toán 6 MSTC (W,X)
Đầu vào: Cell robot v (cell cha), cell robot v
ừa đi ra W ừa đi vào X
Các bướ ế
c ti n hành:
1. S1..4 n c ng (trái, ph
←4 cell lân cậ ủa X theo bốn hướ ải, trên, dưới)
2. List_cell = null
3. for    do
4. if    
 then
5. continue tiế ụ ớ ị ế
p t c v i giá tr  ti p theo
6. if đã nằ ộ ạ ủ
m trong m t c nh c a cây bao trùm c a m robot khác
ủ ột 
then
7. H xem nó còn s ng không
ỏi robot  ố
8. l
if robot  trả ời then
9. backtrack←(

 
10. p t c v i giá tr p theo
continue tiế ụ ớ ị  tiế
11. t
//robot kia đã chế
12. else
13. if tìm th y backtrack.find(tên robot ch
ấ ứa Ni ) then
14. kh i backtrack
Xóa robot  ỏ
15. Xóa c nh t t c c nh n i v i cell robot
ạ ấ ả ạ ố ớ  đã đi và thông báo
nó đã xong
16. List_cell ← Ni
17. không thu c b t k cây con nào
// ộ ấ ỳ
18. else
19. List_cell ← Ni
20.Kết thúc vòng lăp
21.i then
f List_cell.size()>0
22. n các robot còn l
Tính toán khoảng cách Manhattan đế ại
37
23. Tìm Ni kho ng cách xa nh t t i thi u theo Manhattan c
ả ấ ố ể ủa robot đó
đế ạ
n các robot còn l i
24. V c nh t t
ẽ ạ ừ  ới 
và thông báo
25. Thực thi MSTC(X, Ni)
26.else
27. Trở ề
v cell cha
28. Thực thi cell
MSTC(W )//T là
, T cha cua o W
29.if tr v subcell u
ở ề điểm khở ầ
i đ 
then
30. a mình
Thông báo hoàn thành công việc củ
31.while t t c các robot v n c c
ấ ả ẫ chưa thông báo hoàn thành công việ ủa
chúng do
32. nh k các robot có k t n i v i mình xem chúng còn s ng
Kiểm tra đị ỳ ế ố ớ ố
không
33. if robot  đã chết then
34. nh n i cell robot
Xóa cạ ối vớ  đã đi và thông báo
35. c
Thông báo mình chưa hoàn thành công việ
36. L y thông tin c n ph n g n nh t t v ng trong
ấ cell ầ ải đế ầ ấ ừ ị trí nó đứ
backtrack
37. Di chuyển điểm đã kế ố ới robot đã chế
t n i v t
38. cell mình k i robot
  ết nối vớ j
39. k i v i mình
 cell robot j ết nố ớ
40. Xóa các c a robot
cell ủ j mà đã đượ ậ ậ
c c p nh t
41. Xóa robot i m ng backtrack và thông báo
j khỏ ả robot j đã thực
hi n xong
ệ
42. V c nh t t và thông báo
ẽ ạ ừ  ới 
43. MSTC( )
Thực thi X, Y
44.K p
ết thúc vòng lặ
45.D ng
ừ
Giả ả ậ
i thích mã gi thu t toán 6:
38
Thuật toán 6 mô t quá trình làm vi c c a m t robot. T t c
ả ệ ủ ộ ấ ả các robot đều
thự ậ ở ậ ẽ ấ
c thi thu t toán này, b i v y có bao nhiêu robot thì s có b y nhiêu th hi n c
ể ệ ủa
thuật toán này. T dòng 1 t i dòng 20 c a thu t toán này, gi ng v t toán
ừ ớ ủ ậ ố ới thuậ
ORMSTC đã trình bày ở ệ ẽ ế ấ ả
.
trên Vi c thêm vào các nó s
cell là tìm ki m t t c các
cell theo b i, trái, ph tìm ki m ki trong b t k
ốn hướng (trên, dướ ải), ế ểm tra nó đã ở ấ ỳ
cây con c . T n dòng 26 ng thành l
ủa robot nào hay chưa (dòng 6) ừ dòng 21 đế giố ập
cây con trong quá trình t o cây bao trùm v i thu t toán MSTC-offline. N u nó tìm
ạ ớ ậ ế
thấ ều hơn mộ ớ ự
y nhi t cell m i thì d a vào tính kho ng cách ng
ả Manhattan qua đó khoả
cách xa nh t t i thi u theo Manhattan c n các robot còn l i. T i dòng
ấ ố ể ủa robot đó đế ạ ạ
31 đế ố ớ ật toán ORMSTC đã trình b
n 44 thì gi ng v i thu ày ki m tra các robot
ở trên ể
khác.
3.4.1.4. Phân tích các tiêu chí của thuật toán cải tiến
- Tính m nh m
ạ ẽ
Xét v m t lý thuy t, thu m b c tính m nh m
ề ặ ế ật toán này đã đả ảo đượ ạ ẽ. Các
robot khi g p m a m ng nghi i v trí
ặ ột cell cũ củ ột đồ ệp khác, nó đã tiến hành lưu lạ ị
g trong tình hu ng nghi p b t sau này. N u
ặp nhau đó nhằm giúp đỡ ống robot đồ ệ ị chế ế
nó g c robot kia ch t thì nó s c hi n công vi c c
ặp được đúng lúc và biết đượ ế ẽ thự ệ ệ ủa
robot kia k p th i tránh quay lui
ị ờ
Đoạ ật toán, khi robot đã hoàn thành công việc nhưng chưa hoàn
n sau thu
toàn d ng h n ngay l p t c, mà v n ti p t c ho n khi t t c ng
ừ ẳ ậ ứ ẫ ế ụ ạt động cho đế ấ ả các đồ
nghi p c ng nghi
ệ ủa nó đã hoàn thành công việc. Trong khi các đồ ệp chưa hoàn
thành, nó đị ỳ
nh k ki m tra tr ng thái c ng nghi p xem có robot nào b
ể ạ ủa các robot đồ ệ ị
chết hay không.
- Tính bao ph toàn b :
ủ ộ
V i khu v c làm vi và robot, t ng h p toàn b nh ng bao ph
ớ ự ệc W k ổ ợ ộ ững đườ ủ
c m b o bao ph c hoàn toàn . Tính ch t này có th
ủa các robot con đả ả ủ đượ W ấ ể được
chứng minh như sau:
o Trong trườ ợ
ng h p :
  
V i ch m t robot, vi c xây d ng cây con nó s tìm h t b ng. N u
ớ ỉ ộ ệ ự ẽ ế ốn hướ ế tìm
39
thấ ều hơn mộ ấ ả ả ằ ẽ ấ
y nhi t ô. T t c kho ng cách là b ng nhau nên nó s l y giá trị
đầu tiên nó đã gán trong list_N danh sách ấ ớ
. Khi nó không tìm th y m
cell i
nào n a thì nó s quay v a cell c hi n tìm. K
ữ ẽ ề cell đi ra củ đó (ô cha) và thự ệ ết
thúc quay v cell u và tìm không tìm th y nào n a. Mà khu v
ề ban đầ ấ cell ữ ực
làm vi c liên ti p nên nó s không th b nào. V y s tìm h
ệ ế ẽ ể ỏ qua cell ậ ẽ ết được
toàn bộ ự
cell trên khu v
các c W.
o Trong trườ ợ
ng h p :
  
Ta xét m . Khi th c thi thu t toán MSTC, nó sinh ra m t cây
ột robot i đơn lẻ ự ậ ộ
bao trùm c c b , v i nh ng a riêng nó, và t o ra m ng bao
ụ ộ ớ ữ cell cũ củ ạ ột đườ
ph cho m t vài cell m nhi m. V i m t cell c nó tìm ki m mà
ủ ộ mà nó đả ệ ớ ộ đượ ế
n m trong các cell c c l y v t c n.
ằ ủa robot khác. Nó xem như cell đó đượ ấp đầ ậ ả
Tương tự ớ ủ ủ ẽ xem như các
v i cell c a nó trên cây con c a nó, các robot khác s
cell chi
này đã bị ếm, và coi nó chính xác như việ ộ đượ ấ
c nó là m t cell c l p
đầ ở ộ ậ ả ở ậ ấ ả ữ khác cũng đượ
y b i m t v t c n. B i v y, t t c nh ng cell c chia thành k -
1 k - 1
đường đi và được robot bao ph , gi i gi s
ủ ống như vớ ả ử ban đầu được
đặt ra. Robot i cũng xem tấ ả ị ế ở robot kia như là
t c các cell b chi m b i k - 1
m t v t c m v c a nó tr thành bao ph toàn b m t khu v
ộ ậ ản, do đó nhiệ ụ ủ ở ủ ộ ộ ực
làm việc, giống như vớ ờ ợ
i trư ng h p k = 1 trên.
ở
- Tính không dư thừa
N u t t c u th c thi theo thu t toán 6 trên, và không robot nào b
ế ấ ả robot đề ự ậ ở ị
chế ẽ ị đi nhiều hơn 1 lần. Điề
t, s không có cell nào b u này có thể chứng minh như
sau:
N u không có robot nào b l i, và m i robot ch c xây
ế ị ỗ ỗ ỉ đi theo những cell đượ
d ng b cây bao trùm c a riêng nó. N u m
ự ởi ủ ế ột cell đã đượ khác đi, nó đã
c robot
được đánh dấu là cell cũ, bởi vậy không có m t robot nào khác có th
ộ ể đi vào cell đó
n u robot không có quay lui, không có m n.
ữa. Nế ột cell nào bị đi quá nhiều hơn 1 lầ
40
3.4.2. Tri n khai thu t toán MSTC - Full
ể ậ
3.4.2.1. Khu vực bao phủ
M i robot là m t công c d n ti n hình d ng m
ỗ ộ ụ có kích thước là D để ễ thuậ ệ ạ ỗi
robot xem như một hình vuông kích thướ ục tiêu là để ủ ự
c D. M bao ph các khu v c
làm vi c s d ng công c này. Trong các ng d ng th c t , công c này có th
ệ ử ụ ụ ứ ụ ự ế ụ ể
tương ứ ớ ả ế ắ ắn là đượ ự ệc để
ng v i các c m bi n ch c ch c quét qua các khu v c làm vi
phát hi n m c D có th nh b i ph
ệ ột đặc trưng quan trọng, và kích thướ ể được xác đị ở ạm
vi hi u qu c a b c m bi n. Các robot có th di chuy
ệ ả ủ ộ ả ế ể ể ụ ốn hướ
n liên t c trong b ng
cơ bả ố ả ể xác đị ị ả ự
n (lên, xu ng, trái, ph i), và có th nh v trí b n thân trong khu v c làm
vi trong ph m vi m t subcell c DxD.
ệ ể
c đ ạ ộ kích thướ
Không bi t ranh gi i khu v c làm vi c chính xác và t t c các v ng
ế ớ ự ệ ấ ả ị trí chướ
ng i v c gi u c c l p. Chia
ạ ật (đượ ả định là tĩnh), nhưng các vị trí ban đầ ủa chúng độ ậ
khu v c này thành các ô 2Dx2D, m i g m b n ô con kích
ự vuông có kích thước ỗ cell ồ ố
thướ ếu chướ ạ ậ ộc ô con nào thì xem ô con đó chính ô con
c DxD. N ng ng i v t thu
chướ ạ ậ ể ị ố ợ ế bào trong lướ ớ ỉ ố ợ
ng ng i v t. Bi u th s lư ng t i v i N, và ch rõ s lư ng
subcell c a n, t c là, N = 4n. Khu v c bi y m i
ủ ứ ực ban đầu là không đượ ết như vậ ỗ ô
con ban đầu đượ ố
c coi là tr ng.
Điể ở ầ ủ ậ ự ệ ớ ị trí ban đầ
m kh i đ u c a thu t toán là khu v c làm vi c và k robot v i v u
độ ậ
c l p: A0,..., Ak-1. Các v u c a m c gi nh là trong m t ô
ị trí ban đầ ủ ỗi robot đượ ả đị ộ
con không có chướ ạ ậ ẽ ế ị ủ ả đị ệ ủ
ng ng i v t, và robot s bi t v trí c a nó. Gi nh làm vi c c a
thuậ ể xác đị ị ủ ển khai lướ ủ
t toán, robot có th nh v trí c a chính nó trong tri i c a khu
v c làm vi
ự ệc.
Môi trườ ệ ủ – ủ ế ấ ả ữ ứ
ng làm vi c c a MSTC Full bao ph h t t t c nh ng cell ch a ít
nh c DxD. Gi i thu
ất kích thướ ả ật đầy đủ ử ụ ấu trúc đồ ị ổ sung như sau:
s d ng c th b
các cell chi
nodes c m c a t t c nh ng
ủa đồ thị là các tâm điể ủ ấ ả ữ trố ặ ị
ng ho c b ế ộ
m m t
ph n. Các c nh c k t n m c a nh ng n k a nh ng
ầ ạ ủa đồ thị ế ối các tâm điể ủ ữ cell liề ề chứ ữ
subcell trố ộ ựng đem đế ạ ủ
ng và cùng chung m t biên. Quá trình xây d n hai d ng c a
c nh n -sided edges) gi subcell ng c hai phía
ạ ố ạnh có hai phía” (double
i:“c ữ các trố ở ả
(hình 3.5. nh cóm -sided edges) gi ít nh t m t b
a), và “cạ ột phía” (single ữ ấ ộ subcell ị
41
chiếm ở ộ ộ ấu trúc khác trong đồ ị ớ ổ
m t phía (hình 3.5.b). Ngoài ra m t c th lư i b sung
là “gấp đôi nút” (node doubling). Mộ ị ế ộ ầ ớ ố
t cell b chi m m t ph n v i các subcell tr ng
n c g t k t n i c c b
ằm chéo nhau đượ ọi là “mấ ế ố ụ ộ” (locally disconnected). Bở ụ
i vì d ng
c quét có th n các ng t lân c n, chúng ta bi u di
ụ ể vươn đế subcell trố ừ các cell ậ ể ễn
nh ng i nút có c nh riêng n n nh ng n k
ữ cell như vậy như là hai nút, mỗ ạ ối đế ữ cell liề ề
mà t t ng có th p c n (h . ].
ừ đó mộ subcell trố ể được tiế ậ ình 3.5 c)[2
Hình t phía;
3.5: nh có hai phía; (b): C nh có m
(a): Cạ ạ ộ (c): Gấp đôi nút ở cell
mất kết nối cục bộ
3.4.2.2. Ý tưởng thuật toán
V ng làm vi c th c ti n thì vi c v t c n không ch
ới môi trườ ệ ự ễ ệc khích thướ ậ ả ỉ là
2Dx2D và nó còn có khích thướ ớ ể ỗ ấ ỳ
c DxD. V i các bài toán trên hi u m i cell có b t k
subcell nào là chướ ạ ậ ểu chướ ạ ật khích thướ ậ
ng ng i v t thì hi ng ng i v c 2Dx2D. V y
bài toán bao ph s không bao ph c hoàn toàn nó còn có nh ng c a cell
ủ ẽ ủ đượ ữ subcell ủ
đó chưa được “thăm” ụng đối ý tưở ật toán 6 để ả
. Áp d ng thu gi i quyế ấn đề
t v bao
ph cho vùng làm vi i v ng ng i v t . M i robot th
ủ ệc đố ới kích thước chướ ạ ậ DxD ỗ ực
hi n tìm nodes cho cây con c a nó b ng cách robot ph t t subcell c a
ệ ủ ằ ải đi hế ất cả các ủ
cell cell
nó đang đứ ừ đó có thể ế ế
ng. T bi t h t các thông tin nào là có chướ ạ ậ
ng ng i v t
và thông qua đó để ả ố ểu đố ạ ậ
tính toán kho ng cách xa t i thi i các robots còn l i. V y
m i l n robot th c hi t thì robot ph i t t c c a
ỗ ầ ự ện đang xét mộ cell ải đi lạ ấ ả các subcell ủ
cell đó. Vậy tính hi u qu c a thu t toán s không còn và lúc này có th i gian
ệ ả ủ ậ ẽ ể thờ
bao ph cho thu t toán MSTC s nhi u t nhi u.
ủ ậ ẽ ề hơn rấ ề
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf
Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf

More Related Content

What's hot

[Cntt] bài giảng kĩ thuật vi xử lí
[Cntt] bài giảng kĩ thuật vi xử lí[Cntt] bài giảng kĩ thuật vi xử lí
[Cntt] bài giảng kĩ thuật vi xử líHong Phuoc Nguyen
 
Công thức Máy điện 1 - Chương 3 - Máy điện một chiều
Công thức Máy điện 1 - Chương 3 - Máy điện một chiềuCông thức Máy điện 1 - Chương 3 - Máy điện một chiều
Công thức Máy điện 1 - Chương 3 - Máy điện một chiềuMan_Ebook
 
4.2.1. thiết kế bộ điều khiển trượt cho robot 2 bậc tự do và mô phỏng trên ma...
4.2.1. thiết kế bộ điều khiển trượt cho robot 2 bậc tự do và mô phỏng trên ma...4.2.1. thiết kế bộ điều khiển trượt cho robot 2 bậc tự do và mô phỏng trên ma...
4.2.1. thiết kế bộ điều khiển trượt cho robot 2 bậc tự do và mô phỏng trên ma...TÀI LIỆU NGÀNH MAY
 
Báo cáo thực tập chuyên ngành điện công nghiệp, 9 điểm
Báo cáo thực tập chuyên ngành điện công nghiệp, 9 điểmBáo cáo thực tập chuyên ngành điện công nghiệp, 9 điểm
Báo cáo thực tập chuyên ngành điện công nghiệp, 9 điểmLuanvantot.com 0934.573.149
 
Bài giảng kỹ thuật điều khiển tự động
Bài giảng kỹ thuật điều khiển tự độngBài giảng kỹ thuật điều khiển tự động
Bài giảng kỹ thuật điều khiển tự độngNguyễn Nam Phóng
 
Đồ án điện tử công suất: Thiết kế bộ chỉnh lưu hình tia ba pha
Đồ án điện tử công suất: Thiết kế bộ chỉnh lưu hình tia ba phaĐồ án điện tử công suất: Thiết kế bộ chỉnh lưu hình tia ba pha
Đồ án điện tử công suất: Thiết kế bộ chỉnh lưu hình tia ba phanataliej4
 
Chuong 04 mach logic
Chuong 04 mach logicChuong 04 mach logic
Chuong 04 mach logicAnh Ngoc Phan
 
ĐIều khiển tốc độ động cơ không đồng bộ 3 pha dùng bộ điều khiển pid mờ lai​
ĐIều khiển tốc độ động cơ không đồng bộ 3 pha dùng bộ điều khiển pid mờ lai​ĐIều khiển tốc độ động cơ không đồng bộ 3 pha dùng bộ điều khiển pid mờ lai​
ĐIều khiển tốc độ động cơ không đồng bộ 3 pha dùng bộ điều khiển pid mờ lai​Man_Ebook
 
Các đặc tính cơ khi hãm động cơ đk
Các đặc tính cơ khi hãm động cơ đkCác đặc tính cơ khi hãm động cơ đk
Các đặc tính cơ khi hãm động cơ đkNguyen Tien Kha
 
NGHỊCH LƯU VÀ BIẾN TẦN.pdf
NGHỊCH LƯU VÀ BIẾN TẦN.pdfNGHỊCH LƯU VÀ BIẾN TẦN.pdf
NGHỊCH LƯU VÀ BIẾN TẦN.pdfMan_Ebook
 
Bai giang may dien
Bai giang may dienBai giang may dien
Bai giang may dienLợi Tấn
 
Giáo Trình Máy Điện
Giáo Trình Máy ĐiệnGiáo Trình Máy Điện
Giáo Trình Máy Điệnbaotoxamac222
 
Tính toán, thiết kế chế tạo mạch nghịch lưu nguồn áp một pha.docx
Tính toán, thiết kế chế tạo mạch nghịch lưu nguồn áp một pha.docxTính toán, thiết kế chế tạo mạch nghịch lưu nguồn áp một pha.docx
Tính toán, thiết kế chế tạo mạch nghịch lưu nguồn áp một pha.docxMan_Ebook
 

What's hot (20)

Đề tài: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
Đề tài: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩmĐề tài: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
Đề tài: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
 
Đề tài: Thiết kế mô hình pha trộn dung dịch sử dụng PLC s7-200
Đề tài: Thiết kế mô hình pha trộn dung dịch sử dụng PLC s7-200Đề tài: Thiết kế mô hình pha trộn dung dịch sử dụng PLC s7-200
Đề tài: Thiết kế mô hình pha trộn dung dịch sử dụng PLC s7-200
 
[Cntt] bài giảng kĩ thuật vi xử lí
[Cntt] bài giảng kĩ thuật vi xử lí[Cntt] bài giảng kĩ thuật vi xử lí
[Cntt] bài giảng kĩ thuật vi xử lí
 
Công thức Máy điện 1 - Chương 3 - Máy điện một chiều
Công thức Máy điện 1 - Chương 3 - Máy điện một chiềuCông thức Máy điện 1 - Chương 3 - Máy điện một chiều
Công thức Máy điện 1 - Chương 3 - Máy điện một chiều
 
Đề tài: Mô hình phân loại sản phẩm theo chiều cao dùng Arduino
Đề tài: Mô hình phân loại sản phẩm theo chiều cao dùng ArduinoĐề tài: Mô hình phân loại sản phẩm theo chiều cao dùng Arduino
Đề tài: Mô hình phân loại sản phẩm theo chiều cao dùng Arduino
 
4.2.1. thiết kế bộ điều khiển trượt cho robot 2 bậc tự do và mô phỏng trên ma...
4.2.1. thiết kế bộ điều khiển trượt cho robot 2 bậc tự do và mô phỏng trên ma...4.2.1. thiết kế bộ điều khiển trượt cho robot 2 bậc tự do và mô phỏng trên ma...
4.2.1. thiết kế bộ điều khiển trượt cho robot 2 bậc tự do và mô phỏng trên ma...
 
Báo cáo thực tập chuyên ngành điện công nghiệp, 9 điểm
Báo cáo thực tập chuyên ngành điện công nghiệp, 9 điểmBáo cáo thực tập chuyên ngành điện công nghiệp, 9 điểm
Báo cáo thực tập chuyên ngành điện công nghiệp, 9 điểm
 
Đề tài: Thiết kế hệ thống điều khiển bơm nước sử dụng PLC, HOT
Đề tài: Thiết kế hệ thống điều khiển bơm nước sử dụng PLC, HOTĐề tài: Thiết kế hệ thống điều khiển bơm nước sử dụng PLC, HOT
Đề tài: Thiết kế hệ thống điều khiển bơm nước sử dụng PLC, HOT
 
Bài giảng kỹ thuật điều khiển tự động
Bài giảng kỹ thuật điều khiển tự độngBài giảng kỹ thuật điều khiển tự động
Bài giảng kỹ thuật điều khiển tự động
 
Đồ án điện tử công suất: Thiết kế bộ chỉnh lưu hình tia ba pha
Đồ án điện tử công suất: Thiết kế bộ chỉnh lưu hình tia ba phaĐồ án điện tử công suất: Thiết kế bộ chỉnh lưu hình tia ba pha
Đồ án điện tử công suất: Thiết kế bộ chỉnh lưu hình tia ba pha
 
Chuong 04 mach logic
Chuong 04 mach logicChuong 04 mach logic
Chuong 04 mach logic
 
ĐIều khiển tốc độ động cơ không đồng bộ 3 pha dùng bộ điều khiển pid mờ lai​
ĐIều khiển tốc độ động cơ không đồng bộ 3 pha dùng bộ điều khiển pid mờ lai​ĐIều khiển tốc độ động cơ không đồng bộ 3 pha dùng bộ điều khiển pid mờ lai​
ĐIều khiển tốc độ động cơ không đồng bộ 3 pha dùng bộ điều khiển pid mờ lai​
 
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PIDĐề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
 
Các đặc tính cơ khi hãm động cơ đk
Các đặc tính cơ khi hãm động cơ đkCác đặc tính cơ khi hãm động cơ đk
Các đặc tính cơ khi hãm động cơ đk
 
Ky thuat do luong
Ky thuat do luongKy thuat do luong
Ky thuat do luong
 
NGHỊCH LƯU VÀ BIẾN TẦN.pdf
NGHỊCH LƯU VÀ BIẾN TẦN.pdfNGHỊCH LƯU VÀ BIẾN TẦN.pdf
NGHỊCH LƯU VÀ BIẾN TẦN.pdf
 
Bai giang may dien
Bai giang may dienBai giang may dien
Bai giang may dien
 
Giáo Trình Máy Điện
Giáo Trình Máy ĐiệnGiáo Trình Máy Điện
Giáo Trình Máy Điện
 
Đề tài: Nghiên cứu thiết kế mô hình trạm cấp phôi tự động, HAY
Đề tài: Nghiên cứu thiết kế mô hình trạm cấp phôi tự động, HAYĐề tài: Nghiên cứu thiết kế mô hình trạm cấp phôi tự động, HAY
Đề tài: Nghiên cứu thiết kế mô hình trạm cấp phôi tự động, HAY
 
Tính toán, thiết kế chế tạo mạch nghịch lưu nguồn áp một pha.docx
Tính toán, thiết kế chế tạo mạch nghịch lưu nguồn áp một pha.docxTính toán, thiết kế chế tạo mạch nghịch lưu nguồn áp một pha.docx
Tính toán, thiết kế chế tạo mạch nghịch lưu nguồn áp một pha.docx
 

Similar to Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf

Thiết kế bộ tách sóng cho truyền thông Mimo-SDM chuyển tiếp hai chiều sử dụng...
Thiết kế bộ tách sóng cho truyền thông Mimo-SDM chuyển tiếp hai chiều sử dụng...Thiết kế bộ tách sóng cho truyền thông Mimo-SDM chuyển tiếp hai chiều sử dụng...
Thiết kế bộ tách sóng cho truyền thông Mimo-SDM chuyển tiếp hai chiều sử dụng...Man_Ebook
 
Đánh Giá Chất Lượng Nước Sông Mã Đoạn Chảy Qua Thành Phố Thanh Hóa
Đánh Giá Chất Lượng Nước Sông Mã Đoạn Chảy Qua Thành Phố Thanh Hóa Đánh Giá Chất Lượng Nước Sông Mã Đoạn Chảy Qua Thành Phố Thanh Hóa
Đánh Giá Chất Lượng Nước Sông Mã Đoạn Chảy Qua Thành Phố Thanh Hóa nataliej4
 
Đánh Giá Chất Lượng Nước Sông Mã Đoạn Chảy Qua Thành Phố Thanh Hóa _083013120...
Đánh Giá Chất Lượng Nước Sông Mã Đoạn Chảy Qua Thành Phố Thanh Hóa _083013120...Đánh Giá Chất Lượng Nước Sông Mã Đoạn Chảy Qua Thành Phố Thanh Hóa _083013120...
Đánh Giá Chất Lượng Nước Sông Mã Đoạn Chảy Qua Thành Phố Thanh Hóa _083013120...hanhha12
 
Định vị thương hiệu bia Sapporo tại thị trường Thành phố Hồ Chí Minh
Định vị thương hiệu bia Sapporo tại thị trường Thành phố Hồ Chí MinhĐịnh vị thương hiệu bia Sapporo tại thị trường Thành phố Hồ Chí Minh
Định vị thương hiệu bia Sapporo tại thị trường Thành phố Hồ Chí Minhluanvantrust
 
Định vị thương hiệu xi măng Nghi Sơn Dân Dụng tại thị trường thành phố Hồ Chí...
Định vị thương hiệu xi măng Nghi Sơn Dân Dụng tại thị trường thành phố Hồ Chí...Định vị thương hiệu xi măng Nghi Sơn Dân Dụng tại thị trường thành phố Hồ Chí...
Định vị thương hiệu xi măng Nghi Sơn Dân Dụng tại thị trường thành phố Hồ Chí...luanvantrust
 
Luận văn: Đánh giá hiện trạng môi trường khu công nghiệp Đồng Văn I Duy Tiên ...
Luận văn: Đánh giá hiện trạng môi trường khu công nghiệp Đồng Văn I Duy Tiên ...Luận văn: Đánh giá hiện trạng môi trường khu công nghiệp Đồng Văn I Duy Tiên ...
Luận văn: Đánh giá hiện trạng môi trường khu công nghiệp Đồng Văn I Duy Tiên ...Viết thuê trọn gói ZALO 0934573149
 
Luận văn: Phân tích các nhân tố ảnh hưởng đến ý định mua sản phẩm túi thân th...
Luận văn: Phân tích các nhân tố ảnh hưởng đến ý định mua sản phẩm túi thân th...Luận văn: Phân tích các nhân tố ảnh hưởng đến ý định mua sản phẩm túi thân th...
Luận văn: Phân tích các nhân tố ảnh hưởng đến ý định mua sản phẩm túi thân th...Viết thuê trọn gói ZALO 0934573149
 
Nghiên cứu mạng nơ ron nhân tạo và ứng dụng vào dự báo lạm phát.pdf
Nghiên cứu mạng nơ ron nhân tạo và ứng dụng vào dự báo lạm phát.pdfNghiên cứu mạng nơ ron nhân tạo và ứng dụng vào dự báo lạm phát.pdf
Nghiên cứu mạng nơ ron nhân tạo và ứng dụng vào dự báo lạm phát.pdfMan_Ebook
 
Luận văn: Tổ chức dạy học chương Cảm ứng điện từ vật lí 11 THPT theo hướng tă...
Luận văn: Tổ chức dạy học chương Cảm ứng điện từ vật lí 11 THPT theo hướng tă...Luận văn: Tổ chức dạy học chương Cảm ứng điện từ vật lí 11 THPT theo hướng tă...
Luận văn: Tổ chức dạy học chương Cảm ứng điện từ vật lí 11 THPT theo hướng tă...Dịch vụ viết thuê Luận Văn - ZALO 0932091562
 
Luận văn: Khảo sát tín hiệu von-ampe hoà tan của đồng, chì, kẽm trên điện cực...
Luận văn: Khảo sát tín hiệu von-ampe hoà tan của đồng, chì, kẽm trên điện cực...Luận văn: Khảo sát tín hiệu von-ampe hoà tan của đồng, chì, kẽm trên điện cực...
Luận văn: Khảo sát tín hiệu von-ampe hoà tan của đồng, chì, kẽm trên điện cực...Dịch vụ viết bài trọn gói ZALO: 0936 885 877
 
Công chúng trẻ TP.HCM với việc tiếp nhận các chương trình truyền hình thực tế...
Công chúng trẻ TP.HCM với việc tiếp nhận các chương trình truyền hình thực tế...Công chúng trẻ TP.HCM với việc tiếp nhận các chương trình truyền hình thực tế...
Công chúng trẻ TP.HCM với việc tiếp nhận các chương trình truyền hình thực tế...NuioKila
 
Đo lường mức độ thỏa mãn của cán bộ công nhân viên đối với tổ chức tại Xí ngh...
Đo lường mức độ thỏa mãn của cán bộ công nhân viên đối với tổ chức tại Xí ngh...Đo lường mức độ thỏa mãn của cán bộ công nhân viên đối với tổ chức tại Xí ngh...
Đo lường mức độ thỏa mãn của cán bộ công nhân viên đối với tổ chức tại Xí ngh...Thư Viện Số
 
Luận văn thạc sĩ vật lí khảo sát phông nền và tối ưu hóa hiệu suất cho hệ phổ...
Luận văn thạc sĩ vật lí khảo sát phông nền và tối ưu hóa hiệu suất cho hệ phổ...Luận văn thạc sĩ vật lí khảo sát phông nền và tối ưu hóa hiệu suất cho hệ phổ...
Luận văn thạc sĩ vật lí khảo sát phông nền và tối ưu hóa hiệu suất cho hệ phổ...https://www.facebook.com/garmentspace
 
Luận văn thạc sĩ vật lí.
Luận văn thạc sĩ vật lí.Luận văn thạc sĩ vật lí.
Luận văn thạc sĩ vật lí.ssuser499fca
 
Giải quyết việc làm cho lao động thuộc diện thu hồi đất tại thị xã Điện Bàn, ...
Giải quyết việc làm cho lao động thuộc diện thu hồi đất tại thị xã Điện Bàn, ...Giải quyết việc làm cho lao động thuộc diện thu hồi đất tại thị xã Điện Bàn, ...
Giải quyết việc làm cho lao động thuộc diện thu hồi đất tại thị xã Điện Bàn, ...luanvantrust
 
Luận văn: Sử dụng câu hỏi nhận thức trong dạy học phần Chuyển hóa vật chất và...
Luận văn: Sử dụng câu hỏi nhận thức trong dạy học phần Chuyển hóa vật chất và...Luận văn: Sử dụng câu hỏi nhận thức trong dạy học phần Chuyển hóa vật chất và...
Luận văn: Sử dụng câu hỏi nhận thức trong dạy học phần Chuyển hóa vật chất và...Dịch vụ viết thuê Luận Văn - ZALO 0932091562
 

Similar to Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf (20)

Thiết kế bộ tách sóng cho truyền thông Mimo-SDM chuyển tiếp hai chiều sử dụng...
Thiết kế bộ tách sóng cho truyền thông Mimo-SDM chuyển tiếp hai chiều sử dụng...Thiết kế bộ tách sóng cho truyền thông Mimo-SDM chuyển tiếp hai chiều sử dụng...
Thiết kế bộ tách sóng cho truyền thông Mimo-SDM chuyển tiếp hai chiều sử dụng...
 
Đánh Giá Chất Lượng Nước Sông Mã Đoạn Chảy Qua Thành Phố Thanh Hóa
Đánh Giá Chất Lượng Nước Sông Mã Đoạn Chảy Qua Thành Phố Thanh Hóa Đánh Giá Chất Lượng Nước Sông Mã Đoạn Chảy Qua Thành Phố Thanh Hóa
Đánh Giá Chất Lượng Nước Sông Mã Đoạn Chảy Qua Thành Phố Thanh Hóa
 
Đánh Giá Chất Lượng Nước Sông Mã Đoạn Chảy Qua Thành Phố Thanh Hóa _083013120...
Đánh Giá Chất Lượng Nước Sông Mã Đoạn Chảy Qua Thành Phố Thanh Hóa _083013120...Đánh Giá Chất Lượng Nước Sông Mã Đoạn Chảy Qua Thành Phố Thanh Hóa _083013120...
Đánh Giá Chất Lượng Nước Sông Mã Đoạn Chảy Qua Thành Phố Thanh Hóa _083013120...
 
Định vị thương hiệu bia Sapporo tại thị trường Thành phố Hồ Chí Minh
Định vị thương hiệu bia Sapporo tại thị trường Thành phố Hồ Chí MinhĐịnh vị thương hiệu bia Sapporo tại thị trường Thành phố Hồ Chí Minh
Định vị thương hiệu bia Sapporo tại thị trường Thành phố Hồ Chí Minh
 
Định vị thương hiệu xi măng Nghi Sơn Dân Dụng tại thị trường thành phố Hồ Chí...
Định vị thương hiệu xi măng Nghi Sơn Dân Dụng tại thị trường thành phố Hồ Chí...Định vị thương hiệu xi măng Nghi Sơn Dân Dụng tại thị trường thành phố Hồ Chí...
Định vị thương hiệu xi măng Nghi Sơn Dân Dụng tại thị trường thành phố Hồ Chí...
 
Luận văn: Đánh giá hiện trạng môi trường khu công nghiệp Đồng Văn I Duy Tiên ...
Luận văn: Đánh giá hiện trạng môi trường khu công nghiệp Đồng Văn I Duy Tiên ...Luận văn: Đánh giá hiện trạng môi trường khu công nghiệp Đồng Văn I Duy Tiên ...
Luận văn: Đánh giá hiện trạng môi trường khu công nghiệp Đồng Văn I Duy Tiên ...
 
Luận văn: Phân tích các nhân tố ảnh hưởng đến ý định mua sản phẩm túi thân th...
Luận văn: Phân tích các nhân tố ảnh hưởng đến ý định mua sản phẩm túi thân th...Luận văn: Phân tích các nhân tố ảnh hưởng đến ý định mua sản phẩm túi thân th...
Luận văn: Phân tích các nhân tố ảnh hưởng đến ý định mua sản phẩm túi thân th...
 
Nghiên cứu mạng nơ ron nhân tạo và ứng dụng vào dự báo lạm phát.pdf
Nghiên cứu mạng nơ ron nhân tạo và ứng dụng vào dự báo lạm phát.pdfNghiên cứu mạng nơ ron nhân tạo và ứng dụng vào dự báo lạm phát.pdf
Nghiên cứu mạng nơ ron nhân tạo và ứng dụng vào dự báo lạm phát.pdf
 
Luận văn: Tổ chức dạy học chương Cảm ứng điện từ vật lí 11, HAY
Luận văn: Tổ chức dạy học chương Cảm ứng điện từ vật lí 11, HAYLuận văn: Tổ chức dạy học chương Cảm ứng điện từ vật lí 11, HAY
Luận văn: Tổ chức dạy học chương Cảm ứng điện từ vật lí 11, HAY
 
Luận văn: Tổ chức dạy học chương Cảm ứng điện từ vật lí 11 THPT theo hướng tă...
Luận văn: Tổ chức dạy học chương Cảm ứng điện từ vật lí 11 THPT theo hướng tă...Luận văn: Tổ chức dạy học chương Cảm ứng điện từ vật lí 11 THPT theo hướng tă...
Luận văn: Tổ chức dạy học chương Cảm ứng điện từ vật lí 11 THPT theo hướng tă...
 
Luận văn: Khảo sát tín hiệu von-ampe hoà tan của đồng, chì, kẽm trên điện cực...
Luận văn: Khảo sát tín hiệu von-ampe hoà tan của đồng, chì, kẽm trên điện cực...Luận văn: Khảo sát tín hiệu von-ampe hoà tan của đồng, chì, kẽm trên điện cực...
Luận văn: Khảo sát tín hiệu von-ampe hoà tan của đồng, chì, kẽm trên điện cực...
 
Luận văn: Khảo sát tín hiệu von-ampe hoà tan của đồng, chì, kẽm
Luận văn: Khảo sát tín hiệu von-ampe hoà tan của đồng, chì, kẽmLuận văn: Khảo sát tín hiệu von-ampe hoà tan của đồng, chì, kẽm
Luận văn: Khảo sát tín hiệu von-ampe hoà tan của đồng, chì, kẽm
 
Sinh tóm tắt cho văn bản trong hệ thống thu thập tin tức tự động
Sinh tóm tắt cho văn bản trong hệ thống thu thập tin tức tự độngSinh tóm tắt cho văn bản trong hệ thống thu thập tin tức tự động
Sinh tóm tắt cho văn bản trong hệ thống thu thập tin tức tự động
 
Công chúng trẻ TP.HCM với việc tiếp nhận các chương trình truyền hình thực tế...
Công chúng trẻ TP.HCM với việc tiếp nhận các chương trình truyền hình thực tế...Công chúng trẻ TP.HCM với việc tiếp nhận các chương trình truyền hình thực tế...
Công chúng trẻ TP.HCM với việc tiếp nhận các chương trình truyền hình thực tế...
 
Đề tài: Thiết kế và chế tạo hệ thống đóng mở cửa tự động sử dụng công nghệ RFID
Đề tài: Thiết kế và chế tạo hệ thống đóng mở cửa tự động sử dụng công nghệ RFIDĐề tài: Thiết kế và chế tạo hệ thống đóng mở cửa tự động sử dụng công nghệ RFID
Đề tài: Thiết kế và chế tạo hệ thống đóng mở cửa tự động sử dụng công nghệ RFID
 
Đo lường mức độ thỏa mãn của cán bộ công nhân viên đối với tổ chức tại Xí ngh...
Đo lường mức độ thỏa mãn của cán bộ công nhân viên đối với tổ chức tại Xí ngh...Đo lường mức độ thỏa mãn của cán bộ công nhân viên đối với tổ chức tại Xí ngh...
Đo lường mức độ thỏa mãn của cán bộ công nhân viên đối với tổ chức tại Xí ngh...
 
Luận văn thạc sĩ vật lí khảo sát phông nền và tối ưu hóa hiệu suất cho hệ phổ...
Luận văn thạc sĩ vật lí khảo sát phông nền và tối ưu hóa hiệu suất cho hệ phổ...Luận văn thạc sĩ vật lí khảo sát phông nền và tối ưu hóa hiệu suất cho hệ phổ...
Luận văn thạc sĩ vật lí khảo sát phông nền và tối ưu hóa hiệu suất cho hệ phổ...
 
Luận văn thạc sĩ vật lí.
Luận văn thạc sĩ vật lí.Luận văn thạc sĩ vật lí.
Luận văn thạc sĩ vật lí.
 
Giải quyết việc làm cho lao động thuộc diện thu hồi đất tại thị xã Điện Bàn, ...
Giải quyết việc làm cho lao động thuộc diện thu hồi đất tại thị xã Điện Bàn, ...Giải quyết việc làm cho lao động thuộc diện thu hồi đất tại thị xã Điện Bàn, ...
Giải quyết việc làm cho lao động thuộc diện thu hồi đất tại thị xã Điện Bàn, ...
 
Luận văn: Sử dụng câu hỏi nhận thức trong dạy học phần Chuyển hóa vật chất và...
Luận văn: Sử dụng câu hỏi nhận thức trong dạy học phần Chuyển hóa vật chất và...Luận văn: Sử dụng câu hỏi nhận thức trong dạy học phần Chuyển hóa vật chất và...
Luận văn: Sử dụng câu hỏi nhận thức trong dạy học phần Chuyển hóa vật chất và...
 

More from Man_Ebook

BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfBÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfMan_Ebook
 
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docTL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docMan_Ebook
 
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfGiáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfGiáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfGiáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfGiáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfGiáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfMan_Ebook
 
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfGiáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfGiáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfMan_Ebook
 
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfGiáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfGiáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfMan_Ebook
 
Giáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfGiáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfMan_Ebook
 
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình web  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình song song  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfGiáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfMan_Ebook
 
Giáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfGiáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfMan_Ebook
 
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdfGiáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdfMan_Ebook
 

More from Man_Ebook (20)

BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfBÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
 
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docTL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
 
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfGiáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfGiáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
 
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfGiáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfGiáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
 
Giáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfGiáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdf
 
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfGiáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfGiáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdf
 
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfGiáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfGiáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
 
Giáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfGiáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdf
 
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình web  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình song song  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfGiáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdf
 
Giáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfGiáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdf
 
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdfGiáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
 

Recently uploaded

powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxAnAn97022
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfTrnHoa46
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................TrnHoa46
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...hoangtuansinh1
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfVyTng986513
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoámyvh40253
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Nguyen Thanh Tu Collection
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptx
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 

Nghiên cứu thuật toán tìm đường bao phủ một nhóm robot di động.pdf

  • 1. i LỜI CAM ĐOAN Tôi cam đoan đây là công trình nghiên cứ ủa riêng tôi trong đó có sự u c giúp đỡ ấ ớ ủ ầy hướ ẫ r t l n c a th ng d n . TS Ngô Lam Trung Các n i dung nghiên c u, s u và k t qu nêu trong lu ộ ứ ố liệ ế ả ận văn là trung thực và ch c ai công b trong b ưa từng đượ ố ất kỳ công trình nào khác. Trong lu n m t s tài li c li t kê t i ph n ận văn, tôi có tham khảo đế ộ ố ệu đã đượ ệ ạ ầ Tài li u tham kh o i lu . Các tài li u tham kh c trích d n trung ệ ả ở cuố ận văn ệ ảo đượ ẫ thực trong luận văn. Hà Nội, ngày… tháng … năm 2016 Tác giả Nguy n Thùy Linh ễ
  • 2. ii LỜI CẢM ƠN Trướ ảm ơn đ ờ c tiên, tôi xin chân thành c TS Ngô Lam Trung ã dành th i gian quý báu, t n tình h ng d n ch b o, góp ý cho tôi trong su t quá trình th c hi ậ ướ ẫ ỉ ả ố ự ện lu t nghi ận văn ố t ệp. Tôi xin đượ ảm ơn sự giúp đỡ ệ ủ ầ c c nhi t tình c a các Th y giáo, Cô giáo trong trườ Đạ ng i học Bách Khoa. Đặ ệt, tôi xin đượ c bi c bày t lòng bi c t i các Th y giáo, Cô giáo ỏ ết ơn sâu sắ ớ ầ trong Vi n Công ngh thông tin và Truy n thông ã tham gia gi ng d y tôi trong ệ ệ ề đ ả ạ quá trình h c t p t ng. Các th ọ ậ ại Trườ ầy cô đã tậ ả ạ n tình gi ng d y, truyền đạ ế t ki n thứ ạ ền đề ận văn. Tôi xin cám ơn các bạ c, t o ti cho tôi hoàn thành lu n sinh viên trong phòng Phòng thí nghi m H ng Máy tính c bi t v i hai b n sinh viên ệ ệ thố và đặ ệ ớ ạ Trần Đức Sơn và ễ ữ ạ ứu irobot đã hỗ ợ Nguy n H u M nh trong nhóm nghiên c tr tôi m i m tôi hoàn thành lu ọ ặ ể t đ ận văn. Cuố ả i cùng, tôi xin chân thành c m ơn các bạn bè, đồ ệ ấ ng nghi p và nh t là gia đình tôi đã quan tâm và tạ ọi điề ệ ố ất, độ ổ ũ ố o m u ki n t t nh ng viên, c v tôi trong su t quá trình h p và nghiên c hoàn thành t t nghi p này. ọc tậ ứu để ốt luận văn tố ệ Xin trân trọ ả ng c m ơn! Hà Nội, ngày 14 tháng 11 năm 2016 Tác giả Nguy n Thùy Linh ễ
  • 3. iii PHỤ LỤC L I CAM ....................................................................................................... i Ờ ĐOAN L ............................................................................................................ ỜI CẢM ƠN ii PHỤ Ụ L C.................................................................................................................. iii DANH MỤ Ẽ C HÌNH V ............................................................................................ vi DANH M VI Ụ Ừ C CÁC T ẾT T T NG Ắ Ậ T VÀ THU Ữ ......................................... viii L U .............................................................................................................1 ỜI MỞ ĐẦ CHƯƠNG 1: TỔNG QUAN.......................................................................................3 1.1. Lý do chọn đề ................................................................................................3 tài 1.2. Giới thiệu mộ ố ệ t s khái ni m liên quan ...............................................................4 1.2.1. ch v là gì?...................................................................................4 Robot dị ụ 1.2.2. Các ng d ng c a robot d ................................................................4 ứ ụ ủ ịch vụ 1.2.3. ng bao ph là gì?..........................................................................5 Tìm đườ ủ 1.3.Các phương pháp giả ế ụ ế ậ ủ i quy t và các công c ti p c n bài toán bao ph .............6 1.3.1. quy .................................................6 Phương pháp giải ết bài toán bao phủ 1.3.2. Các công c p c n bài toán ....................................................................7 ụ tiế ậ 1.4.N tài và k t qu c.........................................................7 ội dung đề ế ả thực hiện đượ 1.4.1. N ..........................................................................................7 ội Dung đề tài 1.4.2. K c..............................................................................7 ết quả thực hiện đượ CHƯƠNG 2: PHƯƠNG PHÁP GIẢ Ế Ủ I QUY T BÀI TOÁN BAO PH ....................9 2.1.Một số phương pháp giải quyết bài toán bao phủ với đơn robot .......................9 2.1.1. n .........................................9 Phương pháp phân chia vùng làm việc cổ điể 2.1.1.1. t toán phân chia theo hình thang............................................10 Thuậ 2.1.1.2. t toán phân chia Boustrophedon ............................................11 Thuậ 2.1.2. ........................................................12 Phương pháp dự ớ a trên lư i ô vuông 2.1.2.1. t toán tràn sóng wavefront .....................................................13 Thuậ 2.1.2.2. ................................................................14 Thuật toán cây bao trùm.
  • 4. iv 2.2.Phương pháp giải quyết sử dụng một nhóm robot ...........................................16 CHƯƠNG 3 Ế Ể Ậ : LÝ THUY T VÀ PHÁT TRI N THU T TOÁN MSTC ................19 3.1.Các tiêu chí đánh giá ........................................................................................19 3.2.Thuậ ủ ớ t toán bao ph v i mộ ự n môi trườ t nhóm robot d a trên cây bao trùm trê ng đã biết......................................................................................................................19 3.2.1. c bao ph ......................................................................................19 Khu vự ủ 3.2.2. t toán MSTC Offline........................................................................20 Thuậ 3.2.2.1. Xây d ng cây bao trùm..................................................................20 ự 3.2.2.2. MSTC Offline không quay lui .......................................................22 3.2.2.3. Phân tích các tiêu chí c t toán..............................................25 ủa thuậ 3.3.Thuậ ủ ớ ộ ới môi trường chưa rõ t toán bao ph v i m t nhóm robot v ....................26 3.3.1. c bao ph ......................................................................................26 Khu vự ủ 3.3.2. t toán ORMSTC...............................................................................27 Thuậ 3.3.3. Phân tích các tiêu chí c t toán........................................................31 ủa thuậ 3.3.3.1. Tính m nh m ................................................................................31 ạ ẽ 3.3.3.2. toàn b .....................................................................31 Tính bao phủ ộ 3.3.3.3. a........................................................................32 Tính không dư thừ 3.4.Đề ấ ả ế ể ậ xu t c i ti n và phát tri n thu t toán MSTC...............................................32 3.4.1. xu t và phát tri n thu t toán ORMSTC d a trên cách t o cây con trên Đề ấ ể ậ ự ạ MSTC-offline.....................................................................................................32 3.4.1.1. c bao ph ............................................................................32 Khu vự ủ 3.4.1.2. ng c n thu t toán.............................................................33 Ý tưở ải tiế ậ 3.4.1.3. Phát tri n thu t toán .......................................................................35 ể ậ 3.4.1.4. Phân tích các tiêu chí c t toán c n .................................38 ủa thuậ ải tiế 3.4.2. n khai thu t toán MSTC - ..........................................................40 Triể ậ Full 3.4.2.1. c bao ph ............................................................................40 Khu vự ủ 3.4.2.2. ng thu t toán .........................................................................41 Ý tưở ậ 3.4.2.3. Phát tri n thu t toán .......................................................................43 ể ậ 3.4.2.4. n .........................47 Phân tích các tiêu chí đánh giá thuật toán cải tiế
  • 5. v CHƯƠNG 4: CÀI ĐẶ Ử Ệ Ậ T VÀ TH NGHI M CÁC THU T TOÁN MSTC...........50 4.1.Giới thi t s m s ệu mộ ố ụ ầ ề công c , ph n m ử ụ d ng................................................50 4.1.1. u v ROS....................................................................................50 Giới thiệ ề 4.1.2. u v Gazebo...............................................................................51 Giới thiệ ề 4.1.3. u robot Kobuki...........................................................................51 Giới thiệ 4.1.4. u Hokuyo ...................................................................................52 Giới thiệ 4.2.Giả ế ế ữ i quy t bài toán giao ti p gi a các robot.....................................................53 4.2.1. V phát sinh ......................................................................................53 ấn đề 4.2.2. ng l p trình socket v t toán MSTC.......................................54 Áp dụ ậ ới thuậ 4.3.V quay lui robot và gi i quy t tính m nh m khi th nghi m thu 57 ấn đề ả ế ạ ẽ ử ệ ật toán 4.3.1. V phát sinh ......................................................................................57 ấn đề 4.3.2. di chuy n cell c ..........59 Áp dụng phương pháp khoảng cách để ển đế ần đi 4.4.V trong tính m nh m c a thu t toán MSTC...........................................60 ấn đề ạ ẽ ủ ậ 4.5.K nghi m ..........................................................................................61 ết quả thử ệ 4.5.1. nghi ng mô ph ng: .................................................61 Thử ệm trên môi trườ ỏ 4.5.2. ng gi l p............................................68 Đánh giá thuật toán trên môi trườ ả ậ 4.5.3. nghi ng th .......................................................69 Thử ệm trên môi trườ ực tế K N...............................................................................................................73 ẾT LUẬ A. K n ............................................................................................................73 ết luậ B. Những điể ưa hoàn thiệ m ch n ...........................................................................73 C. H ng phát tri tài.....................................................................................74 ướ ển đề TÀI LIỆ Ả U THAM KH O.........................................................................................75
  • 6. vi DANH MỤC HÌNH VẼ Hình 1.1: Một ứ ụ ự ng d ng th c tế ủ ị ụ c a robot d ch v .....................................................5 Hình 2.1: Bao ph m t cell hình ch ..........................10 ủ ộ ữ nhật bằng thao tác đi ziczag Hình 2.2: Ví dụ ề ậ v thu t toán phân chia hình thang .................................................11 Hình 2.3: Ví dụ ề ậ v thu t toán BA* ...........................................................................12 Hình 2.4: Ví d i ô vuông v ng ng ụ phương pháp phân chia dựa trên lướ ới hai chướ ại v t..............................................................................................................................13 ậ Hình 2.5: Gán có s cho các ô b ng cách lan truy c sóng v i ô b u (S) và ố ằ ền bướ ớ ắt đầ ô đích (G). .................................................................................................................14 Hình 2.6: K ho ch bao ph s d ng bi i kho ng cách v i thu t toán wavefront ế ạ ủ ử ụ ến đổ ả ớ ậ ...................................................................................................................................14 Hình 2.7: Phân chia cell trong thuật toán cây bao trùm............................................15 Hình 2.8: Đườ ủ ủ ụ ậ – ng bao ph c a robot khi áp d ng thu t toán Spiral STC...............16 Hình 2.9: Robot th c hi n bao ph m t cell theo thu t toán phân chia ự ệ ủ ộ ậ boustrophedon s d ng nhóm robot..........................................................................18 ử ụ Hình 3.1: Xây dựng cây bao trùm.............................................................................22 Hình 3.2: Đường đi cho đa robot ..............................................................................23 Hình 3.3: Nhóm robot sử ụ ậ d ng ORMSTC trên thu t toán Spiral- ....................34 STC Hình 3.4: Nhóm robot s d ng MSTC- Offline........................................................35 ử ụ Hình 3.5: (a): C nh có hai phía; (b): C nh có m t phía; (c): G cell m ạ ạ ộ ấp đôi nút ở ất k c b ............................................................................................................41 ết nối cụ ộ Hình 3.6: V g p ph n MSTC-full................................................42 ấn đề ặ ải khi thực hiệ Hình 3.7: Các subcell c ........................................................43 ủ ợ ịnh nghĩa a cell đư c đ Hình 3.8: V g p ph n i c ..............................................46 ấn đề ặ ải khi cell mất kế ố ục bộ Hình 3.9: Vấn đề ặ ả g p ph i khi cell m t k ấ ế ố ụ n i c c bộ ..............................................47 Hình 4.1: Robot Kobuki............................................................................................52 Hình 4.2: Laze Hokuyo.............................................................................................53 Hình 4.3: Mô hình client- d ng ..................................................................54 server sử ụ
  • 7. vii Hình 4.4: Tình huố ế ng robot ch t n m gi ằ ữa hai subcell.............................................58 Hình 4.5: Tình huố ố ể giúp robot đã chế ng robot còn s ng không th t ........................61 Hình 4.6: Sơ đồ ệ ố ể khai trong môi trườ ỏ h th ng khi tri n ng mô ph ng ......................62 Hình 4.7: Sơ đồ ấu trúc chương trình c ......................................................................63 Hình 4.8: Thuậ ạ ớ t toán MSTC_Offline ch y v i 2 robot.............................................65 Hình 4.9: Thuậ ạ t toán ORMSTC ch y v i 2 robot.....................................................65 ớ Hình 4.10: Thuậ ạ ớ t toán MSTC ch y v i 2 robot ........................................................66 Hình 4.11: Thuậ ạ t toán MSTC-full ch y v i 2 robot .................................................66 ớ Hình 4.12: Thuậ ạ t toán MSTC-full ch y khi bi p th i robot ch t ........................67 ết kị ờ ế Hình 4.13 Thu t toán MSTC-full ch y xong và th c hi n ki ậ ạ ự ệ ểm tra để quay lui để bao ph cho robot l i.................................................................................................68 ủ ỗ Hình 4.14: Sơ đồ ệ ố ển khai trong môi trườ ự ế h th ng khi tri ng th c t ..........................70 Hình 4.15: Hình ả ạ ậ ự nh ch y thu t toán trong th c tế...................................................72
  • 8. viii DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ Thuật ng /Ch t t ữ ữ ế vi ắt Viế ầy đủ t đ STC Spanning Tree Coverage BA* Boustrophedon online A* search MSTC Multi-robot Spanning Tree Coverage ORMSTC On- Robust Multi-robot STC line IFR The International Federation of Robotics CPP Coverage Path Planning ROS Robot Operating System
  • 9. 1 LỜI MỞ ĐẦU Ý tưở ề ệ ế ạ ỗ ể ệ ự độ ừ ờ ổ đạ ng v vi c ch t o các c máy có th làm vi c t ng có t th i c i, nhưng nhữ ứ ề ức năng và khả năng ứ ụng không có bướ ế ng nghiên c u v ch ng d c ti n nào đáng kể cho đế ế ỷ ố ị ử ọc thường đượ n th k 20. Xuyên su t l ch s , robot h c nhìn nh b c hành vi c ng qu n lý các nhi m v ận là để ắt chướ ủa con người, và thườ ả ệ ụ theo cách thức tương tự. Ngày nay, robot là m c phát tri n nhanh chóng, nh công ngh phát ột lĩnh vự ể ờ ệ triể ục, robot đã đượ ế ạo để ụ ụ ề ục đích khác nhau. n liên t c ch t ph c v cho nhi u m Nhiều robot đã thay con ngườ ữ ệc độ ại như tháo ngòi nổ i làm nh ng công vi c h bom, mìn, thăm dò các con tàu bị đắm, đi vào thu thậ ở ững nơi độ ạ p thông tin nh c h i, có phóng x ,.... Vi c s d gi i quy t bài toán bao ph ng d ng ạ ệ ử ụng robot để ả ế ủ đã được ứ ụ r t nhi u trong th c ti n. m v c a robot là tìm ki m và di chuy ấ ề ự ễ Nhiệ ụ ủ ế ể ộ n theo m t thuật toán nào đó nhằ ủ đượ ế ực đượ ự ệ ủ m bao ph c h t khu v c giao. Khu v c làm vi c c a robot có th a nh ng v t c n. Robot có th ng b các c m bi n ho c các ể chứ ữ ậ ả ể được trạ ị ả ế ặ thi t b tr tr ế ị ỗ h ợ khác để ỗ h ợ ệ cho công vi c c a mình. ủ Những năm gần đây, sử ụ ề ủ d ng nhóm nhi u robot trong bài toán bao ph ngày càng đượ ở ệ ả ạ ẽ ủa nó. Lý do đầ ở c quan tâm b i tính hi u qu và m nh m c u tiên là b i nhi u robot có th hoàn thành nhi m v i m t robot, b ng cách ề ể ệ ụ nhanh hơn so vớ ộ ằ phân chia khu v c làm vi c gi a chúng. Lý do th hai là b i s d ng nhóm robot có ự ệ ữ ứ ở ử ụ thể đả ảo đượ ệ ệ ốt hơn. Khi nhiều robot đượ ử m b c vi c hoàn thành xong công vi c t c s d ng, gi s có m t thành viên b l i và không th hoàn thành ph n vi ụ ả ử ộ ị ỗ ể ầ ệc mình được giao, các đồ ệ ủ ể ỗ ợ để ẫn đả ng nghi p khác c a nó có th h tr v m b o công vi c chung ả ệ được hoàn thành. T mong mu n mu n th nghi m m t thu ng bao ph ừ ố ố ử ệ ộ ật toán tìm đườ ủ cho nhóm robot, trong lu p trung nghiên c u, tìm hi u, gi i quy ận văn này tậ ứ ể ả ế ữ t nh ng v c ấn đề ụ thể như sau: - Tìm hi u t ng quan v ng bao ph . ể ổ ề các thuật toán tìm đườ ủ - Nghiên c u, tìm hi u lý thuy t v t toán tìm bao ph STC v i nhóm robot ứ ể ế ề thuậ ủ ớ (thuật toán MSTC).
  • 10. 2 - L p trình thu ng bao ph STC v ậ ật toán tìm đườ ủ ới nhóm robot trong môi trường đượ ế ớ c bi t trư c (Offline - MSTC). - L p trình phát tri n thu ng Online-MSTC). ậ ể ậ ờ t toán MSTC trên môi trư chưa biết ( Thự ệ ạ ử ệ ế ả đã lập trình được trong môi trườ c hi n ch y th nghi m k t qu ng mô ph ng th ỏng và trong môi trườ ực tế C u trúc này g m b n i nh ng n ấ luận văn ồ ố chương vớ ữ ội dung chính như sau: Chương 1: ổ T ng quan - Lý do chọn đề . tài - Giớ ệ ộ ố ệ i thi u m t s khái ni m liên quan. - Giớ ệ các phương pháp giả ế ụ ế ậ i thi u i qu t và các công c ti p c n bài toán bao ph . ủ - N i dung và k c ộ ết quả thực hiện đượ Chương 2: ơ sở ế C lý thuy t - Trình bày các phương pháp tiế ậ ả ế ủ ớ p c n gi i quy t bài toán bao ph v i m . ột robot - Trình bày p c n gi i quy t bài toán bao ph v các phương pháp tiế ậ ả ế ủ ới nhóm robot. Chương ế ể ậ 3 Lý thuy : t và phát tri n thu t toán MSTC. - Giớ ệ i thi u các tiêu chí đánh giá. - Thuậ ủ ớ ộ ự t toán bao ph v i m t nhóm các robot d a trên cây bao trùm trên môi trường đã biết. - Thuậ ủ ớ ộ ới môi trường chưa rõ t toán bao ph v i m t nhóm robot v - Đề ấ ậ xu t thu t toán MSTC Chương ử ệ ỏ ự ế 4 Th : nghi m trong mô ph ng và trong th c t - Giớ ệ ộ ố ụ ầ ề ử ụng để ể i thi u m t s công c , ph n m m s d phát tri n. - Trình bày các vấn đề ậ ậ phát sinh khi l p trình thu t toán MSTC. - Trình bày nhữ ế ả đạ ợ ử ệ ỏ ng k t qu t đư c khi th nghi m trong mô ph ng và trong thực tế.
  • 11. 3 CHƯƠNG 1 TỔNG QUAN . 1.1. Lý do ch tài ọ ề n đ Luận văn này có nộ ề ứ ử ệ ật toán tìm đườ i dung v nghiên c u và th nghi m thu ng bao ph MSTC v i nhóm robot. ủ ớ Lý do lựa chọn đề ể ồ tài này có th bao g m nh ng lý do sau: ữ - Cùng v i s phát tri n c a công ngh , càng ngày vi c s d giúp ớ ự ể ủ ệ ệ ử ụng robot để đỡ con ngườ ộ ống càng đượ ổ ế Robot giúp cũng là đang i trong cu c s c ph bi n. d n tr thành m t s n ph m công ngh không th u trong cu c s ng c ầ ở ộ ả ẩ ệ ể thiế ộ ố ủa con ngườ au nhà ra đời như mộ ấ i. Robot l t t t yế ủ ộ ố u c a cu c s ng giúp con ngườ ỏ ữ ệ ấ ặp đi lặ ạ i thoát kh i nh ng công vi c có tính ch t l p l i, nhàm chán. - Các bài toán bao ph robot có th hoàn thành nhi m v làm ủ được đưa ra để ể ệ ụ s ng th p v i các v t c n trong quá trình di chuy n. K ạch đồ ời không va đậ ớ ậ ả ể ế ho ng bao ph (Coverage Path Planning - CPP) là nhi m v tìm ra ạch tìm đườ ủ ệ ụ đường đi có thể đi qua tấ ả các điể t c m c n thi t trong m t vùng ho c không ầ ế ộ ặ gian cho trướ ạnh đó cũng phải tránh đượ ữ ậ ả ệ c, bên c c nh ng v t c n. Công vi c này là c n thi t cho r t nhi ng d ng ví d i, lau nhà, ầ ế ấ ều ứ ụ ụ như các robot hút bụ sơn tườ ẽ ng, v tranh, robot dò mìn, máy c , máy làm s ,... ắt cỏ ạch cửa sổ - V i khu v c bao ph r ng l n khi th c hi n v i ch m t robot duy nh t s ớ ự ủ ộ ớ ự ệ ớ ỉ ộ ấ ẽ g p nhi u v x i hay i gian th c hi n công ặ ề ấn đề ẩy ra như khi robot đó lỗ thờ ự ệ vi p c n là s d ng nhi u robot ho ng song song, nh ệc. Phương pháp tiế ậ ử ụ ề ạt độ ờ đó cho phép rút ngắ ờ ủ ệ ằ n th i gian bao ph không gian làm vi c b ng cách phân chia công vi c cho t ng robot. Hay còn g ng bao ph ệ ừ ọi là bài toán tìm đườ ủ cho m nhóm robot. ột V m t công ngh tác gi n: ề ặ ệ ả muố - Tìm hi u l p trình nhúng. ể ậ - Tìm hi u v ng. ể ề các thuật toán tìm đườ - Tìm hi u cách th c giao ti p gi a các robot. ể ứ ế ữ - Thự ậ c hành l p trình cho robot.
  • 12. 4 1.2. Gi i thi ớ ệ ộ u m t số ệ khái ni m liên quan 1.2.1. ch v là gì? Robot dị ụ Robot d ch v là lo i robot h , th c hi i trong các công ị ụ ạ ỗ trợ ự ện thay con ngườ vi c; ví d c có tính ch t l p l i, các công vi c trong nhà, công ệ ụ như công việ ấ ặp đi lặ ạ ệ vi c ph i th c hi n nh ng ch n, nguy hi ng ệ ả ự ệ ở ữ ỗ dơ bẩ ểm,…. Những robot này thườ được điề ể ự độ ở ộ ệ ống điề ể ợp được cài đặ ủ u khi n t ng b i m t h th u khi n tích h t th công bên trong. Thu t ng ch v ậ ữ “Robot dị ụ” không có một định nghĩa chính xác. Liên đoàn Robot Quố ế – IFR) đã đề ấ c T (The International Federation of Robotics xu t m t robot d ch v là m t robot mà ho ng bán t ột định nghĩa: Mộ ị ụ ộ ạt độ ự động hoặc hoàn toàn t c hi n các d ch v h u ích cho c i và thi t b ự động để thự ệ ị ụ ữ ủa con ngườ ế ị, không bao g m các ho ng s n xu ồ ạ ộ t đ ả ất. 1.2.2. a robot d ch v Các ứng dụng củ ị ụ Ứ ụ ể ủ ủ ếu là để ỗ ợ ệ ủ ng d ng có th có c a robot ch y h tr trong công vi c c a con ngườ ệ ứ ụ ộ ố ực như sau: i. Hi n nay có các ng d ng trong m t s lĩnh v - Ứ ụ ệ ị ụ ệ ể ợ ử ng d ng trong công nghi p: Robot d ch v công nghi p có th đư c s d c hi n các nhi m v n, ch ng h m tra hàn. Nó ụng để thự ệ ệ ụ đơn giả ẳ ạn như kiể cũng có các nhiệ ụ ứ ạp hơn, thự ệ ác môi trườ ắ m v ph c t c hi n trong c ng kh c nghi t, ch ng h trong vi c tháo d ệ ẳ ạn như giúp đỡ ệ ỡ các nhà máy điệ ạ n h t nhân. Robot cũng có thể được dùng để ự ệ ững hành độ ặp đi th c hi n nh ng l l p l p ráp, th n các công vi ặ ại như lắ ực hiệ ệc tự động hóa khác. Nhưng robot đượ ử ụ ệp đượ ọ ệ c s d ng trong công nghi c g i là "Robot công nghi p". - Ứ ụ ạ ệ ng d ng trong các nhà hàng, quán bar, khách s n: Hi n nay, nhi u nhà ề hàng, quán bar, khách s d ng robot d ch v . Các công vi c mà ạn đã sử ụ ị ụ ệ robot có th c hi n ví d n d p, pha ch u ng ph c t p, ể thự ệ ụ như dọ ẹ ế các đồ ố ứ ạ hay m chí là ti thậ ếp đón khách hàng. - Ứ ụng trong gia đình: Robot trong gia đình thự ệ ệ ụ ng d c hi n nhi m v mà con người thườ ự ện xung quanh nhà như lau chùi sàn nhà, cắ ng xuyên th c hi t c , d n d p h ,... C a m i qu n ỏ ọ ẹ ồ bơi húng cũng có thể đóng vai trò củ ột ngườ ả gia trong gia đình.
  • 13. 5 - Ứ ụ ọ ệ ố ự ệ ề ức năng như ng d ng trong khoa h c: H th ng robot th c hi n nhi u ch tiế ặp đi lặ ạ ứ ữ ự độ n hành các thao tác l p l i trong nghiên c u. Nh ng robot t ng cũng có thể ự ệ ệ ụ ọc mà con ngườ ặ th c hi n các nhi m v khoa h i khó ho c không th c hi n, ví d các vùng bi n sâu, không gian bên ngoài ể thự ệ ụ như ể Trái Đất.... Hình 1. 1: M ng d ng th c a robot d ch v ột ứ ụ ực tế ủ ị ụ 1.2.3. ng bao ph là gì? Tìm đườ ủ Tìm đườ ủ ệ ụ ng bao ph (Coverage Path Planning - CPP) là nhi m v tìm ra đường đi có thể đi qua tấ ả các điể ầ ế ộ ặ t c m c n thi t trong m t vùng ho c không gian cho trướ ạnh đó cũng phải tránh đượ ữ ậ ả ệ ầ c, bên c c nh ng v t c n. Công vi c này là c n thiế ấ ề ứ ụ ụ như các robot hút bụi, lau nhà, sơn tườ t cho r t nhi u ng d ng robot, ví d ng, v tranh, robot dò mìn, máy c t c , máy làm s ch c a s . Nhi m v mà robot khi ẽ ắ ỏ ạ ử ổ ệ ụ thực hiệ ệc này đượ ặ ầu như sau: n công vi c đ t ra theo các yêu c - Robot ph t c m và bao ph vùng m c tiêu c n quét m ải đi qua tấ ả các điể ủ ụ ầ ột cách hoàn thiện. - i th n di chuy Robot phả ực hiệ ển mà không được đè các vùng quét lên nhau. - Các n liên t n t l p l tác vụ thực hiệ ục và tuầ ự mà đường đi không bị ặ ại. - c các v n. Robot phải tránh đượ ật cả - S d ng qu ử ụ ỹ o di chuy ng ho c vòng tròn...). đạ ển đơn giản (đi thẳ ặ - B ng d n tùy ch n khi có th . ổ sung các đườ ẫ ọ ể T t c nh u ki n trên không ph i lúc nào ấ ả ững điề ệ ả cũng có thể đáp ứng được, nh ng ph c t p. Vì v ất là trong môi trườ ứ ạ ậy mà đôi lúc các mức ưu tiên khác nhau ứ ớ ỗi điề ệ ần đượ ắ ếp để ỏ ợ ệ ự ệ ng v i m u ki n c c s p x th a mãn cho phù h p. Vi c th c hi n
  • 14. 6 gi ng h p t ng quát hay áp d ng th c t không ph ải bài toán tìm đường trong trườ ợ ổ ụ ự ế ải là điề ễ ể ể ở đây mộ ố ụ như: bài toán “Người bán hàng” u d dàng, có th k ra t s ví d (Covering/Travelling Salesman problem), bài toán “Phòng trưng bày” (Art Gallery problem) hay bài toán “Người đi tuần tra” (Watchman Route problem) đều là các bài toán có liên h n yêu c u là nh ng bài toán NP-khó. ệ đế ầu tìm đường, chúng đề ữ Các thu t toán bao ph có th c phân lo i thành thu t toán bao ph t ậ ủ ể đượ ạ ậ ủ ối ưu ho c bao ph ặ ủ đầy đủ ế ả năng bao phủ ộ ệ ủ ậ . N u kh toàn b vùng làm vi c c a thu t toán đượ ứ ặ ẽ ật toán đượ ọ ủ đầy đủ. Trong trườ c ch ng minh ch t ch thì thu c g i là bao ph ng h c l i, n u thu t toán nh m t n tích bao ph u ki n ợp ngượ ạ ế ậ ằ ối đa hóa diệ ủ trong điề ệ robot ch u các ràng bu i gian ho ng, ngu c và ị ộc như thờ ạt độ ồn năng lượng, kích thướ không th m b o bao ph toàn b vùng làm vi c, thì thu c g i là bao ể đả ả ủ ộ ệ ật toán đượ ọ ph t ủ ối ưu. Các thu t toán bao ph c phân thành hai lo i on-line và off- ậ ủ cũng có thể đượ ạ line. Thu t toán off-line ho ng d ậ ạt độ ựa vào các thông tin tĩnh và các thông tin về môi trườ ầ ủ ải đượ ết trướ ạt động. Ngượ ạ ng c n bao ph ph c bi c khi robot ho c l i, các thuậ ầ ết trướ ẽ ự xác đị t toán on-line không c n bi c các thông tin này, mà robot s t nh các thông tin v ng theo th i gian th c d a vào các c m bi c g n trên ề môi trườ ờ ự ự ả ến đượ ắ robot. Do đó, các thuậ ạ độ ạ t toán on-line cho phép robot ho t ng linh ho t ngay c v ả ới các môi trườ ết trướ ậ ử ng mà robot hoàn toàn không bi c. Các thu t toán on-line có s d ng các c m bi n m c tiêu nên trong m t s ng h p còn ụ ả ến để đánh giá và đi đế ụ ộ ố trườ ợ có th c g ể đượ ọi là gi m bi ả ậ ủ ự ả i thu t bao ph d a trên c ến. 1.3. Các phương ả ế ụ ế ậ ủ pháp gi i quy t và các công c ti p c n bài toán bao ph 1.3.1. i quy t bài toán bao ph Phương pháp giả ế ủ Có ba hướng chính để ả gi i quyế ủ, đó là: t bài toán bao ph - Phương pháp phân chia vùng làm việ ổ ể c c đi n. - Phương pháp dự ớ a trên lư i ô vuông. - Phương pháp sử ụ d ng nhóm robot. K t h p hai hay nhi ng gi i quy ế ợ ều hướ ả ế ở trên để ả t gi i quyế ủ t bài toán bao ph . MSTC chính là thu t toán d p c n vùng bao ph ậ ựa trên phương pháp tiế ậ ủ thành lưới
  • 15. 7 các ô theo thu t toán cây bao trùm STC và k t h p s d ng m bao ậ ế ợ ử ụ ột nhóm robot để ph . ủ Thuật toán MSTC đượ ử ụng trên các môi trường đã biết hay chưa biế c s d t có thể ọ g i chúng là Offline -MSTC và Online-MSTC. 1.3.2. n bài toán Các công cụ tiếp cậ Các công c p c n bài toán g ụ tiế ậ ồm: - t th nghi m thu ng mô ph ng Tiến hành cài đặ ử ệ ật toán trên môi trườ ỏ Gazebo có vật cản. - S d ng ROS phiên b n Indigo trên h u hành Ubuntu 14.04. ử ụ ả ệ điề - C++ Ngôn ngữ - K i các nhóm robot b ng Client Server trên C++ ết nố ằ – - Chạy trên môi trườ ự ế ớ ng th c t v i robot Kobuki. 1.4. N và k t qu c hi c ội dung đề tài ế ả thự ệ ợ n đư 1.4.1. Nội Dung đề tài N này trình bày chi ti ng v ội dung đề tài ết nhữ ấn đề như sau: - Tìm hi u t ng quan v i quy : ể ổ ề các phương pháp giả ết bài toán bao phủ - Tìm hi u và nghiên c u thu ng bao ph cho nhóm ể ứ ật toán tìm đườ ủ MSTC robot (MSTC-Offline và ORMSTC). - xu t toán MSTC m i cho nhóm robot. Đề ất thuậ ớ - t th nghi m thu ng mô ph ng Gazebo Tiến hành cài đặ ử ệ ật toán trên môi trườ ỏ và trên môi trườ ậ ớ ng th t v i robot Kobuki. 1.4.2. K t qu c hi c ế ả thự ệ ợ n đư Cho t i th m hi n t i, tác gi c hi c nh ng công vi ớ ời điể ệ ạ ả đã thự ện đượ ữ ệc như sau: - Tìm hi u v các công c h trong l p trính nhúng. ề ề ụ ỗ trợ ậ - Tìm hi u v i quy ể ề các phương pháp giả ế ủ ể ề ộ ố t bài toán bao ph , hi u v m t s thuậ ủ ể ớ ộ t toán bao ph tiêu bi u v i m t robot. - Tìm hi u v i quy t bài toán bao ph MSTC tiêu bi u là ể ề các phương pháp giả ế ủ ể MSTC-Offline và ORMSTC.
  • 16. 8 - xu pháp gi i quy t MSTC m i v ng có v t c Đề ất các phương ả ế ớ ới môi trườ ậ ản 2x2 và môi trườ ậ ả ng v t c n 1x1. - nghi m l p trình thu t toán trên thu t toán xu MSTC v i nhóm Thử ệ ậ ậ ậ đề ất ớ robot, sau đó tiế ạ ử ệm và thu đượ ế ả n hành cho ch y th nghi c k t qu : o Chạy ng h p thu t toán ch y b ng, không có robot nào được trườ ợ ậ ạ ình thườ b h ng mô ph ng Gazebo. ị ỏng trong môi trườ ỏ o X c m t s ng h p có robot ch ng mô ph ng ử lý đượ ộ ố trườ ợ ết trong môi trườ ỏ Gazebo. - Chạy được trườ ợp bình thườ ị ỏ ng h ng, không có robot nào b h ng trong môi trườ ự ế ng th c t .
  • 17. 9 CHƯƠNG 2 PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN BAO PHỦ . K ho ch bao ph bao ph là m t nhi m v quan tr i v i robot, v ế ạ ủ ủ ộ ệ ụ ọng đố ớ ới nhi u ng d ng th c ti n ch ng h làm s , c t c , khai thác, thu ho ch, ề ứ ụ ự ễ ẳ ạn như ạch sàn ắ ỏ ạ sơn, và làm sạ ấ ả ể ại đây, robot được đưa ra mộ ch các ch t th i nguy hi m,... T t công vi c trong m t vùng b n, có th có nh ng ng i v t, tr ng i. ệ ộ ị chặ ể ững chướ ạ ậ ở ạ Robot được gi nh có m t công c k t h p c a m t hình d ng nh ng là các c ả đị ộ ụ ế ợ ủ ộ ạ ất định thườ ảm bi n và/ho c thi t b truy câp theo vùng tu n t . Robot c n ph c các ế ặ ế ị ầ ự ầ ải “thăm” tất ả điể ự ệc. Thường thì kích thướ ụ ủ ỏ hơn m trong khu v c làm vi c công c c a robot nh nhi u so v i khu v c làm vi c c a nó. Nhi m v c a robot là tìm ki m và di chuy n ề ớ ự ệ ủ ệ ụ ủ ế ể d c theo m ng sao cho nó bao ph c g i là tìm ọ ột con đườ ủ hoàn toàn. Đôi khi đượ ọ ki m hoàn toàn vùng, ho là quét. ế ặc có thể 2.1. Một số phương pháp giải quyết bài toán bao phủ với đơn robot Thuậ ủ đơn giả ất là điề ển robot đi mộ ẫ t toán bao ph n nh u khi t cách ng u nhiên trong vùng làm vi c. Theo cách ti p c n này, rõ ràng n u robot ho ng trong m ệ ế ậ ế ạt độ ột th t ời gian đủ ộ ệ ủ ẽ đượ ủ. Đây là thuậ lâu thì toàn b vùng làm vi c c a robot s c bao ph toán đượ ử ụ ề ụi như Trilobite củ ổ c s d ng trong nhi u robot hút b a Electrolux và n i tiế ấ ủa iRobot. Đặc điể ủa phương pháp này là đơn giả ng nh t là Roomba c m c n, không c n tính toán ph c t p và không c n các c m bi t ti n trên robot. Tuy ầ ứ ạ ầ ả ến đắ ề nhiên, phương pháp này tỏ ệ ả ế ệ ủ ra không hi u qu n u vùng làm vi c c a robot có kích thướ ớ ứ ề ậ ả ế ấ ứ ạp. Khi đó chi phí hoạt độ ủ c l n và ch a nhi u v t c n có k t c u ph c t ng c a robot tính theo th i gian và ng tiêu th nên r t l n không th p nh ờ năng lượ ụ trở ấ ớ ể chấ ận đượ ự ế c trên th c t . Trên th gi t nhi u nghiên c u nh m gi i quy ế ới đã có rấ ề ứ ằ ả ế ệ ả t hi u qu bài toán tìm đường đi bao phủ ứ ể đượ ệ hướ . Các nghiên c u này có th c li t kê vào ba ng chính như sau: 2.1.1. chia vùng làm vi n Phương pháp phân ệc cổ điể Đây là nhóm phương pháp cổ điể ấ ể là điể ởi đầu để n nh t, có th xem m kh xây d n là phân chia toàn b ựng các nhóm phương pháp mới hơn về sau. Ý tưởng cơ bả ộ vùng làm vi c c n, không ch ng l n, và không ch ệ ủa robot thành các cell đơn giả ồ ấ ứa
  • 18. 10 v t c n. T ng di n tích các cell này b ng di n tích mà robot ph i bao ph ậ ả ổ ệ ằ ệ ả ủ. Do đó, bài toán tìm đường đi bao phủ ở ệ ủ tr thành bài toán phân chia vùng làm vi c c a robot thành các cell. Vì các cell không ch a v t c n, nên robot có th d dàng bao ph ứ ậ ả ể ễ ủ t ng cell b ng cày ho c quét theo ừ ằng các thao tác đơn giản như quét kiểu ziczag đườ ặ vòng tròn. Công vi c c có th bao ph c h t các cell ệ ủa các robot là làm sao để ể ủ đượ ế đó, và việc di chuyể ữ ể ối ưu nhấ ể n gi a các cell sao cho có th t t có th . Hình t cell hình ch t b 2.1: Bao ph m ủ ộ ữ ậ nh ằng thao tác đi ziczag 2.1.1.1.Thuật toán phân chia theo hình thang Đây là thuậ ậ ầ ết thông tin môi trườ ệ t toán off-line. Thu t toán c n bi ng làm vi c để ự ệ ệ ồ th c hi n phân chia vùng làm vi c thành các thành các hình thang, không ch ng chéo lên nhau. Vi c phân chia các hình thang hình thành d a trên chia theo tr ệ ự ục tung ho c tr hình 2.2 k ra quan h ặ ục hoành như ở dưới đây. Sau đó một đồ thị ề chỉ ệ v m t không gian gi a các cell s c hình thành. T o bao ph toàn ề ặ ữ ẽ đượ ừ đó để đảm bả ủ b vùng làm vi c, robot c n tìm ra m t c k . ộ ệ ầ ột đường đi qua tấ ả các cell trên đồ thị ề Cu i cùng, robot th c hi ng ziczag t i m i cell, và di chuy n gi a các ố ự ện đi theo đườ ạ ỗ ể ữ cell theo đúng thứ ự ỉ ra trong đường đi đã xác định trên đồ ị ậ t ch th . Thu t toán hình thang i các vùng làm vi [1] khá hi u qu v ệ ả ớ ệc đơn giả ạng đa giác. n d
  • 19. 11 Hình 2. 2: Ví d v ụ ề thuật toán phân chia hình thang 2.1.1.2.Thuật toán phân chia Boustrophedon Thuậ ự ật toán trên và đượ t toán d a trên thu c ứ ụ ề ậ ng d ng khá nhi u là thu t toán phân chia boustrophedon còn đượ ọ ật toán đườ c g i là thu ng cày [1]. Thu t toán này ậ tương tự ớ ậ án phân chia hình thang nhưng cho phép nố ề v i thu t to i các cell k nhau mà robot có th quét b i m ng ziczag l i. Trong thu t toán này, m nh ch ể ở ột đườ ạ ậ ột đỉ ỉ đượ ể ở ộ ả ống dướ ậ c xem xét khi nó có th m r ng c lên trên và xu i. Thu t toán boustrophedon phát tri c k t h p vi c xây d thì A* tiêu bi ển đượ ế ợ ệ ựng lưới đồ ểu như thu môi ậ ật toán đượ ụ ể ủ t toán BA*. Thu c áp d ng phát tri n trong bài toán bao ph trường chưa biế ậ ủ ậ ệ t, thu t toán bao ph on-line. Trong thu t toán này, vùng làm vi c c a robot s c chia thành các vùng boustrophedon có hình d ng ph c t p mà ủ ẽ đượ ạ ứ ạ robot có th bao ph trong m t l n quét. Thu t toán BA* th c hi n tìm ki m các ể ủ ộ ầ ậ ự ệ ế vùng boustrophedon ngay trong quá trình robot chạy, đồ ời đưa ra cơ chế ng th quay lui để đả ả ấ ả các vùng boustrophedon đều đượ ấ m b o t t c c tìm th y và không gian làm vi c c c bao ph toàn b . Hình ệ ủa robot đượ ủ ộ ở dưới đây mô tả ộ ụ m t ví d phân chia các vùng boustrophedon d a vào thu t toán BA* v i b t 1 ự ậ ớ ốn vùng được đánh số ừ tới 4 và quỹ o di chuy đạ ển tương ứ ủ ng c a robot.
  • 20. 12 Hình 2. 3: Ví d v ụ ề thuật toán BA* 2.1.2. i ô vuông Phương pháp dựa trên lướ Tìm đường đi bao phủ ựa trên lướ là hướ ế ậ ạ d i (grid-based) [1] ng ti p c n m nh và đượ ề ấ ả ết bài toán tìm đường đi bao phủ. Phương c quan tâm nhi u nh t khi gi i quy pháp này th hi n toàn b ng làm vi c c a robot trên m t b d ể ệ ộ môi trườ ệ ủ ộ ản đồ ạng lưới ô vuông. M i nh n m t giá tr cho bi t t i v ng ng i v ỗi ô trên lướ ậ ộ ị ế ạ ị trí ô đó là chướ ạ ật hay vùng không gian tr ng. Toàn b i cho bi t hình d ng x p x c a không gian ố ộ lướ ế ạ ấ ỉ ủ ho ng c ng ng i v t bên trong. Hình m t ví ạt độ ủa robot và các chướ ạ ậ dưới đây mô tả ộ d b i ô vuông v i hai v t c c c a m ng b ng ụ ản đồ lướ ớ ậ ản. Kích thướ ủ ỗi ô vuông thườ ằ kích thướ ủ ặ ấ ần kích thướ c c a robot ho c là g p hai l c robot.
  • 21. 13 Hình 2. 4: Ví d i ô vuông v i ng ụ phương pháp phân chia dựa trên lướ ớ hai chướ ngại vật 2.1.2.1.Thuật toán tràn sóng wavefront Đây ậ ử ụng lưới đạ ện môi trườ ới kích thướ là thu t toán off-line, s d i di ng v c g p hai l c robot. Thu t toán wavefront l p k ho ch bao ph hoàn thành ấ ần kích thướ ậ ậ ế ạ ủ vào lưới điện trên. Phương pháp này đòi hỏ ả ắt đầ ụ ự i ph i có ô b u và ô m c tiêu. S thay đổ ả ằ ề ừ ụ đế ắt đầ ử i kho ng cách b ng cách lan truy n sóng t ô m c tiêu n ô b u s d nh s i ph n t u tiên thu t toán gán nhãn s ụng để chỉ đị ố đặc trưng cho mỗ ầ ử lưới. Đầ ậ ố 0 cho ô m 1 cho t t c các ô xung quanh ô . Quá ục tiêu và sau đó gán nhãn số ấ ả mà đó trình đượ ự ện tương tự ớ ạ ặp đi lặ ạ ừ c th c hi v i các ô còn l i. Quá trình này l p l i t ng bước cho đế ấ ả các ô đượ ộ ố ụ ể. Quá trình đó đượ ọ n khi t t c c gán m t s nhãn c th c g i là quá trình transform (trán sóng). Hình 2.5 ví d hi n minh h a quy trình này trên ụ thể ệ ọ m ng [1]. Khi chuy i kho c tính toán xong, k ho ch bao ột môi trườ ển đổ ảng cách đượ ế ạ ph có th c tìm th y b ng cách b u t các ô b u và l a ch n các ô lân ủ ể đượ ấ ằ ắt đầ ừ ắt đầ ự ọ c n v i các nhãn cao nh u có hai ho c nhi u ô lân c n ậ ớ ất chưa được thăm. Nế ặ ề ậ chưa được thăm chia sẻ ộ ột trong các ô đượ ọ ẫ cùng m t nhãn, thì m c ch n ng u nhiên. Hình 2.6 hi n k ho ch bao ph thể ệ ế ạ ủ thuật toán transform.
  • 22. 14 . Hình 2 5: Gán có s cho các ô b ng cách lan truy c sóng v i ô b u (S) ố ằ ề ớ n bư ớ ắ ầ t đ và ô đích (G). Hình 2. 6: K ch bao ph s d i kho ng cách v i thu t toán ế hoạ ủ ử ụng biế ổ n đ ả ớ ậ wavefront 2.1.2.2.Thuật toán cây bao trùm. Thuật toán này thu p c n d c ộc phương pháp tiế ậ ựa trên lưới ô vuông đã đề ập t trên. Trong thu t toán này, chia nh d n vùng làm vi c thành các ô vuông kích ới ở ậ ỏ ầ ệ thướ ọ ớ ỡ ỗi robot (các robot đượ ả đị c 2Dx2D g i là cell, v i D là kích c m c gi nh là gi ng nhau), m ô a b n ô con, g i là subcell, c b ố ỗi chứ ố ọ có kích thướ ằng kích thước robot và b qua nh ng cell b m (m t ph n ho c toàn ph n) b i v t c n. Các ỏ ữ ị chiế ộ ầ ặ ầ ở ậ ả cell tr ng t o thành m t c có các nodes m c a t ng cell và ố ạ ộ ấu trúc đồ thị là tâm điể ủ ừ các cạnh là đoạ ẳ ối tâm điể n th ng n m các cell liề ề n k [2].
  • 23. 15 Hình 2. 7: Phân chia cell trong thu t toán cây bao trùm ậ L p thu t toán d a trên cây bao trùm tiêu bi u là thu t toán Spiral- ớ ậ ự ể ậ STC (Spiral Spanning Tree Coverage). Spiral-STC [2] là thu ng on-line ật toán tìm đườ v i c xây d ng theo hình xo a robot trong ớ đường đi của robot đượ ự ắn ốc. Đường đi củ thuật toán này đượ ằ ấ ừ ứ ị ắt đầ ủ c hình thành b ng cách xu t phát t cell ch a v trí b u c a robot r ng bên c nh theo chi c chi ng h . Quá ồi đi sang các cell trố ạ ều ngượ ều kim đồ ồ trình ti p t c t i khi không còn cell nào ng thì robot b ế ụ ớ trố ắt đầu đi theo chiều ngược l c cell là 2Dx2D, robot s không bao gi hai l n ại. Do kích thướ ẽ ờ đi qua một subcell ầ và s quay l i v toàn b di n tích làm vi Thu ẽ ạ ị trí ban đầu sau khi đã bao phủ ộ ệ ệc. ật toán có đường đi ố ỗi ô được thăm chỉ ớ ộ ầ ả ộ ụ ề t i, m v i m t l n. Hình 2.8 mô t m t ví d v đườ ủ ủa robot đượ ụ ậ ng bao ph c c hình thành khi áp d ng thu t toán Spiral-STC.
  • 24. 16 Hình 2. 8: Đườ ủ ủ ụ ng bao ph c a robot khi áp d ng thu STC ậ – t toán Spiral Giả ậ ầ ầ i thu t Spiral-STC d n d n xây d ng m t cây bao này và ự ộ trùm cho đồ thị s d ử ụng cây bao trùm đó để sinh ra đườ ẫ ủ như sau: cùng vớ ệ ng d n bao ph i vi c xây d ng cây bao trùm, robot chia nh m i cell nó b t g p thành b n subcell nh u có ự ỏ ọ ắ ặ ố ỏ đề kích thước D và có cùng kích thước cũng như hình dạ ớ ụ ụ ụ ụ ng v i d ng c quét. D ng c quét đi theo đườ ẫ ủ ầ ần theo cây bao trùm đã ng d n c a các subcell vòng quanh d n d đượ ựng cho đế ộ ậ ợ ống đượ ủ Ở đây mộ c xây d n khi toàn b t p h p các cell tr c bao ph . t cell tr c là thì coi ống là “mới” khi tất cả ố ủa nó chưa đượ ủ, ngượ b n subcell c c bao ph là “cũ”. Tứ ỉ ần 1 subcell trong cell đã đượ ủ, cell đó sẽ đượ c là ch c c bao ph c coi là “cũ”. 2.2. Phương pháp giải quyết sử dụng một nhóm robot Phương pháp tiế ậ p c n này s d ng nhi u robot ho ng song , nh ử ụ ề ạt độ song ờ đó cho phép rút ng n th i gian bao ph không gian làm vi c b ng cách phân chia công ắ ờ ủ ệ ằ vi c cho t n a, khi k t h p ho ng c a nhi u robot h ng ệ ừng robot. Hơn thế ữ ế ợ ạt độ ủ ề ệ thố còn có th gi i quy t nhi u v khó khác. Ch ng h n các robot có th giúp ể ả ế ề ấn đề ẳ ạ ể trợ l n nhau khi có robot g p l i trong quá trình làm vi ẫ ặ ỗ ệc. Các h ng s d ng nhi c xây d m r ng ệ thố ử ụ ều robot thường đượ ựng trên cơ sở ở ộ các thu c a m ật toán tìm đường đi bao phủ ủ ột robot như phân chia boustrophedon,
  • 25. 17 cây bao trùm, m - t s t toán bao ph dành riêng ạng nơ ron. Ngoài ra cũng có mộ ố thuậ ủ cho h c phát tri ệ ố ề đượ th ng nhi u robot ển. Có th nêu ra m t s t thu t toán bao ph ể ộ ố tiêu chí chính để đánh giá mộ ậ ủ, như là “tính bao phủ ộ” (tạo ra đường đi bao phủ ộ đượ ự ệ toàn b toàn b c khu v c làm vi c), “tính hiệ ả” (robot di chuyể ự ật toán đó có thể ệ u qu n d a theo thu hoàn thành công vi c trong th i gian nhanh nh t có th nh m h nhau ờ ấ ể), “tính mạ ẽ” (các robot có thể ỗ trợ trong trườ ợ ị ỗi). Ngoài ra, người ta cũng xét cả ớ ệ ng h p có thành viên b l t i vi c không dư thừ ờ ủ ứ ộ đượ ạ ầ ở a đư ng bao ph , t c là không có m t cell c quét l i hai l n tr lên. Có th l y ví d tiêu bi u cho nhóm các thu t toán s d ể ấ ụ ể ậ ử ụng phương pháp giải quy t bài toán này là thu t toán phân chia boustrophedon s d ng nhóm robot ế ậ ử ụ . Thuật toán này nh m bao ph s d ng m t nhóm robot trong môi ằ ủ đường đi đầy đủ ử ụ ộ trường chưa xác định (môi trườ ả ủ ậ ng on-line). Nhóm tác gi c a thu t toán này cho r ng, vi c s d ng nhi u robot có th gi m th i gian làm vi c, tuy nhiên ch có th ằ ệ ử ụ ề ể ả ờ ệ ỉ ể đạ ợ ối đa hiệ ả ệ ếu như số ợng các vùng mà robot đi lặ ạ t đư c t u qu làm vi c n lư p l i là ít nh t toán này t p trung vào vi c gi m thi u t l p l i các ất. Do đó thuậ ậ ệ ả ể ối đa sự ặp đi lặ ạ vùng di chuyể ủ ậ n c a robot. Thu t toán này s d ng cùng m ử ụ ột phương pháp phân tích cell hai chi t toán bao ph boustrophedon s d ều như thuậ ủ ử ụng robot đơn, nhưng nó m r x lý vi c làm th các robot có , và ở ộng để ử ệ ế nào để thể đi hết các vùng đơn lẻ làm th phân b các robot gi a các vùng. Gi i pháp c a h ế nào để ố ữ ả ủ ọ là tính toán để h n ch các thành viên trong nhóm robot di chuy n giao nhau trong quá trình làm ạ ế ể vi c. Các robot s di chuy ệ ẽ ể ủ n ch yếu theo các đườ ẳng. Để ể quét đượ ng th có th c toàn b m nh n hai vai ộ vùng đang làm việc, các robot được chia làm hai nhóm để đả ậ trò: m c g ột vài robot, đượ ọi là explorer (robot thăm dò) đi men theo các ranh giới c a vùng m c tiêu hi n t c g i là coverer (robot bao ủ ụ ệ ại, trong khi các robot khác, đượ ọ ph ) th c hi n các chuy ng t có th c các ph n còn l ủ ự ệ ển độ ới lui để ể đi hết đượ ầ ại. Để phân ph i các nhi m v i các vùng ho ng cho ố ệ ụ cho các robot, cũng như phân phố ạt độ t ng robot, m ừ ột cơ chế đấu giá tham lam được sử ụ d ng [1]. Hình 2.9 mô t vi c hai robot explorer th c hi n di chuy n hai biên trên và ả ệ ự ệ ể ở dướ ủ ụ ự ệ ển độ ớ i c a vùng m c tiêu, trong khi ba robot coverer th c hi n các chuy ng t i
  • 26. 18 lui ở phía trong vùng đó. Hình 2. 9: Robot th c hi m t toán phân chia ự ện bao phủ ột cell theo thuậ boustrophedon s d ng nhóm robot ử ụ
  • 27. 19 CHƯƠNG 3 ẾT VÀ PHÁT TRIỂN THUẬT TOÁN MSTC . LÝ THUY 3.1. Các tiêu chí đánh giá Cũng như đã đề ậ ở ần phương pháp sử ụ ở c p trong ph d ng nhóm robot trên, ba tiêu chí chính để đánh giá mộ ậ ủ ử ụ t thu t toán bao ph s d ng nhóm robot là: - t toàn b c khu v Tính bao ph toàn b : ủ ộ ạo ra đường đi bao phủ ộ đượ ực làm việc. - robot di chuy n d a theo thu hoàn thành Tính hi u qu : ệ ả ể ự ật toán đó có thể công việ ờ ấ c trong th i gian nhanh nh t có thể. - các robot có th h nhau tron ng h p có thành Tính m nh m : ạ ẽ ể ỗ trợ g trườ ợ viên b l ị ỗi. Ngoài ra, trong nhi ng h p, khi xét t i tính hi u qu c a thu t toán, ều trườ ợ ớ ệ ả ủ ậ n t i vi ng bao ph , t c là không có m t ô gười ta cũng xét cả ớ ệc không dư thừa đườ ủ ứ ộ đượ ạ ầ ở c quét l i 2 l n tr lên [3]. 3.2. t toán bao ph v i m t nhóm robot d a trên cây bao trùm trên môi Thuậ ủ ớ ộ ự trường đã biết 3.2.1. K c bao ph hu vự ủ Ở ật toán này robot đã biế ự ệ ộ ản đồ đầy đủ thu t khu v c làm vi c, robot có m t b c a khu v c làm vi c, các ranh gi i khu v c làm vi c và t t c ng ng i v ủ ự ệ ớ ự ệ ấ ả các chướ ạ ật (đượ ả định là tĩnh). Mỗ ạ ụ ống như mộ c gi i Robot có hình d ng công c liên quan gi t hình vuông kích thướ ục tiêu là để ủ ự ệ ử ụ c D. M bao ph các khu v c làm vi c s d ng công c này. Trong các ng d ng th c t , công c này có th ng v i các ụ ứ ụ ự ế ụ ể tương ứ ớ c m bi n ch c ch c quét qua các khu v c làm vi phát hi n m ả ế ắ ắn là đượ ự ệc để ệ ột đặc trưng quan trọng, và kích thướ ể được xác đị ở ạ ệ ả ủ c D có th nh b i ph m vi hi u qu c a b c m bi n. Gi nh các robot có th di chuy n v i công c liên t c trong b n ộ ả ế ả đị ể ể ớ ụ ụ ố hướng cơ bả ố ả ể xác đị ị ả n (lên / xu ng, trái / ph i), và có th nh v b trí n thân trong khu v c làm vi trong ph m vi ô con ự ệ ể c đ ạ kích thước D. Chia khu v c này thành các ô vuông (cell) c 2Dx2D (m i ô bao ự có kích thướ ỗ g m 4 ô con c DxD) và lo i b c bao ph m t ph ồ (subcell) có kích thướ ạ ỏ các ô đượ ủ ộ ần b ng ng i v t. M t c u t p h ởi các chướ ạ ậ ộ ấ rúc đồ thị G (V, E). V được định nghĩa là tậ ợp
  • 28. 20 các nodes, v nodes là nh m trung tâm c a m i ô, và E là t p các c nh, là ới ững điể ủ ỗ ậ ạ nh n th ng n i nh m trung tâm c a các ô lân c n. Xây d ng m t cây ững đoạ ẳ ố ững điể ủ ậ ự ộ bao trùm cho đồ ị ử ụ ấ ỳ th G s d ng b t k thu t toán xây d ng cây bao trùm. S ậ ự 0,..., Sk-1 là vị trí ban đầ ủ ạ ủ ự ệ u c a các robot trong ph n vi phân tích chia ô c a khu v c làm vi c. Các robot đượ ả định là đồ ấ ộ ốc độ và kích thướ ụ ủ c gi ng nh t m t t c công c c a chúng D. S d ám ch s i ám ch s ng các ử ụng N để ỉ ố lượng ô trong lướ , và n để ỉ ố lượ ô con. Khu v c làm vi c liên ti p, t c là, t t c các ô c a khu v c làm vi u có th ự ệ ế ứ ấ ả ủ ự ệc đề ể truy c p t b t k v trí b u nào. ậ ừ ấ ỳ ị ắ ầ t đ 3.2.2. Thuật toán MSTC Offline 3.2.2.1.Xây dựng cây bao trùm Khi xây d ng cây trong m t h ng v i duy nh t m t robot thì ng ự ộ ệ thố ớ ấ ộ ảnh hưở c a c u trúc c a cây v m t lý thuy t không n th i gian bao ph . Rõ ủ ấ ủ ề ặ ế ảnh hưởng đế ờ ủ ràng, ngườ ể ố ự ới đặc điểm đặ ệ ụ như i ta có th mu n xây d ng cây bao trùm v c bi t, ví d gi m thi u s l n ch ng. Tuy nhiên, th i gian bao ph v c b m b ả ể ố ầ ọn hướ ờ ủ ẫn đượ ảo đả ởi các thu t toán STC là tuy n tính v i khu v c làm vi c d i vuông, vì ậ ế ớ ự ệ ựa trên lướ cell m i các c bao ph m t l ng th i gian b o hi m là N. ỗ cell trừ cell biên đượ ủ ộ ần, do đó tổ ờ ả ể M t khác, trong các h u trúc c a cây có th ng r t quan ặ ệ thống đa robot, cấ ủ ể ảnh hưở ấ trọ ờ ủ ự ự ọ ủ ng vào th i gian bao ph . S l a ch n c a cây bao trùm d a vào v ự ị trí ban đầu c a các robot. B t k thu t thoán bao ph ng nh u d a trên m ủ ấ ỳ ậ ủ đa robot nếu đồ ất đề ự ột cây bao trùm thì c i thi n t n [3]. Có th ng minh, g i D ả ệ ối đa 2 lầ ể chứ ọ i là kho ng cách ả gi a robot R ữ i và Ri+1. Tính toán kho ng cách l n nh t D ả ớ ấ max= max R1≤i≤N{Di} thời gian bao ph s d ng thu t toán không quay lui. D a vào Dmax có th ủ ử ụ ậ ự ể xác định thờ ủ hi robot đồ ấ ự ộ i gian bao ph là A. K ng nh t d a trên m t cây bao trùm thì th i gian ờ bao ph gi m xu ng ủ ả ố     . N ng h p x u nh t v i robot D ếu trườ ợ ấ ấ ớ max di chuy n ển đế các robot khác thì đố ớ ột đoạ i v i m n khác Dj h i i gian t u cho phép đòi ỏ thờ ối đa là nế quay lui s là t' > ẽ     nói cách khác nó s c ẽ ải thiện được    {   }  
  • 29. 21 Mã giả ậ thu t toán 1: Thuật toán 1: Creat_tree(W, S0,..., Sk-1) Đầu vào:S 0,..., Sk-1 v u c a các robot, ng làm vi ị trí ban đầ ủ W môi trườ ệc là đồ thị ạng lướ d i Các bướ ế c ti n hành: 1. Xây d ng các cây con ự 2. For Ri, V i m i robot R      do ớ ỗ i 3. Tìm và tính toán các n k m i (trái, ph cell liề ề ớ ải, trên, dưới) list_cell ← Ni 4. If list_cell.size()>1 then 5. Tính toán kho ng cách Manhattan và ch n m t cell ả ọ ộ có kho ng cách Manhattan t i thi n các robot khác ả ố ố i đa t ểu đế 6. If list_cell. size() =0 then 7. Di chuy n thì th n th t c Hilling(quay v nút g ể ực hiệ ủ ụ ề ốc) 8. Tìm c u c a cho k cây con ầ ủ a) a các các cây con Tìm ng u nhiên h p l c u B gi ẫ ợ ệ ầ ữ b) p kho ng cách gi a hai cây liên ti p S Tính toán thiết lậ ả ữ ế i c) Thiết l i t ậ ị ở p giá tr kh ạo ban đầu Best_result, S0 d) S If i > Best_result then Best_result = Si 9. v cây bao trùm Best_result Trả ề Giả ả ậ i thích mã gi thu t toán 1: Thuật toán 1 [3] là thu t toán xây d ng cây v o ậ ự ới hai bước quan trong đó là tạ cây con và tìm c u n i b t k ầ ố ấ ỳ c cây hoàn ch c 1 v i m trên cây để đượ ỉnh. Bướ ớ ỗi robot i v xây d ng 1 các lá cho cây con b ng cách tìm các cell liên k ới      ự ằ ề theo b ng (trái, ph i) vi c tìm th y n u 1 cell n cell ốn hướ ải, trên, dướ ệ ấ ế thì đi đế đó. Việ ụng là đồ ờ ế ều hơn mộ ả c xây d ng th i. N u có nhi t thì tính toán kho cell ng cách Manhattan tối đa củ ả ố ểu đế ạ ế a kho ng cách t i thi n robot còn l i n u không có quay lui v nút g B c th 2 là tìm các c u cho cây bao trùm v i c u kh i t o chính là ề ốc. ướ ứ ầ ớ ầ ở ạ
  • 30. 22 điể ắt đầ m b u S0, n u ch n ng c c u S ế ọ ẫu nhiên đượ ầ i có kho ng cách gi a hai cây con ả ữ là xa hơn S0 y c . thì lấ ầu đó Hình 3.1: Xây d ng cây bao trùm ự 3.2.2.2.MSTC Offline không quay lui Công vi c bao ph n [3]. u tiên, thu toán 2 ệ ủ được chia làm hai giai đoạ Đầ ật xây d ng m ng s d ng d ự ột đườ đi STC ử ụ ựa trên cây đã tạ ự ậ o d a trên thu t theo toán 1 hướng ngượ đồ ồ ậ ử ụng đường đi STC củ ậ c kim ng h . Thu t toán 3 là s d a thu t toán 2 để ự ệ ệ ủ ỗi robot đươc xác đị ị trí ban đầu trên đường đi và th c hi n vi c bao ph , m nh v d n v c ựa vào đó để đi đế ị trị ủa robot khác. Điều này đượ ự ện khi đả ả c th c hi m b o r ng các robot có th n u robot k p b l ng vi c th c hi n c ằ ể giúp đỡ ế ế tiế ị ỗi. Lưu ý rằ ệ ự ệ ủa thu t ậ toán 2 là hoàn toàn không ph i t i robot th c hi n công vi ả ập trung, như mỗ ự ệ ệc độ ậ ủ c l p c a mình. Mã giả ậ thu t toán 2: Thuật toán 2 k (W, ế hoạch đường đi MSTC S0,..., Sk−1) Đầu vào:S 0,..., Sk-1 v u c W là khu v c làm vi ị trí ban đầ ủa robot, ự ệc Các bướ ế c ti n hành:
  • 31. 23 1. n b m b u: S Chọ ất kì điể ắ ầ t đ 0 2. Creat_tree(W, S0,..., Sk-1) 3. B u t S ắt đầ ừ 0, xây d i khu v c làm vi c W d ựng P, đường đi STC vớ ự ệ ựa trên cây bao trùm trên. 4. V m S ới các điể 0,..., Sk−1 d C, B u t S ọc đường đi ST ắt đầ ừ 0 và di chuyển trong 1 hướng ngược kim đồ ồ ng h . 5. v ng v u c Trả ề đường đi P, ứ ớ ể ầ i các đi m ban đ ủa robot S0,..., Sk−1 Giả ả ậ i thích mã gi thu t toán 2: B u t m S ắt đầ ừ điể 0, d a vào cây khung c a thu t toán 1, thu t toán 2 xây ự ủ ậ ậ d ng m t cây bao trùm cho khu v c làm vi c W xây d ự ộ ự ệ ựng đường đi bao trùm dòng 3. Tr v m ng h d c theo cây bao trùm b ả ề ột con đường hướng ngược kim đồ ồ ọ ắt đầu t i v trí S ạ ị 0 t c m b u c a t t c robot dòng 5 hình 3.2. Vi c xây đi qua tấ ả các điể ắt đầ ủ ấ ả ệ d ng các cây bao trùm trong t toán 1 có th c th c hi n b i m t robot và ự thuậ ể đượ ự ệ ở ộ truy n tin t i nh ng robot khác, ho c các robot bi t v ề ớ ữ ặ ế ị trí các robot khác và được thự ệ ở ọi con robot độ ậ ử ụ ộ ậ c hi n b i m c l p trong khi nó s d ng cùng m t thu t toán cho vi c xây d ng cây. ệ ự Hình 3.2: Đường đi cho đa robot
  • 32. 24 Mã giả ậ thu t toán 3: Thuật (W, toán 3 MSTC không quay lui S0,..., Sk−1) Đầu vào:S 0,..., Sk-1 v u c W là khu v c làm vi ị trí ban đầ ủa robot, ự ệc Các bướ ế c ti n hành: 1. a robot hi n tai i ← ID củ ệ 2. 1 v trí c a robot ti p theo, theo chu k t ← i  ị ủ ế ỳ 3. v n t S while ị trí hiệ ại  t -1do 4. Di chuy n d n S ể ọc theo STC đế t, hướng ngược kim đồ ồ ng h . 5. ng[S Thông báo hoàn thành đoạn đườ i, St ) 6. robot R while t ng và các v trí [S khác đang còn số ị 0,..., Sk-1, S0 ] chưa hoàn thành do 7. Chờ 8. (robot Rt không còn s ng và v if ố ị trí [S0,..., Sk-1, S0] chưa hoàn thành) then 9. y ID c a robot ti p theo i ← t Lấ ủ ế 10. 1 l y v a robot ti p theo c a robot ti p theo t ← t  ấ ị trí củ ế ủ ế 11. quay v c 3 ề bướ 12. K p ết thúc vòng lặ 13.D ng ừ Giả ả ậ i thích mã gi thu t toán 3: Đường đi đã đượ ự ề ầ ậ ợ ự c xây d ng và chia thành nhi u ph n, thu t toán 1 đư c th c hi n xây d ng cây bao trùm d a trên v u c a t t c các robot. Sau giai ệ ự ự ị trí ban đầ ủ ấ ả đoạ ở ạ ở ỗ ắt đầ ủ ầ ủ n kh i t o ( dòng 1-2), m i robot b u bao ph ph n c a mình [Si,..., Sj), từ v trí hi n t i S ị ệ ạ i c n v u S ủa nó đế ị trí ban đầ j c a robot ti p theo, d ủ ế ọc theo đường đi STC theo cây bao trùm có c chi ng h (dòng 3-4). T dòng hướng đi ngượ ều kim đồ ồ ừ 6- m b o tính m nh m : N u m t robot l i, robot m b u c a robot 11 đả ả ạ ẽ ế ộ ỗ đi tới điể ắt đầ ủ đó ệ ủ ầ ủ có trách nhi m bao ph ph n c a nó.
  • 33. 25 3.2.2.3. Phân tích các tiêu chí của thuật toán - Tính m nh m ạ ẽ Xét v m t lý thuy t, thu m b c tính m nh m . Robot ề ặ ế ật toán này đã đả ảo đượ ạ ẽ Ri khi th n xong công vi ng h n v ực hiệ ệc của mình theo hướng ngược kim đồ ồ (đế ị trí Si đến Sj v trí ti p theo c R ị ế ủa robot j) và n u robot R ế j l thì R ỗi i s c hi n công ẽ thự ệ vi c c a robot R ệ ủ j và công liên t n khi nó nh t t c robot khác ục đế ận được ấ ả đã thực hi n xong. ệ - Tính bao ph toàn b ủ ộ V i khu v c làm vi và robot, t ng h p toàn b nh ng bao ph ớ ự ệc W k ổ ợ ộ ững đườ ủ c m b o bao ph c hoàn toàn . Tính ch t này có th ủa các robot con đả ả ủ đượ W ấ ể được chứng minh như sau: o Trong trườ ợ ng h p :    V i ch m t robot, vi c xây d ng cây con chính là cây bao trùm c a thu ớ ỉ ộ ệ ự ủ ật toán 2 b c 2, t m i tính toán kho ng cách cell m i. T t c ỏ qua bướ ìm cell ớ ả ớ ấ ả kho ng cách là b ng nhau nên nó s l y giá tr ả ằ ẽ ấ ị đầu tiên nó đã gán trong list danh sách các ô. N u robot không nhìn th y cell nào n a thì robot th c hi n ế ấ ữ ự ệ tương tự như thuật toán 1 đó là quay về ố ệ ự ệ ậ nodes g c. Vi c th c hi n thu t toán đế ế ấ ữ ậ n khi k t thúc không tìm th y cell nào n a. V y cây bao trùm ch a t t các ứ ấ cell khu v c làm vi c W. Và robot s di chuy m kh u S ự ệ ẽ ển điể ởi đầ 0 đi theo ngượ ều kim đồ ồ ới đế c chi ng h trên cây bao trùm v n S0. M i subcell c ỗ thuộ cell trên nodes cây bao trùm sẽ được thăm duy nhấ ộ ầ ậ ẽ ậ t m t l n. V y s thu t toán bao ph t c trên khu v ủ ấ t ả cell ực W. o Trong trườ ợ ng h p :    V i cùng m t cây bao trùm a toàn b các cell trên khu v c làm vi c W vì ớ ộ chứ ộ ự ệ cây bao trùm chính là s k t h p c a các cây con. M i cây con là vi c tìm ự ế ợ ủ ỗ ệ ki các nodes tìm theo b ng. C thu c nodes c a cây con này s ếm ốn hướ ell ộ ủ ẽ không thu c b t k ộ ấ ỳ cây con nào khác. Chính vì khu v c làm vi c là liên ti p ự ệ ế nên m i cell có th n b t k nào. V y m i cell s thu c nodes ỗ ể đi đế ấ ỳ cell ậ ỗ ẽ chỉ ộ duy nh t trên cây ấ . Tương tự như trườ ợ ớ ng h p v i k = 1 các subcell trên cây sẽ
  • 34. 26 được thăm ít nhấ ầ t 1 l n. - Tính không dư thừa N u t t c robot th c thi theo thu t toán trên và không có robot nào b t, ế ấ ả ự ậ ị chế thì sẽ nào đi nhiều hơn 1 lần điề ể ứng minh như sau không có subcell u này có th ch : N u không có robot nào l i thì vi c xây d a trên cùng m ế ỗ ệ ựng đường đi dự ột cây bao trùm d a vào v u c a m i robot nên robot nh ự ị trí ban đầ ủ ỗ ận được đường đi c d ủa robot đó ví ụ robot i hoàn thành đường đi [Si,..., Sj) đến robot j. Cây bao trùm là cây ch a các cell m i c duy nh t m nodes trên cây (ô ch thu c duy ứ ỗ cell chỉ thuộ ấ ột ỉ ộ nh t m t cây con, m i cây con ch a 1 cell duy nh t trên cây) N u không có ấ ộ ỗ ỉ chứ ấ . ế robot nào l i thì t t c ỗ ấ ả robot đi theo đường đi dựa trên cây bao trùm. Đường đi dựa vào cây ng h t S bao trùm đi theo chiều ngược kim đồ ồ ừ 0,..., Sk-1, S0 thì m i subcell ỗ thuộ ẽ được thăm 1 lầ c s cell n. 3.3. t toán bao ph v t nhóm robot v Thuậ ủ ới mộ ớ ờng chưa rõ i môi trư 3.3.1. K c bao ph hu vự ủ M i robot là m t công c d n ti n hình d ng m ỗ ộ ụ có kích thước là D để ễ thuậ ệ ạ ỗi robot xem như ột hình vuông kích thướ ục tiêu là để ủ ự m c D. M bao ph các khu v c làm vi c s d ng công c này. Trong các ng d ng th c t , công c này có th ệ ử ụ ụ ứ ụ ự ế ụ ể tương ứ ớ ả ến và kích thướ ể được xác đị ở ạ ệ ng v i các c m bi c D có th nh b i ph m vi hi u qu c a b c m bi n. Các robot có th di chuy n liên t c trong b n ả ủ ộ ả ế ể ể ụ ốn hướng cơ bả (lên, xu ng, trái, ph i), và có th nh v trí b n thân trong khu v c làm vi ố ả ể xác đị ị ả ự ệc để trong phạ ộ kích thướ m vi m t ô con c D. Robot không bi t ranh gi i khu v c làm vi c chính xác c t t c các v ế ớ ự ệ ủa ấ ả ị trí chướ ạ ật (đượ ả định là tĩnh), nhưng các vị trí ban đầ ủa chúng độ ậ ng ng i v c gi u c c l p. Chia khu v c này thành các ô c 2Dx2D, m i ô g m b n ô con ự vuông có kích thướ ỗ ồ ố kích thướ ế ộ ần là chướ ạ ật thì xem như ô đó chính là c DxD. N u ô có m t ph ng ng i v chướ ạ ậ ể ị ố ợ trong lướ ớ ỉ ố ợ ủ ng ng i v t. Bi u th s lư ng ô i v i N, và ch rõ s lư ng ô con c a n, t c là, N = 4n. Khu v c bi y m i ô ứ ực ban đầu là không đượ ết như vậ ỗ ban đầu được coi là trống. Điể ởi đầ ủ ậ ự ệ ớ ị m kh u c a thu t toán là khu v c làm vi c và k robot v i v trí ban
  • 35. 27 đầu độ ậ c l p: A0,..., Ak-1. Các v a m c gi nh là trong m t ị trí ban đầu củ ỗi robot đượ ả đị ộ cell không có chướ ạ ậ ẽ ế ị ủ ả đị ệ ủ ng ng i v t, và robot s bi t v c trí a nó. Gi nh làm vi c c a thuậ ể xác đị ị ủ ển khai lướ ủ t toán, robot có th nh v trí c a chính nó trong tri i c a khu v c làm vi ự ệc. 3.3.2. Thuật toán ORMSTC Như đã đề ậ ở ả ậ c p trên, STC (Spanning Tree Coverage) là gi i thu t on-line dùng cho m t ng, chia nh không gian làm vi c thành b [3]. D ộ robot di độ ỏ ệ ản đồ ựa trên thu t toán này, nh m t n d c nh m m nh c ậ ằ ậ ụng đượ ững điể ạ ủa nhóm robot, người ta đã phát triể ậ n các thu t toán sử ụ ử ụ ề d ng cây bao trùm bao trùm s d ng nhi u robot. ORMSTC là vi t c a c m t Online Robust Multi- ết tắ ủ ụ ừ robot STC. Đây là thuật toán MSTC trong line. trườ ợ ng h p on- Mã giả ậ thu t toán 4: Thuật () toán 4 -line ORMSTC initialization On Đầu vào: c làm vi c, v a robot. W là khu vự ệ ị trí củ Các bướ ế c ti n hành: 1. 2D 2D Chia khu v c làm vi c thành m cell ự ệ ột lưới các có kích cỡ x 2. D D Tiế ụ ỡ p t c phân chia các cell thành 4 có kích c subcell x 3. a robot hi n t i   ID củ ệ ạ 4. if  a m t subsell chính giữ ộ then 5.   subcell 6. Di chuy n t ể ới   7. else 8.     9.    cell có chứa  10.Thông báo   u c a mình t i t là cell khởi đầ ủ ớ ất cả các robot 11. C p nh p thông tin map v các v u c a các robot khác: ậ ậ ề ị trí ban đầ ủ        12.Khởi tạo           
  • 36. 28 Giả ả ậ i thích mã gi thu t toán 4: Thuật toán 4 trên là kh i t o c a thu t toán MSTC on-line nói chung. T ở ở ạ ủ ậ ất c các robot cùng ch y kh i t o này. M a kh i t t l p ả ạ ở ạ ục đích chính củ ở ạo là để thiế ậ môi trườ ệ ết đượ ở đâu trong bả ng làm vi c cho các robot, cho phép robot bi c mình n đồ dòng đầ ệ theo đúng như nhữ ả . Hai u tiên là vi c phân chia các cell và subcell ng gi đị ủ ậ ộ ụ ể ột đị nh c a các thu t toán STC khác. Dòng 3 gán cho m t robot c th m nh danh nh nh nó v i các robot khác. T dòng 4 t robot di ằm xác đị ớ ừ ới dòng 8 là đoạn để chuy a m u v trí c a các robot là ng u ển vào đúng chính giữ ột subcell. Do ban đầ ị ủ ẫ nhiên, nên sau quá trình phân chia cell và subcell dòng 1 và dòng 2, kh ở ả năng các robot không nằm đúng mộ ấ ở ậ t subcell là r t cao, b i v y cần đưa robot về đúng subcell, phụ ụ ệ ể ở các bướ ế Ở đây cũng cầ c v cho vi c di chuy n c ti p theo. n chú ý là các robot c n ph i di chuy t nh s n. Lý do là b ầ ả ển vào đúng subcell có số thứ ự đã đị ẵ ởi n y, h quy chi a các robot s không gi ng nhau, khi n cho ếu không làm như vậ ệ ếu củ ẽ ố ế vi c các robot nhìn 1 cell là cell có th t c n b ng. Sau khi ệ ể đi vào hay là vậ ả ị ảnh hưở vào đúng mộ ậ ột subcell xác đị ởi đầ t subcell, robot i nh n m nh làm subcell kh u (dòng 8) và nh n m nh làm cell kh u (dòng 9). Sau khi nh n v u, ậ ột cell xác đị ởi đầ ậ ị trí ban đầ nó thông báo v trí c ng th ị ủa mình cho các robot khác (dòng 10), và đồ ời cũng cập nh t l i v u c ng nghi p c a nó (dòng 11). T i dòng 12, m ậ ạ ị trí ban đầ ủa các đồ ệ ủ ạ ột m ng c kh i t o v i toàn giá tr , nh m m t n i v ả connection đượ ở ạ ớ ị null ằ ục đích lưu kế ố ới các đồ ệ ả ẽ đượ ng nghi p sau này. M ng này s connection c trình bày k n ỹ hơn trong phầ gi thu ải thích mã giả ật toán 5 ở dưới. Mã giả ậ thu t toán 5: Thuật toán 5 ORMSTC (W,X) Đầu vào: Cell robot v (cell cha), cell robot v ừa đi ra W ừa đi vào X Các bướ ế c ti n hành: 1.   3 cell lân c n c theo chi ng h , b u t sau cell ậ ủa X ều kim đồ ồ ắ ầ t đ ừ W 2. for    do 3. if      then 4. continue p t c v i giá tr p theo tiế ụ ớ ị  tiế
  • 37. 29 5. if đã nằ ộ ạ ủ m trong m t c nh c a cây bao trùm c a m robot khác ủ ột  then 6. H xem nó còn s ng không ỏi robot  ố 7. l if robot  trả ời then 8. if        then 9.                10. p t c v i giá tr p theo continue tiế ụ ớ ị  tiế 11. else 12.           13. p t c v i giá tr p theo continue tiế ụ ớ ị  tiế 14. else 15. t //robot  đã chế 16. Xóa robot kh i m ng và thông báo r  ỏ ả  ằng robot đó đã chết 17. nh n i cell robot Xóa cạ ối vớ  đã đi và thông báo 18. V c nh t t ẽ ạ ừ  ới  và thông báo di chuy n t ể ới   19. Di chuy n t i m t subcell c ể ớ ộ ủa  bằng cách đi theo bên phải c nh cây bao trùm ạ 20. Thực thi ORMSTC(X,   ) 21.if    then 22. Di chuy n l t d nh cây bao trùm ể ại từ  ới  ọc theo bên phải cạ 23. t g return ừ chỗ ọ ệ i đ quy 24.if    then 25. Thực thi ORMSTC(X, W) 26.Trở ề ở ầ v subcell kh i đ u  b nh cây bao trùm ằng cách đi theo bên phải cạ 27.Thông báo hoàn thành công việc của mình 28.while t a chúng ất cả các robot chưa thông báo hoàn thành công việc củ do 29. nh k các robot có k t n i v i mình xem chúng còn s ng Kiểm tra đị ỳ ế ố ớ ố không
  • 38. 30 30. if robot  đã chết then 31. nh n i cell robot Xóa cạ ối vớ  đã đi và thông báo 32. c Thông báo mình chưa hoàn thành công việ 33. L a ch n xem ự ọ      hay      g n v ầ ới mình hơn, di chuyể ều kim đồ ồ hay ngượ ề n theo chi ng h c chi u kim đồ ồ ạ ủ ủ ợ ng h theo c nh c a cây bao trùm c a mình thì thích h p hơn 34. Di chuy n trên t t n i v ển theo hướng đã chọ ở ới điểm đã kế ố ới robot đã chết 35. cell mình k i robot   ết nối vớ j 36. k i v i mình  cell robot j ết nố ớ 37. kh i m ng connection và thông báo Xóa robot j ỏ ả 38. V c nh t t và thông báo ẽ ạ ừ  ới  39. Di chuyể ớ ủ ằng cách đi theo bên phả n t i subcell c a  b i cây bao trùm 40. ) Thực thi ORMSTC(X, Y 41.K t thúc vòng l p ế ặ 42.D ng ừ Giả ả ậ i thích mã gi thu t toán 5: Thuật toán 5 mô t quá trình làm vi c c a m t robot. T t c ả ệ ủ ộ ấ ả các robot đều thự ậ ở ậ ẽ ấ c thi thu t toán này, b i v y có bao nhiêu robot thì s có b y nhiêu th hi n c ể ệ ủa thuật toán này. T dòng 1 t i dòng 27 c a thu t toán này, v n là gi ng thu ừ ớ ủ ậ ề cơ bả ố ật toán Spiral-STC. Tuy nhiên, nó thêm vào đó một điể ọng, đó là có kiể m quan tr m tra xem robot đồ ệ ố ảng connection dùng để lưu kế ng nghi p có còn s ng hay không. M t n i gi a c c t o b i m t cell c a robot hi n t i v m t cell c a robot mà nó ố ữ ạnh đượ ạ ở ộ ủ ệ ạ ới ộ ủ g ng di chuy n. Giá tr c ặp trên đườ ể ị ủa       l n g u tiên lưu giá trị ầ ặp đầ c a robot hi n t i robot , và giá tr c ủ ệ ại vớ  ị ủa       l n g p g n lưu giá trị ầ ặ ầ nh t c a robot hi n t i v i robot . Giá tr m m c v cho ấ ủ ệ ạ ớ  ị này được lưu nhằ ục đích phụ ụ vi n t sau khi robot hoàn thành ệc xác định điểm để giúp đỡ robot  ếu robot đó chế 
  • 39. 31 công vi c (dòng 33). M m quan tr ng n a khi n nhóm robot khác bi t v ệ ột điể ọ ữ ế ệ ới đơn robot, đó là có kế ố ữ ư trong mã giả ể ấ ệ ạ t n i gi a các robot. Nh , ta có th th y robot hi n t i liên t c có các thông báo v c p nh t thông tin. Robot hi n t i, ụ ới các robot khác để ậ ậ ệ ạ sau khi hoàn thành nhi m v c ng l i h n mà v n ti p t c ki ệ ụ ủa mình, nó chưa dừ ạ ẳ ẫ ế ụ ểm tra đị ỳ ế ố ớ ố nh k xem các robot có k t n i v i nó còn s ng hay không (dòng 29). N u có ế robot có k t n i v t, robot hi n t i s robot kia, nh ế ố ới nó đã chế ệ ạ ẽ tiến hành giúp đỡ ằm đả ả ệc chung đượ m b o công vi c hoàn thành. 3.3.3. Phân tích các tiêu chí c a thu t toán ủ ậ 3.3.3.1. Tính mạnh mẽ Xét v m t lý thuy t, thu b c tính m nh m ề ặ ế ật toán này đã đảm ảo đượ ạ ẽ. Các robot khi g p m a m ng nghi i v trí ặ ột cell cũ củ ột đồ ệp khác, nó đã tiến hành lưu lạ ị gặp nhau đó nhằm giúp đỡ ống robot đồ ệ ị ế trong tình hu ng nghi p b ch t sau này. Đoạ ật toán, robot đã hoàn thành công việc nhưng chưa hoàn to n sau thu àn d ng h n ngay l p t c, mà v n ti p t c ho n khi t t c ng ừ ẳ ậ ứ ẫ ế ụ ạt động cho đế ấ ả các đồ nghi p hoàn thành công vi ng nghi nh ệ ệc. Trong khi các đồ ệp chưa hoàn thành, nó đị k ki m tra tr ng thái c ng nghi p xem có robot nào b t hay ỳ ể ạ ủa các robot đồ ệ ị chế không. 3.3.3.2. Tính bao phủ toàn bộ V i khu v c làm vi và robot, t ng h p toàn b nh ng bao ph ớ ự ệc W k ổ ợ ộ ững đườ ủ c m b o bao ph c hoàn toàn . Tính ch t này có th ủa các robot con đả ả ủ đượ W ấ ể được chứng minh như sau: - ng h p : Trong trườ ợ    V i ch m t robot, thu t toán trên s heo thu t toán Spiral- ớ ỉ ộ ậ ẽ thực thi đúng t ậ STC, do đó sẽ ủ ộ đượ ự ệ bao ph toàn b c khu v c làm vi c. - ng h p : Trong trườ ợ    Giả ử ằ ể ộ ự ệ s r ng có robot có th    hoàn thành m t khu v c làm vi c. Ta ch c ứ ằ robot cũng có thể ự ng minh r ng  hoàn thành khu v W. Không m t tính ấ t ng quát, ta xét m t robot . Khi th c thi thu t toán MSTC on- ổ ộ  đơn lẻ ự ậ line, nó sinh ra m t cây bao trùm c c b , v i nh a riêng nó, và t o ra ộ ụ ộ ớ ững cell cũ củ ạ
  • 40. 32 m ng bao ph cho m m nhi m. Các robot khác s ột đườ ủ ột vài cell mà nó đả ệ ẽ xem như các cell này đã bị ế ính xác như việ ộ chi m, và coi nó ch c nó là m t cell đượ ấp đầ ở ộ ậ ả ở ậ ấ ả ững cell khác cũng đượ c l y b i m t v t c n. B i v y, t t c nh c chia thành robot bao ph , gi i gi    đường đi và được    ủ ống như vớ ả s t ra. Robot t c các cell b m b ử ban đầu được đặ  cũng xem tấ ả ị chiế ởi    robot t v t c m v c a nó tr thành bao ph toàn kia như là mộ ậ ản, do đó nhiệ ụ ủ ở ủ b m t khu v c làm vi ng h p ộ ộ ự ệc, giống như vớ ờ i trư ợ    ở trên. 3.3.3.3. Tính không dư thừa N u t t c u th c thi theo thu t toán trên, và không robot nào b ế ấ ả robot đề ự ậ ở ị chế ẽ ị đi nhiều hơn 1 lần. Điề t, s không có cell nào b u này có thể chứng minh như sau: N u không có robot nào b l i, và m i robot ch c xây ế ị ỗ ỗ ỉ đi theo những cell đượ d ng b cây bao trùm. N u m u là ự ởi ế ột cell đã được robot khác đi, nó đã được đánh dấ cell cũ, bở ậ ộ ể đi vào cell đó nữ ế i v y không có m t robot nào khác có th a. N u robot không có quay lui, s không có m n ẽ ột cell nào bị đi quá nhiều hơn 1 lầ 3.4. Đề xuấ ả ế ể ậ t c i ti n và phát tri n thu t toán MSTC 3.4.1. Đề ấ ể ậ ự ạ xu t và phát tri n thu t toán ORMSTC d a trên cách t o cây con trên MSTC-offline 3.4.1.1. Khu vực bao phủ M i robot là m t công c d n ti n hình d ng m ỗ ộ ụ có kích thước là D để ễ thuậ ệ ạ ỗi robot xem như một hình vuông kích thướ ục tiêu là để ủ ự c D. M bao ph các khu v c làm vi c s d ng công c này. Trong các ng d ng th c t , công c này có th ệ ử ụ ụ ứ ụ ự ế ụ ể tương ứ ớ ả ế ắ ắn là đượ ự ệc để ng v i các c m bi n ch c ch c quét qua các khu v c làm vi phát hi n m c D có th nh b i ph ệ ột đặc trưng quan trọng, và kích thướ ể được xác đị ở ạm vi hi u qu c a b c m bi n. Các robot có th di chuy ệ ả ủ ộ ả ế ể ể ụ ốn hướ n liên t c trong b ng cơ bả ố ả ể xác đị ị ả ự n (lên, xu ng, trái, ph i), và có th nh v trí b n thân trong khu v c làm vi trong ph m vi m t ô con c D. ệ ể c đ ạ ộ kích thướ Không bi t ranh gi i khu v c làm vi c chính xác và t t c các v ng ế ớ ự ệ ấ ả ị trí chướ ng i v c gi u c c l p. Chia ạ ật (đượ ả định là tĩnh), nhưng các vị trí ban đầ ủa chúng độ ậ
  • 41. 33 khu v c này thành các ô c 2Dx2D, m i ô g m b n ô con ự có kích thướ ỗ ồ ố kích thước DxD. N ng ng i v t thu c m t ph n c ng ếu có chướ ạ ậ ộ ộ ầ ủa ô thì xem như ô đó là chướ ng i v u th s ng ô i v i N, và ch rõ s ng ô con c a n, t c là, ạ ật. Biể ị ố lượ trong lướ ớ ỉ ố lượ ủ ứ N = 4n. Khu v c b c bi y m i c coi là ự an đầu là không đượ ết như vậ ỗ cell ban đầu đượ trống. Điể ở ầ ủ ậ ự ệ ớ ị trí ban đầ m kh i đ u c a thu t toán là khu v c làm vi c và k robot v i v u độ ậ c l p: A0,..., Ak-1. Các v u c a m c gi nh là trong m t ô ị trí ban đầ ủ ỗi robot đượ ả đị ộ không có chương ngạ ậ ẽ ế ị ủ ả đị ệ ủ ậ i v t, và robot s bi t v trí c a nó. Gi nh làm vi c c a thu t toán, robot có th nh v trí c a chính nó trong tri i c a khu v c làm ể xác đị ị ủ ển khai lướ ủ ự việc. 3.4.1.2. Ý tưởng cải tiến thuật toán Thuậ dùng cho robot khi nó chưa biế ệ t toán ORMSTC là t vùng làm vi c nó đượ ụ ấ ề ự ễ ậ ậ c áp d ng r t nhi u trong th c ti n. Thu t toán ORMSTC chính là là thu t toán m i robot x y d ng cây con c a riêng nó. V i m i nodes c a cây con này s không ỗ ậ ự ủ ớ ỗ ủ ẽ thuộ ấ ữ c b t ký cây nào n a. cell Và nó th c hi n xong khi b t k ự ệ ấ ỳ nào thu c vùng làm ộ vi c s tìm th y trên m i cây con thêm cell d a trên ệ ẽ đươc ấ ột cây con nào đó. Mỗ được ự cùng m t u ng s d ng thu ng xo n ôc Spiral-STC). ộ th ật toán STC (thườ ử ụ ật toán đườ ắ Thuậ ựa vào server để ế ạ ủ ừ t toán ORMSTC d bi t thông tin tr ng thái c a t ng robot cũng như môi trườ c client đưa và tìm ng thông qua các robot, còn robot chính là cá ki m thông tin. M i robot th c hi n riêng l . Chính vì th c phân chia ế ỗ ự ệ ẻ ế việ cell để đả ả ố ợ ỗ ụ ộ ấ ề ị trí ban đầ ủ m b o s lư ng cell ban cho m i robot ph thu c r t nhi u vào v u c a robot.
  • 42. 34 Hình 3.3 Nhóm robot s d ng ORMSTC trên thu t toán Spiral- : ử ụ ậ STC Hình trên là ví d y rõ vi c phân chia cell t toán ORMSTC d a trên ụ thấ ệ ở thuậ ự thuậ ỉ đượ ủ ủ t toán Spiral-STC. Robot 1 ch c bao ph 2 trong khi robot 2 bao ph cell t i 11 ô. Vi c hi n s không t ới vớ ệc thự ệ ẽ ối ưu thời gian. Thuậ ộ ật toán đã biết môi trườ t toán MSTC - Offline là m t thu ng. Chính vì v y nó áp d ng trong th c ti n không cao. Thu t toán xây d ng cây bao trùm d ậ ụ ự ễ ậ ự ựa trên các cây con c a các robot. M i nút c a cây con t o d a vào kho ng cách xa ủ ỗ ủ ạ ự ả nh t t i u theo kho ng cách Manhattan c n các robot còn l M ấ ố thiể ả ủa robot đó đế ại. ỗi nodes của cây con được thêm vào để ả ớ ạ cho kho ng cách so v i các robots còn l i là xa nh t. Và thu t toán c g m b u trên vùng làm vi c cho ấ ậ ố ắng đả ảo phân chia đề cell ệ m i cây con c a m i robot. ỗ ủ ỗ
  • 43. 35 Hình 3.4 Nhóm robot s d ng MSTC- Offline : ử ụ Hình trên là ví dụ các cây con môi trường đã biế ự ạ ủ t d a trên các t o cây c a thuậ – ụ ấ t toán MSTC Offline. Ví d trên th y rõ lúc này robot 1 có 8 còn robot 2 cell có 5 cell chính vì v y th c rút ng n nh t có th . ậ ời gian sẽ đượ ắ ấ ể Nhằ ậ ụng đượ ững điể m t n d c nh m m nh tính linh ho t c a thu t toán ạ ạ ủ ậ ORMSTC để ự ện trên môi trường chưa biế ật toán MSTC Offline để th c hi t và thu phân chia cell m b o ch u nh t có th trên vùng làm vi c. Trong m c này đả ả ia cell đề ấ ể ệ ụ nêu rõ k t h p hai thu t toán trên cho m t nhóm robot. Vi c k h p hai thu t toán ế ợ ậ ộ ệ ế ợ ậ trên ta tạ ọ m g i là MSTC. 3.4.1.3. Phát triển thuật toán Cũng giố ớ ậ ở trên nó cũng xây dưng mộ ng v i các thu t toán ORMSTC t hàm kh i t c hi n các kh i t n. Khác ở ạo ban đầu để thự ệ ở ạo cơ bả ở đây thay dùng mộ ả t m ng connection t n i c d ng m t d ng xâu để lưu các kế ố ủa robot đó thì thay vào đó ta sử ụ ộ ạ chứa đầy đủ thông tin như ô, tên robot nó đã đượ ặ ự ện trên đường đi c g p lúc th c hi để đả ảo đượ m b c backtrack sau này.
  • 44. 36 Mã giả ậ thu t toán 6: Thuật toán 6 MSTC (W,X) Đầu vào: Cell robot v (cell cha), cell robot v ừa đi ra W ừa đi vào X Các bướ ế c ti n hành: 1. S1..4 n c ng (trái, ph ←4 cell lân cậ ủa X theo bốn hướ ải, trên, dưới) 2. List_cell = null 3. for    do 4. if      then 5. continue tiế ụ ớ ị ế p t c v i giá tr  ti p theo 6. if đã nằ ộ ạ ủ m trong m t c nh c a cây bao trùm c a m robot khác ủ ột  then 7. H xem nó còn s ng không ỏi robot  ố 8. l if robot  trả ời then 9. backtrack←(    10. p t c v i giá tr p theo continue tiế ụ ớ ị  tiế 11. t //robot kia đã chế 12. else 13. if tìm th y backtrack.find(tên robot ch ấ ứa Ni ) then 14. kh i backtrack Xóa robot  ỏ 15. Xóa c nh t t c c nh n i v i cell robot ạ ấ ả ạ ố ớ  đã đi và thông báo nó đã xong 16. List_cell ← Ni 17. không thu c b t k cây con nào // ộ ấ ỳ 18. else 19. List_cell ← Ni 20.Kết thúc vòng lăp 21.i then f List_cell.size()>0 22. n các robot còn l Tính toán khoảng cách Manhattan đế ại
  • 45. 37 23. Tìm Ni kho ng cách xa nh t t i thi u theo Manhattan c ả ấ ố ể ủa robot đó đế ạ n các robot còn l i 24. V c nh t t ẽ ạ ừ  ới  và thông báo 25. Thực thi MSTC(X, Ni) 26.else 27. Trở ề v cell cha 28. Thực thi cell MSTC(W )//T là , T cha cua o W 29.if tr v subcell u ở ề điểm khở ầ i đ  then 30. a mình Thông báo hoàn thành công việc củ 31.while t t c các robot v n c c ấ ả ẫ chưa thông báo hoàn thành công việ ủa chúng do 32. nh k các robot có k t n i v i mình xem chúng còn s ng Kiểm tra đị ỳ ế ố ớ ố không 33. if robot  đã chết then 34. nh n i cell robot Xóa cạ ối vớ  đã đi và thông báo 35. c Thông báo mình chưa hoàn thành công việ 36. L y thông tin c n ph n g n nh t t v ng trong ấ cell ầ ải đế ầ ấ ừ ị trí nó đứ backtrack 37. Di chuyển điểm đã kế ố ới robot đã chế t n i v t 38. cell mình k i robot   ết nối vớ j 39. k i v i mình  cell robot j ết nố ớ 40. Xóa các c a robot cell ủ j mà đã đượ ậ ậ c c p nh t 41. Xóa robot i m ng backtrack và thông báo j khỏ ả robot j đã thực hi n xong ệ 42. V c nh t t và thông báo ẽ ạ ừ  ới  43. MSTC( ) Thực thi X, Y 44.K p ết thúc vòng lặ 45.D ng ừ Giả ả ậ i thích mã gi thu t toán 6:
  • 46. 38 Thuật toán 6 mô t quá trình làm vi c c a m t robot. T t c ả ệ ủ ộ ấ ả các robot đều thự ậ ở ậ ẽ ấ c thi thu t toán này, b i v y có bao nhiêu robot thì s có b y nhiêu th hi n c ể ệ ủa thuật toán này. T dòng 1 t i dòng 20 c a thu t toán này, gi ng v t toán ừ ớ ủ ậ ố ới thuậ ORMSTC đã trình bày ở ệ ẽ ế ấ ả . trên Vi c thêm vào các nó s cell là tìm ki m t t c các cell theo b i, trái, ph tìm ki m ki trong b t k ốn hướng (trên, dướ ải), ế ểm tra nó đã ở ấ ỳ cây con c . T n dòng 26 ng thành l ủa robot nào hay chưa (dòng 6) ừ dòng 21 đế giố ập cây con trong quá trình t o cây bao trùm v i thu t toán MSTC-offline. N u nó tìm ạ ớ ậ ế thấ ều hơn mộ ớ ự y nhi t cell m i thì d a vào tính kho ng cách ng ả Manhattan qua đó khoả cách xa nh t t i thi u theo Manhattan c n các robot còn l i. T i dòng ấ ố ể ủa robot đó đế ạ ạ 31 đế ố ớ ật toán ORMSTC đã trình b n 44 thì gi ng v i thu ày ki m tra các robot ở trên ể khác. 3.4.1.4. Phân tích các tiêu chí của thuật toán cải tiến - Tính m nh m ạ ẽ Xét v m t lý thuy t, thu m b c tính m nh m ề ặ ế ật toán này đã đả ảo đượ ạ ẽ. Các robot khi g p m a m ng nghi i v trí ặ ột cell cũ củ ột đồ ệp khác, nó đã tiến hành lưu lạ ị g trong tình hu ng nghi p b t sau này. N u ặp nhau đó nhằm giúp đỡ ống robot đồ ệ ị chế ế nó g c robot kia ch t thì nó s c hi n công vi c c ặp được đúng lúc và biết đượ ế ẽ thự ệ ệ ủa robot kia k p th i tránh quay lui ị ờ Đoạ ật toán, khi robot đã hoàn thành công việc nhưng chưa hoàn n sau thu toàn d ng h n ngay l p t c, mà v n ti p t c ho n khi t t c ng ừ ẳ ậ ứ ẫ ế ụ ạt động cho đế ấ ả các đồ nghi p c ng nghi ệ ủa nó đã hoàn thành công việc. Trong khi các đồ ệp chưa hoàn thành, nó đị ỳ nh k ki m tra tr ng thái c ng nghi p xem có robot nào b ể ạ ủa các robot đồ ệ ị chết hay không. - Tính bao ph toàn b : ủ ộ V i khu v c làm vi và robot, t ng h p toàn b nh ng bao ph ớ ự ệc W k ổ ợ ộ ững đườ ủ c m b o bao ph c hoàn toàn . Tính ch t này có th ủa các robot con đả ả ủ đượ W ấ ể được chứng minh như sau: o Trong trườ ợ ng h p :    V i ch m t robot, vi c xây d ng cây con nó s tìm h t b ng. N u ớ ỉ ộ ệ ự ẽ ế ốn hướ ế tìm
  • 47. 39 thấ ều hơn mộ ấ ả ả ằ ẽ ấ y nhi t ô. T t c kho ng cách là b ng nhau nên nó s l y giá trị đầu tiên nó đã gán trong list_N danh sách ấ ớ . Khi nó không tìm th y m cell i nào n a thì nó s quay v a cell c hi n tìm. K ữ ẽ ề cell đi ra củ đó (ô cha) và thự ệ ết thúc quay v cell u và tìm không tìm th y nào n a. Mà khu v ề ban đầ ấ cell ữ ực làm vi c liên ti p nên nó s không th b nào. V y s tìm h ệ ế ẽ ể ỏ qua cell ậ ẽ ết được toàn bộ ự cell trên khu v các c W. o Trong trườ ợ ng h p :    Ta xét m . Khi th c thi thu t toán MSTC, nó sinh ra m t cây ột robot i đơn lẻ ự ậ ộ bao trùm c c b , v i nh ng a riêng nó, và t o ra m ng bao ụ ộ ớ ữ cell cũ củ ạ ột đườ ph cho m t vài cell m nhi m. V i m t cell c nó tìm ki m mà ủ ộ mà nó đả ệ ớ ộ đượ ế n m trong các cell c c l y v t c n. ằ ủa robot khác. Nó xem như cell đó đượ ấp đầ ậ ả Tương tự ớ ủ ủ ẽ xem như các v i cell c a nó trên cây con c a nó, các robot khác s cell chi này đã bị ếm, và coi nó chính xác như việ ộ đượ ấ c nó là m t cell c l p đầ ở ộ ậ ả ở ậ ấ ả ữ khác cũng đượ y b i m t v t c n. B i v y, t t c nh ng cell c chia thành k - 1 k - 1 đường đi và được robot bao ph , gi i gi s ủ ống như vớ ả ử ban đầu được đặt ra. Robot i cũng xem tấ ả ị ế ở robot kia như là t c các cell b chi m b i k - 1 m t v t c m v c a nó tr thành bao ph toàn b m t khu v ộ ậ ản, do đó nhiệ ụ ủ ở ủ ộ ộ ực làm việc, giống như vớ ờ ợ i trư ng h p k = 1 trên. ở - Tính không dư thừa N u t t c u th c thi theo thu t toán 6 trên, và không robot nào b ế ấ ả robot đề ự ậ ở ị chế ẽ ị đi nhiều hơn 1 lần. Điề t, s không có cell nào b u này có thể chứng minh như sau: N u không có robot nào b l i, và m i robot ch c xây ế ị ỗ ỗ ỉ đi theo những cell đượ d ng b cây bao trùm c a riêng nó. N u m ự ởi ủ ế ột cell đã đượ khác đi, nó đã c robot được đánh dấu là cell cũ, bởi vậy không có m t robot nào khác có th ộ ể đi vào cell đó n u robot không có quay lui, không có m n. ữa. Nế ột cell nào bị đi quá nhiều hơn 1 lầ
  • 48. 40 3.4.2. Tri n khai thu t toán MSTC - Full ể ậ 3.4.2.1. Khu vực bao phủ M i robot là m t công c d n ti n hình d ng m ỗ ộ ụ có kích thước là D để ễ thuậ ệ ạ ỗi robot xem như một hình vuông kích thướ ục tiêu là để ủ ự c D. M bao ph các khu v c làm vi c s d ng công c này. Trong các ng d ng th c t , công c này có th ệ ử ụ ụ ứ ụ ự ế ụ ể tương ứ ớ ả ế ắ ắn là đượ ự ệc để ng v i các c m bi n ch c ch c quét qua các khu v c làm vi phát hi n m c D có th nh b i ph ệ ột đặc trưng quan trọng, và kích thướ ể được xác đị ở ạm vi hi u qu c a b c m bi n. Các robot có th di chuy ệ ả ủ ộ ả ế ể ể ụ ốn hướ n liên t c trong b ng cơ bả ố ả ể xác đị ị ả ự n (lên, xu ng, trái, ph i), và có th nh v trí b n thân trong khu v c làm vi trong ph m vi m t subcell c DxD. ệ ể c đ ạ ộ kích thướ Không bi t ranh gi i khu v c làm vi c chính xác và t t c các v ng ế ớ ự ệ ấ ả ị trí chướ ng i v c gi u c c l p. Chia ạ ật (đượ ả định là tĩnh), nhưng các vị trí ban đầ ủa chúng độ ậ khu v c này thành các ô 2Dx2D, m i g m b n ô con kích ự vuông có kích thước ỗ cell ồ ố thướ ếu chướ ạ ậ ộc ô con nào thì xem ô con đó chính ô con c DxD. N ng ng i v t thu chướ ạ ậ ể ị ố ợ ế bào trong lướ ớ ỉ ố ợ ng ng i v t. Bi u th s lư ng t i v i N, và ch rõ s lư ng subcell c a n, t c là, N = 4n. Khu v c bi y m i ủ ứ ực ban đầu là không đượ ết như vậ ỗ ô con ban đầu đượ ố c coi là tr ng. Điể ở ầ ủ ậ ự ệ ớ ị trí ban đầ m kh i đ u c a thu t toán là khu v c làm vi c và k robot v i v u độ ậ c l p: A0,..., Ak-1. Các v u c a m c gi nh là trong m t ô ị trí ban đầ ủ ỗi robot đượ ả đị ộ con không có chướ ạ ậ ẽ ế ị ủ ả đị ệ ủ ng ng i v t, và robot s bi t v trí c a nó. Gi nh làm vi c c a thuậ ể xác đị ị ủ ển khai lướ ủ t toán, robot có th nh v trí c a chính nó trong tri i c a khu v c làm vi ự ệc. Môi trườ ệ ủ – ủ ế ấ ả ữ ứ ng làm vi c c a MSTC Full bao ph h t t t c nh ng cell ch a ít nh c DxD. Gi i thu ất kích thướ ả ật đầy đủ ử ụ ấu trúc đồ ị ổ sung như sau: s d ng c th b các cell chi nodes c m c a t t c nh ng ủa đồ thị là các tâm điể ủ ấ ả ữ trố ặ ị ng ho c b ế ộ m m t ph n. Các c nh c k t n m c a nh ng n k a nh ng ầ ạ ủa đồ thị ế ối các tâm điể ủ ữ cell liề ề chứ ữ subcell trố ộ ựng đem đế ạ ủ ng và cùng chung m t biên. Quá trình xây d n hai d ng c a c nh n -sided edges) gi subcell ng c hai phía ạ ố ạnh có hai phía” (double i:“c ữ các trố ở ả (hình 3.5. nh cóm -sided edges) gi ít nh t m t b a), và “cạ ột phía” (single ữ ấ ộ subcell ị
  • 49. 41 chiếm ở ộ ộ ấu trúc khác trong đồ ị ớ ổ m t phía (hình 3.5.b). Ngoài ra m t c th lư i b sung là “gấp đôi nút” (node doubling). Mộ ị ế ộ ầ ớ ố t cell b chi m m t ph n v i các subcell tr ng n c g t k t n i c c b ằm chéo nhau đượ ọi là “mấ ế ố ụ ộ” (locally disconnected). Bở ụ i vì d ng c quét có th n các ng t lân c n, chúng ta bi u di ụ ể vươn đế subcell trố ừ các cell ậ ể ễn nh ng i nút có c nh riêng n n nh ng n k ữ cell như vậy như là hai nút, mỗ ạ ối đế ữ cell liề ề mà t t ng có th p c n (h . ]. ừ đó mộ subcell trố ể được tiế ậ ình 3.5 c)[2 Hình t phía; 3.5: nh có hai phía; (b): C nh có m (a): Cạ ạ ộ (c): Gấp đôi nút ở cell mất kết nối cục bộ 3.4.2.2. Ý tưởng thuật toán V ng làm vi c th c ti n thì vi c v t c n không ch ới môi trườ ệ ự ễ ệc khích thướ ậ ả ỉ là 2Dx2D và nó còn có khích thướ ớ ể ỗ ấ ỳ c DxD. V i các bài toán trên hi u m i cell có b t k subcell nào là chướ ạ ậ ểu chướ ạ ật khích thướ ậ ng ng i v t thì hi ng ng i v c 2Dx2D. V y bài toán bao ph s không bao ph c hoàn toàn nó còn có nh ng c a cell ủ ẽ ủ đượ ữ subcell ủ đó chưa được “thăm” ụng đối ý tưở ật toán 6 để ả . Áp d ng thu gi i quyế ấn đề t v bao ph cho vùng làm vi i v ng ng i v t . M i robot th ủ ệc đố ới kích thước chướ ạ ậ DxD ỗ ực hi n tìm nodes cho cây con c a nó b ng cách robot ph t t subcell c a ệ ủ ằ ải đi hế ất cả các ủ cell cell nó đang đứ ừ đó có thể ế ế ng. T bi t h t các thông tin nào là có chướ ạ ậ ng ng i v t và thông qua đó để ả ố ểu đố ạ ậ tính toán kho ng cách xa t i thi i các robots còn l i. V y m i l n robot th c hi t thì robot ph i t t c c a ỗ ầ ự ện đang xét mộ cell ải đi lạ ấ ả các subcell ủ cell đó. Vậy tính hi u qu c a thu t toán s không còn và lúc này có th i gian ệ ả ủ ậ ẽ ể thờ bao ph cho thu t toán MSTC s nhi u t nhi u. ủ ậ ẽ ề hơn rấ ề