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 at 17:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.