question

Karan avatar image
0 Likes"
Karan asked Karan commented

Distance to travel: Task Executer to Flow Item in Rack

Hi,

My model has multiple flow items stored in a rack, I assign a "pick list" to the task executer after which the picking sequence needs to be optimized to the shortest path. I am using A star navigation and trying the "DistanceToTravel" function which works well for objects. However my flow item here is stored in a rack so the distance to travel function gives the distance from Task Executer to the node above the flow item which happens to be the Rack. Instead of having the function look at the node above, is it possible to get the distance from the task executer to the flow item?

I want to add this as an expression in a list field so I can ORDER BY ASC.

In reality I would want to optimize the overall route which means running a simple shortest path algorithm, but I don't want to go to that extent if it is not needed.

FlexSim 23.2.1
racktraveldistance
5 |100000

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

1 Answer

Jason Lightfoot avatar image
0 Likes"
Jason Lightfoot answered Karan commented

You can sort by bay number. If you're visiting multiple racks then you may want to switch sorting ASC and DESC and they move through the store.

· 3
5 |100000

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

Karan avatar image Karan commented ·

Thank you for the response Jason. In this case I only have access to the items that are in a list. Here is a sample model of what I am trying to do:
Rack_Pull_OptimalPath.fsm

By adding the rack to the A* I was able to get the distanceTotravel function working in the script console, however the same function does not work in the list field, giving errors.

Is there some custom code that can get the bay number in a list field? That would solve my problem as you suggested.


0 Likes 0 ·
Jason Lightfoot avatar image Jason Lightfoot ♦♦ Karan commented ·

This will depend what is in the list. In your case the flowitem is stored so for the bay field in the list you can use the expression:

Storage.Item(value).currentSlot.bayID

To get the distance expression to work you need the puller to be a task executer in 3D space - currently you have it set as the token.

0 Likes 0 ·
Karan avatar image Karan Jason Lightfoot ♦♦ commented ·
Thank you!
0 Likes 0 ·