FlightTaskAuto: check avoidance progress only for multicopter

This commit is contained in:
Martina
2018-09-07 14:59:18 +02:00
committed by Lorenz Meier
parent 07eb0b697e
commit 40650ee2c7
2 changed files with 7 additions and 1 deletions
@@ -56,6 +56,10 @@ bool FlightTaskAuto::initializeSubscriptions(SubscriptionArray &subscription_arr
return false;
}
if (!subscription_array.get(ORB_ID(vehicle_status), _sub_vehicle_status)) {
return false;
}
return true;
}
@@ -221,7 +225,7 @@ bool FlightTaskAuto::_evaluateTriplets()
_updateAvoidanceWaypoints();
}
if (MPC_OBS_AVOID.get()) {
if (MPC_OBS_AVOID.get() && _sub_vehicle_status->get().is_rotary_wing) {
_checkAvoidanceProgress();
}
@@ -44,6 +44,7 @@
#include <uORB/topics/position_setpoint.h>
#include <uORB/topics/home_position.h>
#include <uORB/topics/position_controller_status.h>
#include <uORB/topics/vehicle_status.h>
#include <lib/ecl/geo/geo.h>
/**
@@ -117,6 +118,7 @@ private:
matrix::Vector2f _lock_position_xy{NAN, NAN}; /**< if no valid triplet is received, lock positition to current position */
bool _yaw_lock = false; /**< if within acceptance radius, lock yaw to current yaw */
uORB::Subscription<position_setpoint_triplet_s> *_sub_triplet_setpoint{nullptr};
uORB::Subscription<vehicle_status_s> *_sub_vehicle_status{nullptr};
matrix::Vector3f
_triplet_target; /**< current triplet from navigator which may differ from the intenal one (_target) depending on the vehicle state. */