1

我正在研究一个可以四处移动的 iPhone 机器人。挑战之一是估计到物体的距离——我不希望机器人撞到东西。我看到一些非常昂贵(约 1000 美元)的激光测距仪,并想用 iPhone 模拟一个。

我有一个或两个摄像头馈送和两个激光指示器。激光指示器安装在相距约 6 英寸的角度。激光相对于相机的角度是已知的。相机之间的角度是已知的。

激光指向相机前方,在相机馈源上形成 2 个点。是否可以通过查看相机图像中点之间的距离来估计到点的距离?

激光形成梯形

    /wall    \
   /          \
  /laser mount \

随着激光支架越来越靠近墙壁,这些点应该彼此远离。

我说的可行吗?有没有人做过类似的事情?

我需要一两个摄像头来进行这样的计算吗?

4

2 回答 2

2

如果您只是不想撞到东西,而不是准确了解与它们之间的距离,那么您可以对其进行“破坏”并仅检测两点何时合二为一-这将是已知的距离从对象。

为了计算,可能更便宜的是有四个激光器,两对,每对以不同的角度,一对在另一对之上。那么点的相对差异之间的比较可能会让你计算出一个相当准确的距离。不过,那个数学溢出了。

于 2012-05-25T20:04:57.570 回答
2

理论上,是的,这样的事情可以工作。谷歌“光条纹”或“结构化光深度测量”对于在更大范围内使用这种想法的一些很好的讨论。

在实践中,您的测量结果可能很粗糙。有许多因素需要考虑:相机内在参数(焦距等)和外在参数将影响点在图像帧中的显示方式。

只有两个采样(注意结构光方法使用线条等),环境将存在距离测量困难。可以很好地处理直接垂直于地板(和行进方向)的表面。可能可以检测到坡度和偏角墙壁,但您会发现许多情况会给出模棱两可或不正确的距离测量值。

于 2012-05-25T20:05:22.047 回答