基于双目视觉的电动汽车充电孔识别定位系统*

2021-07-15 12:08姚安庆徐建明
传感器与微系统 2021年7期
关键词:双目位姿摄像机

姚安庆, 徐建明

(浙江工业大学 信息工程学院,浙江 杭州 310023)

0 引 言

为了实现快速、低成本及精确电动汽车充电孔的位姿识别[1,2],本文提出一种基于双目视觉的电动汽车充电孔识别定位系统。用Halcon软件实现摄像机标定、双目系统的标定、手眼标定,通过选取充电孔中心孔洞的轮廓作为透视可变型模板进行模板匹配将充电孔与背景分离,结合双目视觉中的立体匹配、三维定位和坐标变换完成了充电孔的三维位姿估计。在实验平台上进行了电动车汽车充电孔的位姿估计和充电对接实验,该系统具有良好的识别定位精度。

1 电动汽车充电孔的识别与定位系统组成

基于双目视觉的电动汽车充电孔识别与定位系统由大族六轴协作机器人Elfin10、迈德威视千兆网500万像素工业相机、电动汽车充电设备(包括充电枪头、充电孔)及上位机等组成,如图1所示。总体上,充电孔的识别与定位系统分为视觉系统和机器人系统两部分。视觉系统由迈德威视CCD相机和上位机组成,其中,相机采用双目“眼在手”的配准方法,完成图像的采集、相机标定、手眼标定、充电孔的匹配识别、充电孔的三维定位及位姿估计等功能,各功能算法在MVTesc公司Halcon软件基础上进行开发设计完成。系统工作流程图如图2所示。

图1 实验设备

图2 系统结构框图

2 视觉识别与定位

系统采用了平行双目视觉[3,4]设计。对于充电孔在复杂背景下的识别定位,可以简化为4个部分,即标定、充电孔识别、三维定位和坐标转换。

2.1 相机标定

相机标定包括摄像机标定[5]、双目标定[6]、手眼标定[7]。

2.1.1 摄像机标定

摄像机所拍摄到的图像与三维空间中的物体之间存在一种线性关系:[像]=M[物],矩阵M可以看成是摄像机成像的几何模型。M中的参数就是摄像机参数,这个求解参数的过程就称为摄像机标定。根据针孔成像模型[8],空间任一点P其图像投影点(u,v)与其在世界坐标系坐标(Xw,Yw,Zw)的关系为

(1)

式中k为比例系数;dX,dY分别为每一个像素在x轴和y轴方向上的物理尺寸;(u0,v0)为图像的中心点坐标;f为焦距;R为摄像机坐标系转换为世界坐标系的旋转阵;T为摄像机坐标系转换为相机坐标系的平移向量。

根据针孔成像模型,本文采用张正友教授提出的单平面棋盘格的摄像机标定法[8]。让摄像机从不同方位拍10~20张棋盘格标定板图片,运用张正友标定法求出式(1)中各个参数值,完成摄像机标定。

2.1.2 双目标定

双目标定是指在摄像机参数标定后求解两个相机之间的旋转和平移参数R和T的过程,一般在标定单独标定好两个相机的参数之后,再进行双目标定。由摄像机标定可求出左右相机的外部参数分别为Rl,Tl与Rr,Tr(Rl,Tl,Rr,Tr分别为左右摄像机相对于世界坐标系的位置)。对任意一点,假设它在世界坐标系、左摄像机坐标系和右摄像机坐标系下的非齐次坐标分别为xw,xl,xr,则

x1=R1xw+T1,xr=Rrxw+Tr

(2)

根据式(2)消去xw可得

(3)

因此,两个摄像机之问的几何关系R,T可以用以下公式计算

(4)

2.1.3 手眼标定

手眼标定是为了确定像素坐标系和空间机器人坐标系的坐标转换关系。根据手眼标定的基本方程式[9]

AX=XB

(5)

式中A,X,B均为4×4 矩阵,表示某两个坐标系之间的转换关系。X为待求参数,A为由摄像机标定给出的外参数得到的,B为由机器人控制器给出的。由式(5)可知,机器人带动摄像机移动3次(旋转轴不相互平行的平移运动)拍照,可将X解出。实际计算时根据摄像机标定时拍摄的10~20组图片和对应的机器人位姿多次求解,根据最小二乘法确定误差最小的一组解作为待求参数X的终解。

2.2 基于局部特征匹配的充电孔识别

由图3(a)充电孔的图片可知,充电孔中心孔洞区域的特征比较明显,故本文研究采取基于局部特征匹配的模板匹配方式来实现充电孔的识别。

