2d激光扫描仪安装在旋转轴上。我希望仅使用扫描仪的输入和旋转角度来确定从轴中心到扫描仪中心的变换矩阵。



假定二维扫描仪本身已经过校准,它将精确测量激光平面内任何物体的位置(相对于扫描仪原点)。

旋转轴也已校准,将准确地测量其自身移动的角度。

扫描仪已对齐并安装在靠近旋转中心的位置,但是确切的偏移量未知,并且可能会随时间漂移。 />假设直接测量扫描仪的位置和方向是不切实际的。
我正在寻找一种方法来确定扫描仪相对于轴的6度偏移的确切值,该值仅取决于来自扫描仪的2d信息和相对于轴的旋转角度。 />


我主要对这里描述的4个偏移量感兴趣,因为其他两个与从输入数据生成一致的3d点云无关紧要。 >
通过扫描已知的校准对象,应该可以确定这些偏移量。什么是数学公式?

至少需要什么样的校准信息?
例如,是否可以仅通过扫描平坦的表面来确定所有参数,而除了平坦的表面之外什么都不知道?

(从旋转轴到世界的转换矩阵也是未知的,但是一旦知道从轴到摄像机的转换,就可以轻松确定。)


示例



摄像机位于左侧,正好位于旋转轴上。相机使用参考点AB和C扫描平面物体。根据激光距离测量值和轴的角度,可以重构该平面物体。

右侧的相机未知与轴偏移。它扫描相同的对象。如果在不知道该偏移的情况下构造了点云,则平面映射到曲面。

我可以根据表面曲率计算偏移量吗?

如果我知道A,B和C之间的真实距离和角度,如何计算相机抵消吗?全部4个偏移量所需的最小参考点数是多少?

#1 楼

如果您可以遮盖视线的一小部分,则可以考虑在某个位置放置基准对象。

使用合适的基准对象,在轴旋转时对其进行扫描,您应该能够计算出所需的四个偏移量。

如果在正常操作下无法承受任何视野的遮挡,那么您可能需要将基准点放置在它的执行器上拥有,可以在需要校准时将其显示出来并取出以进行正常操作。这里唯一的问题是,您会通过基准执行器的精度来限制校准的精度。

请注意,如果您的视场的某些部分已经被机器人的另一部分遮挡,并且它可能适合用作基准点,或者至少用作一个基准点。

评论


$ \ begingroup $
我的问题不是放置基准对象,这很简单。我的问题是计算偏移量。如您所说,应该可以基于校准对象来计算四个偏移,但是如何?假设我扫描了一个已知尺寸的立方体。我很容易看到,如果该多维数据集映射到非平面,非矩形点云,则偏移量是错误的。但是如何从中获得正确的偏移量呢?
$ \ endgroup $
–HugoRune
13年2月12日在16:36

$ \ begingroup $
感谢@HugoRune的澄清-如果您可以编辑问题以包含此信息,那么希望下一个要回答的人将能够提供更好的答案。我只做过这样的校准,已经将问题简化到了2D,所以我只能提供一般性建议。
$ \ endgroup $
– Mark Booth♦
13年2月12日在19:10



#2 楼

在这种情况下,最简单的方法是从本质上强行解决问题,但以一种智能的方式强行解决问题。

您需要的是在扫描对象时从扫描仪获取的一组数据,最好是一个数学上简单的对象,例如立方体或球体,以及该对象相对于此扫描仪支架的确切偏移位置或偏移。测试各种组合的扫描仪偏移量(通常称为校准值),直到找到导致扫描仪数据准确代表对象的偏移量为止。为此,您可以随机猜测可能永远存在且不会获得任何值的值(但理论上最终会为您提供正确的答案),或者您可以使用优化方法

要使用优化方法,您将需要制定某种度量标准来说明一组特定偏移量是否比另一组偏移量更好。然后,无论您使用哪种优化方法,都将使用该分数来表示是否要沿特定方向调整值。最终,它将确定一组似乎最有效的价值。

这是一个非常深入的主题的简短描述,但描述不充分,但希望它能使您指明方向。如果您想对任何内容进行更详细的描述,请发表评论。