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

news/2024/11/22 22:03:02/

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

文章目录

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

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

1.算法原理

共生生物算法原理请参考:https://blog.csdn.net/u011835903/article/details/113134476

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/205968.html

相关文章

GC 调优(工具篇)

进行GC性能调优时, 需要明确了解, 当前的GC行为对系统和用户有多大的影响。有多种监控GC的工具和方法, 本章将逐一介绍常用的工具。 JVM 在程序执行的过程中, 提供了GC行为的原生数据。那么, 我们就可以利用这些原生数据来生成各种报告。原生数据(raw data) 包括: 各个内存池…

包含引用类型字段的自定义结构体,能作为map的key吗

1. 引言 在 Go 语言中,map是一种内置的数据类型,它提供了一种高效的方式来存储和检索数据。map是一种无序的键值对集合,其中每个键与一个值相关联。使用 map 数据结构可以快速地根据键找到对应的值,而无需遍历整个集合。 在 Go …

android 天气动态壁纸,动态桌面壁纸 安卓“墨迹天气”新版评测

随着立秋的到来,天气逐渐转凉,变化强烈的温差让人一下子很难适应,因此身边出现了很多感冒发烧的患者,原因就是并未及时了解天气增添衣物。作为一款专业的免费天气查询软件,墨迹天气人性化设计,使用简单&…

scrapy爬取桌面壁纸

爬取这个页面的动漫壁纸 先创建一个爬虫项目 scrapy stratproject dongmanbizhi scrapy getspider desk desk.zol.com.cn 在命令行写这个指令 会得到这个项目 desk.py 的代码 # codingutf-8 import scrapyfrom scrapy import Requestfrom dongmanbizhi.items import DMBZ…

python爬取ZOL桌面壁纸高清图片<新手入门向>

最近学习了一下python爬虫写了个小demo,根据python网络爬虫(一) 爬取网站图片_sunrise的博客-CSDN博客_python网络爬虫爬取图片这篇文章修改了一下,这个爬取的只是分页的缩略图,这对于lsp这怎么行,那必须要…

一、使用python从ZOL下载一张壁纸

最近感觉桌面壁纸用太久了,有点视觉疲劳,所以在ZOL上新找了一张,这里,我就使用最简单的爬虫来把它抓到我的壁纸目录里吧。 首先在浏览器中审查喜欢的图片,来确定他的链接。 接下来我们使用python来将它下载下来&#x…

python爬虫---桌面壁纸换不停

文章目录 前言一、明确一个大方针二、分析网页1.查看页面结构 三、开始动手吧1.获取网页信息2.获取图片地址3.全部代码 总结 前言 本案例仅用于技术学习 每天与电脑为伴,天天看着默认的桌面屏幕,作为喜新厌旧的我怎么能忍?搜索桌面壁纸&…

upupoo启动不了 mysql_【upupoo动态桌面壁纸和MySQL API 中文手册哪个好用】upupoo动态桌面壁纸和MySQL API 中文手册对比-ZOL下载...

upupoo动态桌面是一款电脑动态桌面软件,又译为啊噗啊噗,可以将视频设为桌面壁纸,软件也收集了动漫、舞蹈、神曲、风景等大量的视频壁纸资源,全视角动态桌面,交互桌面,改变对传统桌面的认知。 软件功能 海量…