maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   [Announce] modRana: a flexible GPS navigation system (https://talk.maemo.org/showthread.php?t=58861)

kureyon 2010-11-10 17:08

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by MartinK (Post 869051)
Well, thats not bad at all ! To have a map of the whole planet in your pocket :) Well, this probably means the OSM coverage is still lacking in some areas if it is only 7 GB :D

All the available OVI maps data (which includes POIs) takes up about 5.5GB of space.

白い熊 2010-11-10 23:30

Re: [Announce] modRana: a flexible GPS navigation system
 
Hey Martin:

Happy Nameday :O)

Quote:

Originally Posted by MartinK (Post 869075)
This looks like a partial crash of the modRana, there might be something in stdout about it. BTW, you can enable modRana stdout logging from "options->debgu->log stdout to file". ModRana wil then create a log of its stdout output to the MyDocs/modrana_debug_log folder on each start.

OK, thanks to this I was able to really see what's going on, quite helpful.

Autorotation depends on python-osso but modrana doesn't have it as a depend. You should update the package info. Once python-osso is installed, works no prob.

With the partial crash, I think I see what's going on and why it gets stuck:
Code:

**log: stdout redirected to (this :) log file
** making a list of available tracklogs
*  using this tracklog folder:
tracklogs/
*  does it exist ?
True
*  there are 6 tracklogs available
Menu knows menu changed
Initialization complete in 340.00 ms
N900 rotation object initialized
Clicked, sending menu:screenClicked
Clicked, sending set:menu:main
Menu knows menu changed
Clicked, sending set:menu:route
Menu knows menu changed
Clicked, sending ml:showPOI:setupCategoryList:showPOI:routeToActivePOI|set:menu:POICategories
Menu knows menu changed
drawing list: POICategories
Clicked, sending ml:showPOI:setupPOIList:9;showPOI:routeToActivePOI|set:menu:POIList
['9', 'showPOI:routeToActivePOI']
Menu knows menu changed
drawing list: POIList
drawing list: POIList
Clicked, sending ms:showPOI:setActivePOI:1|showPOI:routeToActivePOI
Sending message: md:route:route:type=ll2ll;fromLat=55.779440;fromLon=37.589361;toLat=55.772612;toLon=37.646232;
Routing 55.779440,37.589361 to 55.772612,37.646232
Sending message: mapView:recentreToPos
Menu knows menu changed
Clicked, sending set:menu:currentRouteBackToMap
Menu knows menu changed
Clicked, sending menu:screenClicked
Clicked, sending set:menu:currentRouteTools
Menu knows menu changed
Clicked, sending set:menu:routeSelectFirstStep
Menu knows menu changed
Clicked, sending ms:turnByTurn:start:closest|set:menu:None
Sending message: notification:use at own risk, watch for cliffs, etc.#2
27.1738437376
0
279.127887017
1
1080.21666228
2
1092.71434234
3
1165.9439021
4
1144.78641836
5
3951.35595239
6
3556.63127607
7
3668.16984229
8
3636.32799449
9
adasdasd
0
Menu knows menu changed
triggering espeak nr. 1
saying: in <emphasis level="strong">27 meters</emphasis><br>Head <emphasis level="strong">southwest</emphasis> on <emphasis level="strong">ул. Лесная</emphasis> toward <emphasis level="strong">пер. 1-й Лесной</emphasis>
Head <emphasis level="strong">southwest</emphasis> on <emphasis level="strong">ул. Лесная</emphasis> toward <emphasis level="strong">пер. 1-й Лесной</emphasis>
triggering espeak nr. 1
saying: in <emphasis level="strong">27 meters</emphasis><br>Head <emphasis level="strong">southwest</emphasis> on <emphasis level="strong">ул. Лесная</emphasis> toward <emphasis level="strong">пер. 1-й Лесной</emphasis>
Head <emphasis level="strong">southwest</emphasis> on <emphasis level="strong">ул. Лесная</emphasis> toward <emphasis level="strong">пер. 1-й Лесной</emphasis>
triggering espeak nr. 1
saying: in <emphasis level="strong">27 meters</emphasis><br>Head <emphasis level="strong">southwest</emphasis> on <emphasis level="strong">ул. Лесная</emphasis> toward <emphasis level="strong">пер. 1-й Лесной</emphasis>
Head <emphasis level="strong">southwest</emphasis> on <emphasis level="strong">ул. Лесная</emphasis> toward <emphasis level="strong">пер. 1-й Лесной</emphasis>
triggering espeak nr. 1
saying: in <emphasis level="strong">27 meters</emphasis><br>Head <emphasis level="strong">southwest</emphasis> on <emphasis level="strong">ул. Лесная</emphasis> toward <emphasis level="strong">пер. 1-й Лесной</emphasis>
Head <emphasis level="strong">southwest</emphasis> on <emphasis level="strong">ул. Лесная</emphasis> toward <emphasis level="strong">пер. 1-й Лесной</emphasis>
triggering espeak nr. 1
saying: in <emphasis level="strong">27 meters</emphasis><br>Head <emphasis level="strong">southwest</emphasis> on <emphasis level="strong">ул. Лесная</emphasis> toward <emphasis level="strong">пер. 1-й Лесной</emphasis>
Head <emphasis level="strong">southwest</emphasis> on <emphasis level="strong">ул. Лесная</emphasis> toward <emphasis level="strong">пер. 1-й Лесной</emphasis>
triggering espeak nr. 1
saying: in <emphasis level="strong">27 meters</emphasis><br>Head <emphasis level="strong">southwest</emphasis> on <emphasis level="strong">ул. Лесная</emphasis> toward <emphasis level="strong">пер. 1-й Лесной</emphasis>
Head <emphasis level="strong">southwest</emphasis> on <emphasis level="strong">ул. Лесная</emphasis> toward <emphasis level="strong">пер. 1-й Лесной</emphasis>
triggering espeak nr. 1
saying: in <emphasis level="strong">27 meters</emphasis><br>Head <emphasis level="strong">southwest</emphasis> on <emphasis level="strong">ул. Лесная</emphasis> toward <emphasis level="strong">пер. 1-й Лесной</emphasis>
Head <emphasis level="strong">southwest</emphasis> on <emphasis level="strong">ул. Лесная</emphasis> toward <emphasis level="strong">пер. 1-й Лесной</emphasis>

