Sơ đồ lập kế hoạch di chuyển

Một phần của tài liệu Nghiên cứu hệ thống xây dựng bản đồ, lập quỹ đạo và điều khiển bám quỹ đạo cho robot tự hành bốn bánh đa hướng (Trang 86 - 92)

Lập kế hoạch di chuyển cục bộ (local planner): Là cách tiếp cận tích hợp để thiết lập quỹ đạo trực tuyến dựa trên tối ưu hóa hiệu quả của các quỹ đạo robot di động đặc biệt về mặt cấu trúc liên kết. Tối ưu hóa quỹ đạo trực tuyến làm biến dạng một đường dẫn thô ban đầu được tạo bởi quỹ đạo toàn cục bằng cách giảm thiểu các mục tiêu như độ dài đường dẫn, thời gian chuyển tiếp hoặc nỗ lực kiểm soát. Các đặc tính chuyển động của robot di động và khả năng vượt chướng ngại vật đặt ra các ràng buộc bình đẳng và bất bình đẳng bổ sung đối với việc tối ưu hóa quỹ đạo. Lập kế hoạch di chuyển cục bộ giải thích hiệu quả bằng cách giới hạn khơng gian tìm kiếm chỉ cho các giải pháp tối ưu cục bộ. Tuy nhiên, hàm mục tiêu thường khơng lồi vì sự hiện diện của các chướng ngại vật tạo ra nhiều điểm tối ưu cục bộ riêng biệt. Phương pháp quỹ đạo tối ưu cục bộ được đề xuất duy trì và đồng thời tối ưu hóa một tập hợp con các quỹ đạo riêng có thể chấp nhận của các cấu trúc liên kết đặc biệt và từ đó lựa chọn quỹ đạo cục bộ tốt nhất trong số các giải pháp cục bộ thay thế.

Quỹ đạo tối ưu về thời gian cho robot vi sai và robot holonom một cách hiệu quả bằng cách áp dụng cách tiếp cận dải đàn hồi thời gian cho bài tốn tối ưu hóa quỹ đạo cơ bản. Việc phân tích các tình huống và so sánh với các quỹ đạo cục bộ địa phương thông thường xác nhận những lợi thế của tích hợp thăm dị, bảo trì và tối ưu hóa các quỹ đạo đặc biệt về mặt cấu trúc liên kết [77], [78].

Phương pháp dải đàn hồi (EB-Elastic Band) được biết đến nhiều với biến dạng đường trực tuyến [71]. Các tác động bên trong xác định trước co lại đường đi trong khi các tác động bên ngồi duy trì sự tách biệt khỏi các chướng ngại vật. Tuy nhiên, quy hoạch đường đi thông thường không kết hợp rõ ràng các ràng buộc về thời gian

và mơ hình động lực học. Một phần mở rộng của phương pháp EB đối với sự biến dạng trực tuyến của quỹ đạo thay vì đường đi được trình bày trong [51]. Các điểm quỹ đạo rời rạc bị đẩy lùi khỏi chướng ngại vật. Tuy nhiên, các phương pháp tiếp cận dải đàn hồi dựa trên tối ưu hóa quỹ đạo trực tuyến thường bị hạn chế bởi khối lượng tính tốn để hội tụ thành một giải pháp khả thi và tối ưu theo các ràng buộc theo thời gian thực. Các phương pháp tiếp cận dựa trên lấy mẫu, như phương pháp cửa sổ động (DWA -Dynamic Window Approach) [29] giải quyết vấn đề hiệu quả tính tốn này. Các quỹ đạo mô phỏng được lấy mẫu và ghi liên tục từ một khơng gian tìm kiếm vận tốc được giới hạn bởi một tập hợp các vận tốc khả thi giữa khoảng cách còn lại đến mục tiêu, vận tốc và khoảng cách khỏi chướng ngại vật. Trong bối cảnh tối ưu hóa quỹ đạo trực tiếp, DWA được mở rộng để hỗ trợ robot [73] vì nó hạn chế tìm kiếm khơng gian của vận tốc quay để tập các nghiệm khả thi.

