基于matlab,simulink汽车三自由度模型仿真_第1页
基于matlab,simulink汽车三自由度模型仿真_第2页
基于matlab,simulink汽车三自由度模型仿真_第3页
基于matlab,simulink汽车三自由度模型仿真_第4页
基于matlab,simulink汽车三自由度模型仿真_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、作业任务包括:一、 建立前轮角阶跃输入的汽车三自由度操控模型,并且参数可调。二、 绘制六面体并实现对六面体的三维操作,包括平移、旋转、缩放等。三、 动画:本文动画的实现是在对六面体的具体操作过程(平移、旋转、缩放)中表现。四、 GUI与simulink的联合仿真,并将所有作业内容集成到GUI界面,将程序进行编译,打包生exe的成可执行文件。汽车三自由度操控模型1.1建模假设:1、汽车车速不变 。2、不考虑切向力对轮胎特性的影响。 3、侧向加速度不大于0.30.4g 。4、前轮转角不大,不考虑前轮左右的区别。 5、不考虑非悬架质量的倾角。6、不考虑空气动力作用。7、侧倾中心与非悬架质心等高,前后

2、一样。8、左右对称。假设汽车的结构:前面是独立悬架。后面是纵置半椭圆板簧。车厢侧倾引起:前轮外倾角变化;后轴发生轴转向;左右侧车轮载荷重新分配引起滚动阻力不相等而产生绕Z轴的力矩。1.2汽车模型受力分析车辆坐标系如图1所示图1 车辆坐标系M、Ms、Mu分别是整车、悬挂和非悬挂质量,M=Ms、Mu其质心分别是c.g. 、s和u。如图二所示图2 车辆质量分布示意图汽车三自由度模型的三个自由度指:汽车沿y轴平动的自由度、汽车绕z轴的转动自由度、汽车绕x轴的转动自由度。一般分别用横向速度v、横摆角速度r、侧倾角来表征。 汽车三自由度模型的微分方程为: (1-1)其中各个参数的意义如下:符号

3、参数名称 单位 数值 M 整车质量 Kg 3021v汽车的侧向速度m/sr汽车横摆角速度rad/sV汽车的纵向车速m/sMs悬挂质量 Kg 2687h悬挂质量重心至侧倾轴线的距离m0.488侧倾角rad单位整车侧偏角引起的地面侧向反作用力N/rad单位横摆角速度引起的地面侧向反作用力N.s/rad单位侧倾角引起的地面侧向反作用力N/rad单位前轮转角引起的地面侧向反作用力N/rad质心侧偏角rad汽车前轮转角radIz汽车绕垂直轴转动惯量10437汽车质量对x轴z轴的惯性积0单位质心侧偏角产生的对z轴的力矩N.m/rad单位横摆角速度产生的对z轴的力矩N.m.s /rad单位侧倾角速度产生的对

4、z轴的力矩N.m.s /rad单位前轮转角产生的对z轴的力矩N.m/rad单位侧倾角速度产生的对z轴的力矩N.m.s/radp侧倾角速度rad/s悬挂质量对x轴的转动惯量1960单位侧倾角产生的对x轴的外力矩N.m/rad单位侧倾角速度产生的对x轴的外力矩N.m.s/rad 6864算子说明:其中:前轮外倾刚度;侧倾外倾角系数;后轴侧倾转向系数。其中:,为前后侧倾中心离地面的高度,即前后非悬挂质量质心离地面的高度为滚动阻力系数和为轮胎侧偏角回正力矩系数()。其中:、为前、后悬架侧倾角刚度();,为前、后减振器因单位侧倾角速度产生的阻力偶矩();为后轴侧倾转向系数;所用到的参数如下:符号参数名称

5、 单位数值k1前轮侧偏刚度(一个车轮)N/rad23164k2后轮侧偏刚度(一个车轮)N/rad38345a重心至前轴距离m1.84b 重心至后轴距离 m 1.88前悬架侧倾角刚度 Nm/rad 100620 后悬架侧倾角刚度 Nm/rad 32755 前轴侧倾转向系数 -0.114 后轴侧倾转向系数 0 侧偏角产生的回正力矩 Nm/rad 0 Lp1单位侧倾角速度在前减震器产生的阻力矩 Nm.s/rad 3432 Lp2单位侧倾角速度在后减震器产生的阻力矩 Nm.s/rad 3432 考虑到Np数值不大,予以忽略,且,将代入上述微分方程,可以得到: 由于涉及到二次导数,引入新的变量,上式可写

6、为:将此方程组表达成矩阵形式,即:其中:将三自由度汽车模型的运动微分方程组进一步写成标准形式:其中,然后用matlab编程求解其瞬态响应。1.3simulink建模本文采用了经典的积分的方法求解,也可以采用状态空间的方法建模。图3 封装好的模型图4 联立方程模型图5 方程一图6 方程二图7 方程三仿真界面不同车速比较响应输出不同转角阶阶跃输入响应绘制六面体及对六面体的三维操作六面体操作界面平移操作六面体缩放操作六面体旋转操作GUI主界面,分为两个功能模块:附录:程序主要代码1、三自由度车辆模型关键代码:% - Executes on button press in pushbutton1.fu

