Menuekopf

Dienstag, 28. März 2023

BRouter basierte GPX Routen mit Turn-By-Turn Anweisungen auf Wahoo Bike Computer hochladen

Nutzer eines Wahoo Bikecomputers werden wahrscheinlich in erster Linie den Komoot Webservice nutzen, um Routen auf ihre Wahoo Bike Computer hochzuladen. Das Zusammenspiel zwischen diesem Webservice und den 'Wahoos' ist wirklich sehr gut, auch wenn es hin und wieder Probleme bei der Abarbeitung der Cue-Sheets während einer Tour geben kann.


Es gibt aber mittlerweile sehr viele Routenportale, sodass man auf Komoot nicht angewiesen ist. Eine tolle und freie Onlineplattform zur manuellen Routenerstellung ist zweifelsohne BRouter, von dem es einige Derivate gibt. Beim Zusammenspiel BRouter mit den Wahoos kann es ein paar kleinere Problemchen geben, die ich hier zum Thema mache.

Ich beschränke mich dabei auf die BRouter Instanz von Marcus Jaschen aus dem IBC-Umfeld, da dieses BRouter Derivat aktiv entwickelt wird und viele Useranregungen zeitnahe einfließen.


[Achtung Werbung]: zwecks leichteren Zugriffs sind einige Produkte direkt mit den dazugehörenden Amazon-Angebotsseiten verlinkt. Wenn man die hier aufgeführten bei Amazon gelisteten Produkte über diesen Blog bestellt, erhalte ich im Rahmen des Amazon-Affiliate-Programms eine kleine Provision! Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.
Mit den Herstellern der hier erwähnten Produkten stehe ich nicht in Verbindung und mir. 


Ausgangssituation

Wahoo Bikecomputer gibt es in unterschiedlichen Generationen. Elemnts der ersten Generation (Elemnt, und Elemnt Bolt V1) mit einem monchromen Display und die zweite Generation mit Farbdisplays (Roam V1, Bolt V2 und Roam V2). Die zweite Generation hat nicht nur bzgl. des Displaytyps einen großen Sprung erfahren, sondern weist im Gegensatz zur Generation 1 auch echte Navigationseigenschaften auf.
Vieles was ich hier erläutere, verhält sich bei der Generation 2 etwas anders. Aber man kann auch Bike Computer der Generation 2 mit statischen Routen nutzen und dann verhält sich das alles ähnlich dem, was ich hier beschreibe. Ich beschränke mich daher auf die Routing-Eigenarten der Generation 1.

Routingeigenschaften der Generation 1: 