Phương pháp dải đàn hồi thời gian (TEB-Time Elastic Band) cung cấp một công cụ lập kế hoạch quỹ đạo trực tuyến có khả năng theo thời gian thực cho truyền động robot vi sai [77]. Nó được phát triển từ ý tưởng của phương pháp EB nhưng định dạng lại quy hoạch quỹ đạo và điều khiển như một bài tốn tối ưu hóa rời rạc. TEB tối ưu hóa quỹ đạo một cách hiệu quả các ràng buộc động trong khi kết hợp rõ ràng thông tin thời gian để đạt được giải pháp tối ưu về thời gian. TEB là một công cụ Lập kế hoạch di chuyển cục bộ trong kiến trúc điều hướng phân cấp, làm thay đổi chỉ dẫn của quỹ đạo toàn cục đặt ra ban đầu dựa trên mơ hình động học của FWOMR và chướng ngại vật gặp trên đường di chuyển.

Tư thế của robot được xác định ở phần trên là  T

x y  

q . TEB sẽ yêu cầu

vận tốc và gia tốc của robot, khoảng cách an toàn để có thể tránh các chướng ngại vật trên đường và các yếu tố của động học và động lực học để tạo ra lệnh vận tốc vi và vận tốc góc ωi cho mỗi bánh xe cmdi vi ωiT.

Costmap: Bao gồm global costmap và local costmap là các chủ đề chứa thông tin về vật cản và đường dẫn được xây dựng để điều hướng cho robot. Costmap sẽ được cập nhật bằng cách sử dụng dữ liệu cảm biến để duy trì thơng tin về vật cản trong mơi trường. Các tín hiệu laser trả về giá trị khoảng cách từ cảm biến đặt trên

robot tới các vật cản môi trường. Tuy nhiên, các giá trị khoảng cách này chỉ có ý nghĩa phát hiện vật cản khi nó ở trong vùng bản đồ chi phí. Vùng bản đồ costmap được chọn là một vùng hình vng với robot ở vị trí trung tâm với kích thước của hình vng được chọn sao cho đảm bảo được rằng robot có thể phát hiện được vật cản từ khoảng cách an tồn mà ở đó hệ thống điều hướng cho robot có thể thực hiện được việc tính tốn quỹ đạo phù hợp giúp robot tránh được vật cản đó.

Global costmap sẽ mơ tả tồn bộ mơi trường cịn local costmap sẽ mô tả một

khu vực xung quanh robot và di chuyển theo robot trong Global costmap [7]. Global

costmap hiển thị dữ liệu trong một phạm vi rộng như là một phần hoặc tồn bộ bản

đồ.

Global costmap có thể coi là bản đồ tĩnh hoặc cửa sổ trượt dựa trên mục đích

tạo bản đồ hoặc điều hướng robot. Bằng cách sử dụng bản đồ được tạo bởi SLAM, tất cả các vật cản trong bản đồ tĩnh sẽ được xác định bởi các lớp thêm vào (layer plugin). Hơn nữa, các vật cản chưa biết trong quá trình điều hướng cũng sẽ được phát

hiện bởi các cảm biến và thêm vào bản đồ. Để đạt được sự chuyển động trơn tru và cải thiện hiệu suất điều hướng của robot, trong tệp bản đồ chi phí sẽ có 3 lớp được khai báo:

 Lớp bản đồ tĩnh (Static map layer): chứa tất cả thông tin về vật cản đã biết và cột mốc tĩnh.

 Lớp vật cản (Obstacle layer): chứa các vật cản chưa xác định.

 Lớp bán kính gia tăng (Inflation layer): tính tốn khoảng cách an tồn xung quanh các vật cản để tránh vật cản tối ưu.

Local costmap chứa các tham số ảnh hưởng đến phần lập kế hoạch di chuyển

cục bộ để tính tốn tín hiệu điều khiển cho bộ điều khiển. Trong hầu hết các trường hợp, local costmap đóng vai trị như bản đồ xung quanh robot di chuyển theo robot và xác định tất cả các chướng ngại vật đã biết cũng như chướng ngại vật chưa biết trong bản đồ được tạo.

Hơn nữa, thơng tin được sử dụng sẽ trực tiếp tạo tín hiệu điều khiển để giúp robot khơng chỉ tránh các chướng ngại vật mà cịn đi theo chỉ dẫn mà local costmap đã chỉ ra [56].

