光学显微定位系统定位精度分析
光學显微定位系统是一种应用于细胞微生物领域的自动化识别定位系统。该系统首先通过视觉模块获得细胞微生物清晰完整的成像,并通过识别算法对目标进行视觉定位,之后,将目标图像坐标转换到自动化挑取系统(机械手)坐标,并发送给机械手进行自动化挑取,其中,图像坐标到机械手坐标的转换过程即为手眼标定。由于本文所采用的光学显微定位系统制造安装精度较高,因此,忽略视觉系统的非线性问题和机械手结构的非线性问题,那么,为了提高系统的精度,只能通过降低视觉模块和机械手模块之间的手眼标定误差,并对误差进行补偿。
对于手眼标定国内外学者都作了大量研究。Kelly等提出了一个典型的视觉机器人系统,设计了一个定点控制器以补偿摄像机内部参数以及手眼关系转换矩阵的不确定性,并且获得了局部收敛的稳定的结果,但要求已知机器人重力项参数;田浩辰等提出了一种局部线性化的像机标定算法,采用基于粗定位和精确定位两步走的算法实现了机械手的精确对位;刘苏宜等提出了一种同时标定摄像机和机器人手眼的方法,该方法依据机器人手眼矩阵和机器人手爪对基坐标系位姿矩阵之间的特定关系,进行一次标定实验能同时求解出摄像机参数和机器人手眼关系矩阵;胡小平等针对微装配机器人提出了一种固定视觉的手眼系统标定算法,该方法通过3个空间点在机械手基坐标系中的坐标,采用P3P(Perspective-3-Point)位姿测量原理获得相应空间点在摄像机坐标系中的坐标,建立了标定方程组,并基于最小二乘法标定出了手眼系统之间的转换矩阵;魏振忠等提出了基于法兰盘的双机器人手眼标定方法,但该方法要求的机械结构相当复杂,在
单机器人手眼标定时难以实现;温卓漫等提出了一种基于合作靶标的在轨手眼标定方法,仅需3个特征点的图像坐标就能计算摄像机外部参数,并运用P3P方法求解位姿确保了高精度,而矩阵重排的方法使得
机械臂只需要转动很小的角度,就可以完成手眼标定;张强等提出了一种基于误差分布估计的加权最小二乘鲁棒估计方法,以提高机器人手眼标定的精度。以上研究者提出的方法大多针对宏观物体,精度要求均未达到微米级,且相机位置固定,而本文系统主要用于细胞微生物的识别定位,精度要求为微米级,且为了获得大视场和高清晰度的图像,相机位置需要不断地移动,因此,不能采用传统的方法对本文系统进行手眼标定。
针对以上问题,本文提出了一种两步法对系统进行手眼标定:1)标定系统原点,在系统初始状态下,相机位置不变,采用传统的固定靶标的方式对系统的原点进行标定,系统的原点设置为拍摄靶标图像时机械手所在的位置坐标;2)确定全局转换关系,根据每次拍照的起始点位置,以及拍照的数量和移动的步长确定全局转换关系。然而,根据此方法进行手眼标定,系统依然存在较大误差,而误差主要是由于视觉模块在移动过程中每次移动的距离存在误差,使得相邻的图像之间存在一定的偏移量,因此而产生了图像的全局定位误差。为了进一步提高系统的精度,本文提出了一种基于傅里叶变换的方法来矫正该误差,首先,采用傅里叶变换求解系统拍摄的相邻两张图片的实际重叠量,并与人为设定的理论重叠量进行比较,便可得到视觉模块在移动过程中的误差,之后,多次测量分别求取X和Y方向的误差均值,并
将误差均值加入系统的控制单元进行补偿。实验结果表明,显微定位系统的视觉模块的误差均值明显降低,系统的整体平均定位精度达到99%以上,可以满足细胞微生物的识别定位要求。
1显微定位系统的结构与标定原理
1.1显微定位系统结构和组成
显微定位系统主要由视觉模块和机械手模块组成。视觉模块由相机、镜头、反射镜、闪光灯组成,相机为Andor科学级sCMOS相机Zyla5.5,晶片尺寸为16.6×14.0mm,镜头分为4倍镜、10倍镜和20倍镜,当使用10倍镜镜头时,成像精度为0.65μm/pixel。视觉模块的结构如图1所示,它共分为上下两层,以细胞培养皿为界,上面为
闪光灯,下方为镜头、反射镜、相机,上下两个部分均安装在由光栅尺组成的三坐标移动平台上,由光栅尺进行联合控制运动,其中光栅尺的精度为0.2μm,在进行拍照时,上方的闪光灯与下方的相机同步运动,移动一定的步长时,闪光灯开启,相机获取图片。机械手模块的挑取装置安装在闪光灯所在的移动平台上,可由光栅尺单独进行移动控制。由于成像区域较大,无法通过一次成像获得完整的区域,因此,采用了一种如图2所示的Z字型的拍照方式对整个区域进行依次成像,最后将图像进行拼接。
1.2显微定位系统标定原理
由于本文系统制造精度和安装精度都较高,视觉模块坐标系和机械手模块坐标系的水平度和垂直度均较好,因此,在进行系统手眼标定的过程中,忽略视觉模块坐标系和机械手模块坐标系之间的旋转变换,只考虑坐标系之间的平移变换。标定的过程分为两步:基于靶标进行系统原点的标定和进行全局区域的标定。手眼
1.2.1基于靶标的系统原点标定方法
描述相机成像的物理模型为小孔模型。由于成像模块在拍照过程中,镜头会随着培养基表面的地貌特征而改变,因此相机的焦距在不断地改变,且相机的制造精度较高,径向畸变和切向畸变可以忽略,因此,在进行坐标转换的过程中,不能采用传统方法对相机进行标定,获取内外参数,而是直接采用相机本身的参数,每个像素点所代表的物理尺寸为pixel_um=0.65μm/pixel进行转换。转换矩阵如式(1):其中:img为图像坐标系;obj为靶标所在平面的坐标系;M为转换矩阵。设靶标中心点的坐标为(0,0),将视觉模块移动到靶标正上方拍摄图片,则可求出图像坐标(u,v),那么转换矩阵M便可得知。整个转换都在二维平面内进行,空间Z坐标由地貌扫描时确定。此时图像上的任意一点便可通过矩阵变换出对应的空间坐标。
机械手末端的工具坐标系Xtool与靶标坐标系Xobj之间的转换关系,如式(2),工具坐标系Xtool与机械手坐标系Xrob之间的转换关系如式(3),因为工具安装在机械手上,所以工具相对于机械手
的位置不变,toolHrob为固定值,由设计安装参数便可得到。则图像坐标便可通过坐标转换变为机械手坐标系下的坐标,便于进行移动拍照时的全局定位。
Xtool到Xobj之间的转换通过固定靶标的方法进行标定得到。首先视觉模块移动到靶标上方拍摄靶标图片,计算出靶标标志点的图像坐标,并转换为Xobj坐标,之后,机械手工具末端尽可能靠近靶标中心点,得到此时的Xtool坐标,如此便可计算出Xtool到Xobj之间的转换关系objHtool。
1.2.2全局区域标定方法
在拍摄大目标区域时,视觉模块需要按照一定的规律和步长进行移动,在不考虑坐标系之间旋转变换的情况下,机械手坐标系下的全局变换可以简化为相对于系统原点的二维平移变换,变换方式如式(4)所示:x
vimg为拼接图片中目标点的图像坐标,主要由图片所在全局图像的位置和目标点所在图片的位置确定;
图像的Z坐标由地貌扫描结果而来,由此,便可将全局的图像坐标转换为机械手下的全局三维坐标,之后,通过toolHrob转换矩阵,转换为机械手工具末端坐标,便于进行细胞微生物挑取。然而,在视觉模块移动的过程中,每次移动的步长都会有所偏差,如果直接将图像按照顺序拼接起来计算全局图像坐标u
vimg,图像的接缝处会存在较大误差,而且,误差会随着拍摄距离的增加而累积,因此,需要对视觉模块的移动误差进行矫正。
2视觉模块移动误差测量
2.1误差测量原理
为了验证傅里叶变换算法的准确性,本文采用了高精度的网格进行拍照拼接实验。其中整个网格的大小为4mm×4mm,每格的大小为200μm×200μm,拍摄时从左下角依次往上拍,共拍摄12张图片,分为4行3列。从中选取了左右相邻的两张图片进行拼接,其中图3(a)为直接拼接图,图3(b)为傅里叶变换拼接图,由图可知,采
用傅里叶变换可以对图片进行很好的拼接,同时,可以得到相邻图片之间的实际重叠量。因此,可以采用傅里叶变换的方法进对系统的移動误差进行测量和补偿。
2.2误差测量实验
为了进一步测量视觉模块的移动误差,本文设计了一个实验。选取高精度的微流控芯片作为拍照对象,芯片的结构尺寸为43mm×27mm,芯片内部由一些三棱柱和圆柱组成,三棱柱三角形的边长为53μm,圆柱的直径为10μm,在拍照时,采用10倍镜拍摄,成像精度为0.65μm/pixel,按照Z字形的拍照方式进
行,调节相机移动的步长,使得相邻图片之间存在150μm的重叠量,共拍摄了702张图片。之后对相邻的图片进行拼接,其中图4(a)为左右拼接的效果图,图4(b)为上下拼接的效果图,由拼接算法便可得到相邻图片之间的实际重叠量,而实际重叠量与理论重叠量150μm之间的差值,便是显微定位系统视觉模块移动的误差值。
由于所拍摄的区域中有些位置特征较少,无法实现较好拼接效果,所以拍摄的702张图片并不能全部作为实验的样本,本文只选取了拼接较好的图像对作为误差实验的样本,即偏移量在阈值范围内。在计算X方向误差时,需要对左右相邻的图片进行拼接,实验中共采集了633对有效样本,其误差图如图5(a)所示,由图可知,X方向誤差值绝大部分在8~14μm区间波动,均值为10.18μm,其中存在两个较为明显的突变值,主要是由于机械结构的固有误差所造成的,因为光栅尺虽然精度较高,但是依然存在部分位置的直线度不够好,所以造成了X方向的误差突变;在计算Y方向误差时,需要对上下相邻的图片进行拼接,实验中共采集了652对有效样本,其误差图如图5(b)所示,由图可知,Y方向误差存在一个突变值,且这个突变发生在拍摄的转折点,而大部分值在4~10μm区间波动,均值为6.71μm。为保证实验数据的准确性,在相同的拍照方式下,移动微流控芯片的位置进行实验,共测试了10组不同位置的数据,X方向误差波动规律和Y方向误差波动规律均相同,其补偿前X方向和Y方向误差均值