线程评级:
Smart/Axes优化API
# 1
你好,

我试图设置一个曲线跟踪项目的轴优化设置与同步对机器人:6轴和2轴(定位器)。

我可以阅读和修改“OptimAxes”设置,但我不能让它们进入曲线跟踪项目。

我不确定如何通过API检查“智能优化”复选框。这是我的问题吗?

代码:
#获取当前机器人关节列表:
robot_joint = robot.Joint().list()

#获取连接键列表:
Joint_keys = []
对于范围(1,9)中的I:
joint_keys。append("AbsJnt_" + str(i))

#读取和修改轴优化设置:
settings = project.setParam("OptimAxes")

对于范围(1,9)中的I:
设置["OptimAxes"][joint_keys[i]] = robot_joint[i]

#更新项目优化轴设置:
项目。setParam(“OptimAxes”,设置)
我认为“OptimAxes”不应该出现在那里。这是您要更改的参数的名称。该值需要一个字典,该字典可以是您所阅读的字典的修改版本。

更准确地说,你可以通过将Active标志设置为1来启用Smart优化选项:
settings["Active"] = 1
你也可以使用下面这行来启用关节1的复选框:
settings["AbsOn_1"] = 1

此外,Python列表索引从0开始,而更新字符串参数则要求第一个联合索引为1。

这个例子展示了一些你可以设置的参数(最近添加了更多的姿态参数):
//www.sinclairbody.com/doc/en/PythonAPI/exam...n-settings

因此,我认为你的代码应该更新如下:
代码:
#获取当前机器人关节列表:
robot_joint = robot.Joint().list()

#读轴优化设置:
settings = project.setParam("OptimAxes")

#确保激活优化设置:
settings["Active"] = 1

激活和更新所需的联合参考权重
#注意RoboDK所需字符串的索引偏移量
对于I在range(0,len(robot_关节)):
设置["AbsOn_" + str(i+1)] = 1
设置["AbsJnt_" + str(i+1)] = robot_joint[i]

#更新项目优化轴设置:
项目。setParam(“OptimAxes”,设置)
# 3
嗨,阿尔伯特,

谢谢你的回复。现在起作用了




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