Chương 1: Giới thiệu: Sơ lược về nội dung đề tài. Chương 2: Phát hiện vật cản tính góc lái và xác định điểm đích: giới thiệu đánh giá một số phương pháp tránh vật cản và tìm ra phương pháp tối ưu nhất. Cuối cùng tìm hiểu thuật toán tìm điểm đích bằng màu sắc. Chương 3: Chương trình điều khiển: Bao gồm nội dung chương trình điều khiển và lưu đồ thuật giải.
Chương 4: Kết quả thực nghiệm: Nội dung chương 4 tập trung vào các thuật toán để điều khiển robot. Chương 5: Kết luận và hướng phát triển: Nội dung chương 5 trình bày tóm tắt các kết quả mà đề tài đã đạt được và hướng phát triển để khắc phục những giới hạn nhằm hoàn thiện đề tài tốt hơn. Phát hiện vật cản tính góc lái và xác định điểm đích Nội dung chính 2.1 Phương pháp tránh vật cản 2.2 Thuật toán tránh vật cản 2.3 Xác định vật thể đích 6 2. Phương pháp tránh vật cản Tránh vật cản luôn là bài toán thường gặp trong robot di động, đối với những ứng dụng trong nhà thì môi trường mà robot di chuyển trong đó luôn là môi trường động và phức tạp, trong đó có nhiều vật cản và vị trí của những vật cản có thể ở bất kỳ đâu trên đường di chuyển của robot.
Rất nhiều phương pháp tránh vật cản cho robot di động đã được nghiên cứu và phát triển, trong phần dưới đây sẽ đề cập một số phương pháp tránh vật cản tiêu biểu. Phương pháp Bug Phương pháp Bug là phương pháp tránh vật cản cơ bản nhất, đây là phương pháp mô phỏng theo sự di chuyển của loài kiến. Theo đó, khi robot di chuyển và gặp chướng ngại vật trên đường đi thì robot sẽ di chuyển vòng quanh vật cản. Sau khi di chuyển hết một vòng chu vi vật cản robot sẽ xác định vị trí điểm nằm trên đường chu vi gần nhất với điểm đích, tại điểm này robot sẽ di chuyển thoát ra và đi về điểm đích như trong hình 2.
Tuy nhiên phương pháp này lại không hiệu quả như mong muốn nên đã có một số cải thiện và tạo ra phương pháp Bug2. Trong phương pháp Bug2 thì điểm thoát của robot là giao điểm giữa đường di chuyển quanh vật cản và điểm nối giữa điểm xuất phát và điểm đích như trong hình 4.1: Phương pháp tránh vật cản Bug Ưu điểm: + Đơn giản, dễ thực hiện. 7 + Xác định được đường biên của vật cản. Nhược điểm: + Robot phải dừng lại trước vật cản để thu thập thông tin.
+ Do phương pháp này robot sẽ di chuyển quanh chu vi vật cản nên tốc độ xử lý chậm. + Phụ thuộc vào khoảng cách từ robot tới vật cản. + Phụ thuộc vào bề mặt, hình dáng của vật cản. Phương pháp Potential Field Trong phương pháp Potential Field được đề xuất bởi Khatib, thì robot được xem là một chất điểm di chuyển trong môi trường mà trong đó chất điểm này chịu tác động của trường lực ảo được tạo ra bởi đích và các vật cản.
Trong đó, trường lực tạo ra bởi đích gọi là trường lực hút và trường lực đẩy được tạo ra từ các vật cản. Trường lực được biểu diễn bằng những vecto lực và tùy vào vị trí của robot so với đích và vật cản mà vecto lực có độ lớn và hướng khác nhau. a) Trường lực hút Trường lực hút được hút thể hiện tương quan về vị trí giữa đích và các điểm vị trí robot trong môi trường như trong hình 2. Vị trí robot càng xa đích thì độ lớn của vecto lực hút càng lớn và ngược lại.
Hàm thế năng của trường lực hút được định nghĩa dưới dạng hàm parabol: Uatt(q) = kattd2goal(q) (2.1) Trong đó, katt là hê số tỷ lệ dương và dgoal là khoảng cách từ điểm đích tới robot. Hàm thế năng là không âm và có giá trị cực tiểu khi robot ở vị trí đích khi đó Uatt(q)=0.2: Trường lực hút biểu diễn dưới dạng biểu đồ điểm và vecto lực. b) Trường lực đẩy Trường lực đẩy thể hiện mối tương quan về vị trí giữa robot và vật cản như trong hình 2. Vecto lực đẩy có độ lớn càng lớn khi robot di chuyển gần đến vật cản và nhỏ dần khi robot di chuyển ra xa vật cản.
Tuy nhiên, vecto lực đẩy không ảnh hưởng đến sự di chuyển của robot khi robot có khoảng cách đủ xa so với vật cản. Do đó hàm thế năng của trường lực đẩy được định nghĩa: ( ) Urep(q)={ (2.2) Trong đó là krep hệ số tỷ lệ dương, d(q) là khoảng cách từ robot đến vật cản. d0 là hằng số dương được gọi là khoảng cách ảnh hưởng của vật cản đối với robot. Hàm thế năng của trường lực đẩy Urep mang giá trị dương trong khoảng cách gần với vật cản và tiến đến vô cùng khi nằm trong vùng vật cản.
Khi robot tiến ra xa vật cản với khoảng cách lớn hơn d0 thì trường thế đẩy tiến về giá trị 0.3: Trường lực đẩy biểu diễn dưới dạng biểu đồ điểm. c) Tổng hợp lực ảo Robot di chuyển trong môi trường và chịu ảnh hưởng của trường lực tổng hợp, bao gồm trường lực hút và trường lực đẩy.3) Trong Uatt(q) là thế năng hút liên quan đến đích và là thế năng đẩy liên quan đến vùng vật cản. Sự ảnh hưởng của thế năng hút sẽ kéo robot về hướng mục tiêu, trong khi thế năng đẩy sẽ đẩy robot ra khỏi vật cản. Vecto của lực ảo 𝐹(p) được cho bởi gradient của vecto U: 𝐹(p) = −∇U(q)= - (2.4) Vecto 𝐹 được định nghĩa là tổng của hai vector Fatt(q) = −∇Uatt của thế năng hút và Frep(q) = −∇Urep của thế năng đẩy.5) Lực 𝐹 là lực dẫn của robot, hướng của lực 𝐹 là hướng di chuyển của robot và cường độ lực thể hiện tốc độ của robot như hình 2.4: Tổng hợp lực ảo tác động lên robot Ưu điểm: + Phù hợp môi trường đơn giản không có nhiều vật cản.
+ Phương pháp này phù hợp với tránh vật cản bằng cảm biến siêu âm. Nhược điểm: + Sập bẫy khi di chuyển đến ngõ cụt tạo bởi nhiều vật cản phức tạp. + Không qua được khe giữa hai vật cản. + Dao động khi gặp vật cản: hạn chế này sảy ra ở việc tính toán thuật toán.
+ Dao động khi đi trong ngõ hẹp: nguyên nhân do robot nhận được lực đẩy từ cả hai bức tường. Phương pháp Vecto Field Histogram (VFH) Vecto Field Histogram (VFH) được giới thiệu bởi Borenstein và Korem là phương pháp tránh vật cản mà sử dụng biểu đồ lưới hệ tọa độ Đề Các hai chiều (histogram grid) để mô tả môi trường. Biểu đồ được cập nhật liên tục nhờ những dữ liệu khoảng cách đo được bởi cảm biến. Trong phương pháp VFH có ba bước thực hiện chính: Bước 1: Xây dựng biểu đồ lưới hệ tọa độ Đề Các hai chiều về môi trường 11 Bước 2: Từ biểu đồ lưới hai chiều, chọn vùng cửa sổ hoạt động xung quanh robot từ đó rút ra biểu đồ biểu đồ cực một chiều từ biểu đồ vùng cửa sổ được chọn.
Bước 3: Tính toán điều khiển góc lái. a) Xây dựng biểu đồ lưới hai chiều Trong bước đầu tiên của phương pháp VFH là tạo ra biểu đồ lưới 2 chiều về môi trường xung quanh vị trí tức thời của robot và biểu đồ này được chia thành những ô lưới mà được đặt tên là vùng biểu đồ lưới C. Mỗi ô lưới mang 2 thông tin là vị trí ô lưới so với robot và giá trị chắc chắn (certainty value) biểu thị độ chắc chắn về khả năng vật cản nằm trong không gian ô lưới đó như hình 2.5: Bản đồ ô mắt lưới hai chiều. b) Xây dựng biểu đồ cực một chiều Ở bước hai thì biểu đồ hai chiều của môi trường sẽ được rút gọn về biểu đồ cực một chiều biểu thị những thông tin về vật cản.
Trong vùng biểu đồ lưới 𝐶 ta chọn một cửa sổ vuông 𝐶* chứa ws x ws ô lưới và có kích thước bé hơn 𝐶 nhằm thu nhỏ phạm vi vùng mô tả. Tâm cửa sổ 𝐶* là vị trí của robot và sẽ di chuyển khi robot di chuyển. Biểu đồ cực một chiều biểu thị mối quan hệ về khoảng cách giữa robot với vật cản trong môi trường xung quanh, khoảng cách này được tính từ giá trị các ô lưới trong một cung (sector) với độ mở α0 như minh họa trong Hình 2. 12 Chuyển vùng cửa sổ tích cực 𝐶* thành biểu đồ cực H với giá trị của các ô tích cực trong lưới được đại diện bởi một vecto cản (obstacle vecto), hướng của vecto được xác định bởi góc β từ ô xem xét đến điểm trung tâm robot như trong Hình 2.6: Bản đồ ô luới vùng cửa sổ tích cực.7: Hướng và biên độ của một vecto cản.
13 c) Tính góc lái Biểu đồ cực chứa các đỉnh hay phần mà mật độ vật cản (POD) cao và vùng đáy là phần chứa POD thấp. Các giá trị mật độ vật cản sẽ được so sánh với một ngưỡng để xác định vùng có vật cản là vùng có POD lớn hơn ngưỡng và vùng an toàn có thể di chuyển là vùng có POD nhỏ hơn ngưỡng như miêu tả trong Hình 2. Thông thường sẽ có từ hai hoặc nhiều vùng an toàn vì thế thuật toán VFH sẽ chọn vùng an toàn phù hợp với hướng dẫn tới đích ktarg. Trong vùng an toàn được chọn thì số lượng cung lớn nhất (có mức POD nhỏ hơn ngưỡng) là smax, trong đó kn là cung biên ngoài gần với ktarg gọi là biên gần và kf là biên xa được xác định bởi biểu thức : kf = kn + smax (2.6) Để robot di chuyển tối ưu nhất qua vùng an toàn thì chọn góc lái vào giữa vùng an toàn như trong Hình 2.8: Mức ngưỡng trên sơ đồ cực để chọn hướng di chuyển.9: Mức ngưỡng và góc.
Ưu điểm + Xác định được chính xác vùng có vật cản. + Không phụ thuộc vào hình dáng, bề mặt của vật cản + Robot có khả năng vượt qua được các vật cản đặt rất gần nhau + Không bị dao động khi gặp vật cản và di chuyển ổn định khi đi qua các lối hẹp. Nhược điểm + Các bước để thực hiện thuật toán phức tạp. + Cần có một máy tính xử lý nhanh do dữ liệu của cảm biến được thu thập về xử lý một cách liên tục.
+ Phải tính toán được thông tin khoảng cách từ robot tới vật cản: nhược điểm này được khắc phục bằng cách sử dung Camera Kinect do ưu điểm của Camera này là thu được dữ liệu ảnh độ sâu. Thuật toán tránh vật cản Trong quá trình di chuyển đến điểm đích vật cản sẽ xuất hiện trên đường đi.