Turn Instructions

Categories: KDE
Tags: No Tags
Comments: 21 Comments
Published on: September 1, 2010

Marble is getting closer and closer to become a navigational aid on the N900 (or whatever you want to carry around with you). Todays patch adds support for the generation of turn instructions — verbal and iconic driving instructions at appropriate points — to Marble’s gosmore and routino plugins, two offline routers. Currently it looks like this (turn instructions displayed on the left):

Turn instructions are useful as a written summary when printing routes. They’re even more important in turn-by-turn navigation mode, the feature Siddharth Srivastava added recently during his GSOC project. If you know the routing support in Marble 0.10, you may wonder how these new turn instructions differ from those displayed there. The first difference is that there are different icons, each indicating the turn type. Icons are a great time-saver in stressful situations — e.g. when navigating through an unknown city. The second difference is that we have full control over the generated text: Marble (or you) can decide whether to include street names, remaining times or distances. Last but not least the awesome KDE translation teams will take care of translating all texts into your native language!

With turn instructions available for offline routers, we can work on the next logical step: Detect a deviation from the route in turn-by-turn navigation mode and automatically trigger a re-calculation of the route in the background.

Are you good at drawing icons? The turn indicator icons above are OK for a start, but some polishing surely wouldn’t hurt. After all, I’m not an artist ;-) Feel free to work on the existing svg or redesign it from scratch (oxygen style, please) and send a new one to marble-devel@kde.org. Looking forward to any contributions!

21 Comments
  1. Tobias says:

    Nice work, but you should think about some kind of rounding. Informations like “Follow the road 682 m” art to exact and not necessary. “Follow the road 680 m” would be much better.

  2. cloose says:

    Does ist already support Jovie (KDE’s Text-To-Speech System)?

  3. “you should think about some kind of rounding”

    hahah good point :-D

    I also think the presentation is very important. For example, just show the current one really big somewhere, and leave the rest out (or de-emphasized somewhere). And no, that should not be an option :p

  4. Dennis Nienhüser says:

    We don’t have text-to-speech support yet, but are looking for someone interested in working on it. Given that we don’t have KDE support on Maemo yet, something else like flight or espeak may be better, though.

    @Diederik: The current turn icon will be shown in turn-by-turn navigation mode. It’s not yet implemented, but on our TODO list.

  5. David says:

    Awesome! Do you plan to port Marble to older Symbian phones too, or do you think it isn’t worth the effort?
    Keep up the good work!

  6. The User says:

    Which algorithm is used?
    Plain Dijkstra from target to origin?

  7. Dennis Nienhüser says:

    Marble does not calculate the route by itself, but queries a backend. In Marble 0.10 (KDE 4.5) this is OpenRouteService, which uses A*. Marble 0.11 can use several routing backends: OpenRouteService, YourNavigation (Gosmore frontend), Gosmore, Routino, TravelingSalesman and Monav. See [1] for details on them.

    [1] http://wiki.openstreetmap.org/wiki/Routing/OfflineRouters

  8. k.g.wuensch says:

    As a tip to anyone implementing those turn icons: The direction of the turn must not be obscured by the outer shape of the icon. In fact there shouldn’t be an outer shape discernible like there is in the above screen shot. Especially for the roundabouts it takes too long to get to the core of the instruction as the outer shape draws the attention of the viewer away from the important bit on the inside… And in turn by turn navigation you must not take longer to discern what is asked of you.
    In fact I somehow like the current icons, but I’d do away with the outer shape and draw the instruction part of them on a neutral background (blue arrows, turn markings or roundabout on a white uniform and unbroken background)…

  9. Dennis Nienhüser says:

    @Tobias: Just added, thanks for the feedback.

  10. Dennis Nienhüser says:

    @David: I don’t own a Symbian phone, so it’s not an interesting target for me. Maybe someone else steps up, though.

  11. The User says:

    Monav, cool, contraction hierarchies, linear time path-finding.
    They all work offline?

  12. Dennis Nienhüser says:

    @k.g.wuensch: Good points, thanks. I changed it like that, see http://nienhueser.de/marble/marble-turn-instructions1.png for an updated screenshot.

  13. k.g.wuensch says:

    @Dennis (regarding new icons): much much better – just compare the two roundabouts and on the new version of the icons you can with one glance see that you’re supposed to leave the roundabout at the third exit whereas on the old iconset the round outer shape made discerning this fact quite a bit harder. Nice :)

  14. Dennis Nienhüser says:

    @The User: OpenRouteService and Yours work online, the others offline. If you’re interested in an online-router that uses contraction hierarchies as a backend, have a look at http://routingdemo.geofabrik.de/ and http://yournavigation.org/kit/. As far as I know, they both use the contraction hierarchies implementation from Dennis Luxen. The one implemented in Monav is different, though to my knowledge its author works together with Dennis Luxen. Monav is optimized for devices with less capable hardware like phones.

  15. d-fens says:

    it would save a lot of troubles and insurance fees for any user if the routing in the roundabouts would respect the right-hand-traffic …

  16. Dennis Nienhüser says:

    It does… the driving direction in the screenshot is from the top right to the bottom. I guess you thought it was the other way round?

  17. d-fens says:

    yep i did – thought the dot in the roundabout would mark a “instruction point”, not an exit. So keep up your good work, nice progress!

  18. LVSC says:

    Hi,
    Nice and professional work!
    But I found a bug in the gosmore-instructions “plugin”: in particular places, it generates turn instructions in the opposite way, for example: if it is “Turn right”, it will give “Turn left” !? (actually, the calculated angle is increased by 180° )
    Do you have a solution for this bug ?

  19. Dennis Nienhüser says:

    Hi, do you have the route coordinates so I can have a look? Which routing backend are you using? Or are you using gosmore and the gosmore-instructions application directly?

  20. LVSC says:

    Hello,
    I’ve sent you an email where I explained the problem with the link to the example.
    Yes, I’m using gosmore and gosmore-instructions directly

    Thanks

  21. Dennis Nienhüser says:

    As discussed via mail, this bug has been fixed in the routing-instructions application which replaces gosmore-instructions. See Techbase for details.

Comments are closed.

Welcome , today is Wednesday, April 16, 2014