Die erste Generation weist noch keine eigene echte Navigationfunktionalität auf, sondern es müssen vorgefertigte Routen auf das Gerät hochgeladen werden. Diese zuvor erstellten Routen werden dann mehr oder weniger sequentiell abgefahren.

  • Hierbei kann die sogenannte Krümelpfadnavigation zum Einsatz kommen. Bezeichnend für diese Art der Navigation ist, dass man auf dem Navi (Bikecomputer) die Kartenansicht ständig geöffnet haben muss und den Brotkrümelpfad auf der Kartenansicht abfährt.

    Das hat den Vorteil, dass man a) quasi jede GPX-Datei (Route oder Track) nutzen kann, da man sich von Koordinatenpunkt zu Koordinatenpunkt durchhangelt und b) das Display des Bikecomuters sehr einfach gehalten werden kann. Selbst auf einfachen Schwarz-Weiß Displays ohne echte Kartenansicht funktioniert dieses Prinzip. Eine unterlegte Karte, wie sie alle Wahoo  Bikecomputer der aktuellen Elemnt-Serie bieten, kann aber sehr hilfreich sein. Wirklich zwingend ist das bei dieser Art der Navigation aber nicht.

    2017 habe ich in meinem Blog die unterschiedlichen Navigationsarten erläutert: Navigationsfähige GPS Radcomputer (von der Theorie zur Praxis)

    Klassische Krümelpfadnavigation, zweimal ohne Kartenansicht, einmal mit Kartenansicht (Wahoo Bolt V1).

  • Oder alternativ die Navigation per Turn-By-Turn Anweisungen. Auch hier werden statische Routen sequentiell abgefahren. Allerdings muss dabei die Kartenansicht nicht exklusiv geöffnet sein, sondern an den neuralgischen Punkten (Abzweigungen) werden Turn-By-Turn Kommandos eingeblendet.

    In der Theorie ist das toll, in der Praxis funktioniert das oftmals gut, manchmal aber auch nicht so gut. Es gibt Routen, die aufgrund ihrer Komplexität einfach nicht so gut statisch zusammengefasst und abgefahren werden können. Dann muss man mitunter doch die Kartenansicht permanent geöffnet haben, weil die Abbiege-Anweisungen zu spät kommen oder nicht jede potentielle Abzweigung korrekt abgebildet werden kann. Sofern ein praxistauglicher Zoomlevel eingestellt ist, kann man der Kartenansicht fast immer entnehmen, ob man an einer bestimmten Position abbiegen muss oder nicht.
    Das soll hier aber nicht das Thema sein, da ich das in dem zuvor erwähnten Blogbeitrag schon sehr ausführlich erörtert hatte.

    Ein Nachteil dieser Turn-By-Turn Variante ist, dass die Routendateien, die man importieren will, entsprechend aufbereitet werden müssen. Die Turn-By-Turn Anweisungen müssen als sogenannte Cue Sheets in die Routendateien (GPX-, TCX- oder FIT Course Dateien) eingebettet* werden.

    Hier wird noch einmal der statische Charakter dieser Navigationsart deutlich: der Bikecomputer führt intern eine Liste dieser statischen Cue Sheets, synchronisiert die Kurspunkte (CoursePoints) mit der aktuellen GPS-Position - was manchmal nicht so trivial ist - und blendet dann - in der Regel vor Kreuzungen - entsprechende Abbiegehinweise ein.

    Wie der jeweilige Bikecomputer diese Hinweismeldungen einbettet, ist unterschiedlich. Manchmal wird eine eigene Displayseite temporär eingeblendet oder es wird eine kleine Popup-Meldung, die frei auf dem Display schwebt, angezeigt.

    Hier kann man ein paar typische Turn-By-Turn Popups sehen. Manchmal wird man leider auch bei dieser Variante auf die Kartenansicht nicht komplett verzichten können. Vor allem bei eng verwurzelten MTB Touren, stoßen diese Popup-Einblendungen mitunter an ihre Grenzen.
 
  
* Und genau mit jener Einbettung der Cue-Sheets (Turn-Anweisungen) fangen mitunter die Probleme an.

Probleme mit manuell erstellten Routen

Vorweg: wer die oben beschriebene einfache Brotkrümelnavigation bevorzugt/verwendet - also bewußt auf explizite Turn-By-Turn Anweisungen verzichtet - muss hier nicht weiterlesen. Ich beschreibe einen speziellen Workaround, der nur nötig ist, wenn man Turn-By-Turn Anweisungen (eingebundene Cue Sheets) verwenden will.

Das reibungslose Zusammenspiel der Bike Computer mit diesen aufbereiteten Routen, also Routen die Cue Sheets enthalten, hängt oftmals davon ab, wie diese Routen auf die Geräte hochgeladen werden.

Bei den zuvor erwähnten Komoot Routen erfolgt das vollautomatisch. Der User muss sich um nichts kümmern, die beiden Plattformen (Wahoo und Komoot) übernehmen den gesamten Datenaustausch. Ähnlich funktioniert das bei Garmin, wenn man über Garmin Connect, Routen auf seine Garmin Bike Computer oder Sportuhren hochlädt.

