• Hallo Gast, wir suchen den Renner der Woche 🚴 - vielleicht hast du ein passendes Rennrad in deiner Garage? Alle Infos

Winterprojekt: Open Source Zwift Alternative mit OSM

debgz

Neuer Benutzer
Registriert
15 November 2010
Beiträge
5
Reaktionspunkte
4
Hallo Freund*innen (schreibt man das jetzt so?) des Indoorradelns,

da ich auf Grund privater Umstände grad keine Möglichkeit habe mir die 15€/monat zu leisten, aber privat sowie beruflich gern Software entwickle (.net), bin ich am überlegen, ob man da nicht was mit Unity, OSM und Höhendaten basteln könnte?
Nun möchte ich jedoch das Rad nicht unebdingt neu erfinden und bin daher erstmal auf der Suche nach evtl. bestehenden OSS Projekte, die einen gleichen oder ähnlichen Ansatz haben.

Kennt hier jemand ein entsprechendes Projekt, welches eine 3D Trainer Software mit OSM Daten zum Ziel hat?

Letztendlich soll es kein photorealisitischer Simulator, sondern eher etwas modellhaftes werden. Mit Fahrtrichtungswahl per Tastatur (oder App?). Leistung im ersten Schritt wahrscheinlich manuell gesteuert, später dann über ein Höhenmodell.
Die Anbindung an den Trainer würde vorerst über ANT+ erfolgen und das ganze auf dem PC laufen. Ziel ist hierbei jedoch eine Ressourcenschonende Variante für Low-End Systeme.

Viele Grüße und ab aufs Rad
debgz
 

Anzeige

Re: Winterprojekt: Open Source Zwift Alternative mit OSM
Mir ist aktuell kein Projekt in die Richtung bekannt, aber ich habe diesbezüglich folgende Überlegungen:

  1. Ein Programm zu schreiben, welches über ANT+ oder BLE den Trainer steuert dürfte machbar sein, die APIs sind weitgehend klar definiert. Auch wenn nicht jeder Trainerhersteller diese zu 100% umsetzt.
  2. Programm um die OSM Daten erweitern, sodass man eine Route abfährt, dürfte auch noch gut machbar sein, ist aber sicher bisschen abenteuerlicher.
  3. Umrechnung aus OSM auf Leistung etc. ist sicher machbar, erfordert aber mit Sicherheit einiges an Recherche, um herauszufinden, welches Modell da am besten umsetzbar ist. Bzw. man müsste sich die APIs für die Trainersteuerung anschauen, ob da die Leistung oder zu simulierender Anstieg geschickt wird. Für die Umrechnung Leistung -> Geschwindigkeit im Spiel wird man aber sicher was brauchen, kann man aber je nachdem einfach halten.
  4. Ein Spiel aus dem ganzen zu machen auch nur mit modellhafter Darstellung hört sich dagegen sehr aufwendig und langwierig an, vor allem als Hobbyprojekt. Ich bin da selbst nicht darüber hinaus gekommen als ein Auto (Klotz mit vier Kreisen) auf der Ebene (keine Grafiken, weitere Objekte, nichts) herumfahren und driften zu lassen. Aber bereits das war ein P.I.T.A.
  5. Will man alleine oder mit den anderen spielen? Das lustige an dem Zeug ist ja das Miteinander. D.h. irgendwo muss die Serverkomponente laufen. Das kostet was. Schnell mal mehr als die besagten 15€/Monat. Reine P2P Lösung grenzt an den Wahnsinn.

Fazit: will man bloß die Leistung dem Rollentrainer vorgeben (ERG Modus), kann man das mit kostenlosen Apps oder gar einem Garmin machen. Will man Open Source Zwift aufbauen, braucht man einiges an Zeit, Geld und Team. Zum Geld Sparen taugt die Idee daher aus meiner Sicht nicht.

p.s. als .net Entwickler sollte es nicht viel Mühe sein an den Betrag fürs Jahresabo von Zwift ranzukommen.
 
@alfton vielen Dank für die Denkanregungen.

  1. ok, dacht ich mir schon.
  2. Ich will nicht zwingend eine Route abfahren, sondern frei in der Welt rumgurken. Ja, das wird bei größeren bzw. dicht aufeinander folgenden Kreuzungen abendheuerlich.
  3. Hier dachte mein naives, vergangenes Ich, dass der Trainer über FE-C schon die Geschwindigkeit liefert und ich nur noch die Steigung angeben muss. Aber das hängt wahrscheinlich an den "100%" von 1.
  4. Ja, einfach wirds nicht, aber gestern Abend schon ein Tutorial gefunden OSM Daten einzulesen und anzuzeigen. IMHO ist es für den Anfang damit getan, das die Kamera mit einer gewissen Geschwindigkeit einer Linie folgt. Ggf noch ein Punkt auf der Linie für die aktuelle Position. Mehr nicht.
    Anspruchsvoller wird es wahrscheinlich die Höhendaten reinzurechnen und dann für jeden Straßenabschnitt die Steigung zu ermitteln, die an den Trainer geschickt wird. Das is auch genau der Punkt, der wahrscheinlich der Sache einen Strich durch die Rechnung macht, so wie ich Höhendaten bisher kenne (grad bei kleinen Straßen in engen Tälern springen Wege gern mal den Hang hoch und runter).
  5. Ja, bei Mehrspieler mit Server und co. wirds Kostspielig. Daher is das Ziel definitiv (vorerst) Singleplayer.
    Mag aber auch daran liegen, dass ich auch bei Zwift lieber allein fahre(n würde) und mir die teils sehr vielen Leuts eher auf den Keks gehen.
