Skip to content

轨迹文件

支持进行轨迹文件管理,包括查询、运行、删除和保存等操作。

查询轨迹列表rm_get_trajectory_file_list()

  • 方法原型:
C
int rm_get_trajectory_file_list(rm_robot_handle *handle, int page_num, int page_size, const char *vague_search,rm_trajectory_list_t *trajectory_list);

可以跳转rm_robot_handlerm_trajectory_list_t查阅结构体详细描述。

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
page_num输入参数页码。
page_size输入参数每页大小。
vague_search输入参数模糊搜索。
list输出参数查询返回的轨迹列表。
  • 返回值:
参数类型说明处理建议
0int成功。-
1int控制器返回false,传递参数错误或机械臂状态发生错误。- 校验JSON指令
①启用API的DEBUG日志,捕获原始JSON数据。
②检查JSON语法:确保括号、引号、逗号等格式正确(可借助JSON校验工具)。
③对照API文档,验证参数名称、数据类型及取值范围是否符合规范。
④修正问题后重新发送指令,检查控制器返回的状态码及业务数据是否正常。
- 检查机械臂状态
①查看机械臂控制器或日志中的实时报错信息(如硬件故障、超限等),根据提示复位、校准或排查硬件问题。
②修正问题后重新发送指令,检查控制器返回的状态码及业务数据是否正常。
-1int数据发送失败,通信过程中出现问题。检查网络连通性
使用ping/telnet等工具检测与控制器的通信链路是否正常。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。- 检查网络连通性
使用ping/telnet等工具检测与控制器的通信链路是否正常。
- 校验版本兼容性
①核对控制器固件版本是否支持当前API功能,具体版本配套关系请参考版本变更说明
②若版本过低需升级控制器或使用适配的API版本。
-3int返回值解析失败,接收到的数据格式不正确或不完整。校验版本兼容性
①核对控制器固件版本是否支持当前API功能,具体版本配套关系请参考版本变更说明
②若版本过低需升级控制器或使用适配的API版本。
-4int三代控制器不支持该接口-
  • 使用示例

查询当前保存的拖动示教列表,页码:1,每页大小:10,模糊搜索名称中带“s”的轨迹。

C
ret = rm_get_trajectory_file_list(handle, 1, 10, "s", &trajectory_list);
printf("\n================== trajectory file list ==================\n");
printf("get trajectory file list result : %d\n", ret);
printf("total trajectory file count: %d\n", trajectory_list.total_size);
for (int i = 0; i < trajectory_list.list_len; i++)
{
    printf("trajectory file point_num: %d\n", trajectory_list.tra_list[i].point_num);
    printf("trajectory file name: %s\n", trajectory_list.tra_list[i].name);
    printf("trajectory file time: %s\n", trajectory_list.tra_list[i].create_time);
}

开始运行指定轨迹rm_set_run_trajectory()

  • 方法原型:
C
int rm_set_run_trajectory(rm_robot_handle *handle, const char *trajectory_name);

可以跳转rm_robot_handle查阅结构体详细描述。

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
trajectory_name输入参数轨迹名称。
  • 返回值:
参数类型说明处理建议
0int成功。-
1int控制器返回false,传递参数错误或机械臂状态发生错误。- 校验JSON指令
①启用API的DEBUG日志,捕获原始JSON数据。
②检查JSON语法:确保括号、引号、逗号等格式正确(可借助JSON校验工具)。
③对照API文档,验证参数名称、数据类型及取值范围是否符合规范。
④修正问题后重新发送指令,检查控制器返回的状态码及业务数据是否正常。
- 检查机械臂状态
①查看机械臂控制器或日志中的实时报错信息(如硬件故障、超限等),根据提示复位、校准或排查硬件问题。
②修正问题后重新发送指令,检查控制器返回的状态码及业务数据是否正常。
-1int数据发送失败,通信过程中出现问题。检查网络连通性
使用ping/telnet等工具检测与控制器的通信链路是否正常。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。- 检查网络连通性
使用ping/telnet等工具检测与控制器的通信链路是否正常。
- 校验版本兼容性
①核对控制器固件版本是否支持当前API功能,具体版本配套关系请参考版本变更说明
②若版本过低需升级控制器或使用适配的API版本。
-3int返回值解析失败,接收到的数据格式不正确或不完整。校验版本兼容性
①核对控制器固件版本是否支持当前API功能,具体版本配套关系请参考版本变更说明
②若版本过低需升级控制器或使用适配的API版本。
-4int三代控制器不支持该接口-
  • 使用示例

