question

David Seo avatar image
2 Likes"
David Seo asked David Seo commented

how to dynamically modify the AGV route in the networknode?

I want to control the AGV route dynamically according to the loading or unloading status of the AGV like Amazon KIVA system. So I made some script in the networknodes like attached captures.

Though closing the edge of 'To node', the AGV try to go the edge and as the result AGV do not move.

How can be controlled the AGV moving?

eflexsim-projectsgpproject-fileslgkimtestdemo-agv.fsm

FlexSim 18.0.1
dynamically control the networknode edge according to agv status
· 3
5 |100000

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

Joerg Vogel avatar image Joerg Vogel commented ·

Have you tried to force an optimizenetwork by command?

1 Like 1 ·
David Seo avatar image David Seo Joerg Vogel commented ·

@Jörg Vogel @Adrian Haws

I used the optimizenetwork command OnArrival trigger like below;

------------------

if (traveler.LoadUnload == UNLOADING) {
opennodeedge(current,toedge);
}
else {
optimizenetwork();
reassignnetnode(current, current.outObjects[2]);
}

-----------------

But the result is not changed and same.

The unloading traveler can enter and go into the next network node after opening the edge. But the loading traveler stop at the networknode like captured above.

The reason of traveler's stopping looks like trying to go to the orange-colored closed edge.

Is not there forcefully to make the traveler go around to another next networknode?

0 Likes 0 ·
David Seo avatar image David Seo commented ·

I used the redirectnetworktraveler or reassignnetnode command. But the traveler try to go through the closed edge. What is the reason of it?

0 Likes 0 ·

1 Answer

Phil BoBo avatar image
1 Like"
Phil BoBo answered David Seo commented

You can return a value in the OnArrival trigger of a NetworkNode to tell the traveler which edge to traverse next. After it goes through that edge, it will continue towards its destination along the shortest path from there.

I've updated your sample model accordingly by removing the code in NN135 and changing the code in NN5:

if (traveler.LoadUnload == LOADING && toedge == 3) {
	return 2;
}

Based on this example, you should be able to write the logic in your nodes' OnArrival that will do what you are trying to do.

10174-eflexsim-projectsgpproject-fileslgkimtestdem.fsm


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

I found in this issue there is a important thing not to guide in the manual.

The return value of OnArrival trigger of the networknode is number of 'toEdge' AGV to travel.

The return value of travel offset is 0 (Zero).

Thanks @phil.bobo.

0 Likes 0 ·