Welcome to Smart Agriculture 中文
Topic--Technological Innovation and Sustainable Development of Smart Animal Husbandry

Automatic Navigation and Spraying Robot in Sheep Farm

  • FAN Mingshuo 1, 2 ,
  • ZHOU Ping 2 ,
  • LI Miao , 2 ,
  • LI Hualong 2 ,
  • LIU Xianwang 2 ,
  • MA Zhirun 2
Expand
  • 1. Science Island Branch of Graduate School, University of Science and Technology of China, Hefei 230026, China
  • 2. Institute of Intelligent Machines, Hefei Institutes of Physical Science, Chinese Academy of Sciences, Hefei 230031, China
LI Miao, E-mail:

FAN Mingshuo, E-mail:

Received date: 2023-12-18

  Online published: 2024-05-22

Supported by

The 14th National Key Research and Development Plan Project(2022YFD2002104)

Copyright

copyright©2024 by the authors

Abstract

[Objective] Manual disinfection in large-scale sheep farm is laborious, time-consuming, and often results in incomplete coverage and inadequate disinfection. With the rapid development of the application of artificial intelligence and automation technology, the automatic navigation and spraying robot for livestock and poultry breeding, has become a research hotspot. To maintain shed hygiene and ensure sheep health, an automatic navigation and spraying robot was proposed for sheep sheds. [Methods] The automatic navigation and spraying robot was designed with a focus on three aspects: hardware, semantic segmentation model, and control algorithm. In terms of hardware, it consisted of a tracked chassis, cameras, and a collapsible spraying device. For the semantic segmentation model, enhancements were made to the lightweight semantic segmentation model ENet, including the addition of residual structures to prevent network degradation and the incorporation of a squeeze-and-excitation network (SENet) attention mechanism in the initialization module. This helped to capture global features when feature map resolution was high, addressing precision issues. The original 6-layer ENet network was reduced to 5 layers to balance the encoder and decoder. Drawing inspiration from dilated spatial pyramid pooling, a context convolution module (CCM) was introduced to improve scene understanding. A criss-cross attention (CCA) mechanism was adapted to acquire context global features of different scales without cascading, reducing information loss. This led to the development of a double attention enet (DAENet) semantic segmentation model was proposed to achieve real-time and accurate segmentation of sheep shed surfaces. Regarding control algorithms, a method was devised to address the robot's difficulty in controlling its direction at junctions. Lane recognition and lane center point identification algorithms were proposed to identify and mark navigation points during the robot's movement outside the sheep shed by simulating real roads. Two cameras were employed, and a camera switching algorithm was developed to enable seamless switching between them while also controlling the spraying device. Additionally, a novel offset and velocity calculation algorithm was proposed to control the speeds of the robot's left and right tracks, enabling control over the robot's movement, stopping, and turning. [Results and Discussions] The DAENet model achieved a mean intersection over union (mIoU) of 0.945 3 in image segmentation tasks, meeting the required segmentation accuracy. During testing of the camera switching algorithm, it was observed that the time taken for the complete transition from camera to spraying device action does not exceed 15 seconds when road conditions changed. Testing of the center point and offset calculation algorithm revealed that, when processing multiple frames of video streams, the algorithm averages 0.04 to 0.055 per frame, achieving frame rates of 20 to 24 frames per second, meeting real-time operational requirements. In field experiments conducted in sheep farm, the robot successfully completed automatic navigation and spraying tasks in two sheds without colliding with roadside troughs. The deviation from the road and lane centerlines did not exceed 0.3 meters. Operating at a travel speed of 0.2 m/s, the liquid in the medicine tank was adequate to complete the spraying tasks for two sheds. Additionally, the time taken for the complete transition from camera to spraying device action did not exceed 15 when road conditions changed. The robot maintained an average frame rate of 22.4 frames per second during operation, meeting the experimental requirements for accurate and real-time information processing. Observation indicated that the spraying coverage rate of the robot exceeds 90%, meeting the experimental coverage requirements. [Conclusions] The proposed automatic navigation and spraying robot, based on the DAENet semantic segmentation model and center point recognition algorithm, combined with hardware design and control algorithms, achieves comprehensive disinfection within sheep sheds while ensuring safety and real-time operation.

Cite this article

FAN Mingshuo , ZHOU Ping , LI Miao , LI Hualong , LIU Xianwang , MA Zhirun . Automatic Navigation and Spraying Robot in Sheep Farm[J]. Smart Agriculture, 2024 , 6(4) : 103 -115 . DOI: 10.12133/j.smartag.SA202312016

0 引 言

