feat: 发布 EM 轨迹规划首个版本

This commit is contained in:
2026-08-11 20:35:59 +08:00
parent 569de5f13c
commit 1903e71fc1
522 changed files with 4188 additions and 119188 deletions
@@ -3,6 +3,9 @@ using System.Threading;
namespace MultiWheelC.TrajectoryPlanning.EMPlanner;
/// <summary>
/// 求解器中立的二次规划边界。实现必须将数值状态转换为 <see cref="QpSolveResult"/>,而不能把原生求解器对象泄漏给规划层。
/// </summary>
public interface IQpSolver
{
QpSolveResult Solve(
@@ -5,6 +5,9 @@ using MultiWheelC.TrajectoryPlanning.Utils;
namespace MultiWheelC.TrajectoryPlanning.EMPlanner;
/// <summary>
/// QP 求解后的数值和诊断快照。调用方必须结合状态判断解向量是否可用,不能将失败输出当作候选轨迹。
/// </summary>
public sealed class QpSolveResult
{
public QpSolveResult(
@@ -5,6 +5,9 @@ using MultiWheelC.TrajectoryPlanning.Utils;
namespace MultiWheelC.TrajectoryPlanning.EMPlanner;
/// <summary>
/// 供横向或纵向规划器提交给 <see cref="IQpSolver"/> 的二次规划快照;矩阵维度与变量布局必须一致。
/// </summary>
public sealed class QuadraticProgram
{
public const double MaximumFiniteBound = 1e30d;