Komunikaty głosowe

Z UMP

(Różnice między wersjami)
(Wstep)
(Kilka typowych i wartych do stosowania przykładów)
Linia 48: Linia 48:
[[Grafika:lodz.png]]
[[Grafika:lodz.png]]
-
W przypadku jazdy ulicą Krzemieniecką w kierunku pokazywanym przez strzałkę czarną w punkcie A powinniśmy uzyskać komunikaty głosowe w zależności od tego czy chcemy skręcić w lewo czy w prawo (odpowiednio trzymaj się lewej, trzymaj się prawej). Aby to uzyskać obie drogi zaznaczone na zielono i czerwono dostały już swoje nowe nazwy (w tym przypadku ulicy do której prowadzą). Dodatkowo należy zwrócić uwagę aby droga zielona nie odchodziła pod zbyt dużym kątem, bo spowoduje to generację komunikatu albo odbij w prawo, albo skręć w prawo. W takim przypadku nie zostanie wygenerowany żaden komunikat jeśli będziemy się poruszać po drodze czerwonej. Tylko jeśli to rozwidlenie będzie małe (kąt oczywiście), wtedy będą podawane komunikaty: trzymaj się lewej i trzymaj się prawej.
+
W przypadku jazdy ulicą Krzemieniecką w kierunku pokazywanym przez strzałkę czarną w punkcie A powinniśmy uzyskać komunikaty głosowe w zależności od tego czy chcemy skręcić w lewo czy w prawo (odpowiednio trzymaj się lewej, trzymaj się prawej). Aby to uzyskać obie drogi zaznaczone na zielono i pomaranczowo dostały już swoje nowe nazwy (w tym przypadku ulicy do której prowadzą). Dodatkowo należy zwrócić uwagę aby droga zielona nie odchodziła pod zbyt dużym kątem, bo spowoduje to generację komunikatu albo odbij w prawo, albo skręć w prawo. W takim przypadku nie zostanie wygenerowany żaden komunikat jeśli będziemy się poruszać po drodze pomaranczowej. Tylko jeśli to rozwidlenie będzie małe (kąt oczywiście), wtedy będą podawane komunikaty: trzymaj się lewej i trzymaj się prawej.
-
To skrzyżowanie można rozwiązać jeszcze w inny sposób, który akurat w tym konkretnym przypadku nie do końca będzie działał, ale w innych sprawdza się znakomicie (jak znajdę przykład to wkleję). Otóż można zwiększyć kąt drogi zielonej, tak aby padł komunikat "odbij w prawo", oraz zmusić nawigację do zakomunikowania "skręć w lewo" jeśli mamy zamiar pojechać na północ. W tym jednak przypadku "skręć w lewo" nie będzie dotyczyć punktu A, ale punktu B. Sprowadzi się to jednak to tego samego, odpowiednio wcześnie będziemy ostrzeżeni o odpowiednim manewrze więc na pewno się nie zgubimy i zajmiemy odpowiedni pas. Jest jednak jedno małe ale. W tym przypadku bardzo ciężko jest zmusić Garmina aby w punkcie B powiedział "skręć w lewo". Spowodowane to jest tym, że obie drogi (zarówno droga zaznaczona na czerwono, jak i ta w którą skręcamy) są jednokierunkowe, a w tym momencie jeśli kąt pomiędzy drogami nie jest bliski 90 stopniom, nawigacja nie powie nic. Ma to swoją logikę, skoro nie możemy pojechać inaczej to po co o tym informować. Nie zawsze jednak się to sprawdza i czasami lepiej byłoby usłyszeć odpowiednie polecenie.
+
To skrzyżowanie można rozwiązać jeszcze w inny sposób, który akurat w tym konkretnym przypadku nie do końca będzie działał, ale w innych sprawdza się znakomicie (jak znajdę przykład to wkleję). Otóż można zwiększyć kąt drogi zielonej, tak aby padł komunikat "odbij w prawo", oraz zmusić nawigację do zakomunikowania "skręć w lewo" jeśli mamy zamiar pojechać na północ. W tym jednak przypadku "skręć w lewo" nie będzie dotyczyć punktu A, ale punktu B. Sprowadzi się to jednak to tego samego, odpowiednio wcześnie będziemy ostrzeżeni o odpowiednim manewrze więc na pewno się nie zgubimy i zajmiemy odpowiedni pas. Jest jednak jedno małe ale. W tym przypadku bardzo ciężko jest zmusić Garmina aby w punkcie B powiedział "skręć w lewo". Spowodowane to jest tym, że obie drogi (zarówno droga zaznaczona na pomaranczowo, jak i ta w którą skręcamy) są jednokierunkowe, a w tym momencie jeśli kąt pomiędzy drogami nie jest bliski 90 stopniom, nawigacja nie powie nic. Ma to swoją logikę, skoro nie możemy pojechać inaczej to po co o tym informować. Nie zawsze jednak się to sprawdza i czasami lepiej byłoby usłyszeć odpowiednie polecenie.
CDN.
CDN.
[[Kategoria:Rysowanie]]
[[Kategoria:Rysowanie]]
[[Kategoria:Komunikaty głosowe]]
[[Kategoria:Komunikaty głosowe]]

