How to measure rotational velocity from the center of gravity of an object in Simscape Multibody?

2 views (last 30 days)
Joshua Yeggy
Joshua Yeggy on 28 May 2018
Answered: Steve Miller on 25 Jun 2021
Hi all, I currently need to use the rotation velocity measurements from an object rotating over all axis (think rotating in space), however whenever I try obtaining the truth data from a transform sensor for rotational velocity, I get values that are not at all constant. This is despite no external forces acting on the object.
For example if I had a long prism with the dimensions [.1 1 1] separated from the world frame with a 6dof block which is then given initial conditions of spherical primitive velocity values [-.1 .2 .3], the resulting scope outputs a graph with values that are not at all constant. This is where I am confused, because according to my best understanding a rotation around the center of gravity will remain constant.
Pictures of a rough layout below.
Would anyone be able to explain why the rotation is not constant?

Answers (1)

Steve Miller
Steve Miller on 25 Jun 2021
Hi Joshua,
I believe the problem is that your measurements are not being reported in the reference frame that you want. There are quite a few options in the Transform Sensor block so that you can get the exact measurement you are looking for. From your scope you can see that the magnitude of the three measurements is remaining nearly constant which is consistent with your expectation. The components of the angular velocity that being plotted in the scope, however, are varying due to the reference frame of your measurement.

Community Treasure Hunt

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

Start Hunting!

Translated by