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

news/2024/10/17 18:19:23/

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

文章目录

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

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

1.算法原理

狮群算法原理请参考:https://blog.csdn.net/u011835903/article/details/113418075

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.


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

相关文章

android oppo 驱动,Android Studio无法连接OPPO

前提: 电脑已安装adb驱动: mac安装adb驱动方法: 1、安装homebrew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 2、安装adb brew install android-platform-tools 3、运行adb adb devices 第一…

a59s刷机包卡刷 oppo_OPPO A59S刷机包

这是OPPO A59S刷机包,下面要说的是咱们的OPPO A59s手机升级更新官方系统包的教程,这个升级教程也是之前的很多机友在找的,在之前的文章里已经给大家说过这个手机的官方的rom包的下载了,可是下载下来之后一直不知道如何操作,所以在这里整理了一下详细的升级教程供大家参考,…

oppo计算机的夜间模式,oppo夜间模式如何打开

手机型号:OPPO R9 1、打开手机,在手机桌面找到设置选项,点击进入。 2、在设置界面中,找到显示与亮度选项,点击进入。 3、在现实与亮度界面中,找到夜间护眼选项,点击进入。 4、在夜间护眼界面中&…

oppo android10的字体修改器,修改OPPO R9字体教程

看惯了OPPO R9自带的那个方方正正的字体,觉得不是那么美观,也没有什么个性,刷机网小编今天给大家带来这篇为OPPO R9修改系统字体的教程,大家尽情动手DIY吧。 首先需要获取OPPO R9的ROOT权限,并且要在手机上装一个文件管…

如何使用v-for指令遍历数组或对象?

向大家介绍一下如何使用v-for指令遍历数组或对象! 首先,让我们通过一个例子来说明一下v-for指令的作用: 假设我们有一群好朋友,我们想在聚会上给每个人都分配一个独特的角色,这时候我们就可以使用v-for指令&#xff…

微波炉使用

光波炉只相当于普通烤箱,光波炉烤面包千万不能用微波档,用微波档面包不容易发起来。要用纯光波档来烤面包。微波可以用于加热、解冻、蒸煮食物;光波主要用于烧烤和杀菌 烧烤架是金属物品,如果在微波功能模式下使用,若碰到炉壁或金…

微波炉属于什么计算机系统,机械微波炉与电脑微波炉有什么区别【详细介绍】...

机械 微波炉是一种功能很不错的微波炉,在生活中是很常见的。它能够给人们提供非常方便和实用的帮助,那么, 机械微波炉主要功能是什么呢?机械微波炉与电脑微波炉的区别有哪些呢?下面小编就来解答一下这两个问题吧&#…

微波炉定时c语言程序,微波炉定时器—微波炉定时器与微波炉原理

微波炉大家都是非常地了解了,但是对于微波炉定时器,大家应该都不怎么清楚吧。今天舒适100网就带大家来深入地了解微波炉,再浅显地讲一下微波炉定时器,微波炉定时器的知识对于我们来说还是有用的。 微波炉定时器—微波炉定时器说明…