question

Eduardo G36 avatar image
0 Likes"
Eduardo G36 asked Eduardo G36 commented

Custom Path Cost and Conditional Roules

Hello,

I’m trying to create an AGV model.

I see KIVA example (fantastic!) but in my system I have to use the paths and AGV Network.

I read about dynamic cost using “By Custom Path Cost” and “Conditional Rules”, unfortunately I couldn’t achieve it.

Basically, I have some floor storage position and AGV can use the path inside it if they achieve some conditions:

  • If the path is empty AGV can use the path.
  • If the path is full, only empty AGVs can use this path.
  • AGV path is block is someone is loading/unloading, so anyone can use it.

For example, in my screenshot:

  • AGV1 can pass using the first path (path is empty)
  • AGV2 is unloading in the first path (path is now blocked).
  • AGV3 can pass using the second path (path full but agv empty).
  • AGV4 only can use third path (agv full and path empty).

Sorry for my question, but I cannot imagine how solve this poblem. It is possible?

1640344708269.png

Thanks in advance.


FlexSim 21.2.4
agv pathvehicle routing
1640344708269.png (168.6 KiB)
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

Jordan Johnson avatar image
2 Likes"
Jordan Johnson answered Eduardo G36 commented

The short answer is yes, it's possible, but it will probably be difficult.

I wouldn't use Conditional Rules in this case. Here's how those rules work:

  1. The AGV gets a travel task
  2. All conditional rules are evaluated for that AGV. This creates a table for the AGV for that task. Conceptually, it looks something like this:
    Rule Does the AGV satisfy the rule?
    Rule1 Yes
    Rule2 No
    Rule3 Yes

  3. The AGV Network then searches for the shortest (lowest cost) path. As it tries different path segments, it checks if those segments have a rule, and if it does, it checks that the AGV satisfies the rule. If the AGV doesn't satisfy the path's rule, then the AGV Network won't search along that path.
  4. Once the set of paths is determined, the AGV attempts to acquire the next control point or control areas it needs to begin moving.

So you can see that conditional rules exclusively deal with information on the AGV, and cannot include any information about any of the paths involved.

If I were taking on this project, I'd look into using an Object Process Flow. This flow would act as the "brain" for your system. For non-kiva systems, we provide an object template that works this way:

https://docs.flexsim.com/en/22.0/WorkingWithTasks/AGVNetworks/UsingAGVProcessFlowTemplate/

I'd probably start by understanding exactly how those templates do what they do; how do they read and use connections? How do connection types work, and how are lists involved? Just make sure you understand each piece of those flows.

Once you understand how the standard object flow works, you'll be familiar with a large toolset when it comes to AGVs. You might then be able to see a way to use those tools (control point connections, lists, process flow activities, etc.) to create what you need for your system.

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

David Seo avatar image David Seo commented ·

About custom path cost and conditional routes to travel, RL module can be used for searching the best route?

If you have a experience or sample demo model about it, would you upload it?

1 Like 1 ·
Eduardo G36 avatar image Eduardo G36 David Seo commented ·

Thank you @Jordan Johnson,

I thought conditional rules were a good choice... I'll take your advice!

0 Likes 0 ·