常见问题:
机械臂二次开发常见问题
使用API(C、C++、Python)常见问题
1.若要周期查询机械臂状态,周期应当怎么设置?
若要周期查询机械臂状态,可以使用UDP回传,最快可以达到5ms。
2.通过API发送移动指令控制机械臂时,两点之间有明显的停顿时间,如何减少停顿?
- 可将移动指令设置为非阻塞模式,连续下发多个点位,机械臂会顺序执行,减少点位之间的停顿,但是依然没有设置连接下一条轨迹参数效果好。
- 使用设置连接下一条轨迹参数,使用此参数可以连续规划。
- 可以使用moveit进行规划,将A-B,B-C两段轨迹合成为一条轨迹,有效避免加减速过程,提高运行效率。
注意
机械臂移动指令最多缓存300个点位。发送时需保持平衡,以免超出缓存限制。
3.python调用透传接口异常退出、Linux下报段错误如何排查?
从以下三个方面进行排查:
- 透传接口需要用到回调函数,排查是否设置回调函数。
- 查看环境配置是否有问题。
- 内存不对应,也可能与用户编写的程序有关,分批次下发排查程序是否有错误。
4.get_current_arm_state查询到的当前位姿pose中的姿态是xyz相对欧拉角还是zyx相对欧拉角?
我们用的是roll-pitch-yaw表示法,对应的是ZYX欧拉角内旋。
5.调用API控制机械臂沿工具端运动,可以使用什么接口?
调用切换示教运动坐标系的接口,切换示教坐标系为工具坐标系后,使用示教或者步进指令,即可控制机械臂沿工具端运动。
6.python运行报32位或64位的错误
示例库的问题,python调用C的库示例的库默认是64位,需要先排查是否和当前设备对应32、64位。
7.机械臂都支持哪些形式的二次开发?
目前支持的二次开发形式有四种:
- 通过API形式:目前C\C++\C#\python\JSON\matlab六种开发环境。
- 通过JSON协议进行控制,此种方式不限制开发语言与开发系统。同时在Json协议中,支持TCP协议与485串行通讯协议。
- 通过MODBUS-RTU/TCP控制机械臂。
8.如何在API中引用在线编程文件?
在线编程文件可直接保存到控制器中,使用JSON协议、API、MODBUS-RTU/TCP、IO均可触发。