pathBuffer使用说明
1. pathBuffer介绍
MovePathBuffer 是高级路径管理接口,通过预规划并存储多段复合路径,并优化复杂轨迹的执行效率和实时适应性,执行时直接调用缓存中的完整路径序列,支持复杂轨迹的高效连续执行,显著降低实时计算开销,提升运动响应速度。
通过pathBufferAlloc指定路径名字、路径类型和缓存区大小,路径类型参数有三种,如下:
(1)toppra(时间最优路径规划)基于动力学约束的优化算法,生成时间最短的运动轨迹,适用于高速高精度场景;
(2)cubic_spline(录制的轨迹):通过示教录制的路径点生成平滑曲线,保持轨迹连续性,常用于复现人工示教动作;
(3)关节B样条插值:需至少3个路径点,通过B样条算法实现关节空间的平滑过渡,减少机械振动。
本教程介绍了pathBuffer使用中的一些注意事项,以pathBuffer使用cubic_spline参数,执行缓存路径为例,类似示教器轨迹记录功能,用于播放录制的轨迹的应用,以下对使用步骤进行介绍。
pathBuffer使用demo如下:
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连接。