-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
turn-by-turn navigation? #440
Comments
Online: Example of route. We all will agree that it is not what Offline: |
yes, quality of instructions can use more work, especially if used for turn-by-turn. for devices, you mean the binary is too big, or it uses too many resources? |
I thought about memory footprint of osrm-routed |
The quality of routing instructions is on the list of to-dos with high priority. I believe to have an elegant solution laid out in mind, but it is still a Small Matter Of Programming[tm]. |
For Online mode, there is osmbonuspack: an android library using osmdroid for displaying OSM map tiles, and using OSRM to get routes and turn-by-turn info. |
thanks for the osmbonuspack hint |
Hi |
One thing that is missing for online turn-by-turn navigation is to specify in which direction to start. |
Don't we already tell the direction in which start (e.g. "head south onto B29") ? |
I think the other Dennis meant to force the direction of the route to start with: If you are already driving northwards on B29 and set a destination which is behind you, the router should not simply say "head south on B29", but at least "make a U-turn on B29 if possible, then head south" or, better calculate a better (hopefully u-turn free) route, incorporating the start direction. Currently this behavior could be simulated by placing a via point just next to the start point in the appropriate direction. |
I don't think there is a one-size-fits-all approach for routing instructions. (1) When to generate an instruction Maybe this is off-topic, but what would you think about scriptable instructions? |
nice input @mjoris. interesting idea with landmarks, thanks for the link. do you think there are any useable data about landmarks already in osm? bike routes often follow paths and trails without names. landmark might make sense here, but they would often have to be very local indeed. turn right after the bench, etc? |
i think a scripting solution for generation instruction would make sense, as long as performance isn't affected too much. i assume it would have to run for each query, whereas the current lua stuff is only run during preprocessing. |
Generally, its hard to tell what map features are significant enough to be a landmark (at least for car routing)... On the other hand, if one would do outdoor (hiking, mountain-biking, ...) routing, a large variety of things are very useful landmarks: guideposts, cairns, peaks, passes, lakes, streams/rivers, trees, buildings/shelters, ... This would also be a very context sensitive task to solve (e.g. a single house in a forest vs. a house in a city). |
thanks @emiltin I was looking for landmarks for car routing and it isn't straightforward at all. but i like the outdoor idea by @tyrasd . Some POI types might be "always usable" like guideposts for hiking. |
@emiltin i think that all the instructions are prepared during the contraction-phase. However there is a performance issue: if you generate too many instructions, the RAM required by osrm-routed increases drastically |
Instructions wouldn't necessarily have to be loaded into the RAM: They could be served from hard disc/SSD, asynchronously after the route summary and geometry. |
that's true... ;) |
All these methods usually don't scale. |
@emiltin we have a working map app that implements turn by turn using OSRM (the android app connects to our osrm server when recomputing routes, and pull maps via our vector tile server). We've been road testing it over the last few weeks and its not too bad (hasn't made me drive off a bridge haha). But yeah, the quality of directions could use some improvement. I've been playing with the profiles trying to get the names/ref/highway information to a point where the text to speech doesn't blow up. In addition to that, we have a number of other routing related bugs which translates to osrm feature requests :) I'd be happy to send you an APK if you wanna have a look at the app. |
@hkrishna have you considered opening tickets here at the bug tracker for all the osrm related issues you have identified? |
@hkrishna Thank you. We now also have apps for iOS and Android that uses OSRM. They're both open source, see https://github.com/ibikecph/ibikecph-android and https://github.com/ibikecph/ibikecph-app. Is your app open sourced? |
@DennisOSRM I'll open tickets for issues we've identified and are currently not present in the bug tracker. @emiltin Yes, our app is open sourced https://github.com/mapzen/mapzen-android-demo. It started as an opensciencemap's vtm fork. The tile service and geocoder it uses is also open. I downloaded your app from the app store but was unable to get it to route - kept saying "GPS Location not found" :( |
Thank you for the link. Sorry, our app works only in Denmark. |
closing as this was more of a discussion. |
how suited would OSRM be for implementing turn-by-turn GPS navigation?
online mode:
the mobile device would connect to a server when recomputing routes, and pull maps via a tile server.
offline mode:
osrm would run on the mobile device, and the map would also be stored on the device in some form.
thoughts?
The text was updated successfully, but these errors were encountered: