errors when generating certain motions of Revolute Joint in simMechanics
20 views (last 30 days)
Show older comments
The model:

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.
3 Comments
Naseeb Gill
on 2 Mar 2017
Hello @Shuangjun, I am also facing same problem and I changed actuation force to automated computed but the problem is same. Image showing error attached. Can you please help me to resolve this.

Mohammad
on 29 May 2025
I believe another reason for your error is that you need to go to (Simulink PS-Converter) and turn the second order differentiation. First test your simulink by giving a sin input, then try to import your variables
Answers (1)
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).
Thanks,
--Steve
4 Comments
Victor Gheorghiu
on 8 Apr 2025
The illustration above must be included in the help as a note in such cases!
It is much more impressive than the simscape error message.
This error message is so poor in information that you can't do anything with it!
Mohammad
on 29 May 2025
@Joben Kennard Arroyo when you controlling the position only, if your signal is coming from a continous source or workspace, perhaps you need to go to Simulink Ps-Converter block, turn on the filtering and decond second order. This way it will calculate the speed and acceleration as well
See Also
Categories
Find more on Assembly in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!