宁志刚,程 雄,程 辉,杨 恒
(南华大学电气工程学院,湖南衡阳 421001)
扰动状态柑橘自动采摘是在静态柑橘自动采摘基础上开展的研究工作,是为了解决采摘过程中碰到的柑橘扰动问题.对柑橘进行采摘时,不可避免地引起附近柑橘无规律振荡,柑橘不可能长时间在空间某处静止不动.目前,国内外相关研究都未能较好地解决扰动状态下柑橘定位问题[1-3],采用的方法通常是等待扰动柑橘静止之后再进行下一轮采摘,或者采用多组定位结果的平均值来确定采摘点位置,这样大大降低了采摘机器人的工作效率[4-7].只有解决了扰动状态下柑橘采摘问题,才能满足机器人在自然环境中采摘柑橘的要求,文中拟对此进行研究.
柑橘的振荡运动过程呈欠阻尼振荡状态,对应运动方程的解可表示为
图1 欠阻尼振荡曲线
采摘柑橘时,柑橘振荡周期被认为近似不变[8].采摘各环节所消耗的时间可以确定.采摘机器手从开始动作到采摘到柑橘所用的时间,可通过计算确定.只要确定振荡周期及柑橘所经过平衡点的位置,就能对扰动状态下的柑橘进行自动采摘.振荡柑橘采摘方法如图2所示.
图2 振荡柑橘采摘算法流程图
计算柑橘的振荡周期时,先采集振荡柑橘图像序列,获取柑橘图像序列的形心坐标;再计算X方向或Y方向形心坐标序列的频谱;然后,根据频谱确定柑橘的振荡频率,由振荡频率计算柑橘的振荡周期.采用双目视觉系统采集连续帧柑橘图像.试验选用USB宝贝计划网络摄像头,帧率为30帧·s-1.左、右摄像头各采集32幅柑橘序列图像,获取柑橘序列图像的形心.左、右摄像头所采集的图像按采集先后顺序一一对应存储.对于振荡柑橘采摘,采摘点应为某特殊点,该点可以是平衡点或振幅最大的点.对于欠阻尼振荡模型,振幅不断减小,振幅最大的点不适合作为采摘点,平衡点则可作为采摘点.获取柑橘振荡周期和平衡点的位置时,只需左摄像头所采集的图像.右摄像头所采集的图像用来确定平衡点的空间三维坐标.左摄像头所采集32帧图像的形心坐标如表1所示.表1中,x和y以像素为单位.因精确到亚像素级,故x和y的取值为小数.
表1 左摄像头各帧图像的形心坐标
对离散的图像形心坐标进行频谱分析,获取柑橘的振荡周期.多种方法可用于频谱分析,文中选择快速傅里叶变换法.该算法具有抗干扰性强、滤波特性好等优点[9],能够满足柑橘采摘实时性的要求.
采用FFT对离散采样序列进行频谱分析,具体步骤:先对信号进行采样,采样数N为2的自然数次方;然后对离散采样序列进行快速傅里叶变换,FFT运算结果为具有N点的复数,复数点与频率点一一对应,复数的模是对应频率点的幅值.
实际柑橘振荡过程中,X方向与Y方向的振荡周期相同.为了提高频谱分析的精度,选取X方向和Y方向中数值较大的那组形心坐标作为频谱分析的对象.X方向和Y方向形心坐标数值大小比较,通过编程实现.由表1中形心坐标可知,X方向坐标数值较大,所以对X方向形心坐标序列进行频谱分析.幅频特性曲线如图3所示.
图3中,幅值为小数,这是因为在FFT运算之前进行了归一化处理.幅值最大处对应的频率为1.25 Hz,所以柑橘的振荡频率为1.25 Hz.根据柑橘的振荡频率可计算柑橘的振荡周期.
图3 幅频特性曲线
采用傅立叶曲线拟合法,对柑橘序列图像形心坐标进行分析.这种方法能最大限度地逼近柑橘振荡轨迹.先拟合柑橘振荡曲线,得到振荡曲线的表达式.某方向振荡曲线表达式的常数项,就是这一方向平衡点的坐标值.柑橘振荡模型的三角插值多项式为
根据表1左摄像头各帧图像的形心坐标值,将X方向和Y方向序列图像形心坐标分别利用式(3)进行傅立叶曲线拟合,可以得到X方向和Y方向振荡曲线.2条振荡曲线对应三角插值多项式的常数项,即为左摄像头平衡点的坐标.左摄像头平衡点的坐标为(266.2,294.4).确定理论平衡点的坐标后,采用式(4)计算平衡点与最近帧图像形心之间的距离Dmin.
经计算和比较,表1中编号为20图像的形心坐标与理论平衡点之间距离最小.相应左摄像头和右摄像头采集柑橘图像的形心如图4所示.左摄像头采集柑橘图像的形心坐标为(281.431 6,294.966 3),右摄像头采集柑橘图像的形心坐标为(297.451 6,294.608 6).
图4 柑橘图像的形心
双目立体视觉是根据人眼视觉原理建立的视觉模型,双目立体视觉空间定位技术可用来对柑橘进行空间定位[10-11].双目立体视觉成像模型如图5所示.
图5中,xl和xr分别是左、右摄像头对应图像点横坐标,xl-xr为视差.yl和yr分别是左、右摄像头对应图像点纵坐标.B为双目视觉系统中左右摄像头焦点之间的距离,f为摄像机的焦距.采用三角测量方法,获取平衡点空间三维坐标.先对摄像机的内外参数进行标定,然后计算平衡点三维空间坐标,修正后的平衡点空间三维坐标表达式如下:
X和Y的计算表达式无需修正.深度Z的表达式,根据柑橘图像半径r进行修正.k是图像坐标系转变为世界坐标系的转换系数,其取值大小根据摄像机标定内参数矩阵进行确定.在柑橘的深度计算过程中,需将以像素为单位的计算转换为以长度单位的计算.摄像机外部参数基线B的长度为150 mm,摄像机焦距f经标定确定为575.984 mm.
若柑橘运动到平衡点,机器手刚好移动到柑橘平衡点的三维空间坐标处,机器手就能成功采摘到柑橘.柑橘采摘各环节消耗的时间包括摄像头采集各帧图像的时间、图像分析时间、平衡点与深度值计算时间、机器手采摘柑橘时间.根据采集各帧图像的时间,确定第1次经过平衡点的时间t0.柑橘采摘各环节所消耗的时间都可计算,这些时间可分为采摘程序运行时间和机器手采摘柑橘时间.采摘程序运行时间包括各帧柑橘图像采集时间、图像分析时间、平衡点与深度值计算时间.采摘各环节所消耗的时间如图6所示.
图6 柑橘采摘各环节消耗时间
将式(8)代入tx=tz-tp中,可得
求取采摘手的移动速度时,将式(8)和式(9)代入机器手平均移动速度v的计算表达式之中,整理可得
在柑橘采摘过程中,能否对扰动柑橘进行实时精确采摘,关键在于能否对柑橘采摘点进行精确定位.双目视觉深度测量装置的深度测量范围为1.0~1.6 m.文中在实验室中对单个扰动柑橘进行定位,检验不同距离、不同柑橘振荡方向情况下柑橘采摘点的定位精度.
试验利用双目立体视觉成像系统采集柑橘图像.试验选用USB宝贝计划网络摄像头.双摄像头均标定好,摄像头的帧率为30帧·s-1.PC端配置:处理器Intel(R)Core(TM)-i5 3230M CPU@2.60 GHz,内存4 GB,硬盘1 TB.采用图像的大小为320像素×240像素.试验分为5组,每组除深度距离和柑橘振荡方向不同外,其他情况相同.每组试验只受到一个单振荡方向的推力.为了考察柑橘在任意方向振荡时,柑橘定位算法能否对柑橘采摘点进行精确定位,设置了3种情况:情况1是柑橘振荡平面与摄像机的成像平面保持平行;情况2是柑橘振荡平面与摄像机成像平面成45°倾角;情况3是振荡平面与摄像机成像平面之间的夹角位于60°与75°之间.各组试验采用的实际测量深度分别为1 000,1 200,1 400,1 600 和 1 800 mm.当柑橘静止时,水平面上的柑橘垂直投影中心与两台摄像机基线之间的距离就是实际深度Z.试验数据如表2所示.根据表2中的数据,当测量深度大于或等于1.8 m时,情况3的测量精度迅速下降,已不能够满足柑橘采摘定位的要求.情况3定位精度大幅下降的主要原因:第一,当实际测量距离变大时,柑橘在两相机上的投影之间的距离xl-xr可视为变小,即视差变小.由式(7)可知,当视差xl-xr较小时,视差发生较小的变化都会引起计算深度产生较大的变化;第二,由于柑橘的振荡平面与成像平面之间的角度太大,柑橘振荡轨迹在成像平面上的投影变小.对其进行频谱分析时,分辨率会变小,从而影响柑橘振荡平衡点的计算精度.当测量深度在1.0~1.6 m范围内,情况1和情况2的定位精度能够满足要求.当测量深度大于1.6 m时,2种情况的定位精度会下降,下降原因是上述的第一种原因.理论上,深度越小测量精度越高.但是,当柑橘与摄像机之间的距离太近时,由于柑橘振荡幅度过大,导致振荡柑橘不在摄像机的拍摄范围之内,使双目视觉中一部或者两部摄像机不能采集柑橘图像,从而导致柑橘定位失败.当柑橘定位距离为1.0~1.6 m时,扰动柑橘采摘成功率能够满足实际采摘的需求[12].
表2 试验数据
建立了柑橘振荡数学模型,采用FFT频谱分析法确定扰动柑橘的振荡周期.研究了柑橘振荡平衡点的确定方法,采用傅里叶曲线拟合法获取振荡曲线,得到振荡曲线的表达式.X方向和Y方向振荡曲线表达式的首系数,即为平衡点的坐标.根据左、右柑橘图像的形心坐标,确定平衡点三维空间坐标.试验结果表明,本算法能够对振荡柑橘进行精确定位,能满足机器人对扰动柑橘自动采摘的要求.
References)
[1]宋 健,张铁中,徐丽明,等.果蔬采摘机器人研究进展与展望[J].农业机械学报,2006,37(5):158-162.
Song Jian,Zhang Tiezhong,Xu Liming,et al.Research actuality and prospect of picking robot for fruits and vegetables[J].Transactions of the Chinese Society for Agricultural Machinery,2006,37(5):158-162.(in Chinese)
[2]熊俊涛,邹湘军,陈丽娟,等.采摘机械手对扰动荔枝的视觉定位[J].农业工程学报,2012,28(14):36-41.
Xiong Juntao,Zou Xiangjun,Chen Lijuan,et al.Visual position of picking manipulator for disturbed litchi[J].Transactions of the Chinese Society of Agricultural Engineering,2012,28(14):36-41.(in Chinese)
[3]熊俊涛,邹湘军,陈丽娟,等.基于机器视觉的自然环境中成熟荔枝识别[J].农业机械学报,2011,42(9):162-166.
Xiong Juntao,Zou Xiangjun,Chen Lijuan,et al.Recognition of mature litchi in natural environment based on machine vision [J].Transactions of the Chinese Society for Agricultural Machinery,2011,42(9):162-166.(in Chinese)
[4]蔡健荣,周小军,李玉良,等.基于机器视觉自然场景下成熟柑橘识别[J].农业工程学报,2008,24(1):175-178.
Cai Jianrong,Zhou Xiaojun,Li Yuliang,et al.Recognition of mature oranges in natural scene based on machine vision [J].Transactions of the Chinese Society of Agricultural Engineering,2008,24(1):175-178.(in Chinese)
[5]Zhao Dean,Lü Jidong,Ji Wei,et al.Design and control of an apple harvesting robot[J].Biosystems Engineering,2011,110(2):112-122.
[6]Ji W,Zhao D,Cheng F,et al.Automatic recognition vision system guided for apple harvesting robot[J].Computers&Electrical Engineering,2012,38(5):1186-1195.
[7]Hayashi S,Shigematsu K,Yamamoto S,et al.Evaluation of a strawberry-harvesting robot in a field test[J].Biosystems Engineering,2010,105(2):160-171.
[8]张克敏.基于虚拟现实的机器人仿真研究[D].重庆:重庆大学机械工程学院,2012.
[9]赵惠玲.基于小波和FFT的电网谐波实时检测系统的研究[D].西安:西安工业大学电子信息工程学院,2012.
[10]高栋栋.基于双目立体视觉定位和识别技术的研究[D].秦皇岛:燕山大学机械工程学院,2013.
[11]宁志刚,程 辉,杨 恒,等.采摘机器人扰动状态下柑橘动态识别[J].江苏大学学报:自然科学版,2015,36(1):53-58.
Ning Zhigang,Cheng Hui,Yang Heng,et al.Dynamic recognition of oscillating orange for harvesting robot[J].Journal of Jiangsu University:Natural Science Edition,2015,36(1):53-58.(in Chinese)
[12]程胜勇,刘 盛.基于OpenCV的计算机视觉技术实现[M].北京:科学技术出版社,2008.