用Halcon中的ROI提取助手选中中心孔洞区域,用reduce_domain()算子对该区域截图;再用创建模板算子creat_palnar_uncalib_deformable_model( )算子对截取的图片建立线性非标定可变型模板,用get_deformable_model_contours()得到中心区域轮廓图,如图3(b)所示。用模板寻找算子find_palnar_uncalib_deformable_model()算子在采集的图像中搜寻并显示充电孔轮廓的位置,实现充电孔的识别,如图3(c)所示,同时得到充电孔相对于相机坐标系的姿态偏移,即充电孔在相机坐标系下的方向。

图3 局部特征匹配的充电孔识别

2.3 充电孔的三维定位

2.3.1 双目定位原理

双目视觉三维定位是基于视差原理。通过建立两个摄像机的图像平面与三维空间中目标物体之间的三角几何关系模型,通过特征点匹配关系和三角法原理进行物体在三维空间上信息的获取,双目视觉视差原理图如图4所示。

图4 双目视差原理

其中基线距B等于两摄像机的投影中心连线的距离,相机焦距为f。设两摄像机在同一时刻观看空间物体的同一特征点P(Xc,Yc,Zc),它们在左右相机中的图像坐标分别为Pl=(Xl,Yl),Pr=(Xr,Yr)。

现两摄像机的图像在同一个平面上,则特征点P的图像坐标Y坐标相同,即Yl=Yr=Y,则由三角几何关系得到

Xl=fXc/Zc,Xr=f(Xc-B)/Zc,Y=fYc/Zc

(6)

则视差为:Disparity=Xl-Xr。由此可计算出特征点P在相机坐标系下的三维坐标为

(7)

由此可知,只要左相机上的任一点只要能在右相机上找到对应的匹配点,就可以确定出该点的三维坐标。

2.3.2 充电孔定位

先将左右相机采集图像进行极线校正[10],将双目立体视觉系统变成理想的平行双目视觉系统,使左右图像的对应点像素行对准,减少计算量并降低匹配难度。

由图3(b)可知充电孔是一个规则对称的图形,其中心孔洞的质心位置可视为充电孔在三维坐标系中的坐标。先用模板匹配找到并在左右图像中显示充电孔特征轮廓,如图5(a)所示;用sort_contour_xld()算子、select_obj()算子提取出中心孔洞的轮廓,如图5(b)所示;再用fit_circle_contour_xld()算子对中心孔洞轮廓进行拟合,如图7(c)所示;最后用area_center_xld()算子得到轮廓中心点在左右相机坐标系中的像素坐标Pl(u1,v1)和Pr(u2,v2),基于视差原理用intersect_lines_of_sight()算子得到轮廓中心点在相机坐标系中的三维坐标(x,y,z),进而实现了充电孔的三维定位。

图5 模板处理

2.4 坐标转换

(8)

式(8)表示出最终需要的充电孔位姿,得到这个位姿便可以给机器人发送运动指令,控制机械臂完成充电操作。

3 实验验证

进行了10次双目识别定位实验。首先在不用视觉的情况下,对接好机械臂末端与充电孔,读取机械臂末端此时的姿态,此时机械臂末端的位姿为(860.599,39.067,465.651,271.625,2.099,267.621),以此坐标为充电孔在机器人基坐标系下的实际位姿;然后使用充电孔识别定位系统,让摄像机处于不同的空间位置拍摄充电孔,如图6所示,求取充电孔在双目视觉系统验证下的位姿,验证系统的可行性,双目系统测量的部分实验数据如表1所示。将双目视觉系统测得的位姿与实际位姿进行对比、误差分析,如表2所示。

图6 双目相机采集

表1 测量结果

表2 位姿估计误差

4 结束语

基于现有的充电方式,本文提出基于双目视觉的电动汽车充电孔的识别定位系统,通过Halcon软件完成视觉算法的编写,双目视觉系统的标定等工作。通过双目系统测量位姿与实际位姿的比较验证了基于双目视觉的新能源电动车充电孔的识别与定位系统的可行性,效果较好,但该系统的精度仍然有待提高。

猜你喜欢
双目位姿摄像机
基于双目测距的卡尔曼滤波船舶轨迹跟踪
双目视觉运动目标跟踪定位系统的设计
摄像机低照成像的前世今生
新安讯士Q6155-E PTZ摄像机
基于共面直线迭代加权最小二乘的相机位姿估计
基于CAD模型的单目六自由度位姿测量
基于双目视觉图像的长度测量方法
小型四旋翼飞行器位姿建模及其仿真
如何消除和缓解“摄像机恐惧症”
基于几何特征的快速位姿识别算法研究