百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

通过人工鱼群算法,优化塔式起重机智能路径,三维模型研究为基础

moboyou 2025-05-18 14:31 15 浏览

在阅读此文之前,麻烦您点击一下“关注”,既方便您进行讨论和分享,又能给您带来不一样的参与感,感谢您的支持

文|九鼎鉴史

编辑|九鼎鉴史

前言

随着工业自动化水平的提高和物流需求的增加,起重机在工业生产中扮演着不可或缺的角色,然而,对于大型塔式起重机而言,路径规划是一个具有挑战性的问题,传统的路径规划算法往往难以兼顾效率和优化性能。

三维地图的建立


塔式起重机应用环境下的障碍物,一般为正在建设的高楼等不易移动的大型障碍物,在塔式起重机实际运行前,通过激光雷达扫描或传感器采集信息等方法使计算机先获得障碍物的形状位置信息,之后根据所得信息进行路径规划。

为了方便仿真计算,采用空间等分网格方法模拟三维的建筑环境,将障碍物适当膨胀化理解成规则形状,对三维空间进行栅格化处理,在规划空间建立三维的坐标系,将x、y、z轴进行等分,使得空间离散为一个三维点集合,之后所规划出来的路径是对三维散点进行多项式曲线的拟合,设定x轴、y轴的跨度为20m,z轴的高度为14m,其环境模型,之后可通过改变空间坐标轴的跨度和障碍物高度矩阵的数值来形成不同的地图模型。

人工鱼群算法


人工鱼群算法是通过模拟鱼群的行为特点来达到寻优的目的,国内外研究者通过不断地研究发现鱼群算法具有并行性、简单性和收敛速度快等优点,目前鱼群算法已经成为智能算法的一个重要分支,并广泛应用在了数值优化、自动控制和模型求解等领域,人工鱼群算法主要包含以下4种行为:

(1)觅食行为:表示人工鱼趋向食物浓度高区域的一种活动,设人工鱼i的当前位置为Xi,在其视野范围内随机选择另一个位置Xj,如下式:

分别计算此时2个位置的函数值Yj和Yi,若Yj优于Yi,则人工鱼向该位置方向前进:

若Yj劣于Yi,则重新选择位置Xj,判断是否满足前进条件,达到最大尝试次数后,采取随机行为。

(2)聚群行为:搜索人工鱼i当前位置视野范围内的伙伴数目fn以及他们的中心位置Xc,当中心位置拥有较大的食物浓度且人工鱼数目满足未拥挤条件,计算出人工鱼向中心位置移动后的函数值,与追尾行为所计算出的函数值进行比较,选择2者中更优的一方作为人工鱼的移动行为,执行聚群行为如下式:

路径表示

塔式起重机运输重物需要起重臂的回转、起重臂上小车的变幅运动以及吊钩的升降相互配合,3者通过各自方向上的运动使重物可以沿某一方向前进,在进行路径规划时,可将重物看作一个质点。

通过在三维空间中对散点的拟合形成路径,将规划出的合理路径传送给计算机,计算机通过控制起重臂、小车和吊钩等运动机构使重物可以沿规划好的路径运动,路径长度(适应度)计算出三次样条法得到的相邻2个离散点之间的距离,之后计算出各个点距离之和得到总路径长度,如下式:

约束条件

不同于平面运动的路径规划,本文的路径规划需要从三个维度考虑,既有水平移动又要有垂直移动,同时塔式起重机需要在安全的高度范围内进行运输重物,过高的运输高度会增加运输的危险系数,故路径的高度值应满足:

式中,Hmax为起重机吊钩的最大高度。

算法改进

(1)人工鱼的移动步长是影响人工鱼群算法收敛性能的一个重要参数,人工鱼采取的步长越大时,人工鱼在前期的寻优速度会得到很大的提高,但在收敛后期由于人工鱼每一步都在大范围内移动,人工鱼会不易寻找到最优路径,从而降低了寻优精度。

反之,人工鱼采取小步长虽然可以提高寻优精度,但会使得算法的收敛速度变慢,为了解决固定步长所带来的影响,下面引入一种自适应步长,人工鱼当前所在位置为Xi,搜索到下一个位置为Xv,如下式:

改进后的移动步长为:

式中,Yv为人工鱼在Xv位置的函数值,Yi为人工鱼在Xi位置的函数值,Stepmax为最大移动步长,改进后人工鱼根据当前位置函数值和搜索到的下一个位置函数值的数值差距调整移动步长的大小,实现面对不同情形大步长和小步长的动态切换。

(2)在传统的人工鱼群算法中,随机行为的执行过程中很有可能导致人工鱼群个体在游动时出现退化,为防止该种情况的产生,采用生存竞争机制,描述如下:

