mapbox / mapbox/mapbox-navigation-android

[MapboxReplayer] Use a curve to calculate the speed profile for simulating routes

Offen
#5,682 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

jira-sync-complete
Vorherrschende Sprache
Kotlin
Sterne
651
Forks
321
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

The replayer does not have perfect "distance" and "speed" calculations. We can improve the driver speed in order to make it exact. The speed accelerations are linear, but we could introduce a curve. The [hermite curve](https://en.wikipedia.org/wiki/Cubic_Hermite_spline) feels perfect for this

![Screen Shot 2022-04-07 at 4 57 14 PM](https://user-images.githubusercontent.com/3021882/162337773-a010929f-f08f-4823-bb97-b5cfa1c2978e.png)

We want to speed and distance calculations to be exact, and then we create our own imperfect scenarios.

Here is where the speed profile is calculated

https://github.com/mapbox/mapbox-navigation-android/blob/3b9bbcc97bfc719c168392faf59333c91bf92eda/libnavigation-core/src/main/java/com/mapbox/navigation/core/replay/route/ReplayRouteInterpolator.kt#L18-L29

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit libnavigation-core/src/main/java/com/mapbox/navigation/core/replay/route/ReplayRouteInterpolator.kt bei der verlinkten Berechnung des Geschwindigkeitsprofils. Überprüfe, wie sich die aktuelle lineare Beschleunigung auf die Geschwindigkeit und die Strecke bei der Wiedergabe auswirkt, und bestimme anschließend, wie eine Hermite-Kurve exakte Berechnungen liefern sollte. Erledigt ist die Aufgabe, wenn der Replayer das kurvenbasierte Profil verwendet und die Berechnungen von Geschwindigkeit und Strecke exakt sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
android, kotlin
Bereich
mobile
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.