Nutzt man aber alternative Plattformen, wie z.B. BRouter, die nicht direkt mit den Bike Computern bzw. den Plattformen der dahinterstehenden Herstellern verdrahtet sind, dann muss man häufig gegen den Umstand ankämpfen, dass die Einbettung dieser Turn-By-Turn Anweisungen lange Zeit nicht standardisiert war.
Häufg wurden dafür textbasierte Formate verwendetet (GPX- und TCX-Dateien), die mittels proprietärer XML-Tags jene Cue Sheets eingebunden haben. Auch das hatte ich in dem oben erwähnten älteren Blogbeitrag etwas ausführlicher beschrieben, sodass ich das an dieser Stelle nicht wiederholen muss: Navigationsfähige GPS Radcomputer (von der Theorie zur Praxis).
Mittlerweile gibt es mit dem FIT (Course) File Format aber eine Art Industriestandard, den immer mehr Geräte unterstützen.

Um es kurz zu machen, bei den Wahoos gibt es Stand heute (28.03.2023) das Problem, dass bei den textbasierten Formaten nicht alle Turn-By-Turn-Anweisungen übernommen werden (z.B. keine der erweiterten 'Slight Left', 'Sharp Left', etc. Anweisungen).
 
Ich verweise der Einfachheit halber auf einen Beitrag in der Wahoo-Elemnts-User Google Group: GPX and TCX files with directions

Diesem Beitrag kann man auch entnehmen, dass bei Verwendung von FIT Course Dateien, die erweiterten Turn-by-Turn Anweisungen in den Wahoo Geräten normalerweise korrekt ankommen.

BRouter GPX-Routen -> FIT Course Datei Konvertierer (Android App)

Derzeit* können die meisten BRouter Derivate die erstellten Routen nur in textbasierten Formaten exportieren und dann gilt - wie bereits gesagt: die Slight-Left/Right und Sharp-Left/Right Turn Anweisungen werden von den Wahoo Bike Computern nicht übernommen.

Man kann dieses Problem aber sehr leicht umschiffen, in dem man die von BRouter exportierte textbasierte GPX-Datei in eine binäre FIT Course Datei konvertiert. Diese kann man im nächsten Schritt manuell per USB Kabel auf den Wahoo Bike Computer hochladen oder auch direkt mit dem Smartphone an die (Android) Wahoo Elemnt App übergeben -> die Wahoo Android App importiert diese FIT Course Datei und listet die importierte Route in der Streckenauflistung auf.

Die letztere Variante kann man auf dem Smartphone auch relativ gut automatisieren, sodass die Übergabe der Routen-Datei samt Konvertierung relativ smooth erfolgen kann.

Ich habe dafür WRPElevationChart um einen entsprechenden Konverter erweitert, der jene Konvertierung - samt der Übergabe an die Wahoo Android Elemnt App - übernimmt.

* Hinweis: es kann gut sein, dass es sich hierbei lediglich um einen temporär notwendigen Workaround handelt, da ich einem github BRouter Entwickler Forum entnehmen konnte, dass es schon einen direkten FIT Course Export gibt, dieser aber wohl noch nicht in (allen?) öffentlichen Derivaten übernommen wurde: Question: Best turnInstructionMode for Wahoo devices? 

Kurzum, sollte die von Euch genutzte BRouter Variante in der Lage sein, die zu exportierenden Routen direkt als FIT Course Dateien zu exportieren, dann ist das hier beschriebene Vorgehen nicht mehr nötig, sondern ihr könnt die FIT Course Dateien direkt auf eure Wahoo Bike Computer kopieren bzw. mit der Wahoo App öffnen (= importieren)!

