Center of mass of a free-floating body in Simscape Multibody is moving with no external forces
11 views (last 30 days)
Show older comments
Andrew Barth
on 19 Jun 2024
Commented: Andrew Barth
on 20 Jun 2024
I have a Simscape Multibody model consisting of a base body and single link manipulator. The base is attached to the world frame with a 6-DOF joint and the link is attached with a revolute joint. This is a free-floating body with gravity set to zero in order to model a spacecraft. The link is moving with a constant angular rate of 0.1 deg/s about the z axis. No external forces are applied and the base begins at rest; therefore the center of mass of the system should not move relative to the inertial frame. The combined system should rotate about the composite center of mass. However, the composite center of mass (measured by the inertia sensor relative to the world frame and set to mechanism) is moving at a constant velocity in the x direction. The constant value for velocity implies that there is some initial velocity being applied and no subsequent forces to change it, but I have no clue where this could be occuring. I have tested serveral different integrators and time steps and the result is always the same. Does anyone have an idea what could be causing an unwanted intital velocity? I have attached a model showing the issue. Thanks in advance for any help!
0 Comments
Accepted Answer
Yifeng Tang
on 20 Jun 2024
I believe there can be many solutions that would satisfy the initial conditions you have set. The only target set here is the speed of the revolute joint. The large object can have an initial velocity & rotation while the small one staying stationary, or the other way around. Multibody happens to settle at an initial solution that both are moving and the larger one has a much lower initial velocity.
One thing you can try and I attached a model where I did this: start with zero velocity everywhere and apply a torque at the joint after some time. The COM will indeed remain in place.
3 Comments
Yifeng Tang
on 20 Jun 2024
That I believe is a solver tolerance thing. You can try staying with the same ode45 solver and change the tolerances to 1 order of magnitude smaller. The shift in x & y COM is down by abour 100 times.
More Answers (0)
See Also
Categories
Find more on Assembly in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!