【路径规划】基于模糊逻辑系统实现车辆的自主导航附matlab代码

简介: 【路径规划】基于模糊逻辑系统实现车辆的自主导航附matlab代码

 1 内容介绍

在过去的30年,用于城市地面交通工具中自动驾驶技术的开发已经得到了飞速的发展.目前,现代自主驾驶车辆已具备一定感知车辆周围环境的能力,比如根椐分类所分析对象的类型并进行检测;观测周身环境的变化并评估对象的移动可能性;在遵循交通法规的基础之上对复杂的交通现状进行车辆路径规划并分析障碍物的移动方向等.在这些复杂的情况下,这种自主导航能力是建立在很多学科(例如:计算机学,电子工程学,机器人技术和控制学等)的基础之上跨越并结合之后研发的.

2 仿真代码

%'LE' = 1, 'LV' = 2, 'VE'=3, 'RV'=4, 'RI'=5

function match=xpos(input,loc,delta)

if (loc==1) | (loc==5)

   

   switch loc

       

       case 1

           %UMF

           p=[0 20 70];  

           if (input<p(1))

               disp('not a valid input');

               match2=0;

           elseif (input>=p(1)) & (input<=p(2))

               match2=1;

           elseif (input>p(2)) & (input<=p(3))

               m=-1.0/(p(3)-p(2));

               c=-m*p(3);

               match2=m*input+c;

           else

               match2=0;

           end

           %LMF

           m=-1.0/(p(3)-p(2));

           p(3)=p(3)-delta;

           c=-m*p(3);

           y_level=m*p(2)+c;

           

           if (input<p(1)) | (input>p(3))

               match1=0;

           elseif ((input>=p(1)) & (input<=p(2)))

               match1=y_level;    

           else

               match1=m*input+c;

           end

       case 5

           %UMF

           p=[130 180 200];

           if (input>p(3))

               disp('not a valid input');

               match2=0;

           elseif (input>=p(2)) & (input<=p(3))

               match2=1;

           elseif (input>p(1)) & (input<p(2))

               m=1.0/(p(2)-p(1));

               c=-m*p(1);

               match2=m*input+c;

           else

               match2=0;

           end

           %LMF

           m=1.0/(p(2)-p(1));

           p(1)=p(1)+delta;

           c=-m*p(1);

           y_level=m*p(2)+c;

           if (input<p(1)) | (input>p(3))

               match1=0;

           elseif ((input>=p(1)) & (input<=p(2)))

               match1=m*input+c;

           else

               match1=y_level;

           end

   end

               

else

   

   switch loc  

   

       case 2

       p=[60 80 100];

       

       case 3

       p=[90 100 110];

       

       case 4

       p=[100 120 140];

   end

   

       %LMF

       if (input<p(1)) | (input>p(3))

           match1=0;

       elseif (input>=p(1)) & (input<p(2))

           m=1.0/(p(2)-p(1));

           c=-m*p(1);

           match1=m*input+c;

       elseif (input>p(2)) & (input<=p(3))

           m=1.0/(p(2)-p(3));;

           c=-m*p(3);;

           match1=m*input+c;

       else

           match1=1;

       end

       %UMF

 

       p(4)=p(3)+delta;

       p(3)=p(2)+delta;

       p(2)=p(2)-delta;

       p(1)=p(1)-delta;

       if (input<=p(1)) | (input>=p(4))

           match2=0;

       elseif (input>p(1)) & (input<p(2))

           m=1.0/(p(2)-p(1));

           c=-m*p(1);

           match2=m*input+c;

       elseif (input>=p(2)) & (input<=p(3))

           match2=1;

       else

           m=1.0/(p(3)-p(4));;

           c=-m*p(4);;

           match2=m*input+c;

       end

end

match(1)=match1;

match(2)=match2;

3 运行结果

image.gif编辑

4 参考文献

[1]秦雅. 基于车辆模型辅助的旋转微惯性自主导航技术[D]. 南京航空航天大学, 2017.

[2]曲龙. 基于MATLAB的自动泊车系统仿真研究[D]. 沈阳理工大学, 2013.

[3]宫照新. 基于模糊逻辑的智能交通控制算法的研究[J]. 科学技术与工程, 2009(18):4.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


相关文章
|
17天前
|
存储 人工智能 机器人
【Matlab】Matlab电话拨号音合成与识别(代码+论文)【独一无二】
【Matlab】Matlab电话拨号音合成与识别(代码+论文)【独一无二】
|
2月前
|
机器学习/深度学习 算法 计算机视觉
霍夫变换车道线识别-车牌字符识别代码(matlab仿真与图像处理系列第5期)
霍夫变换车道线识别-车牌字符识别代码(matlab仿真与图像处理系列第5期)
30 2
|
3月前
|
Perl
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
|
3月前
【数值分析】迭代法求方程的根(附matlab代码)
【数值分析】迭代法求方程的根(附matlab代码)
|
3月前
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
|
3月前
【数值分析】二分法求方程的根(附matlab代码)
【数值分析】二分法求方程的根(附matlab代码)
|
7月前
|
机器学习/深度学习 传感器 算法
基于同步压缩的多变量数据时频分析附 matlab代码
基于同步压缩的多变量数据时频分析附 matlab代码
|
2月前
|
算法
MATLAB | 插值算法 | 一维interpl插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 一维interpl插值法 | 附数据和出图代码 | 直接上手
38 0
|
2月前
|
算法
MATLAB | 插值算法 | 二维interp2插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 二维interp2插值法 | 附数据和出图代码 | 直接上手
71 0
|
2月前
|
算法
MATLAB | 插值算法 | 二维griddata插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 二维griddata插值法 | 附数据和出图代码 | 直接上手
41 0

热门文章

最新文章

相关课程

更多