6

简要介绍:
我们正在开发一种定位系统,其工作方式如下。我们的摄像头位于机器人上并朝上(看天花板)。在天花板上,我们有类似地标的东西,多亏了我们可以计算机器人的位置。它看起来像这样:

在此处输入图像描述

我们的问题:
相机有点倾斜(我认为是 0-4 度),因为机器人的表面并不完全平整。这意味着,当机器人转身但停留在相同的坐标时,相机会看到天花板上的不同位置,因此我们的定位程序会产生机器人的不同位置,即使它只是转身而没有移动少量。

我们当前的(硬编码)解决方案:
我们从相机拍摄了一些测试照片,将其围绕镜头轴转动。从我们推断出它倾斜的图片中,它大约是倾斜的。图片“向上”方向4度。使用一些简单的几何变换,我们设法减少了倾斜效应并找到了真实的相机位置。在下面的图片中,灰点标记了图片的中心,黑点是天花板上相机所在的真实位置。黑点是从灰点转换而来的(它的位置是通过校正灰点位置来计算的)。您可以很容易地注意到,灰点在天花板上形成一个圆圈,黑点是这个圆圈的中心。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

我们解决方案的问题:
我们的方法完全不可移植。如果我们将相机移动到新机器人上,则必须完全重新校准倾斜的角度和方向。因此,我们希望将校准阶段留给用户,这需要拍摄一些照片,由他评估倾斜参数,然后在程序中设置它们。我对你的问题是:你能想出更好的(更自动的)解决方案来计算倾斜参数或校正图片上的倾斜吗?

4

1 回答 1

5

不错的作品。进行自动校准是一个很好的挑战。

一个想法是使用屋顶瓦片的平行线:如果相机完全水平,那么图片中的所有线也将平行。如果相机倾斜,那么所有线都将被割线(它们在消失点相交)。

现在,这可能很难实现。使用您使用的相机,首先需要校正失真,以使线条确实笔直。

您的实用方法可能更简单,更健壮。正如您所描述的,它似乎可以自动变得用户友好。让机器人自行开启并务实地识别图片中哪个点保持在同一位置。

于 2012-12-30T16:46:12.330 回答