线程评级:
  • 0票(s) - 0平均
  • 1
  • 2
  • 3.
  • 4
  • 5
第二个机器人的TCP帧设定点
# 1
嗨,伙计们,
我正在尝试设置第二个机器人跟随第一个机器人的路径。我已经开始在机器人1上设置一个目标,我正在寻找理解如何旋转笛卡尔点,以便第二个机器人tcp在z轴上对齐,但绕y旋转180。然后我将想要偏移一些任意数字。我首先使用了偏移命令,但这导致更多的第一个机器人向右移动,第二个机器人向右移动(旋转后)。这是我目前的代码:
代码:
输入help("robolink")或help("robodk")获取更多信息
#按F5运行脚本
#文档://m.sinclairbody.com/doc/en/RoboDK-API.html
#参考://m.sinclairbody.com/doc/en/PythonAPI/index.html
注意:不需要保存该文件的副本,您的python脚本与站点一起保存
* # RoboDK API
从robodk导入* #机器人工具箱
RDK = Robolink()





tool1 = RDK。Item('Fan1 Tool 1') #获取一个名为Tool的项目(RoboDK站树中的名称)
robot1 = RDK。Item('Fan1', ITEM_TYPE_ROBOT) #获取第一个可用的机器人
robot2 = RDK。(“Fan2”,ITEM_TYPE_ROBOT)项
target = RDK。条目('Target 1', ITEM_TYPE_TARGET)
frameA = RDK.AddFrame(' frameA ',tool1)

#设置帧rel为工具TCP
frameA
#设置工具

#将目标添加到坐标系中
tar1 = RDK.AddTarget('tar1','frameA')
Tar1 = Tar1 *roty(pi)

#移动到目标与其他机器人
似乎我也在努力与一个错误的目标落在新的框架上。让我知道这是不是条好路。
谢谢,雅各

(12-16-2019, 05:57 pm)雅各写到:嗨,伙计们,
我正在尝试设置第二个机器人跟随第一个机器人的路径。我已经开始在机器人1上设置一个目标,我正在寻找理解如何旋转笛卡尔点,以便第二个机器人tcp在z轴上对齐,但绕y旋转180。然后我将想要偏移一些任意数字。我首先使用了偏移命令,但这导致更多的第一个机器人向右移动,第二个机器人向右移动(旋转后)。这是我目前的代码:
代码:
输入help("robolink")或help("robodk")获取更多信息
#按F5运行脚本
#文档://m.sinclairbody.com/doc/en/RoboDK-API.html
#参考://m.sinclairbody.com/doc/en/PythonAPI/index.html
注意:不需要保存该文件的副本,您的python脚本与站点一起保存
* # RoboDK API
从robodk导入* #机器人工具箱
RDK = Robolink()





tool1 = RDK。Item('Fan1 Tool 1') #获取一个名为Tool的项目(RoboDK站树中的名称)
robot1 = RDK。Item('Fan1', ITEM_TYPE_ROBOT) #获取第一个可用的机器人
robot2 = RDK。(“Fan2”,ITEM_TYPE_ROBOT)项
target = RDK。条目('Target 1', ITEM_TYPE_TARGET)
frameA = RDK.AddFrame(' frameA ',tool1)

#设置帧rel为工具TCP
frameA
#设置工具

#将目标添加到坐标系中
tar1 = RDK.AddTarget('tar1','frameA')
Tar1 = Tar1 *roty(pi)

#移动到目标与其他机器人
似乎我也在努力与一个错误的目标落在新的框架上。让我知道这是不是条好路。
谢谢,雅各

以防有人想要一个视觉来理解我的目的。我有一个机器人机器人站,目标固定在一个框架上。这是连接到第二个机器人,使第一个和第二个tcp总是在一条线上和偏移。我正试图弄清楚如何做到这一点,现在的代码,而不是图形。谢谢
# 2
嗨,雅各,

当您添加目标时,RoboDK会自动使用机器人的当前位置来设置目标。我看到你在当前目标上添加了一个旋转。

我也注意到你没有传递一个参考系到你的目标,而是一个字符串。确保按照附带的示例所示检索项目。

另外,如果你的项目中有2个机器人,我建议你在创建新目标时指定你想要使用的机器人。

代码:
tar1 = RDK。AddTarget('Target 1', RDK)项目('框架名称'),RDK。项目(“机器人名称”)
Tar1 = transl(100,200,300)*roty(pi)

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

如果你能把RoboDK项目文件发给我,我就更好理解了。

艾伯特
# 3
艾伯特,
我正在犹他州旅行,错过了这个回复。我尝试了一种不同的策略。可能正确,也可能不正确。我得到一个偶然的错误与robolink.py和目标无法到达,即使如果我手动使用点,它达到良好。看看robodk项目,让我知道你的想法。不确定这是否与关节过度移动或每次运动时复合的奇点有关。

我将一个框架连接到R1,然后在设置目标之前旋转它(希望它方向180*与R1 tcp相反)。然后设置程序把R2移到那个点。

我的目标是能够向robot1添加一些路径,然后让robot2跟随。我的下一个步骤是同步移动速度,但我需要能够击中所有的任意点,现在错误。

谢谢,
雅各


附加文件
.rdk FanDual.rdk(大小:941.62 KB /下载:52022世界杯国家队名单29)
# 4
嘿,伙计们,我想我找到了我丢失的一部分。我猜我脚本中的错误与关节过行程有关。似乎事情运行良好,直到一定数量的运动(取决于路径)。一旦关节接近极限,并被要求以线性方式向前移动,它就会出错,无法到达。如果我重置关节并再次运行脚本,则可以到达该点。哪里是处理此类错误和异常的最佳起点。这涉及到碰撞映射方面的内容,这是我在robodk中不熟悉的。错误处理后下一步的旁注:您是否有可用的kuka同步项目,我们可以从youtube视频中查看?
# 5
嗨,雅各,
谢谢你让我们知道。
我附上了一些与视频中显示的样本相关的例子。
艾伯特


附加文件
.rdk 同步屏幕事件方法一—使用Virtual IO.rdk(大小:5.01 MB /下载:42022世界杯国家队名单83)
.rdk 屏幕事件同步方法2 -使用调用macro.rdk(大小:5.01 MB /下载:42022世界杯国家队名单39)
.rdk 屏幕事件同步方法3 -速度调整- 3.1.rdk(大小:5.02 MB /下载:52022世界杯国家队名单13)
# 6
谢谢阿尔伯特!午饭后我再深入研究一下。非常感谢你的帮助
# 7
@艾伯特我一直在看move_robot文件中的速度设置。机器人似乎是在点到点的基础上计算速度,而不考虑移动穿过点。考虑到所有的小点在一起,这导致相当慢的速度。你有什么加快速度的建议吗?我在下面附上了另一个rdk站来展示我所说的。当两个机器人都到达T1目标时,点击move_robots。

我正在考虑跟踪当前速度并将其添加到python脚本中的速度计算中是否有价值。我手动修改了fanuc .ls路径文件以获得更高的速度,但想看看如何以更高的速度同步这两个文件。

谢谢!


附加文件
.rdk FanDual4.rdk(大小:1.63 MB /下载:52022世界杯国家队名单73)
# 8
嗨,雅各,

您应该使用舍入指令(使用API设置舍入大于0)。在这种情况下,RoboDK假设速度保持不变。这在机器人不能保持速度恒定的情况下是不现实的(比如高速下方向的重要变化)。

更多信息请点击这里:
//m.sinclairbody.com/doc/en/General.html#CycleTime

艾伯特




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