尚业华 王 昊 孟志军 尹彦鑫 肖跃进 宋正河
(1.中国农业大学工学院, 北京 100083; 2.北京市农林科学院智能装备技术研究中心, 北京 100097)
近年各地小麦、水稻的无人农场正在加紧建设,其中收获作业智能化是其中重要的环节[1-4]。传统农机自动驾驶多以基于全球导航卫星系统(Global navigation satellite system,GNSS)的精准定位为主,多用于耕整地和播种等无作物场景[5],而在作物生长至成熟时期后,由于作物枝叶外延、长势不均,其作物边界已非规则直线,使用GNSS导航会造成收获的重漏。故稻麦收获边界的实时检测与自动对齐控制对于提升无人收获智能化水平,提高收获作业效率具有重要意义。
目前针对收获边界的检测研究主要有视觉检测和激光检测两大技术路线。在视觉检测方面又有基于单目视觉、双目立体视觉等图像特征的检测和基于神经网络学习的检测方法。文献[6-15]采用基于直方图、改进Hough变换、改进平滑度纹理特征等单目图像特征的稻麦收获边界检测,文献[16-20]采用双目相机提出基于颜色空间和深度信息的稻麦收获边界导航路径点的提取方法,文献[21-22]分别研究了基于视觉U-Net神经网络的苎麻收获边界检测和基于图像的弱监督作物区域分割(Weakly supervised crop area segmentation,WSCAS)来识别未收获水稻边界。基于视觉的稻麦收获边界检测在特定条件下可以取得较好的检测效果,但其受光照变化影响较大、夜间作业受限,不能满足三夏三秋时节抢收农时、昼夜作业的需求,无法发挥无人作业的效率优势。
在激光雷达检测收获边界方面,文献[23-24]采用二维激光雷达在垂直平面内转动得到三维场信息,提出了基于邻域均值的微分算法和基于Otsu算法检测水稻的收获边界;文献[25]采用一阶差分法对水稻收获边界进行了检测;文献[26]采用Y向轮廓特征和Otsu算法研究了玉米的收获自动对行系统。上述算法研究了基于激光雷达的收获边界检测算法,其检测精度高,但连接并控制收获机沿边界收获的精度有待进一步提升。
在收获边界自动对齐控制方面,文献[7]基于图像检测的边界信息在简化的二轮车运动学模型的基础上设计了模糊PD控制器,文献[24]根据履带收获机转向模型设计了PI控制器,文献[26]基于激光雷达和机械式对行传感器设计了纯追踪模糊控制器,文献[27]基于GNSS定位信息设计了收获机纯追踪控制器,文献[28]基于GNSS定位信息提出了基于粒子群算法的模糊控制方法实现履带式水稻联合收获机的导航。基于GNSS传感器的导航控制系统可以根据预先规划的导航路径结合当前的位置和航向信息计算最优的转向角度或履带的差速。基于视觉或多线激光雷达的收获边界检测方法可以感知近处和远处多个边界点[24]或边界线[29],本研究采用低成本2D激光雷达,通过算法处理每一帧数据可以得到一个边界点,结合后轮转向式收获机的转向模型,拟采用基于预瞄点位置信息的纯路径跟踪算法。
针对无人驾驶收获机在多场景下实时检测和自动对齐收获边界的需求,本文提出基于K-means聚类和Z向中心差分算法的两种稻麦收获边界检测算法,并对比其检测效果,将检测结果输入基于纯路径跟踪算法的自动对齐控制系统,实现自动沿边界无人收获作业,并验证其边界对齐精度。
收获边界检测与自动对齐系统由二维激光雷达、陀螺仪、检测终端、无人驾驶控制终端和电动方向盘组成。收获边界检测与自动对齐系统以激光雷达为主要传感器,陀螺仪与激光雷达固定在同一支架上辅助进行姿态测量,它们共同安装在收获机驾驶室顶部,与割台的边界处于同一横向位置,并向下倾斜,以便扫描到已收获与未收获稻麦的轮廓,如图1所示。
激光雷达检测的稻麦收获边界轮廓点云,通过用户数据报协议(User datagram protocol,UDP)发送给检测终端处理;陀螺仪通过RS232接口将姿态信息发送给检测终端对点云进行校正,以提高边界检测的精度;检测终端为Windows 10操作系统显示终端,检测算法用C++语言编写,融合激光雷达的轮廓点云和陀螺仪的姿态数据计算得到边界点,并将边界点位置的横向偏差通过控制器局域网络(Controller area network, CAN)总线发送给无人驾驶终端;无人驾驶终端通过控制算法计算出转向轮转角并发送给电动方向盘;电动方向盘控制转向轮转至相应角度实现收获机沿收获边界自动对齐收获。系统组成如图2所示。
图2 系统组成
激光雷达是利用发射和返回的激光束信息得到待检测目标的距离、速度等信息的传感器。近几年随着自动驾驶技术的发展,激光雷达被广泛应用于道路车辆的自动驾驶感知。本文应用二维激光雷达检测稻麦收获边界,鉴于农业应用的特殊环境,选用防护等级IP67的室外用激光雷达,同时考虑到动态收获过程中运动畸变带来的精度误差,选用频率较高的激光雷达来降低运动畸变对精度的影响。
激光雷达的运动畸变是由于激光雷达为旋转扫描,当搭载激光雷达的车辆运动时,每个激光点都在不同的基准位姿上产生,得到的每个角度的激光数据非瞬时获得,故整帧雷达因车辆运动而产生畸变。在室内自动导航小车(Automated guided vehicle,AGV)领域消除运动畸变通常通过融合里程计信息进行校正,但在农机实际作业场景下由于轮胎打滑、车辆实际行走误差大和传感器融合复杂等因素,不适用于运动畸变校正。本文采用提高激光雷达频率的方法减少运动畸变,当激光雷达扫描频率较低时,假设车速为5 km/h,若激光雷达扫描频率为10 Hz,一帧内第1个点云和最后一个点云的基准位姿在一个扫描周期内已经移动0.13 m,若激光雷达的扫描频率为40 Hz,则在一个扫描周期内基准位姿移动0.03 m,大大减少了运动畸变引起的误差。
本文使用SLAMTEC LPX-T1型激光雷达,其主要参数如表1所示。
表1 激光雷达主要参数
由于雷达的姿态变化会对检测的边界点坐标造成误差,故需对激光雷达的检测点进行姿态校正。本文利用MPU6050型姿态传感器测量雷达的姿态并进行校正,姿态传感器与激光雷达固定在同一支架安装,通过姿态传感器测量得到雷达俯仰角和横滚角,采用RS232将姿态信息输入处理器,根据姿态角和得到的激光点云数据并对照坐标系的旋转变换关系对测量的雷达点云进行校正。
稻麦收获边界检测是基于传感器得到待收获稻麦的实时边界位置信息,本文采用二维激光雷达对其单帧数据应用算法处理得到收获边界点的相对位置。算法主要包括感兴趣区域选择、姿态校正与坐标系转换、滤波和算法计算边界点等,本文提出并对比基于K-means聚类和基于Z向中心差分两种收获边界检测算法,算法流程见图3。
图3 算法流程图
1.3.1激光雷达数据预处理
数据预处理环节主要对激光雷达探测到的原始点云数据进行感兴趣区域的划分、坐标系转换和滤波。
由于本文使用的激光雷达输出为270°检测范围,雷达正前方为0°,左侧输出角度至135°,右侧至-135°。在检测时有大部分区域并不是探测收获边界的重点区域,因此为避免其他区域数据干扰和加速后续计算,仅以探测前方为中心,左右划定一定角度为感兴趣区域,如图4所示,俯视下探的前方区域为收获边界感兴趣区域。该角度一般根据雷达的安装位置和左右两侧作物的生长情况确定,在本研究中由于雷达安装在收获边界侧,距离待检测的收获边界较近,故设置的感兴趣区域角度一般为-30°~30°。
图4 雷达扫描区域与感兴趣区域示意图
激光雷达扫描的原始数据以激光雷达为中心,以激光扫描平面为坐标平面的极坐标系。本研究以激光雷达为中心建立三维直角坐标系,该坐标系以激光扫描的正前方0°方向为X轴正方向,以该平面内垂直于X轴左侧逆时针90°方向为Y轴正方向,以垂直于激光扫描平面XY向上为Z轴正方向,按照右手定则建立三维直角坐标系。在此坐标系内点的坐标转换计算式为
(1)
式中d——极坐标下探测距离
α——极坐标下探测角度
由于激光雷达安装时横滚角和航向角与水平和车身前视方向存在夹角误差,且雷达安装位置与割台侧也存在横向偏差,需对坐标系进行旋转校正和平移变换,并计算点云在新坐标系下的坐标。激光雷达坐标系示意图如图5所示。
图5 三维坐标系示意图
图5中右侧橙色区域为未收获稻麦,黄色区域为已收获稻麦,激光雷达安装在收获机驾驶室上,横向位置与割台侧边对齐,以激光雷达为中心建立的直角坐标系为XYZ,雷达正前方为X轴的正方向,左侧为Y轴正方向,垂直向上为Z轴正方向,设激光雷达安装的横滚角为θroll、俯仰角为θpitch、偏航角为θyaw,雷达相对于割台下端的安装高度为H。经过旋转和平移变换后建立的坐标系为X′Y′Z′,割台边缘与收获边界的横向偏差为Loffset。
以雷达安装位置扫描得到收获边界轮廓数据,此数据点位置不变,经过坐标系XYZ转换到坐标系X′Y′Z′的坐标系变换得到数据点在新坐标系下的坐标值。旋转变换时从旋转轴的正方向看去,大拇指指向旋转轴的正方向,四指弯曲的方向为旋转正方向,即右手定则,结合旋转角和位置几何关系,设平移变换分别沿X轴移动tx、沿Y轴移动ty、沿Z轴移动tz,推导得到坐标系XYZ到坐标系X′Y′Z′横滚角、俯仰角、航向角和平移变换的矩阵分别为
(2)
(3)
(4)
(5)
设点P在坐标系XYZ下的坐标为(xp,yp,zp),转换到坐标系X′Y′Z′下的坐标为(x′p,y′p,z′p),则有
(6)
根据上述计算可得已收获与未收获的稻麦轮廓点在X′Y′Z′坐标系下的坐标值,多帧扫描后的轮廓点三维图如图6所示。
图6 稻麦轮廓图
收获作业过程中,尘土或飞起的破碎秸秆会对收获边界的检测造成干扰,故需对数据进行滤波。目前常用的滤波算法有中值滤波,中值滤波是一种非线性信号处理技术,该方法基于排序统计理论,是一种有效抑制椒盐噪声的滤波方法,但在本研究中经过中值滤波后仍会有一些噪点对边界检测产生影响。
根据小麦的高度特性和激光雷达检测的特点,提出一种适用于收获边界检测的Z向阈值滤波方法滤除这些干扰,并与中值滤波效果进行了对比。稻麦成熟收获时的高度一般为固定的高度范围,且同一地块品种间差异不大,而因为收获作业和风力等环境气象原因扬起的尘土和飞起的破碎秸秆一般较高。故在高度方向设定阈值,将高于该阈值的点过滤掉即可滤除大部分扬尘及杂物干扰。设中值滤波窗口为3,Z向阈值滤波的阈值为小麦平均高度,取1 m,对比中值滤波与Z向阈值滤波的效果如图7、8所示。由图7、8可以看出,Z向阈值滤波优于中值滤波算法,对小麦收获边界的检测有很好的滤波效果。
图7 中值滤波后的数据
图8 Z向阈值滤波后的数据
1.3.2基于K-means聚类的收获边界检测算法
聚类算法是指将一个没有标签的数据集自动划分成几类的方法。K-means聚类是采用距离作为分类指标的迭代型聚类方法。算法给定聚类个数K,随机选取类中心初始值,以距离平方作为相似度指标使聚类内点的距离最小,并根据类内所有值的均值不断迭代更新中心值,最终使算法收敛。
令k=2,对YZ方向进行K-means聚类,将点云聚类成已收获区域和未收获区域两类,迭代30次,距离阈值0.25 m,聚类结果如图9所示。图中黄色区域为聚类的未收获区域,绿色区域为聚类的已收获区域,已收获区域与未收获区域的区分可通过Z向高度平均值计算得到,其左右分布可通过横向位置关系得到,图中红色和蓝色的标记点为已收获和未收获两个聚类相互靠近的边界点。
图9 基于K-means聚类的收获边界检测
1.3.3基于Z向中心差分的收获边界检测算法
本文提出基于Z向中心差分的收获边界检测算法,其对点云坐标Z向的数值求取中间差分,将差分最大值所在的点标记为收获边界点。该算法可降低仅两个相邻点差分造成的误差,且不会因步长过大导致过度平滑而损失数据精度。
(7)
由于一帧激光雷达数据的第一个点和最后一个点分别没有前向数据和后向数据,因此在对首尾数据求取时计算式为
(8)
(9)
根据式(7)~(9)即可得到一帧数据所有点的Z向中心差分。由于已收获边界和未收获边界的落差较大,故根据Z向中心差分最大值点的位置确定收获边界。得到的检测结果如图10所示。图中蓝色的点为基于Z向中心差分最大值位置计算的边界点,以此点为界将点云分为左、右两部分,再根据两部分的Z向均值区分已收获和未收获区域。
图10 基于Z向中心差分的收获边界检测
纯跟踪控制是一种几何控制方法,调整参数简单易于实现,常用于低速和离散点路径的跟踪,其对大误差和离散点路径的鲁棒性非常强[27]。本文检测得到的收获边界为一系列边界点,且收获作业转向角度小,速度低,一般不超过10 km/h,故采用纯跟踪控制方法。试验机器为轮式收获机,满足阿克曼转向模型,通常可简化为两轮自行车模型,且收获机为后轮转向,其与目标点的关系如图11所示。
图11 车辆与目标点的关系
图11中点A为当前车辆前轮中心位置,点B为激光雷达检测到的边界点,可得到点B相对于点A的坐标,L为车辆前后轮轴距,R为转弯半径,基于阿克曼转向原理可求得目标后轮转角为
(10)
根据纯路径跟踪算法得到目标后轮转角为
(11)
式中α(t)——t时刻车辆坐标系下预瞄点的朝向角
ε(t)——预瞄点横向偏差
ld——预瞄距离
在实际调整时,由于车辆的机械动作与模型会有差异,为达到更好的调试效果增加调整系数k′,即
(12)
计算的转角信息通过CAN总线发送给电动方向盘,控制转向轮转至相应角度,使割台自动对齐边界收获。
采集小麦收获边界的点云,用两种算法进行检测得到边界点坐标,并采用手工标注的方法标注收获边界点的坐标,分别对比两种算法与手工标注得到的边界点,得到两种算法的检测精度。
将激光雷达看作一个距离相机,采用图像领域常用的手工标注的方法得到实际边界点,来对比算法的检测精度。试验时将雷达安装在收获机驾驶室一侧的顶端,共采集103帧数据。标注时将记录的每帧小麦冠层点云采用Matlab的plot功能画出,用Data Cursor工具找到收获边界,并将边界坐标记录在文本文件中。手工标注如图12所示。
图12 手工标注边界点示例
图13为基于K-means聚类的收获边界检测算法与手工标注实际边界对比,绿色和黄色点云分别为聚类的未收获小麦和已收获小麦,其中红色圆圈的标注为算法检测的边界,蓝色圆圈的标注为实际边界,由图中可见算法检测的边界有较多的点与实际边界不重合。图14为每帧数据基于K-means聚类算法与手工标注实际边界的横向偏差。由图14可见,误差主要集中在未收获侧,且偏差较大的点数较多,横向偏差平均值为22.24 cm。
图13 基于K-means聚类检测的边界点
图14 基于K-means聚类检测的横向偏差
图15为基于Z向中心差分法检测的收获边界与手工标注实际边界的对比,黄色点为麦地点云,红色圆圈标注点为算法计算的边界点,蓝色圆圈标注点为手工标注实际边界。由图15可见,大部分算法计算的边界点与实际边界点相近,有个别点计算为已收获侧的点。图16为每帧数据基于Z向中心差分法与手工标注实际边界的横向偏差。由图16可见,误差大部分在0附近,仅有个别几个误差较大的点,横向偏差平均值为1.48 cm。
图15 基于Z向中心差分法检测的边界点对比
图16 基于Z向中心差分法检测的横向偏差
对比两种边界检测算法可知,基于Z向中心差分的边界检测算法在精度和稳定性上均优于基于K-means聚类的检测算法。
为验证在实际收获时边界的自动对齐效果,本研究将收获边界检测算法与控制算法集成并进行了自动对齐试验。
2.2.1试验设备及安装
为提高整个系统自动对齐的精度,安装雷达时其横向位置为割台边界侧,若安装到中间,测量的边界点与实际需追踪的点之间存在半个幅宽的差异,在进行平移时会因为车身航向角与当前边界线存在的小夹角而产生误差,幅宽越大误差越大,故将激光雷达安装在与割台边界同一横向位置处,同时为保证收获机往复作业时,能够根据左、右侧的位置对边界进行检测并追踪,故在车辆两侧均安装一个雷达,安装后整机如图17所示。
图17 安装后整机
如图17所示,红色框内为安装雷达。安装高度为3.2 m,安装方位角为雷达自身坐标系的x轴正方向对准收获机正前方,下倾角约为28.82°,小麦冠层平均高度约为1 m。陀螺仪与雷达安装在同一支架上,有相同的位姿,可测量雷达姿态角以便进行补偿校正。
应用所述检测与控制算法开发了收获边界检测系统,系统可实时显示检测的点云和算法计算的边界点,并可设置雷达的安装参数并校正。系统界面如图18所示。系统集成收获机无人驾驶系统安装如图19所示。
图18 系统界面
图19 无人驾驶系统安装
2.2.2试验及精度测试方法
在进行收获边界自动对齐系统试验时,需对边界的对齐精度进行测试,目前采用的主要有两种方法:方法1通过在边界外立标尺,测量标尺与收获前后边界的距离,进行多点测量来计算收获机的边界对齐误差[28],如图20所示,但由于手工测量的点较为稀疏,且存在收获前后测量点不对应和有夹角的问题,易增大测量误差。方法2将GNSS定位设备安装在车身中央测量收获机的位置[26],由于作业时车身会有旋转摆动角,而车身定位位置并不改变,如图21所示,故其测量的位置与实际边界并不是半个幅宽的差距,需结合实时航向才能推算出割台边界坐标,计算较复杂且转换过程易增大测量误差。
图20 测量收获前后边界距离法
图21 车身定位设备推算法
为减小试验过程中的测量误差,本研究提出一种采用打点器直接测量边界的方法,即在收获前用高精度GNSS接收机连续打点测量小麦边界,收获作业时将定位设备中心放置在割台边界侧,采用自动连续测量模式直接测量割台边界实际走过的位置,如图22所示。
图22 割台侧实时测量法
试验采用司南公司的T300型高精度定位GNSS接收机,其测量数据可通过配套APP选择相应的投影参数转换为平面坐标,测量时使用自动连续打点模式测量收获前小麦的边界和自动对齐收获作业过程中割台的边界位置,如图23所示。
图23 测量边界
2.2.3试验结果与分析
为测量整个自动对齐系统的精度,于2022年6月在北京小汤山国家精准农业示范基地开展小麦收获自动对齐田间试验,试验时天气晴朗无风,小麦收获边界未有波动。试验分别对左边界和右边界的自动对齐精度进行了测试,试验场景如图24所示。
图24 试验场景
采用精度检测方法得到收获前后边界和割台位置数据,采用CGCS2000坐标系和横轴墨卡托投影将经纬度转换为平面坐标,为减小测量误差,在Matlab中采用interp1函数对边界数据进行线性插值扩增,得到左右边界位置数据如图25、26所示。
图25 左侧边界对齐位置数据
图26 右侧边界对齐位置数据
由图25、26可见,割台左右边界基本与作物边界对齐,在测量点处会有较小的误差,求取小麦边界和割台位置两组数据的对应最小距离,得到每个数据点自动对齐误差,统计结果如表2所示。
表2 左右边界自动对齐横向偏差统计结果
由表2可见,左侧边界横向偏差最大值、最小值和平均值略大于右侧边界,其原因可能是相较而言左侧雷达有微小的安装校正误差而导致的整体精度略差。综合来看,收获边界自动对齐横向偏差平均值为9.18 cm,标准差为2.48 cm。
(1)提出了基于Z向中心差分和基于K-means聚类的两种收获边界检测算法,并根据实测数据对比了其检测效果,其中基于K-means聚类的收获边界检测横向偏差平均值为22.24 cm,基于Z向中心差分的边界检测横向偏差平均值为1.48 cm。基于Z向中心差分的边界检测算法优于基于K-means聚类的边界检测算法。
(2)开发了基于激光雷达的稻麦收获边界检测系统,并与控制系统集成开发了收获机自动对齐系统。
(3)对整个收获边界自动对齐控制系统进行了试验,并提出了基于高精度定位的边界自动对齐精度测试方法,试验结果表明收获边界自动对齐横向偏差平均值为9.18 cm,标准差为2.48 cm。