Geometria obliczeniowa Wykład 13 Planowanie ruchu 1.Znajdywanie ścieżki między dwoma punktami. 2.Ruch postępowy robota wielokątnego na płasz- czyźnie.

Slides:



Advertisements
Podobne prezentacje
Sympleksy n=2.
Advertisements

Dynamika bryły sztywnej
DOMINOWANIE W GRAFACH Magdalena Lemańska.
Grażyna Mirkowska PJWSTK, 10 stycznia 2001
Geometria obrazu Wykład 2
Grażyna Mirkowska PJWSTK 15 listopad 2000
Geometria obrazu Wykład 3
Wykład 6 Najkrótsza ścieżka w grafie z jednym źródłem
Minimalne drzewa rozpinające
Algorytm Dijkstry (przykład)
Przygotowały: Jagoda Pacocha Dominika Ściernicka
Trian_mon(P) Input: y-monotoniczny wielokąt zapamiętany jako zbiór boków, Output: triangulacja D jako zbiór krawędzi. Wyodrębnij prawy i lewy łańcuch punktów,
ALGORYTMY I STRUKTURY DANYCH
-skeletony w przestrzeniach R 2 i R 3 Mirosław Kowaluk Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski.
Geometria obliczeniowa Wykład 1
Geometria obliczeniowa Wykład 2
ZŁOŻONOŚĆ OBLICZENIOWA
ALGORYTMY GEOMETRYCZNE.
WYKŁAD 7. Spójność i rozpięte drzewa
GRAFY PLANARNE To grafy, które można narysować na płaszczyźnie tak, by krawędzie nie przecinały się (poza swoimi końcami). Na przykład K_4, ale nie K_5.
Geometria obrazu Wykład 13
Geometria obrazu Wykład 6
Geometria obrazu Wykład 2
Geometria obrazu Wykład 11
WYKŁAD 7. Spójność i rozpięte drzewa Graf jest spójny, gdy dla każdego podziału V na dwa rozłączne podzbiory A i B istnieje krawędź z A do B. Definicja.
Geometria obliczeniowa Wykład 8
IV OTWARTE MISTRZOSTWA OPOLA W PROGRAMOWANIU ZESPOŁOWYM
Geometria obliczeniowa Wykład 9
Geometria obliczeniowa Wykład 3
Geometria obliczeniowa Wykład 4
Geometria obliczeniowa Wykład 6
Geometria obliczeniowa Wykład 7
II. Matematyczne podstawy MK
Geometria obliczeniowa Wykład 12
Geometria obliczeniowa Wykład 13
MECHANIKA I WYTRZYMAŁOŚĆ MATERIAŁÓW
Zasady przywiązywania układów współrzędnych do członów.
RUCH PŁASKI BRYŁY MATERIALNEJ
Algorytmy i Struktury Danych
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
RUCH KULISTY I RUCH OGÓLNY BRYŁY
Grafika i komunikacja człowieka z komputerem
Grafika i komunikacja człowieka z komputerem
Geometria obliczeniowa Wykład 10
Geometria obrazu Wykład 3
Grafika i komunikacja człowieka z komputerem
Dynamika ruchu płaskiego
Geometria obliczeniowa Wykład 12 Planowanie ruchu 1.Najkrótsza ścieżka między dwoma punktami. 2.Znajdywanie ścieżki między dwoma punktami. 3.Ruch postępowy.
Geometria obrazu Wykład 6
Geometria obliczeniowa Wykład 14 Algorytmy randomizowane 1.Programowanie liniowe w R 2. 2.Lokalizacja punktu w siatce trapezów. 3.Znajdywanie średnicy.
Algorytmy grafowe Minimalne drzewa rozpinające
Dynamika ruchu obrotowego
Geometria obliczeniowa Wykład 2
Geometria obliczeniowa Wykład 13 Algorytmy randomizowane 1.Lokalizacja punktu w siatce trapezów. 2.Znajdywanie średnicy zbioru punktów w R 3. Algorytmy.
Geometria obrazu Wykład 3 Rozpoznawanie obrazu 1. Suma Minkowskiego 2. Morfologia matematyczna 3. Szkielety.
Geometria obliczeniowa Wykład 10 Dualizacja liniowa c.d. 1. Poziomy 2. Otoczka wypukła Ciągi Davenporta-Schinzela Problemy optymalizacyjne 1. Problem wyważania.
Geometria obliczeniowa Wykład 6
Geometria obliczeniowa Wykład 3
Geometria obrazu Wykład 3
Geometria obrazu Wykład 7
Geometria obliczeniowa Wykład 3
Geometria obliczeniowa Wykład 7
Geometria obliczeniowa Wykład 1
Geometria obliczeniowa Wykład 6
Geometria obrazu Wykład 7
Geometria obliczeniowa Wykład 8
ALGORYTMY I STRUKTURY DANYCH
2. Ruch 2.1. Położenie i tor Ruch lub spoczynek to pojęcia względne.
Zapis prezentacji:

