Distance not being measured according to bike speed sensor

Jan Kovar shared this problem 15 months ago
In Progress

Hi,

I report this as an issue part of the topic

http://help.locusmap.eu/topic/improved-stop-detection-and-distance-calculation-with-a-speed-sensor

The idea is more comprehensive and I suggest more complex solution, however the part which can be considered a bug is following:

If I use speed sensor in my bike profile (auto connect etc.) therefore it is my primary source of truth for speed, the distance is stil being measured by GPS speed. This has 3 consequences:

1) Distance is inaccurate in comparison to my cycling computer (it does not recognize when i do small turns etc..) riding in small circles etc..

2) The distance is being measured even when I do not ride the bike bike (take train, lift etc..)

3) The distance if being measured if the GPS shows some minimal speed (GPS inaccuracy) while my bike is obviously not moving.

I suggest to introduce another item "biking distance" which is computed purely on sensor speed.

Comments (9)

photo
1

Hi,

@1) Distance is inaccurate in comparison to my cycling computer (it does not recognize when i do small turns etc..) riding in small circles etc.. - set your recording profile with denser time/distance frequency

@2) The distance is being measured even when I do not ride the bike bike (take train, lift etc..) - pause track recording, when you don't ride the bike

@3) The distance if being measured if the GPS shows some minimal speed (GPS inaccuracy) while my bike is obviously not moving. - set "record only when moving" in track recording settings - Locus can detect when the speed is indicated only from GPS searching for the right position (which seems like the "minimal speed while your bike is not moving")

photo
1

3: in the past this option was working fine. it donßt show circles etc.

Since a few version isn´t working anmore so i get circles etc when im standing still.

photo
1

Hi Mike,

what do you mean by the circles? Could you please post a screenshot?

photo
1

309544074a42992e474097df916cb709

photo
1

the blue track is made bylocus

he red one by another gps unit


i made a stop for a few minutes at this point.

locus is creating one point after another but i´m standing still. i know that the gps isn´t that acurate. this happens everytime

but in the past locus does not show this behavoir. but i can not say with which version it starts

photo
1

HI Mike, set "record only when moving" in track recording settings - Locus can detect when the speed is indicated only from GPS searching for the right position

photo
1

this option is activated since the first day !

and it worked, in the past.


i switched it off and on again, but nothing happend

photo
photo
1

Hi,

2) Easy to say , hard to do. You forget it once, your entire day track is inaccurate, and you might not even know about this. I believe auto-pause based on sensor is really important feature, implemented by some of competitive apps. Please read my feature suggestion above.

3) I have "record only when moving" on, but does not work if you move the bike in other means of transport (described in the feature request above in detail).


I know you can i theory fix all this things by controllong the app (and even edit the track). But the idea should be that the app can do it for you automatically (thats what make the app more useful).

photo
1

Hi Jan,

yes, you're right but there are a few cons: Locus Map as a whole works with georeferrenced (GPS) data - tracks are recorded as strings of georeferrenced trackpoints from which many other parameters are calculated, not only distance - elevation profile, gain, etc. The track is drawn on a map. The other way round, data from a bike speed sensor are NOT georefferenced and AMOF we so far can't imagine a way how to join them with GPS data. Therefore, there is the voting topic you referred to and if the demand for it is high enough we'll spend more time and energy in this direction.

photo
1

Hi Michal,

I understand how it works. Lets forget the distance measurement, it is secondary problem.

Then main problem is that the speed sensor should be determining whether the recording should run or not. Therefore trackpoints still can be used for recording the track and distance, while the speed sensor could only determine recording on/off state.

As a first step, just make possible to do the auto-pause react on 0 speed from the speed sensor. (It would be great to be able to differentiate between "0 speed+but still connected" and "0 speed-sensor disconnected", but this is not a nice to have)

AFAIK the auto-pause based on GPS speed does not work anyway (at least on my galaxy S8). It constantly jumps between 0 and 0.2/0.1 speed , therefore the auto-pause never happen. So in fact IMHO auto-pause feature in its current state is not usable at all..

I understand that the GPS speed is not that easy to solve, but sensor based auto-pause should be piece a cake (I am DEV as well)

Could you consider adding this? please

photo
2

Hi Jan,

as I wrote last time, and you pointed it out too - there is the voting topic and if the demand for it is high enough we'll spend more time and energy in this direction.

photo
1

+1 I have the same problem, please fix the auto-pause, voting

photo
1

Good day Jan, Petr, ...

I'm thinking about using the sensor for better "pause" detection and I have to say, I'm not a fan of this solution. The sensor reports it's speed when two magnets get close together, so if you stop, the sensor does not report any speed. And in such case, the only option is to compute time since last reported speed. But, what if there is any problem in sensor, in connection, in sensor battery, etc? Then the whole recording system will be paused and no points will be stored just because of some software/hardware issue with the sensor.

I think that more reliable method to correctly pause and generally detect user movement should be using of "ActivityRecognitionClient" system integrated into Android itself that should help detect movement & activity type itself. This solution should be independent of the state of an external sensor.

Hope my explanation is clear. Or does anyone have a reliable solution with hardware speed sensor itself?

photo
1

The magnet has contact. At the next contact, the sensor knows that it has traveled xx meters and again xx meters at the next contact.

In parallel, the current method runs on GPS.

If data sensor deviates less than xx% from GPS data, then the sensor data will be taken.

If data sensor deviate more than xx%, then data is taken from GPS.

This check must be done regularly during the recording (maybe every 5 meters)

It is so that GPS Km in the end are less and less like the sensor on my bike computer. That's because GPS cuts off the curves.

photo
1

Hi, modern sensors (such as Wahoo) use no magnet, rather a motion detection sensor. They are one piece, placed in center of the wheel, Use BT Low power and are very reliable.