Files
ParkingRobot/.task8-sweep/ParkrobTrajplanner/CoarsePath/Contracts/PlanningDiagnostics.cs
T

66 lines
2.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
namespace MultiWheelC.TrajectoryPlanning.CoarsePath;
/// <summary>一次规划的只读统计与终止说明;长度和净空单位为 m。</summary>
public sealed class PlanningDiagnostics
{
/// <summary>
/// 创建规划统计快照。
/// 参数中的节点数量均为非负计数;pathLengthMeters 和 minimumBodyClearanceMeters 单位为 melapsed 为总耗时;pathSearchElapsed 为地图和起终点预检通过后的路径产出耗时;terminationReason 为可读终止说明,可为 null。
/// </summary>
public PlanningDiagnostics(
int expandedNodeCount = 0,
int generatedNodeCount = 0,
int reopenedNodeCount = 0,
int staleOpenListEntryCount = 0,
int peakOpenListCount = 0,
double pathLengthMeters = 0d,
double minimumBodyClearanceMeters = 0d,
TimeSpan elapsed = default(TimeSpan),
string terminationReason = null,
TimeSpan pathSearchElapsed = default(TimeSpan))
{
ExpandedNodeCount = expandedNodeCount;
GeneratedNodeCount = generatedNodeCount;
ReopenedNodeCount = reopenedNodeCount;
StaleOpenListEntryCount = staleOpenListEntryCount;
PeakOpenListCount = peakOpenListCount;
PathLengthMeters = pathLengthMeters;
MinimumBodyClearanceMeters = minimumBodyClearanceMeters;
Elapsed = elapsed;
PathSearchElapsed = pathSearchElapsed;
TerminationReason = terminationReason ?? string.Empty;
}
/// <summary>从 Open List 取出并真正扩展的节点数量。</summary>
public int ExpandedNodeCount { get; }
/// <summary>生成并尝试加入搜索状态的节点数量。</summary>
public int GeneratedNodeCount { get; }
/// <summary>以严格更小代价到达同一离散键而重新打开的节点数量。</summary>
public int ReopenedNodeCount { get; }
/// <summary>从 Open List 取出后因已有更优条目而丢弃的陈旧堆条目数量。</summary>
public int StaleOpenListEntryCount { get; }
/// <summary>搜索期间 Open List 同时容纳的最大有效或待丢弃条目数量。</summary>
public int PeakOpenListCount { get; }
/// <summary>成功路径的累计弧长,单位 m;失败结果通常为 0。</summary>
public double PathLengthMeters { get; }
/// <summary>成功路径所有点中车体保守净空下界的最小值,单位 m;失败结果通常为 0。</summary>
public double MinimumBodyClearanceMeters { get; }
/// <summary>从规划入口到返回结果的总耗时。</summary>
public TimeSpan Elapsed { get; }
/// <summary>地图和起终点预检通过后,二维启发式、Hybrid A*、回溯、装配和最终复核的耗时;不含建图,搜索前失败时为零。</summary>
public TimeSpan PathSearchElapsed { get; }
/// <summary>面向调用方的终止原因;成功时可为空字符串。</summary>
public string TerminationReason { get; }
}