7、nction pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)a=str2double(get(handles.edit1,'String');b=str2double(get(handles.ed

8、it2,'String');h=str2double(get(handles.edit3,'String');I_z=str2double(get(handles.edit4,'String');I_x=str2double(get(handles.edit5,'String');C_fai1=str2double(get(handles.edit6,'String');C_fai2=str2double(get(handles.edit7,'String');e1=str2double(get(h

9、andles.edit8,'String');e2=str2double(get(handles.edit9,'String');k1=-2*str2double(get(handles.edit10,'String');k2=-2*str2double(get(handles.edit11,'String');h1=str2double(get(handles.edit12,'String');h2=str2double(get(handles.edit13,'String');f=str2dou

10、ble(get(handles.edit14,'String');g=str2double(get(handles.edit15,'String');L1=str2double(get(handles.edit16,'String');L2=str2double(get(handles.edit17,'String');m=str2double(get(handles.edit18,'String');m_s=str2double(get(handles.edit19,'String');u=(st

11、r2double(get(handles.edit20,'String')/3.6;delta=(str2double(get(handles.edit21,'String')*pi/180;options=simset('SrcWorkspace','current');sim('three_Dofs_car_0704',options); axes(handles.axes1); % 将axes1设置为当前坐标系plot(tout,yout(:,1);grid on;title('侧向速度随前轮角输入的

12、关系');xlabel('时间(s)');ylabel('侧向速度(m/s)');axes(handles.axes2); % 将axes2设置为当前坐标系plot(tout,yout(:,2);grid on;title('横摆角速度随前轮角输入的关系');xlabel('时间(s)');ylabel('横摆角速度(rad/s)');axes(handles.axes3); % 将axes1设置为当前坐标系plot(tout,yout(:,3);grid on;title('车身侧倾角随前轮角输入

13、的关系');xlabel('时间(t)');ylabel('车身侧倾角(rad)');2、六面体及操作关键代码(1)平移关键代码:% - Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% han

14、dles structure with handles and user data (see GUIDATA)x=0 1 1 0 0 0; 1 1 0 0 1 1; 1 1 0 0 1 1; 0 1 1 0 0 0;y=0 0 1 0 0 0; 0 1 1 1 0 0; 0 1 1 1 1 1; 0 0 1 0 1 1;z=0 0 0 0 0 1; 0 0 0 0 0 1; 1 1 1 1 0 1; 1 1 1 1 0 1;axes(handles.axes2);patch(x,y,z,1:6,'FaceAlpha',0.9);h=patch(x,y,z,1:6,'Fa

15、ceAlpha',0.2);axis equal tight axis(-2 2 -2 2 -2 2);grid on;title('立方体图形变换对比');xlabel('Variable X');ylabel('Variable Y');zlabel('Variable Z');view(-45 45); %set(h,'EraseMode','Xor') a=str2double(get(handles.edit1,'String');b=str2double(get(

16、handles.edit2,'String');c=str2double(get(handles.edit3,'String');for i=0:1:50; drawnow;X=x+(a/50)*i;Y=y+(b/50)*i;Z=z+(c/50)*i;axes(handles.axes2);set(h,'xdata',X,'ydata',Y,'zdata',Z)pause(0.1)end(2)缩放关键代码:% - Executes on button press in pushbutton3.function pu

17、shbutton3_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)x=0 1 1 0 0 0; 1 1 0 0 1 1; 1 1 0 0 1 1; 0 1 1 0 0 0;y=0 0 1 0 0 0; 0 1 1 1 0 0; 0 1

18、1 1 1 1; 0 0 1 0 1 1;z=0 0 0 0 0 1; 0 0 0 0 0 1; 1 1 1 1 0 1; 1 1 1 1 0 1;axes(handles.axes2);patch(x,y,z,1:6,'FaceAlpha',0.9);h=patch(x,y,z,1:6,'FaceAlpha',0.2);axis equal tight axis(-2 2 -2 2 -2 2);grid on;title('立方体图形变换对比');xlabel('Variable X');ylabel('Variable

19、 Y');zlabel('Variable Z');view(-45 45); %set(h,'EraseMode','Xor') d=str2double(get(handles.edit4,'String');e=str2double(get(handles.edit5,'String');f=str2double(get(handles.edit6,'String');for i=0:1:50; drawnow;X=x*(d/50)*i;Y=y*(e/50)*i;Z=z*(f/50)*

20、i;axes(handles.axes2);set(h,'xdata',X,'ydata',Y,'zdata',Z)pause(0.1)end(3)旋转关键代码:% - Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)% hObject handle to pushbutton4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)x=0 1 1 0 0 0; 1 1 0 0 1 1; 1 1 0 0 1 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论