简要介绍:
我们正在开发一种定位系统,其工作方式如下。我们的摄像头位于机器人上并朝上(看天花板)。在天花板上,我们有类似地标的东西,多亏了我们可以计算机器人的位置。它看起来像这样:
我们的问题:
相机有点倾斜(我认为是 0-4 度),因为机器人的表面并不完全平整。这意味着,当机器人转身但停留在相同的坐标时,相机会看到天花板上的不同位置,因此我们的定位程序会产生机器人的不同位置,即使它只是转身而没有移动少量。
我们当前的(硬编码)解决方案:
我们从相机拍摄了一些测试照片,将其围绕镜头轴转动。从我们推断出它倾斜的图片中,它大约是倾斜的。图片“向上”方向4度。使用一些简单的几何变换,我们设法减少了倾斜效应并找到了真实的相机位置。在下面的图片中,灰点标记了图片的中心,黑点是天花板上相机所在的真实位置。黑点是从灰点转换而来的(它的位置是通过校正灰点位置来计算的)。您可以很容易地注意到,灰点在天花板上形成一个圆圈,黑点是这个圆圈的中心。
我们解决方案的问题:
我们的方法完全不可移植。如果我们将相机移动到新机器人上,则必须完全重新校准倾斜的角度和方向。因此,我们希望将校准阶段留给用户,这需要拍摄一些照片,由他评估倾斜参数,然后在程序中设置它们。我对你的问题是:你能想出更好的(更自动的)解决方案来计算倾斜参数或校正图片上的倾斜吗?