diff --git a/src/modules/landing_target_estimator/LandingTargetEstimator.cpp b/src/modules/landing_target_estimator/LandingTargetEstimator.cpp index 3ce4aa38bd..8c33ab91ae 100644 --- a/src/modules/landing_target_estimator/LandingTargetEstimator.cpp +++ b/src/modules/landing_target_estimator/LandingTargetEstimator.cpp @@ -94,14 +94,13 @@ void LandingTargetEstimator::update() PX4_WARN("Timeout"); _estimator_initialized = false; - } else if (_vehicleLocalPosition_valid - && _vehicleLocalPosition.v_xy_valid) { + } else { float dt = (hrt_absolute_time() - _last_predict) / SEC2USEC; // predict target position with the help of accel data matrix::Vector3f a; - if (_sensorBias_valid) { + if (_vehicleAttitude_valid && _sensorBias_valid) { matrix::Quaternion<float> q_att(&_vehicleAttitude.q[0]); _R_att = matrix::Dcm<float>(q_att); a(0) = _sensorBias.accel_x; @@ -272,7 +271,6 @@ void LandingTargetEstimator::_check_params(const bool force) void LandingTargetEstimator::_initialize_topics() { - // subscribe to position, attitude, arming and velocity changes _vehicleLocalPositionSub = orb_subscribe(ORB_ID(vehicle_local_position)); _attitudeSub = orb_subscribe(ORB_ID(vehicle_attitude)); _sensorBiasSub = orb_subscribe(ORB_ID(sensor_bias));