44 lines
1.6 KiB
C#
44 lines
1.6 KiB
C#
namespace MultiWheelC.TrajectoryPlanning.EMPlanner;
|
|
|
|
/// <summary>
|
|
/// 纵向 QP 目标函数的权重快照;权重只改变偏好而不放宽硬约束。
|
|
/// </summary>
|
|
public sealed class LongitudinalWeights
|
|
{
|
|
/// <summary>
|
|
/// 惩罚偏离参考速度的权重;无量纲,默认值 10,必须为非负有限值。
|
|
/// </summary>
|
|
public double ReferenceSpeed { get; set; }
|
|
/// <summary>
|
|
/// 惩罚纵向加速度的权重;无量纲,默认值 1,必须为非负有限值。
|
|
/// </summary>
|
|
public double Acceleration { get; set; }
|
|
/// <summary>
|
|
/// 惩罚纵向加加速度的权重;无量纲,默认值 10,必须为非负有限值。
|
|
/// </summary>
|
|
public double Jerk { get; set; }
|
|
/// <summary>
|
|
/// 惩罚偏离上一条轨迹速度解的权重;无量纲,默认值 5,必须为非负有限值。
|
|
/// </summary>
|
|
public double PreviousTrajectory { get; set; }
|
|
/// <summary>
|
|
/// 惩罚末端加速度的权重;无量纲,默认值 1,必须为非负有限值。
|
|
/// </summary>
|
|
public double TerminalAcceleration { get; set; }
|
|
|
|
/// <summary>
|
|
/// 复制当前纵向权重;输入为当前五个标量,输出为无共享可变状态的标量快照,不对数值作校验且不产生失败状态。
|
|
/// </summary>
|
|
internal LongitudinalWeights Copy()
|
|
{
|
|
return new LongitudinalWeights
|
|
{
|
|
ReferenceSpeed = ReferenceSpeed,
|
|
Acceleration = Acceleration,
|
|
Jerk = Jerk,
|
|
PreviousTrajectory = PreviousTrajectory,
|
|
TerminalAcceleration = TerminalAcceleration,
|
|
};
|
|
}
|
|
}
|