我正在研制一个IPhone机器人,它可以四处移动。挑战之一是估计物体的距离--我不想让机器人撞到东西。我看到了一些非常昂贵的激光测距仪(大约1000美元),我想用iPhone模拟一个。
我有一两个摄像头和两个激光指针。激光指针安装在大约6英寸的距离,在一个角度的激光与相机的角度是已知的。摄像机之间的角度是已知的。
激光瞄准摄像机前面,在摄像机的馈送上产生2个点。是否可以通过观察相机图像中点之间的距离来估计与点的距离?
激光器形成一个梯形
/wall \
/ \
/laser mount \当激光安装离墙壁越来越近时,这些点应该会彼此移动得更远。
就是我所说的可行吗?有人做过这样的事吗?
我是否需要一部或两部摄影机来计算?
发布于 2012-05-25 20:04:57
如果你只是不想碰上东西,而不是准确地知道它与物体的距离,那么你就可以在上面做"dambusters“,然后检测这两个点何时变成一个点--这将是一个已知的距离,离物体很远。
为了计算,用四个激光器代替两对激光可能更便宜,每对以不同的角度,一对高于另一对。然后,比较点的相对差异可能会让你计算出一个相当精确的距离。不过,这一次的数学问题很严重。
发布于 2012-05-25 20:05:22
理论上说,是的,像这样的东西可以起作用。谷歌“光条纹”或“结构化光深度测量”的一些良好的讨论使用这种想法在更大的规模。
在实践中,你的测量可能是粗糙的。需要考虑的因素有几个:摄像机内部参数(焦距等)和外部参数将影响点在图像帧中的显示方式。
只有两个样本点(注意结构光方法使用直线等),环境将给距离测量带来困难。直接垂直于地面的表面(以及移动方向)可以处理得相当好。斜坡和离角墙可能是可探测的,但你会发现许多情况下,将提供模糊或不正确的距离测量。
https://stackoverflow.com/questions/10760552
复制相似问题