This Kiva system demo model showcases some of the new AGV/AMR features that were added in FlexSim 2023, including new events and parameters to help with deadlock and allocation failure, and dynamic barrier management.
You can update the layout through five parameters, and then click the “Build” button to re-build the system.
Hi Markus, is it possible to have tutorial videos share?
Hi @Walker huang, if you haven't seen it already I highly recommend our recent Dev Talk video that covered Kiva systems modeling: https://www.youtube.com/watch?v=3AQ-cjOS9tY
thank Markus! I had watched previously the video you shared.
I want to know more details about the event of in the line 69th 'await preemptAGV.te.event("OnAGVPreAllocate");'
The line is located in 'Route Around Deadlock' custom code activity of Deadlock / allocation failure shape.
I can't find the event explanation of 'event("OnAGVPreAllocate")'.
I want to know more details about it and it's doing.
Thank you.
savedValues.push([cp, cp.routingConstraint]);
cp.routingConstraint = AGV.RoutingConstraint.Blocked;
In savedValues you are pushing cp.RoutingConstraint
then you are modifying cp.routingConstraint to AGV.RoutingConstraint.Blocked;
at line 33 there is await Delay.seconds(0);
line 37 int val = savedValues[2];
line 38 cp.routingConstraint = val;
Again you are over riding cp.routingConstraint to intial saved values which means you are removing Blocked
If we are overriding with initial value then why to keep cp.routingConstraint = AGV.RoutingConstraint.Blocked; ->What value this is adding
Above code is part of Block filled slots
Hello @SudheerReddy,
This is a good question. This block of activities is triggered at the start of a travel task which is before the route for the Task Executer (TE) is calculated. This is where setting the dynamic barriers becomes important because then the routing constraints can be set. On line 33 in the code you will see an await delay command. This causes a coroutine to be created that will be executed at the end of the delay. This allows for other events at the same time to occur before finishing the custom code lines. In particular the TE will have calculated its path so the constraints can be removed from the control points.
Hi Markus, do you think applying reinforcement learning techniques to this Kiva model (and other Kiva system lay outs) is possible/makes sense? Or the computational requirements would be so high that it doesn't make much sense?
Hi @Imasjc. I don't think computational requirements would be the bottleneck in this use case—the difficulty would be developing the experiment and algorithm to drive the reinforcement learning study. Reinforcement learning has been used to solve the Traveling Salesperson Problem, and it's possible that Kiva system routing would fit.