新版纵向动力学作业-新版-精选.pdf
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三次
采用Adams/View模块进行仿真。
模型建立
建立模型的步骤大致如下:
1.建立模型几何特征和部件;
2.设置部件的属性参数,如质量、转动惯量、质心位置等;
3.因为要用到轮胎/路面模型,所以还要在建立轮胎/路面前设置好轮胎和路面文件里的相应参
数,如轮胎的自由半径;
4.建立与部件之间约束相关的点或marker;
5.建立约束;
6.输入部件的初始运动状态,如初始速度;
7.添加载荷。此处要特别注意的是,施加的制动力矩会在悬架的纵臂上产生方向相反大小相等
的力矩。这个力矩也要手动添加。添加的四个力矩中,前轮制动力矩使用题目要求的函数,
其它三个都利用与第一个力矩的函数关系建立,如下图:
前轮制动力矩
后轮制动力矩
建模后效果:
*注意要在此建立2个力矩
建立measure
为了获得需要的参数,需要建立measure
仿真
如下设置仿真条件:
运行后观看仿真动画:
在Adams/PostProcessor中可以看到最近一次仿真的数据,点选Source下拉菜单的Measures选项即可看到刚才建立的各个Measures,选取并点击Add Curves即可看到运行结果。
一旦完成所需数据的作图,即可将结果输出。输出方法、格式多种多样。我采取的是输出Numeric Data,然后利用Matlab进行处理。
附录
Matlab出图程序:
clear
load('DATA.mat')
DATA(1:1000,:,:)=[];
% A time
% B pitch
% C z_cm
% D Torque_brake_f
% E Torque_brake_r
% F rolling_radius_f
% G rolling_radius_r
% H load_f
% I load_r
% DATA( :,:,1) = [ A B C D E F G H I ];
time = DATA( :, 1, 1)-1;
%% 俯仰角图1
pitch = [ DATA( :, 2, 1) DATA( :, 2, 2) ];
pitch = pitch / 180*pi;
figure(1);
plot( time,pitch(:,1),time,pitch(:,2),'--' ,'linewidth',2);
title( '俯仰角 \phi', 'fontsize',12, 'fontweight','bold')
xlabel( 't / s', 'fontsize',12)
ylabel( '\phi / rad', 'fontsize',12)
legend('a = 10','a = 20')
%% 车身重心垂向运动图2
z_cm = [ DATA( :, 3, 1) DATA( :, 3, 2) ];
figure(2);
plot( time,z_cm(:,1),time,z_cm(:,2),'--' ,'linewidth',2);
title( '车身重心垂向运动 z_c _m', 'fontsize',12, 'fontweight','bold') xlabel( 't / s', 'fontsize',12)
ylabel( 'z_c _m / m', 'fontsize',12)
legend('a = 10','a = 20')
%% 轮缘切向力(前/后轮)图3,4
I = 0.5; % 车轮转动惯量
Torque_brake_f = [ DATA( :, 4, 1) DATA( :, 4, 2) ]; % 制动力矩
Torque_brake_r = [ DATA( :, 5, 1) DATA( :, 5, 2) ]; %
rolling_radius_f = [ DATA( :, 6, 1) DATA( :, 6, 2) ]; % 滚动半径
rolling_radius_r = [ DATA( :, 7, 1) DATA( :, 7, 2) ];
alpha_f(1:1000,:)=[];
alpha_r(1:1000,:)=[];
alpha_f1 = alpha_f/180*pi; % 转单位°/s^2 为 rad/s^2
alpha_r1 = alpha_r/180*pi;
Ft_f = ( Torque_brake_f - (alpha_f1) * I ) ./ rolling_radius_f; % 前轮 *注意alpha, Torque的符号
Ft_r = ( Torque_brake_r - (alpha_r1) * I ) ./ rolling_radius_r; % 后轮
figure(3)
subplot(1,2,1)
plot( time, Ft_f(:,1), time, Ft_f(:,2),'--','linewidth',2);
title( '前轮缘切向力 F_t _f', 'fontsize',12, 'fontweight','bold')
xlabel( 't / s', 'fontsize',12)
ylabel( 'F_t _f / N', 'fontsize',12)
legend('a = 10','a = 20')
subplot(1,2,2)
plot( time, Ft_r(:,1), time, Ft_r(:,2),'--','linewidth',2);
title( '后轮缘切向力 F_t _r', 'fontsize',12, 'fontweight','bold')
xlabel( 't / s', 'fontsize',12)
ylabel( 'F_t _r / N', 'fontsize',12)
legend('a = 10','a = 20')
%% 动态载荷(前/后轮)图5,6
load_f = [ DATA( :, 8, 1) DATA( :, 8, 2) ]; % 载荷
load_r = [ DATA( :, 9, 1) DATA( :, 9, 2) ];
dynamic_load_f = load_f - (235/2+18.8)*9.807; % 动态载荷
dynamic_load_r = load_r - (235/2+18.8)*9.807;
figure(5)
subplot(1,2,1)
plot( time, dynamic_load_f(:,1), ...
time, dynamic_load_f(:,2),'--','linewidth',2);