找回密码
 注册
Simdroid-非首页
查看: 127|回复: 2

[资料共享] ADAMS中给定运动情况下找到所需力的方法

[复制链接]
发表于 2008-12-3 08:59:10 | 显示全部楼层 |阅读模式 来自 陕西西安
Question
I've got a motion I want applied to my model at one end, and I would like to compute the force required to do this at the other.  How do I do this?
Answer
There are two ways to do this: 1. Apply a motion to a joint and calculate the force based on the torques and forces from this prescribed motion 2. Use controls to specify a desired motion which feeds (for example) a PID controller to generate a force 1.  Using MotionAttached to this article is the model "motion_example.cmd".  A desired motion of 10 degrees per second is applied to the revolute joint, and the force required to do this is calculated.  The following are the steps to get the force by applying a motion:A.  Apply a motion to a joint attached to ground.  With this motion, prescribe the desired motion for your model.  Here it is a rotational motion of 10 degrees per second.B.  Calculate the force by defining a function.  On this joint, build a request (see the REQUEST statement in Using ADAMS/Solver), which extracts the torque using a MOTION *function*.  By calculating the moment arm, you can subsequently determine the force.  See the Functions in "Using ADAMS/Solver" for more information on what calculations can be done.   Here the measure "force_required" computes the force using the MOTION function and a design variable which defines the moment arm:MOTION(.MODEL_2.MOTION_1, 0, 5, 0)/moment_armThus, in the model, "motion_example.cmd", the desired rotational motion of 10 degrees per second causes the rotational spring-damper, with a stiffness of 100 N-mm/deg (no damping force), to build up a torque.  The pendulum is 250 mm long, so for a 5 second analysis, 50 degrees of travel causes 5000 N-mm of torque to develop.  The measure "force_required" computes the torque divided by the moment arm, which is 20 N.To check the results for the forces that you calculate, take the forces and apply them to the end of the pendulum with a gforce or sforce, and then measure the motion to confirm that it is the same.2.  Using ControlsThe other option is to create a controller.  You can do this a number of ways, which are described in KB 8062, linked below.  By specifiying a desired motion, you can measure the actual motion, feed that back to get the error, and then use PID control to define the force. You can either use the control's toolkit (found under Build --> Controls toolkit) or define the controls equations with DIFF statements and DIF and DIF1 functions (see Using ADAMS/Solver for more details and the following two KB's linked below, 8421, 8978):  The following are the steps used to define the controlling force in the model "controls_example.cmd" (same pendulum as "motion_example.cmd"):A. Define design variables for you controls equationsdesired motionproportional control gain derivative control gainB.  Define a differential equationerror motion diff:varval(.MODEL_3.error_motion)Note: will have to define the state variable "error_motion" before this step
附件为实例的cmd文件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2011-11-21 16:49:09 | 显示全部楼层 来自 陕西西安
Simdroid开发平台
cmd命令的看不懂哦
回复 不支持

使用道具 举报

发表于 2017-7-13 19:35:20 | 显示全部楼层 来自 广东深圳
cmd命令很不错哦
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-11-1 19:28 , Processed in 0.055090 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表