随着全球畜牧业的持续发展,如何保持养殖场地卫生和动物健康已经成为一大关注焦点。肉羊作为卫生敏感的牲畜,其健康状态直接受到养殖环境条件的影响,及时消毒非常重要。羊舍内部面积通常较大,需要消毒的部位较多,有地面、墙壁、围栏、料槽和水槽等。人工消毒需要较大的人工投入,且存在不稳定性和局限性,难免存在消毒死角1
随着人工智能和自动化技术应用的快速发展,使用成本较低且能够克服人工的消毒死角问题的畜禽养殖自动导航喷药机器人成为了研究热点,促使畜禽养殖向着自动化、智能化、高效化、可持续化方向发展。Adams等2开发了一款牧场环卫机器人,使用了无迹卡尔曼滤波法(Unscented Kalman Filter, UKF)来使用传感器的位置估计来实现机器人的定位,使用UBlox的GPS里程计和激光雷达来实现机器人的自主导航;Muthugala等3针对畜禽舍墙体消毒的难题,提出了非单例1型模糊逻辑系统(T1-FLS)和非单例间隔2型模糊逻辑系统(IT2-FLS)来实现消毒机器人的墙体跟随;Patel等4提出了一种消毒机器人,使用紫外线消毒技术,保证机器人的消毒范围可以覆盖360°,采用Raspberry Pi嵌入式系统,可以在机器人运行时提供导航和避障的功能;Bijay等5提出了一种机器人的自主导航系统,使用纯跟踪算法进行机器人的自主导航,矢量场直方图用于机器人的避障,二维激光雷达(Light Detection and Ranging, LiDAR)辅助机器人避障;Navone等6提出了一种基于分割的自主导航方法来解决在遮挡情况下GPS信号受阻的问题,使用RGB-D(RGB+Depth Map)的深度帧数据来处理输出的分割掩码,对比了基于直方图最小搜索的SegMin、SegMinD和SegZeros方法对语义分割算法精度的提升程度。鞠庆等7开发了一种消毒防疫机器人,使用无迹卡尔曼滤波法与二维LiDAR进行室内的定位与建图。冯青春等8针对畜禽舍内的恶劣环境,提出了Magnet-RFID(Magnet-Radio Frequency Identification)路径导航方法,设计了基于流体仿真的喷嘴,并使用CFD(Computational Fluid Dynamics)仿真技术9基于Ansys Fluent对机器人的喷药效果进行了仿真。徐济双等10分析了传统A*算法的不足之处,提出了一种改变权值的A*算法,结合模糊PID(Fuzzy Proportional Intergral Derivative)进行巡线控制,实现了病死畜禽运输机器人的自主路径规划。朱立学等11设计了基于U-Net的导航路径识别方法,用于肉鸽养殖场内道路的分割,采用等比例法获取稀疏的导航点,并将这些导航点通过最小二乘法拟合成直线来作为机器人的导航线;宋怀波等12设计了一种基于激光SLAM(Simultaneous Localization and Mapping)的导航方法用于牛场智能推翻草机器人的自主导航,使用了Cartographer算法来构建环境地图,通过自适应MCL(Markov Clustering)算法来实现机器人的定位,并采用了Dijkstra算法来规划机器人推翻草的导航路径。羊舍的环境复杂,包括不规则的地形、泥泞或多尘的路径,以及不同的天气条件,为自动导航喷药机器人带来了巨大的挑战。
为了解决这些挑战,本研究提出一种使用语义分割技术和中心点识别算法的自动导航喷药机器人,旨在提供一个高效、全面且适应性强的解决方案以应对羊舍的特殊环境需求13。硬件设计包括履带式底盘、折叠式喷药装置和摄像头。履带式底盘能够确保设备在复杂环境中的耐用性;折叠式喷药杆喷药时能确保药液的喷洒能够稳定地覆盖整个圈舍区域14;使用了两台摄像头来分别获取羊舍内外的道路场景。模型部分设计了基于ENet改进的轻量化语义分割模型,能够实时、准确地分割出羊舍路面。控制算法部分设计了道路和车道线中心点算法、速度与偏移量计算算法及摄像头切换算法。

1 机器人硬件设计

1.1 底盘设计

履带式车辆可以在狭窄或限制性的空间中进行转弯,使用寿命和维护周期往往优于轮式车辆,在复杂和恶劣的环境中具有明显的优势。机器人整车尺寸(长×宽×高)为960 mm×700 mm×320 mm,底盘高度为75 mm,履带宽150 mm。自重为120 kg,可载重200 kg,主体材质为304不锈钢、合金钢板、镀锌管及铝。考虑耐久性和稳定性需求,选择橡胶作为履带的材料,并内嵌凯夫拉纤维以增强其强度和耐磨性。
履带底盘驱动依靠左右两个直流无刷电机,电机的额定功率为785 W,额定扭矩为37.5 N·m,最大爬坡角度为30°。整车采用克里斯蒂独立悬挂设计,能够提供地形适应性。底盘还配备一个尺寸(长×宽×高)为300 mm×250 mm×230 mm的内仓,可以存放电池、控制模块和其他关键组件,使得底盘在完成任务时能够维持整体平衡和稳定性。履带底盘可行进的最高速度为6.5 km/h。底盘实物图如图1a所示,其技术特征如图1b所示。
图1 羊场自动导航喷药机器人底盘

Fig. 1 Chassis of the automatic robot working in sheep farm

1.2 电源和续航

为了确保机器人在羊场中持续、有效地完成喷药工作,机器人配备一块48V 30 AH的三元锂电池,整机功率为1~2 kW,驱动器型号为4850,放电时的工作温度为‒10~60 ℃,充电时的工作温度为0~45 ℃,储存温度为0~35 ℃。选择8 A的充电器,可以为电池提供快速充电。根据实地测试和羊场的实际需求,一次充电可以支持机器人在羊场内完成约3 d的喷药工作。

1.3 折叠式喷药系统

喷药系统用于均匀地把药液喷洒到圈舍各处。折叠式喷药装置由药箱、水泵、伸缩杆、电动推杆和多喷头喷药杆5部分组成。消毒药液储存在药箱中。药箱的主要材料是聚氯乙烯(Polyvinyl Chloride, PVC),采用方形设计,其尺寸为700 mm×400 mm×400 mm(长×宽×高)。
水泵与药箱相连,用以抽取药箱内的药液,水管的末端连接了左右两根多喷头喷药杆,喷药杆固定在伸缩杆末端。当不需要喷洒药液时,电动推杆处于收缩状态,水泵关闭,伸缩杆折叠。在需要喷洒药液时,电源给电动推杆供电,使其伸展,推动滑杆在滑轨上沿着滑块运行方向移动,使伸缩杆展开,水泵开启,从药箱中提取药液,使多喷头喷药杆喷洒药液,喷药装置折叠状态和展开状态如图2所示。
图2 羊舍自动导航喷药机器人的喷药装置

Fig. 2 The spraying device of the sheep shed automatic navigation spraying robot

1.4 机器人整体结构

