4. 运动参数
API 列表
API函数 | 描述 | 是否需要save_config()保存 |
---|---|---|
set_tcp_jerk() | 设置直线运动的加加速度 | 是 |
set_joint_jerk() | 设置关节运动的加加速度 | 是 |
set_collision_sensitivity() | 设置碰撞检测的灵敏度 | 是 |
set_tcp_load() | 设置TCP负载(重量和质心) | 是 |
set_tcp_offset() | 设置TCP偏移 | 是 |
set_world_offset() | 设置用户自定义的世界座标系 | 是 |
save_config() | 保存以上配置使其永久生效 | - |
速度与加速度
速度和加速度主要通过在运动指令中作为参数来设置。
参数 | 运动指令中的参数名 | 单位 (直线/关节) |
---|---|---|
速度 | speed | mm/s 或 rad/s |
加速度 | mvacc | mm/s² 或 rad/s² |
示例:
python
# 直线运动中指定速度为100 mm/s, 加速度为 2000 mm/s²
arm.set_position(x=300, y=0, z=200, speed=100, mvacc=2000, wait=True)
# 关节运动中指定关节速度为50 °/s, 关节加速度为 500 °/s²
arm.set_servo_angle(angle=[10, 0, 0, 0, 0, 0], speed=50, mvacc=500, wait=True, is_radian=False)
加加速度 (Jerk)
加加速度(Jerk)影响加速的快慢,也影响运动的平顺性,一般不建议修改。
运动类型 | 接口 | 单位 |
---|---|---|
直线运动 | set_tcp_jerk(jerk) | mm/s³ |
关节运动 | set_joint_jerk(jerk, is_radian) | °/s³ 或 rad/s³ |
注意: 使用接口设置加加速度后,如果希望控制盒重启后依然生效,需要调用 arm.save_config()
保存配置。
示例:
python
# 设置TCP加加速度为10000 mm/s³
arm.set_tcp_jerk(10000)
# 设置关节加加速度为7000 °/s³
arm.set_joint_jerk(7000, is_radian=False)
# 保存配置使其永久生效
arm.save_config()
碰撞灵敏度
机械臂内置了基于电流的碰撞检测功能,可以设置其灵敏度。
使用 set_collision_sensitivity(sensitivity)
来设置。
sensitivity
: 灵敏度值,范围 0-5。数值越高,越容易触发碰撞保护。0为关闭,出厂默认值是3。
注意: 使用接口设置碰撞灵敏度后,如果希望控制盒重启后依然生效,需要调用 arm.save_config()
保存配置。
示例: 设置碰撞检测灵敏度为3。
python
arm.set_collision_sensitivity(3)
TCP 负载与偏移
当机械臂末端安装了工具(如夹爪、焊枪等)时,需要设置工具的TCP负载(工具的重量和质心)和TCP偏移(工具座标系相对于末端法兰中心的偏移),以保证运动的精度和稳定性。
设置TCP负载
使用 set_tcp_load(weight, center_of_gravity)
来设置。
weight
: 负载重量,单位 kg。center_of_gravity
: 负载质心相对于**工具中心点(TCP)**的坐标,一个[x, y, z]
列表,单位mm。
示例: 设置负载为0.8kg,质心为[0, 0, 50]。
python
arm.set_tcp_load(0.8, [0, 0, 50])
注意: 设置TCP负载后,如果希望重启后依然生效,需要调用 arm.save_config()
保存配置。
设置TCP偏移
使用 set_tcp_offset(offset)
来设置。
offset
: 一个包含[x, y, z, roll, pitch, yaw]
的列表。
示例: 设置一个TCP,其位置在末端法兰中心沿Z轴偏移100mm。
python
arm.set_tcp_offset([0, 0, 100, 0, 0, 0])
注意:
- 设置TCP偏移后,机械臂会进入状态5(
state=5
),无法接受和执行新的指令,需要调用set_state(0)
来恢复。 - 如果希望重启后依然生效,需要调用
arm.save_config()
保存配置。
座标系
通过 set_world_offset(offset, is_radian=None)
可以设置一个用户自定义的座标系(世界座标系)。设置后,运动会基于这个新的世界座标系。
offset
:[x, y, z, roll, pitch, yaw]
列表,定义了基座标在世界座标系的偏移。is_radian
: 用来指定roll, pitch, yaw
的单位是度还是弧度。
示例:
python
# 设置新的世界座标系,让机械臂基座标系位于世界座标系的[200, 0, 0, 0, 0, 0]
arm.set_world_offset([200, 0, 0, 0, 0, 0])
注意:
- 设置座标系后,机械臂会进入状态5(
state=5
),无法接受和执行新的指令,需要调用set_state(0)
来恢复。 - 如果希望重启后依然生效,需要调用
arm.save_config()
保存配置。