45 lines
1.0 KiB
C++
45 lines
1.0 KiB
C++
#pragma once
|
||
|
||
#include <stdint.h>
|
||
|
||
#include "device/motor_rm.h"
|
||
|
||
namespace arm {
|
||
|
||
enum class GripperState : uint8_t {
|
||
OPENING = 0,
|
||
OPEN_HOLD,
|
||
CLOSING,
|
||
PRELOAD,
|
||
CLOSE_HOLD,
|
||
FAULT,
|
||
};
|
||
|
||
// 调试变量与可调参数,保留为全局便于Watch实时观察/修改。
|
||
extern GripperState gripper_state_dbg;
|
||
extern bool gripper_target_close;
|
||
extern float gripper_output_dbg;
|
||
|
||
// 夹爪输出(MOTOR_RM_SetOutput 归一化范围:[-1, 1])
|
||
extern float gripper_out_open;
|
||
extern float gripper_out_close_fast;
|
||
extern float gripper_out_preload;
|
||
extern float gripper_out_hold;
|
||
extern float gripper_out_boost;
|
||
|
||
// 接触/防滑判据
|
||
extern float gripper_contact_current_th;
|
||
extern float gripper_contact_speed_th;
|
||
extern float gripper_slip_speed_th;
|
||
|
||
extern uint16_t gripper_contact_debounce_ms;
|
||
extern uint16_t gripper_preload_ms;
|
||
extern uint16_t gripper_boost_ms;
|
||
extern uint16_t gripper_open_timeout_ms;
|
||
extern uint16_t gripper_close_timeout_ms;
|
||
|
||
int8_t Gripper_Init(const MOTOR_RM_Param_t& param);
|
||
void Gripper_Step(bool target_close);
|
||
|
||
} // namespace arm
|