路径规划算法:基于吉萨金字塔建造优化的路径规划算法- 附代码

news2024/11/16 11:48:50

路径规划算法:基于吉萨金字塔建造优化的路径规划算法- 附代码

文章目录

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

摘要:本文主要介绍利用智能优化算法吉萨金字塔建造算法来进行路径规划。

1.算法原理

吉萨金字塔建造算法原理请参考:https://blog.csdn.net/u011835903/article/details/120418542

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.coloradmin.cn/o/730784.html

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

相关文章

pytorch—实现各种注意力

1.什么是Attention 所谓Attention机制,便是聚焦于局部信息的机制,比如图像中的某一个图像区域。随着任务的变化,注意力区域往往会发生变化。 面对上面这样的一张图,如果你只是从整体来看,只看到了很多人头&#xff0c…

JAVA ORM Bee 2.1.6 更简单,更易用;一行代码,即可完成一个表的 Sharding 分片配置

在一个工程里,同时使用 Mongodb 和 MySQL, 可以吗? 不但可以,还可以使用一套 Dao 的代码。 Java ORM Bee 不但支持 JDBC 类型的数据库,还支持 Mongodb, 也支持 Android, 鸿蒙. 最新功能介绍: V2.1.6 (2023・父亲节版) 1. 添加…

软件设计模式与体系结构-软件体系-调用-返回风格软件体系结构

目录 软件体系结构概述概述 一、调用-返回风格软件体系结构概念代码主程序-子程序软件体系结构自顶向下的设计方法的问题结构化设计的优缺点面向对象体系结构面向对象设计的优缺点主程序-子程序与面向对象体系结构相似差异 课程作业 软件体系结构概述 调用-返回风格软件体系结…

为什么现在原生家庭的问题这么严重?

匿名用户 191 人赞同了该回答 换一个玄学的角度来看这个问题,之前看b站,有一个up主说,中国有历史记载的人口数一直都很稳定,7-8千万到1亿左右,明朝2亿,清朝到民国算是增长比较多的,有4亿&#x…

内网隧道代理技术(十一)之公网资产扫描-代理池配置

公网资产扫描-代理池配置 代理池介绍 代理池的意思就是拥有多个代理可以随意切换IP的东西,每次用户的请求通过代理池,每个请求包的IP地址是不同的,那么代理池一般有几种用法呢? 购买代理池,购买的东西会自动切换IP,简单又方便(大力推荐)有些工具可以支持文本代理的方…

SpringMVC跨域写入Cookie

前后端分离的项目,SpringMVCTomcat(SpringBoot),前端Vueaxios。 不建议后端去写入Cookie,一般都是在前端写入Cookie,如果后端使用:CrossOrigin(origins "http://localhost", allowCredentials "true…

unity物理系统

物理引擎即描述真实世界中物理现象的算法,如刚体物理,软体物理和流体物理,unity本身支持的主要为刚体物理,我们也可以自己编写一些其它的模拟效果。 unity内置Nvidia开发的Physx引擎(3D)和一个开源引擎Box…

【运维知识进阶篇】Zabbix5.0稳定版详解10(Zabbix自动注册+Ansible自动部署,实现一条命令监控任意主机)

当我们的Zabbix自动注册Ansible自动部署在一起时,会碰出什么样的火花,答案就是可以实现执行ansible的一条命令,监控任意一台或多台主机。 目录 一、配置好自动注册规则 二、编写Ansible playbook 三、运行Ansible,查看监控效果…

从零开始 Spring Boot 64:Hibernate 标识符

从零开始 Spring Boot 64:Hibernate 标识符 图源:简书 (jianshu.com) Hibernate 中的实体,由标识符(Identitifier)确定了其实体实例的唯一性,这对应于表中的主键。 Id 对于单一属性作为标识符的情况&…

Web3与AI:数字时代安全隐私交易的未来

AI+web3=下一个热门赛道? 在数字时代的浪潮中,Web3和人工智能(AI)成为了两个备受关注的前沿技术。Web3代表着下一代互联网,强调去中心化、透明和用户控制的特点。而人工智能作为一种智能化的技…

【LeetCode】503. 下一个更大元素 II

503. 下一个更大元素 II(中等) 方法:单调栈 「 对于找最近一个比当前值大/小」的问题,都可以使用单调栈来解决。栈可以很好的保存原始位置,最近影射栈顶。题目要求更大,因此更大即解–出栈,更小…

【leetcode】15.三数之和(python+转为两数之和+去重)

class Solution(object):def threeSum(self, nums):""":type nums: List[int]:rtype: List[List[int]]"""# 思路:转为两数之和# for循环遍历先固定一个数字a,寻找另外两个数字之和-a(双指针)# 难点…

【高并发内存池】

🎉项目:高并发内存池 博主主页:桑榆非晚ᴷ 博主能力有限,如果有出错的地方希望大家不吝赐教 给自己打气:成功没有快车道,幸福没有高速路。所有的成功,都来自不倦地努力和奔跑,所有…

自动化测试工具——Fitnesse

1 介绍 是一个完全集成的独立wiki和验收测试框架。 1.1、协作工具 由于FitNesse是一个wiki web服务器,它的入门和学习曲线非常低,这使得它成为一个优秀的工具,可以与业务涉众进行协作。 1.2、测试工具 FitNesse中创建的wiki页面作为测试…

地球万物皆可计算!星图地球智脑引擎重磅发布

人类文明的每一次阶跃,都起源于计算。 1800多年前,在清脆的珠算声中,算盘拨出人类最古老的计算程序,带来农耕文明的繁盛;200多年前,在齿轮的转动间,机械计算机勾勒出第一次工业革命的袅袅蒸汽&…

Leetcode:167. 两数之和 II - 输入有序数组(2023.7.8 每日一题C++)

目录 167. 两数之和 II - 输入有序数组 题目描述: 实现代码与解析: 暴力(超时) 双指针 原理思路: 二分 原理思路: 167. 两数之和 II - 输入有序数组 题目描述: 给你一个下标从 1 开始的…

【Python编程系列】2、Python解释器

Python解释器 自带IDLE 当我们使用"Install Now"的默认安装方式时,会自动安装一个纯Python下使用Tkinter编写的相当基本的IDE。 什么是IDE?Integrated Development Environment,集成开发环境。 有多基础呢?可以打开看看它的界面就知道了! 编写代码后,点击回车…

Python——— 分支结构循环结构

(一)语句底层逻辑思维 控制语句:把语句组合成能完成一定功能的小逻辑模块。 分为三类:顺序、选择和循环。 其中: “ 顺序结构 ” 代表 “先执行a,再执行b” 的逻辑。比如,先找个女朋友&…

实验室信息化LIMS如何采集实验室仪器设备数据?

1. 简述 数据采集功能,数据采集工具将以客户端的形式运行在与设备连接的工作站电脑上,主要负责将设备产生的完整的可输出的原始结果提取到LIMS系统,供实验室人员进行报告生成,汇总等操作。 2. 实现方式 仪器数据采集采用LIMS系统…

单摆模型仿真(SMART PLC梯形图实现)

单摆模型详细介绍这里不再赘述,大家可以参看下面文章链接,单摆模型的仿真有助于大家理解分析力学的有关知识,同时模型的实现可以帮助大家更好的理解和运用微分和积分这2个强有力的工具。 单摆模型(博途PLC和Simulink仿真对比)_RXXW_Dor的博客-CSDN博客单摆模型的详细推导公…