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)

Wikiwide 2010-09-02 10:17

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

Originally Posted by excelar8 (Post 804486)
do we need internet to use this gps application?

Quick reply.
You don't need Internet on N900 to get GPS tracking and logging.

To see the map tiles, you need either to draw them by hand, to download them through ModRana (Internet on N900 required) or to download them through PC's Internet connection.

You don't need Internet to see places (cities, towns, villages).

You do need Internet to get routes (from Google); it must be caused by the fact the program doesn't know where the streets and roads are situated.

A feature request to MartinK: let user to draw a route manually (in absence of Internet), and then give him turn-by-turn voice navigation for this route.

You do need Internet to search (Google) for restaurants nearby.

I haven't figured out how to use Points Of Interest, though.

sony123 2010-09-03 08:25

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

Do you mean that it goes directly to the categories menu or to some predefined category ?
Yes exactly!

Quote:

Originally Posted by sony123 View Post

Is it possible to add a call option to search result for direct calling from modRana?

I'll investigate how this could be done.
Thanks for this and also for the customizable widget!

Quote:

Originally Posted by sony123 View Post

Another request is... could you beautify the UI? (Am I asking too much?)

Could you be more specific ?
Possibly changing the button background graphic would go a long way. Current ones look like they are in 256 color.

Oh and have I mention adding portrait mode support, if it's possible? (The category search is useful in this use case.)

(Actually have one more suggestion, I like the placement of the current return-to-previous-level button. However, somehow I feel it might be better to stick with frementle UI and use separate window/view for different menu level. That way the return key will naturally be at the top right position and there would be no need for an return button in the window.)

excelar8 2010-09-03 09:30

Re: [Announce] modRana: a flexible GPS navigation system
 
what makes this application better than sygic, if any, considering that we do already have sygic?

Wikiwide 2010-09-03 10:17

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

Originally Posted by excelar8 (Post 806047)
what makes this application better than sygic, if any, considering that we do already have sygic?

It's mentioned that you have to pay for sygic.
http://www.sygic.com/maemo_smm9_to_smm10.htm

ModRana is free and open source. Due to this obvious advantage, I would like to turn question upside down: what makes sygic better than modrana?

Maybe, sygic is better, but I just cannot check it because I'm not going to buy it. I could take a 7-day trial... but right now ModRana has more features than I can use, so I have no incentive to try yet another application.

Pigro 2010-09-03 12:33

Re: [Announce] modRana: a flexible GPS navigation system
 
quick bit of feedback - just tried a brief walk through town and tested the reroute feature - it worked extremelly well, thank you martinK for introducing such a useful feature so quickly.

couple of minor observations:
1) I was walking a short route with a lot of "tight" turns stacked up, so it often involved being told to turn onto a street and then to turn gain onto another one within 20 metres. The voice instructions coped well (prompting me at what felt like the "right" time as I walked) but the distance indivcators seemed to get lost. So, it would say "turn right into main street in _ miles" where the underscore indicates silence. I guess the 0.0X miles that the on-screen route info was showing is getting passed to eSpeak "as is" rther than as <x> miles <y> yards? I didn't test it with the distances set to Km rather than miles, will try later to se if it's an imperial-specific issue.

2. the on-screen guidance often involves te word "street" being abbreviated to "St." - eSpeak always pronounces this as "St" - I wonder if there's any way you can pass a "hint" to it to pronounce "Street" - it's perfectly intelligable as is, but it would be a nice enhancement if possible.

It was quite funny watching passers-by as I walked my route - I had the phone on speaker (forgot to bring my headphones) and I think a few people thought I had called Stephen Hawking to talk me through the route :-)

Please keep up the excellent work, modrana is fast becoming a very polished product, and the speed/quality of enhancement (and your in-depth feedback/discussion) are fantastic for us users :-)

extendedping 2010-09-03 13:38

Re: [Announce] modRana: a flexible GPS navigation system
 
wait till you go on a "peekway"...

白い熊 2010-09-03 16:47

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

Originally Posted by Wikiwide (Post 806068)
I would like to turn question upside down: what makes sygic better than modrana?

I like modrana, since it's free software.

Three things make sygic better currently though.

- Voice navigation. Should be easy to fix through interfacing to espeak. I understand the author is already working on this.

EDIT: Oh looking at post 165, maybe I haven't updated, it seems the espeak interface is working. Am gonna give it whirl...

- Fix the display so that vehicle is on the bottom as in the standard nav, so you see what's in front of you. Autorotate, so you're always looking forward. Auto reroute, without touching any controls. Should be easy to fix.

- Internet access. Given you use nav often in places you're not familiar with, many of the times it's gonna be while abroad, which makes it impossible to use now, since it doesn't do routing and uses google routes, so the web access would cost a fortune abroad.

The last one is the biggest problem.

I think it should be fixable - for instance by interfacing to routing abilities of navit - also free software, or using its routing algorhythms, don't know.

Until the last one is implemented, sygic will still be significantly better for navigation, unless you never navigate abroad, or in roaming, and have an unlimited data plan.

extendedping 2010-09-03 17:02

Re: [Announce] modRana: a flexible GPS navigation system
 
also one something is in poi is there any way to remove it?

Wikiwide 2010-09-04 02:25

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

