Pobierz prezentacje
Transkrypt
Pobierz prezentacje
WOJSKOWA AKADEMIA TECHNICZNA WYDZIAŁ CYBERNETYKI Projekt oprogramowania ewolucyjnego sterownika mobilnego robota kołowego Autor: Grzegorz Kroczek Promotor: mjr dr inż. Krzysztof Murawski Treść zadań 1. Przegląd literatury dotyczący obliczeń ewolucyjnych 2. Implementacja algorytmu obliczeń ewolucyjnych 3. Weryfikacja algorytmu w zadaniu wyznaczania trasy robota mobilnego Implementacja alg. obliczeń ewolucyjnych Stworzenie sterownika dla robota bazującego na algorytmach ewolucyjnych dla różnych modeli i o różnych kształtach robotów. Główne zadanie sterownika: wyznaczanie ścieżki z punktu startowego do docelowego bez kolizji z obiektami na jakie może natrafić robot. Sterownik ewolucyjny testowany na symulatorze 2D oraz środowisku Webots. Symulator 2D Symulator i środowisko Webots Główny moduł sterownika ewolucyjnego function sterownik_ewolucyjny begin begin wczytaj mapę wczytaj współrzędne punktów początkowego i docelowego wyznacz trajektorię = EA(punkt początkowy, punkt docelowy) end if bieżąca droga jest dopuszczalna then begin odwzoruj wirtualne dane trajektorii na dane rzeczywiste: wyznacz współrzędne rzeczywiste oblicz kąty obrotów w zadanym wierzchołku sterowanie robotem end end Moduł obliczeń ewolucyjnych function EA(punkt początkowy, punkt docelowy) begin ustaw ziarna generatorów pseudolosowych generuj losową populacje osobników oceń populację repeat begin selekcja krzyżowanie mutacja dodaj gen usuń gen oceń populację end until (wyznaczono najlepszą trajektorię) or (liczba iteracji została osiągnięta) end Struktura chromosomu Populacja z chromosomami o zmiennej długości osobników. Struktura chromosomu: x1 y1 b1 xn (x1,y1) yn bn (x3,y3) (x4,y4) (x2,y2) x1 y1 1 x2 y2 0 x3 y3 1 x4 y4 1 Krzyżowanie proste (22,33) (100,40) (290,80) (200,130) (110,170) (300,200) 22 33 1 100 40 1 290 80 0 300 200 1 22 33 1 110 170 1 200 130 1 300 200 1 22 33 1 100 40 1 200 130 1 300 200 1 22 33 1 110 170 1 290 80 1 300 200 1 Mutacja równomierna i nierównomierna (22,33) (100,40) (290,80) (240,130) (300,200) 22 33 1 100 40 1 290 80 0 300 200 1 22 33 1 100 40 1 240 130 1 300 200 1 Dodanie genu (22,33) (100,40) (290,80) (240,130) (300,200) 22 33 1 100 40 1 290 80 0 300 200 22 33 1 100 40 1 240 130 1 290 80 1 1 300 200 1 Usuwanie genu (22,33) (100,40) (290,80) (300,200) 22 22 33 33 1 1 100 100 40 40 1 1 290 300 80 200 0 300 1 200 1 Funkcja oceniająca Pozycja w rankingu Kryterium 1 Liczba kolizji Kryterium 2 Długość ścieżki 1 0 100 2 0 122 3 123 220 4 123 310 5 544 600 6 1022 600 ... .. .. Implementacja alg. obliczeń ewolucyjnych Innowacyjne rozwiązania: 1. Zmienna długość chromosomów w pokoleniu 2. Uwzględnianie kształtu robota w planowaniu ścieżki 3. Nowy algorytm detekcji z wykorzystaniem alg. Bresenhama I Faza weryfikacji pod kątem wpływu parametrów II Faza weryfikacji dla różnych labiryntów III Faza weryfikacji dla środowiska 3D Webots Dziękuję za uwagę