question

Emmanuel VS avatar image
0 Likes"
Emmanuel VS asked Emmanuel VS commented

Agent module

Hello everyone, I've been trying to do the "roomevacuation" example. When I add the repulsive force (neighbors and walls) some agents only go to the walls and don´t leave there. 

I would like to know what I´m doing wrong. Thank you very much.

Demo_20.2.0_Salaevacuacion_layout_processflow_sistemafuerzas.fsm

FlexSim 20.2.0
flexsim 20.2.0agent module
· 2
5 |100000

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

Wang Y5 avatar image Wang Y5 commented ·

Hi:

Because the SocialForceSystem in the agent module considers the synthesis of various forces, sometimes will appear this situation, which may be due to the balance of forces, so when we do this type of model, we generally add a random force , In order to prevent the situation.

1 Like 1 ·
Emmanuel VS avatar image Emmanuel VS Wang Y5 commented ·
hi, thanks for commenting. Adding the random force helped, but on the right side, one person cannot get out (only one). I used the magnitudes of forces from the example.
0 Likes 0 ·

1 Answer

anthony.johnson avatar image
1 Like"
anthony.johnson answered Emmanuel VS commented

In your initialization code, you use the duniform() distribution to set the initial location of each of the agents. Because it is a discrete uniform distribution, some agents begin the model in the EXACT same location as other agents. When two agents are in the exact same location, they will try to avoid each other, but will avoid each other using the exact same forces, so they will always be forced in the same direction.

In your model, the agents who don't complete their task are essentially avoiding an agent that is in their exact same location. You can fix this either by using the uniform() distribution to set their initial location, or by adding a random social force.

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

Emmanuel VS avatar image Emmanuel VS commented ·

Hi @anthony.johnson, thanks for answering my question. I made the requested changes, and it was very helpful, but on the right side, a person cannot get out.

I tested the solutions individually and together, but the result was the same.

0 Likes 0 ·
anthony.johnson avatar image anthony.johnson ♦♦ Emmanuel VS commented ·

We're working on a solution for this. For now, I think you can get around it by either adjusting the A* node size, by increasing the A* path progression threshold in the A* social force, by adding a random force, or by making the corner less sharp (by adding another divider to round it out).

1 Like 1 ·
Emmanuel VS avatar image Emmanuel VS anthony.johnson ♦♦ commented ·

Hi Anthony, thanks for answering my comment. I tried adding dividers at the end of the right side (creating a "U") and it fixed the problem. Thank you very much.

0 Likes 0 ·