hiADAMS/View 和ADAMS/Car的基础操作和心得
1、如何永久改变ADAMS的启动路径?
在ADAMS启动后,每次更改路径很费时,我们习惯将自己的文件存在某一文件夹下;事实上,在Adams的快捷方式上右击鼠标,选属性,再在起始位置上输入你想要得路径就可以了。
2、如何将回放过程保存为AVI格式的电影文件,以便在其他场合使用?
点击plotting(或F8)进入postprocessor ,右键--load ANIMATION,点击"play"开始仿真,点击"record"开始录制动画。
3、a/car Template Builder.为什么我看不见这个菜单选项??
答:需要改一下的!在你的系统盘下去面。例如我的C:\Documents and Settings\rickytang(rickytang为我的用户名)下面有一个.acar文件,用记事本打开,然后将
! Desired user mode (standard/expert) ENVIRONMENT MDI_ACAR_USERMODE standard
改为:! Desired user mode (standard/expert) ENVIRONMENT MDI_ACAR_USERMODE expert
再启动car就可以看见选项了!
进入car后按F9或者在tools下面选第一项就可以在模板与标准界面之间切换!
4、关于communicator
communicator的出现是由于car是分块建模(子系统)为基础,而communicator告诉ADAMS软件子系统之间如何连接,所以communicator的名字要完全一样才行,而且对于某一特定的子系统而言,有多少与外部系统、testrig的连接就需要有多少个communicator。
suspension parameter代表悬架特性反映,可参考公用模板中_trailing_arm.tpl和_multi_link.tpl。communicator表示数据传递的。纵臂、螺旋弹簧、减震器有一端是外部连接,需要建立mount,然后会自动产生输入communicator.
输出communicator一般有以下8个:(它主要是把数据传递给轮胎的)
co[lr]_camber_angle
co[lr]_suspension_mount
co[lr]_suspension_upright
co[lr]_toe_angle
co[lr]_tripot_to_differential
co[lr]_wheel_center
cos_driveline_active
cos_suspension_parameters_ARRAY
可参考公用模板中的悬架模型来建立。
5、test-rig是做什么用的??
CAR中共有两种试验台(TEST_RIG),一种是MDI_SUSPENSION_TESTRIG,另一种是MDI_SDI_TESTRIG,前者用于悬架仿真,后者用于整车仿真,试验台是通过COMMUNICATOR与其它子系统链接的,请仔细阅读有关COMMUNICATOR的帮助。
6、ADAMS和MATLAB联合仿真经验谈
论坛中有关adams和simulink联合仿真的帖子不少,部分是成功者的经验,多数是初学者的疑惑。怎么安装和找到control模块,怎么在control中生成必需的中间文件,为什么仿真会失败?本人也曾对这些问题困惑过,经过一番摸索,积累了一点经验,愿与大家商讨。
对于第一个问题,我想就不必多说了。对于第二个问题可以参考郑建荣的ADAMS虚拟样机技术入门与提高第十三章机电一体化系统仿真部分,书中有两个问题需要注意:(1)书中介绍的ADAMS版本好像是10.0的,对于使用12.0的有一些差异:在Plant Export设置中无法直接选择输入输出变量control_torque、azimuth_position、rotor_velocity,它们分别由专门的宏tmp_MDI_PINPUT和tmp_MDI_POUTPUT表示。(2)天线仰角的方位角似乎应该是elevation_position,而不是azimuth_position,后者是天线支撑的转角。其它按文中所述步骤进行,File Prefix栏可随便写,不必一定用ant_test,最后在ADAMS的当前目录下生成四个文件:
ant_test.cmd
ant_test.adm
ant_test.acf
ant_test.m
第三个问题基本上是由于没有正确设置路径,找不到所需的文件造成的,这也说明了control模块在设计时没有很好地考虑健壮性问题。具体来说simulink在开始仿真时要找到以下这些文件:
1、上述生成的文件,主要是ant_test.m和ant_test.cmd,ant_test.m用于在simulink中对control模块环境和一些参数进行初始化,它必须在仿真前执行;ant_test.cmd是天线模型定义文件,由于这里ADAMS是作为simulink创建的一个子进程而被启动的,它所需的模型文件名由simulink的调用参数传过来的,所以simulink要能够定位ant_test.cmd(我一开始把它放到adams当前目录下,频频失败)。
2、adams_plant.dll,它其实就是adams_sub的核心,ADAMS提供一个S函数,用于adams和simulink联合仿真的调度和通讯,如果simulink找不到它,则仿真就不能进行。adams_plant.dll位于\ADAMS12\controls下。
解决方法是在simulink中设置好上述文件所在的路径,但一个更方便的方法是把它们都拷到matlab的当前工作目录下,一般是\MATLAB6p1\work。经过以上设置,应该不会再出现仿真失败的对话框了吧。另外,如果因为一些原因仿真失败,需重启matlab,否则的话因为一些运行库的错误信息还保留在系统中,即便改正了错误仿真也会失败,只有重新启动初始化这些库。
我用的是adams12和matlab6.1,以前流传它们之间存在不兼容的问题,其实都是上述原因造成的,不存在版本兼容的问题,adams和matlab都是成功的商业软件,在发布前经过了大量的测试,如果不兼容他们不会置若罔闻,现在好像还没有他们的官方声明吧。
确实,大部分的失败是由于没有正确设置工作路径而造成的,我想既然是针对一个项目进行仿真,那干脆为自己的项目建立一个文件夹,使ADAMS和MATLAB的工作区都相同,如发现有时仿真不成,可把adams_plant.dll也事先拷贝到同一文件夹里,这样方便又不会出大错。
另外,对于还不大熟悉MATLAB的来说,在重仿时最好重ADAMS里重新导入MATLAB,并且必须在MATLAB里重新运行(很多时候MATLAB原来产生的变量被替换了),而不能只是简单的重新运行MATLAAB里建立 的SIMULINK模型。
总的来说,我感觉两者的联合仿真,困难之处不在于两者的接口问题,更关键的是我们所建立的机械系统的数学模型能否正确的建立,这将直接影响我们能否实现预想的控制目的,因为之所以要联合MATLAB,就是因为系统里各个量关系不好确定,要是容易确定的直接用ADAMS 里的函数等也可以控制了,对吧?所以要想更顺利的实现两者联合仿真的成功率,也需要对模型有准确的把握,不知道各位能否就机械方面较常见的系统归纳一下它们的数学模型,结合ADAMS实现更好的控制。
7、关于转动问题,如何判断转动副的方向?
初学时,对转动副的运动容易糊涂,下面以图说明。
图1,构件4固定在地面上,在构件1和构件2上加了一个转动副。
1) 转动副中构件绕轴转动的方向,符合右手法则,其中First body 绕Second body 转动;
2) 图一中,构件1为first body,构件2为Second Body,则构件1相对于构件2逆时针转动,图2为转动后某时刻的图像;
3) 若修改转动副,构件2为first body,构件1为Second Body,则构件2相对于构件1逆时针转动,图3为转动后某时刻的图像,与2)恰相反;
4) 有趣的是,假设转动副加在构件1与4上,构件4为first body,构件1为Second Body,则构件4应该相对于构件1逆时针转动,但由于构件4固定在地面上,无法运动,由相对运动可知,此时运动等价于构件1相对于构件4顺时针转动,事实如此,图4为转动后某时刻的图像。
图一
图二
图三
图四
8、关于路普
路谱是高度保密的东西,我们可以找一个已经有的轮胎特性文件,*.tpf文件,然后在稍微修改一下, 安装目录下 12.0\solver\tire_dat 里有轮胎文件。
9、运动学仿真后,如何测量驱动力矩或者其他的物理量?
我们在做机器人运动规划时,往往根据规划给出各个关节的运动轨迹,进行运动学分析,如果要查看实现该运动各个关节需要加的驱动力矩,可以右键单击相应的motion,然后在下拉菜单选择measure,在出现的界面里面选择Torque,点ok就出来力矩曲线了,其他物理量类同。
10、Marker点与Pointer点区别
Marker:具有方向性, 大部分情況都是伴随物件自动产生的,而 Point不具有方向性, 都是用户自己建立的;Marker点可以用来定义构件的几何形状和方向,定义约束与运动的方向等,而Point点常用来作为参数化的参考点,若构件与参考点相连,当修改参考点的位置时,其所关联的物体也会一起移动或改变。
11、如何在ADAMS下由数据生成样条曲线?
在tools->command navigator....->Data element->create->spring line 后,会出現一个输入window窗口,选择numerical将xyz数值copy到xyz各自的表格上.......
12、对ADAMS/CONTROLS的总结:
1) 应用ADAMS/VIEW建立被控系统的ADAMS模型;
2) 对建立好的模型增加主动力;
3) 在模型中增加输入和输出状态变量,即输入函数;(现在这一部分还是不懂)
4) 在ADAMS/VIEW中通过tool/plug in项将ADAMS/CONTROLS控制模块LOAD;
5) 在controls项对plant export进行设置;
6) 点击ok即可在目录上生成控制仿真所需的文件;
7) 启动MATLAB,将路径设为adams所生成的文件所在目录上;
8) 在matlab的命令窗口输入生成的adams模型生成的m文件名称,将此m文件调进当前工作空间中;
9) 在MATLAB的命令窗口输入adams_sys,将生成adams模型的simulink仿真模型;
10) 建立控制系统得simulink模型;
11) 这样就可以对系统进行仿真;
12) 在matlab绘制仿真曲线;
13、ADAMS/VIEW中输入、输出状态变量的设定方法:
1) 在build/system elements/state variable/new建立系统的状态变量,其函数根据函数编辑器进行编辑,不同类型的变量选择不同的表达式。
14、 ADAMS/VIEW中的输入函数的指定方法:输入函数是指从输入状态变量取值的时间函数。 只需在所建立的模型中在需要进行控制的部件施加一定的力或力矩,然后对其进行函数化:其函数的自变量为所指定的输入状态变量。这样所建立的模型就是受输入控制的系统。
15、 在设计输入函数时,当输入函数表达的为力,而其自变量为其它的量,则通过指定adams函数来定义这一输入量。
16、 现在还有两个问题没有解决:力与运动是什么关系,在ADAMS------MATLAB/SIMULINK仿真过程中需要设定的参数:PLANT EXPORT及SIMULINK仿真模块的ADAMS--SUB参数。
17、力与驱动的关系:驱动包括直线驱动和旋转驱动,他们配合约束副使用。驱动就是指使所定义的约束副的运动按照所设定的驱动方程运动;而力指在模型中某一构件上所施加的力,其运动方向及速度要根据力的函数决定。如,在建立汽车模型时,地面的垂直不平度可以取为上下运动的驱动;而驱动轮的转动通常要通过输入其的力矩定义。在进行ADAMS-SIMULINK联合仿真时,需要将通过simulink控制模块决定的运动构件的驱动去掉,增加一力或力矩,其为系统设定的输入状态变量的函数。
18、 增加驱动就已经知道构件的运动形式,而增加力则不能具体确定构建的运动形式。
19、可以设定所研究车辆的轮胎模型(编制轮胎模型文件及道路输入文件),参考e/安装文件/adams帮助文档/tire
20、Car模块中的标准用户和超级用户间的差别:
Expert user 可以建立和修改模版,适于有经验的高级用户
Standard user只是用于设计人员和检测人员,要进行仿真必须在这个环境下进行。
21、使用car的一些经验之谈
一. car中悬架模板建立的问题
car中公用数据库中有很多中独立和非独立悬架模板,
例如:双横臂悬架,扭杆悬架,麦弗逊悬架,多连杆悬架等等。
如果你要自己建立悬架,
1. 需要分析和你要建的悬架类型相似的共用模板的悬架。了解其杆件的连接方式,悬架特性等等。
2. 需要建立hardpoints(硬点)---general parts(基本体)----geometry(几何属性)----添加约束。
3. 悬架特性suspension parameter和数据连接器communicator
suspension parameter代表悬架特性反映,可参考公用模板中的悬架。
communicator表示数据传递的。
例如:纵臂、螺旋弹簧、减震器有一端是车身连接,需要建立mount,然后会自动产生输入communicator。在车身模板中需建立相应的输出communicator。
输出communicator一般有以下8个:(它主要是把数据传递给轮胎的)
co[lr]_camber_angle
co[lr]_suspension_mount
co[lr]_suspension_upright
co[lr]_toe_angle
co[lr]_tripot_to_differential
co[lr]_wheel_center
cos_driveline_active
cos_suspension_parameters_ARRAY
可参考公用模板中的悬架模型来建立。
二:悬架调试
建立好旋即模板后,可进行悬架总成分析。一般作跳动和转向分析。在后处理中可得到悬架的基本
设计参数,通过对前束、外顷、内顷,轮距变化、悬架刚度等等的分析,可校核悬架模板的正确性。
三:整车调试
整车装配前,需处理好各个模板之间communicator的对应情况。最好加上动力总成模板和制动模板。
对于操纵稳定性的分析大有好处。加速、制动、转向回正等试验都可以作。使整车能“动”比较简单,
但要得到比较理想的结果,需要反过来检查模板(主要是参数问题)。而且参数如果更改不好,整车仿真很容易出现错误。
我的经验:
1,建模顺序基本按照build菜单顺序
2,参考shared里面相应的模版,很有帮助的
3,关于communicator,参见关于template的pdf文档,名字不能任意,因为还要和test rig匹配。
22、我也是在ADAMS/CAR下做整车仿真,但是路面好想渲染的时候也是看不见的。请教
1.請您參考後列網址http://support.adams.com/kb/faq.asp?ID=kb9016.dasp
2.可以run的是rdf檔,要想看得到的話就必須將rdf的點座標按照上列文章的格式key in並改存成附檔名為shl檔,最好存在<作業磁碟>\Documents and Settings\<你的電腦名稱>\
private.cdb\shell_graphics.tbl內
3.回到ADAMS中,叫出你的車子及路面(.drf),在run之前,選擇File\Import
4.>(1)在File type處下拉至Shell(*.shl)的地方;
>(2)File name選擇剛剛存的shl檔;
>(3)先講Reference Marker,我是選擇<model name>.ground.origo;
>(4)Shell name就為<model name>.ground.<任意名稱皆可,如a~z,但不可為中文>
5.最初import進去時是網格狀路面,還要選View\Render Mode\Smooth Shaded才會變得比較漂亮!
6.Good luck!
Bushing 问题
一般汽车底盘的轴承都有加橡胶,那就可以在轴和轴承之间用这个。输入在各个方向的刚度和阻尼就可以了。不是很复杂吧。
bushing主要是考虑到了两个物体间的弹性连接,比如麦弗逊悬架的下控制臂和副车架,幅车架和车身相连的地方都是采用了bushing,在car里面就可以看到。对于运动学分析,采用一般的连接即可(比如万向节),做动力学分析,就得采用busing以模拟弹性力。在我做的一个项目里面,地面对轮胎的低频力就是通过这个逐步传递到转向系的,如果不采用bushing,根本分析不出的
我是使用car的。
运动副和bushing都是连接方式。
运动学分析时,优先采用运动副连接。
柔性分析时,优先采用bushing连接。
bushing有十二个参数,6个刚度(线性和扭转)和6个阻尼(线性和扭转)。
以某一悬架的横向稳定杆为例,它有四个bushing,做悬架柔性分析时,
bushing的参数会影响悬架的特性。
bushing的参数值的选取,能作试验最好,还可以参考同类型车的参数值,按经验取值。
23、对于2005整车仿真错误的解决方法
现在,2005里面demo车默认使用的轮胎模型是magic formular tire 89,如果不用这个轮胎模型就可以了,你把轮胎特性文件换成fila的就可以了。轮胎文件具体位置: mdids://acar_shared/tires.tbl/mdi_fiala01.tir
这个文件你需要编辑一下,改动它的轮胎半径为你需要的即可。
听高手说在后处理模块中有个align torque,可是小弟就是一直找不到.
在后处理中轮胎力的组中
24、汽车专业术语
最近小弟在用adams/car做仿真,遇到一些参数,不是很明白,希望各位大侠能指教一二,呵呵!!
inclination angle
lateral slip angle
longitudinal angle
三个参数之我见:侧倾角、侧滑角、方向角(偏离汽车行驶方向的角度
运动学和动力学计算可输出内外轮角(Ackerman Angle)、转动半径(Turn Radius)、内倾刚度(Roll Stiffness)、回转半径(Scrnb Radius)、前束角(Toe Angle)、内倾(Kingpin Inclination)、刹车点头和加速沉尾(Anti-dive/Anti-lift)、外倾角(Camber Angle)、后倾角(Caster Angle)和纵向摆动(Front/Rear Roll)等参数,进行整车性能评价。
如果你要在一台机器上安装MatLab,又要安装ADAMS,那么你在安装MatLab时,不要安装MatLab Web Server选项,否则你的ADAMS就不能运行。
假如你已安装了该选项,也不要紧,到控制面板->服务里关闭MatLab Server项,一切OK!!
longitudinal slip angle 纵向滑动角
lateral slip angle 侧向滑动角
inclination angle 侧倾角
side slip angle 偏离角
25. 运动学仿真后,如何测量驱动力矩
我们在做机器人运动规划时,往往根据规划给出各个关节的运动轨迹,进行
运动学分析,如果要查看实现该运动各个关节需要加的驱动力矩,可以右键单击
相应的JOINT,然后在下拉菜单选择measure,在出现的界面里面选择Torque,
点ok就出来力矩曲线了。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删