首页 > 其他分享 >基于模糊神经网络的移动机器人路径规划matlab仿真

基于模糊神经网络的移动机器人路径规划matlab仿真

时间:2024-10-10 14:11:40浏览次数:5  
标签:dl 模糊 机器人 移动机器人 神经网络 matlab time Jd dr

1.程序功能描述
基于模糊神经网络的移动机器人路径规划

1.环境地图中的障碍物为静态、未知障碍物,可以随机设置。(一般设置5~7个,为计算简便设置成规则性状的障碍物)

2.机器人的行进方向为X轴的正方向,X轴逆时针旋转90°即为Y轴。两驱动轮之间的距离为50cm,驱动轮的直径为30cm。机器人的最大运动速度设为0.8m/s

3.为简化计算,在机器人的正前方及沿顺、逆时针各偏转45°的方位布置传感器。

机器人模型如图所示

 

4.控制系统的输入为机器人正前方障碍物的距离df、左前方障碍物的距离dl、右前方障碍物的距离dr、机器人运动方向与目标方向之间的夹角(航向角)α,输出为机器人左、右轮的速度vl、vr(或者为机器人的速度v和转向角增量Δθ,其中转向角θ为世界坐标系与机器人坐标系X轴之间的夹角)。

2.测试软件版本以及运行结果展示
MATLAB2022a版本运行

 


3.核心程序

       for kk = 1:N
       for m=1:Ns
           xs(:,m) = [x(1,time-1) + Sense_radius*cos(Jd(m,1)); 
                      x(2,time-1) + Sense_radius*sin(Jd(m,1))];
           G1(m,1) = func_obstacle(xs(:,m),xobstacle,yobstacle);
           G2(m,1) = func_goal(xs(:,m),Pend); 
           G3(m,1) = G1(m,1) + G2(m,1);
       end
       [val,bestone]=min(G3);
       %如果某个方向有多个障碍物,那么选择最近的那个
       %如果某个方向的距离集合为空集合,那么说明这个方向的障碍物为无穷远,直接赋值一个较大值
       dr_in = min(dr);
       if isempty(dr) == 1
          dr_in = 1e20; 
       end
       d_in  = min(d);
       if isempty(d) == 1
          d_in  = 1e20; 
       end
       dl_in = min(dl);
       if isempty(dl) == 1
          dl_in = 1e20; 
       end
 
       %代入到模糊神经网络的四个变量
       %调用模糊神经网络的模型
       [v_fnn,Theta_fnn]=func_fnn_test(dr_in,d_in,dl_in,alpha);
       DELTA_Theta = Theta_fnn;
       V           = v_fnn;
       x(:,time) =[x(1,time-1)+lambda*cos(Jd(bestone,1)); 
                   x(2,time-1)+lambda*sin(Jd(bestone,1))];
	   Deltalambda = V;
	   Deltatheta  = DELTA_Theta;
	   x(:,time)   =[x(1,time)+Deltalambda*cos(Jd(bestone,1)+Deltatheta); 
	                 x(2,time)+Deltalambda*sin(Jd(bestone,1)+Deltatheta)];   
 
       %更新坐标
       Xs(time)    = x(1,time);
       Ys(time)    = x(2,time);   
       Tes         = [Tes,Jd(bestone,1)+Deltatheta];
       Vs          = [Vs,Deltalambda];       
    end
 
    %画图
    plot(x(1,time),x(2,time),'r.')
    hold on
    drawnow;   
    if sqrt((Xs(time)-X_end)^2+(Ys(time)-Y_end)^2)<0.2
       break;
    end
end
 
 
figure;
subplot(211);
plot(Tes);
grid on
xlabel('times');
ylabel('theta')
 
subplot(212);
plot(Vs);
grid on
xlabel('times');
ylabel('speed')
 
06_017m

  

4.本算法原理
4.1 移动机器人路径规划问题概述
在移动机器人领域,路径规划是一个核心任务,目标是在未知或已知环境中为机器人寻找一条从起始点到目标点的安全、有效且满足特定约束条件(如避障、最短距离等)的路径。数学上,通常将环境表示为一个离散或者连续的空间,并通过图论中的搜索算法来解决。

4.2 模糊系统与模糊逻辑
控制系统的输出为机器人左、右轮的速度vl、vr(或者为机器人的速度v和转向角增量Δθ,其中转向角θ为世界坐标系与机器人坐标系X轴之间的夹角)。

df、dl、dr的模糊集合为{Nr,Ml,Fr} Nr-近 Ml-中 Fr-远

α的模糊集合为{NB,NS,Z,PS,PB} NB-负大 NS-负小 Z-零 PS-正小 PB-正大

(当目标点位于机器人的右侧时航向角为α正,反之为负)

vl、vr、v的模糊集合为{Sw,Md,Ft} Sw-慢速 Md-中速 Ft-快速

Δθ的模糊集合为{ NS,Z,PS } NS-负小 Z-零 PS-正小

