How to obtain the translational and angular accelerations of center of mass in rigid body
6 views (last 30 days)
Show older comments
We had placed several acceleration sensors (e.g., 4 to 6) on a compressor at different positions. And the translational accelerations in x,y,z-directions over time for different positions on the compressor were messasured.
Assuming the compressor as Rigid Body, we would like to calculate the translational and angular accelerations of center of mass in this compressor (the x, y, z-corrdinates of center of mass are known) by using MATLAB.
Any suggestions would be greatly appreciated. Thanks. Feng
0 Comments
Answers (1)
William Rose
on 17 Oct 2023
@Feng, I have moved my comment to an answer, since that is what I intended.
To start, we should know the positions of the sensors relative to one another in x,y,z space, at rest.
To estimate what is happening at the center of mass (COM), we have to know where the COM is, relative to the sensors. This could be calculated, if you know the mass distribution of the compressor. If you do not have that information, then you can estimate the COM location, using your own intuition, or by using the centroid of the sensor locations, or the median of the sensor locations.
Are the sensors oriented with their axes aligned? If not, then we need to estimate their relative alignment, and then we need to rotate the measured linear accelerations to a common coordinate system.
Now assume that the linear accelerations are expressed in a common coordinate system. I assume that the rotation angles will be quite small, since this is a compressor which is probably mounted securely to a base that does not move. In that case, we can estimate the motions of each sensor by double integration, without having to do quaternion math associated with rotations. We will go back and check the small-rotation-assumption later.
Now you have estimated 3D positions of each sensor as a function of time. If the entire compressor were truly rigid, then the distances between sensor locations and the angles between them would all remain exactly constant. But in the real world, this will not be the case, due to non-rigidity and due to measurement error. Therefore, at each time point, we estimate the position and orientation of the "rigid" body, by least squares fit, using singular value decomposition. This will provide an estimate of the position and orientation of the "rigid" compressor at each instant.
Then we can see how much it rotates, and we can see if the positions estimated with linear acceleration plus rotation are close to the positions we originally esitmated by ignoring the rotation.
3 Comments
William Rose
on 18 Oct 2023
Edited: William Rose
on 18 Oct 2023
[edit: add parenthetical remark below]
You are welcome. I have analyzed similar data for three accelerometers mounted on an aircraft engine in a test stand. The results were very good, i.e. I found a linear acceleration and rotational acceleration at the COM that predicted linear accelerations at sensors, and the match between the measured and predicted accelerations at the sensors was very good. This result suggests that (a) my method worked, including the small-rotation approximation, and (b) the sensor locations and alignment were accurate, and (c) the engine plus sensors was acting like a rigid body.
The equations in my comment above, after equation 1, are from my own analysis. I will appreciate it if you credit me in any publications. Thank you.
You said "A comprison study should be conducted to verify if the rotation could be ignored." My method does not ignore rotations. (I was incorrect when I said that it did, in my initial post.) It just assumes that rotations are sufficiently small that a linear approximation can be used.
See Also
Categories
Find more on Engines & Motors 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!