question

Osman Eralp avatar image
1 Like"
Osman Eralp asked Eric M commented

Please make pickup points behave like dropoff points

I have noticed that pickup points behave differently than dropoff points. Specifically,

1. When an item is delivered to a dropoff point, it shows up in the queue that the point is attached to. That is good. When an item is created at a queue with a pickup point, the item shows up at the pickup point. That is not so good. This creates the odd behavior of items on AGV tracks:

I think the item should be in queue until it is picked up.

2. When an item is delivered to a dropoff point, the AGV goes to the point with the highest priority. That is good. When an item is create at a queue with a pickup point, the item is created at the pickup point that is closest to the queue, and thus that is where the AGV goes. That is not so good. Compare this image with the last one:

I moved the queue and the item appears at a different point.

In summary, at pickup points, I would like to see the item created in the queue, and the AGV should stop at the unoccupied CP with this highest priority. This would be consistent with the behavior of dropoff points.

FlexSim 16.2.1
agvagv process flowdrop offdropoff
screenclip.png (44.1 KiB)
screenclip2.png (45.1 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.

Sam Stubbs avatar image Sam Stubbs ♦ commented ·

If possible could I see your model? I believe this may be a setting on your queue, not on the AGV loading. Because the defaults of the AGV shouldn't change the visual of where the boxes appear within the queue.

0 Likes 0 ·
anthony.johnson avatar image
0 Likes"
anthony.johnson answered Eric M commented

The pickup points implementation was designed to be essentially a mirror of the dropoff points implementation. When there are pickup points, the item moves from the queue to the pickup point, then is loaded by the AGV. When there are dropoff points, the item is unloaded from the agv into the dropoff point, and then eventually moves into the queue. You don't see the items in the dropoff points because you've left the dropoff retrieval time at 0, so the dropoff retrieval process happens in 0 time, and the item is moved immediately into the destination queue.

If you don't want the queue to actually move the items into the pickup location, you can change the Item Pickup section to not do that. The logic there selects a pickup point (Get an Available Pickup Point) and then moves it into the pickup point (Move Item Into Pickup Point). You could remove the activity that moves it into the pickup point, and instead assign a label named pickupPoint to the item that references the selected pickup point. To do this, add an Assign Labels activity with an Assign Labels To of Label: item, and a single label assignment with the name pickupPoint and a value of Label: pickupPoint (this copies the selected pickupPoint from the token to the item itself). Then in the load logic change the agv's destination from wherever the item is held to the item's pickupPoint label (in Travel to Pickup Location change Destination to getlabel(getlabel(token, "item"), "pickupPoint"), i.e. the pickup point that was assigned to that item.

Also, in selecting a pickup point (Get an Available Pickup Point), I set the default query to ORDER BY distance, simply because I didn't know a good prioritization what would work for everyone. If you want to prioritize different, you can just change that query. You could add "priority" labels to each of the pickup points, and then use a query like ORDER BY priority DESC.

· 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.

Riccardo P3 avatar image Riccardo P3 commented ·

I try to implement this solution, it's possible that I get something wrong, because in my model with this modifications the AGV template don't work correctly. I would like to use the AGV advanced template, but I want to eliminate the movement of the load unit on the pickup point and leaving it in the assigned location (on the rack or processor for example) when the agv go to pick up it.

If Someone is able to give me a hand, I will really appreciate.


pickuplogic.png

AGv_Test3.fsm


0 Likes 0 ·
pickuplogic.png (33.4 KiB)
agv-test3.fsm (4.4 MiB)
Eric M avatar image Eric M Riccardo P3 commented ·

Hi @Riccardo P3, there were just two additional changes that needed to be made both in the Item Pickup section. In the "Wait for Item to be Loaded" activity, instead of referencing the pickupPoint, I changed this to token.item.up because the item isn't leaving the pickupPoint anymore, it's leaving whatever its container is (which the ".up" returns). I also added an Assign Labels activity in the "No" branch of the "Does CP have Pickup Points" activity. Because the rack doesn't have pickup points, the AGV didn't know where to travel in order to load the item. I copied the original Assign Labels activity and just changed the value from token.pickupPoint, to token.item.up.

agv-test3-em.fsm

0 Likes 0 ·
agv-test3-em.fsm (4.6 MiB)
Sam Stubbs avatar image
1 Like"
Sam Stubbs answered Joerg Vogel edited

Your issue is that you were using pickup point connections. The pickup points are what's causing the item to be placed at that point. If you just want them to remain in the queue, simply have the queue connected to the points you want it to be connected to.

· 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.

Osman Eralp avatar image Osman Eralp commented ·

I tried what you suggest. I connected the queue to multiple control points:

That configuration didn't have the desired behavior because the AGV always picked up from the first control point. Do you have any other suggestions on how to reproduce the dropoff behavior at pickup points?

1 Like 1 ·
screenclip3.png (57.2 KiB)
Joerg Vogel avatar image Joerg Vogel Osman Eralp commented ·

@Osman Eralp Can you change the travel destination of the taskexecuter to a decision point instead of the queue and then next to load from the queue?

0 Likes 0 ·