Can we create logic where AGV picks if there is item in a Q or moves to next Q?

AjayManneni
Not applicable
0 Views
13 Replies
Message 1 of 14

Can we create logic where AGV picks if there is item in a Q or moves to next Q?

AjayManneni
Not applicable

[ FlexSim 22.2.2 ]

Can we create logic such that AGV picks whether there is an item in a queue (Q) or moves to the next pickup point or queue (Q)?

If there are Three queues such as Pickup Queue1, Pickup Queue 2, Pickup Queue3 and Dropoff Queue1, Dropoff Queue2, Dropoff Queue 3 etc

How can we write logic such that AGV picks whether an item is available in queue 1 and moves to the next queue if not? (and this logic should be repeated irrespective to number of queues maybe in loop)

I attempted this logic using process flows and sub flows but was unable to establish a loop.

Could anyone help me up? or suggestion? Thank you in Advance

0 Likes
Accepted solutions (1)
1 View
13 Replies
Replies (13)
Message 2 of 14

logan_gold
Autodesk
Autodesk
Accepted solution

It sounds like you want to use one of the AGV Process Flow Templates:

https://docs.flexsim.com/en/22.2/WorkingWithTasks/AGVNetworks/UsingAGVProcessFlowTemplate/UsingAGVPr...

I believe the Basic AGV template will do what you want, but I suggest at least reading through the documentation on the other templates to see if they provide any additional functionality that you may want to use.

If you're not familiar with AGV Networks, then you may want to start with "Key Concepts About AGV Networks" in the documentation (it should show up in the side bar of the link above). Then, you can work your way down to the AGV templates that I linked.

You can also find a tutorial on AGVs here:

https://docs.flexsim.com/en/22.2/Tutorials/TaskLogic/Tutorial4AGVs/AGVOverview/AGVOverview.html

This will be more general information on AGVs and step by step guides on how to build a few different AGV models, so it may go over some of the same information as the template documentation.

0 Likes
Message 3 of 14

AjayManneni
Not applicable

@Logan Gold I appreciate your reply. I tried using AGV templetes, but they only function in tandem and one-way loops; they do not function for complex or two-way loops. I want to set up a simulation where an AGV travels in accordance with a specific item-material flow (for example, from point A -B-C-D-E-F and from location F to A back again). Based on N frequencies, it provides a specific item type from A to B, and the same probably applies for rest. So every time the AGV supplies items to a location, it should wait until those items are processed and moved on to the next location. Due to this ideal AGV time is increased . I am trying to establish a logic so that after supplying items to desired location AGV will move to another location untill the items are get procssed. In the mean time AGV supplies items to next location. Again, AGV moves to upnext one and this goes in a loop untill it reaches back to 'A' again (start location).AGV searches for a queue simultaneously and chooses to load if items are available or move on to the next queue if not. This is the main theme of the problem. So I am looking for help on this case.

0 Likes
Message 4 of 14

jason_lightfootVL7B4
Autodesk
Autodesk
If you can produce a flow chart of the logic you required that could be a good first step in putting it into a process flow.
0 Likes
Message 5 of 14

andrew_o2
Not applicable

Hi @Ajay M, was Logan Gold'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 unaccept and comment back to reopen your question.

0 Likes
Message 6 of 14

AjayManneni
Not applicable

Image.png

Greetings, @Jason Lightfoot I apologize for the delay in responding to you; I was busy with other tasks and vacation.

To the logic described above, I constructed the following process flow. However, I am address the problem below (Attached Figure)

Overview of the Model:Q avilable logic.fsm

Aim: Make an AGV choose an item if it is available or go on to the next Q or work point.

I created a model with 4 pickup Qs and 2 receiving Qs in accordance with my aim.

The issue is that when there are two or less Qs, I can achieve the goal, but when I raise the number of pick up Qs, I get the following problem (refer to the below pic). In any case, AGV can recognize the availability of the item and go to the appropriate pickup Q.


1672738497717.png

0 Likes
Message 7 of 14

