1. 前言
轨道车辆振动绝大部分来源于车轮与钢轨之间的碰撞,车轮与钢轨接触关系(轮轨关系)直接决定了车辆运行状态,这也是轨道车辆区别于其他机械装备的唯一一点。本文介绍使用左右轮轨等间距迭代法求轮轨接触位置。
左右轮轨等间距迭代法假设轮对和钢轨均为刚体,轮轨接触几何关系可以考虑成平面和空间两种情况。如果假设轮轨接触几何关系只是轮对横移量的函数,则是平面问题。如果综合考虑轮对横移、摇头对轮轨接触几何关系的影响,则为空间问题。为了抛砖引玉,本文只介绍轮轨接触的平面问题。
2. 原理简述
左右轮轨等间距迭代法的基本思路是过轮对轴线做一铅垂面切割车轮,车轮外廓与切割面的交线称为车轮主轮廓线。作一垂直轨道中心线的平面切割钢轨,钢轨轮廓与切割面的交线为钢轨轮廓线。用实测或计算可以得到车轮和钢轨主轮廓线上各点的坐标值。分别过主轮廓线上各点可以确定四条样条函数来拟合左右车轮踏面和轨头的轮廓线。只要把代表轮轨外形的离散坐标点安排得足够密集,样条函数中所给出的边界条件就接近实际情况,由样条函数表示的轮轨外形就越精确。己知轮轨的拟合曲线后,就可以用样条插值来得到轮轨上任意点的坐标。
当考虑到平面问题时,先人为把轮对向上平移足够距离保证轮轨不相互嵌入,把求解轮轨接触点问题转化为求轮轨之间垂向位移最小而且两者垂向位移相等的问题。如果找到了两点的位置,则轮对向下平移这个距离,轮轨就发生接触,所找到的两点就是左右轮轨的接触点。当轮对发生横移后,循环计算左右轮轨主轮廓线各坐标点的垂向距离,得到最小垂向距离。这一过程称为扫描过程。当左右轮轨最小垂向距离相等时,说明这几个点正好是轮轨的几何接触点。如果左右轮轨最小垂向距离不相等,则通过迭代轮对侧滚角,使得最终两边垂向距离相等,得到轮轨接触点位置,见图1所示。
图1 最小距离搜索示意图
3. 程序解读
(1)原始数据读入
运行后,得到图1-图2(为了与程序中的figure编号一致,从图1开始编号)。
图1 原始踏面外形
图2 原始左右钢轨廓形
从图1中发现:原始踏面滚动圆在原点上(没有区分左右轮缘),且轮缘在上面(一般都是把轮缘放在下面)。从图2中发现:区分了左右钢轨,但是廓形的最高点并没有在原点上。
基于以上问题,需要调整车轮、钢轨坐标,见步骤(2)
(2) 调整车轮、钢轨原始坐标
图3 调整后左右车轮踏面外形
图4 调整后左右钢轨廓形
图5 车轮与钢轨的装配图
(3) 插值得到钢轨离散坐标
RLy_s=-789:0.01:-716.5; %%%(根据轨顶宽度给定扫描范围)
RLz_s=interp1(RLy,RLz,RLy_s,'spline'); %%%(插值得到左钢轨离散坐标)
RRy_s=716.5:0.01:789; %%%(根据轨顶宽度给定扫描范围)
RRz_s=interp1(RRy,RRz,RRy_s,'spline'); %%%(插值得到右钢轨离散坐标)
(4) 不同轮对横动量下的接触(重点)
pp=0;
for i=-15:0.5:15 %%%轮对横动量范围
pp=pp+1;
WLy_yd=WLy+i; %%% 横动之后左踏面横坐标
RLy_s=-789:0.01:-716.5; %%% 根据轨顶宽度给定扫描范围
WLz_yd=interp1(WLy_yd,WLz,RLy_s,'spline'); %%% 根据轨顶宽度得到左车轮横动之后踏面坐标
[zLMin,idx]=min(WLz_yd-RLz_s); %%% 找出左边轮轨之间最小值以及最小值所在位置
min_Ly=RLy_s(idx); %%% 最小值所在位置的左侧钢轨y坐标
min_WLz=WLz_yd(idx); %%% 最小值所在位置的左侧车轮z坐标
normcicle_Ly=-746.5+i; %%% 左轮滚动圆的横坐标(-(1353/2+70)=-746.5)
normcicle_Lz=interp1(WLy_yd,WLz,normcicle_Ly,'spline');%%% 左轮滚动圆处的z坐标
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
WRy_yd=WRy+i; %%% 横动之后右踏面横坐标
RRy_s=716.5:0.01:789; %%% 根据轨顶宽度给定扫描范围
WRz_yd=interp1(WRy_yd,WRz,RRy_s,'spline');%%% 根据轨顶宽度得到右车轮横动之后踏面坐标
[zRMin,idx]=min(WRz_yd-RRz_s); %%% 找出右边轮轨之间最小值以及最小值所在位置
min_Ry=RRy_s(idx); %%% 最小值所在位置的右侧钢轨y坐标
min_WRz=WRz_yd(idx); %%% 最小值所在位置的右侧车轮z坐标
normcicle_Ry=746.5+i; %%% 右轮滚动圆的横坐标(1353/2+70=746.5)
normcicle_Rz=interp1(WRy_yd,WRz,normcicle_Ry,'spline');%%% 右轮滚动圆处的z坐标
%%%%%%%%通过调整侧滚角求接触位置(利用while循环实现)%%%%%%%%%%%%%%
Alpha=0.5; %%%轮对初始假定的侧滚角系数
a=0;
while abs(zRMin-zLMin)>0.0001 ; %%%%判定条件(如不符合,一直while循环)
Theta=Alpha*(zRMin-zLMin)/(min_Ry-min_Ly); %%%调整车轮侧滚角
a=a-Theta; %%% 左右车轮往左横移时,会顺时针侧滚, a为侧滚回到原始位置的角度,为逆时针
%%%%%%%% 车轮侧滚后的坐标(顺时针侧滚)%%%%%%%%%%%%
WLy_cg=(RLy_s-i)*cos(Theta)+(WLz_yd-470)*sin(Theta)+i; %%% 左车轮侧滚后的y坐标
WLz_cg=-(RLy_s-i)*sin(Theta)+(WLz_yd-470)*cos(Theta)+470;%% 左车轮侧滚后的z坐标
WRy_cg=(RRy_s-i)*cos(Theta)+(WRz_yd-470)*sin(Theta)+i; %%% 右车轮侧滚后的y坐标
WRz_cg=-(RRy_s-i)*sin(Theta)+(WRz_yd-470)*cos(Theta)+470;%%右车轮侧滚后的z坐标
%%%%%%%%%%%%% 侧滚后寻找车轮与钢轨的最小垂直距离 %%%%%%%%
[zLMin,idx]=min(WLz_cg-RLz_s); %%% 侧滚后,找到左侧车轮与钢轨垂直最小距离
min_Ly=WLy_cg(idx); %%%左边最小值所在的车轮y坐标
min_WLz=WLz_cg(idx); %%%左边最小值所在的车轮z坐标
[zRMin,idx]=min(WRz_cg-RRz_s); %%% 侧滚后,找到右侧车轮与钢轨垂直最小距离
min_Ry=WRy_cg(idx); %%%右边最小值所在的车轮y坐标
min_WRz=WRz_cg(idx); %%%右边最小值所在的车轮z坐标
%%%%%%%% 变量替换,为下一次迭代做准备 %%%%%
RLy_s=WLy_cg;
WLz_yd=WLz_cg;
RRy_s=WRy_cg;
WRz_yd=WRz_cg;
end
%%%%%%%% 利用while循环求得接触位置后,下一步获取接触处左、右车轮的坐标 %%%%%%%%
WLy_contact=min_Ly; %%% 左轮
WLz_contact=min_WLz;
WRy_contact=min_Ry; %%% 右轮
WRz_contact=min_WRz;
%%%%% 最小距离处(接触处)左、右钢轨的坐标 %%%
RLy_contact=WLy_contact; %%%%左钢轨
RLz_contact=interp1(RLy,RLz,RLy_contact,'spline');
RRy_contact=WRy_contact; %%%右钢轨
RRz_contact=interp1(RRy,RRz,RRy_contact,'spline');
%%%% 左、右车轮接触位置侧滚前的坐标 %%%%
WLy_contact_cg_q=(WLy_contact-i)*cos(a)+(WLz_contact-470)*sin(a)+i; %%% 左车轮接触位置侧滚前的y坐标
WLz_contact_cg_q=-(WLy_contact-i)*sin(a)+(WLz_contact-470)*cos(a)+470;%%% 左车轮接触位置侧滚前的z坐标
WRy_contact_cg_q=(WRy_contact-i)*cos(a)+(WRz_contact-470)*sin(a)+i; %%% 右车轮
WRz_contact_cg_q=-(WRy_contact-i)*sin(a)+(WRz_contact-470)*cos(a)+470;%%%
%%%% 接触点原始坐标(侧滚前减去横动量) %%%
WLy_contact_ori=WLy_contact_cg_q-i; %%%左车轮
WLz_contact_ori=WLz_contact_cg_q;
WRy_contact_ori=WRy_contact_cg_q-i; %%%右车轮
WRz_contact_ori=WRz_contact_cg_q;
%%%%%%%%%% 画轮轨接触点的连线 %%%%%%%%%%%%
yL=[WLy_contact_ori,RLy_contact]; %%%左侧轮轨接触点的y坐标
zL=[WLz_contact_ori,RLz_contact]; %%%左侧轮轨接触点的z坐标
figure(6)
plot(yL,zL);hold on;
yR=[WRy_contact_ori,RRy_contact]; %%%右侧轮轨接触点的y坐标
zR=[WRz_contact_ori,RRz_contact]; %%%右侧轮轨接触点的z坐标
figure(7)
plot(yR,zR);hold on;
end
运行完,左右车轮与钢轨的接触点连线已经画出来了,见图6和图7。
图6 左车轮与钢轨的接触点连线 图7 右车轮与钢轨的接触点连线
(5) 把接触点连线放到车轮与钢轨装配图中
figure(6)
plot(WLy,WLz);hold on;plot(RLy,RLz);title('左侧车轮、钢轨接触点');%%% 左侧车轮、钢轨廓形
figure(7)
plot(WRy,WRz);hold on;plot(RRy,RRz);title('右侧车轮、钢轨接触点');%%% 右侧车轮、钢轨廓形
运行完之后,左右车轮与钢轨的轮轨接触关系就出来了,见图8和图9。
图8 左车轮与钢轨的接触关系 图9 右车轮与钢轨的接触关系
4. 程序验证
图10 左右车轮与钢轨接触关系(simpack)