本文摘要(由AI生成):
本文介绍了在Adams中导入其他软件仿真计算导出的力矩或力的操作方法。首先,在Adams的【File】→【Import】中导入外部数据,并选择“create Splines”。接着,在“Elements”→“Data Elements”中重命名样条曲线文件,并打开样条曲线文件。然后,添加驱动力矩,设置Function为-AKISPL(AY(start_point, base_point),0,torque_deg_80,0),其中负号表示与参考方向相反。AKISPL是根据Akima拟合方式得到的插值,其格式是AKISPL(1st_Indep_Var,2nd_Indep_Var,Spline_name,Deriv_Order)。在驱动中设置中,使用CUBSPL(Cubic样条函数)比AKISPL(Akima样条曲线)要好。如果添加的是力,而这个力通过外部软件计算,且计算的结果不是力与时间的关系,而是力——位移的关系,则也可以按照上述步骤进行操作。
在adams中我们常常碰到这样的情况:需要的力矩或力是由其他软件仿真计算导出的,例如电磁力,而这个电磁力通过静态分析得到,它的输出结果不是以时间为自变量的,而是力矩——角位移的对应关系,针对这种情况,下面介绍导入这种力矩(或力)的操作方法。
以下是由maxwell软件计算的动铁芯与转角的关系表(以下显示的是截取部分),格式可以使.csv, .dat,.txt等
alpha(deg) | torque(Nmm) |
0 | 10.47985 |
0.25 | 10.62589 |
0.5 | 10.83491 |
0.75 | 10.99589 |
1 | 11.19999 |
1.25 | 11.40018 |
1.5 | 11.56366 |
1.75 | 11.7718 |
2 | 11.99462 |
2.25 | 12.2066 |
2.5 | 12.4264 |
2.75 | 12.64618 |
3 | 12.91034 |
3.25 | 13.17511 |
3.5 | 13.39061 |
3.75 | 13.70069 |
4 | 13.89325 |
4.25 | 14.19627 |
4.5 | 14.47701 |
4.75 | 14.81015 |
5 | 15.06578 |
5.25 | 15.37048 |
5.5 | 15.7029 |
从Adams的【File】→【Import】,导入外部数据
在File Type中选择Test Data(*.),点选“create Splines”;在File to Read的空白处右击,点选外部数据文件,同时在Independent Column Index中输入“1”,如果此项不填,则外部数据文件会被拆分成两列独立的数据,而填写“1”后,则生成一一对应的样条曲线数据。
在“Elements”→“Data Elements”,将样条曲线重命名,并打开样条曲线文件
添加驱动力矩
设置Function为-AKISPL(AY(start_point, base_point),0,torque_deg_80,0),其中负号表示与参考方向相反。
AKISPL是根据Akima拟合方式得到的插值,其格式是AKISPL(1st_Indep_Var, 2nd_Indep_Var, Spline_name, Deriv_Order),下面介绍一下各参数的意义。
①1st_Indep_Var为AY(start_point, base_point),是Spline样条曲线的第一个自变量;start_point和base_point分别是两个物体上的marker点。AY函数是沿Y轴旋转的角位移函数,返回在指定参考坐标系中两点关于Y轴的角度差。其格式如下AY( OBJECT , OBJECT ),括号中的OBJECT可以输入两个物体的参考marker点;如果是绕X旋转,则为AX,其他以此类推。
②2nd_Indep_Var为0,是Spline样条曲线的第二个自变量,因为是曲线,设置为0;
③Spline_name为torque_deg_80
④Deriv_Order为0,插值点阶数为0,即返回曲线坐标值
当然,在Function中还可以插入其他插值函数,例如CUBSPL和CURVE函数
以下是他们各自的优缺点
函数名 | 插值方法 | 特征 | 特点 | 缺点 |
CUBSPL | 三次样条 | 全局 | 直观性高 求导精确 曲线平滑 | 耗时长 曲线有偏差 |
CURVE | B样条 | 全局 | 求导精确 可用CURSB自定义 | 不能构造除抛物线外的二次曲线 |
AKISPL | Akima | 局部 | 效率高 直观性好 曲线平滑 | 求导误差大 |
CURVE(alpha,iord,comp,id),其中alpha为确定独立变量的实变量,为CURVE函数的计算曲线。如果曲线是以CURVE计算的B样条曲线,alpha的取值范围为[-1,1]。如果曲线是通过CURSUB计算得出,alpha的取值范围为[MINPAR,MAXPAR]。Iord—定义CURVE函数中求导阶数的正数值。其合法值为:
*0——返回曲线坐标值
*1——返回一阶偏导
*2——返回二阶偏导
Comp——定义CURVE函数中分量的整数变量,其合法值为:
*1——返回x坐标值或者其导数值
*2——返回y坐标值或者其导数值
*3——返回z坐标值或者其导数值
CUBSPL(1st_Indep_Var, 2nd_Indep_Var, Spline_name, Deriv_Order),其中1st_Indep_Var为样条的第一个独立变量,2nd_Indep_Var为第二个独立变量,若为曲线,设置为0,Spline_name为样条曲线名,Deriv_Order为插值点阶次,若为0,则返回曲线坐标值,以上用法与AKISPL基本相同。
在驱动中设置中,使用CUBSPL(Cubic样条函数)比AKISPL(Akima样条曲线)要好;
在力、力矩设置中,使用AKISPL(Akima样条曲线)比CUBSPL(Cubic样条函数)要好。
如果添加的是力,而这个力通过外部软件计算,且计算的结果不是力与时间的关系,而是力——位移的关系,则也可以按照上述步骤进行操作。
不同的是AKISPL函数或CUBSPL函数的第一个自变量,设置成位移函数,如AX(marker_1,marker_2),表示物体1上的marker_1和物体2上的marker_2在X方向上的位移。