🥎D.8 Theta Star Planner

သူကလည်း A* algorithm ကိုပဲသုံးပြီး ကြိုက်တဲ့ angle ကိုသွား လို့ရသတဲ့။ ပုံအရဆို 87 မီတာ path ကို တွက်တာ 46 ms ပဲကြာသတဲ့။

photo from nav2 doc
Parameter
Description
Type
Default

<name>.how_many_corners

To choose between 4-connected (up, down, left, right) and 8-connected (all the adjacent cells) graph expansions, the accepted values are 4 and 8

int

8

<name>.w_euc_cost

Weight applied on the length of the path.

double

1

<name>.w_traversal_cost

Penalisedဖြစ်တဲ့ high cost nodesတွေရဲ့ ကြမ်းတမ်းမူကို tuneလုပ်ပေးတယ်။ အထက်ပါequation ကနေ cost function ရဲ့ cost_aware componentက parabolic curve ပုံပေါ်တယ်။ ဒီ Parameterက တန်ဖိုးကြီးလာရင် curve steeper ရဲံ့ differentiation ကလည်း ကြီးလာမယ်။ cost တန်ဖိုးရဲ့ deltaကြီးလာရင် graphကလည်း steepဖြစ်လာမယ်။

double

2

<name>.use_final_approach_orientation

If true, the last pose of the path generated by the planner will have its orientation set to the approach orientation, i.e. the orientation of the vector connecting the last two points of the path

bool

FALSE

<name>.allow_unknown

Whether to allow planning in unknown space.

bool

TRUE

အောက်ကဟာက နမူနာဖြစ်ပြီး ဒီ theta star algorithm ကိုသုံးဖို့ဆို developer ရဲ့ github ကိုသွားပြီး ဖတ်ပါ။ fune tuning ဖြစ်ဖို့အတွက် ကျတော်တို့ရဲ့ costmap နဲ့ ကိုက်မည့် cost_scaling_factor ကို ရှာဖွေဖို့လိုပါတယ်။

planner_server:
ros__parameters:
  expected_planner_frequency: 20.0
  use_sim_time: True
  planner_plugins: ["GridBased"]
  GridBased:
    plugin: "nav2_theta_star_planner/ThetaStarPlanner"
    how_many_corners: 8
    w_euc_cost: 1.0
    w_traversal_cost: 2.0
    w_heuristic_cost: 1.0

Last updated