线程评级:
  • 0票(s) - 0平均
  • 1
  • 2
  • 3.
  • 4
  • 5
RoboDK中的自动换刀器
# 1
嗨。

我有一个自动工具更换器,我正试图从RoboDK内使用。它包括一个永久附着在UR5工具法兰上的主板,以及一些可以使用气动从主板上附着和分离的从工具。


我已经编写了几个函数,从存储从工具的工具架中拿起工具,然后将工具放回去。我面临的问题是,我不知道如何将连接到机器人上的从工具从主工具上拆下来,并将其留在刀架上(即将其连接回适当的刀架参考)。我认为答案包括在分离时将从工具转换为对象,然后在附加时将其转换回工具,但我不确定这是否正确,或者如何做到这一点。

有什么建议吗?


附加文件
.rdk UR5 Tool Testing.rdk(大小:1.39 MB /下载:12022世界杯国家队名单8,803)
# 2
嗨RBE,

关于这个问题你是对的,它是由一个工具不能与它的机器人分离这一事实引起的。我们将在不久的将来创建一个宏来解决特定的工具更换情况。

与此同时,我为你找到了一个快速而简单的解决方案。请参阅附件项目。我所做的是在工具架上创建一个工具的副本,并隐藏附着在机器人上的工具(取消勾选可见性)。在您的程序中,我将“附加”命令替换为“显示”和“隐藏”命令。当机器人到达工具架时,我“显示”附着在机器人上的工具,并“隐藏”工具在工具架上。
我用“分离”命令做了相反的事情。

现在,您可以对最后三个工具执行完全相同的操作。
希望能有所帮助。就像我说的,我们将在未来使用宏来研究一个更好的解决方案。

杰里米


附加文件 缩略图(s)


.rdk UR5工具测试-隐藏Tool .rdk(大小:1.58 MB /下载:32022世界杯国家队名单,240)
# 3
嗨,杰里米。

我看了一下你的例子,复制起来有困难。你究竟是如何让你创建的Lux Tool Assy的副本(即“Lux Tool Assy Changer”)表现为工具而不是简单的对象?

我已经将位于UR5树中的Lux Tool Assy保存为具有适当TCP和几何偏移信息的工具文件,但是当我尝试将该工具的副本附加到Lux Tool Assy顶部框架时(通过右键单击并选择添加项目),它会转换回一个简单的对象…
# 4
嗨RBE,

我只是复制并将其从UR树传递到“Lux Tool Assy”参考框架(都直接在RoboDK中)。这样做可以保持工具格式。但老实说,我不觉得有对象有什么问题。最后,放在支架上的工具只是为了视觉表现,你不会真正使用它。当工具没有连接到机器人法兰上时,你只需要显示它。

就像我在第一个回复中说的,这是对你问题的简单解决。我们将在未来提出一个宏来管理工具变更。

让我们知道进展如何。
杰里米
# 5
嗨,杰里米。

也许你能帮我解决目前的问题。从本质上讲,我试图使用Python创建一个车站程序来做类似于前面讨论的事情:


代码:
def add_grinder_attach_program ():
grinder_tool_attach = RDK。添加程序(“磨床工具附件”)

grinder_tool_attach.setPoseFrame (RDK。我tem('Grinder Tool Top', ITEM_TYPE_FRAME))
grinder_tool_attach.setPoseTool (RDK。项目('主工具',ITEM_TYPE_TOOL))

grinder_tool_attach.MoveJ (RDK。我tem('Grinder Tool Approach', ITEM_TYPE_TARGET))
grinder_tool_attach.MoveL (RDK。我tem('Grinder Tool Aligned', ITEM_TYPE_TARGET))
grinder_tool_attach.MoveL (RDK。我tem('Grinder Tool Inserted', ITEM_TYPE_TARGET))

grinder_tool_attach。setDO (ATTACH_TOOL, 1)
grinder_tool_attach.Pause (500)

grinder_tool_attach.MoveL (RDK。我tem('Grinder Tool Mated', ITEM_TYPE_TARGET))

grinder_tool = RDK。我tem('Grinder Tool', ITEM_TYPE_TOOL)
grinder_tool。setVisible(没错,是真的)
grinder_tool = RDK。我tem('Grinder Tool', ITEM_TYPE_OBJECT)
grinder_tool.setVisible(假)

grinder_tool_attach.MoveL (RDK。我tem('Grinder Tool Aligned', ITEM_TYPE_TARGET))
grinder_tool_attach.MoveJ (RDK。我tem('Grinder Tool Approach', ITEM_TYPE_TARGET))

grinder_tool_attach.setPoseTool (RDK。我tem('Grinder Tool', ITEM_TYPE_TOOL))
grinder_tool_attach.setPoseFrame (RDK。我tem('UR5 2014350238 Base', ITEM_TYPE_FRAME))

返回


目前程序运行良好,除了没有显示磨床工具(附着在机器人上的工具),也没有隐藏磨床工具(附着在刀架上的物体)。如何将item .setVisible指令与程序联系起来?当通过RoboDK GUI做这件事时,我会使用模拟事件-不太确定如何在这里做同样的事情…
# 6
嗨RBE,

你能寄给我一份电台的复印件吗?(与所有的工具几何和其他需要的对象。)

杰里米
# 7
嗨,杰里米。

我已将当前站点附加到此消息-请注意,这是一个正在进行的工作。为了运行站点中包含的Python脚本,您需要首先创建一个'C:/RoboDK/User'目录,然后将.zip归档文件的全部内容复制到其中。然后,您应该能够成功地运行脚本。


附加文件
. zip 工作进行中。zip(大小:8.67 MB /下载:42022世界杯国家队名单79)
# 8
@杰里米您是否能够说明是否有一种方法可以在用于生成RoboDK程序的Python脚本中包含模拟事件指令?我还没有找到解决这个问题的方法,因为似乎机器人链接模块没有必要的能力……
# 9
这可以使用:
MakeProgram (path-to-file)

更多信息请点击这里:
//www.sinclairbody.com/doc/en/PythonAPI/robo...akeProgram

例子:
prog = RDK。我temUserPick("Select a program to generate", ITEM_TYPE_PROGRAM)
prog.MakeProgram(“path-to-file”)
你好@艾伯特

谢谢你的回复,但我不是这个意思。我谈论的是使用Python创建一个程序,以便在RoboDK环境本身中使用。例如:



从这张工位树的图像中可以看出,在“磨床工具附加”程序中有一个模拟事件,用于隐藏位于刀架中的磨床工具,另一个模拟事件显示附加到机器人上的磨床工具。在这种情况下,“磨床工具附加”程序是在RoboDK中使用GUI编写的。然而,现在我需要能够做的是将模拟事件插入到由Python脚本生成的程序版本中。和以前一样,“磨床工具附加”程序将在RoboDK内模拟运行。




浏览此主题的用户:
1客人(年代)