线程评级:
  • 0 (s) - 0平均投票
  • 1
  • 2
  • 3
  • 4
  • 5
MoveJ笛卡尔目标导出为MoveJ提出目标?
# 1
我有笛卡尔空间中定义一个目标,一个程序使Mecademic 500机器人去那里通过“MoveJ”联合行动。生成的机器人程序包含这些相关命令:

机器人。运行(“SetWRF”, [0.000, 280.000, 0.000, 0.000, 90.000, -90.000))
机器人。运行(“MoveJoints”, [37.303900, 4.182890, -0.568555, 85.270100, -37.453300, -84.049700))

MoveJoints集六关节角的目标属性中存储在“机器人关节”。运行时,机器人移动到笛卡尔按预期目标。

现在我移动机器人的基础,重新运行程序。RoboDK更新关节角的仿真(目前有不同的价值观基础感动)以来,又机器人到达笛卡尔的目标。

当我再次生成一个机器人程序,SetWRF命令更改如预期的值,因为机器人的基础地位已经改变了。然而MoveJoints命令保持不变的值作为存储在目标属性值在“机器人关节”。他们不匹配更新后的关节角RoboDK模拟。SetWRF MoveJoints是一个机器人位姿的命令独立以来,机器人不会达到目标,与模拟。

所以RoboDK“MoveJ”命令一个笛卡儿的目标似乎是导出为“MoveJoints”构成的目标。关节角下的目标属性存储在维护“机器人关节”,尽管机器人应该采取不同的姿势来占其基础有感动。我缺少什么?

亲切的问候,

Maarten
# 2
嗨的时候,

这是一个非常好的问题。
我认为你是了解的情况很好。
当你移动框架,所有的笛卡儿的位置目标是重新计算,但并不是所有的共同价值观。
我认为这是一个性能的选择在某种程度上,我们将不得不重新计算的逆运动学可能非常大量的目标。

您可以使用两种不同的方法更新机器人关节。
1 -右键单击项目- >重新计算目标
这将重新计算所有的共同价值目标的计划。

2 -树中选择目标(这将使机器人的目标,确保正确的工具和正确的框架被激活)- >右键单击目标- >教当前位置。

杰里米
找到有用的信息通过访问我们的关于RoboDK及其亚慱体育app在线下载特性在线文档看我们的教程Youtube频道


# 3
嗨,杰里米,我尝试两种方法和联合值对应的目标确实是正确更新,包括MoveJoints命令的值在输出. py文件。

剩下的问题是当我有同样一个程序调用子程序(移动到目标)两次,和两个调用帧之间移动。子程序只定义一次,应该有不同的值的两个电话。RoboDk的模拟值为每个调用自动更新,但在输出程序这些信息丢失。

有没有可能一个联合搬到一个笛卡尔目标和联合移动机器人构成越来越复杂了?我认为联合搬到一个笛卡尔目标应进行后期处理“MovePose (x, y, z,α,β,γ)”命令,将SetWRF命令的值。联合行动构成的目标应该是一个“MoveJoints (a1, a2, a3、a4、a5、a6)”命令(就像现在)。

但即使这样,SetWRF命令定义的子程序在输出文件中仍将坚持固定的值与仿真这更新他们按照移动框架。




用户浏览这个线程:
1客人(年代)