navit-gps / navit

The open source (GPL v2) turn-by-turn navigation software for many OS
http://www.navit-project.org
Other
544 stars 173 forks source link

my speed warner does not work well (osd item) ..with tracking options on (see below) #977

Open ghost opened 4 years ago

ghost commented 4 years ago

Dear people,

When I have a cold start of my car, and navit/gps planned my route ... my sound announcements won't speak 🙂 .. if i use the tracking options cdf histsize and routepref.. in navit.xml

when i remove the tracking line my speed warner does not work at all...

(see image)

It would be lovely to have sound announcement on ánd speedwarner.. with or without tracking options on. IMG_20200218_195025 navit.zip

Is it a bad setting in navit.xml or a little bug?

ghost commented 4 years ago

A. Does someone have a clue why my speed sign is not working when the tracking options are not set in navit.xml? (as above) Route is graphical top and the announcements are working here.

B. And when I do set the tracking settings my routing announcements are really strange .. the route announces not properly (please turn around please turn around) the graphical on screen route is still top and the speedwarner is back. Audio announcement keep acting "normal" after several kilometres when I restart navit / GPS several times.

Looks like a not valid gps signal..

I was playing with the cdf histsize and routepref tags/values and those two ... are the culprits for my problem...

Termalator commented 4 years ago

Have you solved that problem? On Linux Mint the whole Announcement seems to be broken it spams "when possible please turn around" and works only if you never leave the route.

ghost commented 4 years ago

Well.. honestly it is a time ago that I have looked upon this problem .. I do not have a solution yet. Only a workaround (I work with speedsign but with non accurate voice). I can't check at the moment because my navit system is down for maintance (read: I need to buy a new SD.. lol)

The problem is a bit difficult because it consists more the less about two parts. When I do not set the tracking options line in navit.xml my speedsign is not working well but my audio voice do speak very accurate. When I do set the options, my speedsign works but my audio voice do not speak accurate. (Read: Turn around turn around) ..

I still want to have my tracking options ON, a speedsign ON and accurate audio.. ;-)

I was playing with the cdf histsize and routepref tags/values and those two ... are the culprits for my problem... in navit.xml

Termalator commented 4 years ago

I have tested it and you are right, the announcements working after deleting the tracking line '' or setting tracking=0 at top

The Announcements are very weird because the system seems not to cache and test the plausibility of the current position (you will often get wild right left ... announcements) but it works this way.

I believe the tracking feature should correct such things but it seems to be broken since 2015 or before that (haven't tested earlier versions).

Hopefully it will be fixed some time :)

ghost commented 4 years ago

Well... I have Navit on Facebook contacted, but I am not.. quite good at phrasing sentences to explain the problem.. maybe they could help me to fix this bug..

ghost commented 4 years ago

in their code... and end users in their own navit.xml file

Termalator commented 4 years ago

I think it may be helpful to avoid the spamming of "Follow the road for". Just use the script (of course thats German and you have to change it for your preferred language :) ):

#!/bin/bash
# echo out is just for testing 
anfang=$(echo $1 | cut -c 1-20)

echo $1
sverl="'Dem Straßenverlauf"
if [ "$anfang" == "$sverl" ]; then
    echo $anfang
else
    espeak -vmb-de6 -s160 -a150 -p 10 "$1"
fi
ghost commented 4 years ago

Hi Termalator

Funny thing though. With the less accurate audio I had not the "follow the road" spamming ... but I had more the "take the left or right turn" spamming when there was definitely no road for L and R. But I am happy to test the script... what does it do exactly ... and do I have to use it with my speedometer on or off? (tracking optiions above)

Can't remember 1-2-3 .. but with tracking on or off my audio had also the problem that it does not speak the first miles.. when it was accurate it talks from the beginning when i am driving.

all my scripts are "normal" english.. so I could edit the Else line for language and preferred speed of speaking..?

does the script resolve all this sort of problems and how can i connect the script to navit?

this is by the way my speech line - which I use at the moment - at navit.

speech type="cmdline" data="espeak -s 100 -v af+f6 %s"

ghost commented 4 years ago

can you make me a English alike script with my espeak data?

Termalator commented 4 years ago

For an English installation i used:


!/bin/bash

anfang=$(echo $1 | cut -c 1-20)

echo $1 sverl="'Follow the road for" echo $anfang if [ "$anfang" == "$sverl" ]; then echo $anfang else espeak -vmb-en1 -s160 -a150 -p 10 "$1" fi


I am using Mbrola, but Youre script would be: espeak -s 100 -v af+f6 "$1"

in the navit.xml just use: cmdline" data="/path/to/Your/script.sh '%s' &"

and don't forget to chmod +x on that script ;)

Termalator commented 4 years ago

But the announcements at every street crossed are very annoying, so the announcement is not really usable. I hope the tracking feature will be fixed otherwise the system is not usable.

