Natenoms Wiki

Weil Teilen Spaß macht :)

Benutzer-Werkzeuge

Webseiten-Werkzeuge


verkehr:projekte:abstandsmesser:radmessers

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
verkehr:projekte:abstandsmesser:radmessers [2019/08/15 00:27]
Natenom
verkehr:projekte:abstandsmesser:radmessers [2019/09/27 11:39] (aktuell)
Natenom
Zeile 1: Zeile 1:
 ======RadmesserS (Stuttgart)===== ======RadmesserS (Stuttgart)=====
 +  * [[nblog>?​p=45363|Blogbeitrag über meinen Einsatz des RadmesserS]].
 +  * [[nblog>​tag/​radmessers/​|Weitere Blogbeiträge zum Thema RadmesserS]]
 +  * Da ich einen Radmesser von [[https://​zweirat-stuttgart.de/​projekte/​radmesser/​|Zweirat Stuttgart]] zugeschickt bekommen habe, sollen hier alle Informationen dazu hinterlegt werden.
 +  * Die Dokumentation des Projekts und den Code für die Programmierung als auch die Druck-Daten für das Gehäuse gibt es auf Github, [[https://​github.com/​tobst/​radmesserS|siehe hier]].
 +
 +
 +{{anchor:​a_natenoms_fahrten}}
 +=====Daten von Natenoms Fahrten=====
 <WRAP round info> <WRAP round info>
 Die Messergebnisse meiner Fahrradfahrten sind öffentlich zugänglich. Eine der Dateien enthält fortlaufend alle bisher gesammelten Daten und wird alle paar Tage aktualisiert werden. Die Daten findest du unter [[nfiles>​public/​radmessers/​]]. Die Messergebnisse meiner Fahrradfahrten sind öffentlich zugänglich. Eine der Dateien enthält fortlaufend alle bisher gesammelten Daten und wird alle paar Tage aktualisiert werden. Die Daten findest du unter [[nfiles>​public/​radmessers/​]].
Zeile 8: Zeile 16:
   * cyclistspeed – Geschwindigkeit des Radfahrenden laut GPS in km/h, mit einem Dezimalpunkt als Trenner   * cyclistspeed – Geschwindigkeit des Radfahrenden laut GPS in km/h, mit einem Dezimalpunkt als Trenner
   * spacerwidth – Ueberhang des Abstandshalters links über das Lenkrad in cm   * spacerwidth – Ueberhang des Abstandshalters links über das Lenkrad in cm
-  * distance – Gemessener Abstand in cm (exklusive Rückspiegel des Fahrzeugs)+  * distance – Gemessener Abstand in cm (exklusive Rückspiegel des Fahrzeugs); diesen kann man mit einem durchschnittlichen Wert von 10 cm bei jedem Überholvorgang abziehen. So hat man es beim Radmesser-Projekt des Tagesspiegel gemacht.
   * vehicletype – Fahrzeugtyp,​ Auto, Motorrad, Lkw, etc.   * vehicletype – Fahrzeugtyp,​ Auto, Motorrad, Lkw, etc.
   * tracktype – 0 = Landstraße,​ 1 = Stadt, weitere möglich   * tracktype – 0 = Landstraße,​ 1 = Stadt, weitere möglich
Zeile 17: Zeile 25:
 </​WRAP>​ </​WRAP>​
  
-Da ich einen Radmesser ​von [[https://​zweirat-stuttgart.de/​projekte/​radmesser/​|Zweirat Stuttgart]] zugeschickt bekommen ​habe, sollen hier alle Informationen dazu hinterlegt werden. Ein Teil dessen könnte dann in Zukunft ins [[https://​github.com/​tobst/​radmesserS|Github-Repo]] des Projekts wandern.+=====Dokumentation des RadmesserS===== 
 +Die Dokumentation war zuerst hier zu finden, weil ich lieber in der "​Entwicklung" ​von Texten mit DokuWiki arbeiteDa der große Teil davon fertig ist, habe ich alles ins offizielle Repo des Projekts auf Github verschobensiehe [[https://​github.com/​tobst/​radmesserS/wiki|hier]].
  
 +  * [[https://​github.com/​tobst/​radmesserS/​wiki/​Aufbau-und-Funktion-(de)|Aufbau und Funktion]]
 +  * [[https://​github.com/​tobst/​radmesserS/​wiki/​Einrichtung-(de)|Setup]]
 +  * [[https://​github.com/​tobst/​radmesserS/​wiki/​Aufnehmen-(de)|Aufzeichnung der Daten]]
 +  * [[https://​github.com/​tobst/​radmesserS/​wiki/​Rohdaten-(de)|Was die Rohdaten enthalten]]
 +  * [[https://​github.com/​tobst/​radmesserS/​wiki/​Auswertung-der-Daten-(de)|Auswertung der Daten]]
 +  * [[https://​github.com/​tobst/​radmesserS/​wiki/​Bekannte-Probleme-(de)|Bekannte Probleme]]
  
-Der Radmesser gibt sich per Bluetooth als Pulssensor aus. Über eine App kann man die Daten z. B. mit einer Android-App aufzeichnen und später zusammenführen. +=====GPX Zeit=====
- +
-Der Sensor misst im Betrieb in jeder Sekunde so schnell und so oft wie möglich die zu dieser Zeit auftretenden Abstände und meldet dann einmal pro Sekunde den kleinsten Wert davon als Puls über Bluetooth.((Das sind ca. 20 - 40 Werte pro Sekunde. Je näher das Auto, desto schneller eine Messung, weil die Software dann einen Wert bekommt und nicht auf das Timeout wartet.)) +
- +
-Das Gerät hat einen von außen zugänglichen Micro-USB-Anschluss zum Aufladen des Akkus und einen Ein-/​Aus-Schalter. An ist das Gerät, wenn der Schalter zum USB-Port zeigt. +
- +
-Den Code für die Programmierung als auch die Druck-Daten für das Gehäuse gibt es auf Github, [[https://​github.com/​tobst/​radmesserS|siehe hier]]. +
- +
-[{{:​verkehr:​projekte:​abstandsmesser:​radmessers_1.jpg?​400|Vorderseite mit Ultraschallsensor}}] [{{:​verkehr:​projekte:​abstandsmesser:​radmessers_2.jpg?​400|Rückseite (verschraubt)}}] +
-[{{:​verkehr:​projekte:​abstandsmesser:​radmessers_3.jpg?​400|Oberseite mit Befestigungsmöglichkeiten}}] [{{:​verkehr:​projekte:​abstandsmesser:​radmessers_4.jpg?​400|Micro-USB-Port und An-/​Aus-Schalter}}] +
-  +
-=====Akku===== +
-Akku hat eine Kapazität von 1,1 Ah. Das interne Ladegerät 1 A. Wenn das verwendete externe Ladegerät 1 A liefert, sollte der Akku des Abstandsmessers in ca. 1 h geladen sein. +
- +
-Beim Laden leuchtet eine rote LED im Gehäuse. Das Gerät ist geladen, sobald die grüne LED leuchtet; da jedoch das Gehäuse selbst rot ist, sieht das dann eher aus, wie ein schach leuchtendes rot. +
- +
-=====Setup===== +
-Damit die Daten später gut zusammengeführt werden können, sollten die Uhren der Kamera und des Smartphones möglichst genau eingestellt sein oder zumindest gleich. Bei guter Ortskenntnis und einer Software, die die gemessenen Abstandswerte auf einer Karte darstellt, ist die Uhrzeit nicht so wichtig. +
- +
-====Befestigung am Fahrrad==== +
-An meinem Fahrrad habe ich den Radmesser an der Unterseite des Oberrohrs befestigt. Am Radmesser gibt es zur Befestigung an der Oberseite zwei abgerundete "​Schlaufen"​ durch die man Kabelbinder durchschieben kann; oder auch ein Band oder ähnliches. Letzteres ist besser, damit man es im Regen abnehmen kann. Das Gehäuse ist nämlich nicht regendicht. +
- +
-Eingetragen als Offset (Breite des Lenkers von der Mitte bis zur Außenkante links) im Gerät habe ich 43 cm; das erledigt man mit der App "BLE Scanner",​ siehe unten. +
- +
-Der Lenker meines Fahrrads ist von der Fahrradmitte aus gemessen bis zur äußersten Außenkante (inklusive Rückspiegel) 45 cm breit. Da der Abstandsmesser mittig am Fahrrad angebracht ist und circa 4 cm breit ist, habe ich die halbe Gehäusebreite vom Offsetwert abgezogen. +
- +
-FIXME Höhe sollte auch relevant sein bei der Montage, damit die Karroserie ausgewertet wird und nicht die (runde) Stelle ab den Fenstern, FIXME gibt es überhaupt so große Fahrräder. +
- +
-FIXME Ausrichtung möglichst waagerecht? FIXME +
- +
-Aktuell ist der Abstandsmesser etwas tiefer befestigt und liefert bessere Ergebnisse:​\\ {{:​verkehr:​projekte:​abstandsmesser:​fahrrad_mit_radmessers.jpg?​400|}} +
- +
-====Lenkerbreite im Radmesser einstellen==== +
-Mit der App [[https://​play.google.com/​store/​apps/​details?​id=com.macdom.ble.blescanner|BLE Scanner]] stellt man die Breite in Zentimetern von der linken Kante des Sensors zur linken Kante des Lenkers bzw. des am weistesten abstehenden Punktes des Fahrrads ein. Dieser Wert wird dann automatisch vom gemessenen Abstand abgezogen, der per Bluetooth als Puls an das Smartphone gesendet wird. +
- +
-  * Connect drücken beim "Polar H7 xxxxxx"​-Gerät -> Ganz unten "​Custom Service"​ öffnen -> Bei "​Custom Characteristic"​ auf das "​W"​ drücken. Wert in Zentimetern eingeben und OK drücken. Der Wert ist nun im Radmesser eingespeichert und die App kann wieder deinstalliert werden. +
- +
-{{gallery>:​verkehr:​projekte:​abstandsmesser?​ble_scanner_*.jpg&​lightbox&​noshowname}} +
-====RunnerUp konfigurieren==== +
-===Mit Radmesser koppeln=== +
-Mit der App [[https://​play.google.com/​store/​apps/​details?​id=org.runnerup|RunnerUp]] werden die Daten vom RadmesserS aufgenommen. Der Radmesser wird als Pulssensor in der App hinzugefügt und wenn man unterwegs ist, werden dessen Daten über diese App aufgezeichnet. Später können die Daten über eine entsprechende Software mit den GPS-Daten und dem Video zusammengeführt werden. +
- +
-  * Settings -> Heart Rate Monitor -> Scan -> "​Bluetooth SMART (BLE)" -> "Polar H7 xxxxxx"​ -> Connect -> raus aus Einstellungen -> Hauptmenü -> "Start GPS" -> Unten rechts wird jetzt ein Herzsymbol angezeigt mit dem aktuellen Abstand. +
- +
-<WRAP round important>​ +
-Bei Smartphones von Samsung darf nicht der Batterie-Sparmodus aktiviert sein, weil dann kein GPS verfügbar ist, sobald das Display länger als ein paar Minuten aus ist. Bei anderen Smartphones könnte das ähnlich sein. +
-</​WRAP>​ +
- +
-{{:​verkehr:​projekte:​abstandsmesser:​runnerup_1.jpg?​100|}} {{:​verkehr:​projekte:​abstandsmesser:​runnerup_2.jpg?​100|}} {{:​verkehr:​projekte:​abstandsmesser:​runnerup_3.jpg?​100|}} +
- +
-{{:​verkehr:​projekte:​abstandsmesser:​runnerup_4.jpg?​100|}} {{:​verkehr:​projekte:​abstandsmesser:​runnerup_5.jpg?​100|}} {{:​verkehr:​projekte:​abstandsmesser:​runnerup_6.jpg?​100|}} +
- +
-{{:​verkehr:​projekte:​abstandsmesser:​runnerup_7.jpg?​100|}} {{:​verkehr:​projekte:​abstandsmesser:​runnerup_8.jpg?​100|}} {{:​verkehr:​projekte:​abstandsmesser:​runnerup_9.jpg?​100|}} +
- +
-{{:​verkehr:​projekte:​abstandsmesser:​runnerup_10.jpg?​100|}} +
- +
-===Export der Daten=== +
-In RunnerUp auf "​History"​ drücken, die Aktivität auswählen mit einem Druck und diese dann teilen und so irgendwohin speichern oder versenden. Format muss "​gpx"​ sein. +
- +
-Alternativ lässt sich RunnerUp auch so konfigurieren,​ dass automatisch alle aufgezeichneten Tracks in ein Verzeichnis auf dem Smartphone abgelegt werden. Dann ist keine Interaktion notwendig. Dies bietet sich an, wenn man z. B. Syncthing nutzt, um Daten zwischen Smartphone und PC zu synchronisieren. +
- +
-Zum Einrichten öffnet man die "​Settings",​ drückt dann auf "​Accounts"​ und drückt den "​Connect"​-Knopf rechts des kleinen Verzeichnis-Symbols an.\\ {{:​verkehr:​projekte:​abstandsmesser:​runnerup_automatisch_in_ein_verzeichnis_speichern_1.jpg?​100|}} +
- +
-Dann wählt man das Zielverzeichnis aus und stellt als Format "GPX" ein.\\ {{:​verkehr:​projekte:​abstandsmesser:​runnerup_automatisch_in_ein_verzeichnis_speichern_2.jpg?​100|}} +
- +
-Dann aktiviert man "​Automatic Upload"​ und drückt dann "​OK"​.\\ {{:​verkehr:​projekte:​abstandsmesser:​runnerup_automatisch_in_ein_verzeichnis_speichern_3.jpg?​100|}}\\ {{:​verkehr:​projekte:​abstandsmesser:​runnerup_automatisch_in_ein_verzeichnis_speichern_4.jpg?​100|}} +
- +
-=====Aufzeichnung der Daten===== +
-RadmesserS einschalten,​ RunnerUp starten, abwarten, dass sich RunnerUp mit dem RadmesserS verbindet, auf GPS-Fix warten und Aktivität starten. Am Ende die Aktivität stoppen und das Ergebnis speichern. +
- +
-<WRAP round info> +
-Wenn die Synchronisation der Zeit auf Smartphone und Kamera nicht ganz passt, dann kann man sich auch eines Tricks bedienen: Zum Synchronisieren eine Uhr-App auf dem Smartphone starten und mit der Kamera filmen. Dann sieht man den Unterschied und kann diesen dann bei der Betrachtung der gpx-Daten einbeziehen. +
- +
-Oder man verwendet eine Software, die zu jedem aufgezeichneten Punkt eines Tracks auch den Abstand (den Puls) anzeigt, wie z. B. GPXLab (siehe unten).</​WRAP>​ +
- +
-<WRAP round alert> +
-Bisher stürzte die App einmal ab, nachdem ich viele Kilometer aufgenommen hatte und in der App zwischen verschiedenen Ansichten wechselte (Karte, Diagramm, ...). Deshalb bietet es sich an, jedes Mal, wenn man eine Pause macht, auch die Aktivität zu stoppen und zu speichern, statt nur zu pausieren. Für die Auswertung ist es unerheblich,​ ob man eine Datei hat oder 100. +
-</​WRAP>​ +
- +
-=====Was die Rohdaten enthalten===== +
-In der exportierten GPX-Datei sind die einzelnen Punkte alle x Zeit enthalten, aus denen sich die gefahrene Strecke ergibt und zwischendrin auch für jede Sekunde der gemessene Abstand in Zentimetern (als Pulsdaten (:hr = Heart Rate) gekennzeichnet). Der maximale Wert von 255 kommt vom Sensor; größere Werte werden nicht erfasst. Da alle Daten einen Zeitstempel enthalten, lässt sich auch ohne spezielle Software eine Zuordnung zu den Abständen eines Videos realisieren,​ sofern die Zeiten auf Kamera und Smartphone übereinstimmen. Wenn die Uhrzeiten nicht ganz stimmen, so muss man den Unterschied ermitteln und das dann immer umrechnen. +
- +
-Ein Datensatz mit Abstandsdaten (als Puls angegeben) sieht so aus: ((Es ist möglich, noch viele Daten mehr wie Genauigkeit,​ Geschwindigkeit usw. in der GPX-Datei hinterlegen zu lassen, wenn man in RunnerUp den Haken für "​Genauigkeit hinzufügen"​ aktiviert)) +
-<​code>​ +
-  <trkpt lon="​8.123456"​ lat="​48.123456">​ +
-    <​time>​2019-07-20T17:​57:​36Z</​time>​ +
-    <​extensions>​ +
-      <​gpxtpx:​TrackPointExtension>​ +
-      <​gpxtpx:​hr>​95</​gpxtpx:​hr>​ +
-      </​gpxtpx:​TrackPointExtension>​ +
-    </​extensions>​ +
-  </​trkpt>​ +
-</​code>​ +
- +
-<WRAP round info> +
-Je nach App können die Uhrzeiten als UTC+0 (das Z am Ende von ''​2019-07-20T17:​57:​36Z''​ steht für Zero((https://​www.w3.org/​TR/​NOTE-datetime))) gespeichert sein. In Deutschland entspricht die Winterzeit (Normalzeit) UTC+1 und die Sommerzeit UTC+2. D. h. aktuell (Juli 2019) auf dieses Beispiel bezogen ist die Uhrzeit in den Rohdaten (GPX-Datei) zwei Stunden weniger als auf der Kamera, die die Sommerzeit anzeigt. D. h. die Szene auf der Kamera ist für obiges Beispiel bei ''​19:​57:​36''​ zu finden. +
-</​WRAP>​ +
- +
-=====Auswertung der Daten===== +
-====Daten am PC zusammenführen==== +
-FIXME gpxlab anleitung, wie man es benutzt; auf Unterseite. +
- +
-<WRAP round important>​ +
-Da es unwahrscheinlich ist, dass der Rückspiegel eines Autos bei der Abstandsmessung erfasst wird, muss dieser noch manuell vom Abstand abgezogen werden. Da jedes Fahrzeug andere Rückspiegel hat, kann man das leider nicht als statischen Wert hinterlegen. +
- +
-Optional kann man noch eine feste Breite des Rückspiegels von Autos in den Offset einprogrammieren (siehe "​Lenkerbreite im Radmesser einstellen"​). Die sind zwar in der Regel verschieden,​ man könnte aber trotzdem der Einfachheit halber einen festen Wert von 10 cm nutzen, wie das auch beim Radmesser-Projekt des Tagesspiegel getan wurde.((https://​www.tagesspiegel.de/​gesellschaft/​medien/​radmesser-die-genaue-methode-wie-wurden-die-ueberholabstaende-gemessen/​23710682.html)) +
-</​WRAP>​ +
- +
- +
-FIXME Overlay ins Video mit Windows-Anwendung;​ optional in VM. +
- +
-=====Probleme===== +
-Es traten Messfehler in folgenden Situationen auf: +
-  * Benutzen der Airzound kurz vor einer Messung, während einer Messung oder kurz nach einer Messung. +
-  * Knatternder Motor eines Motorrats beim Überholen. +
-  * Selbst bei freier Straße werden ab und zu Dinge gemessen; hängt das mit Musik zusammen, die ich fast immer per Bluetooth-Box höre? +
-  * FIXME +
- +
-====GPX Zeit====+
   * Wenn die gpx zeit nicht stimmt, kann man diese anpassen: https://​www.gpsbabel.org/​htmldoc-development/​filter_track.html Example 4.8   * Wenn die gpx zeit nicht stimmt, kann man diese anpassen: https://​www.gpsbabel.org/​htmldoc-development/​filter_track.html Example 4.8
   * https://​www.gpsbabel.org/​htmldoc-development/​filter_track.html Example 4.9 tracks mergen; einfacher, wenn nur ein Track statt viele   * https://​www.gpsbabel.org/​htmldoc-development/​filter_track.html Example 4.9 tracks mergen; einfacher, wenn nur ein Track statt viele
Zeile 145: Zeile 42:
 =====Todo===== =====Todo=====
   * Script, das mehrere GPX dateien eines Tages zu einer GPX-Datei merged.   * Script, das mehrere GPX dateien eines Tages zu einer GPX-Datei merged.
-  * Script, das alle Uhrzeiten einer GPX-Datei um xx Sekunden vor oder zurück anpasst. +  * FIXME Script, das eine GPX-Datei ausliest und aus allen Punkten eine mit dem CSV-Format kompatible Liste aller dieser Punkte erstellt. Dann muss ich beim Validieren nicht mehr alles manuell kopieren, sondern nur noch die nicht benötigtem Punkte/​Zeilen zwischendrin löschen. Dabei sollten auch die Koordinaten drin bleiben.
-  * Script, das eine GPX-Datei ausliest und aus allen Punkten eine mit dem CSV-Format kompatible Liste aller dieser Punkte erstellt. Dann muss ich beim Validieren nicht mehr alles manuell kopieren, sondern nur noch die nicht benötigtem Punkte/​Zeilen zwischendrin löschen ​und die fehlden Daten wie "​geschätzte Geschwindigkeit des Überholenden"​ eintragen. Dabei sollten auch die Koordinaten drin bleiben.+
   * Script, das vor dem Hochladen aus den Daten die Koordinaten löscht. Später kann man diese möglicherweise hochladen.   * Script, das vor dem Hochladen aus den Daten die Koordinaten löscht. Später kann man diese möglicherweise hochladen.
   * Überlegen, welche Erkenntnisse man vermitteln möchte und dazu ein Repo aus verschiedenen Plots erstellen.   * Überlegen, welche Erkenntnisse man vermitteln möchte und dazu ein Repo aus verschiedenen Plots erstellen.
     * Hier wäre Hilfe von Menschen schön, die sich mit sowas auskennen; sollte mit matplotlib und Python gelöst sein.     * Hier wäre Hilfe von Menschen schön, die sich mit sowas auskennen; sollte mit matplotlib und Python gelöst sein.
-  * Am Ende alles ins Github pushen. 
- 
  
 {{tag>​RadmesserS Radmesser Abstand Fahrrad Verkehr Mobilität Zweirat Stuttgart Abstandssensor Ultraschall Abstandsmesser Messgerät}} {{tag>​RadmesserS Radmesser Abstand Fahrrad Verkehr Mobilität Zweirat Stuttgart Abstandssensor Ultraschall Abstandsmesser Messgerät}}
verkehr/projekte/abstandsmesser/radmessers.1565821640.txt.gz · Zuletzt geändert: 2019/08/15 00:27 von Natenom