and it basically goes on and on with the same instruction.

I'm in Russia now and using Mapnik as the source, it quite nicely has all the streetnames in Russian. I assume however that espeak does not know how to handle this UTF-8 text, since the lang isn't specified and so it seems it gets stuck on reiterating the same instruction. Nothing comes out of the speaker, i.e. nothing is said, and the blue box doesn't appear.

I was successful a couple of times in getting the blue box with instructions to appear, I assume this must've been where the directions were not in UTF-8, for a lack of a streetname in Russian or what have you. Nothing was said though. And then when I hit reroute, it'd say 'rerouting' and then get stuck, probably on the Russian directions.

If this is the case and programming in the language support would be too big of a task, I'd just recommend hacking in to skip saying the streetnames if they are in UTF-8 and just say 'turn' 'in' '80' 'meters' so that it'd still work and not have probs.

You must've the same probs in Czech though...

woody14619 2010-11-11 01:10

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by MartinK (Post 869051)
You mean this ? I guess its just a preformated SMS containing an URL to the results ?

One would hope. The nice part is that it would allow one to customize the route in a GUI drag/drop environment on line, then send that specific route (with turn by turn) to the phone. Handy for those routes where one must re-route the default Google route because it uses a seasonal road that's closed, or has holes larger than your car. :eek:

And yes, I live in a place with both multi-lane urban highways, and rural seasonal "roads" that have 2m+ divots in the road. Lucky me, eh?

Quote:

Originally Posted by MartinK (Post 869051)
Also, if your tileserver provides tiles through http, the current asynchronous download code could be used

It has that as an option (via a cgi tie-in, so something like lighttpd may work), but can also gen them via command line as well.

Quote:

Originally Posted by MartinK (Post 869051)
The other possibility I see, provided the tile rendering is fast enough...

And that's the million dollar question. For now, stage 1 will be make it work and see how quickly we can pump tiles. Then we can look at what stage 2 will be. :) Who knows, it may just work fast enough to be a raw server with minimal (ram) tile caching. Or, it could be so slow that it's unworkable completely. Won't know till it's setup. :)

Quote:

Originally Posted by MartinK (Post 869051)
Well, thats not bad at all ! To have a map of the whole planet in your pocket :) Well, this probably means the OSM coverage is still lacking in some areas if it is only 7 GB :D

Yeah... Not too bad. But eatting 1/4 of your free space to have local maps kinda sucks. I'm sure I can break it out by major area (Americas, Europe, Australia, etc), which will at least help cut it in half for most people. Can't wait to start on this project now... but have to wait to get free time to do so. Soon though! :)

janszoon 2010-11-11 21:17

Re: [Announce] modRana: a flexible GPS navigation system
 
Hi Martin,
Awesome application, big credit to you for the time and energy that you are putting into this !!

I have been trialling ModRana in the past few days based on your advice (and PM), and brilliant assistance from another thread on Mapping, I have loaded Nautical maps as one of my repositories and use this (overlayed to Google Satellite) whilst out on the water to record tracks, mark fishing spots/POI's and understanding the depth/terrain of the current position (based on map data).

Some Questions:

