基于行为的农田巡查机器人自主行走控制方法
2020-03-12吴厚波孟志军陈竞平
吴厚波, 孟志军, 刘 卉, 陈竞平
(1.首都师范大学信息工程学院,北京 100048; 2.北京农业智能装备工程技术研究中心,北京 100097)
近年来,伴随着现代农业技术的发展以及农村劳动力减少的现状,农业机械多功能化、精准化和智能化已成为发展趋势[1]。作为典型的农机智能装备,自动驾驶拖拉机可以解放人力,降低生产成本,同时提高农业生产的可持续性和精准性,在如喷药、施肥等使用化学物质的作业任务中可以避免对人体的伤害和降低对土地、作物的过量污染。此外,小型农田机器人的研究也得到关注,在一些重型机械不适合的环境中,如潮湿、泥泞的土地或小规模地块中,可以起到更好的效果,也可以减少作业后土壤的板结度,并减少能源的消耗[2]。
大型农田智能装备技术研究通常以拖拉机为平台,而小型农田作业机器人的研发需要独立的平台,机械设计成本较高;并且农田范围广,基础设施条件受限,对机器人能源供给提出了更高的要求。目前国内外关于小型农田作业机器人的研究仍处于技术探索阶段,潜在应用方向包括田间自主巡查、测绘农田数据、监测作物生长状况,并在需要时对农田进行高精度的精准除草和选择性收获[3]。农田机器人BoniRob,通过激光雷达、惯性测量单元和GPS(全球定位系统)进行定位导航,已经可以用于农田部分作物巡查作业,并辅以其他传感器监测作物生长状况,用户可以通过WLAN(无线局域网)远程获取监测数据和修正运动路线[4]。Chen设计了1个植物监测机器人,可以通过摄像系统监测一些不便接近的植物,并可同时监测多个小型植物[5]。
首先农田巡查机器人需要追踪预先规划好的农田路径,完成自动巡航,因此机器人应具有高精度的定位和路径追踪功能。Griepentrog等针对农村小面积农田中缺少低价的高精度定位条件,提出了1种基于红外跟踪装置的小型农田机器人定位系统,通过在农田边缘架设红外跟踪装置,安装了红外传感器的机器人,可以实现低成本且较高精度的定位[3]。Velasquez等设计了农田机器人Helvis,通过使用激光雷达和SLAM算法探测玉米地环境并定位,使其实现在无路径规划下玉米地中的自动行走[6]。宋健等在田间预先埋设高频电流的导线,为机器人加装电磁感应传感器,通过导线产生诱导信号,机器人通过1对电磁感应传感器的信号电压差值来定位并追踪路径[7]。陈艳等利用GPS获取车辆的实时位置,通过机器视觉获取导航路径,实现GPS与视觉融合的导航方式[8]。以上方法仍有不足之处,红外和电磁传感需要在农田中预先铺设传感器,激光和视觉传感器需要以农田作物作为参照,且对天气有一定要求。但GPS可以做到不受环境条件限制,全天候高精度定位。
此外机器人应具备避障功能,杨小菊等将超声波传感器、红外传感器和电子罗盘相结合,通过模糊神经网络控制机器人避障[9]。金兆远等组合使用多个超声波传感器,采用二分法与模糊控制相结合方式实现避障功能[10]。还有一些采用图像识别与人工神经网络识别物体的方法[11]。相比较而言,激光测距传感器测距精度高、分辨率好、抗干扰能力强,特别适用于实时控制系统的环境感知研究[12]。
本文以Seekur机器人平台为基础,通过加装高精度双天线GPS和激光测距仪构建农田巡查机器人硬件系统。采用Microsoft Visual C++集成开发环境,应用ARIA机器人程序库和ArcEngine地图组件进行基于行为的程序设计与编码。本研究采用了双参数P控制算法实现目标路径追踪,使用模糊控制的方法避开路径上的障碍物,并通过试验验证了算法的有效性。
1 基于Seekur的农田机器人系统
1.1 系统硬件结构
基于Seekur平台的农田机器人系统如图1所示,主要包括Seekur机器人平台、R60S双天线定位定向接收机、激光测距仪Sick LMS-200。
Seekur是由MobileRobotsActiveMedia公司推出的可以全天候运行、四轮独立转向的智能通用型机器人平台。Seekur内部可安装5台工控机,有效实现数据的集群运算和统一处理,并具有较重的负载能力和额外接口,允许在机器人上加装其他传感器及执行机构。
R60S是联适导航公司一款高精度北斗/GNSS(全球卫星导航系统)双天线定位定向型接收机,具有抗干扰性好、初始化速度快、性能稳定等优点,能提供各种静态或动态平台精确的实时位置、航向、俯仰或横滚姿态角,可运用在多种运动载体上。
激光测距仪LMS-200是SICK公司研制的激光雷达探测仪,通过计算发射激光脉冲的返回时间来探测前方障碍物。激光测距仪具有扫描时间短及不受环境、物体颜色和结构影响等优点,能有效探测物体的体积和位置,为机器人避障提供精准数据。
1.2 软件开发环境及组件
ARIA是Seekur机器人配套的程序库,支持在Microsoft Visual C++集成开发环境下进行程序开发。ARIA采用面向对象的设计模式,将机器人底层控制功能封装成类,包含串口通信、状态包和命令包的处理以及多线程控制、同步和异步机制等功能。用户根据机器人应用需求调用ARIA库函数开发实现相应功能。
ArcEngine是ESRI公司推出的1款嵌入式GIS(地理信息系统)组件库,用于构建定制应用,它提供了丰富的GIS相关接口,如地图编辑、坐标转换等功能。
本研究采用Microsoft Visual C++集成开发环境,应用ARIA机器人程序库和ArcEngine地图组件进行程序设计与编码,实现了加载目标路径、机器人定位、路径追踪显示、障碍物探测及有效避障。
2 农田巡查机器人行为建模
2.1 基本行为库
针对农田机器人典型的田间巡查作业,按照“农田巡查作业完成作业的任务组合执行任务的基本行为单元序列”逐级分层的研究思路,遵循机器人控制领域行为设计的针对性、唯一性和最小性的基本原则,解析出最小、唯一且可直接控制执行的机器人基本行为单元,构建农田机器人的基础行为库。如图2所示,农田机器人巡查作业具有半结构化特征,其行为具有功能性、时间性和关联性,可分为理性行为和感性行为2类。
理性行为是基于“感知-思考-行为”的行为,属于高层行为,其行为结果不会影响机器人当前的状态,而是决定未来的行动。例如路径规划行为,根据农田环境和设定的目标规划生成巡查作业路径;障碍物探测行为,检测机器人周边环境是否出现障碍物;感性调度行为,根据其他理性行为的需求唤醒或休眠感性行为;自检行为,定时检查机器人自身状态是否出现异常情况。
感性行为是基于“感知-行为”的行为,属于低层行为。感性行为耗时短,直接影响机器人的当前状态。例如路径追踪行为,追踪当前规划路径的行为;避障行为,控制机器人绕开前方障碍物的行为;故障处理行为,当系统故障或遭遇其他不可预知的状况时,为保证机器人安全的紧急制动行为。
以感性行为为例,将行为拆分为基本动作单元。如路径追踪行为可以拆分为GPS定位、计算转向角和转向3个基本动作单元;避障行为可以拆分为GPS定位、计算速度、计算转向角、转向、加速和减速6个基本动作单元。不同行为的实现过程,即为多个基本动作单元的时序组合。通过基本行为库,再实现农田巡查机器人“执行任务的基本行为单元序列完成作业的任务组合农田巡查作业”逐级组合。
2.2 巡查作业行为建模
采用统一建模语言(UML)描述机器人的行为,建模行为类及不同行为类之间的关联,图3为农田机器人的UML行为建模图。
图3中包含传感器交互、理性行为、感性行为、Seekur控制4个部分的内容。
(1)传感器交互。由GPS传感器GPSSensor类和激光传感器LaserSensor类分别负责与GPS接收机和激光传感器的交互、数据解析及传递等功能。
(2)理性行为。其中PathPlaning类为路径规划行为,负责导入地块及路径信息,通过GPS坐标生成新的路径,将路径传递给路径追踪行为Navigation类。ObstacleDetection类为障碍物探测行为,负责根据激光扫描数据解析障碍物信息,判断是否需要避开障碍物,并将障碍物信息传递给避障行为ObstacleAvoid类;Dispatch类为感性调度行为,根据其他理性行为传递的信息,判断激活或休眠感性行为;SelfCheck类是自检行为,监控机器人运行状态,并在故障时通过调度行为唤醒故障处理行为。
(3)感性行为。其中Navigation类为路径追踪行为,控制机器人即时追踪路径;ObstacleAvoid类为避障行为,控制机器人避开前方障碍物;FaultDisposal类为故障处理行为,在机器人故障时停止机器人运行,避免进一步的损失。
(4)Seekur控制。Seekur类为机器人控制类,负责与机器人本体的交互,从而控制机器人运动。
3 路径追踪行为及试验
3.1 数据预处理
从路径规划行为中获取目标路径,采用北京54坐标系投影将GPS获取的实时经纬度数据转换为平面坐标。
3.2 路径追踪行为控制方法
在机器人路径追踪控制方面,白辰甲设计了1个基于计算机视觉和深度学习的控制系统,通过计算机视觉获取农机前方路况,再通过卷积神经网络学习和预测转向角,进而自动控制农机,但是机器视觉对环境要求较高,且通常只适用于某些地块和作业类型,普适性较差[13]。张琳洁采用GPS进行定位,利用PID算法设计转向控制器,为车辆的转向机构建立运动学模型,设计了单因子自调整的模糊控制,再利用神经网络的自学习和自适应功能,建立模糊神经网络控制算法,计算农田机器人转角,实现在低速和平坦环境中有效地追踪目标路径[14]。该系统采用了多种方法,提高了精度,但也导致耗时较长,且需要大量数据预先进行学习。本研究采用改进的双参数P控制方法,结合GPS定位,可以适应大多数农田地块,耗时短,能够实现有效的路径追踪行为。
如图4所示,黑色直线为目标路径,ε为机器人重心到目标路径的距离,φ为机器人航向与目标路径之间的夹角。
经典的P控制方法,以机器人当前位置偏差ε为输入,通过设置适当的比例系数kε,控制机器人前轮相对转向角ψk,可以实现基本的路径追踪。
发布会现场,兄弟(中国)董事长兼总经理尹炳新先生为新品发布致辞。他指出,随着中国经济的发展,个人消费升级趋势明显。针对家用市场的需求和变化,Brother不断研发出与用户需求更契合、更能激发用户创造力的产品,以此满足中国市场的需求。两位生活达人受邀前来分享了各自关于品质生活、收纳整理方面的心得。城市里的生活忙碌中夹杂着喧嚣。如何在有限的时间和空间里保有品质?唯有取舍有道。每个人心中所求不同,而Brother能为追求简约、时尚的人们带去更多选择。
ψ(k)=kεε(k)。
(1)
但是这种方法存在不少问题:其一,单参数P控制会导致航向偏差不断累加,存在稳态误差,还可能导致计算的转向角过大,使机器人出现逆向行驶;其二,由于不断累加的航向偏差会使机器人的航向与目标路径航向间存在较大误差,需要经过多次振荡后才能与路径航向一致。本研究对单参数P控制算法进行了改进,采用基于位置偏差和航向偏差的双参数P控制算法,可以有效地改善单参数P控制算法的缺陷。
ψ(k)=kεε(k)+kφφ(k)。
(2)
式中:ε(k)为位置偏差,mm;φ(k)为航向偏差,°;kε为位置偏差比例系数;kφ为航向偏差比例系数;ψ(k) 为机器人转向角,°。
在双参数P控制算法中,位置偏差ε(k)和航向偏差φ(k)是相互协作制衡的关系。在追踪过程中,位置偏差ε(k)为正值时,航向偏差φ(k)通常为负值,反之亦然。通过选择合适的比例系数kε和kφ,当机器人和目标路径距离较远时,kεε(k)较大,令ψ(k) 为正值,机器人转向目标路径。当机器人和目标路径距离较近,且航向偏差较大时,kφφ(k)较大,令ψ(k)为负值,令机器人提前反向调整转角。通过提前反向调整的缓冲,使得最后的转角不会引起逆行,也可以有效地减小机器人抵达目标路径时,机器人和目标路径间的航向偏差,减小追踪过程中的振荡。因为有航向偏差φ(k)参与作为缓冲,可以有效地降低系统稳态误差,并且控制方法简单。
3.3 试验与数据分析
3.3.1 Seekur机器人标定试验
3.3.1.1 Seekur车轮转速标定 Seekur的左右轮转速存在细微差异,在进行试验前需进行车轮转速标定。令Seekur静止,以0.5 m/s的速度,沿正前方行驶30 s。其间每隔0.1 s记录1次Seekur的左轮速度vl、右轮速度vr、旋转速度vrot。
3.3.1.2 GPS双天线航向安装偏差标定 在Seekur平台上安装GPS双天线时,前后天线的连线与Seekur的中轴线存在初始安装偏差。首先记录Seekur初始的GPS坐标及航向φg,然后令Seekur以0.5 m/s的速度沿直线方向行驶20 s,记录Seekur停止时的GPS坐标及相对于初始位置的航向误差φs。根据行驶轨迹生成路径并计算路径航向φp,则GPS双天线航向安装偏差为
Δφ=φp-φs-φg。
(3)
3.3.1.3 标定结果 按照前述方法对Seekur车轮转速和GPS双天线航向安装偏差进行多次重复试验,计算误差均值,详见表1。
表1 标定试验结果
表2 路径追踪参数及结果
当kε不变时,调整比例系数kφ,随着kφ的增加,横向偏差均值的变化如同1个波谷,标准差的值则不断减小;当kφ不变时,调整比例系数kε,随着kε的增加,横向偏差均值不断减小,标准差的变化如同1个波谷。寻找调节过程中均为波谷的参数值作为最后的结果。在上述试验中,通过合理调整比例系数,能够实现Seekur机器人的路径追踪。图5中,虚线为目标路径,实线为kε=0.025和kφ=0.5时的追踪路径,从数据结果分析,Seekur系统的标准差较小,说明算法具有较好的稳定性,但仍存在一定的系统偏差,使得横向偏差均值较大,还需进一步的算法改进。
4 避障行为及仿真试验
4.1 障碍物探测
障碍物探测行为在机器人运动过程中不断接收解析激光数据,判断前方是否有障碍物[14],有障碍物时是否进入预警范围,当有障碍物进入预警范围时,通过感性调度行为唤醒避障行为,并传递障碍物信息。
4.2 避障行为控制算法
农田机器人避障行为使用模糊控制算法。如图6所示,障碍物与机器人间距离为ε0,夹角为φ0,机器人下一步转向角为ψ(逆时针为正)。其中,距离ε0和夹角φ0为输入量,下一步转向角ψ为输出量。
输入值中距离ε0的量化论域Xε=[-4,4],其语言值的模糊子集为{很近,近,居中,远,很远},即{VN,N,M,F,VF};夹角φ0的论域为Xφ=[-6,6],其语言值的模糊子集为{左大,左中,左小,零,右小,右中,右大},即{LL,LM,LS,ZO,RS,RM,RL}。
输出值转向角ψ的量化论域Xψ=[-3,3],其语言值的模糊子集为{负大,负中,负小,零,正小,正中,正大},即{NL,NM,NS,ZO,PS,PM,PL}。
采用三角隶属函数计算输出值:
(4)
式中:n代表本次输入激活的子集个数;με(xi)为激活子集的距离隶属度;μφ(yi)为激活子集的角度隶属度;Yi为当前激活子集对应的输出转向角论域的值;ψ为最终输出的转向角,°。
模糊控制规则见表3。
表3 避障模糊控制规则
4.3 仿真试验
在Seekur机器人仿真环境MobileSim中,加载使用Mapper3绘制的具有障碍物的农田地图,对避障过程进行仿真。如图7所示,机器人在探测到障碍物后,能根据激光扫描信息,使用模糊控制的方法避开障碍物,继续追踪原路径。目前的避障算法仅能应对数量较少的障碍物,难以应对复杂环境及运动障碍物,还需开展进一步研究。
5 结论
(1)以Seekur机器人平台为基础,通过加装高精度双天线GPS接收机和激光测距仪构建农田巡查机器人硬件系统。
(2)针对农田机器人典型的田间巡查作业,按照逐级分层思想,解析最小、唯一且可直接控制执行的机器人基本行为单元,研究不同行为间的关系,构建农田机器人的基础行为库。
(3)采用改进的双参数P控制方法实现机器人的路径追踪行为,开展田间试验,调整距离参数和角度参数,最终稳定追踪时横向偏差均值为 4.55 cm,标准差为1.06 cm,能够实现较准确的目标路径追踪任务。
(4)采用模糊控制方法实现机器人的避障行为,以障碍物和机器人间距离和角度为输入量,以机器人转向角为输出量,建立模糊规则。当其被障碍物探测行为通过感性调度行为唤醒时,控制机器人避开障碍物,通过仿真验证了模糊控制规则的可行性。