温室智能循迹小车系统稳定性研究
2023-09-19张立勇魏芳坤张收港
陈 璇,张立勇,陈 超,孙 鹏,魏芳坤,张收港
(1.安徽科技学院机械工程学院,安徽滁州 233100;2.安徽唯嵩光电科技有限公司,安徽合肥 230088;3.安徽明生恒卓科技有限公司,安徽合肥 230094)
随着我国经济的高速发展,居民对蔬菜、瓜果、花卉等农产品的多元化需求日益增加。温室大棚作为重要的农业种植单元,温室数量也越来越多[1]。如何实现智慧温室的巡检无人化,高效精准识别温室环境路况信息,是当前现代农业的一个新课题[2-3]。因此,行动便捷、循迹精准可靠的智慧小车在智慧温室中的应用愈显关键。该文以智慧农业温室大棚的实际需求为输入,设计了一种智能循迹小车,可直接调用OpenCV 数据库及函数,目标识别准确度高,循迹可靠性强,可进一步实现温室监控管理的无人化,提升了生产管控效率。
1 整体架构
智能小车为四轮独立驱动,包含轻量化铝合金底盘结构、视觉模块、WiFi 模块及报警音响模块。小车所使用的主板为智能拓展(转接)板NVIDIA®Jetson Nano™。相较流行的树莓派,NVIDIA Jetson Nano 功能性更强,具有128 个强大的CUDA 核心的Maxwell GPU,是针对图形处理较为高效的主板之一。同时该主板采用Linux 系统,可满足人工智能拓展和深度开发需求[4],并可直接调用树莓派的GPIO控制库,其具有较强的兼容性,更适合视觉开发和使用场景。虽然价格略高于树莓派,但对于智慧温室大棚来说,实现集成化、平台化管理的愿景,Jetson Nano 的优势更加突出。
2 硬件
基于轻量化的铝合金车架与四个独立驱动控制的耐磨橡胶轮组成智能小车的底盘系统。通过四个直流减速电机及7.4 V 直流可充组合电池来实现小车运动控制。使用两组舵机(伺服电机)控制视觉模块的摄像头(800 W 红外高清)进行位置调整。车身整体设计满足智慧温室的实际场景需求,即所设计的小车车身宽度及轴距适应温室通道及弯道的运动要求。此外,还可考虑预留功能端口,以便后续增设或拓展声光报警的功能,进一步提高主板的灵活性及智能小车的多功能性。
3 控制系统
3.1 主板
基于Jetson Nano 主板的灵活性,其可适用较多类型的高级网络,可实现图像的识别、对象检测和定位、姿势估计、语义分割等功能。此外,该主板还配置了具有树莓派特性的40 引脚。
3.2 视觉循迹舵机模块
该文设计的智能循迹小车是基于PID 算法对摄像头的位置误差进行处理分析的。PID 由于结构相对简单、较优的特性,被人们广泛地熟知与应用[5-6]。作为最常用的控制器之一,PID 不具有参数自整定功能[7]。在实际运用过程中,追踪的目标或路线会发生变化,因此在智能小车循迹的过程中需要对目标计算进行修正。为保证目标或路线一直处于拍摄图像的中心位置,进而调整舵机的位置,即改变摄像头的x方向和y方向。摄像头运动轨迹示意图如图1 所示。
图1 摄像头运动轨迹示意图
设定初始位置坐标为(x0,y0),偏移量为(xt-x0,yty0),不断进行验证,得出最优比例系数Kp、最优积分系数Ki、最优微分系数Kd。结合树莓派的特点,在智能小车试验测试过程中,设定像素窗口为(640,480),则中心位置为(320,240)。
其中,舵机的位置与脉冲关系为:
1)1 ms 高脉冲→舵机转角0°;
2)1.5 ms 高脉冲→舵机转角90°;
3)20 ms 高脉冲→舵机转角180°。
在实际使用过程中,结合温室的实际条件,小车摄像头舵机摆角一般在45°~150°,且需要对摄像头的位置零点进行校验,对每次舵机旋转角度进行定义,从而实现舵机的精准定位。摄像头舵机的角度应基于温室的实际路况及环境条件进行设置,对于明显具有识别障碍的参数需要及时进行修正调整。
4 视觉处理系统
目前,关于视觉学习和算法较为流行的工具库就是OpenCV,其经过不断优化和发展,计算效率较高。现阶段以OpenCV 视觉数据库为核心,利用已截取的图像来完成边缘检测和角点提取与检测[8]、开发出人脸识别疲劳驾驶的检测系统[9]、手写数字识别系统[10]。
4.1 智能小车的颜色识别
由于RGB 通道并不能很好地反映出物体具体的颜色信息,而HSV 空间能够非常直观地表达色彩的明暗、色调以及鲜艳程度,方便进行颜色之间的对比(RGB 受光线影响很大,在实际温室应用过程中,将会出现诸多困扰),其图像分割效果较好[11]。该文所设计的智能循迹小车的目标追踪功能,是基于OpenCV 的HSV 对路径目标线进行颜色检测追踪来实现的。其中,1)Hue(H):色调、色相(具体的颜色);2)Saturation(S):饱和度、色彩纯净度;3)Value(V):明度。
H 的范围是[0,179],S 的范围是[0,255],V 的范围是[0,255]。
为构建HSV 色彩空间,需要根据色相通道(Channel)对颜色类型进行建模。RGB 颜色空间中的颜色使用三个通道进行编码,结合OpenCV 中inRange()函数编码如下:
void inRange(Input Array src,输入图像
Input Array lowerb,H、S、V 的最小值,Scalar(low_H,low_S,low_V)
Input Array upperb,H、S、V 的最大值,Scalar(low_H,low_S,low_V)
Output Array dst;输出图像)
如选择偏蓝色的区域范围:色彩范围即BGR(255,170,0)到BGR(255,0,42);
1)B、G、R 通道的范围分别为0~255,0~170,0~42;
2)下限lower bound=Scalar(0,0,0),上限upper bound=Scalar(255,170,42)。
4.2 智能循迹小车的识别测试
4.2.1 小车静态识别训练
该文创建了一种多色彩路径模拟实验,通过小车对路径颜色BGR 值的定义要求,测试小车对路径颜色的识别准确性以及排除干扰的能力。定义黄色路径线的BGR 值为(33,171,209),则下限lower bound=Scalar(14,100,100),上 限upper bound=Scalar(34,255,255)。其中,作为干扰因素的黄色小球的BGR 值为(40,188,254)。
首先测试小车对多色彩路径的识别及抗干扰能力,对于色彩相近的黄色小球,小车也能够进行准确辨别,抗干扰能力较强。
为模拟小车在不同位置及角度对黄色路经线的识别及定位,依次进行了三组测试。并基于系统静态捕获的黄色区域中心点坐标进行统计分析,计算小车对黄色路径线的稳态识别准确率。将系统设置为每1 s 记录三组坐标值,静态测试时间为31 s,共计93组坐标数据。系统准确率测试结果如图2-4所示。
图2 多色彩路径稳态识别准确率测试1
图3 多色彩路径稳态识别准确率测试2
图4 多色彩路径稳态识别准确率测试3
从图2-4 中可以看出,在进行黄色路径识别的静态测试中,小车整体识别率较高。测试过程中有部分特征点溢出,可能的原因有小车无线通信模块卡槽安装松动、室内无线通信网络连接用户过多等。经过调整卡槽的安装并设置室内无线网络连接用户上限,实现了稳态识别准确率逐步提升。多色彩路径稳态识别准确率如表1 所示。
表1 多色彩路径稳态识别准确率
4.2.2 小车动态识别训练
为定位目标物体,需要对拍摄图像的某一特定区域进行分析,即筛选对象,并对此进行动态实时追踪,所使用的是基于OpenCV 的imutils 函数,其整合了OpenCV、numpy 和matplotlib 等相关操作,可用来进行图形、图像、视频的处理分析以及疫情期间的人脸识别[12]等。
试验采用黄色小球进行目标测试验证,黄色小球的BGR 值为(40,188,254),则下限lower bound=Scalar(11,100,100),上限upper bound=Scalar(31,255,255)。定义黄色小球的上下边界后,引用imutils 函数进行测试,追踪黄色小球运动轨迹如图5 所示。
图5 追踪黄色小球运动轨迹
为确定目标物的实时位置,对黄色小球的中心进行标记,并建立中心位置的x,y坐标。小车摄像头的舵机跟随黄色小球进行运动,调用mapObjectPosition(int(x),int(y))函数导出中心位置坐标,如表2 所示。
表2 中心位置坐标
4.3 智能循迹小车的循迹训练学习
温室智能小车基于温室内路况设置条件,可以按照既定颜色的地标线进行自动循迹行驶。小车循迹逻辑如图6 所示。为验证小车在温室内的实际路况及相关光照条件下的工作效果,根据试验路线图进行试验模拟。将智能小车摄像头向下调节一定倾斜角度,确保数据采集角度与循迹行驶的角度一致,从而实现对小车的训练学习。
图6 智能小车循迹逻辑
将小车在多色彩路径识别的环境及静态识别信息归入数据集,按照训练逻辑完成小车行驶过程的路径识别训练。目前,卷积神经网络的应用研究领域越来越广[13],该文小车所使用的模型为PyTorch 深度学习框架中的ResNet18 神经网络模型(17 个卷积层,一个FC 层)。PyTorch 和Tensor flow 是目前较为主流的框架[14],该模型图像分类性能高,模型较为准确、稳定[15-16]。通过回归训练后转移至Jetson Nano 上执行操作,并将输出的最优模型应用于后续的路径识别测试中。
该文设计了一种多直角弯的多色彩运动测试路径,主行驶路线颜色及形状保持不变,对路线外的颜色区域进行随机调整变化,以实现对小车在复杂环境下的运动策略的验证,实际测试效果如图7 所示。
图7 多直角弯的行驶路径设计
在多直角弯的行驶路径各拐点进行拐角标示,共计四个拐角,同时对终点也进行了标记。小车自出发点开始行驶,依次到达4 个拐点及终点时,小车行驶速度根据测试路径信息及舵机进行PID 自适应调节。经捕获的拐点特征记录如图8 所示。
图8 小车行驶到达拐点的形态记录
经过多轮次循迹测试,综合来看,小车对黄色路径的识别准确度较高,在直角拐点处的舵机响应相对迅捷。其中,小车在拐点处偶有停顿现象,可能是目标特征捕获区域中心点超限,设置的舵机云台俯角不合理所致,经后期调试摄像头俯角可以改善这一问题。
结合试验测试及验证结果可知,小车在智慧农业温室大棚中运用的可行性较强。但是实际使用过程中,需要考虑地标线的颜色取值,尽可能与温室作物、环境有明晰区分,以便更好地实现小车捕捉特征及准确响应。此外,应合理配置温室内的无线通信网络,避免因信号不佳而出现小车数据传输不及时、卡顿现象。
5 结论
随着智慧农业温室功能的多元化发展,温室无人化管理的应用需求越来越强。该文基于OpenCV数据库,针对智慧农业温室的实际需求设计了一种智能循迹小车,可以实现对环境中特征颜色的静态识别、动态追踪。通过多组试验测试,识别并调整小车安装模块,同时,设置室内网络连接用户上限,实现了小车目标识别准确率由86%提升至100%。同时,基于卷积神经网络模型的训练学习,小车循迹行驶轨迹准确率较高,具备在智慧农业温室推广使用的条件。此外,课题研究的共性技术也可以进一步应用于智能化仓储管理、智能地下作业环境监控及物联网领域、安全消防领域,具有广阔的推广应用前景。