Vì việc chỉ định vị trí mục tiêu phù hợp có thể khó khăn trong nhiều tình huống, cách tiếp cận sau đây dựa trên bản đồ lưới chiếm chỗ 2D có thể đáng xem xét. Nó thường được gọi là "lặp lại giá trị" và được kết hợp với độ dốc / tăng dần, nó mang lại một thuật toán lập kế hoạch đường dẫn đơn giản và khá hiệu quả (tùy thuộc vào việc thực hiện). Do tính đơn giản của nó, nó nổi tiếng trong ngành robot di động, đặc biệt là "robot đơn giản" điều hướng trong môi trường trong nhà. Như đã ngụ ý ở trên, cách tiếp cận này cung cấp một phương tiện tìm đường đi từ vị trí bắt đầu mà không chỉ định rõ ràng vị trí mục tiêu như sau. Lưu ý rằng một vị trí mục tiêu có thể được chỉ định tùy ý, nếu có sẵn. Ngoài ra, cách tiếp cận / thuật toán tạo thành một tìm kiếm đầu tiên,
Trong trường hợp nhị phân, bản đồ lưới chiếm chỗ 2D là một cho các ô lưới bị chiếm dụng và không ở nơi nào khác. Lưu ý rằng giá trị chiếm chỗ này cũng có thể liên tục trong phạm vi [0,1], tôi sẽ quay lại giá trị bên dưới. Giá trị của một ô lưới đã cho g i là V (g i ) .
Phiên bản cơ bản
- Giả sử rằng ô lưới g 0 chứa vị trí bắt đầu. Đặt V (g 0 ) = 0 và đặt g 0 vào hàng đợi FIFO.
- Lấy ô lưới tiếp theo g i từ hàng đợi.
- Đối với tất cả hàng xóm g j của g i :
- Nếu g j không bị chiếm đóng và chưa được truy cập trước đó:
- V (g j ) = V (g i ) +1
- Đánh dấu g j như đã truy cập.
- Thêm g j vào hàng đợi FIFO.
- Nếu chưa đạt đến ngưỡng khoảng cách nhất định, hãy tiếp tục với (2.), nếu không thì tiếp tục với (5.).
- Đường dẫn thu được bằng cách đi theo độ dốc dốc nhất bắt đầu từ g 0 .
Ghi chú ở Bước 4.
- Như đã nêu ở trên, bước (4.) yêu cầu theo dõi khoảng cách tối đa được bao phủ, đã bị bỏ qua trong mô tả ở trên vì lý do rõ ràng / ngắn gọn.
- Nếu một vị trí mục tiêu được đưa ra, việc lặp lại sẽ bị dừng ngay khi đạt đến vị trí mục tiêu, tức là được xử lý / truy cập như một phần của bước (3.).
- Tất nhiên, cũng có thể đơn giản là xử lý toàn bộ bản đồ lưới, tức là tiếp tục cho đến khi tất cả các ô lưới (miễn phí) được xử lý / truy cập. Yếu tố giới hạn rõ ràng là kích thước của bản đồ lưới kết hợp với độ phân giải của nó.
Phần mở rộng và nhận xét thêm
Phương trình cập nhật V (g j ) = V (g i ) +1 để lại nhiều khoảng trống để áp dụng tất cả các loại phương pháp phỏng đoán bổ sung bằng cách giảm tỷ lệ V (g j )hoặc thành phần phụ gia để giảm giá trị cho các tùy chọn đường dẫn nhất định. Hầu hết, nếu không phải tất cả, những sửa đổi như vậy có thể được kết hợp độc đáo và tổng quát bằng cách sử dụng bản đồ lưới với các giá trị liên tục từ [0,1], tạo thành một bước xử lý trước của bản đồ lưới nhị phân ban đầu. Ví dụ: thêm một chuyển đổi từ 1 đến 0 dọc theo các ranh giới chướng ngại vật, khiến "diễn viên" tốt nhất là giữ sạch các chướng ngại vật. Ví dụ, bản đồ lưới như vậy có thể được tạo từ phiên bản nhị phân bằng cách làm mờ, giãn nở có trọng số hoặc tương tự. Thêm các mối đe dọa và kẻ thù làm chướng ngại vật với bán kính làm mờ lớn, sẽ phạt những con đường đến gần chúng. Người ta cũng có thể sử dụng quy trình khuếch tán trên bản đồ lưới tổng thể như thế này:
V (g j ) = (1 / (N + 1)) × [V (g j ) + tổng (V (g i ))]
trong đó " tổng " chỉ tổng trên tất cả các ô lưới lân cận. Ví dụ: thay vì tạo bản đồ nhị phân, các giá trị (số nguyên) ban đầu có thể tỷ lệ thuận với cường độ của các mối đe dọa và các chướng ngại vật thể hiện các mối đe dọa "nhỏ". Sau khi áp dụng quy trình khuếch tán, các giá trị lưới phải / phải được thu nhỏ thành [0,1] và các ô bị chiếm bởi chướng ngại vật, các mối đe dọa và kẻ thù nên được đặt / buộc thành 1. Nếu không, tỷ lệ trong phương trình cập nhật có thể không làm việc như mong muốn.
Có nhiều biến thể về sơ đồ / phương pháp chung này. Chướng ngại vật v.v ... có thể có các giá trị nhỏ, trong khi các ô lưới tự do có các giá trị lớn, có thể yêu cầu giảm độ dốc ở bước cuối cùng tùy thuộc vào mục tiêu. Trong mọi trường hợp, cách tiếp cận là, IMHO, linh hoạt đáng ngạc nhiên, khá dễ thực hiện và có khả năng khá nhanh (tùy thuộc vào kích thước / độ phân giải bản đồ lưới). Cuối cùng, như với nhiều thuật toán lập kế hoạch đường dẫn không đảm nhận vị trí mục tiêu cụ thể, có nguy cơ bị mắc kẹt trong ngõ cụt. Ở một mức độ nào đó, có thể áp dụng các bước xử lý hậu chuyên dụng trước bước cuối cùng để giảm rủi ro này.
Đây là một mô tả ngắn gọn khác với hình minh họa trong Java-Script (?), Mặc dù hình minh họa không hoạt động với trình duyệt của tôi :(
http://www.cs.ubc.ca/~poole/demos/mdp/vi.html
Nhiều chi tiết hơn về kế hoạch có thể được tìm thấy trong cuốn sách sau đây. Lặp lại giá trị được thảo luận cụ thể trong Chương 2, Phần 2.3.1 Các kế hoạch có độ dài cố định tối ưu.
http://planning.cs.uiuc.edu/
Hy vọng rằng sẽ giúp, loại trân trọng, Derik.