Optymalizacja ruchu robota

Stronę tą wyświetlono już: 531 razy

Uruchamiając program, oczom naszym ukarze się okno powitalne jak na rysunku 2. W oknie tym wyświetlane są takie informacje jak imię i nazwisko autora (czyli moje), kontaktowy adres e-mail, wersja programu, data utworzenia oraz lokalizacja programu na dysku komputera.

Okno powitalne programu.
Rys. 1
Okno powitalne programu.

Klikając na oknie powitalnym lub wciskając dowolny przycisk klawiatury zamyka się okno powitalne a pojawia się okno główne programu jak na rysunku 1. W oknie tym wyświetlane są następujące elementy: siatka terenu, azymut (niebieska linia przerywana), punkt startowy (zaznaczony zielonym kółkiem), punkt końcowy (zaznaczony niebieskim kółkiem) oraz legenda programu, w której zostały opisane pozostałe elementy programu.

Okno główne programu.
Rys. 2
Okno główne programu.

Tool bar i menu programu

Poszczególne elementy paska narzędziowego:
Zapisuje mapę terenu do pliku (dostępne również z poziomu menu Program->Zapisz)
Wczytuje mapę terenu z pliku (dostępne również z poziomu menu Program->Otwórz)
Uruchamia lub wznawia animację (dostępne z poziomu menu Robot->Start)
Zatrzymuje animację i ustala położenie robota w punkcie początkowym (dostępne z poziomu menu Robot->Stop)
Wstrzymuje animację (dostępne również z poziomu menu Robot->Pauza)
Zmiana kąta alfa położenia perspektywy układu 3D w płaszczyźnie XY o 1 stopień w lewo (dostępny jest skrót klawiaturowy: strzałka w lewo)
Zmiana kąta alfa położenia perspektywy układu 3D w płaszczyźnie XY o 1 stopień w prawo (dostępny jest skrót klawiaturowy: strzałka w prawo)
Zmiana kąta fi położenia perspektywy układu 3D w osi Z o 1 stopień w dół (dostępny jest skrót klawiaturowy: strzałka w dół)
Zmiana kąta fi położenia perspektywy układu 3D w osi Z o 1 stopień w górę (dostępny jest skrót klawiaturowy: strzałka w górę)
Tworzy losową powierzchnię terenu
Widok z góry (2D) (dostępne również z poziomu menu Widok->2D)
Widok izometryczny (dostępne również z poziomu menu Widok->Izometryczny)

Dodatkowo z menu Rysowanie dostępne są następujące pozycje:

  • Wysokości gór - włącza lub wyłącza rysowanie wysokości gór terenu
  • Rysuj bax 3D - włącza lub wyłącza rysowanie obramowania terenu
  • Rysuj azymut - włącza lub wyłącza rysowanie azymutu robota

Krótki opis algorytmu

Program ten wykonałem na zaliczenie jednego z przedmiotów z wykorzystaniem narzuconych mi informacji w jaki sposób robot ma się poruszać i podejmować decyzję o kierunku swego przemieszczenia na podstawie informacji o ukształtowaniu terenu w punktach położonych w określonej odległości od bieżącej pozycji robota. A więc robot ten ma możliwość przemieszczania się jedynie w trzech kierunkach, a wybór jednego z nich jest uzależniony od:

  • Zużycia energii (jadąc po płaskim terenie zużywa mniej niż zjeżdżając w dół lub wjeżdżając pod górę)
  • Zmniejszenia dystansu do punktu docelowego

Dodatkowo robot nie może oddalić się od głównej linii azymutu na większą odległość niż zadana.

Załączniki:

Program symulujący ruch robota starającego się znaleźć najkrótszą ścieżkę pomiędzy dwoma punktami.

Komentarze