Các giá trị khoảng cách tới vật cản liên tục được đo về để kiểm tra xem vật cản này đã nằm trong vùng chi phí hay chưa. Điều này giúp tiết kiệm được đáng kể khối lượng tính tốn cho hệ thống điều hướng khi mà robot chỉ phải xem xét tránh vật cản trên đường khi vật cản này nằm trong vùng costmap chứ khơng phải tồn bộ vùng tín hiệu quét được trong toàn bộ bản đồ. Ngoài ra, trong costmap, các vật cản đã được phát hiện sẽ được bao quanh bởi một lớp bán kính an tồn. Khi hệ thống nhận thức môi trường hoạt động, bản đồ thu được sẽ có 5 vùng: Vùng đã bản đồ hố, vùng chưa biết, vật cản, vùng bán kính an tồn và vị trí robot.

Hình 3.3. Biểu đồ khoảng cách an tồn cục bộ (Inflation costmap)[6]

Hệ thống điều hướng cho robot bao gồm 2 phần chính là lập kế hoạch di chuyển toàn cục và lập kế hoạch di chuyển cục bộ [97]. Việc tính tốn quỹ đạo cho robot dựa vào việc bản đồ hóa mơi trường xung quanh từ hệ thống nhận thức từ đó sinh ra quãng đường ngắn nhất cho robot di chuyển từ vị trí ban đầu đến vị mong muốn. Tuy nhiên trong q trình di chuyển robot có thể bị lệch ra khỏi quỹ đạo mong muốn do các tác động từ vật cản trong mơi trường xung quanh do đó cần phải có thuật tốn xây dựng quỹ đạo cục bộ cho robot để đảm bảo q trình di chuyển khơng bị ảnh hưởng bởi các tác động từ bên ngoài. Việc xây dựng quỹ đạo cục bộ cho robot dựa vào các dữ liệu bên ngoài được đọc về từ các cảm biến qua đó robot có thể phát hiện và tránh

các chướng ngại vật đồng thời bám theo quỹ đạo đặt được sinh ra từ bản đồ tồn cục. Việc tính tốn ra quỹ đạo cho robot phụ thuộc vào các thuật toán điều hướng áp dụng cho robot, các thuật toán được phát triển để đảm bảo robot có thể di chuyển tự động cũng như tìm ra đường đi tốt nhất để có thể tránh được các vật cản.

3.1.1. Lập kế hoạch di chuyển toàn cục

Lập kế hoạch di chuyển toàn cục nhằm xây dựng cho robot sử dụng thông tin về bản đồ mơi trường, vị trí robot từ hệ thống nhận thức. Do đó tính chính xác khi lập kế hoạch di chuyển toàn cục phụ thuộc đáng kể vào hiệu năng của kỹ thuật SLAM được sử dụng. Trước tiên, robot cần xác định được vị trí của nó trong bản đồ tại thời điểm hiện tại. Lúc này robot sẽ có những nhận thức về mơi trường xung quanh, đặc biệt là bản đồ bao gồm những vật cản tĩnh đã xác định được ở hệ thống nhận thức. Tiếp đến, vị trí đích được xác định và được đặt trong vùng phạm vi đã xác định của bản đồ. Từ đó, các thuật tốn tính tốn quỹ đạo sẽ tính tốn để đảm bảo robot có thể di chuyển tới vị trí đích với quỹ đạo tối ưu.

Trên thực tế, khi xây dựng bài toán điều hướng yêu cầu một bản đồ của mơi trường để tính tốn tốt nhất tuyến đường. Tùy thuộc vào việc phân tích bản đồ, một số phương pháp xây dựng dựa trên lộ trình được đề xuất bởi [14], [17]. Một số giải vấn đề bằng cách gán một giá trị cho mỗi vùng của lộ trình để tìm ra con đường với chi phí tối thiểu như là thuật toán Dijkstra [22], [30], [85].