式中,YMAX为全局最优状态函数值,防止前期初始化过多人工鱼,对于某个人工鱼而言,在每次迭代完成后,人工鱼若状态逐渐变差或处于局部极值点时,人工鱼会重新在全局范围内随机重生,扩大搜索的范围,而处于全局最优点附近的人工鱼会具有较强生命力,继续执行寻优行为,提高了算法的寻优效率。

(3)人工鱼的各个行为都是基于合适的视野范围,使用大视野可以加快收敛速度,扩大搜索范围,但存在精度不足的问题,使用小视野可以加大邻近区域内的搜索能力,但容易导致人工鱼陷入局部极值点,只在邻域做无意义的搜索。

针对这种情况,本文加入最优人工鱼和最近人工鱼,在算法每次进行迭代前都会从该鱼群中选取当前状态最优的人工鱼位置记为XA,选取离自身最近的人工鱼位置记为XB,将自身到该最优人工鱼的距离记为VisualA。

到该最近人工鱼的距离记为VisualB,人工鱼同时按照2种不同的视野值VisualA和VisualB进行搜索,且大多数情况下VisualB远小于VisualA,确定出2个随机目标位置X1和X2,如下式:

比较人工鱼当前自身位置和X1、X2位置函数值的优劣,若X1和X2中有一点位置函数值优于自身位置或者两点均优于自身位置,则人工鱼向X1位置和X2位置中最优的一个位置方向移动,如下式:

式中VisualARand(0,1)为人工鱼向X1位置移动的步长,VisualBRand(0,1)为人工鱼向X2位置移动的步长。

若X1和X2位置函数值均劣于自身位置,则重新寻找2个随机目标位置,达到一定尝试次数后,按照自适应步长执行后续的觅食行为。

通过三次样条方程连接各个位置点,使路径成为一条带有弧度的曲线,减小塔式起重机在运输重物时经过拐点所导致吊钩的摇晃,提高系统安全性。

仿真研究


为了对比不同算法路径规划的结果差异,首先使用粒子群算法与传统人工鱼群算法相比较,设置起始点均为(1,12,2),终止点均为(21,12,2)。

传统人工鱼群算法和粒子群算法虽然都可以规划出一条无碰撞的路径,但拐点较多,为了得到更加优化的路径,使用本文改进人工鱼群算法对塔式起重机进行路径规划,通过节点筛选,并按照三次样条数据插值拟合曲线,使路径平滑连接,消除传统人工鱼群算法所规划路径的多个拐点,更加适合塔式起重机起重臂的回转运动。

在起始点和终止点同一水平情况下,人工鱼群算法可以为塔式起重机规划出一条拐点少且无碰撞的路径,可以满足塔式起重机有障碍物的环境下水平运输重物的需求,避免像传统塔式起重机直接用吊钩将重物提升到最高处再进行运输。

水平运输可以减少塔式起重机上下工作,减少不必要的消耗,但塔式起重机在工作时也会有需要将重物从低处运往高处的情况,为模拟该情况,设置起始点为(1,14,1),终止点为(21,14,7)。

验证塔式起重机在不同工作环境下人工鱼群算法是否都可以规划出一条合适的路径,建立出一个模拟高楼比较密集的环境,设置三维地图3个方向的跨度分别为x轴50、y轴50、z轴14。

设置障碍物高楼的数量为19个,增大环境的复杂性,检测路径是否满足塔式起重机控制需求,设置起始点为(1,20,2),终止点为(50,25,2)。

塔式起重机在面对不同高度的障碍物可以选择不同的控制方法,在面对较低障碍物时,通过分别计算绕行障碍物路径长度和提升吊钩跨过障碍物路径长度。

比较路径长度的长短来确定是否从障碍物上方经过,使得塔式起重机在较为复杂建筑环境下可以使用本文改进人工鱼群算法规划出一条较为光滑且拐点少的路径。

利用人工鱼群算法全局搜索能力强的优点,提出一种改进的人工鱼群塔式起重机智能路径规划新算法,采用自适应策略改进算法的移动步长,引入最优人工鱼和最近人工鱼的复合自适应视野获取方法,改善了算法的收敛速度和寻优精度,并通过仿真验证该方法在塔式起重机路径规划上的可行性和优越性。

仿真结果表明,与传统人工鱼群算法、粒子群算法相比,该方法所规划出的路径更光滑且路线较短,在塔式起重机上的应用价值更高,并针对塔式起重机的工作环境和工作方式,建造出不同的地图,根据不同的要求均可以规划出一条满足塔式起重机工作的路径。

结论

通过模拟鱼群的觅食行为,该算法能够有效地避免障碍物、优化路径选择和提高起重机的运行效率,未来,可以进一步研究和改进该算法,以适应更复杂的工业环境和提高路径规划的性能。

参考文献

[1]张锐.基于机器视觉的塔式起重机控制策略研究[D].合肥工业大学,2019.

