平面上有 3 个传感器(A、B、C),位于(已知)等边三角形的角上。
我想计算该三角形内对象(X)的(2D)位置。
一个传感器每次读数返回一个标量值,但为了补偿环境影响,我总是使用相对于彼此的值以获得稳定值。
这意味着我为每对传感器获得一个介于 1.0 和 0 之间的值,具体取决于对象是否位于两个传感器之间的中线上(比率 = 1.0)、直接在三角形的一个角(比率 = ~0.3)甚至更远离开。
在这里,您可以看到一些显示该想法的图。
红点是传感器位置。我已经根据对象 X 的位置绘制了选定的测量比率。
因此,如果 X 在绘制的曲线上移动,则传感器读数的比率保持不变。
我最终的目标是根据三个传感器比率找到 X 的位置。
比率 B/A:
所有比率(突出显示比率 A/B 和 B/A):

虽然我可以进行校准测量,但这些测量需要大量时间,并且仅适用于目标空间分辨率的大约 1/10。(即:我可以对每个仪表进行校准测量,但我的目标是 0.1m 分辨率。)但我不受限于如何选择校准测量的位置。
每次测量我有三个值,并且必须以某种方式进行反向插值。
不幸的是,它背后的物理模型非常复杂(并且是专有的),所以我没有办法将它用作起点。系统中还有很多非线性和其他未知数。
我试过的:
我的第一次尝试是将圆拟合到我的校准测量中,并在中心和半径的位置上进行反向插值。所以我会计算每个传感器比率的圆,并寻找三个圆(大致)相交的点。不幸的是,这并没有真正奏效——尤其是当我的传感器比率接近 1 时,圆的半径接近无穷大。
所以最后我放弃了几何方法,更多地研究了数值解决方案,但我还没有找到适合我的解决方案。
我希望我的解释清楚而准确。我很感激任何正确方向的指示!
(我目前正在使用 Python/numpy)
更多信息作为评论中问题的答案
我花了一些时间考虑反向插值方法。我想我需要一种方法来反向插值每个 3D 表面并获得 2D 函数(每个传感器对)。然后我必须找到三个二维函数的交点。理想情况下,我会找到误差最小的单点。
我不知道该怎么做。