- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I searched through several community posts at first, but as a beginner it was difficult to understand them, so I’d like to ask for help here.
I am working on an AGV model with a single bidirectional path, and I am trying to handle a potential deadlock situation between two AGVs. The situation looks like this (see the diagram):
Initial positions:
AGV is moving downward from Area 1.
OtherAGV is moving upward from Area 2.
Conflict detected:
When AGV is inside Area 1 and OtherAGV is inside Area 2, both AGVs are approaching each other on the same path.
To avoid deadlock, I want to temporarily deallocate their current tasks.
Redirection logic:
AGV should stop and wait at a predefined AGV wait CP.
OtherAGV should move to a predefined OtherAGV void CP (a side control point for avoidance).
Resuming tasks:
After AGV continues its original task and enters Area 2,
OtherAGV should then also resume its original task and move forward.
Special case:
If AGV’s original task is to deliver to a Processor located between Area 1 and Area 2, then AGV should proceed with the task directly without redirection.
Solved! Go to Solution.