运行轨迹名称为test的拖动轨迹。

C
ret = rm_set_run_trajectory(handle,"test");
printf("set run trajectory result : %d\n", ret);

删除指定轨迹文件rm_delete_trajectory_file()

  • 方法原型:
C
int rm_delete_trajectory_file(rm_robot_handle *handle, const char *trajectory_name);

可以跳转rm_robot_handle查阅结构体详细描述。

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
trajectory_name输入参数轨迹名称。
  • 返回值:
参数类型说明处理建议
0int成功。-
1int控制器返回false,传递参数错误或机械臂状态发生错误。- 校验JSON指令
①启用API的DEBUG日志,捕获原始JSON数据。
②检查JSON语法:确保括号、引号、逗号等格式正确(可借助JSON校验工具)。
③对照API文档,验证参数名称、数据类型及取值范围是否符合规范。
④修正问题后重新发送指令,检查控制器返回的状态码及业务数据是否正常。
- 检查机械臂状态
①查看机械臂控制器或日志中的实时报错信息(如硬件故障、超限等),根据提示复位、校准或排查硬件问题。
②修正问题后重新发送指令,检查控制器返回的状态码及业务数据是否正常。
-1int数据发送失败,通信过程中出现问题。检查网络连通性
使用ping/telnet等工具检测与控制器的通信链路是否正常。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。- 检查网络连通性
使用ping/telnet等工具检测与控制器的通信链路是否正常。
- 校验版本兼容性
①核对控制器固件版本是否支持当前API功能,具体版本配套关系请参考版本变更说明
②若版本过低需升级控制器或使用适配的API版本。
-3int返回值解析失败,接收到的数据格式不正确或不完整。校验版本兼容性
①核对控制器固件版本是否支持当前API功能,具体版本配套关系请参考版本变更说明
②若版本过低需升级控制器或使用适配的API版本。
-4int三代控制器不支持该接口-
  • 使用示例

删除轨迹名称为test的轨迹。

C
ret = rm_delete_trajectory_file(handle,"test");
printf("delete trajectory file result : %d\n", ret);

保存轨迹文件rm_save_trajectory_file()

  • 方法原型:
C
int rm_save_trajectory_file(rm_robot_handle *handle, const char *trajectory_name);

可以跳转rm_robot_handle查阅结构体详细描述。

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
trajectory_name输入参数轨迹名称。
  • 返回值:
参数类型说明处理建议
0int成功。-
1int控制器返回false,传递参数错误或机械臂状态发生错误。- 校验JSON指令
①启用API的DEBUG日志,捕获原始JSON数据。
②检查JSON语法:确保括号、引号、逗号等格式正确(可借助JSON校验工具)。
③对照API文档,验证参数名称、数据类型及取值范围是否符合规范。
④修正问题后重新发送指令,检查控制器返回的状态码及业务数据是否正常。
- 检查机械臂状态
①查看机械臂控制器或日志中的实时报错信息(如硬件故障、超限等),根据提示复位、校准或排查硬件问题。
②修正问题后重新发送指令,检查控制器返回的状态码及业务数据是否正常。
-1int数据发送失败,通信过程中出现问题。检查网络连通性
使用ping/telnet等工具检测与控制器的通信链路是否正常。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。- 检查网络连通性
使用ping/telnet等工具检测与控制器的通信链路是否正常。
- 校验版本兼容性
①核对控制器固件版本是否支持当前API功能,具体版本配套关系请参考版本变更说明
②若版本过低需升级控制器或使用适配的API版本。
-3int返回值解析失败,接收到的数据格式不正确或不完整。校验版本兼容性
①核对控制器固件版本是否支持当前API功能,具体版本配套关系请参考版本变更说明
②若版本过低需升级控制器或使用适配的API版本。
-4int三代控制器不支持该接口-
  • 使用示例

保存刚拖动的轨迹为“test”。

C
ret = rm_save_trajectory_file(handle,"test");
printf("save trajectory file result : %d\n", ret);