Skip to content

6. 末端执行器

API 列表

真空吸头

API函数描述
set_vacuum_gripper()设置真空吸头吸取或者释放
get_vacuum_gripper()获取真空吸头的状态

UFACTORY 机械爪

API函数描述
set_gripper_enable()使能机械爪
set_gripper_speed()设置机械爪的速度
set_gripper_position()控制机械爪的位置
get_gripper_position()获取机械爪的当前位置
get_gripper_err_code()获取机械爪的错误码
clean_gripper_error()清除机械爪的错误

BIO 机械爪

API函数描述
set_bio_gripper_enable()使能BIO机械爪
set_bio_gripper_speed()设置BIO机械爪的速度
open_bio_gripper()打开BIO机械爪
close_bio_gripper()关闭BIO机械爪
get_bio_gripper_status()获取BIO机械爪的状态
get_bio_gripper_error()获取BIO机械爪的错误码
clean_bio_gripper_error()清除BIO机械爪的错误

Robotiq 机械爪(2F-85和2F-140)

API函数描述
set_robotiq_gripper_enable()使能Robotiq夹爪
set_robotiq_gripper_speed()设置Robotiq夹爪的速度
set_robotiq_gripper_force()设置Robotiq夹爪的力
open_robotiq_gripper()打开Robotiq夹爪
close_robotiq_gripper()关闭Robotiq夹爪
get_robotiq_gripper_status()获取Robotiq夹爪的状态

末端执行器控制

真空吸头 (Vacuum Gripper)

设置真空吸头状态

使用 set_vacuum_gripper(on, wait=False, timeout=3, hardware_version=1) 方法可以设置真空吸头的吸取或释放状态。

  • on: True 表示吸取,False 表示释放。
  • wait: 是否等待吸取结果。默认为 False。如果设置为 True,程序将阻塞直到吸取成功或超时。
  • timeout: 等待超时时间,单位为秒。默认为3秒。当 wait=True 时,此参数生效。如果在指定时间内未能成功吸取物体(通过真空吸头内置气压传感器判断),SDK将返回错误码 41
  • hardware_version: 硬件版本。
    • 1: 航空接头连接 (默认)
    • 2: PIN针接触式连接

示例:

python
# 简单地开启和关闭, 吸头为航空接头连接
arm.set_vacuum_gripper(True)   # 开启真空吸头(吸取)
time.sleep(2)
arm.set_vacuum_gripper(False)  # 关闭真空吸头(释放)

# 等待吸取结果,最长等待3秒
code = arm.set_vacuum_gripper(True, wait=True, timeout=3)
if code == 0:
    print("成功吸取物体")
else:
    print(f"吸取失败,错误码: {code}")

获取真空吸头状态

使用 get_vacuum_gripper() 方法可以获取真空吸头的当前状态。

  • hardware_version: 硬件版本
    • 1: 航空接头连接 (默认)
    • 2: PIN针接触式连接
  • 返回值: 一个包含错误码和状态的元组。
    • code: API返回码
    • state: 吸头状态
      • 0: 关闭
      • 1: 开启

示例:

python
code, state = arm.get_vacuum_gripper()
if code == 0:
    if state == 1:
        print("真空吸头已开启")
    else:
        print("真空吸头已关闭")

UFACTORY 机械爪 (Gripper)

使能机械爪

在使用前,需要先使能机械爪。

python
# 使能机械爪
arm.set_gripper_enable(True)

设置机械爪速度

可以设置机械爪开合的速度。

python
# 设置机械爪速度为 2000
arm.set_gripper_speed(2000)

控制机械爪位置

位置范围是 -10-850。

python
# 打开机械爪(张开到最大)
arm.set_gripper_position(850, wait=True)

# 闭合机械爪
arm.set_gripper_position(0, wait=True)

wait=True 参数表示程序会等待机械爪运动到位后再执行下一条指令。