feat: coordinate rolling EM replans

This commit is contained in:
梁薄云
2026-08-04 12:47:39 +08:00
parent 49109ec835
commit d75380cf8f
7 changed files with 497 additions and 1 deletions
@@ -0,0 +1,34 @@
using System;
namespace MultiWheelC.TrajectoryPlanning.EMPlanner;
/// <summary>Immutable completion record for one rolling planning cycle.</summary>
public sealed class PlanningCycleResult
{
public PlanningCycleResult(long version, PlanningCycleIdentity identity, EmPlanningResult result, bool published,
string diagnostic)
{
if (version <= 0)
throw new ArgumentOutOfRangeException(nameof(version));
Version = version;
Identity = identity ?? throw new ArgumentNullException(nameof(identity));
Result = result ?? throw new ArgumentNullException(nameof(result));
Published = published;
Diagnostic = diagnostic ?? string.Empty;
}
public long Version { get; }
public PlanningCycleIdentity Identity { get; }
public EmPlanningResult Result { get; }
public bool Published { get; }
public string Diagnostic { get; }
internal PlanningCycleResult WithDiagnostic(string diagnostic)
{
return new PlanningCycleResult(Version, Identity, Result, Published, diagnostic);
}
}