Ja, es gibt die ERG Apps und auch Apps um Routen nachzufahren (meist 2D, z.B. direkt die von Elite), aber ich möchte gern bisschen Abwechslung im Training haben und z.B. ganz Spontan mal eben doch den Pass XY nehmen und mir auf der halben Strecke überlegen links abzubiegen. Also das ganze ohne vorherige Streckenplanung!
Eine Alternative zu dem Ganzen wäre natürlich einfach z.B. eine Komoot Strecke mit Höhenprofil zu nehmen, die 3D anzuzeigen und abzufahren. Da fehlt mir dann aber das spontane "ohh die Straße da drüben sieht aber schön aus".

Wahrscheinlich ist das ganze dann im März, wenns Wetter wieder besser wird fertig und ich bin den ganzen Winter nicht aufs Rad gekommen ;-).

p.s.: der .net Entwickler hat noch Elternzeit, sich von der Frau getrennt und muss eine Wohnung einrichten. Sonst wäre ihm die Wahnsinnige Idee wahrscheinlich gar nicht gekommen.
 
Höhendaten müsstest du parallel zum OSM noch aus 'nem DEM holen (SRTM oder moderneres, dir wird ein Kerl namens Sonny ein ziemlich fester Begriff werden) und dann gilt es ohne Ende Fehler herausglätten da das DEM glatte schiefe Ebenen beschreibt wo sich die tatsächliche Straße mal tiefer hereingraben würde (DEM Werte zur 2d-Koordinierte deutlich höher als real), mal weit draußen läuft (DEM Werte zur 2d-Koordinierte deutlich niedriger als real).

Wenn du OSM mir etwas Dynamik auf den Bildschirm bringen willst ohne ganz weit tief zu gehen (oder irgend kommerzielles zu buchen) sollte VTM eigentlich das Mittel deiner Wahl sein (flottes OpenGL-Rendering von offline-Vektorkarten), obwohl das Java ist was für dich als #-ler vmtl nicht gerade Wohlfühlzone ist. Vielleicht kann man das schon irgendwie mit Valhalla für Leute wie dich nutzbar machen?
 
Japp, die Höhendaten lassen grad die Hoffnung und Motivation schwinden.
Hatte ganz leicht gehofft, ohne vorher zu lesen, dass die Höhendaten, zumindest hin und wieder, an den Nodes zu finden sind.
Warum eigentlich nicht? Eine befriedigende Antwort auf diese Frage hab ich nirgendwo gefunden.
Auf manuelle Fehlerkorrektur auf 1000den km Wegen hab ich so überhaupt keine Lust.
Zumal ja grad die Wege in nicht so flachen Regionen für den Trainer intressant sind.

Wenn ich meine Gedanken mal schweifen lasse und an meine über 6000 Garmin Aufzeichnungen mit Höhendaten denke ... vielleicht lässt sich da ja was zusammenführen. Dann hätt ich relativ verlässliche Höhendaten zumindest für die Strecken, die ich schonmal gefahren bin ... hmmmm riecht irgendwie nach ner DB mit GIS Erweiterung wo man das alles erstmal reinkippt um dann eine Abfragen alá "gib mir den Durchschnitt der Höhenwerte an Punkt x/y im Umkreis von 5m" gegen laufen lässt *träum'.

SInd wir aber auch ganz schnell wieder bei Clouddiensten um diese Datenmengen, wenns dann später mal mehr werden, handzuhaben. Ooch menno ...
 
Bei solchen Ideen finde ich eine kleine Marktanalyse am Anfang recht hilfreich.
Wenn man sich die Softwarelösungen anschaut, die bereits teils länger auf dem Markt sind, sieht man wie weit diese sind und vor allem wie schnell die vorankommen. Bei mehr als einem Marktteilnehmer kann man davon ausgehen, dass da nicht nur Idioten an der Entwicklung beteiligt waren.
Das hilft mMn sehr bei der Einschätzung des eigenen potenziellen Fortschritts. Auch wenn man ein extremer Underestimator ist, sollte man dadurch einen gewissen Korrekturfaktor in die eigene Rechnung reinkriegen.

