pathBuffer使用说明

1. pathBuffer介绍

MovePathBuffer‌ 是高级路径管理接口,‌‌通过预规划并存储‌多段复合路径‌,并优化复杂轨迹的执行效率和实时适应性,执行时直接调用缓存中的完整路径序列,支持复杂轨迹的高效连续执行,显著降低实时计算开销,提升运动响应速度。

通过pathBufferAlloc‌指定路径名字‌、路径类型和缓存区大小,路径类型参数有三种,如下:‌

(1)toppra(时间最优路径规划)‌基于动力学约束的优化算法,生成时间最短的运动轨迹,适用于高速高精度场景;

‌ (2)cubic_spline(录制的轨迹):通过示教录制的路径点生成平滑曲线,保持轨迹连续性,常用于复现人工示教动作;

‌ (3)关节B样条插值‌:需至少3个路径点,通过B样条算法实现关节空间的平滑过渡,减少机械振动。

本教程介绍了pathBuffer使用中的一些注意事项,以pathBuffer使用cubic_spline参数,执行缓存路径为例,类似示教器轨迹记录功能,用于播放录制的轨迹的应用,以下对使用步骤进行介绍。

pathBuffer使用demo如下:

example_armplay.py

2. 使用步骤介绍

2.1 建立连接

连接到 RPC 服务、机械臂登录、设置RPC请求超时时间。

2.2 读取文件

打开并读取JSON文件,获取路点(用关节角表示)和采样间隔时间10ms。

2.3 移动至准备点

关节运动到JSON文件中的第一个路点。

2.4 释放缓存

释放路径缓存,清除缓存可以确保每次执行的路径都是最新的。

mc.pathBufferFree("rec") # 接口调用: 释放路径缓存

2.5 新建路径缓存

新建一个路径点缓存 “rec”,添加到 “rec” 缓存中,pathBufferAlloc指定类型cubic_spline和大小traj_sz。

2.6.添加缓存

将 JSON 文件中的路点添加到 “rec” 缓存中。

2.7 判断有效性

计算、优化等耗时操作,传入的参数相同时不会重新计算;判断"rec"这个buffer是否有效,有效则执行下一步;反之,则一直阻塞。

pathBuffer需要满足三个有效条件:

(1)buffer存在且已经分配过内存,即pathBufferAlloc;

(2)传进buffer的点的数量要小于等于buffer被分配的内存;

(3)要执行一次pathBufferEval。

2.8 执行路径

执行缓存的路径,阻塞作用。

2.9 执行完毕断开

断开RPC连接。

results matching ""

    No results matching ""