排球战术在除草机器人路径规划系统中的应用
2020-10-19王哲
王 哲
(许昌学院 体育学院,河南 许昌 461000)
0 引言
随着国家对环保的重视程度越来越高,在城镇化建设过程中绿地建设也被纳入政府规划,城市中的绿地数量和面积呈急速上升趋势[1]。城市园林绿化一线工作者以中老年人主,且除草方法较为原始,不能满足日益增长的绿地修建需求[2]。因此,可以实现大规模装备的除草机器人的需求迫在眉睫。当今除草自动化设计原理主要包括:①GPS加视觉分辨系统除草机器人[3];②以测距传感器作为检测设备[4],采用神经网络方法进行路径规划的机器人[5]。GPS加视觉分辨系统具有很高的路径规划精度,除草效果好,但需要GPS导航模块、高清摄像机和工控机,成本居高不下,不能满足大规模装备的需求[6]。以测距传感器作为检测设备,采用神经网络方法进行路径规划的机器人具有成本低廉的特点,但神经网络系统建设和算法不完善,在草坪障碍物多的情况下机器人可能进入死区[7],不能实现全区域除草工作[8]。为了实现大规模装备,以测距传感器作为检测设备,基于排球战术[9]设计神经网络系统,实现了除草机器人的自动化。设计思路如下:①设计除草机器人机械结构;②采用排球近战战术规则设计三层神经网络系统,实现机器人避障;③基于排球长传转移战术,设计机器人死区改出神经网络系统;④仿真测试。
1 除草机器人结构
除草机器人结构原理如图1所示。
图1 除草机器人结构Fig.1 The Structure of weeding robot
其中:1为除草滚刀,长度为L,距离地面高度为H,即确保机器人工作过后草坪高度为H;2和5为左右驱动轮,半径为r,为机器人提供前进和转向动力;3为支撑作用的万向支撑轮;4为测距传感器,检测角度为60°,在机器人四面均布8个,两个传感器之间的夹角为45°,实现无死角障碍物检测。
除草机器人主要完成以下功能:
1)除草功能。在滚刀1最低点到地面距离为H,当驱动电机作用下工作时,确保工作后的草坪高度为H。
2)机器人前进,此时2和5为左右驱动轮以相同的转速ω运行,则机器人前进速度V=ωr。
3)机器人原地转向,此时2和5为左右驱动轮以大小相同、方向相反的角速度ω运行。设右转为正方向,则机器人自转角速度为Δθ=2ωr/M。
2 工作草坪格栅地图建立
工作草坪进行网格划分[10],每个单元格大小为L×L,后对其进行坐标化处理。其中,坐标P(xi,yi)表示横坐标为xi、纵坐标为yi的单元格。由于单元格只存在两种情况:①被障碍物占据,除草机器人不能工作;②没有障碍物,除草机器人可以工作。因此,设定函数O(xi,yi)表示该单元格状态,即
(1)
单元格中,只要有任何一部分本障碍物占领,就认为该单元格有障碍物,如图2所示。
图2 格栅式地图Fig.2 Grid map of grass carpet
设机器人可以工作的区域集合为S0={(x,y)|O(x,y)=0},障碍物占据区域集合为S1={(x,y)|O(x,y)=1},则机器人经历的路径为L1={(xi,ym)|i=1,2,…,n;m=1,2,…,n}。工作草坪区域集合为Φ,则四者之间的关系为:L1⊆S0,Φ=S0+S1。
3 除草路径规划
3.1 全覆盖路径规划
目前,主流的除草机器人全覆盖路径规划为螺旋式规划和犁地式规划[4]。螺旋式规划是指机器人沿着这个工作区域进行工作,当完成1整圈后,向内侧缩小1个滚刀宽度L后,继续沿着新的边界进行运动,整体呈现出沿“回”字进行运动,最终实现在工作区域的中心某位置完成全覆盖,如图3(a)所示。该方法可以有效地完成除草工作,但对于确定机器人自身坐标和设置规避障碍物规则相对困难,适用于障碍物不多的草坪。 犁地式规划如图3(b)所示。工作时,机器人沿着某一个方向向前运动,此时机器人坐标P(xi+1,yi+1)=(xi,yi+1)。当遇到边缘时,机器人向右转90°行走L,此时机器人坐标P(xi+1,yi+1)=(xi+1,yi);向右转后前进,此时机器人坐标P(xi+1,yi+1)=(xi,yi-1)。如此往复,直到整个草坪完成除草工作。犁地式路径规划具有避障规则简单及机器人坐标递推关系清晰的特点,因此基于犁地式规划设计除草机器人路径。
图3 除草路径规划Fig.3 Path planning for weeding
3.2 局部障碍路径规划
以工作区域建立直角坐标系,机器人经历了i个格栅,即i次迭代后机器人坐标位置表示为P(xi,yi,)。机器人传感器输入量为正前方是否有障碍物,可以用函数O(xi,yi)表示;区域是否完成清扫,用函数Clear(xi,yi)表示,即
(2)
因此,系统输入向量为Xp=(clear,O)T。机器人的状态由两个量表示:①机器人转角θ;②机器人速度V, 神经网络系统输出期望向量为S=(θi,Vi)T。输出量期望的判定规则为
(3)
根据系统的输入量区域清扫函数Clear(xi,yi)和前方障碍物函数O(xi,yi);系统输出量期望为机器人转角θ,机器人速度V,构建学习样本集。构建规则基于排球比赛战术,当防守队员站在正前方不远处且防守队员身后有空档时,攻防队员降低移动速度,同时向右转身,打防守队员身后空档;当防守队员身后没有空档时,减速左转,返回自己半场;当没有防守队员时,采用高速直线带球。基于以上规则,建立避障学习样本,如表1所示。
表1 避障学习样本集Table 1 Training samples for obstacle avoidance
图4 系统神经网络图Fig.4 The Structure of neural network system
(4)
当第j个节点输出函数已知时,输出量为
(5)
同理可得,输出向量中第j个元素的总输入和输出为
(6)
(7)
输出向量元素的所有误差的平方和Ep为
(8)
(9)
在迭代过程中,权重值改变量和梯度值成正比,则
(10)
(11)
3.3 死区处理
将Sigmoid函数作为隐含层到输出层的传递函数,即
(12)
由此造成整个神经网络产生了复杂的非线性问题,导致局部极小的出现,表现为除草机器人的死区问题,如图5所示。当除草机器人运动到最终位置时,发现工作区域的草坪均完成工作,失去目标坐标导向,此时机器人任务工作已经完成。实际上,整个草坪还要右上部分没有进行除草作业,因此克服该问题的方法是:重新寻找导向目标坐标P,并以该坐标作为起始位置,完成残存部分草坪的除草工作。
图5 除草机器人死区Fig.5 Dead zone of weeding robot
根据排球战术规则,当进攻受阻时,可以寻找新的空档进行长传,之后从新组织进攻。当除草机器人进入死区后,要寻找新的目标坐标进行转移。设草坪格栅地图中坐标为p(i,j)的格栅在t时刻的状态为Xij(t),与坐标为(i,j)相邻的前后左右4个格栅状态依次表示为Xijk(t)(k=1,2,3,4),则在时间维度上的递推关系可表示为
(13)
其中,wijk为周围4个格栅和中心格栅的连接权重系数,Iij为格栅属性。由于有4个相关联格栅,当中心格栅坐标为新目标时,设定Iij=10>5,|pij-pijk|表示两坐标之间的距离,L为剪草滚刀长度,wij为中心格栅自身迭代权重系数,则
(14)
为了保证随着时间的迭代,Xij(t)是递减函数,因此设定(0 (15) 本数学模型的功能为:新目标的坐标格栅状态Xij(t)=1,障碍物格栅状态函数Xij(t)=0,其他格栅状态Xij(t)随着迭代次数的增加逐步递减。在工作草坪空间上表示为随着时间的迭代,以新的目标函数为中心,向四周格栅进行扩散,且传递强度依次降低,最终传递到机器人所在坐标位置;根据传递路径,机器人就能找到新的目标坐标。 新目标导航工作步骤如下:①将整个工作草坪区域格栅地图初始化;②将格栅地图分为新目标格栅、障碍物格栅和其他格栅,根据式(14)提供格栅属性Iij输入值;③通过式(15)确定目标格栅的状态值为1,并保持最高,障碍物格栅状态为0,采用式(13)进行时间维度迭代计算,将状态值从目标格栅传递到机器人当前位置格栅;④当目标状态值传递到机器人所在坐标时,机器人判定周围前后左右4个格栅状态值,并将其中状态值最高的作为移动目标;⑤当机器人坐标和目标坐标重合时,目标导航工作结束,机器人重新开始新的除草工作。 系统工作整体流程如图6所示。①机器人在格栅地图中计算自身所在位置与前进方向;②根据局部障碍路径规划神经网络,依据排球近战战术,规划路线;③判定机器人所在格栅四周除草状态,完成除草的顺序为(xi-1,yi),(xi,yi-1),(xi,yi+1),(xi+1,yi);④根据死区处理规则,寻找机器人导航新的目标点;⑤以新目标点作为出发点,完成区域除草工作。 图6 系统工作流程Fig.6 Working flow for system 仿真结果如图7所示。测试时,机器人以坐标系原点作为除草出发点,首先进入空旷的无障碍区域,该区域机器人采用犁地型路径规划原则,完成除草工作;机器人人进入障碍物区域,应用基于排球战术的神经网络系统,判定前方障碍物,此时机器人右转90°,前进L长度;机器人继续右转90°,向前进行除草工作;障碍物下方区域完成除草工作,此时机器人进入死区,而障碍物上方区域没有进行除草,此时机器人依据死区处理原则,找到新的目标点P,通过机器人四周的状态值强度规划路线,找到新的目标点,并以新坐标点为原点,完成障碍物上方区域的除草工作。3.4 系统工作流程
4 仿真验证
5 结论