A* pathfinder kollision problem
Jeg er igang med et projekt med at få en robot til at finde vej igennem en bane med nogle forhindringer som er nogle flamingo plader, for at skulle opsamle nogle objekter på denne bane, hvorefter disse skal køres udenfor banen.Mit problem ligger i at A* algoritmen vælger en rute som ligger sig op ad forhindringer når den skal forbi disse således at robotten den kører ind i dem, hvilket jeg ikke ønsker.
Felterne som dækker forhindringerne bliver set som felter hvor der ikke kan køres. Jeg har forsøgt tilføje ekstra felter udenom disse forhindringer som ikke kan køres på, men det bliver stadig et problem, da den stadig kan finde på at cutte et hjørne.
Jeg blev foreslået på Stackoverflow at øge cost på felterne, hvilket jeg sagtens kan gøre, men hvis jeg starter pathfinderen bliver cost omkring disse forhindringer ignoreret.
Problemet kan ses på følgende billeder:
http://sogaard.us/uploades/1_grid_no_path.png
Her ses cost på mappet til venstre, rød er ekstremt høj cost, tyrkis er lav eller 0.
http://sogaard.us/uploades/1_map_grid.png
Her er hvad der sker efter pathfinderen har kørt.
http://sogaard.us/uploades/3_path.png
Det er den rute den finder fra robotten til objektet den skal samle op.
Koden kan ses her:
Pathfinder.cs: http://pastebin.org/343774
Field.cs og Grid.cs: http://pastebin.org/343775