我正在尝试为机器人开发一种算法,该算法采用机器人可见的三个不同点的距离,假设每个点都是圆心,距离是该圆的半径,然后将机器人位置映射为这 3 个圆的交点。
我在开发算法时遇到困难,即使是数学公式也会有所帮助。另外,我也有机器人和每个点之间的角度,但不知道在哪里使用它。
希望有人能帮忙。
最佳答案
假设三点不对齐,可以用
(y1 - y2)*(x1 - x3) != (y1 - y3)*(x1 - x2)
如果x1,x2,x3都不同;如果其中两个相等而第三个不相等,则这三个点当然不能对齐并且您无需检查。
我们现在可以简化为一个已知的解决方案:
您的机器人将位于三个圆圈的交点处。 (允许接受我的 1 个字符编辑的额外字符)。
关于使用距 3 个不同点的距离找到我的位置的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12610774/