using MultiWheelC.TrajectoryPlanning.Mapping; namespace MultiWheelC.TrajectoryPlanning.CoarsePath; /// /// 已建规划地图上的一次 Hybrid A* 请求。 /// 本对象只接受不可变 快照,不包含地图构建器、传感器、UI 或调试对象。 /// public sealed class PlanningRequest { /// 创建空规划请求。调用规划器前必须提供地图、起点、终点、车辆和配置。 public PlanningRequest() { StartVehicleCurvature = 0d; GoalDirection = GoalDirectionConstraint.Any; } /// 本次搜索唯一允许查询的不可变规划地图快照;位置查询单位为 m。 public PlanningGridMap Map { get; set; } /// 车辆几何中心的起始位姿;位置单位 m,航向单位 rad。 public Pose2D Start { get; set; } /// 车辆几何中心的目标位姿;位置单位 m,航向单位 rad。 public Pose2D Goal { get; set; } /// 车辆几何、余量和曲率限制;尺寸单位 m,曲率单位 1/m。 public VehicleParameters Vehicle { get; set; } /// 搜索步长、离散、终点容差、代价和资源上限配置。 public HybridAStarConfiguration Configuration { get; set; } /// 车辆起步时的转向曲率,单位 1/m;默认值为 0。 public double StartVehicleCurvature { get; set; } /// 起步方向约束;null 表示可从前进或倒车开始。 public TravelDirection? StartDirection { get; set; } /// 目标进入方向约束;默认值为 public GoalDirectionConstraint GoalDirection { get; set; } }