question

Het avatar image
0 Likes"
Het asked Felix Möhlmann edited

Time based Forklift Transportation to Assign Station

I'm seeking your advice on a couple of issues we're facing in our Flexsim forklift simulation project. Felix M. has advised/assisted us establish Phase 1, to operate timetables and control areas. To Moving into next phase we're facing following challenges.

  1. Inbound Forklift Collisions:
    • When an inbound forklift stops to let another pass, the following forklifts collide with stopped forklift.
    • Can we adjust the speed of the following forklifts or implement a logic to make them stop if another forklift is in their path?
  2. Outbound Forklift Congestion:

    • At 13:45, forklifts returning to their origin locations collide in the corridor, with some turning on the spot if blocked.
    • Can we use any strategies to prevent these collisions and ensure smooth movement?

I have attached the previous question chat history, model, and videos for your reference.

https://answers.flexsim.com/questions/171210/transporter-timetable-based-travel-to-assign-stati.html

Forklift V11 - Control Area Test- New Forklifts.fsm

Inbound:


Outbound:


FlexSim 24.2.2
timetablecontrolareaforklift movement
· 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.

Jeanette F avatar image Jeanette F ♦♦ commented ·

Hi @Het, was Felix Möhlmann's answer helpful? If so, please click the "Accept" button at the bottom of their answer. Or if you still have questions, add a comment and we'll continue the conversation.

If we haven't heard back from you within 3 business days we'll auto-accept an answer, but you can always comment back to reopen your question.

0 Likes 0 ·

1 Answer

Felix Möhlmann avatar image
0 Likes"
Felix Möhlmann answered Felix Möhlmann edited

The weird behaviour when leaving the parking positions stems from the allocation logic I suggested only being designed with the transporters travelling to the parking positions. It simply doesn't work properly for the other case.

Idle TEs only occupying a single A* cell and moving ones also only allocating a single 'line' of cells is a fundamental principle in how the A* navigator works. As long as the grid spacing is smaller than the shape, overlaps will always be possible.

You could try to use a proximity agent system to stop one transporter when two get close to each other. With the free form movement it will be difficult to determine which one should wait though (or if stopping is even necessary at all, maybe they just pass each other).

I don't know if I suggested this previously, but if controlling the distance between TEs is important, an AGV network offers far more options than the A* navigator. It doesn't need to span the entire layout. You can build a network in the charging area and change the navigator when the transporters arrive and leave.

forklift-v11-control-area-test-new-forklifts_2.fsm

Though that would still leave the issue of transporters piling up at the entry points of the network, if many of them arrive in quick succession. An idea for that would to implement a "waiting line". (I tested the Waiting Line object from the people module. It doesn't seem to work with non-person task executers.) That would consist of a list with ordered waiting positions. Every transporter would pull the farthest along waiting point and travel there. While it hasn't arrived at the last point, it continues to try to pull 'better' points.


· 11
5 |100000

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

Het avatar image Het commented ·

Felix, appreciated for quick response, I may need to digest this updated process flow. When I ran the model, it get freeze as soon as transporter 15 arrives closer to charging entry point at 1:21:40 pm.


1738006318483.png



Also, not sure why Transporter 2 "Red" is moving between Black & Green aisle. 1738006594769.png

0 Likes 0 ·
1738006318483.png (609.1 KiB)
1738006594769.png (333.8 KiB)
Felix Möhlmann avatar image Felix Möhlmann Het commented ·

Weird that I didn't come across this issue when building the model. It seems that removing an idle member from the A* navigator somehow prevents the cell it was allocating from being allocated by further travelers, if they were already en route.

I found a "hacky" solution by switching navigator while in a travel task and then immediately preempting the transporter to a new travel task. That seems to work in this case, but I can't guarantee that this might not lead to other issues.

Because I only build paths for a single aisle I simply have transporters acquire a random park point on a first come first serve basis. Meaning currently transporters 1-16 will travel to the spots in that aisle. After adding also adding paths for the other aisles you can bind the transporters to specific CP. Either by replacing the coordinates in the table with a reference to that CP or by storing that reference somewhere else, like a label on the transporter. Then use that reference in the Travel activity instead of doing the list pull.

forklift-v11-control-area-test-new-forklifts_3.fsm

0 Likes 0 ·
Het avatar image Het Felix Möhlmann commented ·

I think I understood what you're saying. I am going to practice by adding a path in 2nd and 3rd aisle, and see if there are any further challenges.

Btw, When I open the model, I get this pop up first. do you think is it is big issue. I can run the model by clicking OK.

1738076524284.png

0 Likes 0 ·
1738076524284.png (108.3 KiB)
Show more comments