整个模糊神经网络的基本结构如下图所示:

 

由于左右两个传感器正好在45度方向,所以在实际工作的时候,

 

标签:dl,模糊,机器人,移动机器人,神经网络,matlab,time,Jd,dr
From: https://www.cnblogs.com/softcodes/p/18456218

相关文章

  • 基于MSER和HOG特征提取的SVM交通标志检测和识别算法matlab仿真
    1.算法运行效果图预览(完整程序运行后无水印)   2.算法运行软件版本matlab2017b 3.部分核心程序(完整版代码包含中文注释和操作步骤视频)function[Ic,Xmin3,Xmax3,Ymin3,Ymax3]=func_merge(I,Trafficxy,Smj,SCALE);%提取交通标志的中心点,判断是否为同一......
  • 机器学习之神经网络Neural Network
    第一部分:基本含义神经网络(NeuralNetwork)是一种模仿人脑神经元连接方式的机器学习模型,用于处理复杂的非线性问题。通过大量的参数和层级结构,神经网络可以学习数据中的特征,应用于分类、回归等任务。机器学习和人类实现人生巅峰的例子对比:如果把人比作神经网络,一次次摔倒就是......
  • 【MATLAB代码】基于RSSI的蓝牙定位程序,N个锚点、二维平面(源代码,可直接复制)
    文章目录介绍主要功能技术细节适用场景:源代码运行结果结语介绍这款基于接收信号强度指示(RSSIRSSIRSSI)原理的蓝牙定位程序专为二维平面定位设计,通过N个蓝牙锚点实现对未知位置的精准定位。程序利用信号强度衰减模型,模拟测量误差&#x......
  • Wi-Fi定位的MATLAB代码,二维环境、N个节点(附程序,可复制粘贴到MATLAB上直接运行)
    文章目录程序信息WIFI定位源代码代码运行运行方法运行结果程序信息程序结构:运行界面截图:WIFI定位Wi-Fi定位简介Wi-Fi定位是一种利用无线局域网(WLAN)信号来确定设备或用户位置的技术。它广泛应用于室内定位、资产追踪、用户行为分析等领域,具有高精度......
  • 深度学习:循环神经网络RNN
    目录一、神经网络的历程1.传统神经网络存在的问题2.提出一种新的神经网络二、RNN基本结构1.RNN基本结构2.RNN的独特结构3.RNN的局限性一、神经网络的历程1.传统神经网络存在的问题无法训练出具有顺序的数据。模型搭建时没有考虑数据上下之间的关系。因为传统神经网......
  • 基于禁忌搜索算法的VRP问题求解matlab仿真,带GUI界面,可设置参数
    1.程序功能描述基于禁忌搜索算法的VRP问题求解matlab仿真,带GUI界面,可设置参数。2.测试软件版本以及运行结果展示MATLAB2022a版本运行 3.核心程序whileCOUNT<=ItertionsֲL=zeros(Ant_Num,1);fori=1:Ant_NumInfor_Tabu_tmps=......
  • 无人机集群路径规划:5种优化算法(APO、GOOSE、CO、PSO、PIO)求解无人机集群路径规划,提供M
     一、单个无人机路径规划模型介绍无人机三维路径规划是指在三维空间中为无人机规划一条合理的飞行路径,使其能够安全、高效地完成任务。路径规划是无人机自主飞行的关键技术之一,它可以通过算法和模型来确定无人机的航迹,以避开障碍物、优化飞行时间和节省能量消耗。二、无人......
  • 霍普菲尔德(Hopfield)神经网络求解旅行商问题TSP,提供完整MATLAB代码,复制粘贴即可运行
    Hopfield神经网络是以美国物理学家约翰·霍普菲尔德(JohnHopfield)的名字命名的。他在1982年提出了这种类型的神经网络模型,因此通常被称为Hopfield网络。旅行商问题(TravelingSalesmanProblem,TSP)是一个经典的组合优化问题,即在给定一组城市及城市之间的距离,找到一条遍历所有......
  • CNN Explainer: 交互式可视化学习卷积神经网络
    cnn-explainerCNNExplainer简介卷积神经网络(ConvolutionalNeuralNetworks,CNNs)是深度学习领域最重要的模型之一,在计算机视觉等领域取得了巨大成功。然而,由于CNN的复杂结构和抽象概念,对于初学者和非专业人士来说,理解CNN的工作原理往往存在较大困难。为了解决这个问题,......
  • 【MATLAB源码-第239期】基于matlab的孔雀优化算法(POA)机器人栅格路径规划,输出做短路
    操作环境:MATLAB2022a1、算法描述孔雀优化算法(PeafowlOptimizationAlgorithm,简称POA)以孔雀(peafowl)的求偶展示行为为灵感,通过模拟这一过程来解决复杂的优化问题。以下是对孔雀优化算法的详细描述:孔雀优化算法是一种基于自然界中孔雀求偶展示行为的群体智能优化算法。孔雀......