ECEF 6DOF block - Abb output

In the ECEF 6DOF (Quaternion) block from Aerospace Blockset, there is an output labeled as "Abb - Accelerations in body-fixed axes" that is distinct from the inertial acceleration (Ab ff). The calculation for Abb appears to use the parameters of the ECEF frame to calculate the Coriolis and centrifugal terms, but I am unsure what the physical meaning of this quantity is.
I understand that if I wished to determine the acceleration of a point not at the body CG in the body-fixed frame, I would need to account for fictitious force terms (Coriolis, centrifugal, Euler) due to the moment arm between the CG and the point; however, this quantity appears to be something else. Any clarification would be appreciated.

Answers (1)

Sreeram
Sreeram on 22 Nov 2024
Hi Thomas,
Ab ff refers to the inertial acceleration of the body with respect to the ECEF frame expressed in body frame. Inertial acceleration with respect to the ECEF frame does not account for Coriolis and centrifugal accelerations, and is calculated as Fb/m. For reference, on the other hand refers to the acceleration of the body with respect to the ECEF coordinate system expressed in the body frame. The relationship between the two is
Abb = Ab ff + CoriolisAccel + CentrifugalAccel
So, it does not account for the Euler force.
Please refer to the supporting equations in the documentation:
Please note that Ab ff is denoted as in the equation given in the page. However, it is clarified in the Version History section that the port name subscripts of ecef have changed to ff from MATLAB R2023b:
Thanks

4 Comments

When I run a model using this 6DOF block with a spherical earth and starting at zero azimuth with no rotation rate or perturbing forces (i.e., the only force acting on the body is a spherical-model gravity force), I observe that the heading angle gradually deviates from zero over the course of the run. My understanding of this block is that the heading angle should remain constant in this case; is this something intrinsic to how the ECEF 6DOF block handles the equations of motion?
Paul
Paul on 26 Nov 2024
Edited: Paul on 26 Nov 2024
Perhaps I'm used to different terminology, but .... " A_bff refers to the inertial acceleration of the body with respect to the ECEF frame expressed in body frame."
What is the meaning of "inertial acceleration ... with respect to the ECEF frame"? Inertial acceleration and acceleration with respect to the ECEF frame are two different quantities.
I feel your pain. I don't use the Aerospace Blockset, and everytime I think I might be interested I get turned off by the documentation, which is .... typically not clear. The doc notation is not helpful and neither is the language for a few of the blocks that I've looked at.
According to the linked doc page, in the Ports section:
A_bb - Accelerations of the body with respect to the fixed-frame, returned as a three-element vector.
A_bff - Accelerations in body-fixed axes with respect to fixed-frame, returned as a three-element vector.
Interesting that the A_bff definition states that this vector is resolved in body-fixed axes, but the definition of A_bb doesn't say anything about the coordinate frame in which it's resolved. Looking further down the page in the Algorithms section, it's pretty clear that A_bb is resolved in body-fixed axes. Of course, that means there is no difference whatsoever between the definitions of A_bb and A_bff.
Moving down to the Algorithms section, we see that
A_becef=F_b/m
I guess they didn't get around to updating the left hand side, which I assume is really supposed to be A_bff in accordance with the update from ecef to ff in the port name subscripts. Of course, F_b/m is the acceleration relative to inertial space resolved in the body-fixed axes, so I don't know why the port description says it's the acceleration with respect to the fixed frame (unless ECEF is not rotating, which would be odd). And using ecef or ff in the subscript makes no sense for an acceleration relative to inertial. Note also that in the Ports section, under "Include inertial acceleration", that A_bff is referred to as inertial acceleration.
There is also an equation for A_bb (the third component of which should be wdot_b, not omegadot_b). I wouldn't call A_bb "acceleration of the body with respect to the fixed frame" though I would concede that's arguable.
Unclear why omega_ned is needed in this model.
In aerospace engineering, p, q, and r are commonly the components of the inertial angular velocity vector, which would be omega_b in these equations, but here they are the components of omega_rel.
Good luck.
Based on the Abb equation given in the documentation for the ECEF 6DOF block, it appears that one term of the Coriolis acceleration (w x v) is given using w_b x V_b, while the other is given using a transformation from ECEF to body frame (using w_b = DCM_be * w_e) where DCM_be is the DCM from earth-centered to body-fixed frame. I'm curious why there isn't a ECI 6DOF block (the ECEF 6DOF block with zero rotation rate should be equivalent, but as stated above, I am observing some anomalous behavior even in this case).
I don't see anything in the A_bb equation that uses DCM_be. Oh wait, you probably mean this term:
DCM_bf * omega_e x V_b
where DCM_bf should be DCM_be. Another mistake.
I haven't tried, but is the actual implementation in the block accessible? Might want to verify that the equations in the block match the equations in the doc.
Surely, the Aerospace Blockset has some blocks for basic 6DOF equations of motion in an inertial frame. That would be shocking if it didn't.

Sign in to comment.

Products

Release

R2024a

Tags

Asked:

on 21 Nov 2024

Commented:

on 26 Nov 2024

Community Treasure Hunt

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

Start Hunting!