arm/User/module/gripper_rm.hpp
2026-03-20 04:14:00 +08:00

45 lines
1.0 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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