global_planner源码学习

global_planner是全局规划模块,采用A*和Dijkstra算法进行路径规划。通过makeplan接口进行全局路径计算,将起点终点转换为地图坐标,利用图搜索算法生成路径,并转换为全局框架下的计划,供movebase使用。Expander类定义了规划算法接口,包括AStarExpansion和DijkstraExpansion的实现。Traceback类负责路径回溯,而GlobalPlanner类则实现了规划接口并调用相关组件完成路径规划。
摘要由CSDN通过智能技术生成

简介

global_planner负责全局规划,主要利用了A算法和Dijkstra算法。提供了makeplan接口做全局规划。可以发布geometry_msgs::PoseStamped类型的信息。
具体规划时,先将起点终点转换到map下的index单位,然后调用A
等图搜索算法,然后将以index为单位的path在转换到global_frames下的plan,然后传递到movebase中。

============================================================

定义接口规范的类

Expander类:

作为核心全局规划算法的基类,定义了例如A*、Dijstras算法应该有的接口:calculatePotentials:计算Potentials,potential是一个nx * ny大小的数组(大小和costmap一致),其中的元素代表从起点走至该点的花费。


Traceback类

规定了getpath接口,根据建立的potential,从目标点回溯

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值