chore: save current workspace progress
This commit is contained in:
+7
-3
@@ -106,7 +106,7 @@ public sealed class TrajectoryObservationSegmentTracker
|
||||
return CreateUpdate(false, true, "方向段已完成,忽略后续观察样本。");
|
||||
|
||||
DirectionSegmentView current = segments[State.ActiveSegmentIndex];
|
||||
if (!IsEligibleGearSwitchTerminal(now, measuredState, trajectory, current))
|
||||
if (!IsEligibleTerminal(now, measuredState, trajectory, current))
|
||||
{
|
||||
if (State.Phase == TrajectoryObservationSegmentPhase.Planning)
|
||||
return CreateUpdate(false, false, "等待当前方向段的有效换向终点轨迹。");
|
||||
@@ -167,11 +167,13 @@ public sealed class TrajectoryObservationSegmentTracker
|
||||
(!lastUpdateAtUtc.HasValue || now >= lastUpdateAtUtc.Value);
|
||||
}
|
||||
|
||||
private bool IsEligibleGearSwitchTerminal(DateTimeOffset now, VehicleMotionState measuredState,
|
||||
private bool IsEligibleTerminal(DateTimeOffset now, VehicleMotionState measuredState,
|
||||
EmTrajectory trajectory, DirectionSegmentView current)
|
||||
{
|
||||
if (trajectory == null || trajectory.Metadata.SegmentIndex != current.SegmentIndex ||
|
||||
trajectory.Metadata.Direction != current.Direction || trajectory.Metadata.TerminalType != EmTerminalType.GearSwitch)
|
||||
trajectory.Metadata.Direction != current.Direction ||
|
||||
(trajectory.Metadata.TerminalType != EmTerminalType.GearSwitch &&
|
||||
trajectory.Metadata.TerminalType != EmTerminalType.Goal))
|
||||
return false;
|
||||
|
||||
EmTrajectoryPoint terminalPoint = trajectory.Points[trajectory.Points.Count - 1];
|
||||
@@ -182,6 +184,8 @@ public sealed class TrajectoryObservationSegmentTracker
|
||||
if (!projector.TryProject(measuredState.Pose, current, current.LengthMeters, current.LengthMeters,
|
||||
settings.GearSwitchProjectionToleranceMeters, current.LengthMeters, out _))
|
||||
return false;
|
||||
if (trajectory.Metadata.TerminalType == EmTerminalType.Goal)
|
||||
return State.ActiveSegmentIndex + 1 >= segments.Count;
|
||||
if (State.ActiveSegmentIndex + 1 >= segments.Count)
|
||||
return true;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user