手眼都动的视觉手眼标定方法
我之前搞这个手眼都动的视觉手眼标定方法,那可真叫一个费劲,就像在黑暗里摸索一样。我一开始真是瞎摸索,啥也不懂,就知道个大概的概念。
我试过那种很常规的方法,先固定相机和机械臂,想着这应该不难吧。就好比建房子先打个地基一样,觉得这就是基础工作嘛。可是问题很快就来了,机械臂一动起来,采集到的数据完全不对,当时就懵了,这误差大得吓人。后来我才明白,原来是我忽略了机械臂运动的复杂性,它的关节之间的互动会影响整体的位姿。
那行吧,失败了就再来。我又想,那是不是要先精确测量机械臂每个关节的运动参数呢。我就一个个去测,我的天,这个花费了我超级多的时间。就像数沙子一样,一粒一粒的,又慢又容易出错。结果弄了半天,还是不行,数据依然是乱七八糟。这时候我就意识到,过于注重局部的精确,却忽略了整体之间的联系。
直到后来,我重新梳理了整个思路。我先把手眼当作一个整体系统来看,不再纠结那些细节。就像看一幅画,先看整体轮廓,再去看细节。在采集数据的时候,我让机械臂做一些规定的典型动作,比如说伸到最远、弯到最近这种,这样可以保证动作的可重复性和可控性。每次动作的时候同时采集视觉数据,然后用相对简单的算法先初步处理一下,看看数据之间的关联性。
再后来呢,我采用多次测量取平均值的办法。就像买菜多问几家的价格一样,多次测量就能减少误差。我把每次采集到的数据积累起来,然后取平均。结果一下子准确性就提高了很多。而且在标定的过程中,我时刻提醒自己要保持机器的稳定,不能有震动之类的干扰,就像射击的时候要保持手的稳定一样,一点点的干扰都可能导致最后的数据偏差很大。
手眼这个手眼标定方法,我觉得最关键的一点就是要从整体到局部去考虑,不要一开始就陷入那些复杂的局部细节。还有就是多做测试,多尝试不同的动作模式和数据处理方法,这样才能到最适合自己设备的标定方式。我也是经过无数次的失败才慢慢懂一点这里面的门道的。
另外,校准的时候最好有一个初始的标准值可以参照,就像我们在地图上一个基准点一样。我之前没弄这个基准值的时候,数据乱得就像一团麻,有了基准值再去看那些偏差就清晰多了。虽然我不敢说我的方法就是最好的方法,但对于像我之前那么迷茫的人来说,也算是一点点小经验分享吧。
发布评论