1

I'm working on a project right now in which we are developing an autonomous robot. I have to basically find out the distance travelled by the robot between any 2 intervals. I'm using OpenCV, and using the Optical Flow functions of OpenCV, I'm able to find out the velocity/distance of each pixel in 2 different images. Using this information, I want to be able to find out the distance travelled by the robot in the interval between those 2 images.

I thought of a way in which we could develop an input output mapping between the distance travelled by pixels and the distance travelled by the bot (using some tests). In this way, using neural networks, we would be able to find the relationship. However, the optical flow would depend on the distance of the camera from the pixel, which would cause problems.

Is there any way to solve this problem?

4

4 回答 4

3

我希望你最终会接受你过去收到的答案。无论如何,不​​久前我已经在 SO(在 OpenCV 中)上发布了这个问题的解决方案,所以这里是:

如何确定与视频中物体的距离?

于 2010-06-18T13:30:46.533 回答
1

如何在不旋转特定距离的轮子的帮助下找到距离。

Distance=no of rotation* circumference of wheel
于 2011-07-04T18:06:01.010 回答
1

你考虑过里程计吗?您可以使用编码器和加速度计来计算距离。便宜多了。

于 2010-06-18T16:29:33.390 回答
0

Jacob 提供的答案是正确的追求路径,但您可能会发现由此产生的远距离旅行信息相当嘈杂。随着时间的推移,您可能需要考虑使用卡尔曼滤波器来改进您的本地化估计。

有大量关于卡尔曼滤波器的文献,但我在下面列出了一篇相关论文。

Larry H. Matthies、Richard Szeliski 和 Takeo Kanade (1989)。“基于卡尔曼滤波器的基于图像序列的深度估计算法 ”,国际计算机视觉杂志,第 3 卷,第 3 期,9 月,第 209-236 页。

于 2010-07-06T11:24:21.800 回答