Chương 1 khái quát tổng quan về robot tự hành, một số phương pháp điều khiển và tránh vật cản được sử dụng trong robot tự hành. Chương 2 tổng hợp một số cơ sở lý thuyết được sử dụng trong luận văn này, bao gồm bài toán về nhiễu và xác suất trong robot tự hành, hệ điều hành robot ROS, bài toán điều hướng robot, bài toán SLAM 2D. Chương 3 trình bày giải thuật và phương pháp triển khai để kiểm chứng hiệu quả của giải thuật tránh vật cản do tác giả đề xuất. Chương 4 là kết luận của tác giả về các vấn đề trong luận văn, từ đó đề xuất các hướng phát triển sau này.
Học viên: Nguyễn Văn Huy 180009- Lớp CH2018B 14 Chương 2 Cơ sở lý thuyết 2.1 Bài toán về nhiễu trong robot tự hành[4] 2.1 Sự không chắc chắn trong robot Robotics là một ngành khoa học về nhận thức và thực thi thế giới vật lý thông qua các thiết bị điều khiển bởi máy tính. Một số ví dụ thành công của hệ thống robotics như robot di động khám phá hành tinh, robot công nghiệp trong dây chuyền sản xuất, xe tự lái, cánh tay robot hỗ trợ bác sĩ phẫu thuật. Các hệ thống robotics được đặt trong thế giới vật lý, quan sát thông tin môi trường thông qua các cảm biến, và thao tác thông qua các lực vật lý. Trong khi ngành robotics vẫn còn trong thời kì trứng nước, ý thưởng các thiêt bị thực thi thông minh mang tới khả năng to lớn để thay đổi thế giới.
Sẽ rất tuyệt vời nếu tất cả xe hơi đều có thể tự lái an toàn và tránh được hoàn toàn tai nạn giao thông. Sẽ rất tuyệt vời nếu robot có thể tự nó hoạt động để làm sạch chất phóng xạ trong thảm họa hạt nhân thay cho con người. Sẽ rất tuyệt vời nếu nhà của chúng ta có các thiết bị hỗ trợ thông minh để quản lý sửa chữa, duy tu các đồ vật trong nhà. Để làm được những việc này, robot phải có khả năng đáp ứng độ không chắc chắn rất lớn trong thế giới vật lý.
Có rất nhiều yếu tố tạo nên sự không chắc chắn trong robot. Trước hết, môi trường của robot vốn dĩ đã không ổn định. Trong các môi trường có cấu trúc tốt, được thiết kế theo tiêu chuẩn như trong dây chuyền lắp ráp thì mức độ không chắc chắn thấp, trong khi đó các môi trường khác như môi trường trong nhà của robot dịch vụ hay trên đường phố có mức độ không chắc chắn cao, có nhiều biến động. Với các robot hoạt động gần con người thì độ không chắc chắn rất cao.
Robot sử dụng hệ thống cảm biến để cảm nhận, quan sát môi trường xung quanh. Tuy nhiên, cảm biến có các giới hạn quan sát của nó. Phạm vi và độ phân giải của một cảm biến phụ thuộc vào giới hạn vật lý. Ví dụ, các camera 15 không thể nhìn xuyên tường, độ phân giải của camera cũng có giới hạn.
Cảm biến rất khó tránh khỏi nhiễu, và các phép đo nhiễu không thể đoán trước được. Do đó nó giới hạn thông tin có thể trích xuất được từ cảm biến. Hoặc cảm biến có thể bị hỏng và việc phát hiện lỗi từ cảm biến vô cùng khó khó khăn. Robot được dẫn động bằng động cơ, ở một mức độ nhất định nó cũng không dự đoán được sai số.
Độ không chắc chắn sinh ra do ảnh hưởng từ nhiễu điều khiển, mòn bánh răng và các lỗi cơ khí khác. Một vài cơ cấu chấp hành như cánh tay robot công nghiệp thường rất chính xác và độ tin cậy cao. Còn lại, như các robot di động giá thành thấp có thể rất dễ hỏng. Nhiều nguyên nhân không chắc chắn có thể đến từ phần mềm của robot.
Tất cả mô hình của thế giới vật lý đều gần đúng. Mô hình là trừu tượng hóa của thế giới thực, vì vậy, chúng ta chỉ có thể mô hình được một phần các quá trình vật lý cơ bản của robot và môi trường hoạt động của nó. Lỗi mô hình hóa dẫn đến sự không chắc chắn thường bị bỏ qua trong quá trình chế tạo robot, mặc dù thực tế là hầu hết các mô hình robot được sử dụng trong các hệ thống robot hiện đại khá thô sơ. Sự không chắc chắn cũng có thể do các thuật toán gần đúng.
Các hệ thống điều khiển robot có thể bị hạn chế lượng tính toán để đảm bảo robot có thể hoạt động theo thời gian thực. Đa số các thuật toán đều gần đúng, việc đảm bảo thời gian phản hồi có thể bị đánh đổi bởi độ chính xác. Mức độ không chắc chắn phụ thuộc vào lĩnh vực ứng dụng. Trong một vài lĩnh vực robotics, như dây chuyền lắp ráp độ không chắc chắn có thể chỉ là các yếu tố nhỏ, bên ngoài.
Tuy nhiên, trong robot tự hành, mức độ không chắc chắn là rất lớn, nó đến từ việc hoạt động trong môi trường động, từ sai số của các cảm biến, từ sai số trong mô hình hóa chính robot .2 Xác suất trong robotics Xác suất trong robot có liên quan tới cách tiếp cận mới để giải quyết vấn đề trong quan sát và hành động của robot, đặc biệt là với robot tự hành. Ý tưởng chính trong bài toán xác suất trong robot là thể hiện sự không chắc chắn một cách rõ ràng bằng việc sử dụng lý thuyết tính toán xác suất. Nhưng thay vì dựa vào một "dự đoán tốt nhất" thay cho những gì có thể xảy ra, các thuật toán xác suất thể hiện thông tin bằng các phân bố xác suất qua toàn bộ không gian dự đoán. Như vậy, chúng có thể biểu diễn sự không chắc chắn và độ tin cậy trong toán học.
Xác suất trong robot có thể chủ động lựa chọn để giảm sự không chắc chắn, do đó các thuật toán xác suất giảm độ phức tạp của sự không chắc chắn. Ví dụ thứ nhất là bài toán định vị robot di động. Định vị robot là ước tính vị trí tương đối của robot trong một không gian. Bản đồ của môi trường được Học viên: Nguyễn Văn Huy 180009- Lớp CH2018B 16 CHƯƠNG 2.
CƠ SỞ LÝ THUYẾT Hình 2.1: Ý tưởng cơ bản của định vị Markov : Robot di động đang định vị trong không gian toàn cục [4] Học viên: Nguyễn Văn Huy 180009- Lớp CH2018B 17 cho trước, robot cần có các dữ liệu của cảm biến để tự định vị trong bản đồ này. Ví dụ về định vị được minh họa trong Hình 2. Môi trường đã biết có ba cửa giống nhau, nhiệm vụ của robot là tìm xem chúng ở đâu, thông qua cảm biến và chuyển động. Vấn đề định vị cụ thể này được gọi là định vị toàn cục (global localization).
Trong định vị toàn cục, robot được đặt ở đâu đó trong một môi trường đã biết, nó phải tự định vị được vị trí của nó đang ở đâu. Mô hình xác suất thể hiện độ tin cậy tức thời của robot bằng một hàm phân bố xác suất trên toàn bộ không gian như trong Hình 2. Biểu đồ này thể hiện phân bố đồng đều trên tất cả các vị trí. Bây giờ cho rằng robot nhận được dữ liệu đo đầu tiên từ cảm biến và theo dõi cánh cửa phía trước.
Công cụ xác suất khai thác thông tin này để cập nhật vào độ tin cậy. Độ tin cậy sau đó thể hiện trong Hình 2.1b, tăng xác suất tại vị trí gần các cửa và giảm xác suất ở vị trí khác. Ta thấy rằng phân bố này có ba chóp giống nhau, mỗi chóp tương ứng với một cửa. Do đó robot không biết được nó đang ở đâu.
Bây giờ cho robot di chuyển, độ tin cậy đã được dịch chuyển theo hướng robot chuyển động (Thể hiện trong Hình 2. Sự dịch chuyển của robot làm cho xác suất phân bố trong một khoảng rộng hơn.1d miêu tả độ tin cậy sau khi theo dõi một cửa khác. Việc này dẫn đến thuật toán đặt phần lớn xác suất tại vị trí gần một cửa, và khi đó robot khá tự tin rằng nó đang ở đâu. Cuối cùng, Hình 2.1e thể hiện độ tin cậy của robot sau khi di chuyển một đoạn xa trong hành lang.
Ví dụ này minh họa một vài vấn đề của mô hình xác suất. Nói theo xác suất, việc quan sát của robot là một vấn đề ước tính trạng thái, ví dụ trên sử dụng một thuật toán có tên là bộ lọc Bayes cho hậu ước tính qua không gian của định vị robot. Sử dụng một hàm phân bố xác suất để thể hiện thông tin. Việc cập nhật hàm phân bố này thể hiện thông tin thu được thông qua các phép đo của cảm biến, hoặc thông tin bị mất qua quá trình xử lý trong không gian làm tăng độ không chắc chắn của robot.
Ví dụ thứ hai là một ví dụ trong vấn đề lập kế hoạch và điều khiển robot. Như đã nói các thuật toán xác suất có thể tính độ không chắc chắn tức thời của robot. Nhưng chúng cũng có thể đoán trước được độ không chắc chắn trong tương lai, và chọn một độ không chắc chắn để xem xét lựa chọn điều khiển. Một trong các thuật toán như vậy là coastal navitation, ví dụ như trong Hình 2.
Hình này thể hiện một bản đồ 2-D của một tòa nhà. Hình phía trên so sánh đường đi ước tính và đường đi thực tế: robot đi lệch là kết quả của sự không chắc chắn trong chuyển động của robot. Điểm thú vị ở đây là không phải toàn bộ quỹ đạo có mức độ không chắc chắn như nhau. Đường đi trong Hình 2.2a đi qua một không gian mở, thiếu các đặc trưng để có thể giúp cho robot định vị.
Học viên: Nguyễn Văn Huy 180009- Lớp CH2018B 18 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Hình 2. Hình (b): Vấn đề này có thể được tránh bằng việc đăt gần các vật cản đã biết. Hai hình này là kết quả của thuật toán coastal navigation [4].
Học viên: Nguyễn Văn Huy 180009- Lớp CH2018B 19 Hình 2.2b có quỹ đạo bám theo một góc rõ ràng, và sau đó ôm vào tường để giữ định vị. Không quá ngạc nhiên khi mức độ không chắc chắn sẽ giảm sau một quãng di chuyển, do đó điểm đến có độ chính xác cao hơn. Ví dụ này minh họa một trong những cách để xem xét ảnh hưởng của sự không chắc chắn trong điều khiển robot. Rõ ràng robot sẽ ưu tiên lựa chọn cách đi thứ hai hơn, dù có sự không chắc chắn nhưng thuật toán xác suất giúp robot lựa chọn đường đi để nó có thể thu thập được nhiều thông tin, giúp giảm độ không chắc chắn và đạt được độ chính xác tốt hơn.
Xác suất trong robotics kết hợp không rõ ràng giữa mô hình và dữ liệu cảm biến, vượt qua các giới hạn của cả hai cùng lúc.