[2]林韩熙,向丹,欧阳剑,等.移动机器人路径规划算法的研究综述[J].计算机工程与应用,2021,57(18):38-48

[3]许喆,刘秀杰,宋健,等.采用局部学习与反向学习机制的人工鱼群算法在含DG配电网重构中的应用[J].电测与仪表,2018,55(12):60-65.


相关推荐

Linux集群自动化监控系统Zabbix集群搭建到实战

自动化监控系统Cacti特点:将监控到的数据,绘制成各种图形基于SNMP协议(网络管理协议)的监控软件,强大的绘图能力Nagios特点:状态检查和报警机制(例如:内存不足或CPU负载高时,及时的...

快速掌握Kafka系列《三》配置项总结

往期系列文章:1.快速掌握Kafka系列《一》基本概念入门2.快速掌握Kafka系列《二》常用操作命令汇总目录一、前言二、broker配置2.1三个基本配置2.2其它配置2.3...

8.mxGraph 命名空间与 Hello World 示例实践.md

2.2.2GeneralJavaScriptDevelopment常规JavaScript开发2.2.2.1JavaScriptObfuscation/JavaScript混淆[翻...

英特尔 i9-12900KS 最新爆料:基础功耗 150W,790 美元

IT之家2月14日消息,据爆料者@momomo_us的消息,现在已有海外经销商列出了i9-12900KS的商品信息。i9-12900KS的产品代码为BX8071512900KS,基...

Spring Boot集成OAuth2:实现安全认证与授权的详细指南

SpringBoot集成OAuth2:实现安全认证与授权的详细指南引言在当今数字化时代,Web应用的安全认证和授权至关重要。OAuth2作为一种广泛应用的开放标准协议,为第三方应用提供了安全、便捷的...

DNF人造神团本男气功加点攻略(dnf男气功用什么神话)

SP方面:加点从下往上点起,大技能全部点满,剩余sp在雷霆踏和念雷轰之间根据个人喜好二选一。加点代码:eJwNzTEKglAAx+Hf35D0pU8bImxpkSgHt47QFNRSi2cIkkJ...

Python连接Mysql数据库的几种方式以及问题排查方法

一、使用pymysql连接Mysql数据库连接示例:conn=pymysql.connect(host=host,user=user,password=passwd,db=db,port=int(...

37【源码】数据可视化:基于 Echarts + Python 动态实时大屏

效果图展示1.动态效果演示2.静态切片效果图一、确定需求方案1.确定产品上线部署的屏幕LED分辨率本案例基于16:9屏宽比,F11全屏显示。2.部署方式浏览器打开播放,Chrome浏览器、360浏览...

36【源码】数据可视化:基于 Echarts + Python 动态实时大屏

效果图展示动态效果演示2.静态切片效果图一、确定需求方案1.确定产品上线部署的屏幕LED分辨率本案例于16:9屏宽比,F11全屏显示。2.部署方式浏览器打开播放,Chrome浏览器、360浏览器等。...

Jsp Servlet Mysql实现的在线商城项目源码附带视频指导运行教程

今天给大家演示一款由jspservletMySQL实现的在线商城系统,系统项目源码在【猿来入此】获取!本系统实现了管理员管理用户、商品(商品分类)、订单、留言、新闻等功能,前台会员注册登录,查看商...

MySQL大数据表处理策略,原来一直都用错了……

场景当我们业务数据库表中的数据越来越多,如果你也和我遇到了以下类似场景,那让我们一起来解决这个问题。数据的插入,查询时长较长后续业务需求的扩展,在表中新增字段,影响较大表中的数据并不是所有的都为有效数...

基于SpringBoot 的CMS系统,拿去开发企业官网真香(附源码)

前言推荐这个项目是因为使用手册部署手册非常完善,项目也有开发教程视频对小白非常贴心,接私活可以直接拿去二开非常舒服开源说明系统100%开源模块化开发模式,铭飞所开发的模块都发布到了maven中央库。可...

「Qt入门第22篇」 数据库(二)编译MySQL数据库驱动

导语在上一节的末尾我们已经看到,现在可用的数据库驱动只有两类3种,那么怎样使用其他的数据库呢?在Qt中,我们需要自己编译其他数据库驱动的源码,然后当做插件来使用。下面就以现在比较流行的MySQL数据库...

基于SpringBoot从0到1编写一个图书管理系统(附源码)

项目源码地址:https://muzidong.com/productDetail/8ff44c71db6b4b6aa30c71e646b1c557需求分析基于SSM+MySql+LayUI...

Jsp+Ssm+Mysql实现的投票管理系统源码附带视频指导配置运行教程

今天给大家演示的是一款由jsp+ssm框架+mysql实现的投票管理系统,系统分为前端和后台管理模块,系统项目源码在【猿来入此】获取!前端用户可以登录注册、查看投票信息,登录后可以进行投票,也可以查看...