Originally Posted by 白い熊 (Post 806370)
I like modrana, since it's free software.

So do I.

Quote:

Originally Posted by 白い熊 (Post 806370)
Three things make sygic better currently though.

- Voice navigation. Should be easy to fix through interfacing to espeak. I understand the author is already working on this.

EDIT: Oh looking at post 165, maybe I haven't updated, it seems the espeak interface is working. Am gonna give it whirl...

Yes, it seems it's already implemented, but right now I have no chance to test it.

Quote:

Originally Posted by 白い熊 (Post 806370)
- Fix the display so that vehicle is on the bottom as in the standard nav, so you see what's in front of you. Autorotate, so you're always looking forward. Auto reroute, without touching any controls. Should be easy to fix.

Some of active tickets:
add automatic map rotation
rotate the map in the direction of travel -> direction of travel is on top
when the turn-by-turn navigation is active, move the position indicator down and show more of the map in the direction of travel
automatic rerouting

Quote:

Originally Posted by 白い熊 (Post 806370)
- Internet access. Given you use nav often in places you're not familiar with, many of the times it's gonna be while abroad, which makes it impossible to use now, since it doesn't do routing and uses google routes, so the web access would cost a fortune abroad.

Yes, I have no Internet on N900 and thus cannot use some features of ModRana, like route (and therefore, voice navigation).

Quote:

Originally Posted by 白い熊 (Post 806370)
The last one is the biggest problem.

Concur.

Quote:

Originally Posted by 白い熊 (Post 806370)
I think it should be fixable - for instance by interfacing to routing abilities of navit - also free software, or using its routing algorhythms, don't know.

Yes, it would be good if ModRana learned to understand, where roads and footpaths are situated, and to create routes without Google.

NavIt has too many dependencies, I do not dare even to install it.

Routing algorithms of NavIt could certainly be used; it's not necessary to reinvent the wheel.

Quote:

Originally Posted by 白い熊 (Post 806370)
Until the last one is implemented, sygic will still be significantly better for navigation, unless you never navigate abroad, or in roaming, and have an unlimited data plan.

I don't want to use a non-free program, even as a trial. So I use ModRana.

I could use NavIt, but I suppose that I don't like having all the map in a .bin file... And ModRana has comfortable interface... And I already have ModRana installed, while NavIt would require going through the dependencies again....

Right now, a feature request to MartinK: create a directory for .osm files (downloaded by user from OSM website or by application after user specifies what area he is interested in), let the application read them and use them for routing. I hope that either GTK+ or Python is comfortable with XML documents (*.osm).

MartinK 2010-09-04 12:04

Re: [Announce] modRana: a flexible GPS navigation system
 
The list of active tickets has been updated.
I closed the already solved tickets and added all the the feature requests and bugreports I could find. Let me know if there is something wrong or missing. :)

Quote:

Originally Posted by Wikiwide (Post 805042)
I haven't figured out how to use Points Of Interest, though.

Quote:

Originally Posted by extendedping (Post 806383)
also one something is in poi is there any way to remove it?

The POI functionality + its menu are going to be completely overhauled (sqlite for POI storage + better integration with other features like POI search and routing). This should happen quite soon, till then its not worthwhile to change anything concerning this feature.

Quote:

Originally Posted by Pigro (Post 806150)
1) I was walking a short route with a lot of "tight" turns stacked up, so it often involved being told to turn onto a street and then to turn gain onto another one within 20 metres. The voice instructions coped well (prompting me at what felt like the "right" time as I walked) but the distance indivcators seemed to get lost. So, it would say "turn right into main street in _ miles" where the underscore indicates silence. I guess the 0.0X miles that the on-screen route info was showing is getting passed to eSpeak "as is" rther than as <x> miles <y> yards? I didn't test it with the distances set to Km rather than miles, will try later to se if it's an imperial-specific issue.

For metric units, when the distance is shorter than 1 km, the unit is switched to meters. I guess I should also do this for the imperial units - switch to yards for distances that are shorter than a mile ?
Also separating the distance to major and minor units can be doable but some glitches, like "in 54 kilometers and 10 meters" need to be addressed first.

Quote:

Originally Posted by Pigro (Post 806150)
2. the on-screen guidance often involves te word "street" being abbreviated to "St." - eSpeak always pronounces this as "St" - I wonder if there's any way you can pass a "hint" to it to pronounce "Street" - it's perfectly intelligable as is, but it would be a nice enhancement if possible.

I am already preprocessing the routing messages, so I can just substitute every "St." for "Street" and "peekway" for "parkway". This can be also done for other terms, if you know any.

Quote:

Originally Posted by Pigro (Post 806150)
It was quite funny watching passers-by as I walked my route - I had the phone on speaker (forgot to bring my headphones) and I think a few people thought I had called Stephen Hawking to talk me through the route :-)

Yeah, I also got some funny looks from people when field testing this. :D

Quote:

Originally Posted by Pigro (Post 806150)
Please keep up the excellent work, modrana is fast becoming a very polished product, and the speed/quality of enhancement (and your in-depth feedback/discussion) are fantastic for us users :-)

Thanks ! :)

Quote:

Originally Posted by sony123 (Post 805991)
Possibly changing the button background graphic would go a long way. Current ones look like they are in 256 color.