Vorgehensweise:

  1. Mit dem BRouter eine Route erstellen und diese am besten per QR Code direkt auf das Smartphone hochladen.
    Wichtig ist dabei, dass man im BRouter den sogenannten turnInstructionMode nutzt. Dieser spezielle Modus muss manuell aktiviert werden und als Typ muss zwingend gpsies-style oder locus-style gewählt werden, da mein Konverter derzeit nur diese beiden Typen auswertet (osmand style wird experimentell untertsützt).

    Siehe bitte diesen Beitrag im IBC Forum: Fahrradrouten-Planer bikerouter.de: So planst du die perfekte Tour

  2. QR Code mit dem Smartphone einscannen. Ggfs. muss man hierfür eine entsprechende Barcode Scanner App installieren, sofern das Handy keine entsprechende QRCode Scanner Funktion aufweist. Der eingescannte QR Code sollte dann an den im Smartphone integrierten Browser übergeben werden, was normalerweise dazu führt, dass die BRouter Routen Datei direkt auf das Smartphone hochgeladen wird. Ein funktionierender Internetzugang ist dafür natürlich unabdingbar!
      
     

  3. Nun die heruntergeladene GPX-Routen Datei auswählen und mit der WRPElevationChart App öffnen.

  4. Sofern die exportierte Routen Datei entsprechende Cue Sheets (again: gspies-style oder locus-style) enthält, liest WRPElevationChart diese Turn-By-Turn Anweisungen ein und kann diese im nächsten Schritt in Form einer konvertierten FIT Course Datei direkt an die Wahoo Elemnt App übergeben.

  5. FIT Course Datei mit WRPElevationChart exportieren und in der App eurer Wahl importieren.
    Hinweis: in WRPElevationChart gibt es im Exportmenü zwei ähnlich lautende Exportfunktionen,

    a) Course GPX -> Garmin Course (FIT) und
    b) Garmin FIT Course ERZEUGEN.

    Wählt bitte Variante a). Diese Exportfunktion konvertiert die aus der GPX Datei entnommenen Turn-By-Turn Anweisungen zu Garmin CoursePoints und generiert daraus eine FIT Course Datei.

    Variante b) kann nützlich sein, wenn man aus einer einfachen GPS-Datei (Route oder Trackaufzeichnung ohne eingebettete Turn-By-Turn Anweisungen) on-the-fly eine FIT Course Datei mit Abbiegehinweisen erstellen will. Die Abbiegehinweise werden in dem Fall rein mathematisch anhand der Winkelgeraden zwischen zwei Punkten berechnet, also ohne Einbeziehung einer Karte. Im allgemeinen ist das nur eine grobe Annäherung, die mir allerdings in der Vergangenheit bei einem ähnlichen Projekt manchmal von Nutzen war. Deshalb habe ich diesen Code übernommen und es gibt diese beiden ähnlichen Course-Export Funktionen, die sich aber grundlegend unterscheiden!

    Also, wenn es darum geht, GPX basierte Turn-By-Turn Anweisungen in das FIT Course File Format umzuwandeln, dann ist Variante a) das Mittel der Wahl! 


    Das klingt jetzt womöglich alles sehr kompliziert, aber wenn man sich diese kleine Animation ansieht, dann könnt ihr hoffentlich sehen, dass der gesamte Prozess doch sehr smooth vonstatten geht. So geschmeidig, wie das Zusammenspiel Komoot <-> Wahoo Bike Computer ist das natürlich nicht, aber dafür hat man alle Freiheiten, die BRouter so bietet.

    So sollte das dann ungefähr in echt aussehen: 


Weiterführende Links:


Allgemeine Infos bzgl. BRouter und Turn-By-Turn Anweisungen:
(Auswahl ohne Anspruch auf Vollständigkeit)

Zusammenspiel BRouter <-> Wahoo Bikecomputer:

Android App:

Danke fürs Lesen.

To be continued...

2 Kommentare:

0709 hat gesagt…

Hallo.

Ich lese mit Interesse mit ;-)
Kurzer Kommentar also siehe so den Link.
https://github.com/osmandapp/OsmAnd/issues/14147#issuecomment-1114034225

Für gpx bevorzuge ich nur Modi mit reinem basic gpx.
Dateien gpx mit TBT ohne Verwendung von gpx-Erweiterungen !

