Item.posewrt()没有像机器人预期的那样工作-打印版本 +- RoboDK论坛(//www.x7093.com/forum) +——论坛:RoboDK (EN) (//www.x7093.com/forum/Forum-RoboDK-EN) +——论坛:RoboDK bug (//www.x7093.com/forum/Forum-RoboDK-bugs) +——线程:ITEM.POSEWRT()没有与ROBOT (/ Thread-ITEM-POSEWRT-NOT-WORKING-AS-EXPECTED-WITH-ROBOT) |
Item.posewrt()没有像机器人预期的那样工作-sig.johnnson-02-23-2023 当在两个参考帧之间调用PoseWrt()时,如果一个帧附加到机器人,则抛出targe背叛错误。 附加的.py和.rdk文件能够可靠地重现这个问题。 注意:我认为即使没有目标到达错误发生,当调用Item嵌套在机器人下面时,PoseWrt()也不会返回预期的坐标。当我发现targe叛逆错误问题时,我实际上正在调查这个问题。 更新:我找到了一个变通办法(如下)。现在这工作得很好,但我想在将来重新使用这个API。
代码:
Def pose_wrt(子,父):
回复:item.posewrt()没有像机器人预期的那样工作-山姆-02-23-2023 你完全正确! 对于目标到达误差,我认为机器人是同步的,但还没有移动,因为线轴的关节值在0mm,而下范围限制为5mm(即使菜单中显示为5)。 将线性轴移到10,然后移回5,然后运行脚本,删除异常。 然而,这是真实的,PoseWrt与同步轴是不能正常工作。实际上,它应该抛出一个输入错误。 PoseWrt增加了将工具pose wrt添加到树中任何位置的另一项的能力,这是您的代码不允许的。 尝试pose_wrt(robot, frame2)或pose_wrt(tool, frame2),而活动帧是frame1。 这是因为robot. pose()将姿态(包括工具)wrt返回到ACTIVE参考系,而不是机器人基础! 由于只有机器人和工具对. pose()和. poseabs()有奇怪的行为,所以我修改了代码,使两帧跳过整个过程,并在使用两帧时毫无问题地返回姿势(就像你的代码一样)。 至于PoseWrt与同步轴,行为改变了一点,当你有一个转盘和一个线性轨道同步,一般的解决方案不再适用。目前,如果你使用机器人或工具物品,它仍然会抛出。 下面是测试代码:
代码:
从robodk导入*
您可以通过下面的链接检索最新版本的robolinkutils,或者等待下一次更新。 https://github.com/RoboDK/RoboDK-API/blob/master/Python/robodk/robolinkutils.py#L161 回复:item.posewrt()没有像机器人预期的那样工作-sig.johnnson-02-24-2023 你好,杰里米,谢谢你照顾这个! 似乎在召唤PoseAbs ()从一个工具是可能的,但行为不同于其他对象返回法兰的位置,即使它是从一个工具调用。我想很多(大多数?)用户都希望如此PoseAbs ()从工具调用将返回TCP。 我建议在文档中添加一个说明PoseAbs ()(也许还有PoseWrt ())来防止其他人成为我们讨论过的行为的受害者。//www.x7093.com/doc/en/PythonAPI/robodk.html?highlight=poseabs#robodk.robolink.Item.PoseAbs. 回复:item.posewrt()没有像机器人预期的那样工作-山姆-02-24-2023 事实上,应该更好地记录它。事实上,我添加了PoseWrt,以确保我们有一个简单的方法来检索姿势,而不需要考虑这些条件。 顺便说一下,我是Sam:) 回复:item.posewrt()没有像机器人预期的那样工作-sig.johnnson-02-27-2023 对不起,我刚才在和杰里米说话! 谢谢,山姆。 |