suyuewen 发表于 2008-12-3 08:59:10

ADAMS中给定运动情况下找到所需力的方法

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文件

mnwzc 发表于 2011-11-21 16:49:09

cmd命令的看不懂哦

小星星 发表于 2017-7-13 19:35:20

cmd命令很不错哦
页: [1]
查看完整版本: ADAMS中给定运动情况下找到所需力的方法