Các giải thuật phân ly ô hướng tới việc chia cắt Cfree thành một tập hữu hạn các vùng gọi là ô.
Sự phân ly ô phải đảm bảo thỏa mãn 3 thuộc tính:
• Việc xây dựng đường đi từ một điểm bên trong một ô phải dễ dàng. Ví dụ, nếu mỗi ô lồi thì bất kỳ cặp điểm nào trong mỗi ô đều có thể nối được bởi một đoạn thẳng.
33
• Sự cung cấp thông tin cho những ô liền kề phải dễ dàng để xây dựng roadmap.
• Cho trước cặp điểm bắt đầu qstart và điểm đích đến qgoal cần phải xác định được các ô nào chứa chúng.
Nếu sự phân ly ô thỏa mãn các thuộc tính nêu trên thì vấn đề lập lộ trình chuyển động được biến đổi về vấn đề tìm kiếm trên đồ thị. Tiếp sau đây chúng ta sẽ đi vào tìm hiểu chi tiết hơn về các phương pháp phân ly ô phổ biến, cụ thể là:
phương pháp phân ly ô chính xác và phương pháp phân ly ô xấp xỉ.
3.2.2.1. Phân ly ô chính xác (Exact Cell Decomposition):
Tư tưởng chính của phương pháp này là chia không gian tự do thành tập
các đa giác lồi chính xác.
Một số phương pháp phân ly ô chính xác như: Phân ly ô dọc (hay còn gọi
là phân ly hình thang), phân ly ô dựa trên cạnh nối các đỉnh của các vật cản đa giác với các đinh đường biên của không gian cấu hình (phân ly ô đa giác tự do). Hình 3.6 và 3.7 minh họa các phương pháp phân ly ô trên.
34
Xét không gian cấu hình có đường biên được biểu diễn dưới dạng đa giác.
Mô tả các phương pháp phân ly cơ bản:
Xét phương pháp phân ly ô đa giác tự do minh họa như trong hình 3.6. Tư tưởng của phương pháp phân ly này xác định tất cả các đỉnh của các đối tượng vật cản đa giác, dựng các cạnh nối có thể tạo (các cạnh không bị chặn) giữa các đỉnh lồi của các đa giác vật cản với các đỉnh đường biên của không gian cấu hình. Với quy tắc thực hiện trên, ta có thể phân ly không gian cấu hình đa giác ban đầu thành tập các ô (cell) được minh họa như trong hình vẽ.
Xét phương pháp phân ly ô dọc minh họa như trong hình 3.7. Tư tưởng của phương pháp này là dùng những tia hướng thẳng từ trên xuống (hoặc ngược lại) đi qua các đỉnh lồi của các vật cản đa giác hoặc qua các đỉnh của đường biên của không gian cấu hình để phân ly không gian ban đầu thành không gian gồm tập hợp nhiều ô (cell) đơn vị. Phương pháp này còn gọi là phương pháp phân ly hình thang vì hầu hết các ô tạo thành đều có dạng hình thang.
Ứng dụng phương pháp phân ly ô (Cell Decomposition) vào việc lập lộ
trình chuyển động:
35
• Áp dụng phương pháp phân ly ô, phân rã không gian cấu hình ra thành không gian tập hợp các ô (cell) đơn vị.
• Xác định các ô (cell) chứa đỉnh bắt đầu (start point) và đỉnh đích (goal point).
• Xây dựng đồ thị liền kề cho các ô còn lại. Theo quy ước sau:
o Mỗi nút của đồ thị tương ứng với một điểm bất kỳ trong ô-cell (thường là tâm của cell hoặc chọn ra các trung điểm trên các cạnh của cell).
o Cạnh của đồ thị nối các cell (nút – node) kề nhau.
• Nối đỉnh bắt đầu (start) và đỉnh đích (goal) với các đỉnh trong đồ thị vừa xây dựng thỏa mãn tính chất kề với 2 đỉnh này.
• Áp dụng giải thuật tìm đường đi tối ưu trên đồ thị liền kề.
Một số phương pháp phân ly ô chính xác khác như: Trapezoidal
Decomposition, Morse Cell Decomposition, Visibility-based Decomposition. Tuy nhiên trong khuôn khổ bài báo cáo này, các phương pháp này sẽ tạm thời không được đề cập đến.
3.2.2.2. Phân ly ô xấp xỉ (Approximate Cell Decomposition):
Trong phạm vi tìm hiểu của báo cáo dồ án này chúng ta sẽ không đi chi tiết vào phương pháp này. Một số đặc điểm nổi bật của phương pháp được giới thiệu dưới đây:
Các bước thực hiện phân ly ô:
• Thiết lập khung lưới (tập các ô vuông).
• Loại bỏ các ô giao với vật cản.
• Xác định đường đi ngắn nhất qua các ô còn lại (sử dụng các giải thuật tìm kiếm trên đồ thị như : A*)
Nếu không tồn tại đường đi, Tăng độ phân ly ô và lặp lại quá trình tìm kiếm Hình 3.8 minh họa phương pháp phân ly ô xấp xỉ.
36
Nhận xét:
• Nhược điểm của phương pháp:
- Không chính xác (Không thể đề cập tới khái niệm đường đi “tối ưu”). - Khôn toàn vẹn: Không đảm bảo vấn đề sẽ được giải quyết.
- Không chính xác khi áp dụng trên không gian ít chiều.
• Tuy nhiên, phương pháp này thực sự được áp dụng trong các hệ thống thực tế.
3.3. Tổng kết
Chương này chủ yếu tập trung vào mục tiêu giới thiệu một khung nhìn sơ lược bao gồm các khái niệm cơ bản và ý tưởng của các giải thuật lập lộ trình chính xác cho robot. Cụ thể là các giải thuật sau: Đồ thị tầm nhìn (Visibility Graph), Lựoc đồ Voronoi (Voronoi Diagram), Phân ly ô (Cell Decomposition).
37
TÀI LIỆU THAM KHẢO
“Motion.ppt” – PGS- TS. Lê Hoài Bắc
Principles of Robot Motion Theory, Algorithms, and Implementations - by Howie Choset
Luận văn “Nghiên cứu Planning để giải bài toán xác định lộ trình” – SVTH: Trần Thủy Tiên, Trần Hồng Thái
http://voronoi.sbp.ri.cmu.edu/~choset
http://www.metu.edu.tr/~e159540/index.html : Demo của sinh viên MIT http://www.vanhoavu.com/VHV/EXTRAS/ArtificialIntelligence_01.htm
http://www.scribd.com/doc/49899816/53/Khai-quat-v%E1%BB%81- l%C6%B0%E1%BB%A3c-%C4%91%E1%BB%93-Voronoi
Và tất nhiên là sự hỗ trợ không thể thiếu từ: GOOGLE
38
PHỤ LỤC
Phụ lục 1 - Demo các giải thuật cơ bản (Bug 1 – Bug 2)
Bao gồm các đoạn clip demo được lưu trong đường dẫn thư mục “..\Slide thuyet trinh\Demos” nộp kèm với báo cáo đồ án.
Phụ lục 2 – Demo giải thuật Visibility Graph
Giải thuật được cài đặt theo phương pháp đường quét (Sweepline algorithm). Chi tiết cài đặt được lưu trong thư mục “..\Source code\Visibility Graph” và file thực thi chương trình được biên dịch sẵn được lưu trong thư mục “..\Source code\Release”.
Phụ lục 3 – Demo giải thuật Voronoi Diagram