【发布时间】:2014-03-23 12:45:26
【问题描述】:
我有一对固定位置传感器(红外线),它们将信号从反射器反射到固定接收器(所有 3 个设备都在一个 PCB 上,[发射器、接收器、发射器])。这个设备的 API 给我的数据是从每个传感器到反射器(手、桌子、任何东西)的范围。
我的问题是:使用上述数据,我如何确定反射器的相对 X 位置。我很确定这是一个微不足道的问题,但我的大脑一片空白。
每个传感器的数据范围为 0 到 240。
var pos = 120 + (ranges.left - ranges.right);
pos = 100/240 * pos;
pos = Math.round(pos);
这是我最初的尝试,我的想法是它为我提供了一个从 0 到 100 的 x 位置。这种工作方式,以一种跳跃的方式 - 但我想要一种更精致的方法。
虽然这里有很多关于查找已知点之间距离的问题,但我还没有找到相反的问题(这是我想做的)。
编辑:
两个黑色圆圈是发射器,浅色圆圈是接收器。正方形是反射器。这条线是X轴,我想知道正方形沿着这条线的位置。但请注意,在任何给定点,这条线可能离传感器更近或更远。
【问题讨论】:
-
你会画画吗?这将帮助我可视化您的设置。
-
当您说
relative X position时,X 位置相对于什么?给接收者?到PCB?我认为 couchand 的建议会有所帮助,这听起来像几何形状会很有用。 -
感谢您的回复,我已经更新了问题
-
只是一个简短的点 - 报告的范围是到两个传感器的距离,因此在此设置中它可能会报告类似 (60, 50)(底部,顶部)的内容。如果正方形在 Z 轴上更远 - 但仍位于沿 X 轴的相同位置,则范围可能会报告为 (150, 140)
标签: javascript distance triangulation