不锈钢制成的外壳和底盘共同构成了机器人的主体。药箱放置在不锈钢外壳内部。机器人的后部配备了一块屏幕,可以实时监视电脑的运行后台。外壳配备了一个手动/自动转换旋钮。当旋钮调至手动模式时,机器人的摄像头、水泵等硬件设备将全部关闭,行走由遥控器控制;当旋钮切换至自动模式时,机器人的导航由模型和算法通过串口自动控制。喷药装置固定在不锈钢外壳前方,用于喷洒药液。两台摄像头分别置于机器人前的上方和下方,是其主要的视觉传感器。不锈钢外壳固定在机器人底盘上。图3a为机器人结构示意图;图3b展示了车体外壳的结构设计;图3c展示了机器人的实物照片。
图3 羊舍自动导航喷药机器人整体结构设计

Fig. 3 The overall structural design of the sheep shed automatic navigation spraying robot

2 语义分割模型

本研究提出一种语义分割道路和车道线识别模型。以2016年华沙大学的Paszke等15提出的ENet为基础,提出一种双注意力语义分割模型DAENet(Double Attention ENet)。该模型结合基于场景改进的十字交叉注意力(Criss-Cross Cross Attention, CCA)和压缩通道网络注意力(Squeeze-and-Excitation Network, SENet)模块的优势,能够准确地分割出道路和车道线的区域。

2.1 基于场景改进的十字交叉注意力

长距离的依赖关系可以捕获有用的上下文信息,提高语义分割模型的特征提取能力,十字交叉网络可以用高效的方法来获取这些上下文信息。CCA16模块能够引入交叉路径上以及周围像素的上下文信息,可以捕获输入特征图中的空间关系和语义信息。
本研究在ENet网络中加入CCA模块,在提高网络性能的同时降低了参数量和计算成本。特征图经过3个1×1的卷积层生成注意力网络所需要的 Q K V  这3个特征,接下来对 Q K两个特征进行亲和性(Affinity)操作,获取大小为 W × H的特征图中每一个像素点与其他像素点的关系,操作方式如公式(1)所示。
d i , u = Q u Ω i , u T
式中: Q u R C ',是特征图 Q的空间维度上位置 u的特征向量; Ω i , u R C ',是特征图 Ω中位置 i u处的特征向量。将 Q u Ω i , u相乘,获取到一个维度为 W + H - 1的向量,对 Q中每个位置都进行该操作,获得新的特征图 d i , u
d i , u使用归一化指数函数(Softmax)操作后得到特征图 A,将其与特征图 V进行聚合(Aggregation)操作,如公式(2)所示。
H u ' = i | Φ u | A i , u Φ i , u + H u
式中: H u '表示输出特征中的特征向量 H '在位置u的映射; A i , u表示通道 i和位置 u的特征值; Φ u表示 V中特征向量的集合; Φ i , u是特征图 V在位置 i u的特征向量。CCA模块的网络结构如图4所示。
图4 CCA的网络结构

Fig. 4 The network structure of CCA

在CCNet中,采用了重复十字交叉注意力(Recurrent Criss-Cross Attention, RCCA)模块。CCA模块仅能获取本层特征图十字路径上的特征而非全局特征,RCCA通过级联两个CCA模块来解决这一问题,其结构如图5所示。在CCA1中,特征1可以获取到其十字路径上的特征2和特征3的信息,在与之级联的CCA2中,特征2能够获取到特征1和特征4的信息。由于特征1已经包含了特征3的信息,因此特征2间接获取到了特征3的信息。通过这种级联的方式,每个特征都能够获取到全局的其他特征信息,从而提升了模型的特征提取能力。
图5 RCCA级联结构

Fig. 5 RCCA cascade structure

然而,RCCA模块的实际应用也存在一些不足之处。
1)CCA模块的复杂性导致其参数量较大,将两个CCA模块级联起来会降低模型的推理速度。
2)RCCA模块获取的全局特征信息取决于模型中其他结构输出的特征,其本身并不具备获取不同尺度特征的能力。
鉴于以上两点不足,本研究设计了一种新的结构,称为上下文卷积模块(Context Convolution Module, CCM),无需将两个CCA模块级联,能够同时获取不同尺度的全局特征信息。结构如图6所示。该模块将特征图分为3个分支:
图6 CCM的网络结构

Fig. 6 The network structure of context convolution module

1)带有ReLU激活函数的3×3卷积,填充(Padding)为1,空洞率(Dilation Rate)为1。
2)带有ReLU激活函数的5×5卷积,填充为2,空洞率为2。
3)带有ReLU激活函数的7×7卷积,填充为3,空洞率为3。
该模块的设计思想来源于空洞空间金字塔池化(Dilated Spatial Pyramid Pooling, DSPP)17,引入了相互并行的空洞卷积18
1)3个分支使用3个尺寸不同的卷积核,能够获取不同尺度的特征信息。
2)3个分支使用不同采样率的空洞卷积并行采样,能够使每个分支的感受野不同,以3个不同的比例来捕捉上下文的特征,解决目标多尺度问题。
3)将3个分支拼接起来,并用1×1卷积降维成指定的通道数。
经过CCM模块得到的特征图能够获取长距离的依赖关系,使网络捕获不同尺度的上下文信息。
DAENet中加入的注意力模块是由CCM和CCA并行构成的特征提取和融合系统。CCM模块负责获取不同尺度的特征,CCA模块负责捕获十字交叉路径上密集的全局特征。将两个模块的输出相加,能够获得丰富的不同尺度的全局特征,使得模型具有更强的特征提取能力,从而实现与RCCA相似的效果。
基于应用场景改进的十字交叉注意力模块在DAENet中有两个方面的作用:
1)捕获不同尺度上下文信息。CCA和CCM模块代替了ENet阶段1中的4层卷积,其中CCM模块通过多个不同大小、不同空洞率的卷积核来对特征图进行特征提取,能够捕获不同尺度的上下文信息。
2)解决信息损失问题。CCA是注意力模块,使用注意力机制来计算每个像素的注意力权重,在下采样阶段增强模型感兴趣区域的细节。能够在一定程度上解决ENet的信息损失问题。

