FlexSim Knowledge Base
Announcements, articles, and guides to help you take your simulations to the next level.

AGV Travel Heatmap

AGV HeatMap.png

This heatmap counts the number of times any AGV enters a segment of the AGV path. The color of each segment depends on how frequently the path has been used. The most frequently used paths are bright yellow. The least used paths are dark purple.

How To Use

  1. Download the attached user library.
  2. Open a model with an AGV Network. Use the attached model as an example if desired.
  3. Open the user library.
  4. Drag in the AGVHeatMap object. The location doesn’t matter.
  5. Run the model.

You should see a heatmap draw along the AGV paths wherever AGVs travel.

Note: This library has not been tested thoroughly. There are probably cases where it doesn’t work properly. However, it is implemented entirely in FlexScript, so it may be possible to fix issues that arise.

How It Works

See the attached PowerPoint presentation for an in-depth discussion of how the library works. You’ll need to do this if an issue arises that you need to fix.

If you are new to using mesh objects in FlexSim, see the other attached PowerPoint presentation.

Attachments
Comments

@jordanjohnson56 , pls add a library compatible for network nodes also. 

@jordanjohnson56, thank you for sharing.

 

Could you please share the AGVHeatMapFlexSimLibrary Library in version 2022.0 ?

@jordanjohnson56

 

I read the documentation but I could not understand which variable is being measured by the library: is it the absolute count (number of AGVs passing on a path) ?

 

I need to measure the metric AGVs/Hour on each aisle, and assign a color by range, in order to measure the traffic intensity, for example:

 

red         for   rates > 90          tuggers/hr

orange   for   rates   70-90     tuggers/hr

yellow    for   rates 50-70       tuggers/hr

green     for   rates < 50          tuggers/hr

 

The color palette is showing ranges from 0 to 1. What actually is this variable ? is there a relationshipt with the tuggers/hr ?

 

If not, is there a way to parametrize it ?

 

Thank you !

This example is very useful, the only problem is that it doesn’t work in millimeters. I’m going to review the trigger codes to modify it, but if you happen to know where to edit it so that it works in millimeters, that would be very helpful to me (I think that the problem is the fglTranslate function, since if you resize the AGVHeatMap Object even in meters the Heatmap appears in a wrong location). Thank you.

 

Edit: I've just added: "fglScale(1/current.size.x,1/current.size.y,0);" before the fglTranslate in the On Draw Trigger and modified the variable "lineWidth" value in the On Message trigger to fix it. 

 

Edit2: I've just seen that this is overwritting my own customization delegate codes. Is there any option to implement this heatmap without using the customization delegate?