首页 > 编程语言 >栅格地图路径规划:基于螳螂搜索算法(Mantis Search Algorithm,MSA)的机器人路径规划(提供MATLAB代码)

栅格地图路径规划:基于螳螂搜索算法(Mantis Search Algorithm,MSA)的机器人路径规划(提供MATLAB代码)

时间:2024-03-25 10:30:38浏览次数:36  
标签:障碍物 机器人 路径 移动机器人 栅格 搜索算法 规划

    一、机器人路径规划介绍

移动机器人(Mobile robot,MR)的路径规划是 移动机器人研究的重要分支之,是对其进行控制的基础。根据环境信息的已知程度不同,路径规划分为基于环境信息已知的全局路径规划和基于环境信息未知或局部已知的局部路径规划。随着科技的快速发展以及机器人的大量应用,人们对机器人的要求也越来越高,尤其表现在对机器人的智能化方面的要求,而机器人自主路径规划是实现机器人智能化的重要步骤,路径规划是指规划机器人从起点位置出发,无碰撞、安全到达指定目标位置的最优路径。目前,常用的移动机器人全局路径规划方法很多,如栅格法和人工势场法。对于栅格法,当空间增大时,所需存储空间剧增,决策速度下降;而人工势场法容易产生局部最优解问题和死锁现象。随着智能控制技术的发展,出现了如遗传算法算法、粒子群优化算法、麻雀搜索算法、灰狼优化算法、鲸鱼优化算法等。

参考文献:

[1]史恩秀,陈敏敏,李俊,等.基于蚁群算法的移动机器人全局路径规划方法研究[J].农业机械学报, 2014, 45(6):5.DOI:CNKI:SUN:NYJX.0.2014-06-009.

[2]朱庆保,张玉兰.基于栅格法的机器人路径规划蚁群算法[J].机器人, 2005, 27(2):5.DOI:10.3321/j.issn:1002-0446.2005.02.008.

[3]曹新亮,王智文,冯晶,等.基于改进蚁群算法的机器人全局路径规划研究[J].计算机工程与科学, 2020, 42(3):7.DOI:CNKI:SUN:JSJK.0.2020-03-027.

二、栅格地图环境搭建

首先建立移动机器人工作环境,设移动机器人的工作空间为二维空间(记为RS),工作环境中的障碍物即为机床。在机器人运动过程中,障碍物为静止且大小不发生变化。按栅格法划分RS,移动机器人在栅格间行走。无障碍物的栅格为可行栅格,有障碍物的栅格为不可行栅格。栅格集包含所有栅格。栅格标识有:直角坐标法和序号法。本文采用序号标识法。

在移动机器人工作空间下按从左到右,从上到下的顺序,依次标记为序号1,2,3,···,n,每一个序号代表一个栅格。为了避免移动机器人与障碍物发生碰撞,可以将障碍物膨胀,障碍物在占原有栅格的同时,再占多个栅格,按 个栅格算。这种划分方法简单实用,能够满足环境模型与真实情况相符。从而使移动机器人在路径规划时畅通无阻。令S={1,2,3,···,N}为栅格序号集。根据上述对应关系,可知g(0,0)的序号为1,g(1,0)序号为2,直至g(X,Y)的序号为n。规划起始位置、目标位置均为任意且都属于S(但不在同一栅格内)。

在实际工作环境中,移动机器人工作环境是复杂多变的,且为三维空间。为了便于研究,本文对环境进行简化建模。栅格法是一种常用的环境表示方法,因其简单方便(二维环境),环境建模的复杂性小,因而本文环境建模采用栅格法。在栅格地图中,工作环境被划分为很多栅格,其中包括有障碍物和无障碍的栅格,在仿真程序中用0表示此栅格无障碍物,机器人可以通过此栅格,用1表示栅格有障碍物,机器人无法通过,需选择其他栅格。栅格的尺寸大小可根据工作环境中的障碍物尺寸以及安全距离进行设置。为了实现程序仿真,需要对栅格进行标识,如下图所示,以20x20的栅格环境为例来说明。

如上图所示,白色栅格表示无障碍物的栅格,黑色栅格则表示有障碍物的栅格,在地图中对每个栅格编号,不同序号的栅格在坐标系中的坐标可用下式来表示:

x=mod(Ni/N)-0.5

y=N-ceil(Ni/N)+0.5

其中,mod为取余运算,ceil表示向后取整,Ni是对应栅格的标号,N表示每 列的栅格数量,取栅格中心位置作为栅格在坐标系中的坐标。这样机器人全局路径规划的问题就转变成了利用算法在栅格地图上寻找由起始点到目标点的有序的栅格子集,这些栅格子集的中心连线便是算法寻找的路径。

参考文献:

[1]史恩秀,陈敏敏,李俊,等.基于蚁群算法的移动机器人全局路径规划方法研究[J].农业机械学报, 2014, 45(6):5.DOI:CNKI:SUN:NYJX.0.2014-06-009.

[2]曹新亮,王智文,冯晶,等.基于改进蚁群算法的机器人全局路径规划研究[J].计算机工程与科学, 2020, 42(3):7.DOI:CNKI:SUN:JSJK.0.2020-03-027.

三、螳螂搜索算法

