- 博客(5)
- 收藏
- 关注
原创 Dstar算法
D*是Dynamic A*的简称,是一种适应于动态环境下的启发式,路径搜索算法与A类似,D*通过一个维护一个优先队列openlist来对场景中的路径节点进行搜索。不同的是,D*从目标点开始搜索,通过将目标点至于openlist中来开始搜索,直到机器人当前位置节点从open list出队为止。D*分为两个阶段:第一阶段,基于Dijstra/A*算法的从目标点往起始点进行搜索,得到搜索区域节点距离目标点的最短路径信息,第二阶段是动态避障搜索阶段因此D*算法主要分为两个部分,主要用于处理节点信息的process_
2025-03-03 16:55:46
277
原创 A* 算法
路径优劣评价公式为fn=gn+hn.fn是从初始状态下经由状态N到目标状态的代价估计,gn是在状态空间中从初始状态到状态n的实际代价,hn是从状态n到目标状态的最佳路径的估计代价。增量搜索是对以前的搜索结果信息进行的再利用以提高搜索效率,从而大大减少搜索范围,节约搜索时间,典型如D*\LOA*\D*Lite。启发式搜索是利用启发函数对搜索过程进行指导,从而实现高效的搜索,是一种智能搜索,典型的如A*算法。
2025-02-26 11:36:25
171
原创 RRT算法
根据子节点扩展方向确定对应的栅格,将父节点邻近的16个节点作为备选子节点,然后通过父节点与采样点的连线计算角度,然后根据角度在16份角度中的范围,确定被选中的子节点,同时考虑到行列坐标与x/y坐标的不对应,在计算连线角度时采用atan2函数。其特点是,概率完备,如果规划时间足够长,如果确实存在一条可行的最优路径,RRT是可以找出来的,但这里存在限制条件,如果规划时间不够,迭代次数较少,有可能无法找到实际存在路径。RRT--快速搜索随机树算法是一种在完全已知的环境中通过随机采样扩展搜索的算法。
2025-02-25 11:06:18
464
原创 Floyd算法
其特点是一种动态规划算法,稠密图效果最佳,节点之间的权值可正可负。此算法简单有效,由于三重循环结构紧凑,对于稠密图效率要高于dijkstra算法。优点是容易理解,可以算出任意两个节点之间的最短距离(dijksra算法只能计算起始点到目标点的最短距离)弗洛伊德算法是解决给定的加权图中顶点间的最短路径的一种算法,可以正确处理有向图中的最短路径问题。缺点是时间复杂度比较高,对于稀疏图将会生成稀疏矩阵,极大浪费了储存空间。(把N个节点转化成一个N*N的矩阵,矩阵里面的数值为权值)---初始化。
2025-02-22 16:03:25
133
原创 用Matlab学习路径规划算法
Dijkstra 算法是指 从一个节点遍历其余各节点的最短路径方法,解决的是有权图中最短路径问题,其主要特点是从起始点开始,采用贪心算法,每次遍历到起始点距离最近的且未访问过的顶点的邻接节点,直到扩展到终点为止。Djikstra和Floyd算法,广度优先搜索,可以获得全局最优路径,缺点是耗时较长,遇障碍物只能重复规划。D*,lpa*,D*Lite算法,能够实现动态避障,利用了前一次的路径搜索信息,无重复规划,提高了搜索效率。RTT算法,随机采样搜索,可以快速搜索路径,缺点是随机性太强。
2025-02-19 22:20:33
405
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人