2.2 基于双注意力机制的ENet模型

基于双注意力机制的ENet模型(Double Attention ENet,DAENet)将ENet原本的6阶结构缩减为5阶结构,避免了下采样的层数多于上采样,导致特征图恢复时的精度变低,同时精简模型。其网络结构如图7a所示。
图7 基于双注意力机制的ENet模型

Fig. 7 ENet model based on dual attention

初始化模块是基于ENet的初始化模块改进。阶段1和阶段2是下采样模块;阶段3和阶段4是上采样模块。假设输入的尺寸为512×1 024×3。
模型由5个部分组成。
1)初始化模块由两个分支组成。
① 对输入进行步长为2的卷积。
② 对输入进行池化操作。
合并两个分支操作结果的特征图,输入到压缩激励注意力模块(Squeeze-and-Excitation Network, SENet)19用于整个初始化模块的输出,以增强模块的特征表达能力。SENet结构如图7b所示。
SENet可以使初始化模块能够自适应地增强特征表达能力,该模块输出的尺寸为256×512×16。
2)阶段1由3个层级组成。
① 对特征图进行连续两次下采样来提取特征,下采样模块采用了ENet的瓶颈结构,输出尺寸为64×128×128的特征图。
② 对特征图使用3×3卷积,将瓶颈结构的非对称卷积和空洞卷积相互级联,以继续提取特征,激活函数选择ReLU函数。
③ 并联的CCA和CCM模块用于提取上下文信息并将其整合,再进行下一步的卷积来提取特征。
3)阶段2由两个层级组成。
① 在阶段1结束后,为避免网络退化,引入了残差机制,将多次下采样的特征图通过1×1卷积后与阶段1的输出合并,作为阶段2的输入。
② 在阶段2的最后同样引入残差机制,将多次下采样的特征图通过1×1卷积后与阶段2的输出合并,作为阶段3的输入。
阶段2与阶段1类似,缺少了下采样和并联的CCA和CCM模块,是为了提高网络的速度,减少参数量。
4)阶段3和阶段4是上采样层。上采样层通过最大反池化(Max Depooling)和转置卷积(Transpose Convolution)进行上采样,并在输出时将两个分支相加,以产生最终的上采样结果。
5)全卷积层。整个网络的最后一个层是全卷积层,用来输出类别,输出尺寸为512×1 024×3。

3 导航算法设计

3.1 道路与车道线中心点识别算法

在伪彩色图像中,不同的RGB值代表着不同的像素区域,其中包括道路、车道线和背景。在这些像素区域中,道路和车道线被视为机器人行走的区域。为了保证机器人始终行走在道路或车道线的中心,导航的基本方法是找出机器人前方道路和车道线的中心点。通过持续地向着这些中心点前进,机器人就可以在行进过程中始终保持在道路或车道线的中心位置,从而实现自主导航20

3.1.1 道路中心点识别算法

当机器人行走在道路上时,说明机器人位于羊舍内部。由DAENet将道路从背景中分离出来,标记为特殊的像素颜色,生成伪彩色图像。道路中心点识别算法用于计算伪彩色图像中道路像素的中心点。
记图像的行数为 R,列数为 C,道路像素点的集合为 P r o a d,道路区域的行为 r o w s r o a d。则对于图像中所有行 r,满足公式(3)公式(4)
r 0 ,   1 ,   . . . ,   R - 1
r P r o a d r r o w s r o a d
若图像中存在道路区域,则道路区域的中间行 M r o a d式(5)所示。
M r o a d = m i n ( r o w s r o a d ) + m a x ( r o w s r o a d ) 2
在中间行 M r o a d上,存在道路区域的列 C M,则道路区域的中心点横坐标 C r o a d式(6)所示。
C r o a d = 1 | C M | c C M c
式中: | C M |表示道路区域的列数; c表示某一道路区域列的索引。
道路的中心点坐标为 ( C r o a d ,   M r o a d )

3.1.2 车道线中心点识别算法

当机器人即将进入车道线区域时,代表机器人即将驶出羊舍。车道线中心点识别算法用于在伪彩色图像中计算车道线像素的中心点。
记车道线像素点的集合为 P l a n e,车道线区域的行为 r o w s l a n e。则对于图像中所有行 r,除满足公式(3)外,还应满足公式(7)
r P l a n e r r o w s l a n e
若图像中存在车道线区域,则车道线区域的中间行 M l a n e公式(8)所示。
M l a n e = m i n ( r o w s l a n e ) + m a x ( r o w s l a n e ) 2
在中间行 M l a n e上,存在车道线区域的列 C M,则车道线区域的中心点横坐标 C l a n e公式(9)所示。
C l a n e = 1 | C M | c C M c
式中: | C M |表示车道线区域的列数; c表示某一车道线区域列的索引。
道路的中心点坐标为 ( C l a n e ,   M l a n e )

3.2 摄像头切换算法

