单相机双模组标定的数学原理

摘要:本文是对单个相机和两个电机模组的运动标定公式推导。
如果了解线性代数,能更好的理解本文。

 

一、结构背景

有两个独立轴坐标系模组,分别是 :

默认二者在垂直Z方向上在同一平面。
其中,Sb的轴上安装了一个相机,Sa没有相机。

 目标产品在Sb上实现视觉定位,目标物体所处的载台经由其它机构(如平移传送、或旋转平台),以常量参数转移至Sa坐标系下,由Sa的XY轴控制机械手做相关动作。

                                                         图:Mark点从Sb移至Sa

也就是说,整个过程的步聚是,产品mark点在Sb坐标系下时,工业相机对mark进行拍照视觉定位,要据此推导出mark点移至Sa坐标系后的坐标,以引导机械手动作。

二,推导过程

基本思想:

  1. 根据相机视觉定位结果的视觉坐标P(col, row),以及Sb系下,相机拍照时的相机轴坐标B(X, Y),推导出mark点在Sb系下的坐标表征量W.
    这里,易知,处于实验室坐标不同位置的mark点,存在不同且唯一的轴坐标表征值W,该W值与相机拍照时的轴位置无关。
  2. 使用三个以上的上述mark点,它们实验室坐标位置不同。记录拍照结果Pi和拍照时轴坐标Bi后,将Marks用机构转移至Sa系。
  3. 使用相关测量手段,获得此时Marks在Sa系下的坐标A(Xi, Yi)。
  4. 利用求得的Wi与Ai,推导出Sb系与Sa系之间的仿射变换关系M。
  5. 以上便可建立从相机视觉坐标P到Sa系坐标A的关系了。

推导

1.mark点在Sb系下的坐标表征量W,

其中,M' 是一个齐次矩阵,是P系到Sb系的变换,待定。
因为上式W值与相机拍照时的Sb轴位置无关,所以:

2.同时,针对任意的一个mark点,当相机拍照位置移动时,视觉像素坐标显然也变化了,它们间的值变化一定满足如下微分关系:

注意,这里是M'' (two primes),而不是M' (single prime)。M''也是一个齐次矩阵,值待定。
上两式可推得:

3.对Sb坐标系做九点标定(如果您愿意,也可以做四点等),据Sb的拍照时的轴坐标Bi, 和相应的像素坐标Pi,可推导出如下仿射变换关系:

其中,M''' (three primes) 也是齐次矩阵,值通过九点标定确定.

4.对2.式所述的微分关系进行不定积分,有:

可以看出,M'''相当于M''作用于P后,再平移beta,即:

这里,T()是代表平移的齐次矩阵。
以及beta的解法:

5.综上,我们求得W:

6.Sa与Sb之间关系,利用多个点对(大于等于3个) ,(Ai, Wi),来求解, 可据此算出Sa与Sb间的仿射关系M:

7.最终式:

其中,A是最后所要求的Sa系的mark目的坐标,B是Sb系相机拍照mark时的实时XY轴坐标,P是相机拍照时所得的实时视觉定位像素坐标。

M''' 是Sb系的相机与轴的九点标定时的(Vision to Motion)的齐次仿射关系矩阵。
M 是 上文所述W到Sa系的齐次仿射关系矩阵。

Beta相当于,九点标定时,当mark位在相机视野相机P(0, 0)上时,拍照位的轴坐标。

三,总结

先做相机所在模组Sb的相机九点标定,由九个像素坐标和九个对应的Sb轴坐标,得到仿射矩阵M''',令p0=(0, 0), 得到
Beta = M''' . p0,并存储以备用。
有了M'''和Beta,代入公式得到Sb系下的mark坐标表征向量W,多个位置不同的mark得到多个不同的W, 第i个W记为Wi。
使用适当的测量方式,得到Wi对应的Sa系下的坐标Ai,从而得到从W到A的仿射关系矩阵M。
至此,标定过程中的核心参数,M''', M, Beta 均得到了,代入公式,就能求得相机在任意位置B时,拍到的像素坐标为P,该点mark转移到Sa系下后,对应的坐标A了。

附言

该坐标系统不算复杂,我用这个作为例子,是为了展示说明,如何比较严谨的用数学来论证坐标转换关系,尽量避免感性的推导想象。这样可以防止迷失在坐标转换中各种正负号的暴力试错上。

时间短暂,文章的组织结构上有任何错乱,请多先包涵

欢迎提出疑问或错误指正。

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值