Wersja z dnia 09:33, 2 cze 2008

Spis treści

Wstep

Poniższe informacje mogą pomóc w rysowaniu dróg w projekcie UMP tak aby nawigacja wydawała poprawne komendy głosowe. Wszystkie niżej opisane zasady wynikają z moich obserwacji i nie są podparte żadną znajomością konkretnych algorytmów których używa Garmin. Z tego powodu na pewno czasami mogą być błędy i nieścisłości w moich wnioskowaniach, ale w większości przypadków można, po zdobyciu małego doświadczenia, rysować tak aby komendy były poprawne.

W Garminach sa 3 glowne rodzaje komunikatow: 1) Skrec w lewo/prawo 2) Odbij w lewo/prawo 3) Trzymaj sie lewej/prawej.

Czasami mozna jeszcze uslyszec skrec ostro w, ale nie wplywa to na sposob w jaki Garmin prowadzi wiec bedzie to pominiete.

Drogi szybkiego ruchu: (0x01 do 0x03)

W przypadku tych dróg zasady są całkiem jasne. Jeśli od tego typu drogi odchodzi inna pod kątem większym niż 135 stopni (tu mogę się mylić co do stopni) a droga z której zjeżdżamy biegnie dalej prosto, to wtedy pada komenda "trzymaj się prawej" (ewentualnie lewej) (jeśli kąt jest mniejszy to wtedy jest odbij w lewo, prawo a gdy zbliża się do 90 stopni to wtedy pada komenda skręć w lewo, prawo). W niektórych przypadkach chcielibyśmy aby w przypadku jechania prosto padła komenda "trzymaj się lewej" gdyż na przykład droga ma 4 pasy w tym dwa skrajne prawe służą do skrętu w prawo a lewe do jazdy na wprost. W takim przypadku należy drogę którą będziemy się poruszać skończyć w miejscu rozwidlenia i narysować dwie nowe odchodzące od tego punktu. Z moich doświadczeń wynika, że skutkuje to komendami trzymaj się lewej (jazda na wprost), trzymaj się prawej (skręt lub zjazd w prawo).

Drogi krajowe (0x04)

Tu sytuacja jest trochę dziwna. Z moich obserwacji wynika, że jeśli od tego typu drogi odchodzi druga też 0x04 to wtedy zawsze pada komenda trzymaj się lewej (jazda na wprost, lub lekko w lewo), trzymaj się prawej (odbicie w prawo lub na wprost). Nie ma znaczenia w tym momencie czy drogi podzielimy (jak w przypadku 0x01-0x03) czy nie, komenda tego typu zawsze jest podawana. Nie sprawdziłem jeszcze co się dzieje gdy od takiej drogi odchodzi droga niższego typu 0x05, 0x06, ale to uzupełnię w najbliższym czasie jak tylko gdzieś znajdę pole testowe.

Drogi lokalne (0x05 i 0x06)

Tutaj zaczyna się zabawa gdyż teoretycznie tak samo narysowana droga daje różne komunikaty w cne oraz u nas. Ogólnie podstawowa zasada jest taka:

Jeśli drogi nie są nazwane, a ich układ jest taki że nie padnie komenda skręć w lewo/prawo (kąt pomiędzy drogami większy niż ok 135 stopni) to wtedy Garmin nie powie nic. Nie jest ważne w tym momencie że jedna droga biegnie dalej prosto, a druga wyraźnie od niej odbija. Żaden komunikat głosowy nie zostanie podany (dziwne bo w cne pada) i już (taki przypadek jest dosyć częsty w miastach z drogami dwupasmowymi, gdzie wjazd na taką drogę rysowany jest z reguły jako rozwidlenie dróg i dodatkowo nie daje się temu nazw). Przykład, żywcem wzięty z Lublina), poniżej, strzałka pokazuje kierunek jazdy.

Grafika:filaretow.png

Sytuacja zmienia się gdy drogi posiadają swoje nazwy, wtedy komunikaty głosowe typu trzymaj się lewej/prawej, odbij w lewo/prawo są podawane. Wygląda na to, że w przypadku tego typu dróg, Garmin nie rozróżnia ich jeśli nie mają nazwy, przez co uważa że jedziemy dalej tą samą drogą i informować o manewrze nie wypada.

Ponoć jeden obraz wart jest tysiącu słów. Wobec tego kilka obrazków wyjaśniających o co właściwie biega: Grafika:trzymaj-sie1.png

Wyobraźmy sobie że jedziemy drogą żółtą od punktu A i planujemy zjechać na autostradę A4 (przykład żywcem wzięty z Katowic, już przeze mnie poprawiony tak aby informował poprawnie o zjeździe). Ponieważ ani droga A and zjazd na autostradę A4 nie mają nazw, żadna komenda głosowa nie padnie. Padłaby skręć w lewo jeśli kąt byłby mniejszy (powiedzmy mniej niż 135 stopni). W tym wypadku wystarczy nazwać ten mały odcinek łączący drogę A z A4 (ja nazwałem to A4) i komenda głosowa padnie: trzymaj się lewej w A4 i o to chodzi.

