接口通用规则

1. 导入方式

本文档接口基于python通过import tl_interface as tl导入

2. 句柄要求

所有接口第一个参数必须是connect_robot返回的有效 socket 句柄

3. 返回值约定

  • 0:执行成功
  • 非 0:执行失败

4. 数据类型

  • 向量类型:使用tl.VectorDouble()或tl.VectorInt()创建
  • 结构体类型:使用tl.MoveCmd()、tl.RobotDHParam()等创建

5. 坐标系约定

  • 0:关节坐标系
  • 1:直角坐标系
  • 2:工具坐标系
  • 3:用户坐标系

6. 工具函数说明

为保证示例代码输出格式统一、结果清晰规整,本文档所有python示例统一封装了调试打印工具函数,用于标准化接口返回状态、向量、矩阵、分隔标题的输出展示。

  • print_result:统一打印接口调用结果,区分成功 / 失败并输出错误码;
  • print_separator:打印章节分隔标题,用于区分多组测试案例;
  • print_vector:格式化打印一维浮点向量,固定 4 位小数,适用于欧拉角、四元数、关节角度等数据;
  • print_matrix:按行主序格式化打印多维矩阵,适配 3×3 旋转矩阵、4×4位姿矩阵输出;
  • print_ok:打印单条成功提示,无返回码,用于非接口调用类的普通校验通过提示;
  • print_fail:打印单条失败提示,附带错误码,用于非接口返回的自定义逻辑失败告警;
  • print_title:打印大段测试模块标题,使用长分割线,用于标记整套测试模块的起始位置
Python
def print_result(msg, ret):

    if ret == SUCCESS:

        print("  [成功] " + msg)

    else:

        print("  [失败] " + msg + ",错误码: " + str(ret))

def print_separator(title):

    print("\n========== " + title + " ==========")

def print_vector(name, v):

    """打印向量 --- 格式: name [size] = {v1, v2, ...},保留4位小数"""

    formatted = ["{:.4f}".format(x) for x in v]

    print("  " + name + " [" + str(len(v)) + "] = {" + ", ".join(formatted) + "}")

def print_matrix(name, m, rows, cols):

    """打印矩阵(行主序),保留4位小数"""

    print("  " + name + " [" + str(len(m)) + "]:")

    for r in range(rows):

        line = "  "

        for c in range(cols):

            idx = r * cols + c

            if idx < len(m):

                line += "{:10.4f} ".format(m[idx])

        print(line)

def print_ok(msg):

    print("  [OK] " + msg)

def print_fail(msg, ret):

    print("  [FAIL] " + msg + ",错误码: " + str(ret))

def print_title(title):

    print("\n" + "=" * 50)

    print("  " + title)

    print("=" * 50)