diff --git a/kr_mav_manager/include/kr_mav_manager/manager.h b/kr_mav_manager/include/kr_mav_manager/manager.h index 6db59677..e00e0f40 100644 --- a/kr_mav_manager/include/kr_mav_manager/manager.h +++ b/kr_mav_manager/include/kr_mav_manager/manager.h @@ -188,6 +188,9 @@ class MAVManager // Services ros::ServiceClient srv_transition_; + + // Params + int motors_msg_queue_num_; }; } // namespace kr_mav_manager diff --git a/kr_mav_manager/src/manager.cpp b/kr_mav_manager/src/manager.cpp index 1b3cf218..f9901cb0 100644 --- a/kr_mav_manager/src/manager.cpp +++ b/kr_mav_manager/src/manager.cpp @@ -135,6 +135,9 @@ MAVManager::MAVManager(std::string ns) // Disable motors if(!this->set_motors(false)) ROS_ERROR("Could not disable motors"); + + // Params + nh_.param("motors_msg_queue_num", motors_msg_queue_num_, 10); } void MAVManager::tracker_done_callback(const actionlib::SimpleClientGoalState &state, @@ -624,7 +627,7 @@ bool MAVManager::set_motors(bool motors) // Queue a few to make sure the signal gets through. // Also, the crazyflie interface throttles commands to 30 Hz, so this needs // to have a sufficent duration. - for(int i = 0; i < 10; i++) + for(int i = 0; i < motors_msg_queue_num_; i++) { pub_so3_command_.publish(so3_cmd); pub_trpy_command_.publish(trpy_cmd);