Geometria obliczeniowa Wykład 13 Planowanie ruchu 1.Znajdywanie ścieżki między dwoma punktami. 2.Ruch postępowy robota wielokątnego na płasz- czyźnie. 3.Ruch z możliwością obrotów.

Znajdywanie ścieżki między dwoma punktami. Problem. Dany jest obszar z dziurami P na płaszczyźnie oraz dwa wyróżnione punkty s i t. Znajdź ścieżkę łączącą s i t (o ile istnieje). Zakładamy, że dziury są zbiorami otwartymi. Obszar P jest reprezentowany w postaci podwójnie łączonej listy krawędzi K. Orientacja krawędzi obszaru P określa jego wnętrze i zewnętrze. Mapa trapezowa. Wykorzystując metodę zamiatania podzielimy obszar P na trapezy o podsta- wach prostopadłych do kierunku zamiatania. Strukturą zdarzeń będzie uporządkowana względem kierunku zamiatania (np. osi y-ów) lista Q wierzchołków obszaru P. Strukturą stanu będzie zrównoważone drzewo wyszukiwań binarnych T za- wierające aktywne krawędzie obszaru P uporządkowane względem kolejności ich przecięć z miotłą (wzdłuż osi x-ów).

Algorytm. stwórz listę Q; while Q   do q := POP(Q); usuń z T krawędzie, których końcem jest q; znajdź w T sąsiadów q; for każdy sąsiad q w T do if krawędź łącząca q z sąsiadem należy do obszaru then uaktualnij strukturę K; dodaj do T krawędzie, których koń- cem jest q i są przed miotłą; return K;

Lemat. Mapę trapezową wielokąta z dziurami o rozmiarze n można skonstruować w czasie O(n log n) i pamięci O(n). Dowód. W danym położeniu miotły operacja znalezienia sąsiadów wymaga czasu O(log n). Sprawdzenie należenia badanej podstawy trapezu do wnętrza obszaru D oraz aktualizacja struktury K wymagają czasu stałego. Liczba nowych wierzchołków i krawędzi w mapie trapezowej jest proporcjo- nalna do rozmiaru obszaru D. Rozmiary struktur zdarzeń i stanu są liniowe względem rozmiaru obszaru D. Mapa drogowa. Na podstawie mapy trapezowej tworzymy graf, który umożliwi nam stwier- dzenie, czy dane dwa punkty p 1, p 2 można połączyć ścieżką.

Algorytm. stwórz mapę trapezową; for każdy trapez do wyznacz punkt wewnątrz trapezu i połącz środki krawędzi tworzących podstawy trapezu z tym punktem; for i=1 to 2 do połącz p i z wyznaczonym punktem wewnątrz trapezu zawierającego p i ; sprawdź, czy w powstałym grafie p 1 i p 2 należą do tej samej spójnej składowej;

Lemat. Mapę drogową w obszarze z dziurami o rozmiarze n możemy obliczyć w czasie O(n log n) i wymaga ona O(n) pamięci. Dowód. Mapę trapezową obliczamy w czasie O(n log n). Korzystając z podwójnie łączonych list krawędzi tworzymy mapę drogową w czasie proporcjonal- nym do rozmiaru mapy trapezowej, czyli O(n). Zatem jej rozmiar jest również O(n). Twierdzenie. Ścieżkę między dwoma danymi punktami w obszarze z dziurami o rozmiarze n możemy znaleźć lub stwierdzić jej brak w czasie O(n log n). Dowód. W czasie O(n log n) tworzymy mapę drogową. Zbadanie jej spójnych składowych wymaga czasu O(n).

