基于飞机起落架的MATLAB设计与仿真分析

您所在的位置:网站首页 运动系统结构简图 基于飞机起落架的MATLAB设计与仿真分析

基于飞机起落架的MATLAB设计与仿真分析

2024-07-16 13:57| 来源: 网络整理| 查看: 265

摘要:本文首先对起落架进行了概述,总结了起落架的国内外研究背景,针对飞机起落架的收放机构进行了功能原理和收放运动分析,阐述了起落架工作原理。以虚拟样机技术的相关理论和功能虚拟样机的实现过程为基础,并绘制出飞机起落架机构的运动简图,并对其自由度进行了分析,又利用解析方法,建立飞机起落架运动学方程,最后运用MATLAB软件对该飞机的起落架进行了运动学仿真分析。

关键词:飞机起落架,平面四杆机构,仿真,MATLAB

1.引言

飞机起落架是飞机着陆时的一个关键部件,主要用于飞机的起飞、着陆、地面滑跑和地面停放,起飞之后收入起落架窗中,见图1。

图1 飞机起落架模型图

(图片来源:www.mfcad.com/jixiejichu/yuanli/show_2537.html)

2.飞机起落架机构简图及其自由度分析

该飞机起落架可以看作是由两个平面铰链四杆机构组成,分别是ABCD和DCEF,如图 2所示。其中,E点是末端执行器,与轮胎相连接。

图2 飞机起落架机构简图

该飞机起落架机构的自由度为

该飞机起落架机构的自由度数等于原动机数,均为1,故有固定唯一确定的运动。

各杆件尺寸如下:

AB=40,BC=90,CD=80,AD=120,CE=100,EF=300,DF=301,无偏置。

3. 运动模型的建立

利用解析方法,建立飞机起落架运动学方程。

平面四杆机构,如图 2所示。

图 3 平面四杆机构

4. 基于 MATLAB的联合起落架机构运动仿真分析

