mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-03 08:48:53 +08:00
ekf2: do not inline getPosition
This commit is contained in:
committed by
Mathieu Bresciani
parent
a224d38e52
commit
93c690f133
@@ -568,6 +568,26 @@ bool EstimatorInterface::initialise_interface(uint64_t timestamp)
|
||||
return true;
|
||||
}
|
||||
|
||||
Vector3f EstimatorInterface::getPosition() const
|
||||
{
|
||||
LatLonAlt lla = _output_predictor.getLatLonAlt();
|
||||
float x;
|
||||
float y;
|
||||
|
||||
if (_local_origin_lat_lon.isInitialized()) {
|
||||
_local_origin_lat_lon.project(lla.latitude_deg(), lla.longitude_deg(), x, y);
|
||||
|
||||
} else {
|
||||
MapProjection zero_ref;
|
||||
zero_ref.initReference(0.0, 0.0);
|
||||
zero_ref.project(lla.latitude_deg(), lla.longitude_deg(), x, y);
|
||||
}
|
||||
|
||||
const float z = -(lla.altitude() - getEkfGlobalOriginAltitude());
|
||||
|
||||
return Vector3f(x, y, z);
|
||||
}
|
||||
|
||||
bool EstimatorInterface::isOnlyActiveSourceOfHorizontalAiding(const bool aiding_flag) const
|
||||
{
|
||||
return aiding_flag && !isOtherSourceOfHorizontalAidingThan(aiding_flag);
|
||||
|
||||
@@ -242,25 +242,7 @@ public:
|
||||
Vector3f getVelocity() const { return _output_predictor.getVelocity(); }
|
||||
const Vector3f &getVelocityDerivative() const { return _output_predictor.getVelocityDerivative(); }
|
||||
float getVerticalPositionDerivative() const { return _output_predictor.getVerticalPositionDerivative(); }
|
||||
Vector3f getPosition() const
|
||||
{
|
||||
LatLonAlt lla = _output_predictor.getLatLonAlt();
|
||||
float x;
|
||||
float y;
|
||||
|
||||
if (_local_origin_lat_lon.isInitialized()) {
|
||||
_local_origin_lat_lon.project(lla.latitude_deg(), lla.longitude_deg(), x, y);
|
||||
|
||||
} else {
|
||||
MapProjection zero_ref;
|
||||
zero_ref.initReference(0.0, 0.0);
|
||||
zero_ref.project(lla.latitude_deg(), lla.longitude_deg(), x, y);
|
||||
}
|
||||
|
||||
const float z = -(lla.altitude() - getEkfGlobalOriginAltitude());
|
||||
|
||||
return Vector3f(x, y, z);
|
||||
}
|
||||
Vector3f getPosition() const;
|
||||
LatLonAlt getLatLonAlt() const { return _output_predictor.getLatLonAlt(); }
|
||||
const Vector3f &getOutputTrackingError() const { return _output_predictor.getOutputTrackingError(); }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user