机器人专业人士一直在使用一个简单的技巧来避免碰撞。这里有一个编程技巧,没人教你,但我们都在用。
对于机器人来说,碰撞是一个真正的危险。大型碰撞会损坏车间、机器人本身,以及任何不幸靠近的人。即使是很小的碰撞也可能代价高昂。因此,确保你的机器人在运行程序时不会与任何东西相撞是很重要的。
问题是许多人把避碰问题过于复杂化了。他们假设(可以理解)机器人能够自主地避开工作空间中的障碍物。事实上,自动避碰是一个复杂的话题。机器人研究人员花费数年时间开发轨迹规划器,这对于大多数工业机器人用户来说过于臃肿。
正如我们在之前的文章中所解释的,有更简单的方法来阻止机器人撞到东西避免机器人碰撞的5种简单方法(也是最后的手段).它们几乎都不需要复杂的编程。
然而,有一个编程技巧可以帮助你避免大多数冲突。在本文中,我们将解释如何使用这个技巧并完全避免冲突。
无碰撞机器人程序的秘密
考虑以下取放应用程序的简化机器人程序:
- 移动机器人到“挑选”位置。
- 把握对象。
- 移动到“place”位置。
- 删除对象。
从表面上看,这看起来像是一个好的机器人程序的框架,不是吗?
然而,它实际上缺少了4个关键步骤,这些步骤将确保机器人不会与环境中的任何东西碰撞。
无冲突程序的秘密是按类型分割程序指令。旅行动作应始终在“自由空间”进行,操作动作应谨慎进行。在旅行和操作之间切换时,都需要插入“接近”或“撤退”操作。
如何按类型分割您的程序指令
诀窍是将每个程序指令分配给以下三种类型之一。
这几乎是经验丰富的机器人专家的第二天性。这些年来,我们和机器人造成了太多的小碰撞,以至于我们不假思索就这么做了。然而,新的机器人程序员有时会忘记这样做。
以下是任何机器人程序中的3种基本动作类型:
1.旅游移动
移动是指机器人在工作空间内从一个位置移动到另一个位置。这里的重要属性是速度。机器人应该尽可能快地移动(当然是安全的),因为移动会显著影响您的周期时间。
出于这个原因,联合行动旅行经常使用说明书。它们不精确,但比线性移动和循环移动指令快。
无论你选择哪种指令,避免碰撞的关键总是在“自由空间”(即没有物体的空间)内进行移动。所有的移动都应该从自由空间开始——与任何物体都有一段距离——并且应该在自由空间结束。
2.操作动作
操作移动(这不是一个“官方”术语)是机器人实际执行任务的地方。这里的重要属性是精度。机器人必须遵循精确的路径来引导机器人的工具(如喷漆枪、焊机、加工主轴等)。
用于操作动作的最常见指令是:
- 工具动作-工具被激活,但机器人不移动。
- 线性移动-在两点之间沿直线运动。
- 循环移动-遵循圆形曲线。
- 曲线或点跟随-遵循贝塞尔曲线或移动到单个点。
- 机械加工或3D打印移动-遵循G-Code中的CNC路径。
因为操作移动是在物体附近执行的,所以仔细规划以避免碰撞非常重要。
3.方法/收回动作
当谈到避免碰撞时,接近动作是成功的真正秘密。它们非常简单,很容易实现,但是忘记它们可能会对你的机器人程序造成严重破坏。
不要将机器人直接移动到操作移动的起始位置(例如示例程序中的“pick”位置),而是应该将其移动到空闲空间中的附近位置。然后,您可以小心地接近开始位置,避免与任何东西碰撞。缩回移动是相同的,但当移动。
根据机器人的大小,“接近距离”可以从几毫米到几十厘米不等。
如何添加接近动作到你的机器人程序
让我们回顾一下之前的简单选择和放置程序:
- 移动机器人到“挑选”位置。
- 把握对象。
- 移动到“place”位置。
- 删除对象。
首先,我们还需要在我们的程序空间中添加两个额外的位置(在RoboDK中称为“目标”):
- 方法1 -这是一个距离“采摘”地点很短的距离,在自由空间。
- 方法2 -这是一个距离“地方”位置很短的距离,在自由空间。
现在,我们可以更新程序以指定每个移动的类型,并添加我们的方法和撤回移动。
我们的程序看起来是这样的:
- (移动)快速移动到1号入口。
- (靠近移动)小心移动到“选择”位置。
- (操作移动)抓住目标。
- (撤回移动)小心地移回1号进场。
- (移动)快速移动到2号通道。
- (靠近移动)小心移动到“位置”位置。
- (操作移动)删除对象。
- (后退)小心地后退到2号进场。
的确,这个程序看起来比以前长了一些。然而,你只需要记住,我们所做的只是使用以下两个简单的规则:
你只需要记住两件事
你可以像这样判断你是否需要一个接近或撤退的动作:
- 从旅行转向行动?添加一个接近移动。
- 从操作型转变为旅行型?添加一个撤回移动。
要在RoboDK中使用这种技术,只需查看以下指南在我们的文档页面.
有问题吗?请在下面的评论中告诉我们,或者加入讨论LinkedIn,推特,Facebook,Instagram或在RoboDK论坛.