Road Surface Profiler
Hey all,
so since I bought my Karoo 2 weeks ago I have been playing around with it and with the new opportunities I have now having a bike computer that runs android.
What I always wanted to have is a map where I can see all routes that I have been riding (like strava heatmaps), only with the road quality embedded in a color code. Quite useful for planning routes. I have been using QGis before to import GPX files and color code the routes manually, but that got old quite quickly. Now having access to the accelerometer of my headunit I was intrigued if this could be used to automate things. And first tests show its working quite well :)
I wrote a small android app that records GPS and accelerometer data while running in the background during the ride:

I have written a python tool to post-process the raw data (most of the time went into this):

And I built a simple frontend for displaying the data in a map with leaflet:

The displayed data is just from a very short test ride, but I must say, I like the results. I will have to watch the battery- and disk space usage to see if this can be used as is for longer rides as well or if I will have to optimize the logging. Having the option to log this via the Karoo app into the fit file would of course be ideal ;-)
I plan to make this open source once I am happy with the code so anyone who's interested can use this.
Cheers :)
-
This is true but the range will be similar and if you average across a large enough number of users of different types the results will be useful. What I mean is you might measure a given road as 10 ‘bumpiness’ and I measure it as 9. But both of us will think that that road is one of the bumpiest roads you ride - it’s the comparison you are interested in not the actual value.
-
I don't think that adding profile records from different users would be of great help. The accelerometer data is affected in a huge way by any kind of suspension, and the moment you mix different bikes the data is not comparable anymore.
Of course you could set the color scale different for every uploaded ride, but then it would not be comparable again because what you might rate as good I might just not. Me for instance, I created this mainly because I want to find the best roads to ride with a TT bike, so I would scale the colors for me in a way that only perfectly flat roads are colored green.
I think having this locally or maybe on a webserver where you only see your own rides would be the easiest to implement and the most helpful
Please sign in to leave a comment.
Comments
5 comments