From 811122382ce77a0a04bf941a428a614833b7a15c Mon Sep 17 00:00:00 2001 From: "lxbpxylps@126.com" Date: Wed, 10 Mar 2021 23:35:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=88=B5=E6=9C=BA=E5=BA=93?= =?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0=E6=9B=B4=E5=A4=9A=E5=8A=A8=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TaiChi/servoTaiChi.cpp | 24 ++++++++++++++++++++++++ TaiChi/servoTaiChi.h | 10 ++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/TaiChi/servoTaiChi.cpp b/TaiChi/servoTaiChi.cpp index a9332e2..94c0d33 100644 --- a/TaiChi/servoTaiChi.cpp +++ b/TaiChi/servoTaiChi.cpp @@ -142,6 +142,14 @@ void Servo::Reset(float speed) } + //放下爪子,指定速度 +void Servo::Down(float speed) +{ + SetActionGroupSpeed(ACTION_DOWN_NUM, speed); + RunActionGroup(ACTION_DOWN_NUM, 1); +} + + //抓取,指定速度 void Servo::Catch(float speed) { @@ -158,6 +166,22 @@ void Servo::Release(float speed) } +//增益点放下爪子,指定速度 +void Servo::GainDown(float speed = SERVO_NORMAL_SPEED) +{ + SetActionGroupSpeed(ACTION_GAINDOWN_NUM, speed); + RunActionGroup(ACTION_GAINDOWN_NUM, 1); +} + + +//增益点抓取,指定速度 +void Servo::GainCatch(float speed = SERVO_NORMAL_SPEED) +{ + SetActionGroupSpeed(ACTION_GAINCATCH_NUM, speed); + RunActionGroup(ACTION_GAINCATCH_NUM, 1); +} + + //停止舵机并恢复初始状态,指定速度 void Servo::StopAndReset(float speed) { diff --git a/TaiChi/servoTaiChi.h b/TaiChi/servoTaiChi.h index d20effe..5fa7bc6 100644 --- a/TaiChi/servoTaiChi.h +++ b/TaiChi/servoTaiChi.h @@ -36,8 +36,11 @@ //动作组 #define ACTION_RESET_NUM 99 -#define ACTION_CATCH_NUM 100 -#define ACTION_RELEASE_NUM 101 +#define ACTION_DOWN_NUM 100 +#define ACTION_CATCH_NUM 101 +#define ACTION_RELEASE_NUM 102 +#define ACTION_GAINDOWN_NUM 103 +#define ACTION_GAINCATCH_NUM 104 //默认动作组速度 @@ -60,8 +63,11 @@ public: void OpenClaw(void); //打开爪子 void Reset(float speed = SERVO_NORMAL_SPEED); //恢复初始状态,指定速度 + void Down(float speed = SERVO_NORMAL_SPEED); //放下爪子,指定速度 void Catch(float speed = SERVO_NORMAL_SPEED); //抓取,指定速度 void Release(float speed = SERVO_NORMAL_SPEED); //释放,指定速度 + void GainDown(float speed = SERVO_NORMAL_SPEED); //增益点放下爪子,指定速度 + void GainCatch(float speed = SERVO_NORMAL_SPEED); //增益点抓取,指定速度 void StopAndReset(float speed = SERVO_NORMAL_SPEED); //停止舵机并恢复初始状态,指定速度 private: