牛小贱 发表于 2014-3-17 23:09

【共享】ADAMS/View和Car基础操作、心得及Car模块教程资料!!

本帖最后由 wdhd 于 2016-5-18 09:21 编辑

  一、首先是ADAMS/View和ADAMS/Car的基础操作和心得:
1、如何永久改变ADAMS的启动路径?在ADAMS启动后,每次更改路径很费时,我们习惯将自己的文件存在某一文件夹下;事实上,在Adams的快捷方式上右击鼠标,选属性,再在起始位置上输入你想要得路径就可以了。2、如何将回放过程保存为AVI格式的电影文件,以便在其他场合使用?   点击plotting(或F8)进入postprocessor,右键--load ANIMATION,点击"play"开始仿真,点击"record"开始录制动画。3、a/car TemplateBuilder.为什么我看不见这个菜单选项?答:需要改一下的!在你的系统盘下去面。例如我的C:Documents and Settingsrickytang(rickytang为我的用户名)下面有一个.acar文件,用记事本打开,然后将! Desired user mode(standard/expert)   ENVIRONMENT MDI_ACAR_USERMODEstandard改为:! Desired user mode (standard/expert)   ENVIRONMENTMDI_ACAR_USERMODE expert再启动car就可以看见选项了!进入car后按F9或者在tools下面选第一项就可以在模板与标准界面之间切换!4、关于communicatorcommunicator的出现是由于car是分块建模(子系统)为基础,而communicator告诉ADAMS软件子系统之间如何连接,所以communicator的名字要完全一样才行,而且对于某一特定的子系统而言,有多少与外部系统、testrig的连接就需要有多少个communicator。suspension parameter代表悬架特性反映,可参考公用模板中_trailing_arm.tpl和_multi_link.tpl。communicator表示数据传递的。纵臂、螺旋弹簧、减震器有一端是外部连接,需要建立mount,然后会自动产生输入communicator.输出communicator一般有以下8个:(它主要是把数据传递给轮胎的)co_camber_angleco_suspension_mountco_suspension_uprightco_toe_angleco_tripot_to_differentialco_wheel_centercos_driveline_activecos_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位于ADAMS12controls下。解决方法:是在simulink中设置好上述文件所在的路径,但一个更方便的方法是把它们都拷到matlab的当前工作目录下,一般是MATLAB6p1work。经过以上设置,应该不会再出现仿真失败的对话框了吧。另外,如果因为一些原因仿真失败,需重启matlab,否则的话因为一些运行库的错误信息还保留在系统中,即便改正了错误仿真也会失败,只有重新启动初始化这些库。我用的是adams12和matlab6.1,以前流传它们之间存在不兼容的问题,其实都是上述原因造成的,不存在版本兼容的问题,adams和matlab都是成功的商业软件,在发布前经过了大量的测试,如果不兼容他们不会置若罔闻,现在好像还没有他们的官方声明吧。确实,大部分的失败是由于没有正确设置工作路径而造成的,我想既然是针对一个项目进行仿真,那干脆为自己的项目建立一个文件夹,使ADAMS和MATLAB的工作区都相同,如发现有时仿真不成,可把adams_plant.dll也事先拷贝到同一文件夹里,这样方便又不会出大错。另外,对于还不大熟悉MATLAB的来说,在重仿时最好重ADAMS里重新导入MATLAB,并且必须在MATLAB里重新运行(很多时候MATLAB原来产生的变量被替换了),而不能只是简单的重新运行MATLAAB里建立的SIMULINK模型。总的来说,我感觉两者的联合仿真,困难之处不在于两者的接口问题,更关键的是我们所建立的机械系统的数学模型能否正确的建立,这将直接影响我们能否实现预想的控制目的,因为之所以要联合MATLAB,就是因为系统里各个量关系不好确定,要是容易确定的直接用ADAMS 里的函数等也可以控制了,对吧?所以要想更顺利的实现两者联合仿真的成功率,也需要对模型有准确的把握,不知道各位能否就机械方面较常见的系统归纳一下它们的数学模型,结合ADAMS实现更好的控制。Adams_plant.dll                Decode.m       .lib      Adams_severce7、关于转动问题,如何判断转动副的方向?转动副中构件绕轴转动的方向,符合右手法则,其中First body 绕Second body 转动……8、关于路普路谱是高度保密的东西,我们可以找一个已经有的轮胎特性文件,*.tpf文件,然后在稍微修改一下, 安装目录下 12.0solvertire_dat 里有轮胎文件。9、运动学仿真后,如何测量驱动力矩或者其他的物理量?我们在做机器人运动规划时,往往根据规划给出各个关节的运动轨迹,进行运动学分析,如果要查看实现该运动各个关节需要加的驱动力矩,可以右键单击相应的motion,然后在下拉菜单选择measure,在出现的界面里面选择Torque,点ok就出来力矩曲线了,其他物理量类同。10、Marker点与Pointer点区别Marker:具有方向性, 大部分情況都是伴随物件自动产生的,而 Point不具有方向性,都是用户自己建立的;Marker点可以用来定义构件的几何形状和方向,定义约束与运动的方向等,而Point点常用来作为参数化的参考点,若构件与参考点相连,当修改参考点的位置时,其所关联的物体也会一起移动或改变。11、如何在ADAMS下由数据生成样条曲线?在tools->command navigator....->Dataelement->create->spring line 后,会出現一个输入window窗口,选择numerical将xyz数值copy到xyz各自的表格上.......12、对ADAMS/CONTROLS的总结:1) 应用ADAMS/VIEW建立被控系统的ADAMS模型;2) 对建立好的模型增加主动力;3) 在模型中增加输入和输出状态变量,即输入函数;(现在这一部分还是不懂)4) 在ADAMS/VIEW中通过tool/plugin项将ADAMS/CONTROLS控制模块LOAD;5) 在controls项对plantexport进行设置;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/systemelements/state variable/new建立系统的状态变量,其函数根据函数编辑器进行编辑,不同类型的变量选择不同的表达式。14、 ADAMS/VIEW中的输入函数的指定方法:输入函数是指从输入状态变量取值的时间函数。只需在所建立的模型中在需要进行控制的部件施加一定的力或力矩,然后对其进行函数化:其函数的自变量为所指定的输入状态变量。这样所建立的模型就是受输入控制的系统。15、 在设计输入函数时,当输入函数表达的为力,而其自变量为其它的量,则通过指定adams函数来定义这一输入量。16、 现在还有两个问题没有解决:力与运动是什么关系,在ADAMS------MATLAB/SIMULINK仿真过程中需要设定的参数:PLANTEXPORT及SIMULINK仿真模块的ADAMS--SUB参数。17、力与驱动的关系:驱动包括直线驱动和旋转驱动,他们配合约束副使用。驱动就是指使所定义的约束副的运动按照所设定的驱动方程运动;而力指在模型中某一构件上所施加的力,其运动方向及速度要根据力的函数决定。如,在建立汽车模型时,地面的垂直不平度可以取为上下运动的驱动;而驱动轮的转动通常要通过输入其的力矩定义。在进行ADAMS-SIMULINK联合仿真时,需要将通过simulink控制模块决定的运动构件的驱动去掉,增加一力或力矩,其为系统设定的输入状态变量的函数。18、 增加驱动就已经知道构件的运动形式,而增加力则不能具体确定构建的运动形式。19、可以设定所研究车辆的轮胎模型(编制轮胎模型文件及道路输入文件),参考e/安装文件/adams帮助文档/tire20、Car模块中的标准用户和超级用户间的差别:Expert user 可以建立和修改模版,适于有经验的高级用户Standard user只是用于设计人员和检测人员,要进行仿真必须在这个环境下进行。21、使用car的一些经验之谈一.       car中悬架模板建立的问题car中公用数据库中有很多中独立和非独立悬架模板,例如:双横臂悬架,扭杆悬架,麦弗逊悬架,多连杆悬架等等。如果你要自己建立悬架,1.   需要分析和你要建的悬架类型相似的共用模板的悬架。了解其杆件的连接方式,悬架特性等等。2.   需要建立hardpoints(硬点)---generalparts(基本体)----geometry(几何属性)----添加约束。3.          悬架特性suspensionparameter和数据连接器communicator
suspension parameter代表悬架特性反映,可参考公用模板中的悬架。
communicator表示数据传递的。
例如:纵臂、螺旋弹簧、减震器有一端是车身连接,需要建立mount,然后会自动产生输入communicator。在车身模板中需建立相应的输出communicator。
输出communicator一般有以下8个:(它主要是把数据传递给轮胎的)
co_camber_angle
co_suspension_mount
co_suspension_upright
co_toe_angle
co_tripot_to_differential
co_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.cdbshell_graphics.tbl內
3.回到ADAMS中,叫出你的車子及路面(.drf),在run之前,選擇FileImport
4.>(1)在File type處下拉至Shell(*.shl)的地方;
   >(2)File name選擇剛剛存的shl檔;
 >(3)先講Reference Marker,我是選擇<model name>.ground.origo;
   >(4)Shell name就為<modelname>.ground.<任意名稱皆可,如a~z,但不可為中文>
