Path planning of unmanned vehicle based on multi-objective PSO-ACO fusion algorithm
-
摘要:目的
针对河蟹养殖过程中,水位变化以及无人艇路径规划算法收敛慢、精度低的问题,为提高算法适应性与寻优能力, 提出一种多目标粒子群−蚁群融合的无人艇路径规划算法。
方法首先,分析蟹塘环境及养殖规律等因素,建立静态水深栅格环境模型;其次,针对覆盖遍历式投饵存在局部点投喂不足及路径次优的问题,通过对惯性参数与学习因子的非线性调整,提出基于多目标的改进粒子群算法(Particle swarm optimization, PSO);然后,调整蚁群算法的初始信息素,并对蚁群算法的信息素挥发因子和启发期望函数自适应改进,提出自适应优化蚁群算法(Ant colony optimization, ACO);最后,为解决单一算法寻优不足,利用融合PSO-ACO算法,实现无人艇多目标全局路径规划。
结果仿真结果表明:不同环境投饵策略下,PSO-ACO算法在对多目标路径寻优时,不仅环境适应性好,而且提高了寻优效率和精度,运行时间节省了32%,路径距离缩短了9.78%,迭代次数降低了62.88%,拐点数目减少了44.45%。
结论所提出多目标点的路径规划算法适用于环境可变的蟹塘养殖,具有较好的应用价值。
Abstract:ObjectiveThere are problems in the course of river crab farming due to water level changes as well as slow convergence and low accuracy of the path planning algorithm of unmanned craft. Therefore, a multi-objective particle swarm-ant colony fusion algorithm for unmanned vehicle path planning was presented to improve the adaptability and optimization ability of the algorithm.
MethodFirstly, the factors such as crab pond environment and breeding law were analyzed, and the environmental model of static water depth in grid was established. Secondly, to cope with the issues of inadequate local point feeding and sub-optimal paths in coverage traversal baiting, a modified particle swarm optimization (PSO) algorithm based on multi-objective was presented by non-linear adjustment of inertia parameters and learning factors. The initial pheromone of the ant colony algorithm was adjusted, and the pheromone volatility factor and heuristic expectation function of the ant colony algorithm were improved to present an adaptive ant colony optimization (ACO) algorithm. Finally, to address the shortcomings of a single algorithm for finding the best, a fusion of PSO-ACO was utilized to realize multi-objective global path planning for baiting vessels.
ResultThe simulation results showed that the PSO-ACO algorithm not only had good environmental adaptability but also improved the efficiency and accuracy of multi-target path finding under different environmental baiting strategies. The PSO-ACO algorithm saved the running time by 32%, shortened the path distance by 9.78%, reduced the number of iterations by 62.88% and reduced the number of inflection points by 44.45%.
ConclusionThe proposed multi-objective path planning algorithm is suitable for crab pond culture with variable environment, and has good application value.
-
物联网技术应用于猪场养殖,可以实现母猪智能饲喂[1]、远程实时监控[2]和养殖环境调控[3],有利于增强母猪繁殖性能、提升猪场养殖效益[4-5],对促进猪场数字化和智能化进程具有重要意义[6-7]。
国内外学者对此开展了相关研究。国外在动物养殖中应用物联网技术较早,荷兰 Nedap 公司开发的Velos 管理系统,使用RFID方式实现了群养母猪的个体精确饲喂[8],加拿大 JYGA 科技公司的Gestal系统实现了对哺乳母猪全自动饲喂,其采用无线电技术搭配饲喂器,可以准确控制母猪的采食量[9]。国内对物联网智能饲喂的研究才刚刚起步,但也取得了许多研究成果[10]。朱伟兴等[11]针对保育猪舍研发了环境监控系统,利用Zigbee 无线技术实现了猪舍环境的可视化、精准化调控。潘秦等[12]利用母猪饲喂专家系统实现了群养母猪智能饲喂,通过无线分组交换技术(GPRS)实时获取耳标号和猪舍温、湿度等信息。大部分学者主要集中在饲喂系统控制逻辑的优化,对物联网数字化服务研究的相关文献较少。而母猪养殖的数字化管理,对提高猪场生产力具有重要作用[13]。
本文在前人研究的基础上,着重数据传输和解析方面,设计了一种哺乳母猪的智能饲喂物联网系统。采用Netty、SpringBoot框架以及MySQL技术,以TCP/IP协议为基础设计多种通信协议,以实现哺乳母猪饲喂数据传输和远程控制指令下发,为实现哺乳母猪智能饲喂数字化管理提供参考。
1. 系统整体架构设计
系统由感知层、传输层和应用层组成[10],各个层之间通过广域的互联网相互连接,形成从哺乳母猪养殖生产中信息采集、信息传输、信息处理、设备控制的一站式服务体系[14]。系统的整体架构如图1所示。
1)感知层:该模块自底向上由饲喂器设备和中央控制器组成,主要实现母猪饲喂信息、图像数据的采集上传以及远程控制指令响应;
2)传输层:主要依托GPRS ,按照约定的 IP 地址及端口号与服务器建立TCP连接,将感知层所获得的数据进行长距离传输;
3)应用层:由数据服务中心、用户以及中间链路部分组成。服务中心主要功能为:饲喂数据接收、数据统计、Web网站服务等,为下属用户提供PC 端的服务[15]。
1.1 现场设备
现场设备如图2所示,智能饲喂器如图2a所示,由单体机械和控制器组成,安装在料线下方;中央控制器如图2b所示,猪舍内通常由一台中央控制器控制多台智能饲喂器设备,并负责与云端进行通信。
1.2 系统技术
随着物联网技术的发展,国内外学者针对相关技术进行了不同的尝试,为了满足猪场实际应用需求,本文参照类似饲喂物联网系统完成了技术选型,如表1所示。
表 1 饲喂物联网系统技术对比表Table 1. Technology comparison table of feeding IoT system系统 System 通信协议 Communication protocol 数据采集频率 Data acquisition frequency 存储方式 Storage mode 图像传输 Image transmission 其他系统 Other system 固定协议 Fixed protocol 定时 Fixed time 本地存储 Local storage 无 No 本文系统 System of this paper 自定义协议 Custom protocol 实时 Real time 本地、云端存储 Local and cloud storage 有 Yes 许多相关系统会将智能设备接入开源物联网平台,通常需要使用平台固定的数据协议,存在配置繁琐、增加业务困难的问题。由于猪场需要根据业务需求灵活地定制程序,所以本文选择通过Netty框架实现多线程网络服务器、自定义数据协议完成数据实时传输,使得系统具有更强的扩展性。例如,本文基于后台对图像分析要求,实现了现场猪只图像采集传输;除此之外,云存储能够提高存储效率,降级运营成本,同时具备负载均衡、故障冗余功能[16]。
2. 系统数据传输
系统数据传输部分主要实现饲喂设备数据的接收和操作指令的下发。此部分基于Netty网络通信框架完成功能搭建[17-18],通过私有数据传输协议进行内容传输。
2.1 Netty优化设计
Netty是一个异步的、基于事件驱动的网络应用框架,常用以快速开发高性能、高可靠性的网络I/O程序[19]。Netty框架使用的线程模型基于Reactor模式进行演变,保证了单线程资源无竞争高效串行化任务的执行,Netty使用零拷贝,堆外直接内存进行Socket读写,传输快,且提供了对TCP、UDP和文件传输的支持。
系统基于Netty框架开发数据接收模块,模块在启动时通过ServerBootStrap绑定并监听一个网络端口。当有中央控制器传输数据时, WorkerEventLoopGroup根据设计的自定义协议进行数据的校验和解析。
数据解析完成后进行业务处理,该过程需要访问数据库。若在Netty的Worker线程中完成业务处理,将会影响数据接收模块的数据处理效率。因此加入自定义线程池来处理耗时业务操作,进而提高系统数据处理性能。线程池最大线程数超过系统资源限制时,新线程会处于无限等待[20],为避免此现象发生,故采用如下算法公式:
$$ N_{\text{s}} = N_i N_j \left( {1 + {T}/{C}} \right) ,$$ 式中:Ns为线程的设置数;Ni为CPU的核心数;Nj为预期CPU核心利用率;T/C为任务等待的时间与执行时间的比值[21]。
2.2 数据传输协议设计
通信协议作为采集终端与收集端消息传送的“模板”[22],在业务中有十分重要的地位,是采集终端与收集端消息传送的重要组成部分,而定义私有协议可更具有灵活性,可以按照业务需求有针对性地优化。
本文的通信协议涉及到多种类型,包括生产信息数据帧、饲喂曲线数据帧、图像数据帧、升级设备数据帧等,本文以生产信息数据帧和图像数据帧进行介绍,数据帧格式如图3所示。
对协议的数据帧公有帧位进行统一解释,各位置作用如下。帧头、帧尾:标识一个数据帧的开始结束,利用其解决数据帧黏包问题;校验位:对数据帧中除帧头、帧尾、校验位外的所有数据累加取反,取低八位做正确性验证;标志位:用来标识系统中不同类型的数据帧,例如基本信息数据、图像信息数据等;长度位:表示除去帧头、帧尾后整条数据帧的长度;控制器ID:此ID属于中央控制器的唯一标识;饲喂器ID:此ID属于饲喂器设备的唯一标识;哺乳母猪ID:饲喂器设备对应的哺乳母猪的唯一标识。
2.2.1 生产信息数据帧
生产信息数据帧如图3a所示,其中数据内容位为特有帧位,该位的长度可根据实际生产信息数据的不同而灵活变化。主要为母猪饲喂信息数据,包括猪只采食量、饮水量、舍号、栏号、分娩时间等。
2.2.2 图像数据帧
图像数据帧的设计与系统处理图像的逻辑有关,系统发送图像时,会将该图像分多段传输。在图像上传前,将分割段数发送至云端程序,之后发送图像分段数据,以及当前分段数据在所有段中所处位置的编号,系统根据数据的编号将图像拼接重现。故图像数据帧又分为图像数量帧和图像内容帧2种。
图像数量帧如图3b所示,其中分割段数为特有帧位,用来指明本次传输的图像分为多少段数据进行上传,通常在图像数据上传初期向云端发送该帧。例如分割段数是5,则表示图像分5次进行传输,接下来将有5条图像内容帧陆续发送,将5条帧中图像数据内容进行拼接即为完整图像。
图像内容帧如图3c所示,其中当前段号和图像数据为特有帧位。当前段号表示当前图像数据所处分段的位置索引,即为系统最后拼接图像时的顺序编号;图像数据位表示图像拆分后的二进制数据。
2.3 数据上传流程
系统具有采集设备下料量、下水量、母猪日龄等饲喂数据、远程采集现场图片和设备升级等功能。下面以采集图像流程为例进行介绍。 图像数据上传流程如图4所示。
系统间隔固定时间向饲喂设备下发图像采集命令,饲喂器收到命令后采集图片,中央控制器将图片二进制化并对数据拆分,将图像分段总数组合成图像数量帧,将实际图像数据组合成带有当前段号的图像内容帧,依次发送至系统,最后对图像数据进行CRC校验[23],保证图像传输的正确性。
系统收到数据帧后进行类型判断,根据类型转入相应处理程序,直至将完整图片全部解析。系统定时对保存的图片进行转存,避免图片太多消耗内存。
3. 系统测试
3.1 试验环境
使用阿里云服务器共享计算型n4(ecs.n4.small)搭载本文系统,服务器配置信息参数为:Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz 1vCPU2G,2 G内存,100 G硬盘,操作系统为Alibaba Cloud Linux release 3,JDK版本采用1.8。此外使用2台8核CPU的计算机,作为压测机,以测试系统的性能情况[24]。详细配置信息参数为:Intel(R) Core(TM) i5-1035G1处理器,16 G内存,500 G固态硬盘,操作系统为Win10。
3.2 系统平均响应时间
终端设备与系统进行数据传输时,响应时间是衡量系统可靠性的标准之一。使用压测机与系统建立若干个TCP连接,每个连接发送一个包含当前时间信息的数据实体。系统接收数据后取出内部封装的时间信息并写回压测机,压测机接收到返回的数据包,取出原始时间戳信息与当前时间对比[25],试验重复5组,计算平均响应时间。测试结果如表2所示。
表 2 响应时间试验结果Table 2. Test result of response timems 连接数 Number of connection 1 2 3 4 5 平均 Average 1000 245.056 137.227 160.899 131.782 137.191 162.431 2000 371.362 304.717 318.287 197.372 259.581 290.264 3000 143.550 368.450 257.350 329.670 567.300 333.624 3.3 系统数据处理性能测试
试验与“3.2”节类似,使用压测机与系统连接,并发送带有饲喂信息的数据包,每个连接发送时间间隔为1 s。试验在3000个连接数下发送数据,每个连接发送200个数据包,最后根据数据库实际插入的数据量[26],比较出数据处理模块在有无业务线程池下单位时间内的数据处理数。试验重复进行10组,计算平均值。试验结果如表3所示。
表 3 数据库插入数据量结果Table 3. Result for the amount of data inserted into the database条 帧头 Frame header 1 2 3 4 5 6 7 8 9 10 平均 Average 无线程池 No thread pool 789 764 790 798 767 752 841 819 814 823 795.7 有线程池 Have thread pool 1135 1058 1067 1084 1087 1102 1081 1057 1039 1036 1078.9 试验结果表明,系统在3000个连接数下,平均响应时间约为330 ms,且在单位时间内处理的数据量为750~1180条,满足猪场上位机设备的连接管理与数据处理要求。同时,系统通过引入自定义业务线程池,解耦耗时业务操作,相较原来无业务线程池,单位时间处理数提升约250条,处理量提高了31%。
4. 物联网应用
在云南省某母猪场的一条生产线(5个产仔舍单元)安装了智能饲喂器,每个产仔舍单元有1台中央控制器和56台饲喂器。通过采集2021年7月1日至11月1日生产信息,对物联网系统进行应用分析。
4.1 物联网系统主界面
该界面对全部饲喂设备的运行情况进行统计显示。显示内容有设备数目、设备在线情况以及设备日志等,还包括对产仔数、饲料消耗等数据的统计显示。在线设备数为正常运行的饲喂器数量,系统通过解析中央控制器发回的数据帧,得到帧中的饲喂器ID,判定为该饲喂设备在线,计入在线设备数量。主界面如图5所示。
4.2 母猪饲喂信息查询界面
该界面显示单台饲喂器设备的数据信息。选择相应的设备,可查询出该设备上传的母猪身份和生产信息数据,并且以折线图的形式显示该母猪分餐计划中的采食量和饮水量。当母猪当日采食量少于设备计划下料量40% 时,系统认定该母猪采食异常,在主界面的设备日志和采食详情异常数中反馈该情况。母猪饲喂信息查询界面如图6所示。
4.3 采集图像
系统下发图像采集命令,智能饲喂设备传回现场图像,用于后台对母猪产程和产仔情况进行分析。实例如图7所示。
4.4 统计数据下载
系统提供统计数据导出功能,数据包括设备下料消耗量以及母猪日采食量。系统可以在时间维度上对数据按指标进行统计,可减轻猪场管理员分析数据的压力,并且为调整母猪饲喂计划和分析猪场饲料消耗成本提供了参考。
系统根据历史数据中所有猪只的生产数据,统计不同产房母猪的采食总量和饮水总量;通过统计不同分娩前后时间的母猪数量与其采食总量和饮水总量,计算出不同分娩前后时间的母猪平均采食量和饮水量(图8)。
由统计结果分析可知,后备母猪在分娩前3 d,采食量和饮水量均有明显下降,在分娩当天母猪只有少量饮水。分娩完成后,母猪采食量和饮水量开始逐日增加,7 d后消耗量趋于稳定。
5. 结论
1) 本文设计了一种哺乳母猪智能饲喂物联网系统,开发语言使用Java,数据库使用MySQL技术,利用Netty框架实现了数据传输服务,系统的WEB部分使用SpringBoot与Vue框架,以前后端分离形式开发,实现了母猪饲喂信息采集、图像数据采集和设备远程升级等功能,系统对饲喂数据进行统计分析,对调整母猪饲喂计划,控制猪场消耗成本具有参考意义;
2) 系统通过自定义数据传输协议与解耦耗时业务操作,可以更加高效地传输母猪基础数据和更加灵活地拓展系统业务功能,满足了对猪场饲喂设备的连接管理与数据处理要求。系统在实际应用中,运行稳定、智能化程度高,可以实时反馈母猪饲喂情况,在猪场生产建设中具有实际应用价值。
-
图 2 蟹塘环境优化模型示意图
图2b中,蓝色单元的深浅度表征动态水深变化,灰色单元表征投料装置、增氧泵等设备,即障碍物区
Figure 2. Schematic diagram of crab pond environment optimization model
In Fig. 2b,the color depth of blue cells characterizes dynamic water depth changes,and the gray units represent the obstacle area including feeding device, oxygen pump and other equipment
图 10 静态水深下的全局规划
灰色单元表示投料装置、增氧泵等设备,即障碍物区;褐色单元表示浅滩区;红色实线代表PSO-ACO融合算法
Figure 10. Global planning under static water depth
The gray unit represents the feeding device, oxygen pump and other equipment, that is, the obstacle area; The brown unit represents the shoal area; The red solid line represents the PSO-ACO fusion algorithm
表 1 2种粒子群算法仿真对比
Table 1 Simulation comparison of two algorithms
算法 Algorithm 平均运行时间/s Average running time 平均路径距离/cm Average path distance 最优迭代次数 Optimal iteration times 标准PSO Standard PSO 2.36 31.23 26 改进PSO Improved PSO 1.68 30.88 21 表 2 简单环境单投喂点的算法仿真结果对比
Table 2 Comparison of algorithm simulation results of single feeding point in simple environment
算法 Algorithm 运行时间/s Running time 最短路径距离/cm Minimum path distance 最优迭代次数 Optimal iteration times 路径拐点数目 Number of path inflection points 标准ACO Standard ACO 4.78 28.63 23 10 改进ACO Improved ACO 3.68 28.04 21 6 PSO-ACO 3.39 28.04 19 3 表 3 复杂环境多投喂点的算法仿真结果对比
Table 3 Comparison of algorithm simulation results of multiple feeding points in complex environment
算法 Algorithm 运行时间/s Running time 最短路径距离/cm Minimum path distance 最优迭代次数 Optimal iteration times 路径拐点数目 Number of path inflection 标准ACO Standard ACO 106.73 74.12 264 36 改进ACO Improved ACO 81.17 68.28 126 24 PSO-ACO 72.58 66.87 98 20 -
[1] 洪剑青, 赵德安, 孙月平, 等. 水产养殖自动导航无人明轮船航向的多模自适应控制[J]. 农业工程学报, 2017, 33(1): 95-101. doi: 10.11975/j.issn.1002-6819.2017.01.013 [2] FAKOOR M, KOSARI A, JAFARZADEH M. Humanoid robot path planning with fuzzy Markov decision processes[J]. Journal of Applied Research and Technology, 2016, 14(5): 300-310. doi: 10.1016/j.jart.2016.06.006
[3] AMMAR A, BENNACEUR H, CHAARI I, et al. Relaxed Dijkstra and A* with linear complexity for robot path planning problems in large-scale grid environments[J]. Soft Computing, 2016, 20(10): 4149-4171. doi: 10.1007/s00500-015-1750-1
[4] LI C, HUANG X, DING J, et al. Global path planning based on a bidirectional alternating search A* algorithm for mobile robots[J]. Computers & Industrial Engineering, 2022, 168: 108123.
[5] JIANG H, SUN Y. Research on global path planning of electric disinfection vehicle based on improved A* algorithm[J]. Energy Reports, 2021, 7: 1270-1279. doi: 10.1016/j.egyr.2021.09.137
[6] MA Y N, GONG Y J, XIAO C F, et al. Path planning for autonomous underwater vehicles: An ant colony algorithm incorporating alarm pheromone[J]. IEEE Transactions on Vehicular Technology, 2019, 68(1): 141-154. doi: 10.1109/TVT.2018.2882130
[7] 潘昕, 吴旭升, 侯新国, 等. 基于遗传蚂蚁混合算法的AUV全局路径规划[J]. 华中科技大学学报(自然科学版), 2017, 45(5): 45-49. doi: 10.13245/j.hust.170509 [8] FENG W, RAO Z, WANG Z. Research on the application of ant colony algorithm in underwater path planning[C]//Proceedings of the 2016 International Symposium on Advances in Electrical, Electronics and Computer Engineering. Paris, France: Atlantis Press, 2016: 12-13.
[9] MA Y, FENG W, MAO Z, et al. Path planning of UUV based on HQPSO algorithm with considering the navigation error[J]. Ocean Engineering, 2022, 244: 110048. doi: 10.1016/j.oceaneng.2021.110048
[10] KRELL E, KING S A, CARRILLO L R G. Autonomous Surface Vehicle energy-efficient and reward-based path planning using Particle Swarm Optimization and Visibility Graphs[J]. Applied Ocean Research, 2022, 122: 103125. doi: 10.1016/j.apor.2022.103125
[11] XU L, CAO M, SONG B. A new approach to smooth path planning of mobile robot based on quartic Bezier transition curve and improved PSO algorithm[J]. Neurocomputing, 2022, 473: 98-106. doi: 10.1016/j.neucom.2021.12.016
[12] VOTION J, CAO Y. Diversity-based cooperative multivehicle path planning for risk management in costmap environments[J]. IEEE Transactions on Industrial Electronics, 2018, 66(8): 6117-6127.
[13] CHEN P, LI Q, ZHANG C, et al. Hybrid chaos-based particle swarm optimization-ant colony optimization algorithm with asynchronous pheromone updating strategy for path planning of landfill inspection robots[J]. International Journal of Advanced Robotic Systems, 2019, 16(4): 1729881419859083.
[14] 杨立炜, 付丽霞, 王倩, 等. 多层优化蚁群算法的移动机器人路径规划研究[J]. 电子测量与仪器学报, 2021, 35(9): 10-18. doi: 10.13382/j.jemi.B2104304 [15] 陈劲峰, 黄卫华, 王肖, 等. 基于改进蚁群算法的移动机器人路径规划[J]. 高技术通讯, 2020, 30(3): 291-297. doi: 10.3772/j.issn.1002-0470.2020.03.010 [16] 董翔宇, 季坤, 朱俊, 等. 对特高压变电站巡检机器人路径规划改进蚁群算法的研究[J]. 电力系统保护与控制, 2021, 49(18): 154-160. doi: 10.19783/j.cnki.pspc.201581 [17] 张天瑞, 吴宝库, 周福强. 面向机器人全局路径规划的改进蚁群算法研究[J]. 计算机工程与应用, 2022, 58(1): 282-291. [18] 何少佳, 史剑清, 王海坤. 基于改进蚁群粒子群算法的移动机器人路径规划[J]. 桂林理工大学学报, 2014, 34(4): 765-770. doi: 10.3969/j.issn.1674-9057.2014.04.28 [19] 王金龙. 无人艇航路规划的算法研究[D]. 长春: 吉林大学, 2019. [20] 严文娟. 高铁用送餐机器人软件系统设计与实现[D]. 南京: 东南大学, 2019 [21] HOWDEN W E. The sofa problem[J]. Computer Journal, 1968, 11(3): 299-301. doi: 10.1093/comjnl/11.3.299
[22] 徐唐进, 张安民, 高邈, 等. 动态水深环境下的无人艇路径规划[J]. 测绘科学, 2021, 46(6): 180-189. doi: 10.16251/j.cnki.1009-2307.2021.06.026 [23] EBERHART R, KENNEDY J. A new optimizer using particle swarm theory[C]//MHS'95. Proceedings of the Sixth International Symposium on Micro Machine and Human Science. Nagoya: IEEE, 1995: 39-43.
[24] 姜建国, 田旻, 王向前, 等. 采用扰动加速因子的自适应粒子群优化算法[J]. 西安电子科技大学学报, 2012, 39(4): 74-80. [25] 董楠楠, 夏天, 王长海. 基于粒子群优化算法对PID参数的优化整定[J]. 软件, 2017, 38(11): 67-70. doi: 10.3969/j.issn.1003-6970.2017.11.013 [26] DORIGO M. Optimization, learning and natural algorithms[D]. Milan: Politecnico di Milano, 1992.
-
期刊类型引用(1)
1. 周勋勋,程永豪,于雪娇,叶文玲,鲁洪娟,张国漪. 烟沫有机肥部分替代化肥对玉米生长和根系分泌物及土壤微生物群落结构的影响. 土壤通报. 2024(05): 1440-1452 . 百度学术
其他类型引用(1)