openbikesensor / openbikesensor/OpenBikeSensorFirmware

False-positives on bumpy roads

Open
#261 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
124
Forks
29
PR merge metrics
No merged PRs in 30d

Description

When driving on a (even slightly) bumpy road both side ultrasonic sensors measure false-positives with a random distance even when no obstacles/cars are in sight - at least with our subset of two OBS devices in the household behave like this. They are mounted on two very different bike models (one recumbent one cargobike). My working hypothesis is that the bumps lead to high frequency vibrations either in the bike or in the OBS mount which in turn trick the sensor into thinking it has received an echo. The problem is that on a bumpy road with cars overtaking one can never be sure whether the minimum distance measured is a false positive or an actual overtaking event.

A suggested remedy would be to only accept distance measurements if two consecutive measurements do not differ by more than some ε - say 10cm or so. As the false-positives are random, chances are small that two consecutive random values will fall into one ε interval, whereas real measurements are expected to not deviate by more than a few cm within 1/20th of a second.

Video of the issue - Be aware that the road is not actually very bumpy and the bendy shaky look of my handlebar comes from the video de-shake. My hand holding the camera wasn't very steady and steadying the video makes the display readable but also lets it look like the handlebar is deforming horribly. The road was asphalt with minor bumps of 1-2 cm at most.

This is already the case with 0.7.596 and probably not related to #262

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the ultrasonic distance measurement and filtering code in the OpenBikeSensorFirmware repository, then reproduce the false positives on a bumpy road using the linked video and hardware context. Trace how consecutive readings are accepted and define completion as preventing random single-reading distances from triggering minimum-distance results without masking genuine overtaking measurements.

Written by the indexing model from the issue text.

Assessment

Tech stack
arduino
Domain
embedded-iot
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.