✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。
🍎 往期回顾关注个人主页:Matlab科研工作室
👇 关注我领取海量matlab电子书和数学建模资料
🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。
🔥 内容介绍
一、引言:三维定点跟踪 —— 无人机稳定作业的核心需求
四旋翼无人机在航拍测绘、物资投送、定点监测等场景中,三维定点位置跟踪是基础且关键的功能 —— 要求无人机在三维空间(x,y,z 轴)中精准稳定在目标位置,抵御风扰动、设备噪声等外部干扰。传统 PID 控制虽实现简单,但在多轴耦合、非线性系统中难以兼顾跟踪精度与稳定性;而复杂非线性控制算法(如滑模控制、自适应控制)则存在计算量大、工程部署难等问题。
本文提出6 维简化线性模型 + LQR 最优控制器的技术方案:通过合理简化无人机动力学模型,提取核心状态变量构建 6 维线性系统,再利用 LQR 控制器的最优性准则,设计状态反馈控制律,实现无人机三维定点位置的高精度、高稳定跟踪,平衡控制性能与工程实用性。
二、核心基础:6 维简化线性模型的建模逻辑
四旋翼无人机的动力学模型本质为强耦合、非线性系统,直接用于控制器设计会导致计算复杂度剧增。6 维简化线性模型通过 “合理假设 + 线性化处理”,保留核心动态特性,同时降低控制器设计难度。
- 建模假设与简化依据
为构建简化模型,需满足以下工程合理假设:
小角度假设:无人机姿态角(滚转角 φ、俯仰角 θ、偏航角 ψ)均处于小角度范围(≤10°),可近似 sinθ≈θ、cosθ≈1,消除三角函数非线性项;
低速飞行假设:定点跟踪场景下无人机飞行速度低,忽略空气阻力、科氏力等次要非线性因素;
刚性机身假设:机身刚度足够,忽略结构形变对动力学特性的影响;
推力与转速平方成正比:电机推力 Tᵢ=kΩᵢ²(k 为推力系数,Ωᵢ为电机转速),简化推力控制逻辑。
Image
Image
⛳️ 运行结果
Image
Image
Image
📣 部分代码
% Parâmetros
D = 0.108;
m = 0.035;
g = 9.81;
J = diag([8.06e-6, 9.71e-6, 1.41e-6]);
A = [zeros(3), eye(3); zeros(3), -D/m * eye(3)];
B = [zeros(3); eye(3)];
Q = diag([10, 10, 10, 1, 1, 1]);
R = eye(3) * 0.1;
K = lqr(A, B, Q, R);
% Condição inicial: posição + velocidade + ângulos + omega
x0 = [0.5; -0.5; 0.3; 0; 0; 0; 0; 0; 0; 0; 0; 0];
tspan = [0 10];
% Gráficos
figure;
subplot(3,1,1); plot(t, x(:,1), 'r', t, x(:,2), 'g', t, x(:,3), 'b');
ylabel('Position (m)'); legend('x','y','z'); title('Nonlinear Model LQR Response'); grid on;
subplot(3,1,2); plot(t, x(:,4), 'r--', t, x(:,5), 'g--', t, x(:,6), 'b--');
ylabel('Velocity (m/s)'); legend('v_x','v_y','v_z'); grid on;
subplot(3,1,3); plot(t, u(:,1), 'r', t, u(:,2), 'g', t, u(:,3), 'b');
xlabel('Tempo (s)'); ylabel('Control Inputs'); legend('T','phi','theta'); grid on;
🔗 参考文献
🎈 部分理论引用网络文献,若有侵权联系博主删除
🏆团队擅长辅导定制多种科研领域MATLAB仿真,助力科研梦: