【路径规划】基于人工势场法、蝙蝠优化算法、人工鱼群算法、果蝇优化算法的路径规划(Matlab代码实现)

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

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

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

目录

💥1 概述

📚2 运行结果

📃2.1 算例1

📃2.2 算例2

🎉3 参考文献

👨‍💻4 Matlab代码实现

💥1 概述

     近年来,智能机器人逐渐应用于医疗服务﹑航空等众多领域。路径规划作为机器人实现智能自主规划的关键技术,受到众多学者的广泛关注。其具体含义是指移动机器人在存在障碍物的真实空间环境中,自主规划出一条无碰撞的有效路径3。路径规划根据可支配的外界环境有效信息的程度可以分为静态路径规划和动态路径规划。实际案例中根据算法的表现来看,动态路径规划算法实时性较差﹑实现较为复杂,在现有的技术条件下难以保证搜索结果有较高的精度。

📚2 运行结果

📃2.1 算例1

     基于人工势场法的机器人路径规划:随机生成12-15个障碍物,每个障碍物随机占据6-23个栅格,利用该人工势场法编程实现机器人从左下到右上的路径规划。同时在代码中已实现动态展示的效果。

📃2.2 算例2

     基于果蝇优化算法的路径规划:根据提供的地图,实现单机器人的全局路径规划。以及拓展部份的双机器人路径规划,两个机器人分别从左下到右上,和从右下到左上。

部分代码:

function path = DijkstraPlan(position,sign)
%% 基于Dijkstra算法的路径规划算法
%position    input     %节点位置
%sign        input     %节点间是否可达
 
%path        output    %规划路径
 
%% 计算路径距离
cost = ones(size(sign))*10000;
[n,m] = size(sign);
for i = 1:n
    for j = 1:m
        if sign(i,j) == 1
            cost(i,j) = sqrt(sum((position(i,:)-position(j,:)).^2));
        end
    end
end
 
%% 路径开始点
dist = cost(1,:);             %节点间路径长度           
s = zeros(size(dist));        %节点经过标志
s(1) = 1;dist(1) = 0;
path = zeros(size(dist));     %依次经过的节点
path(1,:) = 1;
 
%% 循环寻找路径点
for num = 2:n   
    
    % 选择路径长度最小点
    mindist = 10000;
    for i = 1:length(dist)
        if s(i) == 0
            if dist(i)< mindist
                mindist = dist(i);
                u = i;
            end
        end
    end
    
    % 更新点点间路径
    s(u) = 1;
    for w = 1:length(dist)
        if s(w) == 0
            if dist(u)+cost(u,w) < dist(w)
                dist(w) = dist(u)+cost(u,w);
                path(w) = u;
            end
        end
    end
end

 

🎉3 参考文献

[1]鲍久圣,张牧野,葛世荣,刘琴,袁晓明,王茂森,阴妍,赵亮.基于改进A*和人工势场算法的无轨胶轮车井下无人驾驶路径规划[J].煤炭学报,2022,47(3):1347-1360

[2]温淑慧,问泽藤,刘鑫,温淑焕.基于ROS的移动机器人自主建图与路径规划[J].沈阳工业大学学报,2022,44(1):90-94

👨‍💻4 Matlab代码实现

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值