Komunikaty głosowe

Z UMP

(Różnice między wersjami)
(Drogi lokalne (0x05 i 0x06))
Aktualna wersja (00:00, 5 sty 2018) (edytuj) (anuluj zmianę)
d (literówki)
 
(Nie pokazano 52 wersji pośrednich.)
Linia 1: Linia 1:
-
==Wstep==
+
==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.
+
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)==
==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 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).
+
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)==
+
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ąć.
-
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 (0x04, 0x05, 0x06, 0x07, 0x0d)==
-
==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:
-
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.
-
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). 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.
+
[[Grafika:filaretow.png]]
-
Ponoć jeden obraz wart jest tysiącu słów. Wobec tego kilka obrazków wyjaśniających o co właściwie biega:
+
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:
[[Grafika:trzymaj-sie1.png]]
[[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.
+
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.
+
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:
Kolejny obrazek wyjaśniający o co chodzi:
Linia 27: Linia 36:
[[Grafika:przyklad2.PNG]]
[[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.
+
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.
 +
 
 +
==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. Użytkownicy raportują, że w nowych nawigacjach komunikat nie jest generowany w niektórych przypadkach, gdy za rampą jest "zwykła" droga (zob. FS#21069 [http://ump.fuw.edu.pl/flyspray/index.php?do=details&task_id=21069] oraz dyskusję na garniaku [http://www.garniak.pl/viewtopic.php?f=15&t=16489]), dlatego przy zjazdach z autostrad należy zadbać, by było konieczne przejechanie przez kolejne 2 rampy - wtedy ten komunikat na pewno padnie. Więcej na ten temat w artykule [[Autostrady|o autostradach]]
 +
 
 +
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ży 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 takich 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.
 +
 
 +
[[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 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.
 +
 
 +
[[Grafika:bb.png]]
 +
 
 +
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.
CDN.
 +
 +
==Komunikaty a prędkość==
 +
A teraz aby już zupełnie namieszać w głowie i zburzyć wszystko co na górze opisano. Nie wiemy dlaczego, ale komunikaty zależą od prędkości jaka jest ustawiona dla danego typu drogi. Być może to tylko prędkość odpowiada za taki a nie inny komunikat i być może to przez ten pryzmat należy patrzeć. A dokładniej to jest tak. Standardowo, prędkości poza obszarami zabudowanymi są ustawianie automatycznie w zależności od typu drogi. Prędkości dla dróg w miastach (a konkretniej, dla dróg mających nazwę inną niż numer drogi) są odpowiednio obniżane. Na chwilę obecną prędkości te wynoszą:
 +
 +
* autostrady (0x1) - prędkość 6,
 +
* drogi 0x2 - prędkość 5,
 +
* drogi 0x3 - prędkość 4 (nazwane: 3)
 +
* drogi 0x4 i 0x5 - prędkość 3 (nazwane: 2)
 +
* drogi 0x6 - prędkość 2 (nazwane: 1)
 +
* drogi 0x7 - prędkość 1 (nazwane: 0)
 +
* drogi 0xa - prędkość 0.
 +
 +
Dla wartości wymienionych powyżej wszystkie zasady które opisano powyżej działają jak należy. Wartością graniczną dla dróg jest prędkość 4. Jeśli dana droga ma ustawioną prędkość przynajmniej 4, wtedy niezależnie od jej typu:
 +
 +
* trzymaj się lewej prawej, działa tak samo jak opisano wyżej dla dróg typu 0x1, 0x2, 0x3 (czyli wystarczy drogę przeciąć w danym miejscu i nie trzeba inaczej nazywać),
 +
* przy wjeździe na rampę z tej drogi zostanie podany komunikat: zjedź w prawo.
 +
 +
Dla prędkości poniżej 4, zasady się zmieniają i dla dowolnego typu drogi komunikaty działają jak dla dróg 0x4 i poniżej:
 +
 +
* aby uzyskać komunikat trzymaj się lewej prawe należy drogę przeciąć i oba kawałki inaczej nazwać,
 +
* jeśli od drogi odchodzi rampa, to niezależnie od typu drogi usłyszymy komunikat wiaduktem w prawo.
 +
 +
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 powyż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. Jeśli w temacie komunikatów pojawią się jakieś nowe ustalenia, zostaną one dopisane tutaj i ogłoszone na liście.
 +
 +
 +
[[Kategoria:Rysowanie]]
 +
[[Kategoria:Komunikaty głosowe]]

Aktualna wersja

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.

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ąca 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 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:

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.

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.

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. Użytkownicy raportują, że w nowych nawigacjach komunikat nie jest generowany w niektórych przypadkach, gdy za rampą jest "zwykła" droga (zob. FS#21069 [1] oraz dyskusję na garniaku [2]), dlatego przy zjazdach z autostrad należy zadbać, by było konieczne przejechanie przez kolejne 2 rampy - wtedy ten komunikat na pewno padnie. Więcej na ten temat w artykule o autostradach

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ży 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 takich 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.

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 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.

Grafika:bb.png

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ść

A teraz aby już zupełnie namieszać w głowie i zburzyć wszystko co na górze opisano. Nie wiemy dlaczego, ale komunikaty zależą od prędkości jaka jest ustawiona dla danego typu drogi. Być może to tylko prędkość odpowiada za taki a nie inny komunikat i być może to przez ten pryzmat należy patrzeć. A dokładniej to jest tak. Standardowo, prędkości poza obszarami zabudowanymi są ustawianie automatycznie w zależności od typu drogi. Prędkości dla dróg w miastach (a konkretniej, dla dróg mających nazwę inną niż numer drogi) są odpowiednio obniżane. Na chwilę obecną prędkości te wynoszą:

  • autostrady (0x1) - prędkość 6,
  • drogi 0x2 - prędkość 5,
  • drogi 0x3 - prędkość 4 (nazwane: 3)
  • drogi 0x4 i 0x5 - prędkość 3 (nazwane: 2)
  • drogi 0x6 - prędkość 2 (nazwane: 1)
  • drogi 0x7 - prędkość 1 (nazwane: 0)
  • drogi 0xa - prędkość 0.

Dla wartości wymienionych powyżej wszystkie zasady które opisano powyżej działają jak należy. Wartością graniczną dla dróg jest prędkość 4. Jeśli dana droga ma ustawioną prędkość przynajmniej 4, wtedy niezależnie od jej typu:

  • trzymaj się lewej prawej, działa tak samo jak opisano wyżej dla dróg typu 0x1, 0x2, 0x3 (czyli wystarczy drogę przeciąć w danym miejscu i nie trzeba inaczej nazywać),
  • przy wjeździe na rampę z tej drogi zostanie podany komunikat: zjedź w prawo.

Dla prędkości poniżej 4, zasady się zmieniają i dla dowolnego typu drogi komunikaty działają jak dla dróg 0x4 i poniżej:

  • aby uzyskać komunikat trzymaj się lewej prawe należy drogę przeciąć i oba kawałki inaczej nazwać,
  • jeśli od drogi odchodzi rampa, to niezależnie od typu drogi usłyszymy komunikat wiaduktem w prawo.

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 powyż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. Jeśli w temacie komunikatów pojawią się jakieś nowe ustalenia, zostaną one dopisane tutaj i ogłoszone na liście.