Hi everyone!
My basic intention is that task executers can pass other task exceuters (e.g. who are slower or who are blocking the path) by taking another path (in order to avoid that they just run through each other). That's why I added an OnArrival-Trigger on each node to close all possible entries to this node ("Close Node Edge"). But instead of waiting until the path is open/available again, I want task executers to go an alternative path to their destination.
I attached a very rough example (alternative-travel-path.fsm) to show what I mean: Operator1 arrives first at his destination (Node "_1"). That's why the path between "Beginning" and "_1" is blocked. Meanwhile, Operator3 wants to go to node "_3". The DefaultNetworkNavigator tells him to go there via "_1" and "_2" (which is actually not possible). Alternatively, he could also go there via "_AL1" and "_AL2", but he keeps on waiting until the path is free.
Is there any way to tell the task executer to take another path, if the initially assigned path is blocked?
Unfortunately, I guess that the DefaultNetworkNavigator tells the task exectuer at the very beginning which path to go. Therefore, the Navigator probably cannot react dynamically on changing situations. Is this correct?
If so, do you have other "smart" ideas how to simulate that task exceuters can pass each other?
I would like to simulate a warehouse where the task executers are working in narrow aisles and have picking carts. That's why I do not want them to just run through each other (since this would not reflect the real system. I am already working with collision handling methods, chaning maximum speeds dynamically etc., but I am still looking for something more advanced. :)
Maybe you can give me some inspiration!
Anyway, thanks in advance for your assistance!
Kind regards,
Raphael