Well, the fremantle buttons are just gray and in modRana they have whole two colors, "blue" and "navy blue". :D
But seriously, the buttons need to be distinct even in sunlight and from a distance, as in the case of car or bicycle navigation.
BTW, the buttons with just text on them are actually drawn directly with cairo, so color theming them could be quite easy. Buttons with icons are actually just square PNG images, and they unfortunately don't scale too well, especially when running modRana on highres screens on PC. As all the PNGs are already (manually) generated from a SVG file, I would like to replace them directly by SVG icons in the future.

Quote:

Originally Posted by sony123 (Post 805991)
Oh and have I mention adding portrait mode support, if it's possible? (The category search is useful in this use case.)

I am actually looking at this right now. ModRana already supports portrait mode for all GUI modes, because NeoFreerunner, which is one of the other supported platforms, runs everything in portrait by default.

Quote:

Originally Posted by sony123 (Post 805991)
(Actually have one more suggestion, I like the placement of the current return-to-previous-level button. However, somehow I feel it might be better to stick with frementle UI and use separate window/view for different menu level. That way the return key will naturally be at the top right position and there would be no need for an return button in the window.)

Well, yes, it is a bit against the fremantle GUI metaphor, but:
  • you can easily go back to previous menu with your thumb when holding the N900 in your left hand
  • in most default modes you can also access the main menu by your left thumb and navigate the map with your free right hand
  • the fremantle style "back" buttons always seemed too small to me
  • it is hardcoded in quite a few places :)
  • all menu levels have the same simple and easily comprehensble structure
  • it follows the ancient tradition of latin script, by adding elements in rows, from left to right, top down :)

Offline routing
If I can get some sort of library for this, as I really don't feel like writing it from scratch, this can be implemented. Also, there seem to be some programs that provide a web based routing service. If they are installable on the N900, the web service can be accessed through localhost and used for offline routing.

Some notes:
  • the insane Google server farms are a bit more powerful than the N900, so getting the route may take some time, but it would still be better than never (and it may not be so bad in practice) :D
  • unfortunately, plain OSM XML data can not be used (most probably because of the xml processing overhead) and every router uses its own (incompatible) binary format
  • converting the xml to binary format can be quite resource intensive and might require a PC
  • the OSM is being updated all the time, so some sort of update mechanism could be needed

It seems that both Gosmore and Routino work on N900 and could be theoretically interfaced with modRana.

白い熊 2010-09-04 12:32

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

Originally Posted by MartinK (Post 807041)
the insane Google server farms are a bit more powerful than the N900, so getting the route may take some time, but it would still be better than never (and it may not be so bad in practice) :D

I've used navit routing on the N900, for quite long routes also, i.e. 100km, so not super far, but still enough, and it wasn't as bad as you'd expect. The only catch was that there was no `calculating route' or something, message displayed, so it took, I'd say 4 secs, and for that period, you thought the gadget froze.

But it can be realistically used in practice. Don't know about navit's routing libs for interfacing too, and there is the problem with OSM data you mention.

Anyhow, navit's solution, is off-the-n900 conversion and then just download to N900, that's not bad. I mean, you don't need to keep updating your maps every second.

The commercial vendors only do it let's say twice a year, and no big fuss, plus you can do it when you desire, on the PC...

Wikiwide 2010-09-04 13:16

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

Originally Posted by MartinK (Post 807041)
But seriously, the buttons need to be distinct even in sunlight and from a distance, as in the case of car or bicycle navigation.
As all the PNGs are already (manually) generated from a SVG file, I would like to replace them directly by SVG icons in the future.
Well, yes, it is a bit against the fremantle GUI metaphor, but:

* you can easily go back to previous menu with your thumb when holding the N900 in your left hand
* in most default modes you can also access the main menu by your left thumb and navigate the map with your free right hand
* the fremantle style "back" buttons always seemed too small to me
* it is hardcoded in quite a few places
* all menu levels have the same simple and easily comprehensble structure
* it follows the ancient tradition of latin script, by adding elements in rows, from left to right, top down

Agree completely.

Quote:

Originally Posted by MartinK (Post 807041)
Unfortunately, plain OSM XML data can not be used (most probably because of the xml processing overhead)

Why? I have a 137KB *.osm file (do not use anywhere yet, just downloaded to look at it). Is routing that difficult?
One possible approach:
take current coordinates;
take coordinates of destination;
generate vector of needed direction;
find the closest node (not more than 5 minutes away from current coordinates);
find the ways including this node;
for each of the ways, take this one "current" node and take the next node after it and the previous before it;
take the difference of GPS coordinates of current and next/previous node - you get two directions of the road;
of these several directions, take the one which has the direction closest to needed.
Thus, you can ask human to walk back if it seems that his destination is behind him. And no rerouting is needed because "route" is calculated incrementally.

It's no better than walking by Sun and compass, but it requires no complex algorithms, and can be done at night without moon and stars. For a pedestrian it will not be that bad; at least, it will not be a bee-line requiring to jump over fences.

Not all foot-walks are shown on a map, so no complex algorithm could give an ideal result; and this simplistic algorithm would often lead to "blind alleys" which turn out to be non-blind at all.

Of course, for driving with all traffic rules and jams, Google server is better suited. And for catching a bus.

