When an agent moves in a crowded situation, can ORCA ensure that no agent move into others? If there is no valid position for an agent to move to, I prefer it to remain in its current position until a path becomes available. Any specific configuration for this?
If you’re using FollowerEntitiy
, it has support for the following built-in:
Automatically stops when trying to reach a crowded destination when using local avoidance.
(From FollowerEntity
documentation)
ORCA will try to move the agents to a position where it is not colliding with any other agent. If it cannot, it will try to move the agent to a location where it collides the least with other agents.
Since ORCA is reciprocal, all agents will always cooperate and move to try to minimize the collisions. You can manually lock agents, but this tends to reduce, rather than increase, avoidance quality.