路径规划算法:基于鲸鱼优化的路径规划算法- 附代码

news2025/2/26 19:16:13

路径规划算法:基于鲸鱼优化的路径规划算法- 附代码

文章目录

  • 路径规划算法:基于鲸鱼优化的路径规划算法- 附代码
    • 1.算法原理
      • 1.1 环境设定
      • 1.2 约束条件
      • 1.3 适应度函数
    • 2.算法结果
    • 3.MATLAB代码
    • 4.参考文献

摘要:本文主要介绍利用智能优化算法鲸鱼算法来进行路径规划。

1.算法原理

鲸鱼算法具体原理请参照:https://blog.csdn.net/u011835903/article/details/107559167

1.1 环境设定

在移动机器人的路径优化中,每个优化算法的解代表机器人的一条运动路径。优化算法会通过优化计算在众多路径中找出一条最优路径。
优化算法的设定必须和机器人运动环境模型相对应。不失一般性,假设在用栅格法对机器人运动环境建模后得出的结果是 m×n 的矩形区域,坐标值从 1 开始,如图1 。其中坐标原点栅格代表机器人的初始位置,坐标 (m,n)对应的栅格代表机器人的移动目标位置。优化算法设定的一个重要内容是确定优化算法的数学表达形式,在这里这个问题转化为用一个向量表示机器人的移动路径。经过分析发现,尽管栅格法建立的模型对空间进行了离散化,但本质上机器人的移动路径依然是连续的。

在这里插入图片描述

图1.栅格地图

1.2 约束条件

对于机器人的路径优化来说,其运动路径必须局限在栅格空间内,即搜索不能越过栅格的矩形边界。此外,还应受障碍物的限制,即机器人的运动轨迹不能穿过存在障碍物的栅格区域。

1.3 适应度函数

在本文的建模方法中,本文路径规划目标是路径长度最短。路径的长度可以表示为:

L ( P a t h ) = ∑ i = 0 n − 1 ( x l i + 1 − x l i ) 2 + ( y l i + 1 − y l i ) 2 (1) L(Path) = \sum_{i=0}^{n-1}\sqrt{(xl_{i+1} - xl_i)^2 + (yl_{i+1} - yl_{i})^2}\tag{1} L(Path)=i=0n1(xli+1xli)2+(yli+1yli)2 (1)
其中(x,y)是路径中间点的坐标

利用鲸鱼算法对上式进行寻优,找到最短路径。鲸鱼算法参数设定如下:

%% 鲸鱼算法参数设置
dim=length(noLM);%维度,即为非障碍物个数。
numLM0=round((EndPoint(1)-StartPoint(1))/4);%每次迭代选取的的中间路径点个数,可调
lb=0;%下边界
ub=1;%上边界
Max_iteration = 100;%最大迭代次数
SearchAgents_no = 30;%种群数量
fobj = @(x)fun(x,noS,noE,numLM0,net);%适应度函数

2.算法结果

在这里插入图片描述

3.MATLAB代码

本程序中,支持1.地图任意创建保存。2.其实点任意更改。

4.参考文献

[1]罗阳阳,彭晓燕.基于改进PSO的四轮移动机器人全局路径规划[J].计算机仿真,2020,37(07):373-379.

[2]鲁丹. 粒子群算法在移动机器人路径规划中的应用研究[D].武汉科技大学,2009.

-379.

[2]鲁丹. 粒子群算法在移动机器人路径规划中的应用研究[D].武汉科技大学,2009.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/520686.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot通过自定义注解整合Redisson实现分布式锁(单机+集群模式)

😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: SpringBoot通过自定义注解整合Redisson实现分布式锁 ⏱️ 创作时间&am…

低代码信创开发核心技术(一):基于Vue.js的描述依赖渲染DDR实现模型驱动的组件

前言 随着数字化转型的不断发展,低代码开发平台已成为企业快速建立自己的应用程序的首选方案。然而,实现这样一个平台需要具备高效、灵活和可定制化的能力。这正是基于描述依赖渲染(Description dependency rendering)所实现的。…

Jenkins 发布到 windows 主机

由于一些原因, 最近程序部署在windows 服务器上比较多, 本文以将前端程序发布到windows server 2016 为例进行介绍 流程 需考虑网络联通性, 此处我的目标服务器没有公网固定IP, 故采用vpn 工具组网 步骤: 一、使用执行SSH脚本的方式 1. 在jenkins 服务器及目标机器上安装 VP…

Windows终端中文乱码,查看系统默认编码及修改系统默认编码

最近windows升级之后出现一个问题,终端出现了乱码,导致启动程序启动不起来。 window系统如何查看系统默认编码 方式一: 在Windows平台下,winr 打开运行—》输入cmd进入cmd窗口,输入:chcp 可以得到操作系统…

会声会影2023是什么软件,会声会影和pr到底哪个好

图1是pr(premiere)平时大家可能会经常听到有人说会声会影2023,但是很多人都不知道这是什么软件。其实听它的名字就知道这是一款和声音、影像有关系的软件。下面,小编就来给大家具体介绍一下这款软件吧。 会声会影2023是什么软件&…

微信客服对接-唯一客服系统文档中心

微信客服官方网址为:https://kf.weixin.qq.com ,可以在微信内、外各个场景中接入微信客服,提供一致的咨询体验,企业可通过API接口回复消息,做好客户服务。 微信客服或者也可以叫企业微信客服,可通过API接口…

CSS平面转换和渐变