AjayManneni
Not applicable
Hello @Andrew O I still have doubts on this topic and I would like to open this discussion again. I tried to unaccept the answer but unable to do so. Could you make this question active again. I already posted a reply to @Jason Lightfoot and we are still discussing this topic again. I am sorry that i haven't replied to you on time as I was occupied with other works and vacation. I hope you understand.
0 Likes
Message 8 of 14

jason_lightfootVL7B4
Autodesk
Autodesk

I would make the AGV process logic generic - you've added process decisions to it which I would do elsewhere based on ports, a lookup table, or a process definition. When you try to scale it you will have to add decisions for each location. Even as it is your model doesn't correctly identify destinations.

0 Likes
Message 9 of 14

AjayManneni
Not applicable

Thank you for responding, @Jason Lightfoot. Instead of my previous process flow, I generated flow objects utilizing Global tables and set labels to them based on your comment (in above pic).

Executed case: Later created a list for Queues and pulled the tokens to acquire the AGV. In this case (please look into the 1st pic which I shared with you in the previous comment) for 4 different processors I assigned 4 different item type labels. Now, this is fine and AGV automatically picks the items on respective Qs on availability.

But when I tried some other scenarios using the same logic I addressed the following problems

1. I was unable to assign the same label-type item to two different processors using the global table

for example,

Item type 1 to processors 1 and 3

Item Type 2 for processors 2 and 4

2. even, I created two different global tables for each item type and assigned them to process flow

Here, again I addressed another problem that

for Item type 1 I assigned a label to the token as a token.item1

for Item type 2 I assigned a label to the token as a token.item2

now, to acquire AGV I can only use one of the token types as an AGV destination. I don't know how to assign two different items to AGV destinations in the process flow.

3. Again, in the Executed case, AGV only collects one item and delivers it to delivery Q before returning back to collect the next item and continue.

I attempted to have AGV gather all items at all Qs and then move to the delivery Qs, but it failed.

I apologize for the lengthy explanation. As all of these issues are related to this topic, I thought to share them all here. If you feel it's too much and need to break it up into separate questions, simply let me know. I will do so.

1672996954000.png

0 Likes
Message 10 of 14

jason_lightfootVL7B4
Autodesk
Autodesk
Would you share your reworked model?
0 Likes
Message 11 of 14

AjayManneni
Not applicable

Hi @Jason Lightfoot

here is the model Q avilable logic_Reworked.fsm

I almost solved issue 1 and created item type 1 on processor 1,3 and item type 2 on processor 2,4 using global tables

but I am still not able to solve issue 3 which is

-----> 3. Again, in the Executed case, AGV only collects one item and delivers it to delivery Q before returning back to collect the next item and continue.

I attempted to make AGV pick all items at all Qs and then move to the delivery Qs, but it failed.

I also tried to make AGV pick at least items of the same label type but AGV is picking only one item of the same label type from their respective pickup Qs

For Example, if Q1 and Q3 receive Item Type 1 then AGV is picking only one item from either of the Qs instead of Two

Could you help me in solving the below the following issues

1. AGV should pick items from all Qs irrespective of their label types before moving to final delivery Qs

2. AGV should pick at least items of the same label types from their respective Qs before moving to final delivery Qs


0 Likes
Message 12 of 14

jason_lightfootVL7B4
Autodesk
Autodesk

You're only pulling one item and you're telling it to load and unload that one item (and to travel to itself!).

Instead you can pull one item say, ordering by the waiting time of the item, travel to the queue and then pull a number of items into an array on the token with a WHERE clause so that the item is in the queue where you are located.

To load and unload them all you can use a subtask where you create a token for each item in the array - there are many examples of this on this site - or you can un/load one (to invoke the AGV un/load time. Clearly you need to check that you're only unloading at the correct destination - I would label the item with the destination so that you can easily find that once.


0 Likes
Message 13 of 14

AjayManneni
Not applicable

@Jason Lightfoot Thankyou for your sugesstions. I will give a try

0 Likes
Message 14 of 14

jeanette_fullmer88DK3
Autodesk
Autodesk

Hi @Ajay M, was Logan Gold'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 unaccept and comment back to reopen your question.

0 Likes