■ Goal
I implemented an avoidance logic for AGVs.
After executing the avoidance behavior, the AGV should continue directly to its original destination using the shortest path.
■ Current Behavior
When the avoidance logic is triggered:
1. The AGV moves to the avoidance area as intended.
2. However, after that, instead of continuing from the current position,
it returns to the previous control point (before avoidance was triggered),
3. Then resumes the original logic and moves to the destination.
So effectively, the AGV is "going back" before continuing, which is not desired.
■ Expected Behavior
After completing the avoidance movement,
the AGV should continue directly from its current location to the original destination (shortest path),
without returning to the previous control point.
■ What I Tried
1. Redirect approach:
- Used Redirect to handle avoidance
- Initially worked, but sometimes after finishing Redirect,
the AGV skips the interrupted task and jumps to the next task in sequence
(seems like task sequence inconsistency or loss)
2. Priority-based Task Sequence:
- Created a new Task Sequence with higher priority for avoidance
- This prevents task skipping issue
- But now the AGV returns to the previous CP before continuing
■ Model Setup
- FlexSim Version: 2026
- AGV Type: AGV Navigation (Process Flow-based control)
- Avoidance is triggered dynamically during task execution
- Using Task Sequences (not purely default AGV process flow)
■ Additional Info
- The issue does not occur consistently with Redirect, but is unstable
- With Priority-based TS, behavior is consistent but incorrect (returning to previous CP)
- No explicit errors are shown
■ Question
1. Why does the AGV return to the previous control point after executing a high-priority Task Sequence?
2. Is there a correct way to resume the original task from the current position instead of the previous node?
3. Between Redirect and Priority Task Sequence, what is the recommended approach for implementing avoidance logic without breaking task continuity?
Would storing and restoring the destination manually (e.g., via label) and forcing a new Travel task from current position be a better approach?
Can't find what you're looking for? Ask the community or share your knowledge.