Smac Hybrid-A*规划器 [待校准@3216]
参数 <name>
是为此类型选择的对应的planner插件账号。 [待校准@2730]
参数
<name>
.downsample_costmap [待校准@3189]类型
默认值
bool
False
- 描述
是否向下采样costmap到另一个分辨率进行搜索。 [待校准@3190]
<name>
.downsampling_factor [待校准@3191]类型
默认值
int
1
- 描述
乘数因子向下采样成本图 (例如,如果5厘米成本图在2
downsample_factor
,10厘米输出)。 [待校准@3192]
<name>
.allow_unknown类型
默认值
bool
True
- 描述
是否允许在未知空间中遍历/搜索。 [待校准@3193]
<name>
.max_iterations [待校准@3194]类型
默认值
int
1000000 [待校准@3195]
- 描述
未能限制计算时间之前的最大搜索迭代次数,由-1禁用。 [待校准@3196]
<name>
.max_planning_time [待校准@3200]类型
默认值
double
5.0 [待校准@2659]
- 描述
最大计划时间 (秒)。 [待校准@3201]
<name>
.analytic_expansion_ratio [待校准@3218]类型
默认值
double
3.5 [待校准@3219]
- 描述
规划器将尝试以与该值和最小启发式成比例的频率完成分析扩展。 [待校准@3220]
<name>
.analytic_expansion_max_length [待校准@3221]类型
默认值
double
3.0 [待校准@2948]
- 描述
如果长度太远,则拒绝此扩展。这防止了不安全的捷径进入远离目标本身的高成本区域,让搜索在分析扩展将其带回家之前接近的工作。这绝不应该小于使用的最小转弯半径的4-5倍,否则计划时间将开始增加。 [待校准@3222]
<name>
.motion_model_for_search [待校准@3202]类型
默认值
string
"DUBIN"
- 描述
要搜索的运动模型枚举string。对于混合-A*节点,默认值为 "DUBIN" 。SE2的选项是DUBIN或REEDS_SHEPP。 [待校准@3224]
<name>
.angle_quantization_bins [待校准@3225]类型
默认值
int
72 [待校准@3226]
- 描述
用于SE2搜索的角仓数量。这可以是任何偶数,但是一个好的基线是64或72 (5度增量)。 [待校准@3227]
<name>
.minimum_turning_radius [待校准@3228]类型
默认值
double
0.4 [待校准@2779]
- 描述
车辆的最小转弯半径 (米)。也用于平滑器计算最大曲率。 [待校准@3229]
<name>
.reverse_penalty [待校准@3230]类型
默认值
double
2.0
- 描述
如果反向搜索,将启发式惩罚应用于SE2节点。仅用于
REEDS_SHEPP
运动模型。 [待校准@3231]
<name>
.change_penalty [待校准@3232]类型
默认值
double
0.0
- 描述
如果在搜索中改变方向 (例如从左到右),将对SE2节点施加启发式惩罚。更改后默认禁用,以保证混合-A*planner的可接受性。 [待校准@3233]
<name>
.non_straight_penalty [待校准@3234]类型
默认值
double
1.20 [待校准@3235]
- 描述
如果在非直线方向搜索,则适用于SE2节点的启发式惩罚。 [待校准@3236]
<name>
.cost_penalty [待校准@3237]类型
默认值
double
2.0
- 描述
将启发式惩罚应用于SE2节点的姿态成本。允许混合-A*了解成本。 [待校准@3238]
<name>
.retrospective_penalty类型
默认值
double
0.015
- 描述
Heuristic penalty to apply to SE2 node penalty. Causes Hybrid-A* to prefer later maneuvers before earlier ones along the path. Saves search time since earlier (shorter) branches are not expanded until it is necessary. Must be >= 0.0 and <= 1.0. Must be 0.0 to be fully admissible.
<name>
.lookup_table_size [待校准@3239]类型
默认值
double
20.0 [待校准@2576]
- 描述
杜宾/芦苇的大小-绵羊到缓存的距离窗口,以米为单位。 [待校准@3240]
<name>
.cache_obstacle_heuristic [待校准@3241]类型
默认值
bool
false
- 描述
缓存障碍图动态编程距离扩展启发式算法在相同目标位置的辅助补充之间。如果costmap在很大程度上是静态的,则极大地加快了重新规划性能 (40倍)。 [待校准@3242]
<name>
.smooth_path [待校准@3243]类型
默认值
bool
true [校准@小鱼]
- 描述
如果为true,则对从搜索到路径的后处理进行简单快速的平滑处理 [待校准@3244]
- 参数
<name>
.平滑器.最大 _ 迭代 [待校准@3207] 类型
默认值
int
1000 [待校准@3198]
- 描述
平滑器必须平滑路径的最大迭代次数,以绑定潜在计算。 [待校准@3208]
<name>
.smoother.w_smooth类型
默认值
double
0.3
- 描述
适用于平滑数据点的平滑器重量 [待校准@3210]
<name>
.smoother.w_data类型
默认值
double
0.2
- 描述
适用于保留原始数据信息的平滑器的重量 [待校准@3212]
- 参数
<name>
。平滑。公差 [待校准@3213] 类型
默认值
double
1e-10 [待校准@3214]
- 描述
终止平滑会话的参数公差更改量 [待校准@3215]
- 参数
<name>
.平滑器.do_refinement [待校准@3245] 类型
默认值
bool
true [校准@小鱼]
- 描述
执行额外的细化平滑运行。本质上,这使用上一个平滑周期的输出递归调用平滑器,以进一步平滑宏趋势的路径。这通常提高了质量,尤其是在杂交-A*planner中,由于原始长度非常小,它可以具有额外的 "wobbling" ,但可能导致路径稍微接近一些障碍。 [待校准@3246]
Example
planner_server:
ros__parameters:
planner_plugins: ["GridBased"]
use_sim_time: True
GridBased:
plugin: "nav2_smac_planner/SmacPlannerHybrid"
downsample_costmap: false # whether or not to downsample the map
downsampling_factor: 1 # multiplier for the resolution of the costmap layer (e.g. 2 on a 5cm costmap would be 10cm)
allow_unknown: true # allow traveling in unknown space
max_iterations: 1000000 # maximum total iterations to search for before failing (in case unreachable), set to -1 to disable
max_planning_time: 5.0 # max time in s for planner to plan, smooth
motion_model_for_search: "DUBIN" # Hybrid-A* Dubin, Redds-Shepp
angle_quantization_bins: 72 # Number of angle bins for search
analytic_expansion_ratio: 3.5 # The ratio to attempt analytic expansions during search for final approach.
analytic_expansion_max_length: 3.0 # For Hybrid/Lattice nodes: The maximum length of the analytic expansion to be considered valid to prevent unsafe shortcutting
minimum_turning_radius: 0.40 # minimum turning radius in m of path / vehicle
reverse_penalty: 2.0 # Penalty to apply if motion is reversing, must be => 1
change_penalty: 0.0 # Penalty to apply if motion is changing directions (L to R), must be >= 0
non_straight_penalty: 1.2 # Penalty to apply if motion is non-straight, must be => 1
cost_penalty: 2.0 # Penalty to apply to higher cost areas when adding into the obstacle map dynamic programming distance expansion heuristic. This drives the robot more towards the center of passages. A value between 1.3 - 3.5 is reasonable.
retrospective_penalty: 0.015
lookup_table_size: 20.0 # Size of the dubin/reeds-sheep distance window to cache, in meters.
cache_obstacle_heuristic: false # Cache the obstacle map dynamic programming distance expansion heuristic between subsiquent replannings of the same goal location. Dramatically speeds up replanning performance (40x) if costmap is largely static.
smooth_path: True # If true, does a simple and quick smoothing post-processing to the path
smoother:
max_iterations: 1000
w_smooth: 0.3
w_data: 0.2
tolerance: 1e-10
do_refinement: true