Weźmy pod lupę dalszą część tego samego obrazka. Jedziemy z punktu A i planujemy skręcić w prawo w Witosa. W tym momencie nawigacja poda komunikat: skręć w praw w Witosa. Lecz ta informacja nie dotyczy punktu B, ale C. Aby powiedział w punkcie B trzymaj się prawej należy znowu nazwać ten mały odcinek łączący drogę A z Witosa. Wtedy najprawdopodobniej padną dwie komendy: trzymaj się prawej w punkcie B, oraz skręć w prawo w Witosa w punkcie C. W tym momencie muszą się odezwać tubylcy czy takie coś ma sens, według mnie nie ma i raczej wskazana byłaby tylko komenda "trzymaj się prawej" dotycząca punktu B. Aby to osiągnąć trzeba bardziej wyprofilować dojazd łącznika w punkcie C, tak aby kąt pomiędzy łącznikiem i ulicą Witosa był większy od 135 stopni.

Kolejny obrazek wyjaśniający o co chodzi:

Grafika:przyklad2.PNG

Aby jadąc z punktu A do punktu B usłyszeć komendę głosową "trzymaj się prawej" na rozjeździe w punkcie X, łącznik musi być nazwany. To samo dotyczy podróży z punktu A do punktu C: drugi łącznik musi też być nazwany. Co jednak zrobić aby w punkcie X usłyszeć komendę trzymaj się lewej (aby nie zjechać do punktu B) a w punkcie Y trzymaj się prawej (aby nie zjechać do C)? Należy inaczej nazwać drogę od X do Y i wtedy takie komendy powinny paść (prosze sprawdzic jak to jest rozwiazane na tym skrzyzowaniu). Innym rozwiązaniem byłoby użycie innego typu drogi (Arterial Road), bo w tym przypadku takie komendy padają tam niezależnie od nazwy.

Z nadawaniem nazw nie należy przesadzać. Bez sensu będzie wyglądać gdzieś pośrodku lasu droga z nazwą. Czasami warto lepiej wyprofilować skrzyżowanie. W sumie to musimy się zastanowić co właściwie chcemy osiągnąć i czy rzeczywiście komenda typu trzymaj się lewej, prawej będzie najlepsza. Według mnie takie coś powinno padać raczej rzadko, a zdecydowanie częściej powinniśmy słyszeć skręć w prawo, lewo. Jak lepiej wyprofilować skrzyżowanie w dalszej części tego dokumentu.


Kilka typowych i wartych do stosowania przykładów

Poniższy rysunek to zrzut z Łodzi. Ten rozjazd był ostatnio poprawiany przeze mnie bo komunikaty głosowe nie były do końca poprawne. Przeanalizujmy poniższy rysunek.

Grafika:lodz.png

W przypadku jazdy ulicą Krzemieniecką w kierunku pokazywanym przez strzałkę czarną w punkcie A powinniśmy uzyskać komunikaty głosowe w zależności od tego czy chcemy skręcić w lewo czy w prawo (odpowiednio trzymaj się lewej, trzymaj się prawej). Aby to uzyskać obie drogi zaznaczone na zielono i pomaranczowo dostały już swoje nowe nazwy (w tym przypadku ulicy do której prowadzą). Dodatkowo należy zwrócić uwagę aby droga zielona nie odchodziła pod zbyt dużym kątem, bo spowoduje to generację komunikatu albo odbij w prawo, albo skręć w prawo. W takim przypadku nie zostanie wygenerowany żaden komunikat jeśli będziemy się poruszać po drodze pomaranczowej. Tylko jeśli to rozwidlenie będzie małe (kąt oczywiście), wtedy będą podawane komunikaty: trzymaj się lewej i trzymaj się prawej.

To skrzyżowanie można rozwiązać jeszcze w inny sposób, który akurat w tym konkretnym przypadku nie do końca będzie działał, ale w innych sprawdza się znakomicie (jak znajdę przykład to wkleję). Otóż można zwiększyć kąt drogi zielonej, tak aby padł komunikat "odbij w prawo", oraz zmusić nawigację do zakomunikowania "skręć w lewo" jeśli mamy zamiar pojechać na północ. W tym jednak przypadku "skręć w lewo" nie będzie dotyczyć punktu A, ale punktu B. Sprowadzi się to jednak to tego samego, odpowiednio wcześnie będziemy ostrzeżeni o odpowiednim manewrze więc na pewno się nie zgubimy i zajmiemy odpowiedni pas. Jest jednak jedno małe ale. W tym przypadku bardzo ciężko jest zmusić Garmina aby w punkcie B powiedział "skręć w lewo". Spowodowane to jest tym, że obie drogi (zarówno droga zaznaczona na pomaranczowo, jak i ta w którą skręcamy) są jednokierunkowe, a w tym momencie jeśli kąt pomiędzy drogami nie jest bliski 90 stopniom, nawigacja nie powie nic. Ma to swoją logikę, skoro nie możemy pojechać inaczej to po co o tym informować. Nie zawsze jednak się to sprawdza i czasami lepiej byłoby usłyszeć odpowiednie polecenie. CDN.