Incorrect Torque Calculation SimMechanics
1 view (last 30 days)
Show older comments
I am wondering how exactly the gimbal joint works in SimMechanics. I have a robot rotating about a revoulte joint, on top of a gimbal joint that I have locked in place at 0, that is to say the gimbal joint is locked and cannot move, I am interested in the torques to keep this joint in place. I have fixed the angular acceleration to be zero for debugging purposes. When I leave the two frames coincident my simulation through SimMechanics matches with the Matlab numerical simulation I have developed using the parallel axis theorem and rigid body dynamics. With gravity turned off to ensure only torque due to the motion of the body. However when I move the revolut joint in the xy-plane SimMechanics believes that there is now a torque generated in the Z-axis when in reality I know there cannot be because angular acceleration is zero, while angular velocity is only in the z-axis because of this it cancels out torque generated in the z-axis because of the skew symmetric of angular acceleration. I use a rigid transform block to rigidly connect the gimbal joint to the revolut joint however this creats the inconsitency when displaced in the xy-plane but remains correct when displaced along the z-axis and the z-axes are coincident. My question is how to I rigidly connect a gimbal joint and a revolut joint without being coincident?
0 Comments
Answers (1)
Steve Miller
on 24 Jun 2021
Hi Jacob,
I am not sure I interpreted your explanation as you intended, but I believe the signals you are seeing on your scopes are mathematically accurate, just not the measurements you intended to review. If you lock a joint in place and measure the constraint torque, Simscape Multibody will tell you how much torque it requires to keep the joint in that position. If you apply a torque to a body about an axis that is offset and parallel from another axis about which it can rotate, I would expect that body to start rotating around that parallel axis. Attached to this answer is spinner_on_arm.slx which demonstrates what I think you are describing.
If you can upload your model, we can take a closer look.
--Steve
0 Comments
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!