Labirynt z azymutem

0

Witam,

Od tygodnia glowie sie nad problemem rozwiazania labiryntu i niestety mnie to nieco przerasta. Dlatego tez zwracam sie do was o pomoc.

Zalozenia;

  • labirynt ma jedno wyjscie (robot zaczyna gdzies ze srodka labiryntu)
    -przeszkody ustawione pod roznymi katami

  • mozliwe wyspy

  • korytarze o roznej szerokosci

  • robot widzi tylko w przod (zeby sprawdzic co jest po lewe/ prawej .. trzeba go obrocic)

  • robot ma pamiec ale jest ona ograniczona (np 40 zmiennych, przy czym nie mozna tak ustawic pamieci by przechowywala cala mape.... )

  • robot zawsze moze zadac pytanie o azymut wyjscia

pomozcie prosze

0

Na oko można spróbować użyć A* z heurystyką opartą o ten azymut, ale mimo wszystko nie ma pewności że robot znajdzie wyjście ;]
https://en.wikipedia.org/wiki/A*_search_algorithm

0

Jeszcze wpadlo mi do glowy cos takiego.. . dla przykladowego labiryntu z zalacznika (ladnie rysuje prawda ?? )

Do zmiennej start zapisujemy polozenie robota (x, y)
Sprawdzamy azyut i jesli droga nań jest wolna idziemy az do napotkania przeszkody (zapis polozenia) .

Zakldamy ze robot kieruje sie w lewo..

Robot idzie wzdloz sciany do momentu do poki pojscie na azymut nie stanie sie mozliwe . Sprawdzamy czy to polozenie jest blizej wyjscia niz nasze poprzednie zapisane. Jesli jest blizej to zapisujemy. i idziemy na ten azymut.

Jesli nie kontunuujemy podroz.. w tym co narysowalam robot powinien pojsc wzdloz sciany... i jak bedzie na samym dole i odblokuje mu sie azymut.. to po sprawdzeniu ze jest dalej niz jego wczesniejsza zmiennna, idzie dalej okrazajac labirynt.

1 użytkowników online, w tym zalogowanych: 0, gości: 1