碰撞检测接口

头文件:include/tl_interface.h

1. get_collision_detection_param - 查询碰撞防护等级

方法:get_collision_detection_param(SOCKETFD socketFd, CollisionPara& param);

功能描述:获取机械臂末端六维力传感器数据。

参数:

  • socketFd:已连接的句柄。
  • param:输入参数, CollisionPara 结构体。

返回值:

  • 0:成功
  • 非 0:失败
  • param:结构体内部参数填充

使用示例:

Python
"""查询碰撞防护等级"""

print("[INFO]**********查询碰撞防护等级**********")

param = CollisionPara()

ret = get_collision_detection_param(socket_fd, param)

if ret != SUCCESS:

    print("[ERROR] 获取碰撞防护等级失败,错误码: " + str(ret))

    return

print("[INFO] 碰撞检测阈值(指令): ", end="")

for val in param.collisionDetection_run:

    print(str(val) + " ", end="")

print("")

print("[INFO] 碰撞检测阈值(点动): ", end="")

for val in param.collisionDetection_teach:

    print(str(val) + " ", end="")

print("")

print("[INFO] 指令位置响应时间: " + str(param.position_delay_time_ms_value) + " ms")

print("[INFO] 误差允许时间: " + str(param.error_enable_time_ms_value) + " ms")

print("[INFO] 机器人轴数: " + str(param.axisum))

2. set_collision - 设置碰撞防护参数

方法:set_collision(socketFd, param);

功能描述:设置碰撞防护参数。

参数:

  • socketFd:已连接的句柄。
  • param:CollisionPara 结构体(collisionDetection_run 碰撞检测阈值-指令;collisionDetection_teach 碰撞检测阈值-点动;position_delay_time_ms_value 指令位置响应时间;error_enable_time_ms_value 误差允许时间;axisum 机器人轴数,默认 6)。

返回值:

  • 0:成功
  • 非 0:失败

使用示例:

Python
import tl_interface as tl

socket_fd = tl.connect_robot("192.168.1.13", "6001")

param = CollisionPara()

param.axisum = 6

ret = tl.set_collision(socket_fd, param)

3. get_collision - 获取碰撞防护参数

方法:get_collision(socketFd, param);

功能描述:获取碰撞防护参数。

参数:

  • socketFd:已连接的句柄。
  • param:CollisionPara 输出参数。

返回值:

  • 0:成功
  • 非 0:失败

使用示例:

Python
import tl_interface as tl

socket_fd = tl.connect_robot("192.168.1.13", "6001")

param = CollisionPara()

ret = tl.get_collision(socket_fd, param)