matlab模糊控制AGV小车轨迹

Posted studyer_domi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab模糊控制AGV小车轨迹相关的知识,希望对你有一定的参考价值。

1、内容简介


607-可以交流、咨询、答疑

2、内容说明

(Automated Guided Vehicle,简称AGV),通常也称为AGV小车。指装备有电磁或光学等自动导航装置,能够沿规定的导航路径行驶,具有安全保护以及各种移载功能的运输车。工业应用中不需要驾驶员的搬运车,以可充电的蓄电池为其动力来源。一般可通过电脑来控制其行进路径以及行为,或利用电磁轨道(electromagnetic path-following system)来设立其行进路径,电磁轨道黏贴于地板上,无人搬运车则依靠电磁轨道所带来的讯息进行移动与动作。

利用模糊数学的基本思想和理论的控制方法。在传统的控制领域里,控制系统动态模式的精确与否是影响控制优劣的最主要关键。系统动态的信息越详细,则越能达到精确控制的目的。
然而,对于复杂的系统,由于变量太多,往往难以正确的描述系统的动态,于是工程师便利用各种方法来简化系统动态,以达成控制的目的,但却不尽理想。换言之,传统的控制理论对于明确系统有强而有力的控制能力,但对于过于复杂或难以精确描述的系统,则显得无能为力了。因此便尝试着以模糊数学来处理这些控制问题。

3、仿真分析

clear
clc
close all
a=readfis('fuzzyControl.fis');
VC=500;
T=0.02;
K_target=0.4;%理想轨迹斜率
B1=500;
X=0:1:4000;
Y_target=K_target*X+B1;
figure(1);
plot(X,Y_target,'--','LineWidth',1.5);
axis equal;
axis([0 2100 0 1500]);
hold on;
x0=0;y0=400;angle0=pi/6;
x_end=2000;
x_now=x0;
y_now=y0;
scatter(x_now,y_now,'filled');
angle_now=angle0;
angle_target=atan(K_target);
Y_target=K_target*(x_now)+B1;
i=0;
while x_now<=x_end
    i=i+1;
    Ey=Y_target-y_now;
    Eangle=angle_now-angle_target;
    EL_y(i,1)=Ey;
    EL_angle(i,1)=Eangle;

    k = 40*kk(1);
    VL=VC;
    VR=VC+k*VC;
    if VL~=VR
        w=(VL-VR)/500;
        V=(VL+VR)/2;
        R=V/w;
        %t+1时刻小车的实际姿态
        x_now=x_now+2*R*sin(w*T/2)*cos(angle_now-w*T/2);
        y_now=y_now+2*R*sin(w*T/2)*sin(angle_now-w*T/2);
        angle_now=angle_now-w*T;
        scatter(x_now,y_now,10);
        %t+1时刻小车的理想姿态
        Y_target=K_target*(x_now)+B1;
    end
end
    

4、参考论文

 

以上是关于matlab模糊控制AGV小车轨迹的主要内容,如果未能解决你的问题,请参考以下文章

几个名词

AVG小车上物联网系统啦

matlab小车运动轨迹增量式PID控制

基于LS1046A处理器的视觉导引AGV小车解决方案

小车速度模糊控制系统

基于LS1046A处理器的视觉导引AGV小车应用方案