ghost commented 4 years ago

so the script I can make is then as follows: correct me pls. if I am wrong.. I am trying to understand this script :D

!/bin/bash

anfang=$(echo $1 | cut -c 1-20)

echo $1 sverl="'Follow the road for" echo $anfang if [ "$anfang" == "$sverl" ]; then echo $anfang else espeak -s 100 -v af+f6 "$1" fi

If I am not mistaking.

and yes then edit the navit.xml en execution.

but what does this script do ?

oh and ps... do I need to set also tracking in navit.xml or do I have to leave them away? For using the speedsign

Termalator commented 4 years ago

You changed it correctly.

The first variable $anfang cuts the first 20 characters of the announcement. $sverl is only the expression to search for. Then it just compares $anfang and $sverl and if they are equal just echo it to the console and if not parses it through espeak. The only result is that you don't get any "'Follow the road for" announcement.

With the Tracking enabled you will get the problem from the beginning of you're post, the script don't correct it . The speed sign needs tracking to be enabled but that don't work properly :).

Termalator commented 4 years ago

Theoretically if it would be possible to get a own announcement system if there would be a possibility to get some data like current speed next turn direction and the distance to it but maybe some more.

With the information of speed limit i would be able to write something like that. But i don't see any possibility to get this informations and my programming knowledge in C is not that good :).

ghost commented 4 years ago

I see. :)

But sometimes for me it is handy to have the "follow" announcements. Especially when I drive roads where I have not been before. Only thing is... on highways on each exit.. it says 'keep right ... and then follow the road for' .. sometimes that little part is annoying when there are much exits after eachother each kilometre.

Maybe I can live without.. :) I do contact navit on FB again.. :)

Termalator commented 4 years ago

At this time none of them are useful. I have now disabled the Voice announcement and enabled the tracking again, else wise it is too dangerous with 90% wrong announcements. With tracking enabled it seems to be far more stable but still not good for serious using.

ghost commented 4 years ago

When the script does only affect "follow road for" and not the normal announcement .. then I could try the script tomorrow in my car. :D

ghost commented 4 years ago

Put all in... Tomorrow I test it :D

ghost commented 4 years ago

oh f... the data line in navit.xml data="/home/pi/.navit/announce.sh '%s' &" says error... with that ampersand at the end..

Termalator commented 4 years ago

It just remove everything that begins with "'Follow the road for" it would be possible to save a timestamp in a file and allow to parse "'Follow the road for" only every some seconds, but i wanted to remove it, becaus it is not really important information.

That is one of the reasons, why i was searching for an configurable navigation system, all the other systems announces far too many unimportant things. The only important thing for me is an information at about 100-300 meters distance of a real turn, everything else is rubbish :).

ghost commented 4 years ago

what to do with the data line data="/home/pi/.navit/announce.sh '%s' &" ? how can I correct it to let it work well? I have a test setup with gps in my living room but navit won't start because of the &

Termalator commented 4 years ago

Github makes it difficult because it reads the html phrases . In the text file is the correct phrase. speech.txt

Termalator commented 4 years ago

this way it works :) data="/home/pi/.navit/announce.sh '%s' &"

ghost commented 4 years ago

lol .. the &amp line in navit xml turns red :)

Termalator commented 4 years ago

just test the script with something like : /home/pi/.navit/announce.sh test

if this works it should work with : data="/home/pi/.navit/announce.sh '%s' &"

please put exactly the line in Your navit.xml including the ";" at the end and the " ' " characters must be the right one it is the key near the return key :)

ghost commented 4 years ago

Hi Termalator,

I tested the navigation and announcements. The script works, I have audio, so that point is solved (script execution).

When I leave my city to go on the highway, it announces at the beginning when I enter the highway once "Follow the road" and after that it's silence. I do not hear "Follow The Road" at each exit I pass on the highway till the time I got on another long road (other direction). Then it announces once a time as it is more the less supposed to do.

Is this the correct behaviour as how the script works or is it even that that first announcement may not appear?

At this moment I have the tracking on and the sounds (African) are quite accurate. I keep you informed :)

PS: I am from Holland, I use Navit in English and have African spoken Dutch voices. How awesome is that? :-D

Termalator commented 4 years ago

hmm the script should suppress all "'Follow the road for" announcements because that's the phrase it searching for. sverl="'Follow the road for" that variable is case sensitive and the "' at the beginning is important because it is handled as a character.

What you can do is to start navit from terminal and drive for a while then you will see all the errors and announcements in that terminal window. If you search for Follow ... you will find all the announcements just compare them with sverl may be that youre localization is generating little different announcement.

ghost commented 4 years ago

Oh yeah my localization is Dutch.. so it says "Volg de weg" I could rephrase the english part with the Dutch part, see if that works. :)