Quote:

Originally Posted by MartinK (Post 807041)
The OSM is being updated all the time, so some sort of update mechanism could be needed.

Just like for map tiles! But I can give an algorithm (human-readable and machine-breaking:).
http://78.46.81.38/
1. Find a Wikipedia article about this place (suburb/street).
2. Take GPS coordinates from article and put them into "To which country belongs this location?".
3. In small XML file find the tag which includes the name of the place, and take its ID.
4. Put the ID into "Download an entire city".
You have the *.osm XML file with nodes, ways, relations, etc.

Quote:

Originally Posted by MartinK (Post 807041)
It seems that both Gosmore and Routino work on N900 and could be theoretically interfaced with modRana.

Gosmore requires Diablo dependencies. Routino website www.routino.org cannot be found. I don't have patience to solve these problems right now.
Best luck to you! If you make ModRana use either of them, I will cheerfully attempt to test it.

eitama 2010-09-04 13:48

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

Iv'e installed this app today, read the wiki and went over most of the Thread.
Modrana shows me where I am immediately, but I can't find my way to starting a navigation session.
For example, navigate from my house to my parents house.
Google maps appear, I can see where I am, move around, zoom in out, but, where do I put in my destination address and hit "Navigate"?

I tried using the "Route" option in the menu, just doesn't work.
I set the start position to me my current position, inserted some letters in the destination, press route and nothing happens, no error too.

Any ideas?

MartinK 2010-09-04 17:56

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

Originally Posted by Wikiwide (Post 807105)
Why? I have a 137KB *.osm file (do not use anywhere yet, just downloaded to look at it). Is routing that difficult?

This could be because how the OSM XML is formated. The nodes are ordered by id not by latitude or longitude and the id don't go in a complete sequence, so they cant be used as a list index. The nodes also have no info about which ways they are part of. Ways on the other hand have have just a sequence of node ids. There is also a lot of irrelevant information like usernames and timestamps.
I think that with this structure, all operations needed for routing, like computing distance between nodes or finding which way is a node part of would be very, very slow.

My guess is, that in the binary formats:
  • they sort the nodes and ways, so that near nodes/ways can be quickly found
  • nodes have info about which ways they are part of
  • ways have complete info about their nodes
  • every item has some global id, so you can just jump on a position in the file to get relevant data
  • all unneeded items are removed
Also, country sized extracts seem to have 100MB+, for example the whole UK has 218MB.

Quote:

Originally Posted by Wikiwide (Post 807105)
One possible approach:
take current coordinates;
take coordinates of destination;
generate vector of needed direction;
find the closest node (not more than 5 minutes away from current coordinates);
find the ways including this node;
for each of the ways, take this one "current" node and take the next node after it and the previous before it;
take the difference of GPS coordinates of current and next/previous node - you get two directions of the road;
of these several directions, take the one which has the direction closest to needed.
Thus, you can ask human to walk back if it seems that his destination is behind him. And no rerouting is needed because "route" is calculated incrementally.

It's no better than walking by Sun and compass, but it requires no complex algorithms, and can be done at night without moon and stars. For a pedestrian it will not be that bad; at least, it will not be a bee-line requiring to jump over fences.

Not all foot-walks are shown on a map, so no complex algorithm could give an ideal result; and this simplistic algorithm would often lead to "blind alleys" which turn out to be non-blind at all.

If I understand this correctly:
  • find nearest node that is a part of a route
  • follow the route in both directions
  • on both ends, choose the node, that is closest to the destination
  • then this for all ways joining the segment between the chosen node and closest one
  • do this for say, 10 steps maximum
  • automatically update as the current position changes
Well, this could theoretically get you to in the direction to your destination, by any means possible. At least, it could be quite an adventure. :)



Quote:

Originally Posted by Wikiwide (Post 807105)
Just like for map tiles! But I can give an algorithm (human-readable and machine-breaking:).
http://78.46.81.38/
1. Find a Wikipedia article about this place (suburb/street).
2. Take GPS coordinates from article and put them into "To which country belongs this location?".
3. In small XML file find the tag which includes the name of the place, and take its ID.
4. Put the ID into "Download an entire city".
You have the *.osm XML file with nodes, ways, relations, etc.

Yep, this could probably automated when we have something that eats OSM data.
There also seems to be a binary OSM API for mobile devices, that accepts bounding box input and also supports diffs.

Quote:

Originally Posted by Wikiwide (Post 807105)
Gosmore requires Diablo dependencies. Routino website www.routino.org cannot be found. I don't have patience to solve these problems right now.
Best luck to you! If you make ModRana use either of them, I will cheerfully attempt to test it.

There seem to be no Maemo 5 packages for either but there seem to be people who succeeded in building and running them. IMHO, without a working Maemo 5 packages there is no need to start supporting them right now, as 99% of users would not be able to actually use it.
Anyone interested in packaging Gosmore and/or Routino for Maemo 5 ? :)

Quote:

Originally Posted by eitama (Post 807122)
Modrana shows me where I am immediately, but I can't find my way to starting a navigation session.
For example, navigate from my house to my parents house.
Google maps appear, I can see where I am, move around, zoom in out, but, where do I put in my destination address and hit "Navigate"?