5.最初import進去時是網格狀路面,還要選ViewRender ModeSmooth 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.从pro/e等三维建模软件导入到adams时,注意要在adams对模型赋予质量。26.做静平衡,设置setting-solver-equilibrium中的选项,error变大,alimit变小(先调节此项其他先不动),maxit变大,stability变大,imbalance变大将有助于求解静平衡。通过debug查看求解是否收敛,以决定是否进一步调整参数。
如果模型中有曲面接触,且规模不大的话,在setting-solver-contact中,将tolerance设置大点,或者将geometry library 设置为parasolid。有助于静平衡求解。27. STEP是递加递减函数 (确切的说不应该这么解释,递加递减方便理解,姑且这么解释吧)
STEP(time, 1, 0d, 3, 10d)
其上五个变量中,第一个(time)是横坐标定义;第二个(1)是时间起点(就是说,你要他什么时候开始递加递减;现在定义为1秒);第四个(3)是时间终点(你要他什么时候结束递加递减);第三个(0d)为递加递减数值的起点(切记,其值必须为0d,所以,不必修改);第五个(10d)为相对于0点的递加递减数值,这个是你可以自行修改的;
举个例子
STEP(time,1,0d,2,20d)+STEP(time,6,0d,12,-40)
意义:一秒到2秒:从0递增至20;
2秒到6秒:保持电机输出数值为20不变;6秒到12秒:由20递减40,结果为-20。所以,有两个特性必须记住:1,除非输入新的STEP,否则,上一个STEP的渐变结果将在接下来的时间里,一直保持。
2,每个STEP只能从0开始渐变,所以,每一次的STEP都是相对于上一次操作结果的累加计算。  二、接下来是ADAMS/CAR建模详细实例教程的分享,包括前悬架建模篇、前稳定杆篇、后稳定杆篇、车身篇、悬架篇、整车仿真分析篇等等,很详细(见附件1!)
  三、最后是ADAMS论坛讨论经典总结(见附件2!!)


