李巧君,梁俊娟
(河南工业职业技术学院,河南 南阳 473000)
随着农业机械智能化和信息化的飞速发展,农业机器人正在成为主角。它的出现不仅推动农业实现了标准化生产,还进一步提高了种植效率,减少了人工成本,促进了传统农业快速转型。农业机器人研究过程中,变速箱和发动机的驱动控制、机械制造等基础产业技术容易解决,但智能控制算法依旧是研究难点和热点。本文根据农业机器人作业特点,采用数据挖掘智能算法,结合可视图建模方法,设计了一种农业机器人路径规划与实时定位系统。
数据挖掘(Data Mining)是指从大量不完全、隐含的、随机的大型数据库中提取隐含在其中的、人们未发现的但又有用的信息,其目的是帮助人们提高特定时间的决策、监测和风险预警等。数据挖掘主要包括统计学和机器学习两种方法:统计学一般以模型为驱动,通常是建立一个用以构造数据的模型;而机器学习一般是以算法为驱动,让计算机通过特定算法从复杂数据中提取有用信息。
从形式上来讲,数据挖掘技术一般是采用迭代式开发方法,过程如图1所示。
其中,各个模块解释如下:
1)解读需求。大多数数据挖掘技术都是应用在特定场合的,开发人员不应该只研究数据挖掘的算法模型,还应多与项目相关的工程师交流合作,恰当解读项目的需求。
图1 数据挖掘开发流程Fig.1 The development process of data mining
2)搜集数据。确定项目需求就是从各个业务数据库中搜集数据。一般做法是采用抽样的手法提取数据信息,这种情形下主要是侧重于根据取样分布确定抽样方法,确保评估模型中用于训练和检验数据来源于同一个取样分布。
3)数据预处理。数据预处理包括对数据的清洗、集成、变换和规约等任务。其中,前面两个任务主要是针对数据做出一系列的缺失值、异常值、归一化、时间序列加权的处理;而后面两个任务则是对数据进行维度、值以及案例的归约处理。
4)评估模型。评估模型就是在众多可行的模型中选出一个最优的模型。
5)解释模型。数据挖掘实际上是用来帮助人们对事情做出最终决策的,在实际工程中人们不会根据“黑箱子模型”做出决策。因此,需要对具有实际用途的“黑箱子模型”做出合理的解释。
建立农业机器人作业环境模型,主要是采用合适的环境表示方法表示作业区域内的机器人和障碍物,从而建立路径规划和路径搜索算法,实现路径最优化。假设R为二维平面中的农业机器人,其作业区域为工作空间,那么在工作空间可能存在若干个障碍物O={O1,O2,…,On},每个障碍物可以看成一个不规则的多边形。另外,为了方便表示机器人的行走路线,在作业环境模型中将机器人看作成一个点。
本文采用包含最短路径的可视图建模方法构建环境模型,其主要步骤包括简化障碍物、局部视图最小化和全局视图等。
1)简化障碍物。简化障碍物实际上是一共包括5个步骤。
Step1:假设PS(农业机器人起点)和PG(农业机器人终点)已知,作直线PSPG,确定PSPG穿过的障碍物;
Step2:在直线PS、PG两侧,分别找远离直线PSPG的障碍物顶点Phigh和Plow;
Step3:以PS、PG、Phigh和Plow这4点作一个四边形区域。若直线PS、PG的某侧有多个满足Phigh和Plow的顶点,则将这些点和起点和终点连接起来,如图2中的虚线。
图2 简化可视图区域Fig.2 The simplifying viewed area
Step4:判断是否有除PSPG穿过之外的障碍物与PSPGPhighPlow四边形相交,若其位于PSPGPhighPlow四边形内部,也称其相交;若有,则保留。
Step5:保留PSPG穿过的障碍物和与PSPGPhighPlow四边形的障碍物,除掉其他的障碍物。
2)局部视图最小化。局部视图最小化是由两个完全可视的障碍物的公切线组成的,根据要求可以生成的多个局部最小可视图。局部视图最小化示意图如图3所示。
3)全局视图。对局部视图最小化障碍物中没有连线的,都进行连线并加入到可视图中,然后将起点PS和终点PG也加入到作业区域中,就形成了完整的全局视图,如图4所示。
图3 局部视图最小化示意图Fig.3 Local view minimization schematic diagram
图4 全局视图示意图Fig.4 The sketch diagram of global view
农业机器人作业环境比较复杂,设定好机器人的起点和终点后,便是获取作业区域的环境信息,然后由系统算法进行最优路径规划。假设农业机器人起点PS和终点PG,则路径规划应该从以下几个方面进行考虑。
1)时间最短。
f1=min(maxt) (1≤t≤n)
(1)
其中,f1为从起点PS和终点PG的最短时间;t为时间节点。
2)路程最短。
(2)
其中,f2为PS和PG之间的最短路程;(xi,yi)为路径坐标点。
3)路径转弯次数最少。
(3)
其中,f3为路径转弯次数。
根据以上3个方面,可以构建农业机器人轨迹规划计算函数为
F=a1f1+a2f2+a3f3
(4)
其中,a1、a2和a3为最优路径计算系数。
本文结合农业机器人轨迹数据得到最优路径和层次搜索策略,采用经验等级路网结合分层路径搜索对农业机器人的路径进行有效规划。路径规划与实时定位技术路线如图5所示。
图5 路径规划与实时定位技术路线图Fig.5 The technical roadmap of path planning and real-time positioning
路径规划与实时定位的具体实现流程为:
Step1:根据需求对采集到的农业机器人数据进行预处理,除去经纬度越界、经纬度和时间没有发生变化的不合格数据。
Step2:经过对数据的预处理后,匹配环境模型,将GPS数据加载到环境模型的路网数据中,使得系统可以在环境模型中提取农业机器人的经验轨迹集。
Step3:计算指定时间内农业机器人在各个经验轨迹上耗费的时间和出现频率,并对经验轨迹进行贝叶斯分类,组建经验道路等级路网。
Step4:在已经组建经验道路等级路网的基础上,实现农业机器人层次路径规划算法。
农业机器人实时定位算法比较复杂,本文采用挖掘技术中的Rao-Blackwellized(PF)粒子滤波器算法进行定位运算。PF算法具体实现方式如下:
根据农业机器人GPS信息、运动模型、环境模型及农业机器人初始位姿,利用一批离散的采样点(粒子)表示农业机器人实时定位状态的密度函数。当PF算法在高维状态空间采样时,应该加大采样样本确保算法可靠性,也大大提高了算法的计算量。PF算法的基本思想为
p(st,λt|zt,ut-1,nt)=p(st|zt,ut-1,nt)×
(5)
其中,t为采样时间;st为农业机器人运动模型集;ut-1为农业机器人控制输入集;zt为农业机器人位姿集;λt为t时刻的环境特征;nt为关联数据参数。
当在高维状态空间采样数量m趋于无穷大时,st趋于真实的密度函数,那么p值即为真是定位点集。
农业机器人实时定位系统主要是根据摄像头传感器和GPS定位系统,结合农业机器人初始位姿信息及Rao-Blackwellized(PF)粒子滤波器算法进行高效计算,得到高精度的定位参数。农业机器人实时定位系统结构如图6所示。
图6 农业机器人实时定位系统结构图Fig.6 The structure diagram of real time positioning system for agricultural robot
路径规划与定位系统采用粒子滤波器算法进行定位和路径规划,软件流程为:①搭建环境→②设定起点和终点→③)计算粒子群适应度Pbest和gbest→④)检测粒子聚合度→⑤变异操作,计算每个粒子群适应度→⑥比较判断新粒子适应度是否优于pbest,并确定Pbest新位置→⑦比较判断新粒子适应度是否优于gbest,并确定gbest新位置;→⑧输出最优路径。其中,pbest(0)、pbest(1)、…、pbest(N-1)表示各粒子的个体最优;gbest表示全体的最优解。该软件流程如图7所示。
为了验证农业机器人路径规划与实时定位系统的可行性和可靠性,利用MatLab仿真软件对其进行了仿真实验,测试内容为系统是否能够使农业机器人在路径最优情况下到达终点。环境模型图和仿真结果如图8和图9所示。
由图9可以看出:该系统采用最短路径的可视图建模方法和PF算法,使得农业机器人成功避开了所有的障碍物,精准地从起点到达了终点。从其移动路径和拐点来看,该系统优化效果明显,具有很强的避障、路径规划和定位能力,符合设计要求,验证了系统的可行性和可靠性。
图7 蚁群算法软件流程Fig.7 The software flow of ant colony algorithm
图8 设定的环境模型Fig.8 Set the environment model
图9 仿真结果图Fig.9 Simulation result diagram
针对农业机械人作业环境复杂、障碍物多、路径规划和定位困难等问题,提出了基于数据挖掘技术的农业机器人路径规划和实时定位系统。系统采用可视图建模方法和PF算法,为机器人路径规划和实时定位提供一种可行性强、可靠性高、算法最优的解决方案。实验结果表明:农业机器人成功避开所有的障碍物,顺利地从起点到达了终点。从其移动路径和拐点来看,该系统优化效果明显,具有很强的避障、路径规划和定位能力。