I tried using the "Route" option in the menu, just doesn't work.
I set the start position to me my current position, inserted some letters in the destination, press route and nothing happens, no error too.

Any ideas?

Does point to point routing work for you ? The address routing is currently quite basic and does not find many existing addresses, but this should be improved quite soon.
To start a navigation session, you first need to successfully get a route (point to point, address to address, etc.), then go to "route" -> "Current route" -> "tools" and press the "Start navigation" button.

Wikiwide 2010-09-05 01:25

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

Originally Posted by MartinK (Post 807268)
This could be because how the OSM XML is formated. The nodes are ordered by id not by latitude or longitude and the id don't go in a complete sequence, so they cant be used as a list index. The nodes also have no info about which ways they are part of. Ways on the other hand have have just a sequence of node ids.

I see...

Quote:

Originally Posted by MartinK (Post 807268)
There is also a lot of irrelevant information like usernames and timestamps.

There are neither user-names nor timestamps. There are attributions, postcodes, speed restrictions and a lot of other information which might be irrelevant.

Quote:

Originally Posted by MartinK (Post 807268)
I think that with this structure, all operations needed for routing, like computing distance between nodes or finding which way is a node part of would be very, very slow.

Well... If you have small XML file, it will not be that slow.

Quote:

Originally Posted by MartinK (Post 807268)
My guess is, that in the binary formats:
  • they sort the nodes and ways, so that near nodes/ways can be quickly found
  • nodes have info about which ways they are part of
  • ways have complete info about their nodes
  • every item has some global id, so you can just jump on a position in the file to get relevant data
  • all unneeded items are removed

Then use OSM Binary Format.
Quote:

Originally Posted by MartinK (Post 807268)
Also, country sized extracts seem to have 100MB+, for example the whole UK has 218MB.

Oh, I see. But nobody is going to travel through the whole UK. Most people need just one small region/city.

Quote:

Originally Posted by MartinK (Post 807268)
If I understand this correctly:
  • find nearest node that is a part of a route
  • follow the route in both directions
  • on both ends, choose the node, that is closest to the destination
  • then this for all ways joining the segment between the chosen node and closest one
  • do this for say, 10 steps maximum
  • automatically update as the current position changes
Well, this could theoretically get you to in the direction to your destination, by any means possible. At least, it could be quite an adventure. :)

Word "route" has too ambiguous meaning. It's often used for complete zig-zag line from start to destination, and this algorithm doesn't have such a line.
  • find nearest node that is a part of a way (road, highway, footpath) - it will be "current node" (yes, it will be time-consuming to look through all this list of nodes in a loop, but you can stop at the first node-part-of-a-way which is close enough (say, not more than two meters from real position) instead of looking for the nearest one);
  • follow the way in both directions; on both ends, choose the node, that is closest to the "current node"; in fact, you don't need to do any choosing: just "current node".nextSibling() and "current node".previousSibling();
  • then this for all ways referencing this node
  • take all the next/previous nodes found in above-described steps and compare their coordinates with coordinates of "current node"; it gives vectors of directions; multiply each of this vectors (length of each vector should be equal to 1) with needed vector (beeline vector from current node to destination); the largest of the results corresponds to the best choice, and negative results correspond to vectors leading away from destination;
  • automatically update as the current position changes


Quote:

Originally Posted by MartinK (Post 807268)
There also seems to be a binary OSM API for mobile devices, that accepts bounding box input and also supports diffs.

Very well, try it!

There is an application compiled for Maemo 4 and Windows CE which uses OSM Binary Protocol:
http://sourceforge.net/projects/roadmap/files/

You can have a look at its code.

EDIT: Adding a picture

MartinK 2010-09-05 21:50

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

Originally Posted by Wikiwide (Post 807537)
Oh, I see. But nobody is going to travel through the whole UK. Most people need just one small region/city.

Yes, "regional" off-line routing could be a good start, as the route computation could be quite fast for a relatively small area and converting the raw OSM data for a city sized area (if the the binary API is not used) should be doable on the device without using a PC.

Quote:

Originally Posted by Wikiwide (Post 807537)
There is an application compiled for Maemo 4 and Windows CE which uses OSM Binary Protocol:
http://sourceforge.net/projects/roadmap/files/

You can have a look at its code.

OK, can be interesting to see how it works with the binary data.

Quote:

Originally Posted by Wikiwide (Post 807537)
EDIT: Adding a picture

So we basically just show the traveler the direction from the closest node, that is also a part of a way to one of the connected nodes, that lies in the direction to the destination ? And update this periodically.

Concerning the binary format, there seems to be some sort of an alternative developing:
just stuffing the OSM data to a sqlite database
Although this article is quite old, there seems to be some progress, as there are two programs that seem to be able to do this:
osm2sqlite - some sort of a bash script
osm4routing - a python module with parts implemented in C using the boost library
Storing the data in a database could be quite handy for updating, searching, etc.

But this is not all. :)

