Placing a Joint on a Moving Center of Mass in Simscape Multibody

8 views (last 30 days)
Hi, I wonder if there is any way to place a joint on the center of mass of a mechanism. But here is the catch, the center of mass is moving. I am trying to model a flying rocket and rocket mass varies by time. As a consequence COM is moving (upwards). Simcape lets me see where the center of mass relative to a selected frame with the inertia sensor but neither I can manipulate the mechanism's COM nor I can place a joint fixed with respect to the mechanism's COM.
Is there any solution for this?
Baris Ucarsoy
Baris Ucarsoy on 9 Nov 2021
The 6-DOF joint is needed for connecting the rocket airframe to the world frame. I need unconstrained movement so I chose 6-DOF. I also need sensing ports from the joint so I can have feedback lines for changing drag and lift forces with respect to velocity. The problem is rocket airframe has a variable mass component (the motor), so during flight, my center of mass is moving upwards. I need my joint exactly connected to COM even when the COM is moving. The reason for that, to get an accurate stability response, rocket airframe needs to turn from COM.
From what I understand it is not yet possible to move joint location while in simulation. Thank you for your attention.

Sign in to comment.

Accepted Answer

Steve Miller
Steve Miller on 9 Nov 2021
To measure the location of the CG, you can use the Inertia Sensor block.
You may need to superimpose this measurement onto another measurement.
To apply forces to a CG that is moving, you can use an External Torque and Force block.
  1. Measure the change in CG location using the Inertia sensor.
  2. Apply that motion to a joint (you may need a very small mass at the end of that joint)
  3. Apply the forces and torques to that frame.
Steve Miller
Steve Miller on 1 Dec 2022
To avoid the algebraic loop, you either have to
  1. Break the using a transfer function loop OR
  2. Do not use the joint. Instead, apply the force at the same point always, but also apply an equivalent moment to compensate for the fact that the force is not being applied at the CG.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!