question

Steven Chen avatar image
0 Likes"
Steven Chen asked anthony.johnson commented

Crabbing AGV

Hello,

Is there a modern way to implement crabbing AGV (crab walk, sideway)?

I tried to implement this by using 2 AGV types : Default AGV Type will stop for turn, and Type2 will not.

But somehow AGV turns or not is determined on it lanuched.

Crabbing AGV_v22.2.fsm


References:

How can I make an AGV Crabwalk? - FlexSim Community

How do I force an AGV to maintain same orientation on sideways path(crab)? - FlexSim Community

FlexSim 22.2.3
agvcrab
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

Felix Möhlmann avatar image
0 Likes"
Felix Möhlmann answered anthony.johnson commented

As you mention, the AGV type (as well as the load type) is only evaluated when starting a travel task. So in order to update the type during the travel you have to (re-)start the travel. Either by stopping and resuming the task executer or by creating a new preempting task sequence.

The attached model uses waypoints in front of the "crabbing path". By looking that the upcoming allocations in the agv node, the logic determines if the AGV is about to switch lanes. If so, it switches the type and creates a preempting task sequence, sending the AGV to the path entry, exit and a further "crabbing end" control point. (The three separate travel tasks allow the AGV to come to a stop before continuing onto the crabbing path.)

The "crabbing end" point is a further waypoint that resets the type. Since the AGV will resume its previous tasks sequence upon arrival at that point, the type will reevaluated and the AGV will turn at the next corner.

crabbing-agv-fm.fsm

If you intend to use the crabbing path in both directions, you should place a control area around it to precent deadlocks.

Edit: Here is a version that adds messages to the task sequence. In the task executers' On Message triggers the shape factors are adjusted so they appear to travel sideways on the crabbing path.

crabbing-agv-fm2.fsm


crabbing-agv-fm.fsm (133.9 KiB)
· 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.

anthony.johnson avatar image anthony.johnson ♦♦ commented ·
Note that the AGV logic will respect the object's "RotateTraveling" property (the 'Rotate' checkbox in its properties). So, in addition to Felix's answer, you can change this on and off when you want to turn 'crabbing' on or off.
0 Likes 0 ·
Steven Chen avatar image Steven Chen anthony.johnson ♦♦ commented ·
Isn't it disabled if AGV travel in AGV network?
0 Likes 0 ·
anthony.johnson avatar image anthony.johnson ♦♦ Steven Chen commented ·
This is a relatively recent change, maybe 22.2 or somewhere around there. Originally if you attached to the AGV network, it would ignore that property. But now it will actually respect the property. Note that it will simulate time delays as-if the AGV could rotate. Specifically, if you implemented a stop-and-rotate threshold, then it will take the same time it would take to stop and rotate based on the rotation speed you define. It will just not do the actual rotation in the 3D visual.
0 Likes 0 ·