螳螂搜索算法(Mantis Search Algorithm,MSA)由Mohamed Abdel-Basset等人于2023年提出,该算法模拟螳螂独特的狩猎和性同类相食行为。MSA由三个优化阶段组成,包括寻找猎物(探索),攻击猎物(剥削)和性同类相食,具有搜索效率高等优势。

参考文献:

[1]Mohamed Abdel-Basset, Reda Mohamed, Mahinda Zidan, Mohammed Jameel, Mohamed Abouhawwash,Mantis Search Algorithm: A novel bio-inspired algorithm for global optimization and engineering design problems,Computer Methods in Applied Mechanics and Engineering,415,2023https://doi.org/10.1016/j.cma.2023.116200.
                        
原文链接:https://blog.csdn.net/weixin_46204734/article/details/133847881

四、螳螂搜索算法求解机器人路径规划

4.1部分代码

%% 
S = [1 1];   %起点
E = [20 20];  %终点
[ub,dimensions] = size(G);        
dim = dimensions - 2;             
%% 参数设置
Max_iter= 100;    % 最大迭代次数
SearchAgents_no = 50;         % 种群数量
X_min = 1;  
lb=1;
fobj=@(x)fitness(x);
[Best_score,Best_NC,Convergence_curve]=MSA(SearchAgents_no,Max_iter,lb,ub,dim,fobj);

toc
%% 结果分析
global_best = round(Best_NC);
figure(1)
plot(Convergence_curve,'r-','linewidth',2.5)
xlabel('Iteration');
ylabel('Fitness');
legend('MSA')

4.2部分结果

五、完整MATLAB代码

见下方名片

标签:障碍物,机器人,路径,移动机器人,栅格,搜索算法,规划
From: https://blog.csdn.net/weixin_46204734/article/details/136988111

相关文章

  • 图论—欧拉回路/路径
    前置知识:欧拉图(两个要点:1.是连通图才有欧拉回路2.是否满足出度和入度的要求)模板题:P7771【模板】欧拉路径-洛谷|计算机科学教育新生态(luogu.com.cn)欧拉回路1.•对于无向图,欧拉回路就是在图的所有结点的度都是偶数,并且图是连通的情况下,从任意一个节点开始dfs都可......
  • 01.绝对路径和相对路径(Linux基本概念)
    基础认知:        电脑的目录结构是一颗多叉树。不管是Linux还是windows,目录结构都是一样的。所以我们在查找某个目录或者文件的时候,本质就是在多叉树结点的查找。多叉树示例图如下:                ​​​​​​​        ​​​​​​​  ......
  • web前端之node读取文件夹名称及html文件的标题、文件系统、路径处理、模块、正则、isD
    MENU代码解析代码constfs=require('fs');constpath=require('path');//文件夹路径//C:\mssj\web\web-case\case\nodeJs\index.js//C:\mssj\web\web-case\case\nodeJs\index.html//C:\mssj\web\web-case\case\ajaxProgressMoni......
  • leedcode-二叉树的所有路径
    迭代法-深度优先搜索classSolution:defbinaryTreePaths(self,root:Optional[TreeNode])->List[str]:ifnotroot:return[]#如果根节点为空,直接返回空列表stack=[(root,str(root.val))]#初始化栈,栈中存储的是节点......
  • 【python】写一个从指定路径读取xlsx的函数
    定义了一个名为read_xlsx的函数,从指定的路径(如果提供了路径)读取一个Excel文件并将其内容转换为pandas的DataFrame对象。#-*-coding:utf-8-*-#@Author:author_name#@Time:2024/3/2018:00importpandasaspddefread_xlsx(file_name,pat......
  • 代码随想录算法训练营第十八天| 513. 找树左下角的值 112. 路径总和 113. 路径总和
    513.找树左下角的值https://leetcode.cn/problems/find-bottom-left-tree-value/description/publicintfindBottomLeftValue(TreeNoderoot){intval=0;Deque<TreeNode>deque=newArrayDeque<>();deque.offer(root);whi......
  • 【数据分享】2008-2022年全国范围逐日NO2栅格数据
    空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000-2022年全国范围逐日的PM2.5栅格数据、2013-2022年全国范围逐日SO2栅格数据、2000-2022年全国范围逐日PM10栅格数据、2013-2022年全国范围逐日CO栅格数据和2000-2022年全国1km分辨率的逐日O3栅格数据(可查......
  • 【VRP问题】基于粒子群算法求解带时间窗的路径最短多车辆多任务车辆路径规划CTWVRP问
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • 机器人路径规划:基于霸王龙优化算法(Tyrannosaurus optimization,TROA)的机器人路径规划(提
     一、机器人路径规划介绍移动机器人(Mobilerobot,MR)的路径规划是移动机器人研究的重要分支之,是对其进行控制的基础。根据环境信息的已知程度不同,路径规划分为基于环境信息已知的全局路径规划和基于环境信息未知或局部已知的局部路径规划。随着科技的快速发展以及机器人的大量......
  • 解读国内首家AI Agent公测背后的商业落地路径
    随着大语言模型技术的日益成熟,国内科技巨头纷纷加快在AI Agent领域的布局和应用落地。凭借自身强大的技术积累和丰富的应用场景,推动AI Agent技术在各行各业的深度融合与创新应用。在AI Agent的落地应用上,目前科技巨头正借助已有AI技术平台集体发力,众多创业公司也在拼命......