Opened 9 years ago

Closed 4 years ago

#795 closed defect/bug (fixed)

Wrong announcement on freeway branching

Reported by: ps333 Owned by: mvglasow (2)
Priority: major Milestone: version 0.5.1
Component: core Version: git master
Severity: normal Keywords: highhway, routing, lane, intersection, car
Cc: http://wiki.navit-project.org/index.php/user:mvglasow, (2)

Description

Navit v. 0.5.0.4281 from market, map osm_bbox_5.2,46.8,15.5,55.6.bin of March 2, 2011. Android 2.1 on Samsung Galaxy 3. Driving in Germany on A10, westbound, entering intersection "Dreieck Werder" to continue on A2. Announcement (and route description) is "turn right" which would keep one on the A10. "Keep to left lane(s)" would have been correct. The OSM and the routing display were correct. See http://www.openstreetmap.org/?lat=52.3377&lon=12.8047&zoom=14&layers=M

Attachments (1)

navigation.patch.c (2.5 KB) - added by robotaxi.myopenid.com 7 years ago.
patch for left/right confusion

Download all attachments as: .zip

Change History (16)

Changed 7 years ago by robotaxi.myopenid.com

patch for left/right confusion

comment:1 Changed 7 years ago by robotaxi.myopenid.com

The reason for this behavior is navit calculates the turn direction by directly using the angle between the 'from' street and the 'to' street. This fails e.g. if there is a Y-section and both streets turn to the same direction. In this case it is important to consider, which alternative turn would be left and which would be right to the route turn. I provide a patch that fixes the problem. It also considers if the ways of this section are generally of the type that the vehicle is allowed to use or not. So we are not fooled e.g. by a footpath, when using a car, but consider a normal street, which may also be a oneway in the wrong direction.

It's tested 'on the map' and 'on the road', feel free to use it ;-) I have no svn access, so after checking please be so kind to merge it.

comment:2 Changed 7 years ago by jfitie

Hope this patch works and will be included in the SVN version soon. I cannot compile/test this myself. I have the same problem at this location: http://www.openstreetmap.org/?lat=52.691684961319&lon=5.7748818397522&zoom=15 Coming from A6 (west) turning north, Navit will tell me to 'Turn right', which would take me to the N50 going south. 'Turn left' or 'Keep left' would be better.

comment:3 follow-up: Changed 7 years ago by sorbomoto

I have an another problem in Germany on die intersection "Dreick Werder". If I come from the west I got no announcement from navit, if I have a route that stays on the A10 or a route that leaves the A10 in the direction of Magdeburg on the A2. For the intersection "Dreieck Werder" both routes are correctly displayed but no announcements. That's really poor and I can find no map failure in the OSM Map.

OpenSUSE 12.2

Navit 0.5.0-5251-1.1

Map Area Germany+Switzerland+Austria from Planet Extractor form 12.10.2012

Last edited 7 years ago by sorbomoto (previous) (diff)

comment:4 Changed 7 years ago by sorbomoto

I found another turn failure in Germany in München.

See http://www.alice-dsl.net/roland.gruebner/Knorrstrasse_Muenchen.png

If I come from the Petuelring navit should say just nothing at the intersection Knorrstraße but navit says turn right but the route is strait a head. I turned on the navigation signs so you can see the turn right arrow just under the traffic light symbol.

I closely look with JOSM on the OSM map for a failure but I found nothing suspicious.

Is the patch from jfitie in the SVN version know included? I doesn't try it because it is 3 month old an so I hope its now just included for a while. OpenSUSE 12.2

OpenSUSE 12.2

Navit 0.5.0-5251-1.1

Map Area Germany+Switzerland+Austria from Planet Extractor form 12.10.2012

comment:5 Changed 6 years ago by usul

  • Keywords highhway routing lane intersection car added
  • Milestone changed from version 0.5.0 to version 0.5.1

Seems to be still an active bug?

Can anybody reproduce this bug and post an GPS log, please?

As it is an obvious malfunction and might result to get to the wrong place, I schedule it for the next hotfix

comment:6 Changed 6 years ago by usul

The bug is still active and a discussion in the forum is here: https://forum.navit-project.org/viewtopic.php?f=9&t=430

comment:7 Changed 5 years ago by mvglasow (2)

  • Cc http://wiki.navit-project.org/index.php/user:mvglasow (2) added
  • Severity set to normal

comment:8 Changed 5 years ago by mvglasow (2)