Phần lập kế hoạch di chuyển toàn cục được thiết kế sử dụng thuật toán A dựa trên nền tảng ROS [56]. Thuật toán A xây dựng tăng dần tất cả các tuyến đường từ điểm xuất phát cho tới khi nó tìm thấy một đường đi chạm tới đích. Thuật tốn này sử dụng một đánh giá “heuristic” về khoảng cách từ điểm bất kì cho trước tới đích để biết được những đường nào có khả năng dẫn tới đích, bên cạnh đó thuật tốn này cịn tính đến khoảng cách nó đã đi qua do đó thuật tốn A sẽ ln tìm thấy đường đi ngắn nhất nếu nó tồn tại. Thuật toán A lưu giữ một tập các lời giải chưa hoàn chỉnh bắt đầu từ nút xuất phát. Tập lời giải này được lưu trong một hàng đợi ưu tiên. Thứ tự ưu tiên gán cho một đường đi x được quyết định bởi hàm:

 x  x  x

Trong đó g x thể hiện chi phí của đường đi cho đến thời điểm hiện tại, h x

là hàm đánh giá chi phí nhỏ nhất đi từ điểm hiện tại đến đích. Mục tiêu của thuật toán

A là thiết kế đánh giá được chi phí cho hàm F x từ vị trí ban đầu đến vị trí đích qua x. Hình 3.4. Minh hoạ thuật tốn A thể hiện bản đồ ơ lưới tìm đường đi cho robot. Ơ xanh dương là vị trí hiện tại của robot (kí hiệu là S), ô màu xanh lá cây là vị trí đích của robot (kí hiệu là G). Các ơ màu đen là các chướng ngại vật đã được phát hiện bởi hệ thống nhận thức. Mỗi ô vuông được thể hiện bằng 1 tọa độ (x, y) . Trong việc lập kế hoạch di chuyển toàn cục cho robot, ta xét bản đồ toàn cục là bản đồ ô lưới, giá trị của hàm F x được tính bằng số ơ lưới trong bản đồ lưới từ vị trí ban đầu của robot đến vị trí đích mong muốn qua x.

Hình 3.4. Minh hoạ thuật tốn A*

Mỗi khi robot tiến đến 1 vị trí ơ lưới, giá trị của g x được tính tốn bằng số ơ lưới tích lũy từ vị trí ban đầu đến vị trí hiện tại, trong khi hàm h x được đánh giá bằng số ơ lưới từ vị trí hiện tại đến vị trí đích.

Phương pháp lập kế hoạch di chuyển tồn cục sẽ tính tốn ra quỹ đạo ngắn nhất cho robot từ vị trí hiện tại tới vị trí đích trong khi đảm bảo robot có thể tránh được vật cản cố định trong bản đồ. Tuy nhiên, nó khơng xét đến những ràng buộc động học của mơ hình robot. Do đó, quỹ đạo tồn cục không phải là quỹ đạo trực tiếp đặt cho

robot mà nó chỉ được sử dụng làm quỹ đạo tham chiếu cho phần Lập kế hoạch di chuyển cục bộ.

3.1.2. Lập kế hoạch di chuyển cục bộ

Kế hoạch di chuyển toàn cục được đưa ra bởi phần lập đường đi toàn cục sẽ được đưa vào làm quỹ đạo tham chiếu cho phần lập kế hoạch di chuyển cục bộ để đảm bảo robot có thể di chuyển tới vị trí đích. Hơn nữa, lập kế hoạch di chuyển cục bộ sẽ xét đến cả những ràng buộc động học của robot như là những giới hạn về vận tốc và gia tốc.

Một trong những thuật toán nổi bật cho việc lập kế hoạch di chuyển cục bộ cho robot là thuật toán TEB [56], [80].

Thuật toán TEB là phương pháp tránh vật cản thời gian thực cho việc tối ưu quỹ đạo cục bộ. Lập kế hoạch di chuyển cục bộ sử dụng TEB sẽ tối ưu cục bộ quỹ đạo của robot, giảm thiểu thời gian di chuyển, đảm bảo robot tránh vật cản trong khi di chuyển, và có xét tới các ràng buộc động học như là vận tốc và gia tốc.

Một phần của tài liệu Nghiên cứu hệ thống xây dựng bản đồ, lập quỹ đạo và điều khiển bám quỹ đạo cho robot tự hành bốn bánh đa hướng (Trang 86 - 92)

Tải bản đầy đủ (PDF)

(169 trang)