question

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

Transporter Timetable based Travel to assign Station

Fork Lift Layout 2 10.1 - Copy.fsmT

The objective of the attached model is to understand the traffic behavior of forklifts traveling to their charging stations according to a timetable. In the model, I have used Transporters 1 to 8, each assigned to a unique station, with individual timetables set up for each transporter. Once this concept is successful, I plan to apply the same logic to an additional 30-40 forklifts.

However, I am facing several issues and need your expertise:

  1. When I reset and run the simulation, the floor color changes to a strange multicolor pattern, obscuring the floor layout. Please refer to the attached screenshot.

  2. The transporters are colliding with rack corners and edges. I'm unsure whether I need to use dividers for all racks or if there's a simpler option to adjust the proximity settings. Please refer to the attached screenshot.

  3. Transporters are also traveling through stationary forklifts. I tried selecting and deselecting the "ignore inactive objects" option in the A* navigation property, but I'm not sure how to ensure that the forklifts recognize obstacles in their path and choose a new route accordingly.

  4. If you observe the top view of the forklift drawings on the floor layout, how can I ensure that each transporter is precisely located on its corresponding drawing? Please refer to the attached screenshot.


  1. travel-collision.pngcorner-edge-hit.pngalign-on-drawing.pngscreenshot-2024-10-01-151447.png1727814047211.png


FlexSim 24.2.1
transportersforklift travelparking pointcollisions
· 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.

Logan Gold avatar image Logan Gold ♦♦ 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 commented

1) This seems to be an issue related to the heatmap. It happened only once for me after changing the heatmap setting, but I could not repeat this. Maybe also try deactivating and activating the option or changing the "Max Heat Value" (reset the model inbetween).

2) You already have the "Strict Diagonals" option active which prevents task executers from travelling along a diagonal path if one of the two cells which they would pass when travelling only at right angles is blocked. See screenshot below. At the upper rack the transporter would not cut the corner but at the lower one it will because the grid cells line up differently.

1727858230133.png

You can place additional barrier underneath the racks to block more grid cells if needed.

3) The stationary transporters are not connected to the A* navigator at the moment, so they will not be seen as an obstacle. Even once they are connected, they will only occupy a single cell, allowing other transporters to potentially pass closer than the object size would suggest.

You can try to increase the grid spacing so the transporters can not pass as closely. Just make sure to leave at least to two cells per aisle, so the transporters can pass each other or you will sooner or later end up with deadlocks (unless you enforce one-way traffic in the aisles).

4) You can tell the transporters to travel to specific coordinates instead of an object. They will still only end up at the closest grid cell to those coordinates though. To get the location exactly right, the grid would either need to line up with the parking positions or you set the final location manually after the travel task has finished. Which brings me to my question:

Using time tables in this way seems quite cumbersome. Why not use Process Flow to tell the transporters to move to certain locations at certain times. It would be much easier to scale and make changes later, since all the data could be stored in a single table.

move-tasks-by-table.fsm


· 17
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 ·
Thanks Felix. Appreciate for the guideline. Let me work on your comments and will get back to you if I may face any issue.
0 Likes 0 ·
Het avatar image Het commented ·
Can you provide me process flow example into my model? I am not able to understand and apply this concept into my model. It's like there are plenty of forklift which has a specific station and at same time from their random location they should start travel to assign station. Also, their position should align as per layout.
0 Likes 0 ·
Felix Möhlmann avatar image Felix Möhlmann Het commented ·

Here is a slightly different approach that uses a single row per travel task and repeats daily, like the time tables. I only added one row that sends Transporter1 to its station, as an example.

To get the coordinates I placed a source on the right spot on the layout and copied its coordinates to the global table with the code in the script console.

fork-lift-layout-2-101-copy(1).fsm

0 Likes 0 ·
Show more comments