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