Komunikaty głosowe
Z UMP
(→Wstęp) |
(→Kilka typowych i wartych do stosowania przykładów) |
||
Linia 74: | Linia 74: | ||
CDN. | CDN. | ||
+ | |||
+ | ==Komunikaty a prędkość== | ||
+ | Nie wiemy dlaczego, ale komunikaty zależą od prędkości jaka jest ustawiona dla danego typu drogi. Jeśli droga ma ustawioną prędkość 5 albo 6 to będzie się zachowywała jak drogi szybkiego ruchu niezależnie od typu. Jeśli droga ma ustawioną prędkość 4 i niżej (chociaż 4 też wydaje się też być jakąś specjalną wartością, ale nie jest to istotne teraz) wtedy niezależnie od typu drogi stosuje się zasady jak dla dróg collector i niższych. | ||
+ | |||
+ | O prędkościach należy pamiętać zwłaszcza w miastach. Standardowe prędkości ustawiane dla dróg podczas kompilacji powodują że komunikaty głosowe działają jak poniżej opisano. W miastach prędkość jest automatycznie zmniejszana o jedną wartość dla dróg 0x3, 0x4 i 0x5 co powoduje że dla typu 0x3 przestają obowiązywać zasady opisane poniżej, a zaczynają obowiązywać zasady jak dla dróg niższych klas. | ||
+ | |||
+ | Aby więc zapewnić niezależność komunikatów od prędkości, należy zawsze dla każdej drogi stosować zasady jak dla dróg 0x4 i poniżej. | ||
+ | |||
[[Kategoria:Rysowanie]] | [[Kategoria:Rysowanie]] | ||
[[Kategoria:Komunikaty głosowe]] | [[Kategoria:Komunikaty głosowe]] |
Wersja z dnia 11:51, 9 sty 2012
Spis treści |
Wstęp
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 są 3 główne rodzaje komunikatów: 1) Skręć w lewo/prawo 2) Odbij w lewo/prawo 3) Trzymaj sie lewej/prawej.
Czasami można jeszcze usłyszeć skręć ostro w, ale nie wpływa to na sposób, w jaki Garmin prowadzi, więc będzie to pominięte. W poniższym tekście będzie mowa o nazywaniu dróg. Do decyzji czy zakomunikować manewr czy nie, odbiorniki Garmina używają tylko i wyłącznie nazwy która jest w Label. Label2 oraz Label3 nie mają na to żadnego wpływu.
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 tego typu trzeba bewzględnie przecinać w miejscach w których skręcają pod kątem 90 stopni. Jeśli tego nie zrobimy przy takim skrzyżowaniu nie padnie żaden komunikat głosowy. Jest to błąd dosyć powszechnie występujący w ump, bo mapowicze chcą mieć jak najdłuższy odcinek o jednej nazwie. Niestety skutkuje to błędnymi komunikatami. Tak więc powtarzam jeszcze raz: jeśli droga 0x02-0x04 (autostrady pominę) skręca pod kątem 90 stopni, musi ją tam bezwględnie przeciąć.
Drogi lokalne (0x04, 0x05, 0x06, 0x07, 0x0d)
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.
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ąca słów. Wobec tego kilka obrazków wyjaśniających, o co właściwie biega:
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 prawo 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:
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.
Ronda
To z reguły proste skrzyżowania możne dostarczyć niezłego bólu głowy podczas rysowania. Po pierwsze należy sobie zadać pytanie czy mamy do czynienia z prawdziwym rondem, czy rondem tylko z nazwy. W tym pierwszym przypadku sprawa jest jasna: rysujemy rondo. W tym drugim trzeba rozważyć wszystkie za i przeciw których może być sporo. Po pierwsze trzeba wziąć pod uwagę co pokazują znaki, po drugie zdać sobie sprawę jaki jest lokalny zwyczaj (czy tubylcy traktują to jako rondo). Po trzecie wreszcie trzeba rozważyć względy bezpieczeństwa (czy jeśli nie narysujemy tam ronda to nie spowoduje to w pewnych sytuacjach zagrożenia dla kierowcy, bo nie będzie w porę ostrzeżony). Kontrowersji jest dużo i jak do tej pory nie zostały one w jednoznaczny sposób rozstrzygnięte (przykład choćby ronda Fordońskie i Toruńskie w Bydgoszczy. Są one narysowane jako ronda bo tambylcy twierdza ze tak są przez mieszkańców traktowane).
No wiec dobrze, ból głowy za nami, rysowanie ronda przesądzone, jak wiec to zrobić. W tym przypadku istnieje jedna zasada której bezwzględnie trzeba przestrzegać (no chyba ze rondo jest tak miniaturowe ze się nie da): żaden wjazd i zjazd z ronda nie mogą się zaczynać w tym samym miejscu, musi być choćby minimalna (w naszym przypadku ok 5.5m) odległość miedzy zjazdami. Jeśli zastosujecie się do tych wskazówek to zjazdy będą poprawnie liczone, w przeciwnym przypadku zjazdy nie będą poprawnie numerowane. Przykładem dobrego ronda możne być choćby wymienione już bydgoskie rondo Toruńskie, natomiast przykładem złego ronda możne być rondo w Kielcach (N50.87493 E20.61974).
Wymuszanie komunikatów poprzez prędkość
Okazuje się, że na komunikaty głosowe ma też wpływ prędkość jaka jest usawiona na danej drodze. Jak wiadomo z poprzednich akapitów drogom lokalnym należy nadać różne nazwy aby wymusić komunikaty trzymaj się lewej/prawej. Czasami jest to jednak niemożliwe, ale wtedy można spróbować wymusić komunikaty ustawianiem prędkości. Załóżmy że droga A odchodzi od B pod kątem. Jadąc drogą B chcielibyśmy usłyszeć komunikat trzymaj się prawej/lewej. Normalnie należałoby nadać drodze B inną nazwę, ale jeśli jest to niemożliwe należy pobawić się w prędkości i drodze B ustawić prędkość większą o 2 od drogi A. Można też drodze A zmniejszyć prędkość o 2 w stosunku do drogi B. Trochę przykładów za jakiś czas.
Rampy oraz łączniki
Kolejnym elementem infrastruktury drogowej, który jest traktowany trochę inaczej przez odbiorniki Garmina, są rampy. Gdy wyznaczona przez odbiornik trasa będzie wiodła przez rampę, padnie komunikat "Zjedź w prawo/lewo" (dla dróg 0x1-0x3), oraz "Wiaduktem w lewo/prawo" dla wszystkich pozostałych. W przypadku gdy od jednej rampy odchodzi druga to odpowiedni komunikat (trzymaj się lewej/prawej) jest zawsze generowany, niezależnie czy kontynuujemy starą rampą czy zjeżdżamy na nową oraz czy rampy w miejscu rozwidlenia są przecięte czy nie.
Należy jednak być ostrożnym w przypadku gdy mamy rozwidlenie dróg. Dla naszych rozważań załóżmy ze mamy rozwidlenie dróg i jedna droga odchodzi rampą w lewo, druga już normalnie w prawo. W tym momencie gdy będziemy jechać w prawo, żaden komunikat nie zostanie podany (gdy będziemy jechać w lewo, będzie oczywiście "Wiaduktem w lewo"). Nie pomoże tutaj żadne przecinanie, ani inne nazywanie dróg. Aby uzyskać zarówno komunikat "trzymaj się lewej", jak i "trzymaj się prawej" należny tak rozrysować skrzyżowanie, aby albo żadna z rozchodzących się dróg nie była rampą (wtedy stosują się opisane powyżej zasady), albo były nią obie (wtedy jak napisałem powyżej zawsze podawany jest stosowny komunikat).
Gdy od rampy odchodzi jakaś inna droga pod kątem zbliżonym do prostego, wtedy w przypadku gdy jedziemy dalej rampą prosto, odbiornik podaje komunikat:'Wiaduktem na wprost'. Z tego powodu należy unikać tworzenia skrzyżowań ramp z innymi drogami dochodzącymi pod kątem prostym, chyba że naszym celem jest usłyszenie takiego właśnie komuniaktu.
Na zakończenie rozdziału o rampach jeszcze krótka informacja o łącznikach. Łączniki 0xb służą do łączenia ze sobą dwóch nitek takim samych dróg (np. dwie nitki drogi ekspresowej) i właśnie w takich miejscach należy je stosować.
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.
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 pomarańczowo dostały już swoje nowe nazwy (w tym przypadku ulicy do której prowadzą), natomiast ulica Krzemieniecka biegnie aż do punktu A. Dodatkowo należy zwrócić uwagę, aby droga zielona nie odchodziła pod zbyt dużym kątem, bo wywoła to komunikat albo "odbij w prawo", albo "skręć w prawo". Jeśli taka sytuacja zaistnieje (zbyt duży kąt drogi zielonej), nie zostanie wygenerowany żaden komunikat, jeśli będziemy się poruszać po drodze pomarańczowej, aby potem skrecic w lewo. 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ółnocy-wschód. 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 pomarańczowo, 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. Poniżej kolejny przykład jak rysować. Tym razem z Bielska-Białej.
Jadąc w kierunku południowym zgodnie ze strzałką chcielibyśmy w punkcie wskazywanym przez strzałkę A usłyszeć komunikat "trzymaj się prawej", natomiast w punkcie wskazywanym przez strzałkę B "skręć w lewo". Aby to uzyskać, rysujemy żółtą drogę jako całość i upewniamy się, że droga zielona odchodzi od żółtej pod odpowiednio dużym kątem (jeśli kąt będzie mniejszy niż 135 stopni, to wtedy Garmin powie po prostu "skręć w prawo" i dotyczyć to będzie punktu A). Jeśli przecięlibyśmy drogę żółtą w miejscu, gdzie odchodzi zielona, i temu nowemu odcinkowi od drogi zielonej do punktu B nadali inną nazwę, to wtedy usłyszelibyśmy dodatkowo "trzymaj się lewej" w punkcie A. Nie jest to jednak potrzebne, jeśli w punkcie B i tak zostanie podany komunikat "skręć w lewo". Dlatego drogę żółtą rysujemy jako całość i upewniamy się, że kąt w punkcie B jest bliski 90 stopniom (chociaż w tym konkretnym przypadku z racji tego, że istnieje droga która dalej na południe nie jest to aż tak istotne, bo komunikat i tak zostanie podany).
W powyższym przykładzie warto zadać sobie pytanie czy aż tak skomplikowany rozjazd jest w ogóle potrzebny. Często początkujący rysownicy maja tendencje do rysowania wszystkie bardzo dokładnie (choćby takich zjazdów). Mapa ma być przede wszystkim użyteczna, a takie skomplikowanie skrzyżowania niczemu właściwie nie służy, no poza komplikacją komunikatów i satysfakcją rysownika. Według mnie wystarczyłoby tam proste skrzyżowanie, gps i tak nie zauważy czy jedziemy po jednej czy po drugiej drodze rozwidlenia, a przynajmniej będzie mniej problemów z wyszukiwaniem i komunikatami głosowymi
CDN.
Komunikaty a prędkość
Nie wiemy dlaczego, ale komunikaty zależą od prędkości jaka jest ustawiona dla danego typu drogi. Jeśli droga ma ustawioną prędkość 5 albo 6 to będzie się zachowywała jak drogi szybkiego ruchu niezależnie od typu. Jeśli droga ma ustawioną prędkość 4 i niżej (chociaż 4 też wydaje się też być jakąś specjalną wartością, ale nie jest to istotne teraz) wtedy niezależnie od typu drogi stosuje się zasady jak dla dróg collector i niższych.
O prędkościach należy pamiętać zwłaszcza w miastach. Standardowe prędkości ustawiane dla dróg podczas kompilacji powodują że komunikaty głosowe działają jak poniżej opisano. W miastach prędkość jest automatycznie zmniejszana o jedną wartość dla dróg 0x3, 0x4 i 0x5 co powoduje że dla typu 0x3 przestają obowiązywać zasady opisane poniżej, a zaczynają obowiązywać zasady jak dla dróg niższych klas.
Aby więc zapewnić niezależność komunikatów od prędkości, należy zawsze dla każdej drogi stosować zasady jak dla dróg 0x4 i poniżej.