From cde6080a7248d285ea49d8f2ec611c4dd0e80570 Mon Sep 17 00:00:00 2001 From: yezi <1536117624@qq.com> Date: Mon, 7 Aug 2023 00:34:34 +0800 Subject: [PATCH] Initialize gimbal_scale from param server. --- include/rm_manual/chassis_gimbal_manual.h | 2 +- src/chassis_gimbal_manual.cpp | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/include/rm_manual/chassis_gimbal_manual.h b/include/rm_manual/chassis_gimbal_manual.h index 4e27f183..52b0ccc0 100644 --- a/include/rm_manual/chassis_gimbal_manual.h +++ b/include/rm_manual/chassis_gimbal_manual.h @@ -54,7 +54,7 @@ class ChassisGimbalManual : public ManualBase virtual void aPressing(); virtual void sPressing(); virtual void dPressing(); - void mouseMidRise(int m_z); + void mouseMidRise(double m_z); rm_common::Vel2DCommandSender* vel_cmd_sender_{}; rm_common::GimbalCommandSender* gimbal_cmd_sender_{}; diff --git a/src/chassis_gimbal_manual.cpp b/src/chassis_gimbal_manual.cpp index 57a381f0..f637f3fe 100644 --- a/src/chassis_gimbal_manual.cpp +++ b/src/chassis_gimbal_manual.cpp @@ -20,6 +20,7 @@ ChassisGimbalManual::ChassisGimbalManual(ros::NodeHandle& nh, ros::NodeHandle& n ROS_ERROR("Gyro rotate reduction no defined (namespace: %s)", nh.getNamespace().c_str()); ros::NodeHandle gimbal_nh(nh, "gimbal"); gimbal_cmd_sender_ = new rm_common::GimbalCommandSender(gimbal_nh); + gimbal_scale_ = getParam(gimbal_nh, "gimbal_scale", 1.0); if (!gimbal_nh.getParam("finish_turning_threshold", finish_turning_threshold_)) ROS_ERROR("Finish turning threshold no defined (namespace: %s)", nh.getNamespace().c_str()); @@ -202,14 +203,14 @@ void ChassisGimbalManual::dRelease() vel_cmd_sender_->setLinearYVel(y_scale_); } -void ChassisGimbalManual::mouseMidRise(int m_z) +void ChassisGimbalManual::mouseMidRise(double m_z) { - if (gimbal_scale_ >= 0. && gimbal_scale_ <= 3.) + if (gimbal_scale_ >= 0. && gimbal_scale_ <= 30.) { - if (gimbal_scale_ + 0.2 <= 3. && m_z > 0.) - gimbal_scale_ += 0.2; - else if (gimbal_scale_ - 0.2 >= 0. && m_z < 0.) - gimbal_scale_ -= 0.2; + if (gimbal_scale_ + 2. <= 30. && m_z > 0.) + gimbal_scale_ += 2.; + else if (gimbal_scale_ - 2. >= 0. && m_z < 0.) + gimbal_scale_ -= 2.; } }