33 lines
1.7 KiB
C#
33 lines
1.7 KiB
C#
namespace MultiWheelC.TrajectoryPlanning.EMPlanner;
|
|
|
|
public sealed class LongitudinalConfiguration
|
|
{
|
|
public double MaximumForwardSpeedMetersPerSecond { get; set; }
|
|
public double MaximumReverseSpeedMetersPerSecond { get; set; }
|
|
public double MaximumAccelerationMetersPerSecondSquared { get; set; }
|
|
public double MaximumDecelerationMetersPerSecondSquared { get; set; }
|
|
public double MaximumJerkMetersPerSecondCubed { get; set; }
|
|
public double MaximumLateralAccelerationMetersPerSecondSquared { get; set; }
|
|
public double MaximumCurvatureRatePerMeterPerSecond { get; set; }
|
|
public double StopSpeedToleranceMetersPerSecond { get; set; }
|
|
public double ZeroSpeedHoldSeconds { get; set; }
|
|
public LongitudinalWeights Weights { get; set; }
|
|
|
|
internal LongitudinalConfiguration Copy()
|
|
{
|
|
return new LongitudinalConfiguration
|
|
{
|
|
MaximumForwardSpeedMetersPerSecond = MaximumForwardSpeedMetersPerSecond,
|
|
MaximumReverseSpeedMetersPerSecond = MaximumReverseSpeedMetersPerSecond,
|
|
MaximumAccelerationMetersPerSecondSquared = MaximumAccelerationMetersPerSecondSquared,
|
|
MaximumDecelerationMetersPerSecondSquared = MaximumDecelerationMetersPerSecondSquared,
|
|
MaximumJerkMetersPerSecondCubed = MaximumJerkMetersPerSecondCubed,
|
|
MaximumLateralAccelerationMetersPerSecondSquared = MaximumLateralAccelerationMetersPerSecondSquared,
|
|
MaximumCurvatureRatePerMeterPerSecond = MaximumCurvatureRatePerMeterPerSecond,
|
|
StopSpeedToleranceMetersPerSecond = StopSpeedToleranceMetersPerSecond,
|
|
ZeroSpeedHoldSeconds = ZeroSpeedHoldSeconds,
|
|
Weights = Weights == null ? null : Weights.Copy(),
|
|
};
|
|
}
|
|
}
|