question

Mischa Spelt avatar image
0 Likes"
Mischa Spelt asked anon-user commented

Claim two-way AGV path for one direction

We ran into a situation that should be fairly common so I hope that someone has a solution floating around that we can easily implement or re-use.

The model consists of two areas joined by a narrow corridor. The corridor is only wide enough for a single AGV path. AGVs need to move in both directions (left-to-right and right-to-left) through the corridor. All AGVs going in a single direction can follow one another based on the default accumulation rule, but AGVs going in the opposite direction have to wait at the entry point until the corridor is clear.

I have attached a small demo model to illustrate the situation. If you run it, then as expected the AGVs collide:

time: 58.794802 exception: TaskExecuter4 has run into TaskExecuter2 on an accumulating path. This is not allowed.

We would appreciate any ideas on the simplest way to implement this. In reality we use Process Flow to control the travelling, so this model may be slightly more realistic.

FlexSim 17.0.3
agv pathcontrol points
agv-corridor.fsm (26.5 KiB)
agv-corridor-pf.fsm (34.6 KiB)
· 1
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

anon-user avatar image anon-user commented ·

Please tell us about the model tree for this simulation.


agv: AGVNetwork>variables/agvs/TaskExecuter4


In this tree, "agvExitDist: 1.797693e+308" is displayed.

What does this number mean?

Why are these numbers so big?


0 Likes 0 ·
Mischa Spelt avatar image
1 Like"
Mischa Spelt answered anon-user commented

Last week I put together a bit of Process Flow to claim the area in one direction. I used a Control Area to represent the restricted area, but it doesn't really control anything: it acts as a visual indicator to indicate the boundaries of the area, and it is used as a container allowing the control points (connected by center connection) to share data through the Control Area's labels.

I did have to work around one small issue: neither Control Areas nor Control Points have an On Message trigger, so I'm actually stuffing a FlexSimObject into a label so I can signal the Area at some point.

agv-corridor.fsm


agv-corridor.fsm (100.3 KiB)
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Sam Stubbs avatar image
2 Likes"
Sam Stubbs answered Mischa Spelt commented

I'm not sure this is exactly the set up you're looking for, but in order to control the two way corridor area, you'll need to have more control points to reserve and allow allocations. Here's an example that keeps the AGVs from colliding from each other.

5965-agv-corridor.fsm


· 2
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

jing.c avatar image jing.c commented ·

Hi, Sam.

Your model seems simple and effective!

Is it a simple way to allow more agvs enter two-way corridor area with the same direct?

0 Likes 0 ·
Mischa Spelt avatar image Mischa Spelt commented ·

Nice and clean solution! Unfortunately it does not entirely fit our needs because we'd like to admit multiple AGVs going the same way. I assume that the control point is allocated first-come-first-serve, hence always sending AGVs through in alternating directions (because the second AGV always has some travel time to the waiting point and in the mean time the AGV from the opposite direction already waiting will claim the central point)?

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.