How to connect a 6 DoF joint to a moving center of mass (by creating a moving frame) in Simscape Multibody
I am simulating the projectile motion of an ariel vehicle with its wing deployment in Simscape Multibody. The ariel vehicle has an initial velocity, which is provided by the State Target in 6 DoF joint. The 6DoF joint is connected to the CG location of the whole vehicle at its initial condition. During the projectile motion of the vehicle, the wing deployment occurs.
The CG location of the vehicle changes at every instant due to the wing deployment. I am measuring this distance using an Inertia Sensor. The whole process until this step works well.
My actual aim is to do a co-simulation between Simscape and a CFD solver. I created a Standalone FMU from the simscape model and provided to the CFD solver. From CFD solver I calculate the aerodynamic forces and moments based on new CG location at every time step and give as input to the simscape multibody model (FMU).
Current difficulty:
My current difficulty is on placing a joint on a moving center of mass (CG) in Simscape Multibody. In simscape, when we place a 6-DoF joint, the center of rotation is always on the joint connection point. In my case, this point is fixed at the initial CG location. Instead, I want to have a joint at the moving CG location. If I have a frame on the moving CG location, I can apply the aerodynamic forces from CFD (using 6 DoF joint) directly at that location. I tried to follow some related answers from 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 to resolve this issue, but I could not succed.
I appreciate any suggestion/comment in this regard how to place a frame (joint) on a moving center of mass (CG).
Thanks.I am simulating the projectile motion of an ariel vehicle with its wing deployment in Simscape Multibody. The ariel vehicle has an initial velocity, which is provided by the State Target in 6 DoF joint. The 6DoF joint is connected to the CG location of the whole vehicle at its initial condition. During the projectile motion of the vehicle, the wing deployment occurs.
The CG location of the vehicle changes at every instant due to the wing deployment. I am measuring this distance using an Inertia Sensor. The whole process until this step works well.
My actual aim is to do a co-simulation between Simscape and a CFD solver. I created a Standalone FMU from the simscape model and provided to the CFD solver. From CFD solver I calculate the aerodynamic forces and moments based on new CG location at every time step and give as input to the simscape multibody model (FMU).
Current difficulty:
My current difficulty is on placing a joint on a moving center of mass (CG) in Simscape Multibody. In simscape, when we place a 6-DoF joint, the center of rotation is always on the joint connection point. In my case, this point is fixed at the initial CG location. Instead, I want to have a joint at the moving CG location. If I have a frame on the moving CG location, I can apply the aerodynamic forces from CFD (using 6 DoF joint) directly at that location. I tried to follow some related answers from 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 to resolve this issue, but I could not succed.
I appreciate any suggestion/comment in this regard how to place a frame (joint) on a moving center of mass (CG).
Thanks. I am simulating the projectile motion of an ariel vehicle with its wing deployment in Simscape Multibody. The ariel vehicle has an initial velocity, which is provided by the State Target in 6 DoF joint. The 6DoF joint is connected to the CG location of the whole vehicle at its initial condition. During the projectile motion of the vehicle, the wing deployment occurs.
The CG location of the vehicle changes at every instant due to the wing deployment. I am measuring this distance using an Inertia Sensor. The whole process until this step works well.
My actual aim is to do a co-simulation between Simscape and a CFD solver. I created a Standalone FMU from the simscape model and provided to the CFD solver. From CFD solver I calculate the aerodynamic forces and moments based on new CG location at every time step and give as input to the simscape multibody model (FMU).
Current difficulty:
My current difficulty is on placing a joint on a moving center of mass (CG) in Simscape Multibody. In simscape, when we place a 6-DoF joint, the center of rotation is always on the joint connection point. In my case, this point is fixed at the initial CG location. Instead, I want to have a joint at the moving CG location. If I have a frame on the moving CG location, I can apply the aerodynamic forces from CFD (using 6 DoF joint) directly at that location. I tried to follow some related answers from 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 to resolve this issue, but I could not succed.
I appreciate any suggestion/comment in this regard how to place a frame (joint) on a moving center of mass (CG).
Thanks. simscape, 6-dof joint, moving center of mass, moving frame, co-simulation, simscape multibody, matlab, simulink MATLAB Answers — New Questions