Theta Star Planner
Theta Star Planner 实现了 Theta* 路径规划器,旨在使用 A* 规划任意角度的线段聚焦路径。
对于以下示例,规划器花费约 46 毫秒(平均值)来计算 87.5 米的路径 -
“<name>” 是为此类型选择的相应规划器插件 ID。
参数
规划器的参数包括:
<name>
.how_many_corners:Type
Default
int
8
- Description
要在 4 连通(上、下、左、右)和 8 连通(所有相邻单元格)图形扩展之间进行选择,可接受的值为 4 和 8
<name>
.w_euc_cost:Type
Default
double
1.0
- Description
对路径长度施加权重。
<name>
.w_traversal_cost:Type
Default
double
2.0
- Description
它调整了对高成本节点的惩罚力度。从上面的 g(neigh) 方程中,你可以看到成本函数的成本感知部分形成了一个抛物线,因此,这个参数在增加其值时会使该曲线更陡峭,从而允许不同成本的节点之间有更大的差异(因为当图变得陡峭时,成本增量会增加)。
<name>
.use_final_approach_orientation:Type
Default
bool
false
- Description
如果为真,则规划器生成的路径的最后一个姿势将其方向设置为接近方向,即连接路径最后两点的矢量的方向
<name>
.allow_unknown:Type
Default
bool
True
- Description
是否允许在未知空间进行规划。
<name>
.terminal_checking_interval:Type
Default
int
5000
- Description
检查目标是否已取消或规划器超时的迭代次数
请仔细阅读此 repo 链接上提供的 README 文件,以更好地了解如何调整此规划器。 此规划器还要求您调整 costmap 的“cost_scaling_factor”参数,以获得良好的结果。
Example
planner_server:
ros__parameters:
expected_planner_frequency: 20.0
use_sim_time: True
planner_plugins: ["GridBased"]
GridBased:
plugin: "nav2_theta_star_planner::ThetaStarPlanner" # In Iron and older versions, "/" was used instead of "::"
how_many_corners: 8
w_euc_cost: 1.0
w_traversal_cost: 2.0
w_heuristic_cost: 1.0