feat: configure MovementTest OSQP iterations
This commit is contained in:
+2
@@ -32,6 +32,7 @@ public sealed class TrajectoryObservationMovementTest : MovementTest
|
||||
public double ReplanPeriodSeconds = 0.20d;
|
||||
public double ObserverPeriodSeconds = 0.05d;
|
||||
public double SolverTimeoutSeconds = 0.50d;
|
||||
public int MaximumOsqpIterations = 12000;
|
||||
public double VehicleLengthMeters = 0.80d;
|
||||
public double VehicleWidthMeters = 0.60d;
|
||||
public double SafetyMarginMeters = 0.05d;
|
||||
@@ -61,6 +62,7 @@ public sealed class TrajectoryObservationMovementTest : MovementTest
|
||||
ReplanPeriodSeconds = ReplanPeriodSeconds,
|
||||
ObserverPeriodSeconds = ObserverPeriodSeconds,
|
||||
SolverTimeoutSeconds = SolverTimeoutSeconds,
|
||||
MaximumOsqpIterations = MaximumOsqpIterations,
|
||||
VehicleLengthMeters = VehicleLengthMeters,
|
||||
VehicleWidthMeters = VehicleWidthMeters,
|
||||
SafetyMarginMeters = SafetyMarginMeters,
|
||||
|
||||
+4
@@ -13,6 +13,7 @@ public sealed class TrajectoryObservationSettings
|
||||
public double ReplanPeriodSeconds { get; set; } = 0.20d;
|
||||
public double ObserverPeriodSeconds { get; set; } = 0.05d;
|
||||
public double SolverTimeoutSeconds { get; set; } = 0.50d;
|
||||
public int MaximumOsqpIterations { get; set; } = 12000;
|
||||
public double VehicleLengthMeters { get; set; } = 0.80d;
|
||||
public double VehicleWidthMeters { get; set; } = 0.60d;
|
||||
public double SafetyMarginMeters { get; set; } = 0.05d;
|
||||
@@ -27,6 +28,7 @@ public sealed class TrajectoryObservationSettings
|
||||
ReplanPeriodSeconds = ReplanPeriodSeconds,
|
||||
ObserverPeriodSeconds = ObserverPeriodSeconds,
|
||||
SolverTimeoutSeconds = SolverTimeoutSeconds,
|
||||
MaximumOsqpIterations = MaximumOsqpIterations,
|
||||
VehicleLengthMeters = VehicleLengthMeters,
|
||||
VehicleWidthMeters = VehicleWidthMeters,
|
||||
SafetyMarginMeters = SafetyMarginMeters,
|
||||
@@ -43,6 +45,8 @@ public sealed class TrajectoryObservationSettings
|
||||
EnsurePositiveFinite(ReplanPeriodSeconds, nameof(ReplanPeriodSeconds));
|
||||
EnsurePositiveFinite(ObserverPeriodSeconds, nameof(ObserverPeriodSeconds));
|
||||
EnsurePositiveFinite(SolverTimeoutSeconds, nameof(SolverTimeoutSeconds));
|
||||
if (MaximumOsqpIterations <= 0)
|
||||
throw new ArgumentOutOfRangeException(nameof(MaximumOsqpIterations), "Value must be positive.");
|
||||
EnsurePositiveFinite(VehicleLengthMeters, nameof(VehicleLengthMeters));
|
||||
EnsurePositiveFinite(VehicleWidthMeters, nameof(VehicleWidthMeters));
|
||||
EnsurePositiveFinite(SafetyMarginMeters, nameof(SafetyMarginMeters));
|
||||
|
||||
+1
@@ -208,6 +208,7 @@ public sealed class TrajectoryObservationController
|
||||
configuration = EmPlannerConfiguration.CreateDefault();
|
||||
configuration.Scheduling.ReplanPeriodSeconds = settings.ReplanPeriodSeconds;
|
||||
configuration.Scheduling.SolverTimeoutSeconds = settings.SolverTimeoutSeconds;
|
||||
configuration.Solver.MaximumOsqpIterations = settings.MaximumOsqpIterations;
|
||||
coordinator = new EmPlanningCoordinator(planningService);
|
||||
executor = new TrajectoryExecutor(configuration);
|
||||
this.sessionId = sessionId;
|
||||
|
||||
Reference in New Issue
Block a user