机器人在羊舍内部时开启喷药装置,驶出羊舍后,即可关闭喷药装置。使用两台摄像头分别用于道路和车道线区域的导航,摄像头的切换代表了机器人进出羊舍的状态。算法的具体流程如下。
1)当机器人行走在羊舍内时,调用道路摄像头。
2)当机器人即将离开羊舍时,切换成车道线摄像头。
3)当机器人再次回到羊舍时,切换回道路摄像头。
为了保证摄像头切换的流畅稳定,设计如公式(10)所示的方法:
c a p = s l e e p ( 1 )   t h e n   c a p 0 , c a p = c a p 1 & t i m e ( l a n e   f r o m   c a p 1 = 0 ) T s l e e p ( 1 )   t h e n   c a p 1 , c a p = c a p 0 & t i m e ( l a n e   f r o m   c a p 0 = 1 ) T
式中: T是检测到或检测不到车道线像素的时间,是为了防止由于误差导致摄像头在非预期的时间切换; s l e e p ( 1 )为在摄像头切换时停机1 s,防止资源冲突; c a p为当前摄像头; c a p 0为道路摄像头, c a p 1为车道线摄像头。
c a p 0检测到车道线像素的时间超过 T时,释放 c a p 0,停机1 s后切换成 c a p 1;反之,当 c a p 1检测不到车道线像素的时间超过 T时,停机1 s后切换成 c a p 0
在羊舍内道路两旁存在圈舍的情况下,机器人自动打开喷药装置;羊舍外车道线路径上没有圈舍,机器人自动关闭喷药装置,如式(11)所示。
S p r a y = 0 , c a p = c a p 1 1 , c a p = c a p 0
式中: S p r a y = 0表示喷药装置关, S p r a y = 1表示喷药装置开。

3.3 偏移量与速度计算算法

将摄像头获取的帧用DAENet分割完成得到伪彩色图像后,调用中心点识别算法,找出伪彩色图像中的所有的道路和车道线像素,并标记出其中心点。通过比较道路中心与机器人当前位置,可以获得偏移量。偏移量计算如公式(12)所示。
Δ x = x r o b o t - x r o a d
式中 : Δ x为偏移量; x r o b o t为机器人位置的横坐标; x r o a d为道路的中心点的横坐标。偏移量是机器人进行转向和修正轨迹的关键参数。
为了实现机器人的导航,需要将计算得到的偏移量转化为机器人的左轮速度 v l e f t和右轮速度 v r i g h t,如公式(13)公式(14)所示。
v l e f t = v l i n e a r + 0.5 × v a n g u l a r v l i n e a r × 300
v r i g h t = v l i n e a r - 0.5 × v a n g u l a r v l i n e a r × 300
式中: v l i n e a r为机器人的前进速度,一般为了使药液喷洒均匀,取0.2~0.7 m/s; v a n g u l a r为机器人的转向速度,由公式(15)计算得出。
v a n g u l a r = - k Δ x
式中 : k为增益系数, k越大,机器人转向的曲率越小。
在实际导航中,需要考虑连续帧的图像输入及机器人的连续运动。对于机器人实际的运动过程,摄像头获取的实时视频流可以看作是连续输入的n张道路或车道线的图片,对于每一张图片,调用DAENet分割模型来提取每一帧的道路和车道线的信息,对生成的伪彩色图像调用公式(12)计算自身偏移量。羊舍实地道路的坑洼不平会导致机器人的行进不平稳,会使每一帧的偏移量有不同程度的波动。为了防止机器人在羊舍实地运行的时候不断地由于偏移量的波动而抖动,取一个阈值 θ,当偏移量 | Δ x | θ时,将 Δ x置0,即当偏移量不大的时候,看作机器人没有偏离中心。相应地,机器人的左轮速度 v l e f t和右轮速度 v r i g h t也不会随 Δ x的变化而变化,所以机器人会继续按照当前方向行进,只有当偏移量超过阈值 θ时才使其改变导航方向。

3.4 导航喷药算法整体设计

DAENet模型通过语义分割来实时获取道路信息,并生成对应的伪彩色图像,将道路信息从背景中分离出来,调用中心点识别算法标记出机器人的行驶路径。通过切换道路摄像头和车道线摄像头,能够使机器人在路况发生变化时及时切换其导航方式。偏移量与速度计算算法能够实时计算机器人的偏移量,并将其转换成底盘履带轮的速度来实现机器人的行进。引入串口通信来实现软硬件之间的信息传递。通过字符表格式进行数据传输,将机器人的偏移量、速度等关键参数传输至底盘控制器。控制器通过字符表解析,提取数据并生成相应指令,调整底盘的左右轮速度,实现精确控制。整个系统工作流程如图8所示。
图8 羊舍自动导航喷药机器人系统的工作流程

Fig. 8 The workflow of the sheep shed automatic navigation spraying robot system

手动遥控机器人到达羊舍入口处,输入需要消毒的羊舍数量N,执行以下操作:
1)打开摄像头0。
2)打开喷药装置,开始喷药。
3)读取摄像头0的当前帧,判断是否检测到车道线像素超过3 s。如果是,则说明机器人离开羊舍,进入车道线区域,关闭摄像头0,并等待1 s后打开摄像头1,关闭喷药装置;如果不是,则调用道路中心点识别算法进行自动导航和喷药。
4)如果机器人进入车道线区域,即离开羊舍,读取摄像头1的当前帧,并将计数器加1。如果此时计数器的值等于N,则说明机器人完成了所有羊舍的消毒任务,机器人自动停机;如果计数器的值小于N,则继续执行消毒任务。
5)判断当前摄像头1是否检测不到车道线像素超过3 s。如果是,则说明机器人进入羊舍内部,即进入羊舍,关闭摄像头1,并等待1 s后打开摄像头0,开始下一轮循环,直至完成所有的消毒任务。

4 机器人测试与实验

4.1 DAENet模型实验

为了充分验证DAENet模型的性能,进行了模型训练和验证。实验硬件配置为Intel Xeon(R)CPU E5-2687W v2 3.40 GHz,显存11 GB的GTX 1080 Ti显卡。实验操作系统为Ubuntu 16.04,实验软件平台为Anaconda+Pycharm2021+Python3.8+Xftp7,训练框架为PaddlePaddle-gpu2.4.2。输入图像像素尺寸统一裁剪为1 024×512,batch size为4,调用4线程一共训练10 000次迭代,损失采用交叉熵损失函数(Cross Entropy Loss)。采用学习率衰减策略(Polynomial Decay)来控制学习率更新的步长。使用在羊场实地采集的4 306张图片组成的数据集进行模型训练。
实验结果表明,对于1 280×720分辨率的图像,DAENet的平均交并比(Mean Intersection over Union, mIoU)达到了0.945 3,训练过程中的mIoU如图9所示,证明了其在图像分割任务中具备较高的准确性。
图9 DAENet模型训练过程中的mIoU

