How to connect a 6 DoF joint to a moving center of mass (by creating a moving frame) in Simscape Multibody
16 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Jintu
le 27 Sep 2024
Réponse apportée : Yifeng Tang
le 7 Oct 2024
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 have referred to several related solutions from the following MathWorks discussions: https://www.mathworks.com/matlabcentral/answers/1576920-placing-a-joint-on-a-moving-center-of-mass-in-simscape-multibody?s_tid=answers_rc1-2_p2_MLT and https://www.mathworks.com/matlabcentral/answers/1851513-simscape-multibody-apply-forces-sense-velocity-of-global-center-of-mass Unfortunately, I have not yet been successful in resolving this issue.
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 commentaires
Yifeng Tang
le 7 Oct 2024
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.
Réponse acceptée
Yifeng Tang
le 7 Oct 2024
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 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Applications dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!