张 刚,马强龙,马 标,吴爱兵,杨 洋,2
(1.安徽农业大学工学院,安徽合肥 230036;2.合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室),安徽合肥 230036;3.农业农村部南京农业机械化研究所,江苏南京 210014)
传统的小麦收获机在驾驶作业中,作业效果依赖于驾驶员的驾驶状况,在进行长时间的直线作业时,很难达到高精度的作业要求,容易出现漏割等现象,造成效率的降低[1]。因此,开展小麦收获机导航线自动识别系统的研制,有助于对小麦收获机自动驾驶的效果提高,不仅可以提升小麦收获机作业精准度,还可以提高农业生产效率、降低生产成本,减缓驾驶员作业疲劳程度。
目前,小麦导航线的提取主要使用视觉传感器和二维激光雷达传感器,曾宏伟[2]等采用相机获取小麦收割图像,并提出一种基于区域生长算法的联合收获机导航线提取算法,该方式导航线提取误差较小,且不易受作物生长密度的干扰。丁幼春等[3]采用工业相机采集小麦图像,根据Sobel算子和Canny算子进行边缘检测,然后通过Hongh变化拟合导航线,此方式单帧图像处理时间50 ms,准确率较高。但图像数据往往受光照的影响,例如强光照下成熟小麦已收割区域和未收割区域对比度低,收割边界获取难度大。伟利国等[4]采用二维激光雷达对小麦的边界线进行在线识别,通过阈值法得出导航线,收获边界测量不超过12 cm。但二维激光雷达的扫描是一个二维平面,很难反映出小麦种植的整体效果。基于上述问题可知,本文设计了一种基于三维激光雷达的小麦导航线提取方法,具有受光照影响效果小,且获取的点云数据很直观的反映出小麦的导航线数据,该方法可可靠有效的提取出小麦收获导航线。
为精确获取被测小麦的轮廓信息,采用三维面扫描高性能激光雷(中国大疆固态激光雷达,型号:浩界 Horizon,量程:90 m @ 10% 反射率,数据率:240,000 点/秒),高点云密度及便于嵌入车体的小巧体积,价格合理,具备81.7°宽广水平视场及25.1°的垂直视场,其独特的矩形视场,更适合车辆及农机的L3/L4级的自动驾驶使用,激光雷达如图1所示。
图1 激光雷达实物图
为获取待收获小麦点云数据,于2021年7月8日于安徽农业大学皖北宿州实验站的一块已成熟待收获的试验台内进行采集,采集平台为一台搭载激光雷达的小麦收获机,其在收获机上的安装位置示意图如图2所示,通过边收割边采集的方式来使得采集的数据更加便于处理实验,其中点云数据采集过程中激光雷达积分时间设置为200 ms,小麦收获机以1 m/s沿着小麦待收割区域边界线进行作业。
图2 激光雷达安装示意图
为使得激光雷达能够较好的识别收割机前方的小麦待收获区域,确保收获机自动对行行驶的实时性,应尽量让激光雷达采集的小麦点云靠近割台位置,因此考虑雷达垂直视角及在收获机上安装的高度等因素,将雷达的安装角度设置为:
式中,θ1为激光雷达的安装角度;
θ2为激光雷达的垂直视角(25.1°);
l1为激光雷达与收割机割台前端的水平距离;
l2为激光雷达的安装高度。
试验采集的小麦点云数据如图3所示。点云处理的硬件环境为联想的ThinkPad电脑,Intel Core i7-4800MQ处理器,主频2.70 GHz,64位操作系统,运行内存16 G。软件环境为Ubantu16.04操作系统下的ROS操作系统,采用C++与点云PCL库编程,激光雷达与处理器采用网口直连通信。
图3 小麦点云数据
在小麦收获机收获作业中,为保证效率及质量,需要要求收割机满幅作业且不发生漏割和重割现象,因此需要对不同情况下的小麦进行准确快速的边界线检测。根据实际采集的小麦点云数据观测发现,未收货区域和待收货区域的小麦存在较明显的高度差,因此根据此特点设计了基ROI区域下阈值迭代法的小麦收获边界线提取方法,具体流程如图4所示。
图4 小麦导航线提取流程图
主要流程为:首先对采集的点云进行预处理,对预处理后的点云进行ROI区域提取,然后计算点云的高度直方图,以便直观的观测到点云的高度分布数据,通过纯阈值法求出导航点,最后根据导航点拟合出导航线路径。
2.1.1 点云变换。激光雷达采集的点云坐标受到安装位置及角度的影响,由于本实验中激光雷达的倾斜安装导致采集的点云数据是倾斜的,不便于观测和处理,因此需要将采集到的点云经过x,y,z三轴进行点云旋转和平移,得到方便观测处理的点云数据,点云的旋转和平移都是刚体运动,则构造点云旋转矩阵:
式中,α为x轴旋转的角度;
β为y轴旋转的角度;
γ为z轴旋转的角度。
构造点云平移向量:
式中,kx为沿x轴平移的距离;
ky为眼y轴平移的距离;
kz为沿z轴平移的距离。
带入式3即得目标点云数据:
式中,P^为目标点云数据;
P为原始点云数据。
点云变换前后的数据如图4所示。
图4 小麦点云变换图
2.1.2 点云滤波。在获取小麦点云数据时,由于被测小麦不是绝对静止状态,且小麦收获过程中存在大量粉碎屑,导致点云数据不可避免的存在一定的噪声点及离群点,因此需要对点云进行滤波处理,滤波处理的效果往往对后续点云处理的影响很大。采用半径滤波对点云进行滤波,滤波后的点云如图5所示。
图5 滤波后的点云图
由于雷达的采集的视场幅宽很大,容易照射到其他非小麦物体上,照成数据处理复杂,不确定因素高,且整幅点云数据量大,激光雷达处理耗时高,因此对整幅点云进行裁剪,使得只关注雷达采集的正前方一块小麦区域,如图6a。裁剪的面积为H*W,根据收获机的割符合雷达视场的长度,H和W分别取5 m和2.4 m,然后基于裁剪后的ROI区域经行点云处理,如图6b所示。
图6 ROI区域裁剪
2.3.1 条带法提取导航点。由于小麦种植密集,雷达无法穿透小麦冠层射入地面,且行与行间错综复杂,常见的利用玉米植株垄线较明显的方式来规划导航线方式无法使用,但小麦已收获区域和待收获区域的高度差明显具有差异,利用这一特点规划小麦的导航线。为直观的观测小麦的高度变化情况,将ROI区域水平划分为不同的水平点云条带,观测每一个条带内小麦点云高度的数据变化,然后提取一个条带内的导航点。未倒伏小麦的高度数据如图7。
图7 未倒伏小麦水平点云高度数据
由图7可看出,未倒伏小麦的点云数据的未收获区域与带收获区域高度差异区别明显,高度数据也可看出,已收获区域高度为0 m左右,而未收获区域的小麦高度未0.7 m左右。根据这一特性,可设计基于纯高度阈值的小麦待收获导航线提取算法,首先设定一个高度阈值x,利用顺序遍历法判断当下一点云的高度值大于该阈值时,即为该条带的导航点。根据这一算法得出的导航点如图8。
图8 导航点提取
图8中白色点即为纯阈值算法下的小麦待收获区域边界线的导航点,由图8可看出导航点的提取效果较好,基本上与边界线相切合,满足当前小麦收获机无人驾驶下的自动导航控制。
2.3.2 导航线拟合。导航线的拟合采用做小二乘法拟合直线公式[5],最小二乘法的原理是使得所有已知的点到这条直线的欧式距离的和最小也就是点到直线的误差平方和最小,具体公式为:
式中,yi为Y轴的点坐标;
xi为X轴的点坐标;
k为所求直线点的斜率;
b为所求直线点的截距。
分别对此公式关于k和b求导,得出待拟合直线的方程。拟合出的导航线如图9所示。
由图9可知,最小二乘法拟合的导航线效果较好,与导航点具有一致性,且在小麦的点云数据中可看出导航线的方向与小麦收获的边界线基本贴合,反映了此雷达拟合小麦导航线算法的有效性,并基本上满足当下小麦收获机田间收获辅助驾驶功能。
图9 导航线拟合
本文以小麦为研究对象,设计了一种基于三维激光雷达的小麦收获机导航线提取方法,该算法通过点云变换、点云滤波对点云进行预处理,然后提出基于ROI区域的导航线识别算法。通过区域裁剪使得计算机只关注于ROI区域,减少了计算机的计算量和计算时间。通过将ROI区域划分为不同的水平条带,然后对每一条带使用纯阈值算法确定小麦的导航点,最后使用最小二乘法拟合导航点。数据表面,该方式拟合的导航线和小麦真实的边界线几乎一致,很好的反映了小麦边界线的情况,能够满足小麦收获机田间无人收获作业的要求。