errors when generating certain motions of Revolute Joint in simMechanics
101 views (last 30 days)
The simMechanics system is as follow:
simin is input from workspace and is the motion of Revolute Joint as the time goes on.
But it shows some kind of error: In the dynamically coupled component containing Revolute Joint Revolute_Joint, there are fewer joint primitive degrees of freedom with automatically computed force or torque (0) than with motion from inputs (1). The prescribed motion trajectories in this component may not be achievable. Solve this problem by reducing the number of joint primitives with motion from inputs or increasing the number of joint primitives with automatically computed force or torque. Resolve this issue in order to simulate the model.
Does anybody knows what's wrong and what should I do to solve the problem.
Steve Miller on 5 Aug 2017
Edited: Steve Miller on 5 Aug 2017
I suspect all you need to do in the model pictured above is set the Torque setting to "Automatically Computed" in your Revolute joint.
To configure motion actuation at a Revolute Joint, you make two changes as shown in the image below. This lets you perform inverse dynamics simulation with Simscape Multibody, where the simulation tells you the forces and torques required to achieve a desired motion trajectory.
You can solve very challenging inverse dynamics problems with Simscape Multibody, including prescribing the motion along one degree of freedom and determining the required force/torque at other degrees of freedom. For more details, see the documentation page Specifying Joint Actuation Inputs.
Attached to this answer is a modified version of shipping example sm_four_bar where one input is driven with motion actuation. Please note the settings within the Simulink-PS block, including units and input filtering. When possible, let Simscape calculate a consistent set of derivatives for you (see documentation page Specifying Motion Input Derivatives).