CHƯƠNG 6 : PHẦN LẬP TRÌNH – MƠ PHỎNG
6.2. Giải thuật A* (A STAR) tìm đường đi ngắn nhất
Trong quá trình robot hoạt động trong nhà kho cĩ diện tích bề mặt nhà kho rất rộng, vì vậy bài tốn tìm đường đi ngắn nhất trở nên thiết yếu, nhằm tiết kiệm nhất thời gian di chuyển cho robot, năng lượng, tăng năng suất. Từ những yêu cầu trên, giải thuật A* được đề xuất.
A* là một thuật tốn tìm kiếm trong đồ thị, tìm đường đi từ một nút khởi đầu đến một nút đích cho trước sử dụng một hàm heuristic ước lượng khoảng cách từ nút hiện tại đến nút đích (trạng thái đích), và nĩ sẽ duyệt đồ thị theo thứ tự ước lượng Heuristic này.
Ý tưởng:
Xét bài tốn tìm đường, A* sẽ xây dựng tăng dần các tuyến đường từ đỉnh xuất phát đến khi nĩ tìm thấy đường đi chạm đến đích. Để xác định khả năng dẫn đến đích, A* sử dụng một đánh giá heuristic về khoảng cách từ một điểm bất kì cho trước đến đích. A* đảm bảo tính đầy đủ và tối ưu, nĩ luơn tìm thấy đường đi ngắn nhất nếu tồn tại một đường đi như thế. Đầy đủ và tối ưu hơn các thuật tốn tìm đường đi khác ở chỗ nĩ khơng chỉ ước lượng khoảng cách cịn lại (nhờ đánh giá heuristic) mà cịn tính khoảng cách đã đi qua để tìm được đường đi ngắn nhất.
Mơ tả thuật tốn:
A* lưu giữ một tập các đường đi qua đồ thị, 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 f(x) = g(x) + h(x).
Trong đĩ, g(x) là chi phí của đường đi cho đến thời điểm hiện tại, nghĩa là tổng trọng số của các cạnh đã đi qua, h(x) là hàm đánh giá heuristic về chi phí nhỏ nhất để
CHƯƠNG 6: PHẦN LẬP TRÌNH – MƠ PHỎNG
Hình 6. 6: Lưu đồ giải thuật A*
Mơ phỏng giải thuật A* sử dụng trong nhà kho bằng phần mềm MATLAB
CHƯƠNG 6: PHẦN LẬP TRÌNH – MƠ PHỎNG
Hình 6.10 thể hiện mơ hình kho hàng được mơ phỏng bằng phần mềm Matlab. Trên hình, các chấm đỏ tượng trưng cho các kệ hàng được đặt trong nhà kho, dấu sao màu đỏ thể hiện điểm nhận hàng của cơng nhân, thiết bị dẫn hướng sau khi nhận được nhiệm vụ từ máy chủ, giải thuật A* được áp dụng để tìm đường đi ngắn nhất tới vị trí trả hàng.
CHƯƠNG 6: PHẦN LẬP TRÌNH – MƠ PHỎNG
Hình 6. 8: Kết quả mơ phỏng giải thuật A*
Hình 6.11 thể hiện kết quả mơ phỏng giải thuật A* cho 2 trường hợp khác nhau, các điểm * màu xanh thể hiện các vị trí mà giải thuật xét đến nằm trong tập OPEN, đường màu xanh thể hiện tuyến đường ngắn nhất tìm được từ vị trí robot bắt đầu đến vị trí kệ hàng, đường màu nâu thể hiện quãng đường ngắn nhất từ kệ hàng đến vị trí trả hàng.