Ruch postępowy robota wielokątnego na płaszczyźnie. Problem. Dany jest robot, którego rzut na podłoże jest wielokątem (zazwyczaj wypukłym), poruszający się w obszarze z przeszko- dami (dziurami) ruchem postępowym, tzn. każdy z punktów robota porusza się po takim samym torze w tym samym czasie (robot nie obraca się). Definicja. Niech R(0,0) oznacza listę położeń wierzchołków robota w chwili startu. R(x,y) := R(0,0) + (x,y) Załóżmy, że środek układu współrzęd- nych należy do wnętrza robota. Ruch tego punktu opisuje ruch całego robota. Nazywamy go punktem odniesienia. R(0,0)R(x,y)

Definicja. Przestrzeń, w której porusza się robot nazywamy przestrzenią rzeczywistą. Przestrzeń parametrów robota nazywamy przestrzenią konfiguracji. W przestrzeni tej robot przyjmuje postać jednopunktową odpowiadającą jego punktowi odniesienia. Jak wyglądają przeszkody (obszary za- bronione) w przestrzeni konfiguracji ? R(0,0) R(x,y) Przestrzeń rzeczywista Przestrzeń konfiguracji

Przykład. Gdy przesuwany obiekt jest kołem, to przeszkody należy rozszerzyć w każym kierunku o promień koła. Gdy środek koła będzie leżeć poza po- większonymi przeszkodami, to jego brzeg nie będzie nachodzić na żadną z rzeczywistych przeszkód.

Suma Minkowskiego. Definicja. Rozpatrzmy wielokąty A i B jako zbiory wektorów o współrzędnych odpowiadających współrzędnym punktów należących do tych wielokątów. Sumą Minkowskiego wielokątów A i B jest A + B := {x + y : x  A  y  B}. Fakt. Suma Minkowskiego dwóch wielo- kątów zależy od ich położenia. Załóżmy, że w położeniu począt- kowym środek układu współ- rzędnych znajduje się wewnątrz robota.

Fakt. Zauważmy, że jeśli obiekt styka się z brzegiem obszaru lub dziury, to środek obiektu jest odległy od punktu styczno- ści o wektor przeciwny do wektora łączącego środek z punktem styczności. Zatem powiększone przeszkody okreś- lane są przez sumę Minkowskiego D-R. Algorytm. oblicz sumę Minkowskiego D-R; sprawdź, czy istnieje ścieżka między położeniem początkowym i końcowym; R(0,0)R(x,y)

Złożoność algorytmu zależy od kształtu robota i przeszkód. Załóżmy, że robot R ma stałą liczbę wierzchołków, a obszar D ma n wierz- chołków. R D Rozmiar sumy Złożoność czasowa konstrukcji wypukły wypukły O(n) O(n) wypukły niewypukły O(n) O(n log n) niewypukły niewypukły O(n 2 ) O(n 2 log n) Twierdzenie. Gdy obszar D o n wierzcholkach jest wypukły (dziury są też wypukłe) a robot R jest wypukły i ma O(1) wierzchołków, to możemy znaleźć ścieżkę, wzdłuż której można przesunąć R z punktu między dwoma danymi położeniami bez kolizji z żadną przeszkodą (lub stwierdzić, że jest to niemożliwe) w czasie O(n log n). Dowód. Sumę Minkowskiego D-R znajdujemy w czasie O(n). Następnie znajdujemy ścieżkę między danymi punktami w czasie O(n log n).

Ruch z możliwością obrotów. W przypadku poruszania się robota, które może się obracać, mamy jeden stopień swobody więcej. Dlatego przestrzeń konfiguracji jest trójwymiarowa (trzeci wymiar odpowiada kątowi obrotu). Sposób planowania ruchu robota jest podobny jak w poprzednim przypadku, choć nieco bardziej skomplikowany. Twierdzenie (Canny, 1987) Problem planowania ruchu, w którym robot ma d stopni swobody można rozwiązać w czasie O(n d log n).