【路径规划】基于行为的方法和基于进化算法(Matlab实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现

💥1 概述

编队控制和避障是群体机器人在有障碍物的环境中达到预期目标的两个必要功能。基于行为的方法和基于进化算法是两种不同的方法,用于解决问题或优化任务。 在机器人学、无人机控制、人工智能等领域中广泛应用。例如,在无人机路径规划中,基于行为的方法可以使用简单的规则来避开障碍物、保持队形或执行集体行动。基于进化算法的方法是一种启发式优化方法,通过模拟自然进化过程,逐步优化解决方案以解决问题或优化目标函数。常见的进化算法包括遗传算法、粒子群优化、模拟退火等。基于行为的方法适用于处理实时性要求高、环境动态变化的场景,而基于进化算法的方法则适用于解决复杂的优化问题和全局搜索。选择适当的方法取决于具体的问题和应用场景的需求。

📚2 运行结果

主函数部分代码:

clc
clear all
close all
% Defining number of chromosomes,genomes and max number of generations
len=20;                 % The length of the genomes  
popSize=20;             % The size of the population which is number of chromosomes (must be an even number)
maxGens=3000;           % The maximum number of generations allowed in a run
%% Defining obstacles coordinates
Obstacle_1 = [13 13;17 13;17 17;13 17];
Obstacle_2 = [33 38;37 38;37 42;33 42];
Obstacle_3 = [25 20;30 20;30 35;25 35];
% Obstacle_4 = [16 8;18 8;16 10;18 10];
Wall_1     = [0:50;zeros(1,51)]';
Wall_2     = [50*ones(1,50);1:50]';
Wall_3     = [0:49;50*ones(1,50)]'; 
Wall_4     = [zeros(1,49);1:49]';


%% Creating a cell of obstacles & wall
% Obstacles = {Obstacle_1;Obstacle_2;Obstacle_3;Obstacle_4};
Obstacles = {Obstacle_1;Obstacle_2;Obstacle_3};
Wall      = {Wall_1;Wall_2;Wall_3;Wall_4};
%% Creating voronoi points using Voronoi tesselation 
[distances_fin,V_fin,Ind_mins,Ind_ming]=voronoi_tesl(Obstacles,Wall);

%% Generating an optimum path using Dijkstra's algorithm
Graph=distances_fin;
SourceNode=Ind_mins;
TerminalNode=Ind_ming;
%% Calling Dijkstra's algorithm
Route = Dijkstras( Graph, SourceNode, TerminalNode );
X_path=[5; V_fin(Route,1); 40];
Y_path=[3; V_fin(Route,2); 45];
PATH=[X_path Y_path];

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]严林杰,陈海明,屠友鹏,等.基于云边协同和缓存辅助的USV路径规划系统[J/OL].电子学报:1-11[2024-04-21].http://kns.cnki.net/kcms/detail/11.2087.tn.20240415.1904.030.html.

[2]李婕,尚文祥,胡永涛.基于多策略改进海鸥算法求解机器人路径规划[J].组合机床与自动化加工技术,2024(04):19-25+30.DOI:10.13462/j.cnki.mmtamt.2024.04.005.

🌈4 Matlab代码实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值