注:浅蓝色为每个step的mIoU; 深蓝色线为平滑后的曲线。

Fig. 9 mIoU during training process of DAENet model

4.2 摄像头切换算法测试

将道路摄像头(以下简称摄像头0)置于机器人顶部,距离地面1 m,角度为‒20°;车道线摄像头(以下简称摄像头0)置于机器人前方,距离地面0.4 m,角度为‒45°,取时间 T = 3.0。打开摄像头0与摄像头1,初始机器人行走在羊舍内道路上,调用摄像头0,进行摄像头切换算法的测试。使用图8的工作流程进行算法测试。
当机器人行驶在羊舍内时,利用摄像头0获取帧并调用分割算法。通过OpenCV库函数,每个帧的预测结果被实时地输出到屏幕上,将道路标记为RGB(0,128,0),背景标记为RGB(128,0,0)。图10a展示了机器人行驶在羊舍内道路上的原始摄像头图像;图10b展示了经过DAENet分割算法处理后的效果。
图10 羊舍内道路中心点计算图像

注:图b中绿色像素的RGB为(0,128,0),代表道路;红色像素RGB为(128,0,0),代表背景。

Fig. 10 Image for calculating the center points of roads inside the sheep shed

当机器人行驶在羊舍外时,切换至下方的摄像头(以下简称为摄像头1),并调用分割算法。在这种情况下,标记了道路为RGB(0,128,0),背景为RGB(128,0,0),车道线为RGB(128,128,0)。通过不断寻找车道线的中心点,机器人在羊舍外依然能够实现精准导航。图11a展示了机器人行走在羊舍外车道线上时的原始摄像头图像;图11b展示了DAENet分割算法处理后的效果。
图11 羊舍外车道线中心点计算图像

注:图b中绿色像素的RGB为(0,128,0),代表道路;黄色像素RGB为(128,128,0),代表车道线。

Fig. 11 Image for calculating the center points of lane lines outside the sheep shed

从实验结果中可以看出,当路况发生变化时,机器人能正确地切换道路摄像头与车道线摄像头。

4.3 中心点与偏移量计算算法测试

为验证中心点与偏移量计算算法的实际计算效果,将训练好的分割模型DAENet部署在NVIDIA Jetson Xavier NX计算机端,将该计算机端嵌入到机器人系统中,调用分割模型,取 v l i n e a r = 0.2 k = 0.000   4。为保证算法的容错性,使机器人行走过程中在偏移量较小时不会产生较大摆动,设置当 - 20 Δ x 20时,取 Δ x = 0。开启摄像头0,使用OpenCV将分割的结果展示在屏幕上,模型将摄像头获取到的帧分割为伪彩色图像,其中绿色(RGB为(0,128,0))代表道路,红色(RGB为(128,0,0))代表背景。调用道路中心点识别算法,计算出所有绿色像素即道路的中心点,并用白色像素标记在图上,计算该中心与图像中心的偏移量,如图12所示。
图12 羊舍道路分割结果

Fig. 12 Results of road segmentation in the sheep shed

对于连续的视频帧,取连续的8帧图片,同步输出每一帧的处理时间、帧数与实时的偏移量,输出结果如表1所示。
表1 羊舍道路分割过程连续视频帧的处理时间、帧率与实时偏移量

Table 1 Processing time, frame rate, and real-time offset for continuous video frames in the process of road segmentation in the sheep shed

帧序号 处理时间/s 帧率/(f/s) 偏移量/像素
1 0.044 9 22.4 53
2 0.042 9 23.3 29
3 0.049 5 20.2 -21
4 0.047 9 20.9 0
5 0.054 8 20.2 35
6 0.049 9 20.0 0
7 0.046 9 21.3 0
8 0.046 3 21.6 0
经过实验结果的分析,偏移量在随着摄像头获取到的帧的不同而变化。在处理多帧视频流时,平均处理一帧图像所用的时间为0.04~0.055 s,帧率为20~24 f/s,可以满足实际工作的实时性。

4.4 机器人在羊场的整体测试

4.4.1 实验环境

实验场地位于安徽省阜阳市临泉县绿荣牧业发展有限公司。该养殖场总共包含12个羊舍,每两个羊舍之间相互平行,距离为15 m。整个羊场约有5 000头湖羊。每个羊舍中间设有一条过道,过道的路面为水泥路,表面凹凸不平,部分路面上有杂草和羊粪。羊舍过道两侧分别设置有圈舍,圈舍靠近过道的位置是料槽,工人使用电动上料车定期对羊进行喂食。本实验地设置为连续的两个相互平行的羊舍,完成喷药工作需要经过两条直路及一个弯路,共约140 m的长度。羊舍道路环境如图13a所示;料槽情况如图13b所示;弯路的车道线如图13c所示。
图13 羊舍自动导航喷药机器人的测试环境

Fig. 13 Test environment for sheep shed automatic navigation spraying robot

4.4.2 实验评价指标

