Question regarding `rf.LinAccelSign`
조회 수: 2(최근 30일)
I am looking into the available error state filters for aided inertial navigation, particularly insfilterErrorState.
There is one part of the code that I am having a hard time understanding, which is the usage of rf.LinAccelSign on line 98 of ErrorStateIMUGPSFuserBase.m. This is used to invert the sign of the acceleration measurements from the accelerometer before they are used in the prediction routine, the comment above reads
rf = rfconfig(obj.ReferenceFrame);
% Invert the accelerometer signal if linear acceleration is
% negative in the reference frame.
accelMeas = rf.LinAccelSign.*accelMeas;
Looking at ReferenceFrame.m I can see that the LinAccelSign parameter is given as negative for both ENU and NED frames, can this really be the case? I would have guessed that they would have been the opposite of one another.
Edit: Just noticed, in NED.m
% LinAccelSign - is the linear acceleration a positive or negative
% In ENU, it is a negative quantity.
LinAccelSign = -1;
the exact same is written in the ENU.m file, perhaps this is an error?
Ryan Salvo 2021년 7월 30일
This is actually correct for both NED and ENU, as we have defined them in the insfilterErrorState. However, here is a small typo in the comment in the NED.m file. The final line should read:
% In NED, it is a negative quantity.
This typo has been fixed in future releases, apologies for any confusion it may have caused.