I want to sense the torque in a four-bar linkage using Simscape.
40 views (last 30 days)
Show older comments
I want to sense the torque in a four-bar linkage using Simscape.
I can apply torque to one joint, but I'm unable to sense the angle of the other joint.
error:['DocFourBarLinkage']: The following errors were found in the model DocFourBarLinkage.cause: ['DocFourBarLinkage']: In the dynamically coupled component containing Revolute Joint 'DocFourBarLinkage/Base-Rocker Revolute Joint', there are more joint primitive degrees of freedom with automatically computed force or torque (1) 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.
1 Comment
Yifeng Tang
on 18 Sep 2024 at 4:08
It sounds like you didn't set up the actuation correctly for some joints. Could you please share your model that would produce the error above so the community can help with your problem?
Answers (1)
Aravind
on 18 Sep 2024 at 5:34
From the screenshot, it looks like you are trying to sense the torque at the “Base-Rocker Revolute Joint.” The reason for the error is that the “Torque” option under “Actuation” would have been set to “Automatically Computed.” When this option is selected, the joint automatically calculates the actuation torque (torque applied by the joint) required based on some input motion (angle) information. However, in the model, there is no motion information provided to any of the joints, which prevents the solver from calculating the actuation torque, leading to the error mentioned.
This error can be resolved by setting the “Torque” option under “Actuation” to “None” in the block parameters of the revolute joint block. If you wish to sense the torque acting on the joint, you can select the “Total Torque” option under “Composite Force/Torque Sensing.” This will display an output port named “tt,” which contains the total torque acting on the joint. You can visualize this using a scope after passing it through a “PS-Simulink Converter” block.
Similarly, you can sense the angle of the joint by selecting the “Position” checkbox under the “Sensing” option in the block parameters of the “Revolute Joint” block. An output port labeled “q” will then be displayed by the block. This contains the angle of the joint in radians and can be visualized with a scope after passing it through a “PS-Simulink Converter” block.
Hope this helps!
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!