ĐỒ ÁN (seminar)MÔN HỌC TRÍ TUỆ NHÂN TẠO

38 1.1K 1
ĐỒ ÁN (seminar)MÔN HỌC TRÍ TUỆ NHÂN TẠO

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN Trần Duy Quang – 0912369 Email: duyquang.fit@gmail.com ĐỒ ÁN (seminar)MÔN HỌC TRÍ TUỆ NHÂN TẠO ĐỀ TÀI : Lập lộ trình chuyển động cho robot DỰA TRÊN TÀI LIỆU : Principles of Robot Motion Theory Tác giả: Howie Choset NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS-TS. LÊ HOÀI BẮC TP.HCM – 6/2011 2 MỤC LỤC MỤC LỤC 2 KÝ HIỆU – QUY ƯỚC 4 TÓM TẮT ĐỒ ÁN 5 NỘI DUNG ĐỒ ÁN 7 CHƯƠNG 1: GIỚI THIỆU BÀI TOÁN LẬP LỘ TRÌNH CHO ROBOT 7 1.1. Khái niệm cơ bản 7 1.1.1. Sơ lược về robot 7 1.1.2. Một số thuật ngữ chung trong việc lập lộ trình 7 1.2. Bài toán lập lộ trình 9 1.3. Ví dụ về lập kế hoạch và một số ứng dụng về lập lộ trình robot 10 1.3.1. Robot sắp xếp các khối 10 1.3.2. Robot mua hàng hóa 11 1.3.3. Sử dụng robot di động để di chuyển piano 11 1.3.4. Tìm đường cho robot di động 12 1.4. Một số giải thuật cơ bản 13 1.4.1. Giải thuật Bug 0 14 1.4.2. Giải thuật Bug 1 15 1.4.3. Giải thuật Bug 2 16 1.4.4. So sánh hai giải thuật 17 1.5. Kết luận 19 CHƯƠNG 2: CẤU HÌNH KHÔNG GIAN TRẠNG THÁI 20 2.1. Các khái niệm không gian cấu hình 20 2.1.1. Chướng ngại (Obstacle) 20 2.1.2. Không gian tự do (Free Space – C free ) 20 2.2. Các phép biến dổi của robot 21 2.2.1. Phép tịnh tiến 22 3 2.2.2. Phép quay 22 2.3. Không gian cấu hình chướng ngại vật 24 2.4. Kết luận 26 CHƯƠNG 3: MỘT SỐ PHƯƠNG PHÁP CHÍNH XÁC LẬP LỘ TRÌNH CHUYỂN ĐỘNG 27 3.1. Giới thiệu chung 27 3.2. Một số giải thuật lập lộ trình chính xác cho robot 27 3.2.1. Các giải thuật roadmap 27 3.2.1.1. Visibility Graph – Đồ thị tầm nhìn 27 3.2.1.2. Voronoi Diagram – Lược đồ Voronoi 30 3. 2.2. Cell Decomposition (Phân ly ô) 32 3.2.2.1. Exact Cell Decomposition 33 3.2.2.2. Approximate Cell Decomposition 35 3.3. Tổng kết 36 TÀI LIỆU THAM KHẢO 37 PHỤ LỤC 38 Phụ lục 1 - Demo các giải thuật cơ bản (Bug 1 – Bug 2) 38 Phụ lục 2 – Demo giải thuật Visibility Graph 38 Phụ lục 3 – Demo giải thuật Voronoi Diagram 38 4 KÝ HIỆU – QUY ƯỚC C-Space: Configuration space - không gian cấu hình C free : Không gian tự do q start : vị trí xuất phát q goal : mục tiêu cần đến 5 TÓM TẮT ĐỒ ÁN Lập lộ trình chuyển động cho robot là một hướng nghiên cứu khoa học với mục tiêu cung cấp tri thức để robot có đủ khả năng tự vận động, di chuyển trong không gian phức tạp (với nhiều chướng ngại) để đến được đích mà không bị lạc hay va vào các đối tượng khác. Thông thường một lộ trình thường được xác lập trước để dẫn dắt robot đến vị trí đích. Với phương pháp này, môi trường robot đi qua phải được biết hoàn toàn và không thay đổi, đồng thời robot cần có cơ quan cảm giác để cảm nhận và cập nhật tri thức từ môi trường. Hạn chế của việc lập lộ trình trước đòi hỏi việc nghiên cứu tìm hiểu vạch lộ trình nội tại, và phụ thuộc vào các tri thức thu được từ môi trường hiện tại để xử lý các chướng ngại chưa biết khi robot băng qua môi trường. Trên thế giới hiện nay tự động hóa robot là một lĩnh vực nghiên cứu thu hút một lực lượng đông đảo các nhà khoa học tham gia. Bài toán lập lộ trình cho robot là bài toán cơ bản để thiết kế và chế tạo robot, do vậy việc tìm hiểu bài toán và nghiên cứu các phương pháp lập lộ trình là rất quan trọng và cần thiết cho sự phát triển của ngành khoa học robot. Hiện nay, đã có một số nghiên cứu mới để giải quyết bài toán này như ứng dụng giải thuật di truyền - lập trình tiến hóa, ứng dụng mạng neuron trong việc xây dựng lộ trình chuyển động, …; nói chung, đây là một vấn đề mở, nhiều thử thách và đang rất được quan tâm. Đặc biệt trong nước nói chung và trong lĩnh vực AI của nước ta nói riêng, so với các hướng nghiên cứu như nhận dạng, xử lý ảnh, xử lý âm thanh,… đây vẫn còn là một chủ đề khá mới mẻ và hầu như chưa có tài liệu một cách đầy đủ về đề tài này. Trước tiên em xin chân thành cảm ơn thầy Lê Hoài Bắc, dưới sự gợi ý và chỉ dẫn của thầy, em đã được tạo điều kiện và cơ hội để tiếp cận với hướng nghiên cứu mới, đầy thú vị này: “Robot Motion Planning” – “Lập lộ trình chuyển động cho robot”. Mục tiêu của bài báo cáo đồ án này tập trung vào tường thuật lại các nội dung mà em đã thu thập và nắm được trong suốt quá tìm hiểu đồ án. Báo cáo đồ án ở đây gồm 3 chương, có thể được tóm tắt ngắn gọn như sau: 6 Chương 1: Trình bày tổng quan về bài toán lập lộ trình cho robot bao gồm: Các khái niệm cơ bản về robot, giới thiệu về bài toán lập lộ trình, ví dụ và một số ứng dụng về lập lộ trình robot, khái quát một số giải thuật lập lộ trình cơ bản. Chương 2: Trình bày các khái niệm về cấu hình không gian trạng thái, cách biểu diễn không gian trong bài toán lập lộ trình robot. Chương 3: Tìm hiểu sâu về một số phương pháp chính xác lập lộ trình chuyển động cho robot, cụ thể gồm các phương pháp: lớp giải thuật Roadmap (Các giải thuật tiêu biểu như: Visibiliity Graph (Đồ thị tầm nhìn), Voronoi Diagram (Lược đồ Voronoi)), các phương pháp Cell Decomposition (Phân giải ô). Đây là những cách tiếp cận tổ hợp với việc lập lộ trình chuyển động để tìm đường đi xuyên qua không gian cấu hình liên tục mà không cần đến các thuật toán xấp xỉ. 7 NỘI DUNG ĐỒ ÁN CHƯƠNG 1: GIỚI THIỆU BÀI TOÁN LẬP LỘ TRÌNH CHO ROBOT 1.1. Khái niệm cơ bản: 1.1.1. Sơ lược về robot: Cùng với sự phát triển của khoa học kĩ thuật, công nghệ robot ngày càng được quan tâm, đầu tư và ứng dụng rộng rãi trên nhiều phương diện. Robot có thể là các thiết bị tự động trong các dây chuyển công nghiệp hoặc là các đối tượng làm việc trong các môi trường phức tạp mà con người đôi khi không thể tiếp cận được, như : môi trường nhiệt độ cao, áp suất lớn, khoảng không vũ trụ,… • Về cấu tạo: Robot phải được trang bị bộ phận cảm biến để cảm nhận và cập nhật tri thức từ môi trường xung quanh (như: sensor, decoder,…) và các bộ phận hành động để phản hồi lại các thông tin thu thập được trong quá trình vận động (như: cánh tay robot, bánh xe chuyển động,…). • Các tri thức cần trang bị cho robot gồm: Cấu trúc môi trường mà robot đang làm việc, các tình huống mà robot có thể gặp và phương hướng xử lý trong các hoàn cảnh đó. Các tri thức này cần được thể hiện một cách thích hợp sao cho thuận tiện trong việc lưu trữ, tìm kiếm và suy diễn. • Các khả năng của robot: Robot cần có khả năng phân biệt các đối tượng mà nó gặp, thực hiện các thao tác, di chuyển trong môi trường sao cho đường đi là tối ưu và không va chạm với các vật cản. 1.1.2. Một số thuật ngữ chung trong việc lập lộ trình: • Agent – Tác nhân: Là các đối tượng, thực thể có khả năng nhận thức từ môi trường xung quanh thông qua cơ quan cảm giác và có những phản ứng thích hợp trở lại môi trường nhờ cơ quan phản ứng. Ví dụ: con người, robot,… • Percept – Tri thức: Là kết quả nhận thức của 1 đối tượng (agent / robot) đối với môi trường xung quanh 8 • Action – Hành động: Là những phản ứng của robot (agent) tác động vào môi trường trong quá trình thu thập tri thức. Hành động là nguyên nhân của sự thay đổi trạng thái. • State – Trạng thái: Trạng thái của vấn đề lập lộ trình là một không gian gồm tất cả các tình trạng có thể xuất hiện của robot và môi trường xung quanh. • Initial state – Trạng thái ban đầu: Trạng thái có trước khi đối tượng (agent / robot) thực hiện bất kỳ hành động nào. • Goal state – Trạng thái mục tiêu: Trạng thái cuối cùng mà một đối tượng (agent / robot) cần đạt được sau khi thực hiện kế hoạch. • Environment - Môi trường: Là không gian thế giới xung quanh dối tượng (agent / robot), cung cấp tri thức và nhận phản ứng phản hồi từ dối tượng. • Plan library – Thư viện kế hoạch: Tập luật về các hành động của agent / robot. Thư viện có thể không đầy đủ các kế hoạch nhưng có khả năng cập nhật, chọn lọc thường xuyên trong quá trình agent / robot hoạt động và tiếp thu tri thức từ môi trường. • Plan space – Không gian kế hoạch: Lưu trữ các kế hoạch của agent / robot. Khác với thư viện kế hoạch, không gian kế hoạch có thể trùng lắp do được cập nhật tức thời, không có sự chọn lọc tại mỗi thời điểm agent / robot thực hiện các hành động để đạt đến mục tiêu. • State Space – Không gian trạng thái: Là không gian tập hợp tất cả các trạng thái mà agent / robot có thể có khi thực hiện hành động. Đối với bài toán cụ thể, không gian trạng thái là hữu hạn. Một điều chú ý là không gian trạng thái được biểu diễn không tường minh trong một giải thuật lập lộ trình; trong đa số các ứng dụng, số chiều của không gian trạng thái là quá lớn để có thể được trình bày rõ ràng. • Configuration Space – Không gian cấu hình: Là không gian tập hợp tất cả các cấu hình có thể có của agent / robot và môi trường xung quanh nó; là một đặc tả toàn vẹn về các tọa độ các điểm trong hệ thống. 9 • Free space – Không gian tự do: Là nơi còn trống trong không gian mà robot có thể di chuyển. • Obstacle – Chướng ngại vật: Là “thành phần” thường xuyên chiếm chỗ trong không gian, hay nói cách khác là nơi mà robot không thể đi vào. Ví dụ như: bước tường, chiếc bàn,… 1.2. Bài toán lập lộ trình: • Lộ trình trong trí tụê nhân tạo được định nghĩa là một tập hữu hạn các hành động có thể thực hiện và được được áp dụng cho một tập hợp riêng biệt những trạng thái và được xây dựng một giải pháp thích hợp cho dãy những hành động đó. • Trong phạm vi rộng những vấn đề để cập trong thuật ngữ lập lộ trình đã được áp dụng trong tất cả các lĩnh vực trí tuệ nhân tạo, lý thuyết điều khiển, và kỹ thuật robot. Về cơ bản, dưới góc độ nhìn của lĩnh vực trí tuệ nhân tạo, chúng ta có thể coi việc lập lộ trình như là một nhánh của giải thuật. Từ đây, chúng ta nghiên cứu về các giải thuật lập lộ trình, trong đó mục tiêu trọng tâm là thuật toán và những vấn đề cài đặt một số phương pháp lập lộ trình. • Muốn hiểu sâu sắc về các giải thuật lập lộ trình ta phải trả lời được các câu hỏi sau: o Thế nào là một lộ trình? o Một lộ trình được mô tả như thế nào? o Lộ trình được cài đặt như thế nào trong máy tính? o Như thế nào được cho là hoàn tất? o Đánh giá chất lượng của một lộ trình ra sao? o Đối tượng nào sẽ sử dụng lộ trình đó? o … • Tóm lại, bài toán lập lộ trình cho robot có thể được phát biểu như sau: Cho đối tượng với vị trí ban đầu và vị trí đích với một tập các chướng ngại vật có các vị trí khác nhau trong không gian làm việc. Yêu cầu tìm ra một 10 đường đi liên tục từ vị trí ban đầu đến vị trí đích sao cho tránh được những va chạm với các vật cản trên đường đi. Quá trình lập lộ trình thường được chia thành hai thao tác chính đó là: Xây dựng không gian kế hoạch và tìm đường. 1.3. Ví dụ về lập kế hoạch và một số ứng dụng về lập lộ trình robot Tiếp sau đây chúng ta sẽ xem xét một số ví dụ cơ bản và ứng dụng thực tiễn của việc lập lộ trình cho robot, từ đó ta sẽ có thể hiểu rõ hơn tầm quan trọng và cần thiết của các giải thuật lập lộ trình. Để có thể lập lộ trình chính xác cho các đối tượng (agent / robot), trước tiên ta cần phải xây dựng bộ lập kế hoạch cho đối tượng để nó có thể tiếp nhận tri thức, xử lý và đưa ra các kế hoạch phù hợp. Trước tiên chúng ta sẽ xem xét một số bài toán cơ bản đầu tiên trong việc lập kế hoạch. 1.3.1. Robot sắp xếp các khối: Mô tả bài toán: Có một tập hợp các khối lập phương ở trên bàn. Các khối có thể xếp chồng lên nhau, nhưng chỉ một khối có thể nằm trên một khối khác. Một cánh tay robot có thể nhấc một khối lên và di chuyển nó đến vị trí khác: lên trên bàn hay lên trên một khối khác. Trong một thời điểm cánh tay chỉ có thể nhấc một khối, vì vậy nó không thể nhấc một khối đang ở dưới một khối khác. Mục tiêu là sẽ xây dựng một hay nhiều đống các khối, cụ thể là giới hạn khối nào trên khối nào. Hướng giải quyết bài toán: Để có thể giúp robot thực hiện được công việc này, trước tiên chúng ta cần mô hình hóa bài toán về dạng chuẩn, chuyển đổi các giả thiết của bài toán về dạng dữ liệu có thể biểu diễn trên máy tính gồm input (tương ứng với không gian trạng thái ban đầu) và output (tương ứng với trạng thái mục tiêu mà robot cần đạt); đồng thời, ta cần đề ra các giải thuật lập kế hoạch thích hợp cho robot và kiểm nghiệm giải thuật trên tập dữ liệu mẫu có sẵn, từ đó bổ sung, cập nhật tri thức về hướng giải quyết vấn đề cho robot. Kết quả mà ta mong đợi đó là robot sẽ có khả năng lập kế hoạch chính xác để hoàn thành công việc mà nó đã được bổ sung tri thức với tập dữ liệu đầu vào (trạng thái bắt đầu) và ra (trạng thái mục tiêu) bất kỳ. [...]... không bị chặn nối các đỉnh đa giác, đỉnh đầu và đỉnh cuối B3: Sử dụng thuật toán tìm kiếm trên đồ thị vừa xây dựng để tìm đường đi ngắn nhất Hình 3 2 ở bên minh họa một đồ thị được xây dựng trên không gian cấu hình gồm các vật cản đa giác theo tư tưởng của phương pháp đồ thị tầm nhìn Lược giản đồ thị tầm nhìn: Với nhận xét sau: • Đồ thị được xây dựng hiện tại có quá nhiều cạnh! -> Ta có thể lược bỏ một... lược đồ Voronoi (Voronoi Diagram) Hình 3.4 dưới đây minh họa một lược đồ Voronoi được hình thành theo các nguyên tắc trên Hình 3.5 minh họa quá trình hình thành một lược đồ Voronoi tổng quát (GVD – General Voronoi Diagram) Lưu ý, lược đồ voronoi tổng quát là lược đồ mà tập các điểm trên đó cùng mang tính chất là khoảng cách từ một điểm bất kỳ đến 2 (hay nhiều) vật cản là như nhau 31 Ứng dụng lược đồ. .. lược đồ Voronoi trong việc xác định lộ trình chuyển động: B1: Xác định lược đồ Voronoi cho không gian cấu hình B2: Tính toán đoạn đường ngắn nhất từ đỉnh nguồn đỉnh bất kỳ trên đồ thị B3: Tính toán đoạn đường ngắn nhất từ đỉnh đích đến đỉnh bất kỳ trên đồ thị B4: Xác định đường đi tối ưu từ đỉnh nguồn đến đích dọc theo lược đồ Voronoi 3.2.2 Cell Decomposition (Phân ly ô) Các giải thuật phân ly ô hướng... nhiệm vụ khảo sát thực địa, xây dựng bản đồ về môi trường mà nó khảo sát, xác định vị trí chính xác của nó trong bản đồ, đích cần đến Đa số các robot hành động bất chấp tình trạng không chắc chắn Vấn đề xây dựng một bản đồ về môi trường mà robot hoạt động là tiền đề của nhiều hệ thống hiện nay, đây là một lựa chọn được ưa chuộng cho việc phát triển những robot đáng tin cậy hoàn thành những nhiệm vụ đặc... một số ứng dụng thực tế của bài toán lập lộ trình robot 1.3.3 Sử dụng robot di động để di chuyển piano: • Mô tả bài toán: Chúng ta cần di chuyển một piano lớn qua một căn phòng bằng cách sử dụng 3 robot di động với 3 cánh tay thao tác trên chúng Hình 11 1.3 mô tả quá trình di chuyển Trong quá trình di chuyển yêu cầu phải tránh được những va chạm giữa robot và các đồ vật khác Vấn đề sẽ trở nên phức... hóa cách biểu diễn bài toán và tiện trong việc lập trình ta có thể áp dụng phép biến đổi C-space để đưa bài toán về dạng biểu diễn di chuyển một điểm trong không gian (điểm này tương ứng với đối tượng robot) với kích thước các vật cản được mở rộng Phép biến đổi cấu hình không gian 3 chiều: • Bài toán đặt ra ở đây là: Làm thế nào để chuyển đổi không gian cấu hình cho bài toán di chuyển một đối tượng... 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... mô phỏng sinh học như robot khám bệnh, những mô hình hình học ứng dụng tới từng phân tử,… 1.4 Một số giải thuật cơ bản Để có một khung nhìn chi tiết hơn về các cách tiếp cận với các giải thuật lập lộ trình trong thực tế, trước tiên chúng ta sẽ tìm hiều sơ lược về một số giải thuật cơ bản nhất Các giải thuật này còn được biết với tên gọi là giải thuật Bug (Bug algorithms) Mô tả bài toán: • Có nhiều... vượt qua không gian tập các vật cản cũng là đa giác??? - Hình 2.6 Minh họa cho cách giải quyết vấn đề trên Ở đây không gian bài toán ban đầu được đưa về không gian cấu hình biểu diễn một điểm di chuyển trong không gian 3 chiều tạo bởi các vật cản đa giác 2 chiều được bố trí theo độ sâu khác nhau 25 2.4 Kết luận: Chương này tập trung chủ yếu vào việc trình bày khái niệm không gian cấu hình và một số... trong không gian cấu hình; từ đó ta sẽ lựa chọn ra một giải thuật tìm kiếm thích hợp nhất (ví dụ: Giải thuật A*) để tìm ra đường đi tối ưu trên đồ thị tìm kiếm vừa xây dựng 27 Một điều cần lưu ý nữa là phương pháp đồ thị tầm nhìn chủ yếu được áp dụng cho các bài toán xét trong không gian gồm các vật cản đa giác Xét không gian cấu hình gồm các vật cản đa giác được biểu diễn trong hình 3.1 Ta có một số nhận . ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN Trần Duy Quang – 0912369 Email: duyquang.fit@gmail.com ĐỒ ÁN (seminar)MÔN HỌC TRÍ TUỆ. các lĩnh vực trí tuệ nhân tạo, lý thuyết điều khiển, và kỹ thuật robot. Về cơ bản, dưới góc độ nhìn của lĩnh vực trí tuệ nhân tạo, chúng ta có thể coi việc lập lộ trình như là một nhánh của giải. một lực lượng đông đảo các nhà khoa học tham gia. Bài toán lập lộ trình cho robot là bài toán cơ bản để thiết kế và chế tạo robot, do vậy việc tìm hiểu bài toán và nghiên cứu các phương pháp

Ngày đăng: 03/05/2015, 17:43

Từ khóa liên quan

Mục lục

  • ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

  • TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

  • Trần Duy Quang – 0912369

  • ĐỒ ÁN (seminar)MÔN HỌC

Tài liệu cùng người dùng

Tài liệu liên quan