Space-Time-AStar
Space-Time-AStar copied to clipboard
Path avoidance too restrictive
Hello,
I notice that my agent will avoid the entire obstacle path for the full time interval. Shouldn't it only avoid the obstacle's path at each instant in time?
For example, a simple case that is currently infeasible.
X = dynamic obstacle G = Goal A = Agent O = empty space
Time = 0 OOOOO AOGOX OOOOO Time = 1 OOOOO OAGXO OOOOO
What should happen next Time = 2 OOOOOO OOGXOO (G and X occupy same pos) OOAOOO
Time = 3 OOOOOO OXGAOO (G and A occupy same pos: Finsihed) OOOOOO
It only matters that the agent avoids colliding with the obstacle at each instant in time. Not for the full trajectory of the obstacle. I have a matplotlib visualizer I would be happy to share if you believe it would help explain!
@GavinPHR Thank you for your work this is very interesting!
I'm not entirely sure what you mean here:
OOGXOO (G and X occupy same pos)
and here:
OXGAOO (G and A occupy same pos: Finsihed)
Your chart shows 'G and X at different pos' and 'G and A at different pos', respectively? In your example, it also seems that there are never obstacles between A and G until the final timestamp? Perhaps some visualization would help ye.
Thanks for writing back!
I fail to get a path if the obstacle is on a collision course that passes through the goal. I would expect the agent to dodge.

I think this is because the agent is avoiding all positions of the obstacle in time, and when the obstacle touches the goal the agent can never move to that position. I believe the implementation should only avoid collisions for each instance in time.
Thank you
Hmmm, I know what you mean now, but I don't think I know whether my code has bugs (it was written a long time ago) or your config is not quite right.
One thing that tends to catch people off guard is that the robot and those dynamic obstacles all have some radius (i.e. those objects might be bigger than you realized). If you think this isn't the problem, I'm afraid you need to debug this yourself. The write-up by David Silver should help with the theories.