Unexpected velocity component in aerospace block set 6dof euler equations
Ältere Kommentare anzeigen
I'm using the 6DoF equations of motion block and seeing a growing velocity component that I don't expect to see.
Initial conditions are:
- Initial position in inertial axes [Xe,Ye,Ze]: 0, 0, 0
- Initial velocity in body axes [U,v,w]: 25, 0, 0
- Initial Euler orientation [roll, pitch, yaw]: 0, 0, 0
- Initial body rotation rates [p,q,r]: [ 0, 0, 1]
- Initial mass: 1
- Inertia: Identity matrix [eye(3)]
Inputs:
- F_xyz: 0 0 0
- M_xyz: 0 0 0
All outputs are as expected except for a growing velocity term in V_e along the east (y) axis. This velocity term is gradually increasing as I run the simulation. I expect V_e to be [25, 0, 0] but instead I see [25, 5e-7, 0]. This also causes an error in the position X_e along the east (y) axis.
My guess is that this error is creeping in to the blockset equations from floating point error during the calculation of body acceleration (A_b) and then transformation and removal of the Coriolis effect to calculate NED velocity.
As a side note, Coriolis term in the body acceleration is half what I expect it to be. Any thoughts on either of this issues would be appreciated!
Antworten (1)
Sebastian Castro
am 27 Mär. 2015
0 Stimmen
First 2 things I would try out:
- Does that initial body rotation rate element of 1 affect the results at all? That is, if you changed that to [0, 0, 0], does the effect go away?
- If it is more of a numerical error, you could try going to the Solver settings and reducing the time step, increasing the tolerances, etc. Maybe this could help.
- Sebastian
1 Kommentar
Andrew Chambers
am 27 Mär. 2015
Kategorien
Mehr anzeigen
Mehr zu Unit Conversions finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!