When to use a frame and when to use a rigid transform?

two legs
The above is a simple model of two legs, for the upper leg (between the torso and the knee), one implementation (the one in the top of the schematic) is modeled with a brick solid with two rigid transforms, one transforms R to the connecting point between the upper leg and the torso, and the other one transforms R to the connecting point between the upper leg and the knee joint.
The other implementation (the one in the bottom of the schematic) is modeled with a solid brick and two custom frames, one of the two custom frames is located at the connecting point between the upper leg and the torso, and the other is located at the connecting point between the upper leg and the knee joint.
The lower leg has the simliar difference.
Given that the two implementations gives the same result (the scope has identical outputs), my question is, what's the differnce between frames and rigid transforms? when should I prefer one over another? I suppose they are designed for different purpose?

Answers (1)

Both methods you show result in frames created where you wanted them. The advantage of defining the frame within the Solid blocks is that if the frame is dependent upon a dimension of the solid, you only have to change the value in one place. If you use a Rigid Transform and the frame location should be consistent with the solid length, you may need to update the value in two places (Rigid Transform and Solid block), which can be easily done using a MATLAB variable.
Sometimes, frame locations and orientations have nothing to do with solid sizes, so we offer both options.
--Steve

Asked:

on 10 Sep 2022

Answered:

on 18 Nov 2022

Community Treasure Hunt

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

Start Hunting!