There was once routing support in modRana, but then it was still called Rana and I was not yet working on it.
It seems, that the development of Rana stopped in quite an early phase, with many features not in a complete state.
When I choose Rana as a basis for a development of a navigation system, I went through the features and fixed or disabled what appeared not to be working, including off-line routing and map rendering.
So today I took a second look on that old code and, well, it seems to actually work. :)
Work, as in:
  • it loads *.osm files and processes them to its own binary format
  • it does find routes between two node ids (using the A* algorithm)
  • it seems to be possible to find the nearest node id to given coordinates
  • multiple route types seem to be supported (bike,car, pedestrian,horseback, etc.)
  • it can even output a PNG that shows all points that are part of a way, all considered routes, the resulting route (this could be useful for debugging new routing algorithms)

I have not made any tests on the N900 yet, it is not integrated in the current routing code and handling of all the OSM data handling and conversion will have to be made more user-friendly. Therefore, this does not mean that off-line routing will be added tomorrow, but it is significantly closer than before. :)

Concerning map rendering, there seems to be a Python OSM renderer called Ceyx. It could be theoretically used in the future by modRana for generating map tiles on demand from OSM data.

And now back to coding, this post is already a bit too long. :)

zimon 2010-09-05 22:49

Re: [Announce] modRana: a flexible GPS navigation system
 
I tried to use modRana this weekend, but wasn't succesful at all. Did use Maporama then. But I see modRana's GUI with big buttons has potential.

First, when buttons are touched on the touch screen, nothing indicates you have succesfully touched a button. I guess it is a GUI library issue, but a major lag of usability. Just creating a route, putting start and end addresses there and then pressing the "route"-button....nothing seems to happen or indicate you have successfully touched the button, until after few seconds it returns to an empty map.

Support for portrait screen would be nice. I use Maporama in portrait mode and the map rotating to the direction I am going, so I will see more road ahead in the map. In landscape mode, I would see less.

Could it be possible to get modRana to use same map tiles on local directory as Maporama is using? So one could download map tiles with either program and both programs could use them?




When going to Menu/route/Current_route, it does show the start and the end addresses. Show on map returns to an empty map again. Tools/start_navigation/first_step returns to an empty map.

Logging the track works though.

Isn't there a way to mark your current position on the map somehow with some dot?

This (and also Maporama) misses a feature where the map can be zoomed without showing a more accurate map. When driving (a car) one cannot see the small font which is on the map. Somekind of pixel doubling or tripling or similar would be useful.

[Edit: I looked the first post again. I just cannot get any indication of the GPS position on the map, although it centers the map correctly where I am. Routes just do not show on the map. I wonder what I've done so those features do not work.
Where in the filesystem does modRana keep its persistent configuration data? Gconf?]

[Edit2: I meant ofcourse Mappero, not Maporama]

MartinK 2010-09-06 00:20

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

Originally Posted by zimon (Post 808181)
I tried to use modRana this weekend, but wasn't succesful at all. Did use Maporama then. But I see modRana's GUI with big buttons has potential.

First, when buttons are touched on the touch screen, nothing indicates you have succesfully touched a button. I guess it is a GUI library issue, but a major lag of usability.

Good point, now I even remember somebody already asking me about this :) I added a feature request ticket for this so it wont be hopefully forgotten again.
BTW, the whole GUI is custom made and actually drawn by a single cairo widget :)

Quote:

Originally Posted by zimon (Post 808181)
Just creating a route, putting start and end addresses there and then pressing the "route"-button....nothing seems to happen or indicate you have successfully touched the button, until after few seconds it returns to an empty map.

You mean that the screen is solid black and there are not even any error tiles ? This could mean that there is (again :) ) a bug in the drawing pipeline.

Quote:

Originally Posted by zimon (Post 808181)
Support for portrait screen would be nice. I use Maporama in portrait mode and the map rotating to the direction I am going, so I will see more road ahead in the map. In landscape mode, I would see less.

Portrait mode + automatic rotation is currently in the works, it should be in the next version.

Quote:

Originally Posted by zimon (Post 808181)
Could it be possible to get modRana to use same map tiles on local directory as Maporama is using? So one could download map tiles with either program and both programs could use them?

Do you mean Mappero ? The only Maporama navigation software I could find is for Symbian.
ModRana shares the tile folder with Mappero since a few versions ago.


Quote:

Originally Posted by zimon (Post 808181)
When going to Menu/route/Current_route, it does show the start and the end addresses. Show on map returns to an empty map again. Tools/start_navigation/first_step returns to an empty map.

Logging the track works though.

Isn't there a way to mark your current position on the map somehow with some dot?

This (and also Maporama) misses a feature where the map can be zoomed without showing a more accurate map. When driving (a car) one cannot see the small font which is on the map. Somekind of pixel doubling or tripling or similar would be useful.

I'we seen this kind of zoom in TangoGPS. Well then, another ticket for the steadily growing heap :D

Quote:

Originally Posted by zimon (Post 808181)
[Edit: I looked the first post again. I just cannot get any indication of the GPS position on the map, although it centers the map correctly where I am. Routes just do not show on the map. I wonder what I've done so those features do not work.
Where in the filesystem does modRana keep its persistent configuration data? Gconf?]

This definitely seems to be a drawing pipeline issue, something probably goes wrong before the map layer and information overlay are drawn, so they never show up.
You can try to run modrana from terminal, there can be some error output.

Persistent configuration data is stored in
/opt/modrana/data/options.bin
It is basically a python dictionary stored using the marshal module.

BTW, some drawing errors in the past were caused by corrupted persistent configs :)
Try to delete/move that file, it might fix your issue :)

