errors when generating certain motions of Revolute Joint in simMechanics

113 views (last 30 days)
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.
  2 Comments
Shuangjun
Shuangjun on 12 Apr 2016
Edited: Shuangjun on 12 Apr 2016
If you specify one input, there must be one coupling automatic computed force to counter this effect. It means if the solid moves, there must be corresponding force applied on it. Solution: Simply change the actuation force to automated computed.
Naseeb Gill
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.

Sign in to comment.

Answers (1)

Steve Miller
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
  2 Comments
Joben Kennard Arroyo
Joben Kennard Arroyo on 4 Aug 2020
I had the same problem when i set the torque actuation to automatically computed. Revolute joints only have one rotational degree of freedom. The components that i am connecting with the joint is coincident with the z-axis.But the error says that "there are more joint primitive degrees of freedom with automatically computed force or torque (1) than with motion from inputs". I dont know where are these other joint primitive degrees if freedom came from when the revolute joint specifically makes it so that the connection will have only one rotational degree of freedom. I may be just lacking knowledge, but I dont get this error.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!