• 【路径规划】基于模糊逻辑系统实现车辆的自主导航附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

                    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 (inputp(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

                    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 (inputp(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 (inputp(3))

                match1=0;

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

                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

                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 运行结果

    4 参考文献

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

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

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

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

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

     

  • 相关阅读:
    Go 语句与表达式深度解析
    LeetCode 2530. 执行 K 次操作后的最大分数:优先队列(贪心)
    在WSL中使用code . 启动vscode失败 解决
    用echarts实现柱状图
    rabbitmq-java-client源码结构设计与分析
    VUE build:gulp打包:测试、正式环境
    【Stable Diffusion教程】AI绘画工具SD如何安装使用?三种方法带你轻松上手!(附安装包和云端部署教程)
    爬虫01-爬虫基本原理讲解
    photoshop2024免费插件Portraiture3
    本机电脑清除DNS缓存+浏览器清除DNS缓存
  • 原文地址:https://blog.csdn.net/matlab_dingdang/article/details/126268504