zimon 2010-09-06 00:52

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

Originally Posted by MartinK (Post 808221)
Persistent configuration data is stored in
/opt/modrana/data/options.bin
It is basically a python dictionary stored using the marshal module.

BTW, some drawing errors in the past were caused by corrupted persistent configs :)
Try to delete/move that file, it might fix your issue :)

Thanks, it did fix it.

(I meant ofcourse Mappero, not Maporama in my previous post.)

Pigro 2010-09-06 08:02

Re: [Announce] modRana: a flexible GPS navigation system
 
I second the request for "pixel doubling" zoom to allow easier reading of street names whilst on the move. My eys aint great, and this would make life a lot easier while walking through an unfamiliar city.

MartinK 2010-09-08 10:24

Re: [Announce] modRana: a flexible GPS navigation system
 
I just pushed version 0.14-3, which has automatic landscape/portrait GUI rotation support.

It can be configured in options -> view:
  • automatic - set the rotation according to the accelerometer
  • landscape - landscape only
  • portrait - portrait only
The settings are remembered and used on next start. By default, it is set to "auto".

extendedping 2010-09-09 14:06

Re: [Announce] modRana: a flexible GPS navigation system
 
thanks does not seem to be in updates yet.

msa 2010-09-09 14:20

Re: [Announce] modRana: a flexible GPS navigation system
 
who's providing the maps? how good is map-coverage?

Pigro 2010-09-09 14:26

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

Originally Posted by extendedping (Post 811706)
thanks does not seem to be in updates yet.

yes, I've checked a few times since martinK's post & I don't see it from App Mgr either (have updated several times).

EDIT - OK, got it via app mgr this evening, loving the portrait mode, it switches quite quickly in auto mode!

petur 2010-09-09 14:35

Re: [Announce] modRana: a flexible GPS navigation system
 
an update came in here... but where can you see the version number?

kureyon 2010-09-09 14:48

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

Originally Posted by msa (Post 811718)
who's providing the maps?

A list of map sources is listed in the FIRST post.
Quote:

how good is map-coverage?
Depends on map source and your usage location - try it and see.

MartinK 2010-09-09 23:38

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

Originally Posted by petur (Post 811740)
an update came in here... but where can you see the version number?

Well, modRana is currently not aware of its own version :)
But good point, this should really be added.

In the meantime, you can use this workaround:
  • go to the "remove package" section in the package manager or Fapman
  • search for "modrana"
Just don't uninstall modRana by accident :D

Pigro 2010-09-10 14:45

Re: [Announce] modRana: a flexible GPS navigation system
 
hi, a (low priority) feature request: any chance you could look at the espeak spoken directions & try to have them coexist with media player? at present, I don't get the TTS audio at all if I'm also listening to music - I just get my music increased in volume whilst espeak is trying to talk.

either pause/restart media player (preferred) or "overlay" espeak on top of music would be nice addittions to modrana :-)

MartinK 2010-09-13 21:47

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

Originally Posted by Pigro (Post 812688)
hi, a (low priority) feature request: any chance you could look at the espeak spoken directions & try to have them coexist with media player? at present, I don't get the TTS audio at all if I'm also listening to music - I just get my music increased in volume whilst espeak is trying to talk.

either pause/restart media player (preferred) or "overlay" espeak on top of music would be nice addittions to modrana :-)

I noticed this too. I'll see what can be done. :)

BTW, I am currently working on automatic map rotation + tile doubling/quadrupling. It is already working, it just needs to be cleaned to a releasable state.

Pigro 2010-09-13 22:30

Re: [Announce] modRana: a flexible GPS navigation system
 
great news! one other thing - the "centre map" setting in options/view seems to get reset to OFF very often after it's been turned ON. as long as you don't touch anything after turning ON. the centring works great, but if you reroute, zoom in/out etc. it seems to revert to OFF.

I'd suggest the setting should be preserved in whatever state it's been set to - ideally across multiple program runs, reboots etc.?

Looking forwrd to next release ...

MartinK 2010-09-14 00:00

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

Originally Posted by Pigro (Post 815312)
great news! one other thing - the "centre map" setting in options/view seems to get reset to OFF very often after it's been turned ON. as long as you don't touch anything after turning ON. the centring works great, but if you reroute, zoom in/out etc. it seems to revert to OFF.

I'd suggest the setting should be preserved in whatever state it's been set to - ideally across multiple program runs, reboots etc.?

This is actually working as intended. You can enable centering either from options or by clicking on the button with a small blue circle on the map screen. This button also indicates if centering is enabled:
  • red dot inside the blue circle = centering is ON
  • red dot outside the blue circle = centering is OFF + the dot points to the current position

To turn centering off:
  • click the centering button again
  • drag the map

Like this, centering can be quickly enabled and disabled, as needed.

But it seems, that simple clicking on buttons also disables centering, which is a bug and should be definitely fixed.

Optionally, I can also add a "drag to disable centering" toggle to the options menu. With this enabled, an (accidental) drag would not turn off the centering.

Quote:

Originally Posted by Pigro (Post 815312)
Looking forwrd to next release ...

Looks like the new package has been already imported. :)
I'll write more about the new features tomorrow.

Pigro 2010-09-14 12:06

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

