Skip to content

机械臂二次开发常见问题

使用API(C、C++、Python)常见问题

1.若要周期查询机械臂状态,周期应当怎么设置?

若要周期查询机械臂状态,可以使用UDP回传,最快可以达到5ms。

2.通过API发送移动指令控制机械臂时,两点之间有明显的停顿时间,如何减少停顿?

  1. 可将移动指令设置为非阻塞模式,连续下发多个点位,机械臂会顺序执行,减少点位之间的停顿,但是依然没有设置连接下一条轨迹参数效果好。
  2. 使用设置连接下一条轨迹参数,使用此参数可以连续规划。
  3. 可以使用moveit进行规划,将A-B,B-C两段轨迹合成为一条轨迹,有效避免加减速过程,提高运行效率。

注意

机械臂移动指令最多缓存300个点位。发送时需保持平衡,以免超出缓存限制。

3.python调用透传接口异常退出、Linux下报段错误如何排查?

从以下三个方面进行排查:

  1. 透传接口需要用到回调函数,排查是否设置回调函数。
  2. 查看环境配置是否有问题。
  3. 内存不对应,也可能与用户编写的程序有关,分批次下发排查程序是否有错误。

4.get_current_arm_state查询到的当前位姿pose中的姿态是xyz相对欧拉角还是zyx相对欧拉角?

我们用的是roll-pitch-yaw表示法,对应的是ZYX欧拉角内旋。

5.调用API控制机械臂沿工具端运动,可以使用什么接口?

调用切换示教运动坐标系的接口,切换示教坐标系为工具坐标系后,使用示教或者步进指令,即可控制机械臂沿工具端运动。

6.python运行报32位或64位的错误

示例库的问题,python调用C的库示例的库默认是64位,需要先排查是否和当前设备对应32、64位。

7.机械臂都支持哪些形式的二次开发?

目前支持的二次开发形式有四种:

  1. 通过API形式:目前C\C++\C#\python\JSON\matlab六种开发环境。
  2. 通过JSON协议进行控制,此种方式不限制开发语言与开发系统。同时在Json协议中,支持TCP协议与485串行通讯协议。
  3. 通过MODBUS-RTU/TCP控制机械臂。

8.如何在API中引用在线编程文件?

在线编程文件可直接保存到控制器中,使用JSON协议、API、MODBUS-RTU/TCP、IO均可触发。