💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥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.