精度指标。实验中要求语义分割模型的mIoU达到90%以上。
帧率指标。帧率反映了语义分割算法处理摄像头帧的速度,包括获取图像信息、调用中心点识别算法标记导航点的整个过程21。由于摄像头的帧率为30 f/s,要确保实时分割的要求,帧率通常不应低于20 f/s。
可靠性指标。实验中考虑伸缩杆展开与折叠、喷药杆打开与关闭的时间,在切换摄像头的过程中加入了13 s的容错时间22。为进一步提高容错性,考虑机械元件启动时间以及软件切换时间,要求路况发生变化时,从摄像头切换到喷药装置完全动作的时间不超过15 s。
稳定性指标。机器人在行驶过程中应确保不触及道路边缘、不发生碰撞并且无发生碰撞的趋势23。具体评估标准是机器人行进过程中不碰撞料槽,且相对于道路或车道线的中心线偏差不超过0.3 m。
消毒效果指标。为了评估喷药覆盖圈舍地面的效果,要求药液覆盖率达到90%以上。

4.4.3 实验过程

将机器人的药箱注满药液,手动遥控自动导航喷药机器人移动到第1个羊舍入口。机器人开机,设置机器人自动行进速度为0.2 m/s,调用程序。初始情况设置摄像头0开启,摄像头1关闭,机器人开始行走,屏幕上同步打印左右轮速度,以实时监控机器人状态。将每一帧的FPS写入日志,以便在实验结束时计算机器人运行时的平均FPS。机器人在第1个羊舍入口开机作为实验开始,离开第2个羊舍作为实验结束。实验中观察机器人是否能够安全行驶。使用特殊标记物来标记机器人行进时的路线。实验结束后测量标记物相对于道路中心线或车道线中心线的偏差,计算最大偏差、最小偏差、平均偏差与标准偏差。记录从切换摄像头到喷药装置完全动作所用的时间。实验后查看平均帧率及圈舍地面药液的覆盖面积。机器人在羊舍内外的实验过程如图14a14b所示;机器人运行时屏幕展示如图14c所示。
图14 自动导航喷药机器人实验过程

Fig. 14 Automatic navigation and spraying robot during test

4.4.4 实验结果

在实验过程中,机器人完成了两个羊舍的自动导航和消毒任务。在0.2 m/s的行进速度下,药箱里的药液能够满足两个羊舍的消毒任务。路况发生变化时,从摄像头切换到喷药装置完全动作的时间不超过15 s。记录了3次摄像头切换的时间,如表2所示。
表2 羊舍自动导航喷药机器人的喷药控制时间

Table 2 Spray control time for the sheep shed automatic navigation spraying robot

切换 开启喷药装置时间/s 关闭喷药装置时间/s
第1次 14.2 11.0
第2次 14.1 11.2
第3次 14.1 10.9
测量了机器人行进路线和中心线之间的偏差。对机器人的横向偏差进行统计分析,计算了最大偏差、平均偏差和标准偏差。
最大偏差是在一次实验中机器人的最大横向偏差。平均偏差是所有偏差量的平均值。标准偏差是所有偏差量相对于平均值的离散程度的度量,它代表机器人行进的稳定性,标准偏差越小,说明机器人行进的稳定性越高。记录如表3所示。
表3 羊舍自动导航喷药机器人行进的横向偏差

Table3 Lateral deviation of the sheep shed automatic navigation spraying robot

实验次数 横向偏差/m
最大偏差 最小偏差 平均偏差 标准偏差
1 0.250 0.160 0.215 0.014 7
2 0.290 0.200 0.245 0.040 3
3 0.290 0.170 0.221 0.045 6
表3的统计数据的分析结果表明,机器人行进的横向偏差不超过0.3 m,平均偏差为0.2 m~0.5 m,标准偏差为0.01~0.05。行走的稳定性可以满足实验指标要求。
实验后查看日志,计算出机器人行进时的帧率为22.4 f/s。
通过观察,几乎完全覆盖羊舍地面,覆盖率超过90%,如图15所示。喷药消毒效果达到实验指标要求。
图15 羊舍自动导航喷药机器人的喷药效果

Fig. 15 Spraying effectiveness of the sheep shed automatic navigation spraying robot

5 结 论

本研究设计了一个基于语义分割技术、以中心点识别算法为核心,并搭载折叠式喷药装置的羊舍自动导航喷药机器人。经过实地测试,得出以下结论。
1)通过引入SENet和基于场景改进的CCA注意力模块,提出了一种基于ENet的语义分割模型DAENet,进行以道路和车道线为目标的羊舍道路分割任务。模型的mIoU达到了0.945 3,证明了其在图像分割任务中具备较高的准确性。设计了道路中心点识别和车道线中心点识别两种算法来计算机器人行进过程中的导航点。设计了偏移量与速度计算算法,在得到道路中心点之后,计算其对于自身位姿的偏移量,通过该偏移量计算底盘左右轮的速度。设计了摄像头切换算法,使机器人在羊舍内外分别使用两台不同的摄像头,实现了摄像头的稳定切换,并依靠摄像头的切换控制喷药装置的开关。
2)在羊场实地测试中,机器人完成了两个羊舍的自动导航和消毒任务。实验中,机器人未碰撞路边料槽,相对于道路和车道线中心线偏移量均不超过0.3 m。在0.2 m/s的行进速度下,药箱里的药液能够满足两个羊舍的消毒任务。路况发生变化时,从摄像头切换到喷药装置完全动作的时间不超过15 s。机器人运行的平均帧率为22.4 f/s,对于信息的处理准确和实时性能够满足实验指标要求。通过观察,机器人喷药的覆盖率超过90%,达到实验指标要求。

利益冲突声明

本研究不存在研究者以及与公开研究成果有关的利益冲突。

1
NASIRIAN B, MEHRANDEZH M, JANABI-SHARIFI F. Efficient coverage path planning for mobile disinfecting robots using graph-based representation of environment[J]. Frontiers in robotics and AI, 2021, 8: ID 624333.

2
ADAMS I, QUINN R, LEE G, et al. Autonomous versus manual control of a pasture sanitation robot[C]// MEDER F, HUNT A, MARGHERI L, et al. Conference on Biomimetic and Biohybrid Systems. Cham, Germany: Springer, 2023: 363-377.

