ECEF 6DOF block - integrator initial conditions

조회 수: 48 (최근 30일)
Thomas
Thomas 2024년 12월 16일 21:57
편집: Paul 2024년 12월 20일 13:16
The body rate integrator in the ECEF 6DOF block appears to generate nonzero outputs at the first timestep (t = 0) with initial conditions set to zero for all rates. That is, the first element of the logged output for the rates signal is nonzero when all three rates have started out as zero.
Is this behavior intended for this instance of the integrator?

답변 (1개)

Paul
Paul 2024년 12월 16일 22:40
Hi Thomas,
Are you referring to 6DOF ECEF (Quaternion)?
What exactly do you mean by the "body rate integrator"? Are you logging a signal at the output of an integrator inside the block (if so, which one)? Or are you referring to the block output port labeled omega_b?
Are the initial conditions you're referrring to the block parameter "Initial body rotation rates [p,q,r]"?
A. I'm going to assume that the initial condition in question is that block parameter. Keep in mind that p,q, and r are the components of what the doc page calls omega_rel.
B. I'm going to assume that the logged output in question is the output port omega_b. Keep in mind that omega_b is the angular velocity relative to inertial space.
We have the equation:
omega_b = omega_e + omega_ned + omega_rel
where omega_e is the angular velocity of ECEF relative to inertial and omega_ned is angular velocity of the NED frame relative to ECEF (and I've left out some DCM multiplications for simplicity).
So even if omega_rel = 0 at t = 0, omega_b would be non-zero at t = 0 unless the initial velocity and position of the vehicle is specified such that omega_ned is the exact opposite of omega_e.
If I'm looking at the wrong block or if either assumption is incorrect, please add more specificity as to the exact block (with a link to its doc page), block parameter, and signal in question.
  댓글 수: 12
Thomas
Thomas 2024년 12월 19일 13:31
Hi Paul,
A final point regarding this which I think resolves the issue.
I took another look through the documentation and realized that the initial body rates specified are in the NED frame (NOT in the inertial frame). If there is no initial velocity, then the rotation rates of the local horizontal frame will be zero (hence w_b = w_rel); however, if an initial velocity is present, the local horizontal frame will have a nonzero rotation rate as the body will be changing its latitude and/or longitude. Therefore, for a nonzero initial velocity, if zero INERTIAL body rates are desired, the value input for the initial body rates in the ECEF block must be [0 0 0] - DCM_be * w_ned (if w_e is zero). When I make this correction, the body rates with respect to the inertial frame are consistently zero as expected.
I think this is isn't the best way to input initial conditions (a better way would be to have the initial rates w.r.t. the inertial frame), but this is how the block is for now so we have to live with it.
Paul
Paul 2024년 12월 19일 14:32
편집: Paul 2024년 12월 20일 13:16
Correct, as stated previously, the fundamental equaion is:
omega_b = omega_e + omega_ned + omega_rel
The block parameter
Initial body rotation rates [p,q,r]
specify the initial conditions on omega_rel, which is the angular velocity of the body relative to the instantaneous NED frame.
The initial condition on omega_ ned, the angular velocity of the NED frame relative to the earth-fixed frame, is determined from "the initial velocity and position of the vehicle."
So if we have a non-zero initial velocity s.t. omega_ned is non-zero, then the intial value of omega_rel would need to cancel that out in order for omega_b (angular velocity relative to inertial space) to be zero (assuming omega_e is zero as previously stated).
BTW, there is yet another error on the doc page. The equation in the Algorithms section for omega_ned is incorrect. It shows omega_ned as a function of N and M, which are defined directly underneath that equation as components of the applied moments. Of course, that equation for omega_ned is incorrect and the M and N should be replaced with the appropriate ellipsoidal earth parameters. Between this thread and your other thread, I'm finding that doc page to be very impressive (heavy sarcasm).

댓글을 달려면 로그인하십시오.

제품


릴리스

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by