代码语言:javascript复制%该飞机起落架机构可视为由两个平行四杆机构组成 clc clear all %输入已知数据 L21=40;L22=90;L23=80;L24=120; L1=80;L2=100;L3=300;L4=301; omega1=150; alpha1=0; hd=pi/180; du=180/pi; %调用子函数crank_rocker计算四杆机构运动方程 for n1=1:361 theta1=(n1-1)*hd; [theta,omega,alpha]=crank_rocker(theta1,omega1,alpha1,L21,L22,L23,L24); % theta2(n1)=theta(1); theta3(n1)=theta(2); % omega2(n1)=omega(1);omega3(n1)=omega(2); % alpha2(n1)=alpha(1); % alpha3(n1)=alpha(2); %曲柄从动,输入的 [theta_2,omega_2,alpha_2]=crank_rocker(pi-theta3(n1),omega1,alpha1,L1,L2,L3,L4);%pi是重点 theta3_2(n1)=theta_2(2); theta2(n1)=theta_2(1); % theta3(n1)=theta_2(2); omega2(n1)=omega_2(1); omega3(n1)=omega_2(2); alpha2(n1)=alpha_2(1); alpha3(n1)=alpha_2(2); end %角位移、角速度、角加速度和机构图形输出 figure(1); n1=1:361; subplot(2,2,1); plot(n1,theta2*du,n1,theta3_2*du,'k'); title('角位移线图'); xlabel('曲柄转角\theta_1/\circ') ylabel('角位移/\circ') grid on; hold on; text(140,130,'\theta_3') text(140,60,'\theta_2') subplot(2,2,2); plot(n1,omega2,n1,omega3,'k') title('角速度线图'); xlabel('曲柄转角\theta_1/\circ') ylabel('角速度/rad\cdots^{-1}') grid on; hold on; text(250,-100,'\omega_2') text(250,0,'\omega_3') subplot(2,2,3); plot(n1,alpha2,n1,alpha3,'k') title('角加速度曲线图'); xlabel('曲柄转角\theta_1/\circ') ylabel('角加速度/rad\cdots^{-2}') grid on; hold on; text(200,5000,'\alpha_2') text(200,0,'\alpha_3') subplot(2,2,4); % x(1)=0; % y(1)=0; % x(2)=L21*cos(70*hd); % y(2)=L21*sin(70*hd); % x(3)=L24+L23*cos(theta3(70)); % y(3)=L23*sin(theta3(70)); % x(4)=L24; % y(4)=0; % x(5)=0; % y(5)=0; % plot(x,y); % grid on; hold on; x(1)=-L24; y(1)=0; x(2)=L21*cos((70-1)*hd)-L24; y(2)=-L21*sin((70-1)*hd); x(3)=L24+L23*cos(theta3(70))-L24; y(3)=-L23*sin(theta3(70)); x(4)=0; y(4)=0; %下四杆 % x(5)=L1*cos((n1-1)*hd); % y(5)=-L1*sin((n1-1)*hd); x(5)=-(L4+L3*cos(theta3_2(70))); y(5)=-L3*sin(theta3_2(70)); x(6)=-L4; y(6)=0; plot(x(1:4),y(1:4),'k','MarkerSize',25); grid on; hold on; plot([x(3),x(5),x(6)],[y(3),y(5),y(6)]) grid on; hold on; plot(x(1),y(1),'o'); plot(x(2),y(2),'o'); plot(x(3),y(3),'o'); plot(x(4),y(4),'o'); plot(x(5),y(5),'o'); plot(x(6),y(6),'o'); title('飞机起落架铰链机构'); xlabel('mm') ylabel('mm') % axis([-50 350 -20 200]); axis([-350 100 -200 150]); %飞机起落架机构运动仿真 figure(2) m=moviein(20); j=0; for n1=1:5:360 j=j+1; clf; x(1)=-L24; y(1)=0; x(2)=L21*cos((n1-1)*hd)-L24; y(2)=-L21*sin((n1-1)*hd); x(3)=L24+L23*cos(theta3(n1))-L24; y(3)=-L23*sin(theta3(n1)); x(4)=0; y(4)=0; %上四杆 % x(5)=L1*cos((n1-1)*hd); % y(5)=-L1*sin((n1-1)*hd); x(5)=-(L4+L3*cos(theta3_2(n1))); y(5)=-L3*sin(theta3_2(n1)); x(6)=-L4; y(6)=0; plot(x(1:4),y(1:4),'k','MarkerSize',25); grid on; hold on; plot([x(3),x(5),x(6)],[y(3),y(5),y(6)]) grid on; hold on; plot(x(1),y(1),'o'); plot(x(2),y(2),'o'); plot(x(3),y(3),'o'); plot(x(4),y(4),'o'); plot(x(5),y(5),'o'); plot(x(6),y(6),'o'); % plot(x(7),y(7),'o'); axis([-350 100 -200 150]); title('飞机起落架铰链机构'); xlabel('mm'); ylabel('mm') m(j)=getframe; %% w=VideoWriter('起落架动画.avi'); open(w); writeVideo(w,m); %% %gif动画 im=frame2im(m(j)); [I,map] = rgb2ind(im,256); if n1==1 imwrite(I,map,'result.gif','gif','loopcount',inf,'Delaytime',0.05) else imwrite(I,map,'result.gif','gif','writemode','append','Delaytime',0.05) end end movie(m);

关键子函数 —— crank_rocker

代码语言:javascript复制function[theta,omega,alpha]=crank_rocker(theta1,omega1,alpha1,L1,L2,L3,L4) % 本function程序来源:www.ilovematlab.cn/thread-538655-1-1.html。 %四杆机构的代码参照matlab论坛,两个四杆机构联合属于原创。 % 1.计算从动件的角位移 L=sqrt(L4*L4+L1-2*L1*L4*cos(theta1)); phi=asin((L1./L)*sin(theta1)); beta=acos((-L2*L2+L3*L3+L*L)/(2*L3*L)); if beta


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3