Smac 2D Planner
<name>
是为此类型选择的相应规划插件的标识符。
参数
<name>
.容差类型
默认
双精度
0.125
- 描述
请求的目标姿势和路径结束点之间的距离容差(以米为单位)。
<name>
.downsample_costmap类型
默认
布尔值
False
- 描述
是否将代价地图降采样到另一个分辨率以进行搜索。
<name>
.downsampling_factor类型
默认
int
1
- 描述
代价地图降采样的乘数因子(例如,如果2
downsample_factor
的代价地图为5cm,则输出为10cm)。
<name>
.允许未知区域类型
默认
布尔值
True
- 描述
是否允许在未知空间中进行穿越/搜索。
<name>
.max_iterations类型
默认
int
1000000
- 描述
在超过最大搜索迭代次数之前进行搜索的最大次数,如果设为-1,则不限制计算时间。
<name>
.max_on_approach_iterations类型
默认
int
1000
- 描述
在搜索到达``tolerance``范围内的最大迭代次数之后,如果无法找到精确路径,则返回具有最佳启发式的近似路径。
<name>
.max_planning_time类型
默认
双精度
2.0
- 描述
规划的最长时间(以秒为单位)。
<name>
.cost_travel_multiplier类型
默认
双精度
2.0
- 描述
用于搜索的成本乘数,以避开高成本区域。较大的值将更准确地放置在走道的中心(如果存在非`FREE`成本潜力场),但计算时间会稍长。为了优化速度,1.0是一个合理的值。合理的折中值为2.0。值为0.0将有效地禁用避开障碍物,并表现得像一个朴素的二进制搜索A*算法。
<name>
.使用最终接近方向类型
默认
布尔值
false
- 描述
如果为true,则由规划器生成的路径的最后姿势的方向将设置为接近方向,即连接路径的最后两个点的向量的方向。
<name>
.smoother.max_iterations类型
默认
int
1000
- 描述
平滑器用于平滑路径的最大迭代次数,以限制潜在的计算量。
<name>
.smoother.w_smooth类型
默认
双精度
0.3
- 描述
平滑器应用于平滑数据点的权重。
<name>
.smoother.w_data类型
默认
双精度
0.2
- 描述
平滑器应用于保留原始数据信息的权重。
<name>
.smoother.tolerance类型
默认
双精度
1e-10
- 描述
平滑会话终止的参数容差变化量。
示例
planner_server:
ros__parameters:
planner_plugins: ["GridBased"]
use_sim_time: True
GridBased:
plugin: "nav2_smac_planner/SmacPlanner2D"
tolerance: 0.125 # tolerance for planning if unable to reach exact pose, in meters
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_on_approach_iterations: 1000 # maximum number of iterations to attempt to reach goal once in tolerance
max_planning_time: 2.0 # max time in s for planner to plan, smooth
cost_travel_multiplier: 2.0 # Cost multiplier to apply to search to steer away from high cost areas. Larger values will place in the center of aisles more exactly (if non-`FREE` cost potential field exists) but take slightly longer to compute. To optimize for speed, a value of 1.0 is reasonable. A reasonable tradeoff value is 2.0. A value of 0.0 effective disables steering away from obstacles and acts like a naive binary search A*.
use_final_approach_orientation: false # Whether to set the final path pose at the goal's orientation to the requested orientation (false) or in line with the approach angle so the robot doesn't rotate to heading (true)
smoother:
max_iterations: 1000
w_smooth: 0.3
w_data: 0.2
tolerance: 1e-10