线程评级:
物理机器人位置和RoboDK不一致-导致崩溃
# 1
我有一个Meca500,我正在用python api编程。

当我用RUNMODE_RUN_ROBOT运行时,机器人在robodk中的位置与机器人的物理位置不同。差异似乎等于“工具框架相对于机器人法兰”。我怀疑问题是robodk在解释MoveL时考虑到了TRF,而在机器人自身运行之前它没有得到设置。

有趣的是,当我通过设置RUNMODE_MAKE_ROBOTPROG生成一个程序时,它确实会发出一个
代码:
机器人。运行(“SetTRF”,[16.000,0.000,46.000,-0.000,0.000,-0.000))

在发送线性移动之前。

我的程序由一个电影组成。当它运行时,下面的屏幕截图显示robodk和meca500的web界面显示机器人在相同的坐标上,但关节角度不一致。

代码:
p = Pose(200.0, 0.0, 210.0, 0.0, 90.0, 0.0)
robot.MoveL (p)


对Robodk团队有什么建议吗?
# 3
嗨,克里斯,

听说你和你的机器人出了车祸,我很难过。如果运行程序而不设置工具,则可能发生此问题。在这种情况下,它将使用机器人的TCP定义(你可能在你的web界面中看到)。

确保在程序的开头添加指定工具和引用的说明(这是默认的)。

艾伯特
# 4
我没有改变任何默认值。你指的是哪条指令?

此外,如果这是缺失的,它不应该反映在模拟器?

为什么run-on-robot程序和make robot程序会做不同的事情?!
# 5
当你在程序中添加机器人运动时,你会看到它链接到你当前使用的参考框架和工具框架:


这两个指令对于让机器人知道TCP和Reference非常重要。

如果你不设置它们,它将由机器人设置来选择正确的工具和坐标系统。

运行机器人选项将工具重置到法兰上,但是,如果您稍后更改它,它将改变机器人的运动。
# 6
在python API中等价的是什么?
这也解释了为什么robodk中的姿势与实际机器人的姿势不同吗?如果是这样,这对模拟器来说是否合适?
# 7
在Python API中等价的是:
  • setPoseFrame设置引用
  • 设置工具(TCP)
重要的是要设置基础和工具,以确保机器人使用相同的设置在RoboDK。

当你将机器人从Python移动到笛卡尔目标时,你也应该更新工具和参考:
代码:
robot.setPoseFrame (robot.PoseFrame ())
robot.setPoseTool (robot.PoseTool ())

这可能看起来多余,但它迫使真正的机器人控制器进行更新。

这里有一个更完整的例子:
//www.w5838.com/doc/en/PythonAPI/exam...rogramming
# 8
这似乎是断断续续的。

昨天还能用

代码:
RDK.setRunMode (robolink.RUNMODE_RUN_ROBOT)
robot.setPoseFrame (robot.PoseFrame ())
robot.setPoseTool (robot.PoseTool ())
机器人。robolink.INSTRUCTION_CALL_PROGRAM RunInstruction(“GripperOpen”)
#……MoveL这里


今天早上没有,但这个成功了

代码:
RDK.setRunMode (robolink.RUNMODE_RUN_ROBOT)
机器人。robolink.INSTRUCTION_CALL_PROGRAM RunInstruction(“GripperOpen”)
robot.setPoseFrame (robot.PoseFrame ())
robot.setPoseTool (robot.PoseTool ())
# MoveL这里




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