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

news/2024/11/17 12:48:19/

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

文章目录

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

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

1.算法原理

JAYA算法原理请参考:https://blog.csdn.net/u011835903/article/details/115572600

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)是路径中间点的坐标

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

%% JAYA算法参数设置
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.


http://www.ppmy.cn/news/230431.html

相关文章

微信开发框架WxJava之微信公众号开发的入门使用篇

微信开发框架WxJava之微信公众号开发的入门使用篇 WxJava介绍微信公众号申请测试公众号测试公众号配置 WxJava微信公众号开发添加依赖配置微信参数实例化WxMpService对接微信公众号回调接收与回复消息 微信消息路由器WxMpMessageHandlerWxMessageInterceptor自定义Handle自定义…

理解 Java 关键字 final

原文链接 理解 Java 关键字 final final可以用来干什么 final是Java中非常常见的一个关键字,可以说每天都在使用它,虽然常见,但却也不见得都那么显而易见,今天就来研究一下final,以加深对它的理解和更合理的运用。 修…

4500m a8 amd_amd a8 4500m等同什么intel

首先,大部分情况下,搭配有I5处理器的笔记本是搭载独立显卡的,所谓双显卡,就是平时使用的时候用集显节约电量,玩游戏切换到独立显卡,提升游戏质量,而且I5也有集成显卡,所以游戏方面&a…

火影众颜 U4参数配置 火影众颜 U4评测

配置方面,众颜 U4 笔记本搭载 R7 6800H 的马甲处理器 R7 7735H,8 核 16 线程,加速频率 4.75GHz,核显为 Radeon 680M。内存标配 16GB LPDDR5-6400,SSD 标配 512GB,双 M.2 插槽。 屏幕方面,这款笔…

PHP的apcu是什么,opcache又是什么?

1,APCu APCu is APC stripped of opcode caching. 这是apcu的官方文档解释,简单的说APCU是从APC剥离出来的用户数据缓存功能,而去掉了apc的opcode cache。 所以后来:APCu = APC User APC的主要用途有两项: 将PHP代…

【解决电脑】开机屏幕左键无反应,右键变加载;选择文件夹未响应,卡顿40秒后恢复;新建文件夹正常,删除移动卡顿

买了三年不到的win10 ASUS (型号)A540U 电脑,基本每三、四、五个月来一次特殊情况,我依然不会放弃他! 从来都是靠自己摸索(有时问盆友、网友也会有启发)个几天也不到店里去修电脑(没钱也是有好处的&#xf…

旧改周报--深圳7大项目获进展:中海、星河等主导

2023年第22周,深圳市共发布拆除重建类权利人核实公示1项,规划公告1项,规划修改(草案)公示2项,规划(修改)公告1项,实施主体公示1项,建设用地批复1项&#xff0…

Spring Bean、XML方式Bean配置、Bean实例化配置、Bean注入

文章目录 Bean管理一、SpringBoot Bean 初了解1.1 了解1.2 Bean的作用域1.2.1 注意事项 1.3 第三方Bean 二、 基于XML方式Bean的配置2.1 SpringBean配置概览2.2 bean id class 配置2.3 bean name 别名配置2.4 bean scope 作用范围2.5 bean 延迟加载2.6 bean 初始化与销毁方法配…