刘 娇,刘 扬
(1.石家庄信息工程职业学院,石家庄 050000;2.河北商贸学校,石家庄 050000)
随着城镇化进程的推进,农村越来越多的年轻人涌向城市,造成农村劳动力的流失,加剧了农村老龄化趋势[1]。水果采摘是一项需要熟练技术的劳动,由于树上果实离地过高,需要在不损伤果实的基础上将其采摘下来,对于年龄偏大的农民来说过于繁重,因此实现水果采摘的自动化迫在眉睫[2]。采摘机器人在果园中的路径规划系统是实现采摘自动化的核心内容[3],当前主流的采摘机器人采用多组测距传感器,对检测数据进行模糊处理,实现目标导向与障碍物躲避[4]。该方法结构简单,但由于传感器种类单一,果园环境感知能力差,导航性能差[5]。本系统为机器人预先设定行走轨迹,制作地标指示牌,建立已知地标指示牌坐标的数字地图;采用CCD摄像头、激光测距传感器和电罗盘等,环境感知能力强;采用大数据融合技术,将多组信号进行融合,确定机器人坐标位置和航向;采用CCD摄像头识别地标和障碍物、激光测距传感器检测识别地标和障碍物到机器人距离和方位角,通过模糊控制的方法建立避障系统。测试结果表明:本系统具有较高的环境感知能力,路径规划性能良好。
机器人行走结构如图1所示。
图1 系统结构图
其中,1、11为行走驱动电机;2、10为左右驱动轮;3、7为从动轮,起到支撑和辅助转向的作用;4、6为左右激光测距传感器;5为CCD摄像机;9为电子罗盘;8为机器人中央处理器。工作过程为:CCD摄像机扫描识别地标数字和障碍物,左右两个激光传感器检测地标数字,确定前进方向;当机器人距离地标数字小于0.3m时,CCD摄像机开始寻找下一个地标数字;CCD摄像机扫描识别到障碍物时,左右两个激光传感器确定障碍物位置,小于1m时启动避障机制;电子罗盘确定机器人指向。激光测距传感器、摄像机和电子罗盘采集信号后,传输给中央控制器,控制驱动电机1和11,实现机器人前进或转弯。
位置感知是采摘机器人进行自主工作的重要条件,机器人通过传感器感知其在数字题图中的位置。本系统采用多维传感器确定其自身位置,采用摄像头对参照物进行拍摄,进行地形匹配;采用激光测距传感器,检测自身到参照物之间的距离,通过电子罗盘确定车头方向;将检测得到的3组数据进行融合,最终确定机器人位置。
地形匹配系统的作用是机器人识别地标,指明其下一阶段前进方向。由于苹果园中果树长势相似,且间距相差不大,将每棵苹果树作为标示,难度较大。依据预先设定的机器人工作航迹,采用白色纸板上书写八段码数字的方式作为位置标示。地形匹配主要完成两方面工作:①图像处理,剔除图像的无用信息,只保留八段码数字图像;②图像识别,确定八段码图像数字。
2.1.1 图像处理
图像处理过程包括:①图像灰度化;②图像分割;③图像腐蚀;④图像细化。现以显示数字"3"的地标牌为例,进行设计。由于每张彩色图片的每一个像素点都是通过RGB三通道强度进行合成得到的,信息量过于庞杂,因此采用灰度化的方法将彩色图片转变为灰度图片[6],可以有效降低图片信息量。灰度化结果如图2(a)所示。图像分割时,计算阈值k,当图片像素灰度大于k时为该点赋值255;当像素点灰度小于k时为该点赋值0,形成非黑即白图片,如图2(b)所示。对二值图像进行腐蚀,首先以某一个像素点为中心建立3×3的参比矩阵,当3×3参比矩阵中所有像素点均为255时,对该点赋值为255;反之,为该点赋值0,腐蚀结果如图2(c)所示,得到显示数字"3"的地标牌二值化图像;图像细化即保证图像连接不变的情况下对图像进行剥离,选用Hilditch细化算法[7],建立目标像素点的3×3矩阵,保证删除该点后连通域数量不变,之后采用中值滤波的方法进行降噪处理。首先,计算目标像素点3×3矩阵,以及该点周围8个像素点平均灰度Iv。当|Ip-Iv|>127.5时,Ip赋值255;当|Ip-Iv|<127.5时,Ip赋值0,得到滤波处理后的显示数字"3"地标牌的图像,处理结果如图2(d)所示。
图2 地标图像处理
2.1.2 数码管图像识别
提取图2(d)中包含数码管数字的部分图像,对其进行压缩,像素大小为10×10;建立10×10常量矩阵,对压缩后的图像进行逐行扫描,当像素点的灰度为0时在对应的常数矩阵赋值为1;依次类推,将数码图像信息提取到10×10常量矩阵中。
鉴于标示牌由0~9等10个数码管数字任意组合而成,因此系统需要对0~9具有识别能力。在摄像头拍摄过程中,因受到环境光源、杂草及树叶的影响,会对识别结果造成影响,因此采用BP神经网络的方法进行识别,加强识别的准确性与容错能力。建立神经网络最重要的两个指标为隐层神经元个数与允许误差:隐层神经元个数即隶属度函数中心值与规则库个数,决定网络精度与复杂程度[8];允许误差为输出与期望之间的误差,决定计算迭代次数。
神经元个数对神经网络的影响如图3(a)所示。随着隐层神经元个数的增加,训练时间逐步递增,且所训练时间增速增加;而识别率呈先增加后降低的趋势,当神经元个数为9时,识别率达到最大值。这是由于神经元个数增加,网络复杂程度升高,抗噪声能力降低,造成识别率下降。
允许误差是实际输出与输出期望差值的系统接受值,表征实际输出相输出期望的逼近程度。当实际误差小于允许误差时,神经网络运算结束,系统输出识别结果;当实际误差大于允许误差时,系统进行下一轮迭代计算,直到满足允许误差为止。允许误差对系统的影响如图3(b)所示。当允许误差为0.05时,训练时间为920ms;随着允许误差的增加,训练时间逐步降低;当允许误差为0.05时,识别精度为87%,此时,系统识别该地标牌上数字为"3"。之后逐步降低。考虑到识别率和训练时间,选择允许误差为0.05。此时,系统识别该地标牌上数字为"3"。
图3 神经元个数和允许误差对神经网络的影响
对地标牌坐标的检测包括两个坐标系,如图4所示。机器人测距传感器P0所在的空间绝对坐标系坐标为P0(x0,y0,θ)T,目标在机器人局部坐标系中坐标为Pp(xp,yp)T。由于在机器人局部坐标系中依靠左右两个雷达测距传感器检测标示物距离,其检测数据为距离r和方位角a。因此,局部坐标表示为
xp=rcosa
yp=rsina
(1)
xp在x轴上的投影为xpcosa,yp在x轴上的投影为ypsina。由于二者矢量方向相反,设P在决定坐标系中坐标为P(xg,yg)T,则横坐标xg为
xg=xpcosθ-ypsinθ+x0
(2)
同理可得纵坐标yg为
yg=xpsinθ+ypcosθ+y0
(3)
图4 坐标变换
系统采用电罗盘确定机器人当前方向角θ;采用摄像头识别地标,地标牌位置P在坐标系中位置坐标已知;两个激光距离传感器检测得到机器人到地标牌位置P之间的距离r和夹角a,可得到机器人相对坐标系中目标的坐标。现需要根据以上检测数据计算机器人自身位置坐标,由于采用多传感器,且激光测距传感器分为左右两个,因此需要对多组检测数据进行融合[9]:①电罗盘检测数据与测距传感器数据融合;②左右两个测距传感器融合,最终推导出当前机器人位置坐标。
通过地标坐标推导左测距传感器位置坐标。由式(2)、式(3)可得到地标绝对坐标和左测距传感器位置绝对坐标之间的关系,则左传感器绝对位置坐标P0L(x0L,y0L)为
(4)
同理,可以得到右传感器绝对位置坐标P0R(xoR,yoR)为
(5)
机器人中心绝对坐标Pc(xc,yc)如图5所示。图5中,需要将左右两个距离传感器坐标进行融合,根据P0R(x0R,y0R)和P0L(xoL,yoL)坐标,计算机器人A点坐标,即
(6)
设向量RA、CR与坐标轴方向相同时为正,相反时为负,则RA=1/2Lsinθ,CR=1/2Lcosθ,则机器人中心绝对坐标Pc坐标为
(7)
路径规划是机器人从出发点按照目标数字牌指示行进到最后的整个过程。实施过程中,主要解决两个问题,即障碍物躲避和目标导引。最终,实现从起始点到终点的无人控制行进。
图5 机器人坐标计算
障碍物躲避采用两个激光距离传感器作为检测元件,传感器检测数据为距离r和方位角a。两个传感器检测距离最小检测距离为rmin=min(rl,rr)。当rmin<1m时,启动避障系统。避障系统采用模糊设计,该模糊系统的输入为两个距离传感器的方位角,隶属度函数有5个中心值,即-π/2、-π/4、0、π/4、π/2。当左右两传感器检测到障碍物在前进方向同侧时,机器人保持原有方向不变;当左右两个传感器检测检测到障碍物夹角隶属度函数输出为0时,机器人向较小夹角方向转π/2;当障碍出现在前进方向两侧,且分别处于最大和中等位置时,机器人向最大位置转π/4。避障规划如表1所示。
表1 避障规则
目标导引采用地标牌进行,在机器人计划行进路线上布置1、2、3……等八段码标识,两列树间距为d。由于标识牌安装在树上,机器人在行经过程中识别每一个标识坐标,因此在数字地图系统中标识牌坐标向右平移d/2,如图6(a)所示。引导过程如下:
1)测距传感器检测标识牌位置坐标p(x,y),计算机器人坐标位置Pc(xc,yc),二者间距D为
(8)
2)当D>0.3m时,机器人向该标识牌前进;当D<0.3m时,机器人停止,摄像头开始寻找下一标识牌。
3)判定当前标识牌是否为最终目标:若不是,返回步骤1);若是,机器人运动停止,如图6(b)所示。
图6 目标引导
系统测试结果如图7所示。
图7 系统测试
果园实验区域有两排共8棵树,制作8张数码管标识图片,将其安装在苹果树上。将指示牌坐标向右平移d/2,建立数字地图。机器人从“1”位置出发,首先摄像机扫描,寻找数码管“2”,计算距离D。当D>0.3m时,机器人向该标识牌前进;当D<0.3m时,机器人停止,摄像头开始寻找下一标识牌。当机器人运动到位置“4”时,机器人位置传感器扫描发现障碍物;当距离障碍物小于1m时,机器人逆时针旋转π/4并前进,之后继续扫描标识牌“5”,向地标5前进,直到移动到表示牌“8”时,系统确认移动到最终目标,机器人运动停止。
为了实现采摘机器人在果园中的自动行走,采用激光测距传感器、CCD摄像机和电子罗盘等传感器作为硬 件,采用大数据分析的方法处理多组传感器信号,实现了机器人的路径规划。CCD摄像机用于寻找目标表示牌和扫描障碍物,采用图像处理和模糊控制的方法识别数码管数字。当模糊系统隐层神经元个数为9、系统允许误差为0.05时,识别效果最好。将8个标识牌安放在机器人预先设定路径上,形成数字地图,8个标识牌位置已知。采用大数据融合激光测距传感器、CCD摄像机和电子罗盘等传感器采集数据,计算当前机器人位置坐标与航向。工作时,左右两个激光传感器标示物和障碍物位置,当与标示物距离小于0.3m时,CCD摄像机开始扫描下一目标;当距离小于1m时,启动避障机制。本系统采用多种传感器数据综合分析,具有很强的果园环境感知能力。实际运行测试表明,本系统具有良好的路径规划能力。