Originally Posted by Pigro (Post 808422)
I second the request for "pixel doubling" zoom to allow easier reading of street names whilst on the move. My eys aint great, and this would make life a lot easier while walking through an unfamiliar city.

not to steal martinK's thunder, but I've updated to todays new version and it includes "map scale" as one of several new features :)

So, you can now set maps to x1, x2 or x4 pixel zoom - making it easy to read streetnames whilst on the go. (lack of) this feature has really annoyed me on ALL mobile mapping app's I've tried, so I'm really pleased that Modrana has now got it :D

extendedping 2010-09-14 13:09

Re: [Announce] modRana: a flexible GPS navigation system
 
I just love it when the voice calls a parkway a peekway.

so cute. I like this app.

grog 2010-09-14 15:06

Re: [Announce] modRana: a flexible GPS navigation system
 
I there something I'm missing, or do I need to make a request?

I was making a track while walking & my phone died. Fortunately I always have a spare battery or two, so I was back up within a minute or so, but it seems that ModRana wasn't saving my track so I lost it. Previously when I used Mappero in the same situation, the app kept my previous track & started tracking as soon as I started it, which is what I had hoped ModRana would have done. Is there anyway I can have it do that next time?

TX

grog 2010-09-14 15:10

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

Originally Posted by Pigro (Post 815723)
not to steal martinK's thunder, but I've updated to todays new version and it includes "map scale" as one of several new features :)

So, you can now set maps to x1, x2 or x4 pixel zoom - making it easy to read streetnames whilst on the go. (lack of) this feature has really annoyed me on ALL mobile mapping app's I've tried, so I'm really pleased that Modrana has now got it :D

How do you turn this feature on? I can't find it in the menu anywhere. Does it work with all map image sources? TX

MartinK 2010-09-14 17:00

Re: [Announce] modRana: a flexible GPS navigation system
 
New features:

Automatic map rotation
  • OFF by default
  • can be enabled in options->map (because it is map related)
  • map rotates only with centering enabled
As the direction of travel is determined from movement (N900 unfortunately has no build-in magnetic compass), the map rotation seems to work OK for faster speeds (car,etc.).
It gets a bit jerky when walking, as the walking speed is sometimes insufficient to correctly determine the true direction so the reported direction changes widely.
I thing I'll add some sort of a animation/delay so the map rotates fluently a not just jumps from one orientation to another.
Also, the map rotates only when centering is enabled. I could not find any reasonable use for rotating the map without simultaneously following the current position.
When you disable centering, the map rotates back to the default "north up" orientation. I can make it so that it remembers the last orientation but stops rotating, if someone thinks it would be useful. :)

Map scaling
  • OFF by default
  • can be enabled in options->map
  • there are 3 modes: 1X (no resizing), 2X and 4X
  • works for all layers, including composited layers
This basically stretches one tile to the size of 4 or 16 ordinary tiles. As a result all features on the map (text, streets, etc.) are 2/4 times larger and of course a bit blurry.

BTW, I was quite worried about how resource intensive all the rotating and scaling would be, but there seems to be hardly any performance penalty.

extendedping 2010-09-14 17:47

Re: [Announce] modRana: a flexible GPS navigation system
 
I went to study up on your wiki.

Not much there...

MartinK 2010-09-14 17:51

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

Originally Posted by grog (Post 815884)
I was making a track while walking & my phone died. Fortunately I always have a spare battery or two, so I was back up within a minute or so, but it seems that ModRana wasn't saving my track so I lost it. Previously when I used Mappero in the same situation, the app kept my previous track & started tracking as soon as I started it, which is what I had hoped ModRana would have done. Is there anyway I can have it do that next time?

Track logging currently works like this:
  • save current position + elevation + timestamp every N seconds to memory
  • every M seconds dump the complete in memory log to file (and replace the last used file)
By default N =1s and M = 10s, both can be configured in "tools" in the logging menu.

So when something goes wrong (the phone crashes, the power runs out, etc.) you should have the complete log without few seconds from the last dump.

There is currently no way to resume a log, but this can be added. :)

MartinK 2010-09-14 21:31

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

Originally Posted by extendedping (Post 816039)
I went to study up on your wiki.

Not much there...

Well, yeah. :D The only page that is currently up to date is the download section. The rest is quite behind the times and most of the new features are is not even mentioned. Also, there is a solid lack of screenshots for illustrating the various features.
As modRana recently got a proper domain name, I'll start updating the wiki soon.

BTW, a proper feature overview on the wiki is IMO quite important, as it is not possible to enable everything by default. Without a proper overview the users can easily miss many interesting features.

grog 2010-09-15 01:01

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

Originally Posted by MartinK (Post 816044)
Track logging currently works like this:
  • save current position + elevation + timestamp every N seconds to memory
  • every M seconds dump the complete in memory log to file (and replace the last used file)
By default N =1s and M = 10s, both can be configured in "tools" in the logging menu.

So when something goes wrong (the phone crashes, the power runs out, etc.) you should have the complete log without few seconds from the last dump.

Good news. How would I retrieve that?

Quote:

There is currently no way to resume a log,
:(
Quote:

but this can be added. :)
:) yeah! Yes Please

Thanks muchly


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

vBulletin® Version 3.8.8