线程评级:
instructionlist关节移动ID异常
# 1
你好。

首先,我想说,我很高兴使用你们出色的软件。
然而,我最近发现它有一些奇怪的行为。我试图在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度),则认为它们是匹配的。

至于第三个问题。虽然在这个例子中运动相对较短,但我仍然可以在一个循环中找到上一个匹配的运动和下一个运动之间的平均位置。但是如果我考虑加速度或者在别处需要很长时间的运动。也许有更简单的方法。你能帮我解决这个问题吗?

注意:电子表格已手工修改,以查找匹配的程序运动。


附加文件
.rdk 模板与tcp妈咪修改2.rdk(大小:964.03 KB /下载:224)
.xlsx steps.xlsx(大小:153.79 KB /下载:268)
更新:这些问题与舍入无关。删除舍入指令,结果相同。第三个问题在电子表格中用红色字体标出。
更新2:变速指令涉及到某种程度。我检查了它们的参数,并启用了所有参数:线速度,转速,以及两种加速度。
# 3
感谢您的反馈和对问题的清晰解释。
不应该有丢失的id,这曾经是我们在过去几个月解决的一个问题。

你能更新到最新版本并重新发布这个问题吗?
# 4
谢谢你的回复。当然。我会尽快试一试。
# 5
你好。

我回来带来一些最新消息。

行动:
1.旧版本的RoboDK已经被移除,并安装了最新版本(5.1.3)
2.马车站打开了,然后保存并重新开放
3.instructionlistjoint (flags=4, save_to_file=r' z:\VM_Shares\steps.csv', time_step=0.01)已应用

结果可能是一样的。

附注:有一件有趣的事情。当我添加一个移动到我的程序的结尾(确切地说是MoveJ),然后最终的MoveC得到MOVE_ID=31。但是新的MoveJ被分割成26行,具有相同的关节角度,并且MOVE_ID=0。相应的电子表格附在附件中,以防你也希望调查它。


附加文件
.xlsx 步骤从5.1.3和额外的MoveJ.xlsx(大小:143.26 KB /下载:229)
.xlsx 5.1.3.xlsx的步骤(大小:142.18 KB /下载:234)




浏览此线程的用户:
1客人(年代)