Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 具有距离抑制的三维定位和多向定位_Algorithm_Positioning_Trilateration - Fatal编程技术网

Algorithm 具有距离抑制的三维定位和多向定位

Algorithm 具有距离抑制的三维定位和多向定位,algorithm,positioning,trilateration,Algorithm,Positioning,Trilateration,我有一个涉及3d定位的问题——有点像GPS。给定一组已知的3d坐标发射器及其与未知点的距离d,我想找到未知点接收器。有8个已知点。距离精确到0.3毫米左右,我想多边形测量,尽可能找到接收器的最精确位置 但在任何给定的时间点,从这些已知点之一到未知点之间的一些距离可能会受到阻碍,并将给出不正确的距离结果。此外,在任何给定点上,非阻塞和可用范围可能会偏离8.7 mm的恒定误差,尽管如果我检测到这一点,我可以很容易地纠正它 最好的办法是什么?因为我的数据不太可能有一个精确的解,所有的4+球体可能没有一

我有一个涉及3d定位的问题——有点像GPS。给定一组已知的3d坐标发射器及其与未知点的距离d,我想找到未知点接收器。有8个已知点。距离精确到0.3毫米左右,我想多边形测量,尽可能找到接收器的最精确位置

但在任何给定的时间点,从这些已知点之一到未知点之间的一些距离可能会受到阻碍,并将给出不正确的距离结果。此外,在任何给定点上,非阻塞和可用范围可能会偏离8.7 mm的恒定误差,尽管如果我检测到这一点,我可以很容易地纠正它

最好的办法是什么?因为我的数据不太可能有一个精确的解,所有的4+球体可能没有一个完美的交点,所以算法需要能够逼近它。我见过依靠迭代来确定最小误差的算法,但我如何过滤出不正确的范围,并通过常数范围来识别偏差


编辑:一旦我找到一个相当自信的职位,我就可以使用以前的职位数据和我的更新率来过滤掉不好的结果。。困难在于找到第一个位置

不要尝试使用牛顿-高斯。代价函数在代价函数的一阶导数中有一个不连续点,这使得基于牛顿的算法无法使用,它们几乎永远不会收敛。尝试使用直接搜索算法家族我试过了,效果非常好。它起作用了。谷歌直接搜索函数优化算法。有很多很好的例子。这是一个相当简单的算法,因此计算成本相当低。但它对起点的选择有点敏感