D star lite 算法的論文網址:http://idm-lab.org/bib/abstracts/papers/aaai02b.pdf
根本思想是從後往前計算,每當客觀環境發生變化時就可以節省未變環境的計算量:
Github復現代碼:https://github.com/avgaydashenko/d_star
clone這份代碼後,運行main.py:
from d_star import DStar
# 設置起點(0,1)與終點(3,1)
pf = DStar(x_start=0, y_start=1, x_goal=3, y_goal=1)
# (2,1)不允許通行
pf.update_cell(2, 1, -1)
# (2,1)准許通行
# pf.update_cell(2, 1, 0)
# 重新規劃路徑
pf.replan()
# 得到路徑規劃的結果
path = pf.get_path()