Skip to content
🤖 AI 助手 / 自动化工具:先读 《AI 助手先读》 《Agent 开发指引》 《生成前信息采集清单》;机器可读入口 /llms.txt;技能包(SKILL)直链:SKILL.md

四、轨迹记录与回放(Python) ​

本页对应 C++ 版。函数名与参数顺序与 C++ 完全一致(Python SDK 由 C++ 经 SWIG 生成),差异只在两处:

  1. 返回值形态:C++ 用引用参数回填数据;Python 的返回形态由 SWIG 绑定决定,逐接口实测,不按类型推断。
  2. 少数接口在 Python 中不可直接调用(绑定缺陷),页面内已逐个标注。

本页共 12 个接口,其中 12 个在 Python SDK 中存在。


功能概述 ​

track_record_start / track_record_start_robot ​

轨迹记录开始。设置采样参数后开始采集机器人末端轨迹。

track_record_start

python
def track_record_start(socketFd, maxSamplingNum, samplingInterval):

返回值:int 结果码(0 成功,负数为错误码)。本接口无数据出参。

track_record_start_robot

python
def track_record_start_robot(socketFd, robotNum, maxSamplingNum, samplingInterval):

返回值:int 结果码(0 成功,负数为错误码)。本接口无数据出参。

参数说明(与 C++ 一致):

参数类型说明
socketFdSOCKETFD连接句柄
robotNumint机器人编号 (1-4),仅 _robot 版本
maxSamplingNumdouble最大采样点数,范围 [200, 12000]
samplingIntervaldouble采样间隔(秒),范围 [0.03, 1]

C++ 侧返回值描述:SUCCESS(0) 表示成功,负数表示失败。


track_record_stop / track_record_stop_robot ​

轨迹记录关闭,结束轨迹数据采集。

track_record_stop

python
def track_record_stop(socketFd):

返回值:int 结果码(0 成功,负数为错误码)。本接口无数据出参。

示例:

python
import nrc_interface as nrc

fd = nrc.connect_robot("192.168.1.13", "6001")
ret = nrc.track_record_stop(fd)
print(ret)

track_record_stop_robot

python
def track_record_stop_robot(socketFd, robotNum):

返回值:int 结果码(0 成功,负数为错误码)。本接口无数据出参。

示例:

python
import nrc_interface as nrc

fd = nrc.connect_robot("192.168.1.13", "6001")
ret = nrc.track_record_stop_robot(fd, 1)
print(ret)

参数说明(与 C++ 一致):

参数类型说明
socketFdSOCKETFD连接句柄
robotNumint机器人编号 (1-4),仅 _robot 版本

C++ 侧返回值描述:SUCCESS(0) 表示成功,负数表示失败。


get_track_record_status / get_track_record_status_robot ​

查询轨迹记录开启状态。

get_track_record_status

python
def get_track_record_status(socketFd, recordStart):

返回值:list,共 2 个元素,形如 [结果码, 数据...]。下标 0 是结果码,下标 1 是出参值。(实测为 list 而非 tuple,解包写法 ret, val = ... 同样可用。)

示例:

python
import nrc_interface as nrc

fd = nrc.connect_robot("192.168.1.13", "6001")
ret, val = nrc.get_track_record_status(fd, False)
print(ret, val)      # 返回 list,可直接解包

get_track_record_status_robot

python
def get_track_record_status_robot(socketFd, robotNum, recordStart):

返回值:list,共 2 个元素,形如 [结果码, 数据...]。下标 0 是结果码,下标 1 是出参值。(实测为 list 而非 tuple,解包写法 ret, val = ... 同样可用。)

示例:

python
import nrc_interface as nrc

fd = nrc.connect_robot("192.168.1.13", "6001")
ret, val = nrc.get_track_record_status_robot(fd, 1, False)
print(ret, val)      # 返回 list,可直接解包

参数说明(与 C++ 一致):

参数类型说明
socketFdSOCKETFD连接句柄
robotNumint机器人编号 (1-4),仅 _robot 版本
recordStartbool&输出参数,记录状态:true=开启,false=关闭

C++ 侧返回值描述:SUCCESS(0) 表示成功,负数表示失败。


track_record_save / track_record_save_robot ​

轨迹记录保存,将采集到的轨迹数据以指定名称保存。

track_record_save

python
def track_record_save(socketFd, trajName):

返回值:int 结果码(0 成功,负数为错误码)。本接口无数据出参。

track_record_save_robot

python
def track_record_save_robot(socketFd, robotNum, trajName):

返回值:int 结果码(0 成功,负数为错误码)。本接口无数据出参。

参数说明(与 C++ 一致):

参数类型说明
socketFdSOCKETFD连接句柄
robotNumint机器人编号 (1-4),仅 _robot 版本
trajNamestd::string保存的轨迹名称

C++ 侧返回值描述:SUCCESS(0) 表示成功,负数表示失败。


track_record_playback / track_record_playback_robot ​

轨迹回放,按设定速度复现已保存的轨迹。

track_record_playback

python
def track_record_playback(socketFd, vel):

返回值:int 结果码(0 成功,负数为错误码)。本接口无数据出参。

track_record_playback_robot

python
def track_record_playback_robot(socketFd, robotNum, vel):

返回值:int 结果码(0 成功,负数为错误码)。本接口无数据出参。

参数说明(与 C++ 一致):

参数类型说明
socketFdSOCKETFD连接句柄
robotNumint机器人编号 (1-4),仅 _robot 版本
velint回放速度(百分比)

C++ 侧返回值描述:SUCCESS(0) 表示成功,负数表示失败。


track_record_delete / track_record_delete_robot ​

轨迹清除,删除当前保存的轨迹数据。

track_record_delete

python
def track_record_delete(socketFd):

返回值:int 结果码(0 成功,负数为错误码)。本接口无数据出参。

示例:

python
import nrc_interface as nrc

fd = nrc.connect_robot("192.168.1.13", "6001")
ret = nrc.track_record_delete(fd)
print(ret)

track_record_delete_robot

python
def track_record_delete_robot(socketFd, robotNum):

返回值:int 结果码(0 成功,负数为错误码)。本接口无数据出参。

示例:

python
import nrc_interface as nrc

fd = nrc.connect_robot("192.168.1.13", "6001")
ret = nrc.track_record_delete_robot(fd, 1)
print(ret)

参数说明(与 C++ 一致):

参数类型说明
socketFdSOCKETFD连接句柄
robotNumint机器人编号 (1-4),仅 _robot 版本

C++ 侧返回值描述:SUCCESS(0) 表示成功,负数表示失败。