TCX (Garmin).
- Anweisungen in verbundenen Navigation Wegpunkte.
- Die tcx Track-Modus vor allem in Garmin "Cycling" gps verwendet.
- Die Gesamtzahl der Abbiegeanweisungen ist begrenzt. (L/R/S)

FIT (Garmin).
- Anweisungen in zugehörigen Navigationswegpunkten.
- Bietet mehr Abbiegeanweisungen, aber es fehlen "Notes" wie bei tcx.
- Komplex (binär)bei Fehlern, ein Format, das ich nicht mag. :-((
- Kommerzielle Geräte unterstützen dies. (Standardmäßig).

Einige Geräte generieren Anweisungen zu spät und nur bei den Abbiegungen selbst.
Ist manko des Gerätes !
Abhilfe:
Abbiegeanweisungen an einem Trackpunkt vor der eigentlichen Abbiegung platzieren.
Verrückte Lösung. ;-)

GPX. (Locus)
- Track mit Anweisungen in zugehörigen Wegpunkten.
- Ein tcx-Klon mit gpx, aber ohne die Einschränkungen des tcx-Modus.
- Erzeugt u.a. von Plotaroute web.

*GPX. (Locus)
- Eine "echte" reine gpx-Navigationstrack "pure".
- Track mit Anweisungen in Trackpoints (kein Tippfehler).
- Super einfach, robust, diskret (Locus-Import).
- Optimale Verwendung in der Cruiser gps app.
https://wiki.openstreetmap.org/wiki/Cruiser

GPZ(Locus).
- Zipped gpx Navigations Track.
- Super einfach, robust, diskret, kleine Dateigröße. (Locus-Import)
- Vorschlag lauft auch für einführung in die Cruiser App.

*Wenn man den gpx Navigationstrack einmal benutzt hat, will man nicht mehr zurück ;-)
Die kommerziellen" Untis bieten den Modus (noch) nicht an.
Also muss man leider trotzdem auf "FIT" zurückgreifen.


Was die störungen mit falschen Anweisungen durch schlampig gesetzte Planerpunkte angeht.
Mit der BRouter Beta App (afischerdev) können diese automatisch korrigiert werden.
Ausgiebig getestet und daher von "neuen" Beta-App-Nutzern bereits für gut befunden ;-)
https://github.com/devemux86/cruiser/discussions/15#discussioncomment-5594445


Übersetzt mit www.DeepL.com/Translator (kostenlose Version)

WRPSoft hat gesagt…

Hallo und vielen Dank für Deinen Hinweis.

Ich werden den Blogbeitrag vielleicht noch um Deine Links ergänzen.

Der Beitrag zielte aber wirklich nur auf das Zusammenspiel zwischen den alten Wahoo Elemnts und diversen BRouter Derivaten ab, da es einige Anfragen gab. In meiner TLab Software hatte ich auch mal einen kleinen, aber rein manuell funktionierenden Routen-Editor implementiert. Vermutlich war das der Grund, weshalb mich User in der Sache angeschrieben hatten. Das hat dann dazu geführt, dass ich meine Android App WRPElevationChart, die eigentlich nur eine GPS Viewer App ist, um eine sehr einfach gehaltene Konvertierungsfunktion (GPSies basierte GPX-Routen in FIT-Course Files) erweitert habe.

Ich selbst nutze ein vollroutingfähiges Gerät, sodass das Problem bei mir gar nicht besteht :-)

Letztlich ist das Feedback in dieser Sache aber sehr gering, daher gehe ich davon aus, dass die meisten User mittlerweile ebenfalls vollroutingfähige Bike Computer nutzen oder andere Portale, wobei viele Wahoo User aus dem deutschsprachigen Raum wahrscheinlich hauptsächtlich Komoot nutzen dürften.

Aber es ist immer gut, Alternativen zu kennen.

Sportliche Grüße
Ralph