21 lines
645 B
C#
21 lines
645 B
C#
using System;
|
|
using System.Threading;
|
|
|
|
namespace MultiWheelC.TrajectoryPlanning.EMPlanner;
|
|
|
|
/// <summary>Public lateral-planning entry point backed by the solver-neutral SQP optimizer.</summary>
|
|
public sealed class LateralPlanner
|
|
{
|
|
private readonly SequentialConvexOptimizer _optimizer;
|
|
|
|
public LateralPlanner(IQpSolver qpSolver)
|
|
{
|
|
_optimizer = new SequentialConvexOptimizer(qpSolver ?? throw new ArgumentNullException(nameof(qpSolver)));
|
|
}
|
|
|
|
public LateralPlanningResult Plan(LateralPlanningInput input, CancellationToken cancellationToken)
|
|
{
|
|
return _optimizer.Optimize(input, cancellationToken);
|
|
}
|
|
}
|