01-平面转换 简介 作用:为元素添加动态效果,一般与过渡配合使用 概念:改变盒子在平面内的形态(位移、旋转、缩放、倾斜) 平面转换也叫 2D 转换,属性是 transform 平移 transform: translate(X轴移动距…

IM即时通讯系统[SpringBoot+Netty]——梳理(三)

文章目录 七、打通业务服务器与IM服务器多端同步1、负载均衡策略—随机模式2、负载均衡策略—轮询模式3、负载均衡策略—一致性Hash4、配置负载均衡策略5、使用Apache—HttpClient封装http请求工具6、用户资料变更、群组模块回调7、数据多端同步8、封装查询用户Session工具类9、…

两分钟速览谷歌2023IO大会:AI军备竞争,全线出击

大家好,我是可夫小子,关注AIGC、读书和自媒体。解锁更多ChatGPT、AI绘画玩法。加:keeepdance,备注:chatgpt,拉你进群。 5月10日周三,谷歌举办了年度开发者大会Google I/O 2023,在会上…

【ARMv8 编程】A64 内存访问其他指令

A64 内存访问其他指令包括浮点和 NEON 标量加载存储指令、访问多个内存位置指令、非特权访问指令、预取内存指令、非临时加载存储对指令、内存屏障和栅栏指令、同步原语等。 一、浮点和 NEON 标量加载存储指令 加载和存储指令也可以访问浮点/NEON 寄存器。这里,大…

k8基础知识

总述 在构成扁平化网络的基础上实现Pod编排(控制、管理)、调度,再构成服务;对服务的管理有所欠缺;可以说k8s重点解决资源的问题 服务管理、应用管理;istio重点解决服务的问题 功能 开源、动态伸缩、负载…

爱奇艺2020校招Java方向笔试题(第一场)

1.计算下列程序的时间复杂度&#xff08;&#xff09; for (i1;i<n;i)for(j1;j<m;j){a1,a2,a3,a4};A.O(n) B.O(mn) C.O(m) D.O(1) 答案:B 2.求递归方程T(n)4T(n/2)n 的解 ( ) A.O(n) B.O(n^2) C.O(n^3) D.O(logn) 答案:B 用Mater公式计算 3.下列关于动态规划算法说法错…

RCWA包:光学模拟的强大工具——用于计算光子 晶体R/T 光谱 的严格耦合波分析

目录 RCWA包&#xff1a;光学模拟的强大工具 RCWA包的功能 如何开始使用RCWA包 RCWA包的特性 RCWA包的应用示例 示例代码 基本的光学概念介绍。 1. 反射率、透射率和散射率 2. 衍射和衍射光栅 3. 光子晶体 4. 布拉格镜 5. 垂直腔面发射激光器&#xff08;VCSEL&…

芒果改进YOLOv8系列:改进特征融合网络 BiFPN 结构,融合更多有效特征

芒果改进YOLOv8系列:改进特征融合网络 BiFPN 结构,融合更多有效特征 在这篇文章中,将 BiFPN 思想加入到 YOLOv8 结构中 该版本为高效简洁版,涨点多、还速度快(实际效果反馈) 本篇博客 不占用 高阶专栏的总篇数计划中 文章目录 一、BiFPN 论文理论二、效果反馈(涨点)…

华为OD机试真题 Java 实现【任务总执行时长】【2023Q1 100分】

一、题目描述 任务编排服务负责对任务进行组合调度。 参与编排的任务有两种类型&#xff0c;其中一种执行时长为taskA&#xff0c;另一种执行时长为taskB。 任务一旦开始执行不能被打断&#xff0c;且任务可连续执行。服务每次可以编排num个任务。请编写一个方法&#xff0c…

Git常用操作:基础命令、生成公钥、webhook同步

这里写目录标题 下载安装GIT基础命令克隆初始化与仓库建立连接下拉代码提交代码清空本地缓存 本地生成GIT公钥webhook&#xff08;本地-码云-服务器代码同步&#xff09; 下载安装GIT 此处只介绍windows系统下的安装&#xff0c;linux一般都是自带git&#xff08;自行百度&…

linux跑python控制台输出日志无内容或者断掉

问题描述 训练时候的输出日志要么没有&#xff0c;要么就是输出了一点点就没有了&#xff08;突然不输出内容了&#xff09;&#xff0c;记得之前也出现过训练中途突然日志不打印了&#xff0c;当时以为服务器原因可能被挤掉了。但这次是还没开始并且试过很多次了。 所用语句…

85. `if __name__ == “__main__“`的作用和原理(适合小白)

85. if __name__ "__main__"的作用和原理&#xff08;适合小白&#xff09; 文章目录 85. if __name__ "__main__"的作用和原理&#xff08;适合小白&#xff09;1. 代码体验2. __name__的作用2.1 模块知识回顾2.2 __name__的作用 3. if __name__ "…

水果手机SJ流程

注册教程 第一步:注册新邮箱。 首先&#xff0c;你需要一个邮箱账号&#xff0c;国内126.QQ.163等都可以&#xff0c;只要你没有用它注册过AppleID。 第二步:注册。 复制链接到浏览器&#xff0c;打开进入appleID注册界面:https://appleid.apple.com/account#&#xff01;&…

采用UWB(超宽频)技术开发的java版智慧工厂定位系统源码

室内定位系统源码&#xff0c;采用UWB定位技术开发的智慧工厂定位系统源码 技术架构&#xff1a;单体服务 硬件&#xff08;UWB定位基站、卡牌&#xff09; 开发语言&#xff1a;java 开发工具&#xff1a;idea 、VS Code 前端框架&#xff1a;vue 后端框架&#xff1a;s…