你好。
首先,我想说,我很高兴使用你们出色的软件。
然而,我最近发现它有一些奇怪的行为。我试图在Python API的帮助下模拟一个外部轴,我的脚本的一部分必须收集机器人程序的时间统计数据。
所以我这样称呼它:
然后我得到了一些奇怪的东西(所有接下来的引用都是相对于应用站和电子表格):
* MOVE_ID = 4被跳过,我相信这是可以的,因为周围没有移动(在物理意义上)
* MOVE_ID = 6被跳过的原因未知的我
*两个程序移动“MoveL 27”和“MoveL 29”合并在同一个MOVE_ID = 28下
*最后的“MoveC 30”又名“MoveC (Target1, Target1)”的MOVE_ID = 0而不是31
到目前为止,我已经设法解决了问题#1,2,4。脚本为joint_list中的运动生成唯一的id,然后将它们与循环中的程序运动进行匹配。如果关节位置足够接近(小于0.001度),则认为它们是匹配的。
至于第三个问题。虽然在这个例子中运动相对较短,但我仍然可以在一个循环中找到上一个匹配的运动和下一个运动之间的平均位置。但是如果我考虑加速度或者在别处需要很长时间的运动。也许有更简单的方法。你能帮我解决这个问题吗?
注意:电子表格已手工修改,以查找匹配的程序运动。
首先,我想说,我很高兴使用你们出色的软件。
然而,我最近发现它有一些奇怪的行为。我试图在Python API的帮助下模拟一个外部轴,我的脚本的一部分必须收集机器人程序的时间统计数据。
所以我这样称呼它:
代码:
消息,joint_list,状态= prog。InstructionListJoints(旗帜= 4,time_step = 0.01)
#下一行仅用于调试目的
掠夺。instructionlistjoint (flags=4, save_to_file=r' z:\VM_Shares\steps.csv', time_step=0.01)
* MOVE_ID = 4被跳过,我相信这是可以的,因为周围没有移动(在物理意义上)
* MOVE_ID = 6被跳过的原因未知的我
*两个程序移动“MoveL 27”和“MoveL 29”合并在同一个MOVE_ID = 28下
*最后的“MoveC 30”又名“MoveC (Target1, Target1)”的MOVE_ID = 0而不是31
到目前为止,我已经设法解决了问题#1,2,4。脚本为joint_list中的运动生成唯一的id,然后将它们与循环中的程序运动进行匹配。如果关节位置足够接近(小于0.001度),则认为它们是匹配的。
至于第三个问题。虽然在这个例子中运动相对较短,但我仍然可以在一个循环中找到上一个匹配的运动和下一个运动之间的平均位置。但是如果我考虑加速度或者在别处需要很长时间的运动。也许有更简单的方法。你能帮我解决这个问题吗?
注意:电子表格已手工修改,以查找匹配的程序运动。