ỨNG DỤNG ĐỒ THỊ TẦM NHÌN VÀO BÀI TOÁN TÌM ĐƯỜNG CHO ROBOT

15 865 1
ỨNG DỤNG ĐỒ THỊ TẦM NHÌN VÀO BÀI TOÁN TÌM ĐƯỜNG CHO ROBOT

Đ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

Tạp chí Khoa học Trường Đại học Cần Thơ Phần A: Khoa học Tự nhiên, Công nghệ Môi trường: 32 (2014): 42-56 ỨNG DỤNG ĐỒ THỊ TẦM NHÌN VÀO BÀI TOÁN TÌM ĐƯỜNG CHO ROBOT Trần Thị Như Nguyệt1, Vũ Đức Lung1 Trần Văn Hoài2 Khoa Kỹ thuật Máy tính, Trường Đại học Công nghệ Thông tin, Đại học Quốc gia Hồ Chí Minh Khoa Khoa học Kỹ thuật Máy tính, Trường Đại học Bách Khoa, Đại học Quốc gia Hồ Chí Minh Thông tin chung: Ngày nhận: 18/03/2014 Ngày chấp nhận: 30/06/2014 Title: Applying visibility-graph to the shortest path problem for robots Từ khóa: Đồ thị tầm nhìn, đường dẫn ngắn nhất, vật cản, hoạch định tối ưu toàn cục, LegoMindstorm NXT, điều khiển PID Keywords: Visibility-graph, shortestpath, obstacles, global optimization planning, LegoMindstorm NXT, PID controller ABSTRACT This paper presents a solution for global optimized path planning with respect to finding the shortest distance for autonomous robotic system, particularly in two-dimensional space with a set of obstacles The proposed approach is based on visibility-graph and the literature review of path planning is presented in details to explain why this approach is used Through pros, cons, and complexity in the construction of a visibility-graph, the paper proposed two simple and efficient techniques to significantly reduce computation time in building a visibility-graph in the case of numerous obstacles Finally, the method of how to control the robot follow exactly the identified path is shown The experimental results, with a real robot, show that the proposed approach is efficient, feasible and straightforward to apply in practice TÓM TẮT Bài báo trình bày giải pháp cho toán xác định đường ngắn toàn cục, tránh vật cản không gian hai chiều áp dụng kiểm thử robot thật Cách tiếp cận sử dụng dựa vào đồ thị tầm nhìn (visibility-graph) Thông qua ưu khuyết điểm độ phức tạp việc xây dựng visibility-graph, báo đề xuất hai phương pháp đơn giản, hiệu quả, giúp giảm đáng kể thời gian xây dựng visibility-graph trường hợp môi trường chứa nhiều vật cản Ngoài ra, báo giới thiệu phương pháp giúp robot di chuyển xác theo đường hoạch định trước Kết thực nghiệm cho thấy giải pháp đề nghị hiệu quả, khả thi áp dụng dễ dàng thực tế nhiều chiều Môi trường hoạt động tĩnh (các vật cản cố định biết trước) động (các vật cản không cố định trước) Đây vấn đề gặp phải thường xuyên xây dựng robot tự hành mục đích toán tìm đường (path-planning) giải vấn đề tương tự GIỚI THIỆU Giả sử robot tự hành (bao gồm tự hành mặt đất không) tự di chuyển môi trường với nhiều vật cản, để tìm đường dẫn tốt với vài tiêu chuẩn tối ưu ngắn mặt khoảng cách, ngắn mặt thời gian, tiêu tốn lượng để robot di chuyển dọc theo đường từ điểm bắt đầu đến điểm kết thúc mà không va vào vật cản đường môi trường hai Một giải pháp cho vấn đề thường đi-và-tránh, tức robot di chuyển gặp vật cản tránh với góc sau hướng tới đích tiếp Tuy nhiên, 42 Tạp chí Khoa học Trường Đại học Cần Thơ Phần A: Khoa học Tự nhiên, Công nghệ Môi trường: 32 (2014): 42-56 tiêu tối ưu khác nhau, mục tiêu cụ thể mà báo giải tìm đường ngắn mặt khoảng cách cho robot điểm; robot di chuyển môi trường chứa nhiều vật cản; vật cản xem đa giác (bao gồm lồi lõm) Nội dung công việc phân làm hai công đoạn chính: (1) để tính toán đường ngắn cho robot (2) sau đường ngắn dự kiến tính toán được, để robot bám đường cách xác Về nội dung (1), báo sử dụng đồ thị tầm nhìn (visibility-graph) để dựa vào tính toán đường ngắn Như để tạo thành visibility-graph trình bày nhiều công bố trước đây, báo sử dụng phương pháp Welzl [S.K Ghosh, 2007; E Welzl, 1985] với độ phức tạp θ(n2) Và trường hợp môi trường hoạt động robot lớn, với số vật cản nhiều, báo giới thiệu hai phương pháp đơn giản hiệu giúp giảm đáng kể thời gian tính toán visibilitygraph Về nội dung (2), giải pháp bám đường dễ dàng áp dụng cho nhiều loại robot thật, sử dụng ý tưởng từ lý thuyết điều khiển PID (proportionalintegral-derivative) kết thực nghiệm trình bày chi tiết đường dẫn tối ưu toàn cục theo tiêu chuẩn tính toán trước robot di chuyển theo kết tốt nhiều Robot không dừng lại phần điện mà tính thông minh não phát triển mạnh dựa vào việc kết hợp Các giải pháp công bố cho toán nhìn chung thường sử dụng ba hướng tiếp cận: dựa tìm kiếm (search-based), dựa lấy mẫu (sampling-based), phương pháp tổ hợp (combinatorial-planning) [S M Valle, 2006; S.K Ghosh, 2007] Trong ba phương pháp, dựa lấy mẫu dựa tìm kiếm cho nhanh dễ dàng thực hiện, dựa tổ hợp tiêu tốn khoảng thời gian tính toán lớn môi trường chứa nhiều vật cản Tuy nhiên, hai phương pháp đầu, dựa vào xác suất tính ngẫu nhiên, sau khoảng thời gian chạy chưa cho lời giải không chắn liệu có đường dẫn tốt tồn hay không, thời gian chạy đủ chưa Trong đó, ưu điểm lớn dựa tổ hợp biết đường tốt mong muốn tồn hay không đường sau giải thuật hoàn tất, sử dụng lý thuyết hình học Chính đặc tính mà hầu hết nhân não hệ thống robot mạnh cố gắng thực xác định đường thực theo hướng tiếp cận này, phòng trường hợp cần thiết [S.K Ghosh, 2007] Ngoài ra, hoạch định đường dựa tổ hợp có khả ứng dụng rộng rãi phương pháp khác, áp dụng nhiều lĩnh vực khác như: đồ họa máy tính, VLSI, GIS Phần lại báo bao gồm bốn phần Phần II trình bày tổng quan path-planning, ý tưởng hướng tiếp cận; khái niệm chi tiết công bố liên quan đến việc sử dụng visibility-graph liệt kê rõ Phần III giới thiệu hai phương pháp đóng góp báo giúp giảm thời gian xây dựng visibility-graph Phần IV hướng dẫn điều khiển việc bám đường xác cho robot Và phần cuối kết thực nghiệm tất công việc nêu Từ lý này, báo trình bày toán tìm đường tối ưu áp dụng thực tế vào robot thật với cách tiếp cận dựa theo tổ hợp Có nhiều mục Hình 1: Hình ảnh mô ba hướng tiếp cận path-planning [S M Valle, 2006] 43 Tạp chí Khoa học Trường Đại học Cần Thơ Phần A: Khoa học Tự nhiên, Công nghệ Môi trường: 32 (2014): 42-56 ảnh kết phương pháp sau số vòng lặp khác 2.1.3 Dựa tổ hợp TỔNG QUAN VỀ CÁC GIẢI THUẬT XÁC ĐỊNH ĐƯỜNG ĐI (PATH-PLANNING) Đà ĐƯỢC NGHIÊN CỨU 2.1 Các hướng nghiên cứu path-planning Phương pháp xem giải pháp kinh điển đầu tiên, đời trước hai phương pháp dựa tìm kiếm lấy mẫu Trong dựa tìm kiếm lấy mẫu dựa tính ngẫu nhiên xác suất để tìm đường dẫn mong muốn phương pháp dựa lý thuyết hình học để tìm đường tốt mong muốn cách xác tuyệt đối Phương pháp lấy input vào đại diện nhiều mặt môi trường xét (như vật cản đa diện) thêm vào cạnh đỉnh cần thiết Dựa yêu cầu toán, đồ thị tạo ra, gọi roadmap Dựa roadmap này, đường dẫn tốt yêu cầu tính toán Và visibility-graph số roadmap phương pháp Định nghĩa độ phức tạp giải thuật xây dựng visibilitygraph trình bày mục 2.2 2.1.1 Dựa tìm kiếm Ý tưởng phương pháp chia không gian môi trường thành lưới với ô kích thước Đích đến vị trí robot biết lưới Một trình tìm kiếm (ví dụ giải thuật D*) thực lưới để giải vấn đề tìm đường đi, hình 1(a) Ưu điểm phương pháp trình tìm kiếm thực lưới, điều giúp giảm bớt gánh nặng việc trì cấu trúc đồ thị trình thực giải thuật Lưới đồ thị Tuy nhiên, khuyết điểm toán không gian toán thể với lưới Việc phân giải lưới phải rõ, kết toán tối ưu đến mức phụ thuộc hoàn toàn vào phân giải lưới [D Ferguson and A.Stentz, 2006] 2.1.2 Dựa lấy mẫu Với đặc điểm này, giải pháp đưa kết cụ thể cho toán tìm đường nào, tìm đường tốt báo cách xác không đường dẫn tốt yêu cầu tồn Trái ngược lại với phương pháp này, hai phương pháp đầu, sau khoảng thời gian chạy không đưa giải pháp người sử dụng không chắn liệu có đường dẫn tốt tồn hay không thời gian chạy đủ chưa Tuy nhiên, thực tế, toán tối ưu toàn cục thường đòi hỏi giải pháp giới hạn mặt thời gian phương pháp dựa tổ hợp lại tiêu tốn nhiều thời gian trường hợp môi trường hoạt động chứa nhiều vật cản Nhưng hệ thống robot xem hoạt động tốt cần kết hợp hai chế độ, chế độ tìm đường thông thường với độ phức tạp thấp nhanh - sử dụng tìm đường dựa tìm kiếm lấy mẫu chế độ tìm đường xác - sử dụng tìm đường dựa tổ hợp [S.K Ghosh, 2007] Ngoài phương pháp hữu dụng nhiều lĩnh vực CAD/CAM, xử lý ảnh, VLSI Phương pháp thường trải qua bước: Khi sinh đỉnh v, kiểm tra xem v có bên vật cản hay không, đỉnh đến cạnh điểm lân cận trực tiếp đưa vào đồ thị (hay gọi tập cạnh di chuyển được), cuối đồ thị đường được tạo thành điểm bắt đầu điểm đích việc tìm đường thực đồ thị đường theo giải thuật đó, trình bày hình 1(b) [R Bohlin and L Kavraki, 2000; S LaValle, 1998] Khuyết điểm phương pháp gần giống dựa tìm kiếm, việc lấy ngẫu nhiên đỉnh thêm vào kiểm tra cho kết nối có thỏa mãn không ảnh hưởng lớn đến thời gian chạy giải thuật Lấy cho tốt chạy vòng lặp vấn đề khó khăn, tương tự dựa tìm kiếm chia lưới tốt Hình thể hình 44 Tạp chí Khoa học Trường Đại học Cần Thơ Phần A: Khoa học Tự nhiên, Công nghệ Môi trường: 32 (2014): 42-56 Hình 2: Giải thuật dựa lấy mẫu với số vòng lặp tăng dần [18] Như vậy, việc tìm đường ngắn không gian nhiều vật cản cần bước giải toán theo dạng này: (1) Tạo visibility-graph (2) dựa vào số chi phí tương ứng cạnh, giải thuật tìm đường ngắn áp dụng Dijkstra, Bellman-Ford, A* search, Floyd-Warshall Với bước (2), toán trở thành toán tìm đường ngắn kinh điển đồ thị liên thông có trọng số, giải thuật độ phức tạp chúng trở nên quen thuộc Vì vậy, độ phức tạp toàn trình phụ thuộc vào bước (1), để tạo visibilitygraph tốn thời gian 2.2 Visibility-graph cho toán tìm đường ngắn Môi trường di chuyển robot xem đồ thị G  (V , Es ) với:  V tập hợp đỉnh tương ứng với vị trí đỉnh vật cản điểm đầu, cuối mà robot cần di chuyển  Es tập V  V , tập hợp cạnh đồ thị, tức đường bao quanh vật cản Visibility-graph số roadmap theo hướng tiếp cận dựa tối ưu tổ hợp, phù hợp cho toán tìm đường ngắn mặt khoảng cách Visibility-graph xây dựng cách thêm vào đồ thị G tập cạnh Ev với: Giải thuật đơn giản kiểm tra đoạn thẳng đồ thị xem đoạn thẳng có bị cắt vật cản không Giải thuật chạy thời gian θ(n3) Lee người cải tiến từ giải thuật đơn giản để đạt độ phức tạp tốt θ(n2logn); Lee sử dụng phương pháp quét xoay tròn danh sách lưu lại thứ tự quét lần trước để làm giảm độ phức tạp giải thuật [S M Valle, 2006] Sau Lee, nhóm giải thuật đạt độ phức tạp θ(n2) giới thiệu Tiêu biểu số giải thuật Welzl nhóm tương tự [S.K Ghosh, 2007; E Welzl, 1985; John E Hershberger and Subhash Suri, 1993] Sau nhóm giải thuật Outputsensitive công bố, tiêu biểu giải thuật Ghosh and Mount thời gian tính toán visibilitygraph xuống θ(nlogn) Tuy nhiên, phương pháp sử dụng lý thuyết tam giác hóa cấu trúc liệu đặc biệt phức tạp Về mặt lý thuyết phương pháp đạt độ phức tạp tốt cạnh tạo trình cấu tạo visibilitygraph thưa thớt Nhưng mặt thực, giải thuật khuyến cáo không đạt độ phức tạp cấu trúc liệu phức tạp [S.K Ghosh, 2007] Ev  {(vi, vj ) V V | visible(vi, vj, Es)} Hàm visible(vi, vj , Es ) trả true cạnh Es không cắt cạnh (vi, vj ) Nói cách khác (vi, vj ) tạo thành cạnh từ vi tới vj mà không bị cản trở vật cản Một visibility-graph tạo thành: Gvisibility  graph  (V , E,WE ) với: E  Es  Ev WE : E  R trọng số chi phí tương ứng với cạnh Với visibility-graph trên, đường dẫn chi phí nhỏ theo tiêu chí tìm thấy đỉnh bắt đầu đỉnh cần đến robot 45 Tạp chí Khoa học Trường Đại học Cần Thơ Phần A: Khoa học Tự nhiên, Công nghệ Môi trường: 32 (2014): 42-56 3.1.1 Tổng quát toán Một số điều cần lưu ý thêm, dùng visibility-graph, đường tìm dọc theo biên vật cản Nếu robot có kích thước, khoảng cách hành lang phải tính toán để robot di chuyển tốt Vấn đề chặt góc cua cần xem xét đến Việc mở rộng visibility-graph lên nhiều hai chiều điều Point-topoint planning không gian cấu hình ba chiều với vật cản đa diện toán NP-hard số phương pháp giải trình bày [S.K Ghosh, 2007] Định nghĩa Vật cản gọi nhỏ diện tích nhỏ 1/  tổng diện tích môi trường mà vật cản di chuyển Định nghĩa Hai vật cản nhỏ xem gần khoảng cách hai tâm chúng nhỏ  Tập vật cản nhỏ gần tạo thành cụm Định nghĩa Bao đóng lồi tập hữu hạn điểm S mặt phẳng đa giác lồi P nhỏ mà bao xung quanh S, nhỏ theo nghĩa đa giác P’ khác cho P  P '  S [J O’Rourke, 1998] Khoảng cách hai đa giác định nghĩa sau: d ( Pi, Pj )  d (c( Pi), c( Pj ))  c( Pi), c( Pj ) Với c(Pi), c(Pj) theo thứ tự tâm đa giác Pi Pj Tâm đa giác xem tâm tập hợp đỉnh đa giác, cải tiến theo công thức Surveyor Hình 3: Một ví dụ với ba vật cản đa giác visibility-graph  Tâm tập hữu hạn n điểm x1, x2, Như trình bày trên, báo sử dụng giải thuật Welzl [S.K Ghosh, 2007; E Welzl, 1985] để thực việc xây dựng visibility-graph (chi tiết thực giải thuật không trình bày đây) Tuy nhiên, khuyết điểm phương pháp với môi trường chứa nhiều vật cản, thời gian tính toán lớn Vì vậy, số kỹ thuật sử dụng thêm vào nhằm giảm bớt thời gian tính toán cho visibility-graph Phần giới thiệu hai kỹ thuật đơn giản giúp giảm thời gian tính toán cách hiệu … xn R2: C  n xk  n k 1  Công thức Surveyor: Cx  n  ( xi  xi  1)( xiyi   xi  yi ) A i 1 Cy  n  ( yi  yi  1)( xiyi   xi  yi) A i 1 A   n ( xiyi   xi  yi ) i 1 CÁC PHƯƠNG PHÁP GIÚP GIẢM THỜI GIAN XÂY DỰNG MỘT VISIBILITYGRAPH 3.1 Gom nhóm, tiền xử lý vật cản Với đỉnh phải xếp theo chiều kim đồng hồ ngược chiều kim đồng hồ; ngược chiều kim đồng hồ, giá trị tính theo công thức âm, giá trị lấy trị tuyệt đối (Lưu ý, đỉnh cuối (xn, yn) = (x0, y0)) 3.1.2 Phương pháp thực Ý tưởng phương pháp xuất phát từ số môi trường thực tế mà số vật cản nhỏ so với vật cản khác Các nhóm vật cản nhỏ thường đứng lận cận nhau, xem xét vai trò vật cản nhỏ ngang với vật cản lớn, thời gian tiêu tốn lãng phí Kỹ thuật trình bày cách gom nhóm vật cản nhỏ lại với nhau, sau hợp lại để tạo thành vật cản lớn Việc gom nhóm thực khi: ( S ( pi)  1/  ) (x  c : d ( pi, x)   ) c  c  pi centerc   n c( pi ) n i 1 46 Tạp chí Khoa học Trường Đại học Cần Thơ Phần A: Khoa học Tự nhiên, Công nghệ Môi trường: 32 (2014): 42-56 vào tập điểm cần tìm bao đóng Kết tìm đa giác bao xung quanh, thay cho cụm đa giác trình bày Hình Nếu trình kết hợp vật cản dựa hoàn toàn vào giải thuật tìm convex hull, vài trường hợp, trình kết hợp không hiệu quả, lãng phí số không gian Để khắc phục vấn đề này, giải thuật concave hull sử dụng thay với c cụm, pi đa giác, S(pi) diện tích pi c(pi) R2 Mỗi đa giác trước đưa vào danh sách, đa giác nhỏ, kiểm tra với đa giác trước để xác định đa giác có thuộc cụm đa giác không Đa giác nhỏ xếp vào cụm đa giác cần xem gần với phần tử cụm Mỗi cụm đa giác xác định ID Và tâm nhóm tính toán lại đa giác nhóm thay đổi Để cấu trúc bao đóng lồi cho tập điểm 2D có nhiều giải thuật, độ phức tạp từ θ(n3) tới θ(nlogn) Các giải thuật tiêu biểu Gift Warpping θ(n2), QuickHull θ(n2), O’Graham θ(nlogn), Incremental Algorithm θ(nlogn) [J O’Rourke, 1998] Và vài giải thuật tìm concave hull giới thiệu SwingArm θ(n3), KNN-based θ(n3), Shape θ(nlogn) [J.Park and S Oh, 2012] Sau đa giác nhỏ đưa vào nhóm, đa giác nhóm kết hợp lại với tạo thành đa giác lớn bao xung quanh Giải thuật kết hợp đa giác lấy ý tưởng từ giải thuật tìm bao đóng lồi (convex hull) bao đóng lõm (concave hull) tập điểm Các đỉnh polygon cụm đưa Hình 4: Các bước gom nhóm vật cản tạo visibility-graph hoàn chỉnh đường dẫn 3.2 Chia vùng môi trường hoạt động kết ngắn tính toán dựa graph hợp với xử lý song song Hình trình bày code giả hai cách tính Ý tưởng kỹ thuật vùng trình bày hoạt động chia thành nhiều vùng nhỏ visiblity-graph cho phần tạo thành cách song song Định nghĩa Giả sử vùng hoạt động chia thành n + phần, gọi di đường vuông góc với đường sd (với s điểm đầu, d điểm đích đường ngắn cần tìm) Tập hợp tất đường di, với i từ tới n gọi tập hợp đường chia Khoảng cách từ s tới di kết phép nhân k i, với k kết sd chia cho n Định nghĩa Một phần chia gọi Si tạo thành từ đường chia di-1 di Đường dẫn ngắn từ điểm nguồn đến điểm đích tính toán cách: tìm đoạn đường ngắn cục phần; tích hợp visibility-graph phần Hình 5: Vùng hoạt động chia thành nhiều phần 47 Tạp chí Khoa học Trường Đại học Cần Thơ Phần A: Khoa học Tự nhiên, Công nghệ Môi trường: 32 (2014): 42-56 không chọn cạnh lõm chứng minh không rơi vào tập cạnh đường dẫn ngắn [X Shen and H Edelsbrunner, 1987] Theo đó, A B trường hợp thích hợp để thay Tương tự, Hình 8(d) giao điểm bên phải nên sử dụng Hình trình bày code giả cách tiếp cận hàm replace_point sử dụng để kiểm tra thay giao điểm trường hợp đặc biệt vừa nêu Và hàm shortest_path, visibility-graph cho phần chia tạo giải thuật Dijkstra áp dụng để tính đường ngắn phần Như trình bày trên, vài giải thuật khác Bell-man-Ford, A* search, Floyd-Warshall sử dụng thay Dijkstra Với dạng đầu tiên, để tìm đường dẫn ngắn phần chia, điểm bắt đầu điểm đích cục phần phải rõ Do điểm đích toàn cục cố định nên việc chọn lựa điểm đầu điểm đích cục cố gắng hướng theo điểm đích toàn cục Kỹ thuật sử dụng phần định nghĩa điểm bắt đầu điểm đích cục giao điểm sd đường chia Tuy nhiên, vài trường hợp đặc biệt Hình giao điểm rơi vào đa giác số điểm thay cần sử dụng cho đảm bảo tối ưu nhiều Những điểm thay hai giao điểm đa giác đường chia (Hình 8(a), 8(b)) Trường hợp giao điểm đa giác sd không rơi vào bên đa giác mà cạnh lõm đa giác lõm (Hình 8(c)) giao điểm Hình 6: Code giả - Đường dẫn ngắn tìm dựa kết hợp đường ngắn phần 48 Tạp chí Khoa học Trường Đại học Cần Thơ Phần A: Khoa học Tự nhiên, Công nghệ Môi trường: 32 (2014): 42-56 code giả lập Hình Hình chứa tham số khác Với hai tham số Hình 6, hàm shortest_path phải cấu trúc visibility-graph trước sử dụng Dijkstra, với ba tham số Hình 7, hàm cần sử dụng Dijkstra Với dạng thứ hai, visibility-graph cục phần tích hợp lại tạo thành visibility-graph hoàn chỉnh đường dẫn ngắn tính toán dựa visibility-graph cuối Code giả lập cho cách tiếp cận trình bày Hình Lưu ý, hàm shortest_path Hình 7: Code giả - Đường dẫn ngắn tìm dựa kết hợp visibility-graph phần, tạo visibility-graph toàn cục (a) (b) (c) (d) Hình 8: Giao đường chia sd vài trường hợp đường ngắn phần chia n+k không may xảy thay đổi phần chia n+k Việc chia môi trường hoạt động thành nhiều phần thực song song hóa cần phân thành hai dạng ưu khuyết điểm dạng Dạng thứ thích hợp môi trường động tĩnh Trái ngược lại, dạng thứ hai phù hợp với hoạt động tĩnh không đòi hỏi khắt khe giới hạn thời gian Các robot có thời gian đủ để chờ visibility-graph hoàn chỉnh tạo thành sau tìm đường dẫn ngắn Trong đó, với dạng đầu tiên, robot di chuyển theo đường ngắn cục phần chia thứ n đồng thời tính toán lại GIẢI PHÁP BÁM ĐƯỜNG CHÍNH XÁC CHO ROBOT Như trình phần giới thiệu, sau tìm đường dẫn tốt để di chuyển (trong trường hợp ngắn khoảng cách), danh sách đỉnh nối tiếp cần di chuyển để đạt đích đến phải chuyển tới robot Các đỉnh gọi waypoint Việc di chuyển từ điểm A đến điểm B robot 49 Tạp chí Khoa học Trường Đại học Cần Thơ Phần A: Khoa học Tự nhiên, Công nghệ Môi trường: 32 (2014): 42-56 thực tế xác bị phụ thuộc nhiều yếu tố khác cấu tạo robot, ma sát, gió, Do đó, robot bị lệch đường di chuyển đến điểm gần B Việc robot di chuyển tập điểm nối tiếp dẫn đến độ lệch lớn tích lũy sai nhiều dần lên đoạn nhỏ Phần trình bày phương pháp giúp robot bám theo đường mong muốn cách xác, gọi point-topoint-tracking Hình 9: Đường di chuyển mong muốn robot với waypoint theo thứ tự wi-1, wi , wi+1, wi+2, wi+3 Hình 10: Các thông số PID tính toán theo phương pháp Ziegler–Nichols Định nghĩa 1: P  N  R đường dẫn định nghĩa chuỗi N waypoint mong muốn đường Pi kết nối waypoint wi tới wi+1 gọi đường chuỗi đường tạo thành từ đường toàn cục mong muốn lặp điều khiển robot rung lắc với biên độ gần cố định đó, biên độ gọi Tu Giá trị Tu sử dụng để gán giá trị cho Kp, Ki, Kd tùy vào điều khiển sử dụng loại P, PI hay PID theo công thức Hình 10 Vào cuối đoạn di chuyển từ i tới i + i, trước robot xoay để thực việc di chuyển tiếp theo, vận tốc di chuyển cần giảm xấp xỉ 0; tức robot cần dừng lại waypoint trung gian để xoay góc xác theo hướng di chuyển Như Hình 9, robot xoay góc α bên trái waypoint wi góc αi+1 bên phải waypoint wi+1 Như Hình 9, ni vector đơn vị định hướng di chuyển mong muốn, xt định vị trí robot, vector lỗi robot tính: et  xt  tan( t )ni Bộ điều khiển bám đường xác robot sử dụng vòng lặp đóng lấy ý tưởng từ điều khiển P điều khiển dùng PID: ut  Kpet Vị trí xt robot xác định camera phòng thí nghiệm, định vị nội nhỏ tòa nhà, dùng GPS môi trường trời Và KP xác định theo phương pháp Ziegler– Nichols, giải pháp kinh điển sử dụng điều khiển PID [J B Ziegler and N B Nichols, 1942] Đầu tiên, Ki Kd gán giá trị để điều khiển hoạt động với tham số P Kp tinh chỉnh đạt giá trị tạm chấp nhận, gọi Ku Với Ku, output vòng KẾT QUẢ THỰC NGHIỆM 5.1 Kết thực nghiệm áp dụng gom nhóm, tiền xử lý vật cản chia vùng môi trường hoạt động kết hợp với xử lý song song Để kiểm tra độ hiệu áp dụng phương pháp tiền xử lý gom nhóm vật cản chia vùng môi trường hoạt động kết hợp xử lý song song, thực chương trình tính đường ngắn từ điểm đầu đến điểm cuối, tránh vật cản tĩnh môi trường 2D, sử dụng visibility-graph, dùng Visual C++ thư viện Leda 50 Tạp chí Khoa học Trường Đại học Cần Thơ Phần A: Khoa học Tự nhiên, Công nghệ Môi trường: 32 (2014): 42-56 hỗ trợ Chương trình lựa chọn: dùng visibility-graph thông thường để tính đường ngắn nhất, kết hợp với tiền xử lý gom nhóm vật cản, chia vùng môi trường hoạt động song song hóa Tập testcase từ đến 50 vật cản tạo với số đỉnh trung bình từ 30 đến 300 đỉnh Tập testcase chứa vật cản lớn nhỏ với nhiều kích thước khác Các vật cản mô môi trường 2D hệ trục tọa độ Oxy Tùy vào kích thước môi trường hoạt động thật, đơn vị tọa độ tương ứng với đơn vị đo lường khoảng cách thực tế (mm, cm, m, km …) Tương tự, lý thuyết trình bày phần 3.2, tham số d (dùng để xác định vùng chia môi trường hoạt động) cấu hình máy tính hỗ trợ song ảnh hưởng đến kết giải thuật Chúng thực việc đo đạc cách cho tập testcase chạy với giải thuật tính đường ngắn dùng visibility-graph thông thường trước; sau chia vùng song song hóa với d 2, 3, 4, 5, (theo code giả Hình 7) để tính độ chênh lệch thời gian (Bảng 2) Tất thí nghiệm chạy CPU 2.53-GHzIntel®Core™-i3-dual-core với 4GB RAM Giá trị d tăng, tức vùng hoạt động chia nhỏ để song song thời gian chạy giảm đáng kể (Thực tế, đường ngắn trường hợp áp dụng chia vùng môi trường hoạt động, kết hợp xử lý song song dài đường ngắn trường hợp không áp dụng phương pháp Tuy nhiên, với môi trường rộng, phức tạp việc áp dụng giúp giảm thời gian cách đáng kể đường tốt tìm chênh lệch không nhiều so với đường ngắn thật sự) Như lý thuyết trình bày phần 3.1, hai tham số α (tham số xác định vật cản nhỏ) ε (tham số xác định hai vật cản gần nhau) nhận giá trị khác nhau, giá trị khác ảnh hưởng đến thời gian chạy giải thuật sử dụng phương pháp tiền xử lý gom nhóm vật cản nhỏ Chúng thực việc đo đạc cách cho tập testcase chạy với giải thuật tính đường ngắn dùng visibility-graph thông thường trước; sau đó, gom cụm vật cản nhỏ áp dụng (theo kiểu tạo bao đóng lồi) việc tìm đường ngắn thực lại để tính độ chênh lệch thời gian, với α = 100 ε nhận giá trị 20, 30, 40, 50 (Bảng 1) Với ε = 20, tức tâm hai vật cản cách 20 đơn vị hai vật cản xem gần gom vào cụm Thời gian tìm đường ngắn áp dụng tiền xử lý, gom nhóm vật cản so với áp dụng đơn visibility-graph giảm xấp xỉ 45% Tham số ε lớn, tức khoảng cách hai vật xem gần nhỏ rõ ràng cụm gom lại Bảng cho thấy, môi trường hoạt động chứa nhiều vật cản nhỏ, việc áp dụng gom nhóm cần thiết, giúp giảm thời gian tính toán so với thông thường trung bình gần 30% (Giả sử đường ngắn thật xuyên qua nơi vật cản nhỏ phân bố đường ngắn trường hợp gom cụm chắn dài đường ngắn trường hợp không gom cụm Tuy nhiên thực tế, robot di chuyển khu vực phân bố vật cản nhỏ, việc điều khiển trở nên phức tạp chậm phải rẽ quẹo liên tục; vậy, gom cụm khu vực lại, đường tốt tìm sau gom cụm dài so với việc không gom cụm, giúp robot không cần di chuyển vào vùng phức tạp tốt hơn) Bảng 1: Kết đo lường từ tập testcase cho phương pháp gom nhóm, tiền xử lý vật cản ε 20 30 40 50 Trung bình Độ lệch thời gian (%) 45 37 32 06 30 Các giá trị ε thể cột thứ nhất; độ lệch thời gian chạy giải thuật áp dụng tiền xử lý gom nhóm vật cản giảm so với áp dụng visibility-graph đơn thể cột thứ 2; α = 100 cho tất trường hợp bảng Bảng 2: Kết đo lường từ tập testcase cho phương pháp chia vùng môi trường hoạt động, kết hợp xử lý song song d Độ lệch thời gian (%) 53 45 59 60 61 Các giá trị d thể cột thứ nhất; độ lệch thời gian chạy giải thuật áp dụng chia vùng môi trường hoạt động, kết hợp xử lý song song giảm so với áp dụng visibility-graph đơn thể cột thứ 51 Tạp chí Khoa học Trường Đại học Cần Thơ Phần A: Khoa học Tự nhiên, Công nghệ Môi trường: 32 (2014): 42-56 d s Hình 11: Hình ảnh số testcase thực tiền xử lý gom cụm (s điểm đầu, d đích) (a) (b) d s Hình 12: Hình ảnh số testcase thực chia vùng môi trường hoạt động, kết hợp xử lý song song ((a) – đường ngắn không chia nhỏ môi trường hoạt động, (b) – đường ngắn với d = làm trơn lại) dây tới robot để thực việc di chuyển Trong 5.2 Bài toán tìm đường ngắn toàn trình di chuyển, robot cần bám đường cục giải pháp bám đường xác áp xác, chương trình bám đường xác dụng lên robot thật cho robot lý thuyết trình bày phần Để đảm bảo tính khả thi lý thuyết giới thực Chương trình bám đường có thiệu, hệ thống robot thật xây dựng hai khối chức chính, xác định vị trí chạy thử nghiệm môi trường phòng thí robot (dùng camera chương trình xử lý ảnh, nghiệm Hệ thống bao gồm trung tâm điều nhận diện khối màu robot để xác định vị trí) khiển (sử dụng máy tính với CPU Intel®Core™điều khiển robot di chuyển xác theo đường i3-dual-core 2.53 GHz, 4.00-GB RAM), robot hoạch định trước (Hình 13c) Như vậy, người điều (sử dụng Mindstorm-NXT hãng Lego, khiển trung tâm theo dõi tiến trình di robot phục vụ cho mục đích giáo dục, lập chuyển robot có xác không can thiệp trình điều khiển với nhiều ngôn ngữ lập trình khác cần C, C++, Java, Python ) camera Hình 14 mô tả chương trình tìm đường ngắn lắp trần nhà để định vị robot (Hình 13a) cho robot trước di chuyển (Vì robot có Quy tắc hoạt động sau: robot đặt kích thước, nên đường bao an toàn xung quanh sân với số vật cản, nhiệm vụ robot vật cản cần thiết lập trước tính đường di chuyển từ điểm “s” tới điểm “d” cho trước theo ngắn nhất) Kết thực nghiệm cho thấy robot di đường ngắn không va vào vật cản tĩnh chuyển thành công từ điểm đầu đến điểm đích cho (Hình 13b) Đầu tiên, đồ chứa tập vật cản trước, tránh vật cản theo đường ngắn điểm đầu điểm cuối cần di chuyển toàn cục hoạch định trước (Hình 15) Nếu áp robot đưa vào chương trình tính đường dụng điều khiển P PID, sau khoảng ngắn máy tính trung tâm điều khiển 100 lần đo đạt, kết thực nghiệm cho thấy (đây chương trình sử dụng để trung bình di chuyển 100 cm, robot lệch đo lường phần 5.1) Đường ngắn tìm biên xấp xỉ khoảng cm sau quay vị chuỗi điểm cần di chuyển (waypoint); trí mong muốn chuỗi waypoint truyền không 52 Tạp chí Khoa học Trường Đại học Cần Thơ Phần A: Khoa học Tự nhiên, Công nghệ Môi trường: 32 (2014): 42-56 Hình 13a: Robot, vật cản, máy tính làm trung tâm điều khiển camera gắn trần nhà dùng định vị robot d s Hình 13b: Robot môi trường hoạt động, với “s” điểm đầu “d” đích đến Hình 13c: Giao diện chương trình theo dõi hỗ trợ robot bám đường xác 53 Tạp chí Khoa học Trường Đại học Cần Thơ Phần A: Khoa học Tự nhiên, Công nghệ Môi trường: 32 (2014): 42-56 s s d d (a) (b) (c) (d) Hình 14: Chương trình tính đường ngắn cho robot ((a) – đồ môi trường hoạt động; (b) – Các vật cản tính thêm biên an toàn; (c) – đường ngắn tìm được; (d) – đường ngắn hiển thị hình theo dõi môi trường thật, robot chuẩn bị di chuyển) 54 Tạp chí Khoa học Trường Đại học Cần Thơ Phần A: Khoa học Tự nhiên, Công nghệ Môi trường: 32 (2014): 42-56 Hình 15: Một thử nghiệm robot di chuyển bám theo đường ngắn thành công E Welzl, 1985 Constructing the Visibility Graph for n Line Segments in θ(n2) Time In: Information Processing Letters, vol 20, issue 4: 167-171 D Ferguson and A.Stentz, 2006 Multiresolution field D* In: Proceedings of the International Conference on Intelligent Autonomous Systems (IAS) R Bohlin and L Kavraki, 2000 Path planning using lazy PRM In: IEEE Int Conf on Robotics and Automation, vol 1: 521-528 S LaValle, 1998 Rapidly-exploring random trees: A new tool for path planning Technical Report TR 98-11 Computer Science Dept., Iowa State University D Wooden and M Egerstedt, 2006 Oriented Visibility Graphs: LowComplexity Planning in Real-Time Environments In: IEEE Conference on Robotics and Automation, Orlando, FL: 2354-2359 J Canny, 1987 The Complexity of Robot Motion Planning Cambridge MA: MIT Press 196 pp T Lozano-Perez, 1987 A simple motionplanning algorithm for general robot manipulators IEEE Journal of Robotics and Automation, vol RA-3, No 3: 224-238 KẾT LUẬN Bài báo trình bày giải pháp tìm đường ngắn từ điểm đầu đến điểm đích, tránh vật cản tĩnh, môi trường 2D sử dụng visibility-graph cho robot Tổng quan hướng tiếp cận path-planning, ưu khuyết điểm hướng báo chọn sử dụng visibiliy-graph theo hướng combinatorial-planning trình bày Bên cạnh ưu điểm visibility-graph, khuyết điểm lớn tiêu tốn nhiều thời gian tính toán trường hợp số lượng vật cản môi trường hoạt động lớn Vì vậy, báo giới thiệu hai cách, gom nhóm vật cản nhỏ chia vùng môi trường hoạt động để xử lý song song, nhằm giảm thời gian tính toán thực tế Kết thực nghiệm cho thấy hai kỹ thuật giúp giảm thời gian đáng kể việc áp dụng robot thật hoàn toàn khả thi LỜI CẢM TẠ Nghiên cứu tài trợ Đại học Quốc gia Thành phố Hồ Chí Minh (VNU-HCM) đề tài mã số B2012-26-06 TÀI LIỆU THAM KHẢO S M Valle, 2006 Planning Algorithms Cambridge University Press 811 pp S.K Ghosh, 2007 Visibility algorithms in the plane Cambridge University Press 334 pp 55 Tạp chí Khoa học Trường Đại học Cần Thơ Phần A: Khoa học Tự nhiên, Công nghệ Môi trường: 32 (2014): 42-56 10 John E Hershberger and Subhash Suri, 1993 Efficient Computation of Euclidean Shortest Paths in the Plane, In: IEEE 34th Annual Foundations of Computer Science: 508-517 11 J O’Rourke, 1998 Computational geometry in C Cambridge University Press 361 pp 12 J.Park and S Oh, 2012 A New Concave Hull Algorithm and Concaveness Measure for ndimensional Datasets Journal of Information science and engineering, No 100295 13 X Shen and H Edelsbrunner, 1987 A Tight Lower Bound on the Size of Visibility Graphs In: Inf Process Lett: 61-64 14 J B Ziegler and N B Nichols, 1942 Optimum settings for automatic controllers In: ASME Transactions: 759-768 15 J Kitzinger and B.Moret, 2003 The Visibility Graph Among Polygonal Obstacles: a Comparison of Algorithms Tech Rep TR-CS-2003-29 University of New Mexico 56

Ngày đăng: 17/08/2016, 07:00

Từ khóa liên quan

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

Tài liệu liên quan