How to connect a 6 DoF joint to a moving center of mass (by creating a moving frame) in Simscape Multibody

16 ビュー (過去 30 日間)
I am simulating the projectile motion of an aerial vehicle with wing deployment in Simscape Multibody. The vehicle is given an initial velocity using the State Target in the 6-DOF joint. The 6-DOF joint is connected to the center of gravity (CG) of the vehicle at its initial position. During the projectile motion, the wings deploy, causing the CG location of the vehicle to change over time. I am measuring this displacement using an Inertia Sensor, and this part of the simulation works well.
My ultimate goal is to perform a co-simulation between Simscape and a CFD solver. I created a Standalone FMU from the Simscape model, which I provided to the CFD solver. In the CFD solver, I calculate the aerodynamic forces and moments based on the updated CG location at each time step and pass these values as inputs to the Simscape Multibody model (FMU).
Current Difficulty:
My current challenge lies in placing a joint at the moving center of mass (CG) in Simscape Multibody. In Simscape, when a 6-DOF joint is placed, the center of rotation is fixed at the joint connection point, which in my case is the initial CG location. However, I need the joint to follow the moving CG. If I can create a frame at the moving CG location, I could directly apply the aerodynamic forces from the CFD solver (using the 6-DOF joint) at that updated location.
I would greatly appreciate any suggestions or comments on how to place a frame (joint) at a moving center of mass (CG) in Simscape Multibody.
Thank you!.
  5 件のコメント
Jintu
Jintu 2024 年 10 月 7 日
Thank you very much!
In my model, I did not use both unit delay block and trasfer function block. I used either one of then while testing. Apologize for the wrong statement in the previous reply.
The model provided good results with a really small time constant at the transfer function!
Yifeng Tang
Yifeng Tang 2024 年 10 月 7 日
Good to know!
An really small time constant may result in unneccessary, overly small time steps. Consider experiment with a few different values and find out what is small enough for your application. Good luck!
I'll summarize the comments and put into the Answer section.

サインインしてコメントする。

採用された回答

Yifeng Tang
Yifeng Tang 2024 年 10 月 7 日
Summarizd from comments:
(1) leave the 6DOF untouched
(2) use the measured CG location to drive a cartesian joint to the new CG location. you MAY need a tiny mass to avoid degenerate system error.
(3) apply the calculated force at the follower frame of the cartesian joint.
(4) use a transfer function with small time constant to break algebraic look if any occurs. experiment with the value to find a small enough one.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeApplications についてさらに検索

製品


リリース

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by