✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
旋翼类无人机相对于固定翼无人机具有能够垂直起降,空中悬停等优点,而四旋翼无人机作为其中一个典型的代表,不仅结构简单还具有良好的带载能力,也易于操控,在军事领域,民用领域,都有着广泛的应用,常见的包括航天拍摄,灾害救援,物资运输等.飞行控制系统是四旋翼飞行器的关键,其中,如何控制飞行器的姿态,是整个飞行控制的核心问题.要保证四旋翼无人机在各种飞行环境下都具有良好的飞行状态,飞行控制算法极为重要.本文借助Matlab仿真平台上,使用了PID控制系统对四旋翼无人机进行了仿真.
⛄ 部分代码
%Copyright (c) 2023, Júnio Santos Bulhões
%All rights reserved.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%% Draw the environment to plot the quadcopter %%%%%%%%%%%%%%%%
function QuadcopterEnvironment()
figure('Renderer', 'painters', 'Position', [10 10 900 700])
axis equal
axis([-0.5 0.5 -0.5 0.5 -0.5 0.5]);
set(gcf,'color','w');
camlight
view(135,25)
grid on
hold on
xlabel('x')
ax = gca;
ax.ZGrid = 'on';
ax.XGrid = 'on';
ax.YGrid = 'on';
grid minor
ax.Clipping = 'off';
%% x
p1 = [0 0 0];
p2 = [0.5 0 0];
dp = p2-p1;
quiver3(p1(1),p1(2), p1(3),dp(1),dp(2),dp(3),'color','k')
text(p1(1)+dp(1)+0.05,p1(2)+dp(2),p1(3)+dp(3), sprintf('X_i'))
%% y
p1 = [0 0 0];
p2 = [0 0.5 0];
dp = p2-p1;
quiver3(p1(1),p1(2), p1(3),dp(1),dp(2),dp(3),'color','k')
text(p1(1)+dp(1),p1(2)+dp(2)+0.05,p1(3)+dp(3), sprintf('Y_i'))
%% z
p1 = [0 0 0];
p2 = [0 0 0.5];
dp = p2-p1;
quiver3(p1(1),p1(2), p1(3),dp(1),dp(2),dp(3),'color','k')
text(p1(1)+dp(1),p1(2)+dp(2),p1(3)+dp(3)+0.05, sprintf('Z_i'))
end
⛄ 运行结果
⛄ 参考文献
[1]周勇君, 李鹤. 基于MATLAB的飞行器仿真平台非线性PID控制策略研究[J]. 电子测试, 2016(5):2.
[2]黄伟. 四轴飞行器的动态特性及MATLAB仿真[J]. 福建质量管理, 2018, 000(019):298.