ekf2: initialize origin from corrent position when possible

This commit is contained in:
bresch 2024-08-21 16:32:29 +02:00 committed by Mathieu Bresciani
parent af752536b9
commit 130fefb1e7
2 changed files with 3 additions and 3 deletions

View File

@ -113,7 +113,8 @@ void AuxGlobalPosition::update(Ekf &ekf, const estimator::imuSample &imu_delayed
} else {
// Try to initialize using measurement
if (ekf.setEkfGlobalOrigin(sample.latitude, sample.longitude, sample.altitude_amsl, sample.eph, sample.epv)) {
if (ekf.setEkfGlobalOriginFromCurrentPos(sample.latitude, sample.longitude, sample.altitude_amsl, sample.eph,
sample.epv)) {
ekf.enableControlStatusAuxGpos();
_reset_counters.lat_lon = sample.lat_lon_reset_counter;
_state = State::active;

View File

@ -280,8 +280,7 @@ bool Ekf::resetGlobalPosToExternalObservation(double lat_deg, double lon_deg, fl
uint64_t timestamp_observation)
{
if (!_pos_ref.isInitialized()) {
ECL_WARN("unable to reset global position, position reference not initialized");
return false;
return setLatLonOriginFromCurrentPos(lat_deg, lon_deg, accuracy);
}
Vector2f pos_corrected = _pos_ref.project(lat_deg, lon_deg);