MATLAB Answers

Simscape: Revolute joint block includes degree of freedom of other revolute joints in the assembly as its own degree of freedom?

9 views (last 30 days)
Joben Kennard Arroyo
Joben Kennard Arroyo on 4 Aug 2020
Answered: Juan Sagarduy on 15 Nov 2020
I am simulating a swing door with attached generator using simscape/simulink. I imagine there will only be one input for the system, which is the input force at the knob. I assembly the system, but i get this error in the revolute joint (SwingMotion) connecting the door to the hinge:
In the dynamically coupled component containing Revolute Joint 'SwingingDoor/Swing Motion', there are more joint primitive degrees of freedom with automatically computed force or torque (4) than with motion from inputs (0). In general, the equations of motion do not have a unique solution. Solve this problem by increasing the number of joint primitives with motion from inputs or reducing the number of joint primitives with automatically computed force or torque. Resolve this issue in order to simulate the model.
All the revolute joints in the assembly have its torque actuation set to automatically computed, as they wont have input torque. The assembly works if i set the torque actuation for all the revolute joints to none, but there will be no resulting torque on the generator shaft. I am able to measure the angular velocity but im having this problem with torque. Isnt it revolute joint block sets the degree of motion in the frame to only one rotational degree of motion? Why am i getting this error?. I hope someone can help me learn and resolve this problem. Any help is much appreciated.

  0 Comments

Sign in to comment.

Answers (1)

Juan Sagarduy
Juan Sagarduy on 15 Nov 2020
Hi Joben
If you want to make the joints passive, you should set: Actuation(none) - Motion (automatically computed). If actuated, you set to Defined by Input to accomodate the torque from a servo.
With your current setting Actuation(automatically computed) for the joints, a prescribed motion is required in some degrees of freedom in the mechanism to solve the kinematic states properly.
Try the new setting for the joints. I think it should work.
Regards / Juan

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!