线程评级:
如何正确设置目标?
我也有同样的问题。

我知道我必须将哪种机器人配置(F/N U/D T/B)应用到我的发那科机器人目标上。我无法用robodk api设置它。

导致机器人移动不良。

供参考
https://github.com/RoboDK/RoboDK-API/issues/56
我在GitHub上回复了一个基于所需配置选择联合解决方案的示例。我还粘贴了这个例子:

代码:
#检索给定姿势的所有解:
所有的解决方案=机器人。SolveIK_All(pose, toolpose, framepose)
关节= []

遍历每个解决方案
对于all_solutions中的j:
#检索每个解决方案的标记列表
conf_RLF = robot.JointsConfig(j).list()

#旗帜分解:
后方= conf_RLF[0] # 1如果后方,0如果正面
低= conf_RLF[1] # 1如果低,0如果高(肘)
翻转= conf_RLF[2] # 1如果翻转,0如果非翻转(翻转通常是当关节5是负的)

#寻找一个解决方案与前面和肘部配置
#if conf_RLF[0:2] == [0,0]:
如果后面== 0,下面== 0:
打印(“解决方案发现!”)
关节= j
打破


我们将在接下来的几天里更新文档来展示这个示例。
我有一种方法可以通过移动笛卡尔坐标来修改API中的关节目标,而不知道最终的机器人关节是什么?
是的,你可以重新计算目标关节,首先使目标为笛卡尔目标,让RoboDK重新计算关节,然后将其更改为关节目标。

这个例子展示了这个概念:
代码:
target.setAsCartesianTarget ()
target.setPose (new_pose)
target.setParam(“重新计算”)
target.setAsJointTarget ()
new_关节= target.关节()
(07-31-2022, 07:54 am)艾伯特写道:是的,你可以重新计算目标关节,首先使目标为笛卡尔目标,让RoboDK重新计算关节,然后将其更改为关节目标。

这个例子展示了这个概念:
代码:
target.setAsCartesianTarget ()
target.setPose (new_pose)
target.setParam(“重新计算”)
target.setAsJointTarget ()
new_关节= target.关节()

这太棒了!非常感谢你,艾伯特!




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