1
$\begingroup$

There are 3 sensors (A, B, C) on a plane, located in the corners of a (known) equilateral triangle.

I want to calculate the (2D) location of an object (X) inside that triangle.

One sensor returns one scalar value per reading, but in order to compensate for environmental effects, I always use the values relative to each other in order to get stable values.

This means I get one value between 1.0 and 0 for each pair of sensors depending on whether the object is on the median line between two sensors (ratio=1.0), directly in one corner of the triangle (ratio= ~0.3) or even further away.

Here you can see some plots that show the idea.

The red dots are the sensor locations. I have plotted selected ratios of the measurements depending on the position of the object X.

So if X moves on a plotted curve, the ratio of sensor readings stays constant.

My goal in the end is to find X's location depending on the three sensor ratios.

Ratio B/A : Ratio B/A All Ratios (Ratios A/B and B/A highlighted) : All Ratios (Ratios A/B and B/A highlighted)

While I can make calibration measurements, these take a lot of time and are only practical for roughly 1/10th of the targeted spatial resolution. (i.e.: I can make a calibration measurement each meter, but I am targeting a 0.1m resolution.) I am, however not limited on how I select the location for the calibration measurements.

I have three values per measurement and have to somehow do a reverse interpolation.

Unfortunately, the physical model behind it is very complex (and proprietary) so I don't have a way to use it as a starting point. Also there are a lot of nonlinearities and other unknowns in the system.

What I've tried:

My first attempt was to fit circles to my calibration measurements, and reverse-interpolate on the positions of center and radius. So I would calculate a circle per sensor ratio and look for the point where the three circles would (roughly) intersect. Unfortunately this did not really work out - especially as the circle's radius approaches infitity if my sensor-ratio approaches 1.

So in the end I've ditched the geometrical approach and have looked more into numerical solutions, but I haven't found a solution that could work in my case.

I hope my explanation was clear and precise. I'm grateful for any pointers in the right direction!

(I'm currently working with Python/numpy)

More information as answer to the question in the comments

I have spent some time thinking about the reverse interpolation approach. I figured that I would need a way to reverse interpolate each 3D surface and obtain a 2D function (per sensor pair). I would then have to find the intersections of the three 2D functions. Ideally, I would then find the single point where the error is minimal.

I am not sure how to do this.

$\endgroup$
1
  • $\begingroup$ Welcome to SciComp.SE. To clarify a little, do your measurements have errors that make the reverse interpolation not suitable? $\endgroup$
    – nicoguaro
    Feb 15, 2021 at 17:55

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.