ghost commented 4 years ago

I wasn't aware of that part. I'll keep you informed! :)

ghost commented 4 years ago

I have changed it for now to:

!/bin/bash

anfang=$(echo $1 | cut -c 1-12)

echo $1 sverl="'Volg de weg" echo $anfang if [ "$anfang" == "$sverl" ]; then echo $anfang else espeak -s 100 -v af+f6 "$1" fi

and by the way i forgot: Thanks so much so far, for all the help :)

Termalator commented 4 years ago

my pleasure :)

by the way i got a way to re-enable announcements with activate tracking and with the "when possible please turn around" problem. Just disable tracking and enable it again.

it is not a real solution but it helps to restart the crashed announcement system.

With the following osd-button it is simple possible: <osd enabled="yes" name="tracking_button" type="button" src="~/.navit/icons/tracking.svg" x="0" y="-260" w="80" h="80" accesskey="t" command='tracking=tracking==1?0:1; osd[@name=="tracking_button"].src = tracking==1?"~/.navit/icons/tracking.svg":"~/.navit/icons/notracking.svg";'/>

the icons are attached icons.zip

With the key "t" you can simple enable and disable tracking.

Termalator commented 4 years ago

if you need a png icons i can convert them for you, but on debian it should work out of the box.

ghost commented 4 years ago

I see. That is a cool point .. which I had not mentioned before. I can't remember if it was with tracking on or off.. There was a way the audio was this accurate that it says immediately when I drive a wrong road ..how to drive to get on the good road again (he mentions other streetnames instead of "turn around") only I forgot if it was with tracking on or off :-D

ghost commented 4 years ago

Uhmm my navit system is more the less headless.. as in I only use my touchscreen.. Maybe with an onscreen keyboard I can manage to press a T :)

Termalator commented 4 years ago

The problems came with tracking turned on.

The osd button is an button should spawn on left side of the screen you have to copy the two icons from the zip file to /home/pi/.navit/icons folder otherwise there is no button. On linux systems (and meanwile on windows too but only in powershell) ~/ means the home folder of the logged in user. The "t" key is only additional for use on a notebook.

ghost commented 4 years ago

I'll add the buttons.. And try if only touch will work. I skip then the "t" part while pasting in navit.xml

ghost commented 4 years ago

Awesome.. I tweaked a little the destination of the icons to /usr/share/navit/icons but The green and grey T works perfectly. Thanks. I have tested the T in livingroom setup (GPS and stuff..) and in a few days i'll test it when really driving the car :-D - Seriously I love the big T... But I think I rescale it to about 40 pixels instead of 80 :-)

ghost commented 4 years ago

You are a genius... Spot the T :-)

IMG_20200604_203944

ghost commented 4 years ago

(oops... my pic is turned)

ghost commented 4 years ago

I have (with blood and sweat and much help) managed to have all my important buttons at the left side. So I don't have to go via the menu of Navit anymore. Those shortcuts is a much more efficient way.

At left:

1) Maps options - Selected world (map) binfile, route, graphical etcetera 2) Destinations list - Could sometimes be a huge list. I have managed a startup and shutdown script which deletes the list by standard. 3) Route remover - Removes the (manual setup) route immediately. 4) Places - Setup the new route. 5) Your beautiful T :D That needs no explanation anymore ;-) 6) Main menu. Redundant now since i have the other 5 buttons, but for purposes it's handy to have it anyway on screen. For going to special options which I do not have as button yet.

At Right:

1) The Shutdown button :-D - Closes Navit immediately.

Termalator commented 4 years ago

Looks good and yes a direct Interface is much better then searching in menus :) i am working on some fine tune on my interface :)

Termalator commented 4 years ago

And nice that the T fits :)

ghost commented 4 years ago

Pretty cool right? :D But you are also the 2020 genius. With the T and the script to remove the "follow" .. I did translate it to Dutch and changed 20 characters to 12.. but it works very pretty :)

ghost commented 4 years ago

Now I can drive around more the less without problems and a good working navit. :)

Termalator commented 4 years ago

Fine that it works, i tested it yesterday too on a longer track and it worked well. Only if i missed some turn then came the turn around guy, but a short press on the T got the navigation back again.

The only issue is that some multiple point routes are disabling the navigation guide display and the announcement but that is a different problem :).

ghost commented 4 years ago

I don't use multiple points. :) I put in each location each time manually

ghost commented 4 years ago

I am curious to see which system you use.. Which Pi, distribution, screen, and navit layout :)

JohnK-sljkrr commented 4 years ago

I also have the same problem with my Rpi 3B+ when I use waypoints. I pulled about 3 weeks ago. Internal gui. 1920x1080.

ghost commented 4 years ago

Hi John, What does pulled about mean in this context?

JohnK-sljkrr commented 4 years ago

I just mean I downloaded the source.