Currently testing robotaxi's patch, I'll report on results

comment:9 Changed 5 years ago by mvglasow (2)

Using the test suite at

https://github.com/mvglasow/navit-goodies/tree/master/scripts/routetest

I can confirm that the patch fixes the error for the test case

Unterinntal_W 12.1034461 47.7371683 12.0157491 47.8163105

I'll create test cases for the other cases mentioned here and in #795 and compare those as well.

comment:10 in reply to: ↑ 3 Changed 5 years ago by mvglasow (2)

Replying to sorbomoto:

I have an another problem in Germany on die intersection "Dreick Werder". If I come from the west I got no announcement from navit, if I have a route that stays on the A10 or a route that leaves the A10 in the direction of Magdeburg on the A2. For the intersection "Dreieck Werder" both routes are correctly displayed but no announcements. That's really poor and I can find no map failure in the OSM Map.

OpenSUSE 12.2

Navit 0.5.0-5251-1.1

Map Area Germany+Switzerland+Austria from Planet Extractor form 12.10.2012

This is a separate issue which is described in #660 and should be fixed as of r5934. If you still have issues with missing announcements, please document this in #660 (along with a route to reproduce, if you can).

comment:11 Changed 5 years ago by mvglasow (2)

From tintin's forum post:

After a small modification in the patch (changing "way->flags" to "w->flags"), rebuilding navit and run the emulator, the voice now says correctly "turn left". But the arrow still points to the right. So the patch solves only part of the problem.

Will need to investigate further into that, and probably modify the GPX output code so the test suite will catch not only the text but also the icon. The icon could go in the <type> element of the <rtept>.

Last edited 5 years ago by mvglasow (2) (previous) (diff)

comment:12 Changed 5 years ago by mvglasow (2)

I've added the following test cases:

Unterinntal_W 12.1034461 47.7371683 12.0157491 47.8163105
Werder_W 12.8770471 52.3098972 12.7570371 52.3411968
Emmeloord_N 5.7416967 52.6831133 5.7716005 52.7201317
Petuelring 11.5750121 48.1781212 11.5719105 48.178083
Hamburg_Sued_S 10.073060 53.508260 10.037430 53.498250
Nuernberg_S 11.18529 49.4700395 11.1957442 49.4099119
Nuernberg_W 11.1956694 49.4085208 11.1860095 49.4696947

With the exception of Petuelring, I've also added the opposite maneuver for each as a control (controls should not be affected by the fix).

Unterinntal_W and Emmeloord_N look OK so far.

Petuelring as of r5934 no longer displays the maneuver, which is OK since we're going straight.

Hamburg_Sued_S no longer announces the problematic maneuver in r5934. This is due to the way it is mapped: the southbound carriageway, which the route follows, is a highway=motorway while the others are ramps. To Navit, this looks like a motorway exit, and is thus not announced. I'll follow that in #660.

Werder_W has the same issue, although here the name of the motorway changes at the interchange. This is definitely a case for #660.

Nuernberg_S and Nuernberg_W could not be reproduced, as they generate the correct maneuver in r5934.

Conclusions:

  • Some interchanges do not generate an announcement at all in r5934 and could not be tested. This needs to be looked at in #660.
  • For some interchanges the issue could not be reproduced because r5934 generates the correct maneuver.
  • In all other cases the patch seems to fix announcement texts.
  • Apparently the icon that is displayed does not change. This needs to be investigated in more detail.

comment:13 Changed 5 years ago by mvglasow (2)

I've fixed the issue at Werder_W. Hamburg_Sued_S might be impossible to identify as an interchange looking at maneuver data alone, see #660.

I have also added output of the maneuver type (which is used for the OSD icon) to GPX.

Results:

  • For Werder_W the issue could not be reproduced, r5938 shows the correct maneuver.
  • For the two cases where the maneuvers did change, the incorrect icon is displayed.

Which means we need to update the code for the maneuver type but otherwise robotaxi's patch does improve things for all the cases that I could reproduce.

comment:14 Changed 5 years ago by mvglasow (2)

  • Owner changed from KaZeR to mvglasow (2)
  • Status changed from new to assigned

comment:15 Changed 4 years ago by mvglasow (2)

  • Resolution set to fixed
  • Status changed from assigned to closed

These issues have been fixed as part of Project HighFive?. The intersections in questions are now test cases for CI.

Note: See TracTickets for help on using tickets.