1) How is the screen blanking controlled/determined? What conditions/setting would keep the screen on? (probably userguide related so let me know if I can find this already somewhere)

2) I have a POI DB with 2044 marks. Navigating through these easily is difficult in Modrana (long list). Is there an easy way to keyword search the POI's loaded or Display the nearest POI's to your location from the db ?

I'll keep testing and let you know of my thoughts. I'm thinking a 'Boat' mode could be cool, it would seem this is easily achieved with your customizable interface.

Well done, and thank you !

kureyon 2010-11-12 05:53

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by janszoon (Post 870784)
1) How is the screen blanking controlled/determined? What conditions/setting would keep the screen on?

Install the simple brightness applet, it has option that allows you to keep the screen on.

Quote:

(probably userguide related so let me know if I can find this already somewhere)
This thread is the user guide ;)

MartinK 2010-11-14 19:33

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by 白い熊 (Post 869780)
Hey Martin:

Happy Nameday :O)

Hey, thanks ! :D

Quote:

Originally Posted by 白い熊 (Post 869780)
Autorotation depends on python-osso but modrana doesn't have it as a depend. You should update the package info. Once python-osso is installed, works no prob.

OK, I have added python-osso to the dependencies :)

Quote:

Originally Posted by 白い熊 (Post 869780)
With the partial crash, I think I see what's going on and why it gets stuck:
...
I'm in Russia now and using Mapnik as the source, it quite nicely has all the streetnames in Russian. I assume however that espeak does not know how to handle this UTF-8 text, since the lang isn't specified and so it seems it gets stuck on reiterating the same instruction. Nothing comes out of the speaker, i.e. nothing is said, and the blue box doesn't appear.

I was successful a couple of times in getting the blue box with instructions to appear, I assume this must've been where the directions were not in UTF-8, for a lack of a streetname in Russian or what have you. Nothing was said though. And then when I hit reroute, it'd say 'rerouting' and then get stuck, probably on the Russian directions.

If this is the case and programming in the language support would be too big of a task, I'd just recommend hacking in to skip saying the streetnames if they are in UTF-8 and just say 'turn' 'in' '80' 'meters' so that it'd still work and not have probs.

I think I have fixed the issue in the current unreleased version:
I looked through the routing API definition and found how to request directions in more languages, including Russian.
So I can get native directions in some language + make espeak use the same language for voice output. Google provides directions in more languages than Espeak supports. I have therefore added only languages that are supported both by Google and espeak.

These languages will be supported:
Code:

Catalan
Chinese(Cantonese)
Chinese(Mandarin)
Croatian
Czech
Dutch
English
Finnish
French
German
Greek
Hindi
Hungarian
Indonesian
Italian
Latvian
Norwegian
Polish
Portuguese(Brazil)
Portuguese(European)
Romanian
Russian
Serbian
Slovak
Spanish
Tamil
Turkish
Vietnamese

I have faked my current location to Moscow and tried to do some routing, no crashes so far + all the Cyrillic letters were displayed without problems, just the espeak Russian voice output could be better :)
That reminds me:
The espeak output quality varies per language, some languages may be barely usable, others are quite good.

Quote:

Originally Posted by 白い熊 (Post 869780)
You must've the same probs in Czech though...

The only problem was espeak reading Czech place names with english pronunciation, which is often quite funny :) But it worked even before without problems, most probably because our alphabet is basically just ASCII + čřžýáíéůú.

Quote:

Originally Posted by woody14619 (Post 869837)
One would hope. The nice part is that it would allow one to customize the route in a GUI drag/drop environment on line, then send that specific route (with turn by turn) to the phone.

It might not be so difficult to implement, as it means basically just analysing incoming SMS for the right keywords and then loading the appropriate route (provided the message contents are not encrypted, etc.).
But it seems to be USA-only, so I would not be able to directly test/debug it there in Europe :)

Quote:

Originally Posted by woody14619 (Post 869837)
Handy for those routes where one must re-route the default Google route because it uses a seasonal road that's closed, or has holes larger than your car. :eek:

The directions API used by modRana supports adding waypoints, but it is not yet accessible from the GUI.

Quote:

Originally Posted by woody14619 (Post 869837)
Yeah... Not too bad. But eatting 1/4 of your free space to have local maps kinda sucks. I'm sure I can break it out by major area (Americas, Europe, Australia, etc), which will at least help cut it in half for most people. Can't wait to start on this project now... but have to wait to get free time to do so. Soon though! :)

There are already some extracts available from Cloudmade and other sources.
They are quite nicely available for individual countries and continents , on the other hand a (possibly resource intensive ?) import from the OSM XML to the tileserver database would be needed.

Quote:

Originally Posted by janszoon (Post 870784)
Hi Martin,
Awesome application, big credit to you for the time and energy that you are putting into this !!

I have been trialling ModRana in the past few days based on your advice (and PM), and brilliant assistance from another thread on Mapping, I have loaded Nautical maps as one of my repositories and use this (overlayed to Google Satellite) whilst out on the water to record tracks, mark fishing spots/POI's and understanding the depth/terrain of the current position (based on map data).

Wow, modRana being used on a boat, well that's awesome :) I wonder how long before someone reports about using it in an aircraft :D
[QUOTE=janszoon;870784]
Some Questions:

1) How is the screen blanking controlled/determined? What conditions/setting would keep the screen on?
Quote:

Originally Posted by janszoon (Post 870784)
There is currently no screen blanking control in ModRana, but its on my high priority list. I have alredy looked how the brightness applet does it (by manipulating some gconf values) and it should not be difficult to implemen in modRana too. Something like "leave backlight on" for starters, and more advanced stuff like turning the screen on when approaching a turn later :)

(probably userguide related so let me know if I can find this already somewhere)

Quote:

Originally Posted by kureyon (Post 871138)
This thread is the user guide ;)

Well, that's unfortunately true :D The modRana project wiki is currently horribly outdated, I just haven't got to updating it yet :) BTW, I someone wants to add something like a walkthrough, feature description, etc. to the modRana wiki, just send it to me and I'll add it :)

Quote:

Originally Posted by kureyon (Post 871138)
2) I have a POI DB with 2044 marks.

Just how did you add so many points ? :D

Quote:

Originally Posted by kureyon (Post 871138)
Navigating through these easily is difficult in Modrana (long list). Is there an easy way to keyword search the POI's loaded or Display the nearest POI's to your location from the db ?

OK, I'll add both :)
Quote:

Originally Posted by kureyon (Post 871138)
I'll keep testing and let you know of my thoughts. I'm thinking a 'Boat' mode could be cool, it would seem this is easily achieved with your customizable interface.
Well done, and thank you !

Why not :)
BTW, modes work like this in modRana:
  • each mode can have its own map GUI settings
  • each mode can have its own widgets settings
  • current mode is considered when when routing (foot mode -> walking directions, etc.)

Do you have any nice boat mode specific optimizations on your mind ? :)

janszoon 2010-11-15 08:19

Re: [Announce] modRana: a flexible GPS navigation system
 
1 Attachment(s)
Quote:

Do you have any nice boat mode specific optimizations on your mind ? :)
I'll give it some thought.....started to put something together......might be some 'nice to haves' but I think the basics deliver a lot already..

:)

But in the maybe pile:
  • Speed indicator (knots)
  • Moon phase (info screen or search)
  • Tides (info screen or search)
  • Weather (info screen or search)
  • Distance (point to point)
  • 'Spot x' button takes you immediately to new POI based on GPS location (Rather than Menu >> POI >> New >> Based on position. A one click POI :-)
  • POI alert/sound (as hands might be other things, an alarm of approaching POI or eSPeak ;-) eg POI near Fishing spot 1

白い熊 2010-11-15 09:50

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by MartinK (Post 873291)
I think I have fixed the issue in the current unreleased version:
I looked through the routing API definition and found how to request directions in more languages, including Russian.

This is great, however please note that the language of streetnames can vary from the directions language. You're probably aware of it, but for instance in the Moscow case, I'd not want the instructions in Russian, and might prefer them in English, but the streetnames are in Russian, so should be pronounced in Russian...

Well, at least that's what I assumed it was getting stuck on, i.e. somehow deciphering the Russian names...

Quote:

some routing, no crashes so far + all the Cyrillic letters were displayed without problems, just the espeak Russian voice output could be better :)
Great, looking forward to this.

Quote:

The only problem was espeak reading Czech place names with english pronunciation, which is often quite funny :) But it worked even before without problems, most probably because our alphabet is basically just ASCII + čřžýáíéůú.
Hahah :O) oh no, you forgot some of the best ones, like ň, ť and ď! :O)

jkq 2010-11-15 22:43

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by MartinK (Post 873291)
1) How is the screen blanking controlled/determined? What conditions/setting would keep the screen on?

(probably userguide related so let me know if I can find this already somewhere)

Check out the Device State section of the wiki and osso_test_device_blank_pause.py for a way to keep the screen on.

On an unrelated note, I'm anxiously awaiting an offline routing mode. :)

-jkq

Wikiwide 2010-11-15 22:51

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by jkq (Post 874512)
On an unrelated note, I'm anxiously awaiting an offline routing mode. :)

Agree. There are different ways.
1. Use tracklogs which are close enough (10m?) to the start and end points as route.
2. Remember routes received from Google and reuse them.
3. Ask user to download OSM vector maps for wanted region and then use the vector maps for offline routing.


All times are GMT. The time now is 18:44.

vBulletin® Version 3.8.8