Bei den Produkten wie Zwift, Rouvy und wie die sonst alle heißen sieht man, dass die Entwicklung relativ langsam ist, was Streckennetz angeht. Es scheint einiges an Handarbeit drin zu stecken. Sonst würde einer der Anbieter mal schnell das als Vorteil des eigenen Systems vermarkten.
 
Hi, ich habe von einer Mod zu GTAV gelesen, bei welcher man Fahrräder in der Spielwelt mittels Smart Trainer steuern kann. Vielleicht kann man von der Software irgendwie profitieren bzw. OSM Daten in die GTA Engine laden... HIer mal ein Video vom Ganzen
 
Hi, ich habe von einer Mod zu GTAV gelesen, bei welcher man Fahrräder in der Spielwelt mittels Smart Trainer steuern kann. Vielleicht kann man von der Software irgendwie profitieren bzw. OSM Daten in die GTA Engine laden... HIer mal ein Video vom Ganzen
Geil, wenn man das jetzt noch mit WII Controllern kombiniert, sodass man realistisches Drive-By aufm Rad in GTA V machen oder andere Radfahrer mit Flasche bewerfen kann, wäre das der Hammer.
So eine GTA Zwift Mischung würde ich mir sofort holen.
 
Sehr coole Idee mit GTA! Schade das mein Rad nicht direkt nebem Spielerechner steht.

@alfton Im Kopf hatte ich eine kleine "Marktanalyse" angefertigt in dem Sinne, das ich nix mit Phototexturen, Videos und Geländemodellen und virtuellen Umgebungen machen, sondern viel automatisieren wollte. Ich denk mal das z.B. bei Zwift die Entwicklungszeit daher kommt, das die ganze Umwelt doch sehr detailreich gestaltet ist. Eine neue Strecke ohne Umgebung werden die sicherlich auch in kürzester Zeit raushaun können.
Ich find es nach wie vor sehr schade, das an den OSM Daten in der Regel keine Höhendaten hinterlegt sind. Das würde nicht nur eine generelle Darstellung, sondern vor Allem u.a. Tunnelführungen und Wegüberschneidungen bei Autobahnkreuzen erheblich vereinfachen.

Jetzt hat mich das Ganze aber gepackt und ich bin am einlesen ins das ganze Thema der Höhendaten. Wie du schon vermutetest bin ich natürlich bei sonny gelandet ;-)

In einem ersten Schritt werd ich mal versuchen einen kleinen Ausschnitt an OSM Daten mit interpolierten Höhendaten aus dem 20m Modell anzureichern.

Werde den Thread hier auf dem Laufenden halten.
 
Hi, ich habe von einer Mod zu GTAV gelesen, bei welcher man Fahrräder in der Spielwelt mittels Smart Trainer steuern kann. Vielleicht kann man von der Software irgendwie profitieren bzw. OSM Daten in die GTA Engine laden... HIer mal ein Video vom Ganzen
Cool, wenn ein Autofahrer zu dicht überholt, dann wird er aus dem Auto gezerrt und mit dem Baseballschläger verprügelt. Und falls das nicht reichen sollte, wird Jahr mit dem Raketenwerfer geschossen.
 
VeloCycleScroller ist/war mal so eine Software mit Unity programmiert, das "Umland" wurde vom Entwickler selbst gestaltet, die Strecke mit einem Kostengünstigen Zusatztool aus GPX-File.
Die Renderegine die aus OSM Daten Landschaft generieren fallen nicht unter günstig.
 
Bei solchen Ideen finde ich eine kleine Marktanalyse am Anfang recht hilfreich.
Wenn man sich die Softwarelösungen anschaut, die bereits teils länger auf dem Markt sind, sieht man wie weit diese sind und vor allem wie schnell die vorankommen.
Was ist der Markt, wer ist die Konkurrenz? Der primäre Zweck von Freizeitprogrammierprojekten ist oft einfach nur sich irgendwo auszutoben wo man sein eigener Chef ist, wo man Ideen ausprobieren kann um zu lernen, wo niemand außer einem selber enttäuscht ist wenn etwas nicht klappt. Aber trotzdem möchte man natürlich ein Ziel haben das einen motiviert, das ist der Unterschied zwischen einer sonnigen Fahrt auf's Stilfser Joch und der äquivalenten Rollensitzung wo man die gleichen x Watt für y Stunden treten würde (oder eben nicht...).

Die primäre Konkurrenz sind andere Freizeitoptionen (also 2020 Fernsehen und Videospiele...:/). Aber die “andere“ Konkurrenz, die bereits verfügbaren Lösungen für die Aufgabe der man sich stellt ist natürlich trotzdem spannend, nämlich für die Motivation. Welche Nischenaspekte gibt es wo man vielleicht tatsächlich besser sein kann selbst wenn alle anderen “Produkteigenschaften“ schlechter sind?
 
Zurück
Oben Unten