question

Will Bishop avatar image
1 Like"
Will Bishop asked anthony.johnson edited

add a second AGV Control Point connection to a queue

I am working on a material replenishment model that uses AGVs for delivery. I think I have hit a constraint when I add a second Control Point connection to a single queue object. It seems like an AGV is not able to use the second Control Point to drop-off material.

The picture below shows the model scenario. The queue object "RT_FGI" (shown in the red box) is connected to two separate AGV networks. When the control point on the left is connected up second to the queue, the AGV is not able to deliver an item to that queue -- instead it circles the network repeatedly. If I break the connections and connect the left control point first, the deliver works. The overall behavior I am trying to build in this case is for the AGV on the left to deliver items to the RT_FGI queue, and then have a second AGV pick on the right side pick up items and deliver them offscreen on another AGV network.

When I look at the /RT_FGI queue object in the model Tree, I see the two control point connections under /RT_FGI>stored/AGV/Location. It seems like the second one is not used in the pick-up and drop-off logic. I'm wondering where this logic is defined -- is it in the AGV Process Flow? I was not able to find "stored" when I searched the AGV process flow in the Tree.

ping @BenJoaquin Gouverneur

FlexSim 16.2.1
agvagv networkagv process flowcontrol points
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

anthony.johnson avatar image
3 Likes"
anthony.johnson answered anthony.johnson edited

Yes, this logic is defined in the AGV process flow. The logic uses the cpconnection() command, and all of the logic just assumes the first location connection (cpconnection(obj, "Location", 1)).

The locations where this logic is defined are:

  1. The Loaded Items list contains a field named destCP, that gets the first location connection.
  2. The Loaded Items list contains a field named distance, that gets distance based on the location connection.
  3. The Assign CP activity in the Item Pickup section assigns the cp label to the first location connection.

To adjust the Loaded Items list to take multiple location connections into account, you could probably change the distance field to go through each location connection (1 to cpnumconnections()) and return the minimum distance found. You could then, instead of using the cpDest field, add a hasCPDest field that searches the location connections and compares it against getlabel(puller, "cp") (the current cp that the AGV is looking for work on).

Changing the Loaded Items list will fix issues with dropping off items to destinations with multiple location connections. Changing the Item Pickup mechanism to handle multiple location connections is quite a bit more tricky. The problem is that if you have multiple location connections, and each has PickupPoints connections, the task of figuring out which pickup point to assign an item to is much harder because your possibilities are spread across multiple list partitions, so you can't just do a single pull from list. You'd have to pull from each of the lists, and then resolve which one of the results you want. I would suggest just using the first location connection for pickup points. If you feel that would be too difficult to teach a user, then my suggestion would be to separate the Location connection into two different connections, something like PickupLocation and DropoffLocation. PickupLocation should only have one connection, but DropoffLocation can have multiple. The other option is to leave the Location connection, but add a PickupLocation connection, and say that when you have an object that may have multiple Location connections, the user must add a PickupLocation connection that defines which one to use. Then in the AGV process flow logic, you see if there is a PickupLocation connection, and if so, use that one, otherwise use the first Location connection.

5 |100000

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