✅作者简介热爱科研的Matlab仿真开发者擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 往期回顾关注个人主页Matlab科研工作室 关注我领取海量matlab电子书和数学建模资料个人信条格物致知,完整Matlab代码获取及仿真咨询内容私信。 内容介绍一、背景一四旋翼无人机的应用与控制挑战四旋翼无人机凭借其灵活的机动性、垂直起降能力以及相对简单的机械结构在众多领域得到广泛应用如航拍、物流配送、农业监测、搜索救援等。然而四旋翼无人机是一个高度非线性、强耦合且欠驱动的系统其动力学模型复杂并且在实际飞行过程中会受到各种干扰如空气阻力、阵风影响以及传感器噪声等这给精确控制带来了巨大挑战。例如在执行航拍任务时无人机需要保持稳定的姿态以获取清晰的图像而外界干扰可能导致其姿态抖动影响拍摄效果。二不同控制策略和滤波方案的需求为了实现四旋翼无人机的稳定飞行和精确控制研究人员提出了多种控制策略和滤波方案。不同的控制策略在应对系统非线性、抗干扰能力以及控制精度等方面各有优劣。同时由于无人机传感器测量存在噪声需要有效的滤波方案来提高测量数据的准确性进而提升控制性能。因此对比不同控制策略和滤波方案的性能对于选择最适合四旋翼无人机的控制方法提高其飞行稳定性和任务执行能力具有重要意义。二、原理一四旋翼无人机动力学模型五不同滤波方案与控制策略结合滑模控制结合扩展卡尔曼滤波SO - SMC - EKF在这种方案中利用 EKF 对四旋翼无人机的状态进行估计为滑模控制提供准确的状态信息。滑模控制根据 EKF 估计的状态计算控制输入以实现对无人机的稳定控制。例如姿态控制层的滑模控制律根据 EKF 估计的姿态角和角速度来计算控制力矩位置控制层同样依赖 EKF 估计的位置和速度信息生成姿态角参考值。这种结合方式充分发挥了滑模控制的鲁棒性和 EKF 的状态估计能力提高了系统对噪声和模型不确定性的抵抗能力。PID 控制结合扩展卡尔曼滤波PID - EKFPID 控制是一种经典的线性控制方法通过比例P、积分I和微分D环节对误差进行调节。在 PID - EKF 方案中EKF 用于处理传感器噪声提供准确的状态估计值。PID 控制器根据 EKF 估计的状态与期望状态之间的误差计算控制输入。与滑模控制相比PID 控制结构简单易于实现但在处理非线性和强干扰方面相对较弱。通过与 EKF 结合一定程度上提高了其对噪声的鲁棒性但在应对复杂的四旋翼无人机动力学特性方面可能不如滑模控制结合 EKF 的方案。通过在 Simulink 中搭建基于分层滑模控制结合扩展卡尔曼滤波的四旋翼无人机仿真模型对比不同控制策略AHSMC、IHSMC、CHSMC和滤波方案SO - SMC - EKF、PID - EKF的性能可以深入了解各方案在姿态跟踪精度、抗干扰能力、抖振情况以及系统稳定性等方面的优缺点为实际应用中选择合适的控制和滤波方法提供依据。⛳️ 运行结果 部分代码syms x y z phi theta psi xd yd zd phid thetad psid phi theta psi U1 U2 U3 U4cphicos(phi);sphisin(phi);cthetacos(theta);sthetasin(theta);cpsicos(psi);spsisin(psi);syms m g Kdx Kdy Kdz Ixx Iyy Izzfx-Kdx*xd/m;fy-Kdy*yd/m;fz(-Kdz*zd-m*g)/m;bx1/m*(sin(psi)*sin(phi)cos(psi)*sin(theta)*cos(phi))*U1;by1/m*(sin(psi)*sin(theta)*cos(phi)-cos(psi)*sin(phi))*U1;bz1/m*(cos(theta)*cos(phi))*U1;fphi1/Ixx*(psid*thetad*(Iyy-Izz));ftheta1/Iyy*(psid*phid*(Izz-Ixx));fpsi1/Izz*(phid*thetad*(Ixx-Iyy));bphiU2/Ixx;bthetaU3/Iyy;bpsiU4/Izz;f(1)xd;f(2)yd;f(3)zd;f(4)phid;f(5)thetad;f(6)psid;f(7)fx;f(8)fy;f(9)fz;f(10)fphi;f(11)ftheta;f(12)fpsi;b10;b20;b30;b40;b50;b60;b7bx;b8by;b9bz;b10bphi;b11btheta;b12bpsi;for i1:1:12A(i,:)[diff(f(i),x),diff(f(i),y),diff(f(i),z),diff(f(i),phi),diff(f(i),theta),diff(f(i),psi),diff(f(i),xd),diff(f(i),yd),diff(f(i),zd),diff(f(i),phid),diff(f(i),thetad),diff(f(i),psid)];endB(:,:)[diff(b1,U1),diff(b1,U2),diff(b1,U3),diff(b1,U4);diff(b2,U1),diff(b2,U2),diff(b2,U3),diff(b2,U4);diff(b3,U1),diff(b3,U2),diff(b3,U3),diff(b3,U4);diff(b4,U1),diff(b4,U2),diff(b4,U3),diff(b4,U4);diff(b5,U1),diff(b5,U2),diff(b5,U3),diff(b5,U4);diff(b6,U1),diff(b6,U2),diff(b6,U3),diff(b6,U4);diff(b7,U1),diff(b7,U2),diff(b7,U3),diff(b7,U4);diff(b8,U1),diff(b8,U2),diff(b8,U3),diff(b8,U4);diff(b9,U1),diff(b9,U2),diff(b9,U3),diff(b9,U4);diff(b10,U1),diff(b10,U2),diff(b10,U3),diff(b10,U4);diff(b11,U1),diff(b11,U2),diff(b11,U3),diff(b11,U4);diff(b12,U1),diff(b12,U2),diff(b12,U3),diff(b12,U4)]; 参考文献往期回顾扫扫下方二维码