When a frontier is selected, we check if we’re getting closer and save the distance.
When the distance doesn’t increase anymore, we check if white the same closest point multiple times
This means we’re in a loop
If the hit threshold is reached, we blacklist that frontier.
We have a counter for each frontier (within a radius around it). If a frontier is blacklisted multiple times the counter increases.
The chance of skipping the frontier when looking for ‘new’ frontiers increases with the count. If it is skipped, it can’t be selected as target.
When a blacklisted frontier location is reached by the agent (even when it is not the target), we decrease the counter. So increasing the chance it is selected.
Wall following
When the free direction to the target > 89 degrees, we enter ‘wall following’ mode
Save this location as the hit point
Select a random direction (left or right) to follow the wall
We follow the wall until the direction to the target is free again.
If we hit the same hitpoint again, change wall following direction.
Disallow Frontier Switching Until Reached
Don’t allow switching to a new frontier until we have reached the frontier within a set threshold.
This is necessary for blacklisting as it decides when we can again try (with a chance) to select a blacklisted frontier
When there is no frontier to be found within the search range, select a random location on the edge of the root box.
Maybe force away from deployment site?
Separate frontiers
Make sure agents select different frontiers based on the last known location of other agents.
Close small areas
Mark areas that are too small for the agent to fit through based on surrounding occupied blocks as occupied
Added:
Frontier blacklist
When a frontier is selected, we check if we’re getting closer and save the distance. When the distance doesn’t increase anymore, we check if white the same closest point multiple times This means we’re in a loop If the hit threshold is reached, we blacklist that frontier. We have a counter for each frontier (within a radius around it). If a frontier is blacklisted multiple times the counter increases. The chance of skipping the frontier when looking for ‘new’ frontiers increases with the count. If it is skipped, it can’t be selected as target. When a blacklisted frontier location is reached by the agent (even when it is not the target), we decrease the counter. So increasing the chance it is selected.
Wall following
When the free direction to the target > 89 degrees, we enter ‘wall following’ mode Save this location as the hit point Select a random direction (left or right) to follow the wall We follow the wall until the direction to the target is free again. If we hit the same hitpoint again, change wall following direction.
Disallow Frontier Switching Until Reached
Don’t allow switching to a new frontier until we have reached the frontier within a set threshold. This is necessary for blacklisting as it decides when we can again try (with a chance) to select a blacklisted frontier
https://mavlab.tudelft.nl/ant-insights-lead-to-robot-navigation-breakthrough/ Can be seen as inspired by nature as ants also take ‘snapshots’.
Walking state
When there is no frontier to be found within the search range, select a random location on the edge of the root box. Maybe force away from deployment site?
Separate frontiers
Make sure agents select different frontiers based on the last known location of other agents.
Close small areas
Mark areas that are too small for the agent to fit through based on surrounding occupied blocks as occupied