question

Arun Kr avatar image
0 Likes"
Arun Kr asked Jason Lightfoot answered

AGV Reroute To a CP After Navigation-Failed Event

Hi,

I was experimenting with the AGV routing constraint API. In the attached model, I m blocking the AGV movement to CP2. When the token hits the travel activity the navigation error pops up and the on-navigation failed event triggered source releases a token. Due to the navigation error, the AGV doesn't move toward the CP5 which is the alternate agv destination when navigation fails. Is this the right way of modeling this behavior? RoutingConstraint.fsm

Regards,

Arun KR

FlexSim 23.0.4
agv routing
· 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.

Arun Kr avatar image Arun Kr commented ·

From the pf block which governs the agv movement, I can write a logic to reroute the agv. Curious to know, how the rerouting can be done with the token released from the one navigation failed.

Group x = Group("Group1");// Group of CP's
int Flag =0;

for(int k=1;k<=x.length;k++)
{

AGV.AllocatableObject cp = x[k];
if(cp.routingConstraint == AGV.RoutingConstraint.Blocked)
{
   Flag++;
}

}

if(Flag == x.length)
{
return 2;
}
return 1;

RoutingConstraint_1.fsm

0 Likes 0 ·

1 Answer

Jason Lightfoot avatar image
0 Likes"
Jason Lightfoot answered

Here's one approach. I override the return value of the navigation failed event with 2 (returning 1 crashes the model). I issue a preempting task sequence and also show how to push the AGV to a list without splitting the token or using a push to list with a timeout (which would cause the override to fail).

1680536874041.png


routingconstraint_jl.fsm


5 |100000

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