When computing a roadmap path for an agent, the agent position and the "goal position" are connected to the graph, and then a path is computed. The problem is that "goal position" is only meaningfully defined for a point goal. For any goal that has area, we currently use its centroid to represent the whole goal.
This can be dissatisfying. For large goals, it can lead to one of the following artifacts:
The centroid may connect to a point on the roadmap that leads to a longer path than is strictly necessary.
The centroid may not actually be visible to any road map node, even though some portion of the goal is. Therefore, no path will be computed even though one is technically possible.
When computing a roadmap path for an agent, the agent position and the "goal position" are connected to the graph, and then a path is computed. The problem is that "goal position" is only meaningfully defined for a point goal. For any goal that has area, we currently use its centroid to represent the whole goal.
This can be dissatisfying. For large goals, it can lead to one of the following artifacts: