How to change the rigid transform parameters between two frames during simulation in MultiBody Simscape?

8 views (last 30 days)
Hi, is there any way how to change the rigid transform parameters between two frames during simulation in MultiBody Simscape? Ideally, I would need a rigid transform block containing a signal input to change the translational offset. I tried to set the offset as a parameter but I couldn't figure out how to update it during simulation, let's say using an S-function. Or is there any other trick I could use? Thank you!

Accepted Answer

Steve Miller
Steve Miller on 1 Apr 2019
To achieve what you are trying to do, you would need to add a joint. That would allow you to specify the distance between two points using a signal.
The detailed explanation:
To specify only the distance between the two points, you would need to use a joint with a prismatic primitive, and ensure that that primitive is always pointing between the two frames. If your mechanism will ensure that the z-axis of each frame will always be colinear and aligned, you can just use a Prismatic joint. However, if the motion of both frames is completely free, you will need to chain a few elements together.
This combination should work in a generic case. You may need put solids between the Joints to avoid a degenerate mass distribution.
Frame - Universal Joint - Prismatic Joint - Universal Joint - Frame
--Steve

More Answers (0)

Community Treasure Hunt

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

Start Hunting!