Hello, after searching through the documentation and forum, I haven’t been able to find a specific explanation about what the confidence values are based on, beyond that it’s the probability that the measurement is of the largest object.
It would be interesting to know what it’s based on to understand if there could be a larger margin in distance, the existence of another possible target, or some other factor, as well as to determine how negative a measurement of 50% is, for example.
The Ping Sonar firmware is closed source, but I assume the confidence is based on a combination of the return strength and consistency over time. If the object/surface being reflected off is bumpy (e.g. a sea floor with lots of coral and seaweed) or small, or the vehicle is moving / rotating quickly then the confidence will be reduced, whereas if the ping responses are strong and steady the confidence will be high.
You can consider the confidence as an estimate of how likely it is that the recent distance measurements correspond to a well-defined object or surface (i.e. is the measured distance likely ‘valid’?). The sonar only measures what’s in front of it, and it has no way of knowing whether a weak return is from a large but only mildly reflective target, or a highly reflective target with a big hole in it or angled away from the sonar, or multiple small objects at a similar distance, etc.
Note that the confidence is more an indicator of measurement precision/consistency than accuracy. Repeated consistent measurements to an object will likely report a high confidence, even if the object is shaped such that the distance estimate is not from the part of the object that is closest to the sonar (e.g. measuring the distance to a wall, rather than to a narrow spike/pole sticking out of it).
I appreciate your response. Regarding consistency, I assume that in the case of abrupt and significant changes, a drop in confidence is expected even if the distance measure is correct. Is there any implementation to address such situations? Additionally, do you know how the system behaves when there are multiple strong responses, (i.e. a large object passing between the sonar and the floor)?
Regarding using the data to map a large surface, such as a lake, what would be the threshold where a point or area measurement is most likely not valid?
Yes, especially if the sonar is in auto mode and needs to re-scale the range to appropriately measure the changed distance.
I’m not sure what you mean by this. The distance estimate behaviour (including the confidence) is implemented the way that it is - there is only one implementation in a given firmware version.
If the sonar’s built in distance estimation is not what you’re after then you can do your own processing of the profile data.
As I understand it the first strong response is used for the distance estimate. In the case of one object in front of another most of the transmitted ping will be reflected by the first object, so the second one would likely not have a strong response anyway (because it’s acoustically shadowed by the first one).
That would need to be confirmed in the specific operating conditions. If the lake bottom has a gentle density change from the water then there may not be a clear indication of where the bottom actually is / what counts as bottom instead of muddy/silty water, and the confidence may be quite low as a result. If you’re in an area with a rocky floor then the responses should likely be quite strong, in which case the confidence should generally be quite high, although if the height varies significantly within the sonar’s beam area then it may not be obvious as to what the depth should be measured as in that location.
Thank you, I think I have a better idea now of the expected behavior of that measure, but I will still conduct some tests and post the results here if I find anything interesting.