• 基于PID控制的四旋翼飞行器仿真(Matlab代码实现)


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

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

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

    目录

    💥1 概述

    📚2 运行结果

    🎉3 参考文献

    🌈4 Matlab代码实现

    💥1 概述

    近几年,随着科技发展,各种传感器技术和通信技术不断突破,无人机技术也发展迅速,在军事侦察、交通巡逻、景色航拍、高空电缆巡检等诸多应用领域已经发挥了重要的作用。四旋翼无人机以其具有的操作灵活、地形上限制小、携带时方便以及成本低廉等特点,更加紧密贴近了我们的日常生活,因此,对无人机进行研究具有很大的学术价值和意义。

    传统的PID由比例、积分、微分三部分组成,通过调节Kp、Ki、Kd的数值可以实现不同的控制效果如图所示。PID控制算法的核心是用偏差来消除偏差,该算法可以对控制系统进行有效的估计:

    📚2 运行结果

      

     

     

    部分代码:

    I = [Ixx 0 0;0 Iyy 0;0 0 Izz];
    Jtp = 104e-6;
    Ke = 6.3e-3;
    Km = 6.3e-3;
    L = 15e-6;
    b = 54.2e-6;
    l = 0.24;
    g = 9.81;
    n = 0.9;
    N = 5.6;
    h = 1e-3;
    R = 0.6;
    d = 1.1e-6; % drag factor
    % Motor Controller Design

    Kp_position = 5;
    Ki_position = 0;
    Kd_position = 10;

    Kp_angle = 5*2;
    Ki_angle = 0;
    Kd_angle = 10*2;

    Kp_motor = 1;
    Ki_motor = 10;
    Kd_motor = 0;

    %w'=Apw+Bpv+Cp
    Ap = -22.5;
    Bp = 509;
    Cp = 489;
    a1 = Ap;
    b1 = Bp;
    c1 = 1;
    d1 = 0;
    sys_c_m = ss(a1,b1,c1,d1);
    Gc_m = tf(sys_c_m);
    sys_d_m = c2d(sys_c_m,h,'zoh');
    Gd_m = tf(sys_d_m);

    Cc_m = tf([Kp_motor Ki_motor],[1 0]);
    sys_c_mctrl = ss(Cc_m);
    sys_d_mctrl = c2d(sys_c_mctrl,h,'tustin');
    Cd_m = tf(sys_d_mctrl);

    LGd_m = Gd_m*Cd_m;
    Td_m = feedback(LGd_m,1);

    figure(1)
    margin(LGd_m)
    hold on
    grid on
    figure(2)
    step(Td_m)
    hold on
    grid on

    num = [1];
    den = [1 0 0];
    Gc_p = tf(num,den);
    sys_c_p = ss(Gc_p);
    sys_d_p = c2d(sys_c_p,h,'zoh');
    Gd_p = tf(sys_d_p);

    🎉3 参考文献

    部分理论来源于网络,如有侵权请联系删除。

    [1]耿增显,孟庆茂,赵嶷飞,韩红蓉. 基于Simulink四旋翼无人机PID控制[C]//.第九届中国指挥控制大会论文集.,2021:540-545.DOI:10.26914/c.cnkihy.2021.011229.

    [2]汪震东,张艳.四旋翼无人机预测-PID复合控制研究[J].控制工程,2021,28(07):1390-1397.DOI:10.14107/j.cnki.kzgc.20190156.

    [3]李国洪,卫鹏飞,高冉.基于四旋翼无人机的粒子群PID控制研究[J].工业控制计算机,2022,35(02):102-104.

    🌈4 Matlab代码实现

  • 相关阅读:
    mycat2
    不花钱几分钟让你的站点也支持https
    windows下好用的perl打包工具--Cava Packager
    DDD进阶_领域设计的分层架构
    电工三级证(高级)实战项目:PLC控制步进电机正反转
    软件开发和软件测试,到底学哪个好呢?
    【C++】常用算术生成算法
    【图解源码】Zookeeper3.7源码分析,包含服务启动流程源码、网络通信源码、RequestProcessor处理请求源码
    香橙派OriengePi AiPro 华为昇腾芯片开发板开箱测评
    143. 最大异或对(01字典树)
  • 原文地址:https://blog.csdn.net/weixin_46039719/article/details/127825852