3
MUTHUGALA M A V J, SAMARAKOON S M B P, MOHAN RAYGURU M, et al. Wall-following behavior for a disinfection robot using type 1 and type 2 fuzzy logic systems[J]. Sensors, 2020, 20(16): ID 4445.

4
PATEL R, SANGHVI H, PANDYA A S. Autonomous robotic system for ultraviolet disinfection[M]// Cyber-Physical Systems. Amsterdam: Elsevier, 2022: 231-240.

5
BIJAY R, AMARENDRA M, ASIM D. Steer guidance of autonomous agricultural robot based on pure pursuit algorithm and LiDAR based vector field histogram[J]. Journal of applied science and engineering, 2023, 26(10): 1363-1372.

6
NAVONE A, MARTINI M, OSTUNI A, et al. Autonomous navigation in rows of trees and high crops with deep semantic segmentation[C]// 2023 European Conference on Mobile Robots (ECMR). Piscataway, New Jersey, USA: IEEE, 2023: 1-6.

7
鞠庆, 刘飞飞, 李光昌, 等. 室内环境自主消毒防疫机器人系统设计[J]. 传感器与微系统, 2023, 42(12): 103-106, 110.

JU Q, LIU F F, LI G C, et al. Design of autonomous disinfection and epidemic prevention robot system for indoor environment[J]. Transducer and microsystem technologies, 2023, 42(12): 103-106, 110.

8
冯青春, 王秀, 邱权, 等. 畜禽舍防疫消毒机器人设计与试验[J]. 智慧农业(中英文), 2020, 2(4): 79-88.

FENG Q C, WANG X, QIU Q, et al. Design and test of disinfection robot for livestock and poultry house[J]. Smart agriculture, 2020, 2(4): 79-88.

9
FENG Q C, WANG B W, ZHANG W H, et al. Development and test of spraying robot for anti-epidemic and disinfection in animal housing[C]// 2021 WRC Symposium on Advanced Robotics and Automation (WRC SARA). Piscataway, New Jersey, USA: IEEE, 2021: 24-29.

10
徐济双, 焦俊, 李淼, 等. 融合改进A*算法与模糊PID的病死畜禽运输机器人路径规划与运动控制方法[J]. 智慧农业(中英文), 2023, 5(4): 127-136.

XU J S, JIAO J, LI M, et al. Path planning and motion control method for sick and dead animal transport robots integrating improved A* algorithm and fuzzy PID[J]. Smart agriculture, 2023, 5(4): 127-136.

11
朱立学, 莫冬炎, 官金炫, 等. 基于U-Net的肉鸽养殖场机器人视觉导航路径识别方法[J]. 中国农机化学报, 2023, 44(10): 217-223.

ZHU L X, MO D Y, GUAN J X, et al. Path recognition method of robot visual navigation for meat pigeon breeding farm based on U-Net[J]. Journal of Chinese agricultural mechanization, 2023, 44(10): 217-223.

12
宋怀波, 段援朝, 李嵘, 等. 基于激光SLAM的牛场智能推翻草机器人自主导航系统[J]. 农业机械学报, 2023, 54(2): 293-301.

SONG H B, DUAN Y C, LI R, et al. Autonomous navigation system for pasture intelligent overthrowing grass robot based on laser SLAM[J]. Transactions of the Chinese society for agricultural machinery, 2023, 54(2): 293-301.

13
王俊, 蒋自强, 别雄波. 融合多尺度信息的道路场景实时语义分割[J]. 激光杂志, 2023, 44(6): 137-142.

WANG J, JIANG Z Q, BIE X B. Real-time semantic segmentation of road scene based on multi-scale information[J]. Laser journal, 2023, 44(6): 137-142.

14
CHIO I, RUAN K C, WU Z H, et al. Design and autonomous navigation of a new indoor disinfection robot based on disinfection modeling[J]. IEEE transactions on automation science and engineering, 2023, 20(1): 649-661.

15
PASZKE A, CHAURASIA A, KIM S, et al. ENet: A deep neural network architecture for real-time semantic segmentation[EB/OL]. arXiv: 1606. 02147, 2016.

16
HUANG Z L, WANG X G, WEI Y C, et al. CCNet: Criss-cross attention for semantic segmentation[C]// IEEE Transactions on Pattern Analysis and Machine Intelligence. Piscataway, New Jersey, USA: IEEE, 2023: 6896-6908.

17
CHEN L C, PAPANDREOU G, KOKKINOS I, et al. DeepLab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected CRFs[J]. IEEE transactions on pattern analysis and machine intelligence, 2018, 40(4): 834-848.

18
CHEN L C, PAPANDREOU G, KOKKINOS I, et al. Semantic image segmentation with deep convolutional nets and fully connected CRFs[EB/OL]. arXiv: 1412.7062, 2014.

19
HU J, SHEN L, SUN G. Squeeze-and-excitation networks[C]// 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway, New Jersey, USA: IEEE, 2018: 7132-7141.

20
SUWARNO I, OKTAVIANI W A, APRIANI Y, et al. Potential force algorithm with kinematic control as path planning for disinfection robot[J]. Journal of robotics and control (JRC), 2022, 3(1): 107-114.

21
QIU R Z, SUN Y X, CORREIA MARQUES J M, et al. Real-time semantic 3D reconstruction for high- touch surface recognition for robotic disinfection[C]// 2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). Piscataway, New Jersey, USA: IEEE, 2022: 9919-9925.

22
XIANG Z Z, SU J B. Towards customizable robotic disinfection with structure-aware semantic mapping[J]. IEEE access, 2043, 9: 35477-35486.

23
CHEN L F, YANG H G, CHEN Z C, et al. Research on intelligent disinfection-vehicle system design and its global path planning[J]. Electronics, 2023, 12(7): ID 1514.

Outlines

/