From da2191b721616c35390d768296e19e3893d7d2d1 Mon Sep 17 00:00:00 2001 From: Martina Date: Tue, 17 Jul 2018 13:23:11 +0200 Subject: [PATCH] mc_pos_control: check parameter MPC_OBS_AVOID to enable obstacle avoidance --- src/modules/mc_pos_control/mc_pos_control_main.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/modules/mc_pos_control/mc_pos_control_main.cpp b/src/modules/mc_pos_control/mc_pos_control_main.cpp index b3d5dc14c9..e62d52c595 100644 --- a/src/modules/mc_pos_control/mc_pos_control_main.cpp +++ b/src/modules/mc_pos_control/mc_pos_control_main.cpp @@ -137,7 +137,8 @@ private: (ParamFloat) MPC_LAND_ALT2, // altitude at which speed limit downwards reached minimum speed (ParamInt) MPC_POS_MODE, (ParamInt) MPC_ALT_MODE, - (ParamFloat) MPC_IDLE_TKO /**< time constant for smooth takeoff ramp */ + (ParamFloat) MPC_IDLE_TKO, /**< time constant for smooth takeoff ramp */ + (ParamInt) MPC_OBS_AVOID /**< enable obstacle avoidance */ ); control::BlockDerivative _vel_x_deriv; /**< velocity derivative in x */ @@ -989,7 +990,8 @@ bool MulticopterPositionControl::use_obstacle_avoidance() { /* check that external obstacle avoidance is sending data and that the first point is valid */ - return ((hrt_elapsed_time((hrt_abstime *)&_traj_wp_avoidance.timestamp) < TRAJECTORY_STREAM_TIMEOUT_US) + return (MPC_OBS_AVOID.get() + && (hrt_elapsed_time((hrt_abstime *)&_traj_wp_avoidance.timestamp) < TRAJECTORY_STREAM_TIMEOUT_US) && (_traj_wp_avoidance.waypoints[vehicle_trajectory_waypoint_s::POINT_0].point_valid == true) && ((_vehicle_status.nav_state == vehicle_status_s::NAVIGATION_STATE_AUTO_MISSION) || (_vehicle_status.nav_state == vehicle_status_s::NAVIGATION_STATE_AUTO_RTL)));