TÊN ĐÈ TÀI: NGHIÊN CỨU PHAT TRIÊN HỆ TÁC NHÂN THONG MINH HOẠCH ĐỊNH ĐƯỜNG ĐI CHO ROBOT NHIỆM VỤ VÀ NỘI DUNG:> Xây dựng ban đồ dạng đồ thị Topological map trên dữ liệu bản đồ lưới Occupan
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
LÊ VĂN TUYẾN
Chuyén nganh: Kỹ thuật điều khiến va tự động hóaMã số: 60520216
LUẬN VĂN THẠC SĨ
TP HO CHÍ MINH, tháng 12 năm 2014
Trang 2Công trình được hoàn thành tại: Trường Đại học Bách Khoa —- ĐHQG —- HCM.
Cán bộ hướng dẫn khoa học: PGS.TS HUỲNH THÁI HOANG
Thanh phan Hội đồng đánh giá luận văn thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vi của Hội đông cham bảo vệ luận văn thạc sĩ)
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAMTRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập — Tự do — Hạnh phúc
NHIEM VỤ LUẬN VĂN THẠC SĨHọ và tên học viên: LE VĂN TUYỂN MSHV: 13150502
Ngày, tháng, năm sinh: 20/02/1984 Nơi sinh: Tuyên Quang
Chuyên ngành: Kỹ thuật điều khiến & tự động hóa Mã số: 60520216I TÊN ĐÈ TÀI:
NGHIÊN CỨU PHAT TRIÊN HỆ TÁC NHÂN THONG MINH HOẠCH
ĐỊNH ĐƯỜNG ĐI CHO ROBOT
NHIỆM VỤ VÀ NỘI DUNG:> Xây dựng ban đồ dạng đồ thị (Topological map) trên dữ liệu bản đồ lưới
(Occupancy grid map) Khi bản đồ lưới thay đối, giải thuật sẽ học lại bản đồdạng đồ thị mà không can phải hiệu chỉnh lại giải thuật
> Thiết kế giải thuật tìm kiếm A* tìm kiếm đường đi cho robot trên bản đồ lướivà đồ thị
> Xây dựng giải thuật điều khiến bám cho robot
> Xây dựng hàm nội suy spline hoạch định quỹ dao.
> Thiết kế mô hình robot hai bánh dẫn động độc lập, mô hình bản đô.H NGÀY GIAO NHIỆM VỤ: 08/2014
HI NGÀY HOÀN THÀNH NHIỆM VU: 12/2014
IV CAN BO HƯỚNG DAN: PSG.TS HUYNH THAI HOANG
Tp HCM, ngày thang nam
CÁN BỘ HUONG DÂN CHỦ NHIỆMBỘMÔN TRƯỞNG KHOA (Họ tên và chữ ký) ĐAO TẠO (Họ tên và chữ ký)
(Họ tên và chữ ký)
PGS.TS Huỳnh Thái Hoàng TS Trương Đình Châu TS Đỗ Hồng Tuân
Trang 4LỜI CÁM ƠNTôi xin chân thành cảm ơn PGS.TS HUYNH THÁI HOÀNG, người đã luôn tậntình hướng dẫn, chỉ bảo những kiến thức quý báu trong suốt quá trình thực hiện luậnvăn nay Thay đã giúp tôi có thêm những hiểu biết sâu sắc về dé tài cũng như kiến thứcchuyên môn trong suốt quá trình học tập tại trường.
Xin cảm ơn mẹ và em trai đã động viên, khích lệ tôi trong suôt quá trình học tậpcũng như trong cuộc sông, đã tạo mọi điêu kiện đê tôi có thê chuyên tâm thực hiện luận
văn.
Xin cảm ơn các thay cô trong bộ môn Điều khiến tự động đã tận tình giảng dạy,truyền đạt kiến thức chuyên môn, chia sẻ kinh nghiệm trong suốt quá trình học tập của
Aetol.
Xin cam ơn bạn bè, đồng nghiệp đã ủng hộ giúp đỡ tôi trong quá trình học tập
tại trường.
Lê Văn Tuyến
Trang 5TÓM TATTrí tuệ nhân tạo ngày nay đang có nhiều ứng dung trong thực tế Nhat làtrong lĩnh vực robot, xe tự hành Đề tài thực hiện giải thuật tìm kiếm A*, một giảithuật pho bién trong lĩnh vực trí tuệ nhân tao, để tìm kiếm đường đi cho robot diđộng Để hoạch định đường đi tối ưu cho robot, cần phải có bản đồ môi trường Bảndé thường sử dụng là bản đồ dạng lưới (Occupancy grid map) Dé nâng cao hiệusuất, thời gian tìm kiếm, cân thiết phải xây dựng bản đồ dạng đồ thị (Topologicalmap) dựa trên co sở bản đồ lưới Khi bản đồ lưới thay đổi, giải thuật sẽ tự động cậpnhật dữ liệu bản đồ dạng đồ thị mà không cần hiệu chỉnh lại giải thuật Sử dụng giảithuật A” đề tìm kiếm đường đi trên hai loại bản đồ này Xây dựng giải thuật điềukhiển bám quỹ đạo va ham nội suy dang đa thức bac ba Spline để hoạch định quỹđạo robot theo kết quả tìm kiếm được từ bản đồ lưới.
Trang 6ABSTRACTArtificial Intelligence become popular in real application, specially inrobotics, mobile robots The target of this subject is created A star algorithm, whichis the usual algorithm in Artificial Intelligence, searching optimal path for mobilerobots To find out optimal path for mobile robot, global map need to build before.The popular map is called Occupancy grid map To increase effect and total time ofsearching, need to build Topological map base on Occupancy grid map WhenOccupancy grid map is changed, the algorithm will rebuild Topological map UsingA star search algorithm for two kinds of map Performing an algorithm to makemobile robot tracking follow a path and using interpolating function is calledSpline, which is create base on searching result in grid map.
Trang 7LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này là do tôi thực hiện, hoàn toàn không sao chépnội dung của tác giả khác hoặc do người khác làm giúp Toàn bộ các trích dân, công
thức, giải thuật sử dụng của tác giả khác đều được chú thích day đủ
Lê Văn Tuyến
Trang 8MỤC LỤC
CHƯƠNG 1: GIỚI 'THIÍ”UU 2-5 << << << S£ 2£ S8 5s SeS 4s ££eEeEeEesesesese 61.1 Đặt vẫn đỀ G11 111211 H110 ng TT ng ng 61.2 TỐng quan 5c 235221219 1232122121111 111111 11211111 111111 1111101110101 gyye 8
1.3 Mục tiêu nghiÊn CỨU - - - << + 110000 0 ve 151.4 Phương pháp nghiÊn CỨU G99 kg 161.5 Sơ lược nội dung luận VAN (<< 11000101 ke 18CHUONG 2: XỬ LY ANH TRONG PHAN VUNG BAN ĐỎ VÀ ĐỊNH VI VI6ð 18:06)0505057 20
2.2 Ban dé trong lĩnh vực robot di động - (<< SH ng, 202.2.1 Bản đồ dạng đồ thị (Topological map) << << << eeeeess 202.2.2 Ban đồ dạng lưới (Occupancy grid map) ¿5-5 25s 5s+s+sscs+sszscs2 212.3 Khái niệm về cây đồ thi và biểu diễn đồ thị trên máy tính 222.3.1 Khái niệm cây d6 thị 5-6 + SE SE ST T11 E1E11151511 1111111 te 222.3.2 Biểu diễn cây đồ thị trên máy tính ¿-¿- - + 2 2£s+E£xzezrrsrereee 232.3.2.1 Ma trận KỆ: tt 191919111 5 5111511111 01111119 111110811 ng ng 23
“BÊ 0) 3c 24
2.3.2.3 Danh sách kỀ - ¿5c St2t 2x2 223 212212121112111121111111 11 xe 242.4 Giải thuật xây dựng bản đồ dạng đồ thị sử dụng xử lý ảnh - 252.4.1 Kết hợp bản đồ lưới và đỗ thị cho robot di động -‹- 252.4.2 Phân vùng bản đồ lưới sử dụng xử lý ảnh -.- 2-5-5552 5s+c+cscs2262.4.2.1 Biéu đỗ Voronoi và đường khung Medial axis . ‹- 272.4.2.2 Giải thuật tìm các điểm giới han (Critical points) trên đường Voronoi
Ắ«Ả Ốằ Ề d1 292.4.2.3 Xây dựng đường giới han (Critical lines) -«««««<+<<<<s 32
2.4.2.4 Phân vùng bản đồ theo đường giới hạn 552 52s+5s552 342.4.2.5 Xây dựng dữ liệu bản đồ dạng đồ thị và dữ liệu cho giải thuật tìmkiếm A* trên d6 thị, - tt 1911 1S 11191 111 91110193 51110151 1g ng neo 36
2.5 Xác định vi trí robot dùng xử lý ảnh - <1 1 99 1 ke 37CHƯƠNG 3: TÁC NHÂN THONG MINH VÀ GIẢI THUẬT TÌM KIÊM 39
cam 7 0 ‹+11I 39
3.2 Tác nhan thông minh (Intelligence agent) - -«-«sss s25 re 39
3.3 Giải thuật tìm kiếm trên d6 thị - - - E12 ExEsEE SE eEsEekekeesersesed423.3.1 Tìm kiếm theo chiều sâu (Depth first search) - ss5s+s+c<£scs¿ 43
Trang 93.3.3 Giải thuật tìm kiếm A'** ¿Set S111 215112151111211 1111111111111 te 45CHƯƠNG 4: TÁC NHÂN THÔNG MINH HOẠCH ĐỊNH ĐƯỜNG ĐI CHO
;:00):9050003555 51
AL TOng QUane.ceccccccsccccscssssssesscsssesscsesesssscsecscsesssscsesscscscsesessssesecsesesecsescescscseeseseseees 514.2 Phương pháp sử dụng giải thuật tìm kiếm A* trong ban đỗ dạng đồ thi 514.3 Phương pháp sử dụng giải thuật tìm kiếm A* trong bản đồ dạng lưới 53CHUONG 5: XÂY DUNG MÔ HÌNH ROBOIT 5 5 5 so sscsssses 56
5.1 Mô hình động học robot di động và bài toán bám (Tracking) theo quỹ đạo 565.1.1 Mô hình động học robot di động - S1 1 re, 56
5.1.2 Điều khiến bám quỹ da0 5-52 25222233 2E E1 EEEEEEEEEEEErrrrrrkred 58
5.2 Hàm nội suy Spline và hoạch định đường di cho robot di động 595.3 Mô hình rODO - 5< c2 C121 100010118030 1100 1110 110 ng ng ng ng ng 63
5.4 Mô hình bản đồ - G552 S213 1 E2 1 121 1511511111101 111511 0111111111111 cx 66CHƯƠNG 6: KET QUA THUC HIỆN VA ĐÁNH GIA - 686.1 Kết quả thực hiện woe cscsccescscscsssscscscscssscsescssssscsescsessssssesesessssseseseens 686.1.1 Xây dung và phân vùng bản d6 lưới - + 25552 s+x+£ze+xszscs2 686.1.2 Xây dựng ban đồ dạng đô thị từ kết quả phân vùng ban đô lưới 726.1.4 Kết quả tìm kiếm trên bản đồ dạng đa đồ thị - 2 2 25555555: 74
6.1.5 Xây dựng quỹ đạo đường đi dùng hàm nội suy Spline 76
6.1.6 Kết quả giải thuật điều khiển bám - 2555252 5s+£+c£e+eezcs2 796.1.7 Xây dựng lại bản đồ khi có thay đổi ¿5555555 csccsecezesreree 806.2 Đánh giá kết quả thực HiGN cece cscsssscsescecsssscscscscsssssescssssscseseseesssesees 83
6.3 Đóng góp khoa học của luận văñ - - (<< + S99 1 ng re 84
6.4 Hướng phát triển của dé tài ¿5-5-5222 1E 1211121211111 1 xxx 84TÀI LIEU THAM KHAO 2 o° < s2 S2 S9 s94 se esesssscse 85
Trang 10DANH SÁCH CÁC HÌNH
Hình 1.1: Hoạch định theo ban đồ đường: a) Đồ thị trực quan, b) Biéu đồ Voronoi 8Hình 1.2: Hoạch định theo phép phân giải tương đối -5 5552 55+c+sscs2 9Hình 1.3: Mô hình phần cứng xe lăn thông minh dang mô đun [1] II
Hình 1.4: Mô hình tác nhân xe lăn thông minh [ Ï | -« «<< «5555 << sssss>>++2 12
Hình 1.5: So sánh kết quả ước lượng vị trí giữa phương pháp SLAM 13
và doc giá tri từ encoder [3] - - - << - «c6 +3 1111133991111 119 9911 ngờ 13
Hinh 1.6: 0.2001 14Hình 1.7: Xây dựng bản đỗ dạng đỗ thị [7] ¿5-5-5 2 252 S2+E£E+E+££zEreererrsred 14
Hinh 1.8: MG hinh 0i9 1011177 16
Hinh 1.9: /00ï).00.0 000017 16Hình 2.1: Biéu diễn ban đồ dạng đồ thi vce ccc eseseeeeseesecesesessstetetetetseseseeen 20Hình 2.2: Biểu diễn bản đồ li eeseeseececseessesseeseeeseeseeeseeseeeneeseeseesneeneeseeneesneeneenees 21Hình 2.3: a) Đồ thị vô hướng, b) Đồ thị có hướng . 2-22c2 s+x+ccscse2 22Hình 2.4: a) Đơn đồ thi, b) Đa đỗ thị 5-5-5 S223 SE E21 111111111111 re 23Hình 2.5: Xây dựng bản d6 dạng đỗ thị [10], [11] 5-5- 2 2 252 5s+szs+£z£e£s>s2 26Hình 2.6: Biểu đồ VOrOnoi ¿- - - E112 5 5E E311 1 1 1 1 1 1111111111111 1e 27
Hình 2.7: Đường VOTOROI - < G50 0.900 0 ng 28Hình 2.8: Xây dựng đường Voronoi dùng giải thuật Medial axis 28Hình 2.9: Duong Voronoi dùng giải thuật Skelefon - - << < 5s essss 29Hình 2.10: Đường Voronoi phan đoạn - <5 - 55 S111 ng 3l
Hình 2.11: Ảnh biến đôi khoảng cách: ¿2-5252 S*‡EvEeEcEekererrrrrrerree 31Hình 2.12: Giải thuật tìm điểm giới han và một điểm cơ bản -<¿ 32
Hình 2.13: Thanh lập đường giới hạn - 25G 5 30111 19930511 99930 1n nen 33Hình 2.14: Giải thuật thành lập đường giới hạn - 55555 << eessesss 34Hình 2.15: Loại bỏ đường giới hạn không phù hợp - - <5 «<< essss 35Hình 2.16: Các phân vùng có diện tích nho - 5 - <1 11199911111 egv 36
Hình 2.17: Kết quả loại bỏ các vùng diện tích nhỏ - ¿2555252 5s+s+scscs+2 36
Hình 2.18: Xác định tọa độ rObO( << << c 0113111111111 1 111111111 111155 xe 38Hình 2.19: Giải thuật tìm tọa độ rODOL - 33111111111 1111111111111 x6 38Hình 3.1: Simple reflex agents [Š Ì - «c0 ng ngờ 39Hình 3.2: Model — based reflex agents [8] - S39 999995353111 1111 vrrereeee 40Hình 3.3: Goal — based agents | - - << < << s S999 99 000 re 4IHình 3.4: Utility — based agents [8] - G9 ngờ 41
Hình 3.5: Các bước tìm kiếm theo chiều sâu -¿c:+c++cxsrxerrsrrrrrrrerrree 43Hình 3.6: Giải thuật tìm kiếm theo chiều sâu - 5 + 6 se E+E2E+E£EsEsEeesesecee 44Hình 3.7: Các bước tìm kiếm theo chiều rộng ¿+ 2-2522 +£z£££E+Ezxzzrsred 45
Trang 11Hình 3.8: Giải thuật tìm kiếm theo chiều rộng ¿-5- 55-5 252 S2£Ece+ezrrsred 46Hình 3.9: Đồ thị đường đi trong bài tốn Romania - 2 2 252 55+c+cs£cscs2 48
Hình 3.10: Lời giải bài tốn tìm đường Roman1a - 55 - << 11s essss 49Hình 4.1: Mơ phỏng tính chi phí ø, Ủh - << << 0 1999900 1 ng ngờ 53Hình 4.2: Hiện tượng rang CƯa - - - - ( << << S9 ng 55
Hình 5.1: Mơ hình robot và các thơng số, ký hiệu - + + 552252 5s+s+scecse2 56
Hình 5.2: Quỹ đạo đường di Spline - - cờ 59Hình 5.3: Mơ hình robot - 99999900000 nh 63Hình 5.4: Động co DC tích hợp Quadrature Encoder 334 xung 64
Hình 5.5: Mạch cầu H sử ung IC L298 11177 64
Hinh 5.6: Bo mach 90 5 64Hình 5.7: STM32F4 DISCOVERY board - - - 255 5301113953011 993511 re 65
Hình 5.8: So đỗ chương trình máy tinh - ¿2-5 + 2 2£2£E£E+E+£££EzEzEzxzrersred 65Hình 5.9: Sơ đỗ chương trình vỉ XU lý - - ¿5 ©5252 2s+E+EE£E+EeErkerererkrrrrerree 66Hình 5.10: Sơ đỗ kết nối bộ Xử LY cece ccscsescscscssesesescscsssscsescssssssesesessessesees 66Hình 5.11: Mơ hình bản đồ mơ phỏng và caimera -.- +: + + 22x22 ss+x+xcscxez 67Hình 6.1: Ban đỗ mơ phong c.cecccccsccscscsscsessssssesscsesessesesessesesesscsesessesssesssesseesssseeeeees 68
Hình 6.2: Voronoi dung giải thuật Medial aXIS -ĂSSẶ BS ng 68Hình 6.3: Voronoi dung giải thuật SKeÏefOïn c9 1 ng 69
Hình 6.4: Biến đối khoảng cách của bản đồ - + ¿52 5c+cS+cxveczecrerererree 69
Hình 6.5: Duong Voronoi sau khi loại đi các vùng nhỏ - «55 << <e<+sss70Hình 6.6: Các đường giới hạn - - - - <5 00900 nen70
Hình 6.7: Phân vùng bản đồ (13 vùng) ¿5 222 Sc 2xx E2xEErkekrrrrrrrrrreee 7]Hình 6.8: Phân vùng lại bản đồ (8 2ì 7]Hình 6.9: Xây dung bản đỗ dạng đỗ thị, - + ¿5 S5 + E21 3 3E EEErErkrrrrrrrred 72Hình 6.10: Bản đỗ đơn đồ thị 5c 73Hình 6.11: Kết quả tìm kiếm đường đi - - ¿+ 25222252 S+£E+EeEcxvrererrerrrerree 73Hình 6.12: Kết quả tìm kiếm đường đi - ¿+52 52222 S++E+EeEckeEererrerrrerree 74Hình 6.13: Bản đỗ phân vùng dạng đa đồ thị - 2555-5252 2c+ccscevrsrecxee 74Hình 6.14: Biểu diễn bản đồ đa d6 thị -G- G- x33 EsE SE SvEeeserkseseree 75Hình 6.15: Kết quả tìm kiếm trên đa d6 thị - 2 252 522S2£+£+££E£E£Ezezrrsred 76Hình 6.16: Kết quả tìm kiếm từ A(250, 45) đến B(329, 90) - 5 ccccccsce¿ 76Hình 6.17: Kết quả so sánh các quỹ đạo ¿+ + 5z +EEeEckvkerkrkrrrrerree 77Hình 6.18: Vận tỐc dài 1 - tk 111121 1E 11111211 T111 1g ng ng 77Hình 6.19: Vận tỐc BĨC @) CC 222 123 12151511 132121211 1111111111111 11111 rk 78
Hình 6.20: Gĩc Quay G0 Họ và 78
Hình 6.21: Kết quả tìm đường đi - ¿2-5-5222 ESEEEEEEEEEEErrrrkrkrrrrrrree 79Hình 6.22: Kết quả so sánh quỹ đạo xây dựng và quỹ đạo thực tẾ - 79Hình 6.23: Bản d6 lưới - + tt th TH HH kg 80
Trang 12Hình 6.24: Đường VOTOROI - 25G 90011990 n n 30Hình 6.25: Các đường giới hạn phân vùng - . «+ <1 x11 9 1 re 81
Hình 6.26: Kết quả phân vùng sơ Độ w.cceccccccscsssescscscsssssscsescsssssscsesessssssssessessesees 81Hình 6.27: Kết quả tìm đường đi - ¿2-5-5222 2xEEEEEEEEEEEEEErrkrkrrrrrrkes 83
Trang 13CHƯƠNG 1: GIỚI THIỆU
1.1 Đặt vẫn đềHoạch định đường di là bài toán nhận dạng đường di sao cho robot đi đếnđược đích với bản đồ và đích đến biết trước Một số phương pháp kinh điển như:phương pháp trường thé năng, phương pháp phân giải 6, phương pháp bản déđường Mỗi phương pháp đều có ưu và nhược điểm Phương pháp trường thế năngcó nhược điểm khiến robot rơi vào điểm tối thiểu cục bộ Phương pháp phân giải ôtrở nên phức tạp khi môi trường có nhiều vật cản, tuy nhiên áp dụng tốt các giảithuật tìm kiếm đường đi Phương pháp bản đồ đường đơn giản nhưng không cho kếtquả tối ưu, hoặc nếu tối ưu thì không an toàn do robot di chuyển gan vật cản
Một phương pháp tìm đường rất phổ biến là A* đã chứng minh rất thànhcông khi áp dụng vào xe tự hành của Stanford trong giải đấu DARPA UrbanChallenge A* là giải thuật sử sung nhiều trong lĩnh vực trí tuệ nhân tạo trong việctự động lên kế hoạch dé đạt được mục đích đề ra Đặc điểm của A* là xây dựng cáchàm chi phí thực kết hợp với chi phí tính toán dựa trên kinh nghiệm, nên đã cho kếtquả tối ưu cho các bài toán bao gém bài toán hoạch định đường đi với chi phíkhoảng cách nhỏ nhất
Để hoạch định được đường di, robot cần biết trước bản đồ đang hoạt động.Có hai loại bản đồ sử dụng trong lĩnh vực robot di động: bản đồ lưới và dạng đồ thị.Mỗi ban đồ đều có ưu, nhược điểm riêng Bản đồ dạng đô thị với ưu điểm là mô tamôi trường tong quát, chia môi trường thành những vùng nhỏ liên kết với nhau Dérobot hoạt động được trong ban đồ này cần bố sung thêm các thông tin về môitrường (Feature base) như: vị trí tường, các góc của phòng, cửa đi, Ban đồ dạnglưới mô tả môi trường là tập hợp các ô mắt lưới, mỗi ô mang một giá trị xác suấtđánh giá mức độ trống của 6 Bản đồ lưới như là ảnh xám mô tả thông tin môitrường, nên có thể áp dụng các giải thuật xử lý ảnh hỗ trợ cho bài toán tìm đườngđi Xét về mặt tìm kiếm đường đi, bản đồ dạng đồ thị áp dụng tốt các giải thuật tìmkiếm, bản đồ lưới phức tạp hơn vì số lượng các ô mắt lưới rất lớn nên ảnh hưởngđến tốc độ tìm kiếm và tài nguyên máy tính Nếu kết hợp được hai ban đỗ này vàohoạch định đường di sẽ làm giảm thời gian tìm kiếm rất nhiều
Mục tiêu của dé tài là kết hợp hai loại bản đồ trên dé hoạch định đường đicho robot, trong đó áp dụng giải thuật A* vào tìm kiếm đường đi cho cả hai ban đồ.Xây dựng bản đồ can khối lượng lớn công việc và giải thuật, nên trong giới hạn détài, tác giả mô phỏng ban dé lưới nhờ đọc camera gan trên bản đồ Dựa trên bản đồlưới, sử dụng các công cụ xử lý ảnh để xây dựng bản đồ dạng đồ thị Giải thuật xâydựng bản đồ dạng đồ thị xây dựng hoàn toàn tự động với bat cứ thay đổi nào từ bản
Trang 14đỗ lưới Xây dựng mô hình tác nhân có thé học, xây dựng lại ban đồ dạng đồ thị, cóthé tự hoạch định đường đi tối ưu cho robot khi bản đồ thay đổi Việc xây dựng bảndé dạng đồ thi rất quan trong vì giúp chia nhỏ bản đồ lưới, giúp giảm khối lượngtìm kiếm Thay vì tìm kiếm trên toàn bản đồ lưới từ điểm xuất phát đến điểm đích,sau khi được phân vùng, bài toán trở thành tìm kiếm trên từng vùng nhất định theokết quả tìm kiếm vùng trên đồ thi Như vậy, bài toán cho lời giải tối ưu cục bộ vì chỉcho kết quả tối ưu theo từng vùng.
Từ kết quả hoạch định đường đi phải xây dựng được quỹ đạo để robot bámtheo Có rất nhiều phương pháp xây dựng quỹ đạo, trong đó sử dụng các hàm nộisuy bậc cao để lập quỹ đạo Các hàm nội suy thường sử dụng là Spline bậc ba, cáchàm bậc năm, bậc bảy, các hàm nội suy bậc cao có ưu điểm là đạo hàm bậc mộttrơn, bậc hai liên tục Trong giới hạn đề tài, tác giả sử dụng phương pháp nội suySpline bậc ba, với ưu điểm là dễ dàng lập quỹ đạo do sử dụng các công cụ giải toánma trận, với đạo hàm bậc một trơn (vận tốc) và đạo hàm bậc hai liên tục (gia tốc)
Trang 151.2 Tong quanHoach dinh duong di cho robot la dé tai đã được nghiên cứu từ lâu, với rấtnhiều phương pháp đã được xây dựng [16].
Phương pháp hoạch định trong bản đồ đường (Road map) Bản đồ đường làtập hợp mạng các đường thắng và đường cong trong môi trường làm việc của robot.Có thé chỉ ra hai bản đỗ đường thường dùng là: đô thị trực quan (Visibility graph)
và biêu đô Voronoi (Voronoi diagram).
a) b)
Hinh 1.1: Hoach dinh theo ban dé duong: a) Đồ thị trực quan, b) Biểu đồ VoronoiPhương pháp đồ thị trực quan xây dựng không gian vật cản, giả sử vật cản làđa giác Bao gồm các cạnh nối các cặp đỉnh của đa giác (bao gồm cả vị trí đầu vàđích) Những đường thang này là đường ngăn nhất nối giữa các đỉnh Nhiệm vụ củam6 hình hoạch định là tìm ra tập hợp các cạnh để đi từ điểm xuất phát đến đích saocho quãng đường là ngắn nhất Ưu điểm của bản đỗ trực quan là dé dàng áp dụngcho robot Nhược điểm là khi vật cản tăng lên, các đỉnh đa giác tăng theo, do đó tậphợp các cạnh rất lớn, nên việc tìm kiếm đường đi sẽ phức tạp Các kết quả đường đithường có xu hướng làm cho robot gan vật cản, dẫn đến không an toàn Kết quảhoạch định trong đồ thị trực quan là tối ưu
Trang 16Phương pháp biéu đồ Voronoi xây dựng đường Voronoi như sau: với mỗiđiểm trong môi trường, tìm khoảng cách đến vật cản gần nhất Voronoi là tập hợp
các điểm trên, có khoảng cách đến hai (hoặc lớn hơn) vật cản gan nhat bang nhau
Nhu vậy, đường Voronoi có xu hướng tránh xa vật cản Với tinh chất này kết quahoạch định không phải là tối ưu
Phương pháp hoạch định sử dụng phép phân giải ô (Cell decomposition).
Phân chia môi trường thành các 6 trống va ô có vật cản Xác định xem các 6 trongcó thé liên kết được với nhau, xây dựng nên bản đồ kết nối (bản đồ dạng đồ thị).Sau đó xác định điểm đích và xuất phát thuộc các ô nào trong bản đồ Xây dựng giảithuật tìm kiếm tìm đường đi giữa các vùng, có thể tìm đến trung điểm của đường
biên mỗi vùng hoặc dùng giải thuật đi theo tường (wall — following) Có hai phương
pháp xây dựng là: Phép phân giải ô chính xác (Exact cell decomposition) và phép
phân giải xấp xi (Approximate cell decomposition)
Trang 17lại, nếu môi trường thưa sẽ là lợi thế cho giải thuật Trong phép phân giải xấp xỉ.Nếu kích thước các ô là có định, phép phân giải này tạo nên bản đồ mất lưới (hình1.6), là bản đồ rất phô biến trong robot di động Môi trường được chia thành các ô
có kích thước băng nhau, mỗi ô chứa giá tri xác suât đánh giá mức trông của 6.
Hoạch định trong trường thế năng (Potential field) Phương pháp này xemrobot như là một chất điểm chịu ảnh hưởng của trường thế năng nhân tạo Trongtrường này, vật cản tạo ra trường day (Repulsive potential), điểm đích tao ra trườnghấp dẫn (Attractive potential) Tổng hợp các lực tác động lên robot sẽ đây robot dichuyển Phương pháp này không chỉ là hoạch định mà còn vạch ra luật điều khiếnvì lực tác động vào robot có hướng và có giá trị nên sẽ đây robot đi theo hướng củalực với gia tốc phụ thuộc vào độ lớn của lực Nhược điểm của phương pháp này làrất dé rơi vào trạng thái tối cực tiểu cục bộ Rất nhiều phương pháp mở rộng trường
thế năng được đưa ra, mục đích là giải quyết nhược điểm của trường thế năng
Trong đó có phương pháp trường thé năng mở rộng BO sung thêm hai trường:trường thé năng xoáy (rotation potential field) và trường thé năng nhiệm vu (taskpotential field) Trường thé năng xoáy tạo ra bởi lực day của trường đây và khoảng
cách tới vật cản.
Trong [15], tác giả Sebatian Thrun giới thiệu nhiều phương pháp tìm đườngtrong bản đồ lưới như: A*, lập trình động (Dynamic programming) trong đó giải
thuật A* đã được áp dụng vào hoạch định đường đi cho xe tự hành của đại học
Stanford tham dự DARPA Urban Challenge và cho kết quả tốt
Việc áp dung tác nhân thông minh của lĩnh vực trí tuệ nhân tạo vào robot còn
rất mới Trong đó, các nghiên cứu chủ yếu xây dựng cho xe lăn thông minh, mộtdạng robot di động, nhưng đòi hỏi nhiều tác vụ phức tạp hơn Có nhiều hướngnghiên cứu về các tác vụ cơ bản cho xe lăn thông minh, bao gồm: dẫn đường, họcbản đồ, hoạch định đường di, Trong những năm gan đây, các dé tài tập trung
vào xây dựng xe lăn dạng mô đun tích hợp [1] dựa trên co sở các tác nhân thôngminh.
Trang 18Nhóm tác giả Rodrigo Antonio Marques Braga xây dựng mô hình phan cứng
cho xe lăn dạng mô dun [1] (Hình 1.3) M6 đun hoạch định thông minh sử dụng giải
thuật A* để tìm kiếm đường đi ngắn nhất Sử dụng ngôn ngữ định nghĩa miềnhoạch định (Planning domain definition language (PDDL)) để hoạch định các tác vucho xe lăn Mô đun dẫn đường sử dụng các cảm biến khoảng cách để định vị vàbiểu diễn ban đồ Tác nhân thông minh đảm nhận các nhiệm vụ: hoạch định tác vụ,
theo dõi thời gian thực, hoạch định đường di, nó tương tác với các tác nhân khác
như: tác nhân điều khiến, tác nhân cảm biến (Hình 1.4) Tác nhân điều khiến thựchiện chức năng điều khiến cơ bản: đi theo hành lang, đi theo đường thăng, xoay, dichuyển điểm — điểm Tác nhân nhận thức đảm nhận nhiệm vụ: biểu biễn bản đồ,định vị đồng thời quản lý các cảm biến Các tác nhân tương tác qua lại bằng ngônngữ giao tiếp tác nhân (Agent communication language (ACL)) Tuy nhiên, tác giảchưa đề cập đến van dé xây dựng mô dun học ban đồ, giúp cho việc hoạch định
đường đi.
Trang 19Interface Agent Intelligence Agent
Hình 1.4: Mô hình tác nhân xe lăn thông minh [1]
Nhóm tác giả Luis Montesano [2] xây dựng phương pháp dẫn đường sử dụng
trong môi trường động, với các vật cản có thé thay đổi không biết trước Dé làmđược điều này, tác giả mô hình hóa môi trường và theo dõi hành trình của xe lăn.Xây dựng bản đồ lưới để xác định các mắt lưới trong bản dé là trống hay có vật cản.Bộ lọc Kalman để theo dõi các đối tượng di động quanh xe lăn Sử dụng kỹ thuậtĐịnh vị trí và lập bản dé đồng thời (Simultaneous localization and mapping(SLAM)) dé lập bản đồ đồng thời xác định vị trí của xe lăn, phương pháp này đượccoi là tốt hơn phương pháp ước lượng tọa độ bằng encoder (Hình 1.5 [3]) Thựchiện tìm kiếm đường di bang giải thuật D* Lite Sử dụng cảm biến khoảng cáchlaser để phát hiện vật cản
Trang 20Path with SLAM fTM
+.
` “+,
.
¿ Path with odometry
Hình 1.5: So sánh kết quả ước lượng vị trí giữa phương pháp SLAM
và đọc giá tri từ encoder [3]Nhóm tác gia Patrice Boucher [4] va Richard Simpson [5], tập trung xây
dựng mô đun dẫn đường như: di qua cửa, đi theo hành lang, đậu xe vào vị tri, tránhvật cản Sử dụng cảm biến laser, hồng ngoại, siêu âm dé đo khoảng cách để tránh
vật cản.
Nhóm tác gia Luis Montesano [6] xây dựng chiến thuật hoạch định tìmđường đi dùng giải thuật D* Lite Mô hình hóa môi trường động, không biết trướcdựa trên cảm biến khoảng cách Tác giả tiếp cận theo hướng sử dụng lý thuyết xácsuất, là một phương pháp mới trong lĩnh vực robot di động Giải thuật D* được xemlà giải thuật tốt cho việc tìm đường trong môi trường động
Trang 21Nhóm tác giả Aniket Murarka [13] sử dụng xử lý ảnh và cảm biến laser đokhoảng cách dé xây dựng bản đỗ an toàn (Safety map) dựa trên bản đồ lưới cho xe
lan Vulcan.
Tac gia Sebastian Thrun [7] dé xuat két hop hai phuong phap biéu dién vahoc bản đồ lưới và dang đồ thi Bản đồ lưới (Hình 1.6) với ưu điểm là mô hình hóamôi trường thành các mắt lưới giúp ích cho giải thuật tránh vật cản, nhưng nếu bảndé rộng và kích thước các mắt lưới nhỏ làm phức tạp cho giải thuật tìm kiếm đườngđi Bản đồ dạng đồ thị (Hình 1.7) với ưu điểm áp dụng giải thuật tìm kiếm đường đi
dễ dàng nhưng ngược lại không mô hình hóa được môi trường cho mục đích tránh
Trang 22Kết quả tìm kiếm đường đi trong bản đồ lưới là các nút rời rạc Để chuyểnsang quỹ đạo điều khiến robot can sử dụng các phương pháp nội suy bậc cao [14].
Phương pháp nội suy Spline bậc ba thường được sử dụng [14], do có dao hàm bậc
một và hai liên tục đồng thời cách giải bài toán cũng đơn giản Phương pháp điềukhiến bám quỹ dao [11], [12] cho kết quả tốt đôi với mô hình robot hai bánh danđộng độc lập với giả thuyết robot không trượt
Như vậy, việc xây dựng mồ hình tác nhân thông minh trong việc hoạch định
đường đi cho robot là rat cần thiết, giúp robot học bản đồ khi có sự thay doi của môitrường, trên cơ sở bản đồ xây dựng được tiễn hành tìm kiếm đường đi cho robotđồng thời giữ cho robot cách xa vật cản tốt nhất có thé
1.3 Mục tiêu nghiên cứu
Đề tài tìm hiểu việc áp dụng các giải thuật A* trong lĩnh vực trí tuệ nhân tạovào nhiệm vụ hoạch định đường đi cho robot, học và biểu bién bản đồ Tiến hành
xây dựng mô hình robot di động thực hiện các nhiệm vụ này Việc ước lượng vị tri
của xe theo encoder có sai số lớn khi hoạt động trong môi trường thực tế Thực tế
các giải pháp định vị đưa ra cho robot di động hiện nay là sử dụng phương pháp
Định vi trí và bản đồ đồng thời (SLAM), tuy nhiên trong giới hạn dé tài, giả thuyếtrằng vị trí của robot đã biết chính xác
Thực hiện mô hình robot hai bánh dẫn động độc lập (Hình 1.8)
Thực hiện mô hình bản đồ với bốn phòng va một hành lang (Hình 1.9) Sử
dụng camera đê xác định hướng và vi trí của robot trong bản đô.
Xây dựng tác nhân thông minh dùng giải thuật tìm kiếm A* với chức năngtìm kiếm đường đi ngăn nhất và hoạch định đường đi cho robot
Trang 23Xây dựng giải thuật A* tìm đường đi tối ưu (tối ưu cục bộ) cho robot.Xây dựng dữ liệu bản đồ cơ sở dựa trên hai bản đồ lưới và bản đồ dạng đồthị cho robot Trong quá trình hoạt động trong bản đỗ đã xây dựng trước, nếu pháthiện có thay đổi giải thuật sẽ tự động cập nhật bản do.
Hình 1.9: Mô hình bản đồ
1.4 Phương pháp nghiên cứu
Từ bản đỗ dạng lưới mô phỏng, thiết kế giải thuật để xây dựng bản đồ dạngđỗ thị Sử dụng các công cụ xử lý ảnh phổ biến như: OpenCV (ngôn ngữ Python,
Trang 24C++), Scikit-image và Scipy-ndimage (ngôn ngữ Python), lập đường Voronoi (hay
còn gọi là Skeleton/Medial axis) kết hop với ảnh biến đôi khoảng cách của ban đỗlưới để xác định được phân vùng trên bản đồ lưới Xây dựng giải thuật tự động lậpbản đồ dạng đồ thị dựa trên các phân vùng này Khi ban đồ lưới có thay đối, giảithuật tự động lập lại các phân vùng và dựng lại bản đồ dạng đồ thị mà không cầncan thiệp điều chỉnh giải thuật
Từ bản đồ dạng đồ thị thu được, xây dựng ma trận kể, là ma trận biéu diễnban đồ dạng đồ thị tối ưu nhất trên máy tính Xây dựng giải thuật tìm kiếm A* chocả hai loại bản đồ Dé tìm kiếm đường đi tối ưu cho mô hình robot, xây dựng hailớp tìm kiếm Trước tiên, tìm kiếm trên bản đồ dạng đồ thị Dựa trên kết quả này,tiếp tục thực hiện tìm kiếm đường di cụ thể trên các phân vùng Mục đích củaphương pháp này là giảm thời gian tìm kiếm đường đi Thực tế, khi bản đồ lớn, tìmkiếm trực tiếp trên bản đồ lưới đòi hỏi cau hình phan cứng robot phải tốt (bộ xử lýmạnh) [7], [10] Do vậy, dé tối ưu giữa phan cung va thoi gian thuc thi tim kiémcần sử dung kết hợp hai loại ban đô trên
Từ kết quả tìm kiếm trên bản đồ lưới, sử dụng hàm nội suy Spline để xâydựng quỹ đạo trơn cho robot Ưu điểm của phương pháp nội suy Spline là đạo hàmbậc một và hai liên tục nên dễ dàng sử dụng cho giải thuật điều khiển bám quỹ đạo
cho robot.
Các giải thuật trong dé tài sử dụng ngôn ngữ C++, Python và các mô đun hỗ
trợ tính toán ma trận, giải tích, xử lý ảnh như: OpenCV, Numpy, Scikit-image,Scipy.
Xây dựng các mô dun cho robot:
Trang 25Mô đun dẫn đường Mô đun hoạch định Mô dun hoc ( Learni
(Navigation) (Planning) 6 dun học ( Learning)
Dữ liệu bản dé: - Giải thuật tìm kiếm A* og ¬
- Dạng lưới - Hoạch định đường di trên - ae ae dang đồ thi trên
- Dạng dé thị cơ sở dữ liệu bản dé ——- Cập nhật dữ liệu bản đô
Xây dựng mô hình tác nhân thông minh:
Tác nhân thông minh
(Intelligence Agent)
- Hoach dinh ( Planning)
- Học ban đồ ( Learning)
1.5 So lược nội dung luận van
> Chương 1: GIỚI THIEU Đặt van dé, tong quan các công trình liên
quan, mục tiêu nghiên cứu, phương pháp nghiên cứu.
> Chương 2: XỬ LY ANH TRONG PHAN VUNG BẢN ĐỎ VÀĐỊNH VỊ VỊ TRÍ ROBOT Biéu diễn các dạng bản đồ trong robot di
Trang 26động Giải thuật xây dựng bản đồ, xác định vị trí robot sử dụng công
cụ xử lý ảnh.
Chương 3: TÁC NHÂN THÔNG MINH VÀ GIẢI THUẬT TÌMKIEM Tìm hiểu mô hình tác nhân thông minh Tìm hiểu các giảithuật tìm kiếm
Chương 4: TÁC NHÂN THÔNG MINH HOẠCH ĐỊNH ĐƯỜNG ĐI
CHO ROBOT Xây dung tác nhân thông minh với chức năng hoạchđịnh đường đi cho robot.
Chương 5: XÂY DỰNG MÔ HÌNH ROBOT Mô hình động họcrobot hai bánh dẫn động độc lập, giải thuật điều khiến bám quỹ đạo
Xây dựng hàm nội suy Spline Gioi thiệu m6 hình robot thực hiện.
Chương 6: KẾT QUÁ THỰC HIỆN VÀ ĐÁNH GIÁ Trình bày cácbước kết quả thu được Đánh giá ưu, nhược điểm của dé tài và công
việc cân làm tiép trong tương lai.
Trang 27CHUONG 2: XỬ LÝ ANH TRONG PHAN VUNG BẢN DO
VA DINH VI VI TRI ROBOT
2.1 Tổng quanGiới thiệu các dạng biểu diễn bản d6 của robot di động, các lý thuyết biểudiễn đỗ thị ứng dụng vào biểu diễn bản đồ dạng đồ thị Xây dựng bản đồ dạng đồthị trên cơ sở bản đồ lưới sử dụng các công cụ xử lý Tiến hành xác định vị trí robottrong bản đồ Các công cụ xử lý ảnh sử dụng: OpenCV, Scikit - image, Scipy -
ndimage.
2.2 Bản dé trong lĩnh vực robot di động2.2.1 Bản đồ dạng đồ thị (Topological map)
Hình 2.1: Biéu diễn bản đồ dang đồ thịBản đồ này là một dang cây đồ thị bao gồm nút và nhánh kết nối Nút biểudiễn một vùng của môi trường thực, nhánh kết nối giữa các nút thể hiện các vùngcủa môi trường kết nỗi được với nhau, tức là robot có thé di chuyển giữa các vùng(Hình 2.1) Ưu điểm của cách biểu diễn này là co sở dữ liệu đơn giản Tuy nhiên,bản đồ không chỉ rõ được vật cản, cửa di, bàn ghế Vì vậy, dang bản đồ này chỉthích hợp khi tìm kiếm theo vùng cho robot Trong hình 2.1, giả sử robot ở vị tríthuộc vùng (13) dé đi đến vùng (9) cần lần lượt đi qua (12), (10), (8) rồi mới đến
Trang 28vùng (9) Dé hoạch định đường di theo vùng, sử dụng các giải thuật tim kiếm như
A*, D*, “Best first search”’,
2.2.2 Bản đồ dạng lưới (Occupancy grid map)
Hình 2.2: Biểu diễn ban đồ lướiPhương pháp biểu diễn bản đồ lưới là phương pháp phố biến trong robot diđộng trong nhà Mỗi bản đồ mô tả bằng tập hợp các ô mắt lưới (grid cell), mỗi ôbiểu diễn một giá trị xác suất đánh giá mức độ trong (không có vat can và robot cóthể đi qua được) của ô Trong hình 2.2, những hình màu đen là vật thực tế, các Ôxám biểu diễn vật trong bản đồ Sử dụng lý thuyết xác suất để đánh giá khả năngmột ô có thé đi qua hay không Tuy nhiên trong giới han của dé tài không dé cậpđến vẫn dé này Việc xác định kích thước cho mỗi 6 mắt lưới rất quan trọng, kíchthước ô càng nhỏ, môi trường được biểu diễn càng chỉ tiết, sai số vị trí càng nhỏ và
ngược lại [10].
Sau khi xây dựng được bản đồ lưới, tiễn hành lựa chọn một mức ngưỡng T
Nếu giá trị xác suất của ô nhỏ hơn T thì ô đó trồng, ngược lại ô đó là vật cản Mức
ngưỡng T được chọn phụ thuộc vào môi trường robot hoạt động Nhu vậy, ban désau khi xử lý bằng ngưỡng T trở thành ảnh nhị phân, với ô có giá trị 0 là vật cản,còn lại là ô trống robot có thé đi qua Trong giới han dé tài, giả sử đã biết bản đỗ
lưới dạng ảnh nhị phân.
Ban do lưới có ưu diém là biêu diễn chính xác mô hình môi trường hoạt động
của robot (bao gôm cả mô hình tĩnh và động) Tuy nhiên khi môi trường rộng, nếu
Trang 29kích thước 6 mắt lưới chọn nhỏ, bản đồ cần lượng bộ nhớ rất lớn để có thé biểudiễn Đồng thời việc tìm kiếm đường di theo bản đỗ khó khăn do khối lượng tínhtoán lớn Các giải thuật tìm kiếm thường xử dụng là A*, D*, chương trình động
(dynamic programing),
2.3 Khái niệm về cay do thi va biêu điền do thị trên máy tinh
2.3.1 Khái niệm cây đồ thịCây đồ thị là một câu trúc rời rac gôm các các đỉnh và các cạnh nôi giữa các
Trang 30Hình 2.4: a) Đơn đồ thị, b) Đa đồ thị2.3.2 Biéu diễn cây đồ thị trên máy tính
2.3.2.1 Ma trận kèXét cây đồ thị có N đỉnh, được biểu bién bang ma tran vuông N x N:
A=[a;] (i,j = 1:N) (2.2)
e a; = 0: nếu hai đỉnh i, j không liên kếte a, = 1: nếu hai dinhi, j có một liên kết
e aj > 1: nêu có nhiêu hơn một cạnh nôi 1 và j
A: là ma trận đối xứng qua đường chéo chínhBiểu diễn ma trận kề cho hình 2.4a:
(2.3)>>I|
MRR ©OrROPRbP C—OrROPR
Ưu điêm của ma tran kê:
e Dễ dàng cài đặt, trực quan
Trang 31Nhược điểm:e Chiếm bộ nhớ lớn khi số đỉnh lớn, cần N” ô nhớ cho N đỉnh.e Khi cần duyệt các đỉnh liên kết với đỉnh ¡, phải xét toàn bộ hàng (hoặc
cột) i, tương ứng với N phép so sánh Điều này thường xảy ra trong cácgiải thuật tìm kiếm Dẫn đến tăng thời gian tìm kiếm, ngay cả với đỉnhkhông có liên kết nào (tat cả các phan tử trong hàng bằng không)
2.3.2.2 Danh sách cạnh
Phương pháp biểu diễn của danh sách cạnh là liệt kê tất cả các cạnh trongmột danh sách, mỗi phân tử trong danh sách là một cạnh nối đỉnh i và j, ký hiệu (i,J):
Biểu diễn danh sách cạnh cho hình 2.4 a:
A = [[1, 2], [1, 3], (1, 41, [2, 3], [3, 4]] (24)
Ưu điểm:e_ Chiếm ít bộ nhớ so với phương pháp ma trận kê.e Biểu diễn đơn giản
Nhược điểm:e Khi cần duyệt các đỉnh liên kết với đỉnh i, phải duyệt hai lần: duyệt
toàn bộ trong danh sách cạnh xem các cạnh có chứa đỉnh 1, sau đó xét
đỉnh còn lại trong cặp (¡, j) Dẫn đến thời gian tìm kiếm lớn.2.3.2.3 Danh sách kề
Phương pháp này khắc phục nhược điểm của hai phương pháp trước, là danhsách các đỉnh ké với đỉnh thứ i, tương ứng với danh sách thứ i
Biéu diễn danh sách ké cho hình 2.4a:
Trang 32A =[l2,3,4l,[1,3Ì],11,2, 4l, [1, 3] (2.5)
Danh sách A gồm bốn danh sách con tương ứng với bốn đỉnh Danh sách conthứ nhất tương ứng với đỉnh số mot, [rong mỗi danh sách con thứ ¡, chứa cácđỉnh ké với nó Như vậy, dé tìm kiếm đỉnh ké với đỉnh i, hay tat cả các đỉnh kê vớinó chỉ cần xét trong danh sách con thứ ¡, mà không phải xét toàn bộ danh sách nhưtrong danh sách cạnh hay toàn bộ N đỉnh như trong ma trận kè
Trong dé tài, tác giả sử dụng phương pháp biểu bién dạng danh sách ké chobản đồ dạng đồ thị Danh sách ké sẽ được xây dựng tự động bằng giải thuật phân
vùng bản đồ lưới trong phan sau.
2.4 Giái thuật xây dựng ban đồ dang đồ thị sử dụng xử lý anh2.4.1 Kết hợp bản đồ lưới và đồ thị cho robot di động
Trên cơ sở dữ liệu bản đồ lưới, tiền hành xây dựng ban đồ dạng đồ thị Tiếnhành phân chia bản đồ lưới thành những vùng nhỏ phân biệt bang đường giới hạn
(Critical line) (Hình 2.5):
i Xây dựng biểu đồ Voronoi (Voronoi diagram) [10], [11]: Chia bảnđồ lưới thành hai vùng: C là vùng robot có thé di qua, C là vùng robotkhông thé đi qua Với mỗi điểm (x, y) trong C có một hoặc nhiềuđiểm gan nhất trong C — gọi là điểm cơ bản (basic points) Khoảngcách từ (x, y) tới các điểm cơ bản là Biểu dé Voronoi là tập hợp cácđiểm trong C có ít nhất hai điểm cơ bản sao cho khoảng cách h tới cácđiểm cơ bản băng nhau Trong xử lý ảnh, biểu đồ Voronoi và đường
khung Medial axis là tương tự.
ii Lập các điểm giới han (Critical points): là những điểm (x, y) thuộcbiểu đồ Voronoi mà trong một vùng ¢ lân cận quanh điểm (x, y)khoảng cách h từ điểm thuộc ¢ tới các điểm co ban không lớn hơnđiểm đang xét
Trang 33ii Lập đường giới hạn (Critical line): là đường nối giữa điểm giới
hạn và diém cơ ban của nó.
iiii Xây dựng bản đồ dạng đô thị theo các vùng phân cách bởi đường
hơn [10] [11].
2.4.2 Phân vùng bản đồ lưới sử dụng xử lý ảnhBản đồ dạng đồ thi được xây dựng dựa trên dữ liệu ban đồ lưới, nên khi banđỗ lưới (môi trường) thay đổi giải thuật xây dựng ban đồ dạng đồ thi cần phải thích
Trang 34ứng đê có thê tự động học lại Các mục sau, tác giả sẽ trình bày tuân tự các bước đềxây dựng giải thuật.
2.4.2.1 Biéu đồ Voronoi và đường khung Medial axisTrong toán học, biểu đồ Voronoi bao gồm những hạt (seeds) phân chia vùngthành những vùng nhỏ sao cho khoảng cách từ điểm trong vùng đến hạt của nó lànhỏ nhất so với các hạt thuộc vùng khác (hình 2.6)
Trên hình 2.6, các điểm màu đen là hạt, các vùng tương ứng với hạt đượcđánh dau bằng màu khác nhau
Trong xử lý ảnh, đường Voronoi (hay đường Medial axis) là tập các điểm cónhiều hơn một điểm trên đường biên gần nó nhất (đường mảu đỏ trên hình 2.7)
Trang 35Hình 2.7: Đường Voronol
Trong dé tài, tác giả sử dụng giải thuật Medial axis và Skeleton của công cụxử lý ảnh Sciki - Image và Scipy - ndimage để xây dựng đường Voronoi cho bản đồlưới Hình 2.8, 2.9 là mô phỏng kết quả xây dựng đường Voronoi cho bản đồ
Hình 2.8: Xây dựng đường Voronoi dùng giải thuật Medial axis
Trang 36Hình 2.9: Duong Voronoi dùng giải thuật Skeleton
2.4.2.2 Giái thuật tìm các điểm giới han (Critical points) trên đường
Voronoi
Như trình bày trong phần 2.4.1, điểm giới hạn là những điểm (x, y) thuộcbiéu đồ Voronoi mà trong một vùng s lân cận quanh điểm (x, y) khoảng cách h từđiểm thuộc e tới các điểm cơ ban (basic points) không lớn hon điểm đang xét Có
hai nhiệm vụ cân phải xác định là vùng e và diém cơ bản của môi điêm giới han.
Vùng e trên đường Voronoi được phân theo giải thuật dán nhãn vùng (label)
trong xử lý ảnh Để sử dụng giải thuật dán nhãn cần định nghĩa trước cấu trúc củanhãn Cầu trúc nhãn là ma trận 3x3, quyết định đến kết quả của giải thuật
Xét ma trận A sau:
1 2 3 0 0 0A= 0 5 6 7 0 08 0 0 0 10 129 0 0 0 11 13
Xét cau trúc nhãn dạng:
Trang 370 1 0a= [1 1 | (26)
0 1 0Y nghĩa của câu trúc trên là chỉ xét các điêm liên ké tại các hàng và cột Khi
chạy giải thuật dán nhãn ma trận A cho kết quả như sau:
1 1 1000.c|0 11100
|2 00033
A được phân làm ba vùng riêng biệt không tinh đến đường chéo do cấu trúc
nhãn định nghĩa không có đường chéo.
lớp dạng (2.6) và dạng đường chéo Sau khi thực hiện giải thuật, đường Voronoi
được phân chia thành các đoạn được dán nhãn Tuy nhiên, dé tránh bị phân vùngquá nhỏ sau này, cần phải loại bỏ các đoạn Voronoi có kích thước nhỏ Kỹ thuậtnày được hỗ trợ bằng hàm thư viện của công cụ Scikit - Image Hình 2.10 mô tả
đường Voronoi sau khi đã loại đi các vùng nhỏ.
Trang 38Hình 2.10: Đường Voronoi phan đoạn
Sau khi thực hiện phân đoạn đường Voronoi, tiễn hành tìm các điểm trên đócó khoảng cách đến điểm cơ bản của nó là nhỏ nhất trong từng đoạn Voronoi Đểthực hiện được cần phải sử dụng hàm biến đổi khoảng cách của ảnh Ảnh khoảngcách có cùng kích thước với ảnh bản đồ, mỗi điểm ảnh mang giá trị là khoảng cáchđến vật cản gan nhất Hình 2.11 biéu diễn ảnh khoảng cách của bản đỗ Song songvới ảnh biến đổi khoảng cách là ma trận lưu vị trí điểm trên vật cản gan nhat Két
hop ma tran này va điêm thuộc Voronoi sẽ xác định được điêm giới han.
Hình 2.11: Ảnh biến đôi khoảng cách
Trang 39Xác định điêm co bản từ ma trận khoảng cach tại vi trí điêm giới hạn vừa tim
điểm trên Voronoi cókhoảng cách nhỏ nhất đến
vật cản,Đây là điểm giới hạn
A
Điểm cơ ban là giá trị matrận chỉ số tại điểm giới hạn
END
Hình 2.12: Giải thuật tìm điểm giới hạn và một điểm cơ bản
2.4.2.3 Xây dựng đường giới han (Critical lines)
Từ kết quả mục 2.4.2.2 xác định được điểm giới hạn cho mỗi đoạn Voronoivà một điểm cơ bản của nó Dé xây dựng đường giới hạn, xác định điểm cơ bản thứ
hai của điêm giới han bang cách lay đôi xứng diém cơ bản thứ nhat qua diém giới
Trang 40hạn Xác định xem điểm giới hạn thứ hai này có thuộc vật cản hay không, néu thuộcvật cản (điểm ảnh băng 0) là điểm cơ bản thứ hai, nếu khong thuộc vật can (điểmảnh khác 0) thì loại bỏ điểm giới hạn này Trong quá trình xây dựng đường giới hạncần xét xem đường vừa xây dựng có cắt qua đường trước đó hay không nếu cat qua
thì loại đường này.
Điền cơ bản 1
\100 ` Điểm giới ain