API 与示例¶
示例为 Python,C++ 接口同名,详见 help(t.FollowerGripper);安装见准备与自检,运动见运动控制。
打开从夹爪¶
只接一只:
多只按左右与主从挑:
ep = next(e for e in t.scan_grippers()
if e.side == t.Side.Left and e.role == t.Role.Follower)
g = t.FollowerGripper(ep.mcu_device)
从夹爪序列号以 s 结尾,见序列号。
扫描会中断其他程序
会停掉其他程序的夹爪数据流,夹持中的从夹爪卸力;只在启动时扫一次。
控制器¶
| 阻抗控制(默认) | 力位控制 | |
|---|---|---|
| 控制器 | ImpedanceController |
ForcePositionController |
| 配置 | ImpedanceConfig.for_spec(g.motor.get_spec()) |
ForcePositionConfig.for_spec(g.motor.get_spec()) |
| 可调 | 一般不调 | grasp_torque_nm(夹持力,≤ 1.1N·m) |
| 常用 | set_target(开度) |
set_target(开度)、release()、hold_position() |
两种都有 start() / stop()(或 with)、snapshot()、reset(),顺序:
g.motor.clear_fault() → 启动控制器 → g.motor.enable() → set_target() → 停止控制器
写法见在程序里控制。
读取状态¶
| 场景 | 接口 | 内容 |
|---|---|---|
| 控制中 | c.snapshot().observation |
position(开度)、velocity、torque(正 = 闭合方向)、motor_temp_c |
| 控制中 | c.snapshot().holding |
力位控制下是否夹住 |
| 未控制 | g.position() |
开度 |
| 任何时候 | g.motor.motor_version() |
见电机固件版本 |
控制中只用 snapshot() 读,另读电机会抢通信。
电机底层接口¶
g.motor.submit_* 等底层接口绕过控制器保护,请用控制器。
下列接口改写夹爪或电机配置,须技术支持指导:
set_model()、set_startup_limit_torque()、switch_protocol()、set_can_id()、set_private_param()、
set_zero()、set_gripper_config()、set_envelope()、set_auto_cal_config()、set_motor_fw_version()。
腕部相机¶
默认关,开法同主夹爪,见腕部相机与鱼眼矫正。
示例脚本¶
- 脚本在
python/examples/,从 SDK 源码目录运行(数采仓库third_party/taccap-gripper或单独安装的TacCap-Gripper)。 - 夹爪用
left、right或完整序列号指定,只接一只可省;参数见--help。
| 脚本 | 用途 | 影响 |
|---|---|---|
follower_status.py |
自检 | 只读 |
gripper_console.py |
键盘控制 | 动电机 |
impedance_control.py |
阻抗测试;查看 / 写运动安全包络 | 动电机;--set-envelope 改写夹爪 |
force_position_control.py |
力位夹持测试 | 动电机 |
control_and_read.py |
边控制边读状态 | 动电机 |
control_ripple.py |
测运动平稳度 | 动电机 |
ota_update.py |
夹爪固件升级 | 刷固件 |
motor_ota_update.py |
电机固件升级 | 刷固件 |