n = 起点
将n加入open list
do{
将所有与n相邻的结点m{
加入open list;
if(结点不在open list){
将结点m的父节点设为n;
计算节点m的G、H、F值;
}
if(结点m已经在open list && 经结点n到结点m的Gnm < 原本的Gm){
将结点m的父节点设为n;
重新计算节点m的G、F值;
}
}
将n从open list中移除
将n移进close list
计算open list中每个结点{
F = G + H
}
选择open list 中F最小的结点,作为新的结点n
//如果有两个F相等的结点,选择更新的后加入的那个
}while(n不是终点 | open list 不为空)
 
//计算G:起点A —>n的移动代价,由于node是方格的中心点,因此G = G父 + G子 ,G子为方格边长或对角线长度
// 计算H:n—>终点B的估算成本。
Manhattan估算法:
  1. 忽略对角线移动
  1. 忽略路径中的障碍物
即 | x终 - xn | + | y终 - yn | (不考虑障碍物存在),直接乘以方格边长
 
Loading...
spark
spark
风燃起野火
最新发布
路径规划
2025-3-28
Learning Quadruped Locomotion Using Differentiable Simulation
2025-2-17
Intention-Aware Planner for Robust and Safe Aerial Tracking
2025-2-11
C++学习记录
2024-11-21
六级考前700核心词速刷
2024-11-21
四六级翻译技巧
2024-11-20
公告
欢迎来到spark的个人主页
-- 正在施工中 --
刷新以获取页面最新情况
(有时可能需要刷新4次5次6次QAQ)