acuto 发表于 2014-5-25 19:46

{:{10}:},向下在家小啦。结果怎么那么难

acuto 发表于 2014-5-25 20:03

哎,穷的可怜啊啊啊啊啊啊啊啊啊啊啊!!!!!!!!!!!!!!!!!

牛小贱 发表于 2014-5-25 20:45

acuto 发表于 2014-5-25 20:03
哎,穷的可怜啊啊啊啊啊啊啊啊啊啊啊!!!!!!!!!!!!!!!!!

已经可以免费下载了~

mywl 发表于 2014-7-26 20:53

院长 很给力哦 {:{03}:}

lgp1986119 发表于 2014-9-25 19:59

想学习下

yllys 发表于 2014-10-11 12:25

真好。。

谁主沉浮 发表于 2014-11-7 19:40

顶顶顶顶顶顶顶顶顶顶顶顶顶

朵颐大快 发表于 2014-11-25 11:41

为什么下载之后打开一些文件夹显示文件受损打不开啊!!!!

jakyyi 发表于 2015-1-24 23:28

歇息ieaaaaaaaaaaaaaaaaaaaaaaaa

jakyyi 发表于 2015-1-25 09:25

gagaggagagaagaa

jakyyi 发表于 2015-1-25 09:52

哈哈哈哈哈哈哈哈哈哈哈哈哈

DSC 发表于 2015-4-16 08:34

好东西,谢谢楼主分享!!!

联动世界1 发表于 2015-4-17 10:06

多谢分享!!! 不胜感激

mnbvc1255 发表于 2015-5-19 20:48

谢谢分享 ~~~
页: [1] 2 3
查看完整版本: 【共享】ADAMS/View和Car基础操作、心得及Car模块教程资料!!