成员自1994年以来

了解更多

AMT创造性地解决了机器人自动化的挑战。我们提供完整的工程解决方案,有才华,经验丰富的工程师和没有产品或硬件议程。这使我们能够提供一个独特和公正的自动化解决方案,满足您的机器人自动化需求,无论大小。我们提供AMT优势,这使我们从包。作为一家提供全方位自动化解决方案的集成商,我们有超过25年的历史,拥有独特的能力,可以在任何时候与制造商进行合作。“我们从未打算成为另一家自动化机器人和工程公司。我们在应用制造技术方面的经验和技能在业内是无与伦比的。”在AMT,我们凭借深厚的知识和经验,成功地建立了一家拥有相关自动化机器人技术的公司,为我们的客户的业绩增加价值。让我们向您展示贵公司如何能从我们的经验中获益。

内容提交:

工业:
航空航天和汽车航空航天,汽车,汽车,消费品/家电,电子/电气元件,金属制品,医疗器械,金属,纸张,制药和橡胶

应用:
装配,装配和材料处理装配,装配,材料处理和点焊

查看更多

减少变量:从不准确的机器人获得准确的运动

发布10/08/2019

David McMillan.博客帖子由高级应用工程师David McMillan。大卫一直在机器人行业超过20年,并且是AMT的新人或不寻常的技术之一。有关AMT在机器人应用中的专业知识的更多信息,请访问www.appliedmfg.com。

如果你愿意,就给我讲个简短的"老屁"故事。当我接到我的第一个航天工业任务时,我是一个经验丰富的机器人应用工程师,在汽车工业生产方面有丰富的经验。我可以诚实地说,我知道自己在做什么。

我不知道我不知道什么。(“未知未知”,窃取短语。)

在汽车行业,可重复性就是一切。在过去几十年里,该行业的生产实践不断发展,以发挥他们使用的机器人的优势,避免其弱点。但是航空航天仍在继续准确性,并没有与机器人的关系。

为了智能地讨论主题,我们首先需要定义我们的术语(因为它们与机器人有关):

精度精确图

准确性:能够到达空间中的任意点,从任意点出发,在任意条件下,在一个确定的容忍范围内。

可重复性(有时叫精度):持续到达目的地的能力相同的空间中的点,从相同的起点,在相同/相似的条件下,在一个确定的公差内,即使那点不准确

机器人非常擅长做同样的方式,每次都是基本上永远的。即使他们正在这样做错误的,他们会做错事以同样的方式每次。这意味着,历史上,机器人编程组包括在多个测试中调整编程位置,直到机器人到达空间的正确点。机器人的位置这可能与图纸不符,但只要焊缝在正确的位置,谁在乎呢?

历史上,工业机器人倾向于图1中的插图的左上角。在接下来的几年内使用我使用的各种机器人的帖子制造商规范(如所定义的)ISO 9283.)我发现重复值的范围为50-150μm,但是精度对于相同的机器人,数据的大小从500 μ m到1500 μ m不等。根据我的经验,这是一个合理的经验法则:对于任何给定的标准工业六轴机器人,重复性和精度之间的关系大约是10倍——一个数量级。

最近,已经有一个强大的推动来生成机器人程序“离线”,这意味着使用模拟来创建程序,将它们下载到机器人,刚刚命中。生产设施中没有凌乱,长时间的尝试失败循环。这次推动最强大,非传统客户最强大,他们是在其生产中使用工业机器人的新客户,航空航天是一个特别强有力的例子。它在我的第一次前进到航空航天,使用机器人使用汽车用例制造,其中工业机器人的准确性和可重复性之间的关键主要差异成为我的真正问题(而不是理论问题)。水域很多,很多比我想象的更深。

反弹

我有一项任务,看起来很简单:用机器视觉系统,把一个埋头铣刀插入一个已经钻好的洞里。我需要实现准确性,相对于孔,50µm (0.05 mm,或约0.002”)或更好。这比我以前做过的任何事情都要紧得多,但视觉系统可以测量到小于1微米,这应该给我一个奢侈的边际。我只是移动,测量,重复,直到我击中目标。

相反,我发现,能达到50µm的宽容度完全靠运气;机器人会一直尝试,直到视觉系统报告我们在可容忍范围内,但这可能需要五次尝试……或五百次。当我深入研究这个问题时,我发现我试图做出的修正比机器人运动控制中的“噪音”还要小。

任何驾驶汽车转向需要工作的汽车的人都直观地掌握了“反弹”是什么。工业机器人(尽管被吹捧为使用“零间隙”驱动机制)有大量的反弹,具有多种类型。所有这些因素组合的正式术语是“失去运动”。这种丢失的动作不易到模型,它取决于机器人的位置,方向,有效载荷甚至环境温度急剧变化。这使得在数学上很难预测或正确。

在这种情况下,随着我的机器人接近目标,它必须继续进行更小和更小的校正 - 一种芝诺悖论,如果你愿意。最终,校正比机器人失去的运动更小。结果是,当命令制作微小运动时,机器人可能根本不能移动,或者在某种程度上移动。

《寻找解决方案》

在试图解决这个问题时,我做了一个简单的测试。我把机器人放在目标上方,用视觉系统测量它的位置。然后,我将机器人沿固定方向每10µm移动一次,每移动一次,就停下来测量一次。我的发现很有启发意义:在最初的几个增量中,机器人是随机移动的(或者根本不移动),但在一个一致的方向移动,机器人将可靠地以10µm增量移动,这是由视觉系统验证的。最终,很明显,在向一个固定的方向移动足够长的距离后,机器人将在所有轴上“占据松弛”,机器人的运动(至少是短距离)将变得更加精确。但是,当我想搬进来的时候其他方向,失去动作的所有“松弛”就会回到戏剧,直到我沿着新的方向搬到了“搬运”的最远。

回到绘图板!

所以我需要找到一种能够可靠地“占用松弛”的方法。对于此应用程序,我们不需要制作机器人准确的尽管我们需要一种保持所有丢失的运动的方法。如果我们能找到一种方法来保持每个轴“拉动”到一侧或另一侧,而不是在丢失的运动范围的中间随机围绕死区浮动,这就是足够的。

对于外部观察者来说,头脑风暴可能会很滑稽;他们认真地提出了一些选择,如在每个轴上安装大弹簧,或将机器人安装在一个斜楔上以“偏向”重力。甚至有人建议增加第二个机器人,其唯一的工作就是将连接在主机器人末端执行器上的蹦极绳索拉向一个一致的方向(别笑,这很可能会起作用)。但是没有一个想法是非常实际的。幸运的是,这些都不是必须的。

令人惊讶的简单解决方案?

与大多数优秀的工程解决方案一样,最终的解决方案几乎非常简单。它是添加一个商榷额外的动作(好吧,技术上是两个)到每个矫正动作,在一个固定的方向。我们称之为“反反弹”运动。

它是这样工作的:我们的工具的z轴与我们正在使用的钻头的轴对齐。我们从一个沿z轴计算的对峙位置最终接近预定目标。然后,一旦我们达到编程的目标位置,我们将采取视觉测量,提供刀具轴X, Y, Z, Rx和Ry的校正值(对于钻头来说,Rz显然是无关的)。但是,该程序并没有简单地按这些校正值移动,而是沿着Z轴执行了几毫米的“拉回”,足以完全超过任何潜在的运动效果。这是反反冲运动的第一步。第二步是计算并执行包含视力矫正的动作第一反对禁止运动的确切逆。

在实践中,它看起来有点令人愉悦(像一个“饮酒鸟”),但它令人惊讶地工作。我们的移动措施矫正迭代从几十个到一个合理的三个(通常在两到五之间)。试验速度偏移速度迅速向我们展示了最低限度 - 低于某一点,纠正迭代的数量将大幅增加。

这种克服的运动方法几乎是一个秘密;来自新河流运动学的产品,使用计量设备引导机器人(坦率地惊人的准确性)利用非常相似的方法。任何旧的机器师都必须使用拍手的手册车床或磨机,了解如何弥补手工曲柄中的速度,通常是故意从一个方向削减,当他们需要挤出精度时一个不精确的机器。它是克服铰接式机器人克服运动效果的最基本要素之一,可能是任何必须争取这个问题的人的关键“工具箱项目”。

当然,这种应用在很多方面都是低悬挂的水果。我们的目标是表面的一个洞,对机器人的愿景很容易可见,并且相对于目标实现足够的准确性是一种简单的测量和纠正,直到我们最终实现宽容。但更复杂的情况怎么样?例如,如果我们需要准确地在表面上准确地钻个孔没有这样简单的目标?那是一个项目的一部分,我的团队还没完蛋其他兔子洞。

在地标之间导航(“不应该在Albuquerque左转”)

发那科机器人钻在这种情况下,任务是钻几千孔,分布在班机机身的整个表面上,具有高精度。

每当有人要求你达到一定的准确性时,你首先要问的问题之一应该是“准确性”相对于什么?“这是我们学到的课程,但我会为你的血腥细节饶了。

在汽车领域,精度是通过消除几乎所有变量的简单权之计实现的——部件和承载它们的工具被设计得比机器人更易于重复。不受控制的影响,如热膨胀,通常是可以忽略不计的。

然而,对于大型空气结构,这并不是真的。空气结构部件的临界公差不是零件的多么可重复,但它们的适合如何合适。这似乎是一个没有区别的区别,但它不是。

此外,对于非常大的结构,如机身,它只是太大让所有东西都像汽车零部件一样可以重复使用。即使零件是100%可重复的完美的对于CAD模型,重力等简单效果使结构略微落后于支撑点,这意味着您不能简单地将CAD模型位置导出到机器人并点击Go。

相反,我们依赖于我们来称之为“本地相对准确性”。回想一下,我以前的项目示例透露,一旦照顾了丢失的动作,机器人就可以通过精确度执行纠正动作更好的比它的规格重复性要高,至少在短距离内是这样。

在这个大型客机机身的情况下,飞机的“皮肤”面板已经附加到机身的“骨骼” - 当机会达到机器人工作区域的时候,大约是20,000左右的10%紧固件已经安装过。并且每个“钉”紧固件已经非常仔细地放置,以满足客户的公差规范。因此,我们可以简单地“连接点”来完成机身。

几乎。当然,它比这更复杂。

FANUC机器人客机机身在我们进行研发的过程中,我们发现通过我们的间隙补偿技术,机器人可以在一定距离内保持足够的精度。然而,这个距离是用联合的空间(即机器人轴的运动),不仅仅是在笛卡尔空间中。这意味着钻孔仅20毫米分开,具有非常不同的末端效应器取向,将赋予非常差的准确性,相比两个点相同的距离相同的方向相同。我们还发现了某些“无”区域,某些机器人轴太靠近拐点以保持精度。例如,想象大多数6轴机器人上的“肩部”关节 - 当该臂连杆是垂直时,重力可能会“尖端”,它要么向前或向后。该轴通常也具有某种逆向。这引入了需要避免的随机因子。

我们的解决方案在概念中非常简单,尽管它在应用中是相当复杂的。基本思想是将整个机身皮肤分成一个工作区的棋盘式栅格。每个区域都是使用若干标准定义的:整体尺寸,平坦度或曲率,以及地标的可用性(预先存在的钉紧固件)。

大小和曲率是相互依赖的。曲线越紧,区域越小,反之亦然。如果一个区域包含需要机器人做出额外扭曲才能到达的狭窄区域,这些狭窄区域可能会成为它们自己的区域。这就意味着这些选区的形状往往很奇怪,并且以奇怪的方式重叠(“不公正划分选区”这个词是半讽刺的)。

具有里程碑意义的可用性是最关键的因素。地标必须是可见的,准确的放置,并通过机器视觉定位。对于一个可行的区域来说,它必须有足够的符合这些标准的地标,这些地标必须足够包围这个区域。

对于只是简单地“连接点”的区域,在两个已存在的紧固件之间的直线上钻孔,两个里程碑就足够了(尽管更多的里程碑总是为了冗余而首选)。但要让这样一个简单的两个地标区发挥作用,我们只能在这些地标之间的线上钻孔——当我们离开这条线时,精确度会急剧下降。

对于二维区域,技术上三个地标是已经足够的(每个年级 - 学校几何形状,三个点定义了两点定义一条线的平面)。但这将创造了“精度三角形” - 在三角形外移动三个地标在精度的快速下降时会导致快速下降。同样,如果三角形的两点太靠近,则笛卡尔空间中的准确区会看起来更像是一条线。

对于我们模糊的方形工作区,我们通常坚持在角落的至少四个良好的目标上,最好是更多。作为一般规则,我们通常可以在地标相对于这些地标的界面定义的多边形内的准确性。

实现这一目标的诀窍是,再一次地消除尽可能多的变量。为了准确地在工作区域钻孔,机器人将首先移动到每个地标,执行一个移动-测量-正确的周期(带间隙补偿),直到几乎完全与地标对齐,并记录机器人在那一刻的位置。这将对该区域内的所有地标进行重复。然后利用每个地标位置之间的差异进行六自由度(6DOF)计算预期的以及它实际上在哪里.这导致了一个6DOF变换,可以应用到区域内的所有目标点。

为了使这项工作,重要的是测量每个地标,并且每个孔都在钻相同的方向结束效应器(回想一下我早些时候关于联合空间与轴空间的运动所说的话)。在弯曲的机身上,这显然不是100%可能的,这导致曲率与区域尺寸之间的权衡。通常,我们会看到变成矩形的区域,长轴平行于曲率轴线。随着该过程进入机身区域,具有复合曲率或更严格的半径,工作区必须收缩以补偿。

有时,我们会遇到相同区域的特定目标需要完全不同的末端执行器方向的几何形状——否则它们根本无法到达。在这种情况下,我们通常会将相同的物理区域分割成独立的虚拟区域,从不同的方向对相同的目标进行视觉测量,选择与目标设置的方向相匹配的方向。我们有时会以“虚拟”区域占用相同的物理区域,或者与其他区域重叠而告终。将整个机身划分为可操作区域的过程是在仿真环境中执行的一个复杂过程(如process simulation或Catia V5)——所有相关内容的完整详细的3D模型至关重要的

保质期(“除了时间之外,请告诉我!”)

现在,到目前为止我谈到了克服了克服的变量空间——位置和方向。这是第一个“减速带”,任何人试图挤压精度的六轴工业机器人将遇到。但还有另一个不那么明显的变量:时间

简单地说,当你测量工件时的时间越多,以及当你的时候应用将测量作为机器人的位置校正,有关某种东西可以改变的机会越多,而不会被注意到。现在,希望控制器会检测有人是否有打开/关闭保留夹,或者如果已被移除并更换。该工具应该足够强大,以至于工件不会在没有人为干预的情况下或某种机械碰撞的抓地力。但是,在我们谈论的机械精度水平上,还有另一个更有阴险的因素,可以推动您的公差限制:热膨胀。

如果模拟出一个机器人的体积误差是非常困难的,那么模拟出热膨胀对机器人的位置准确性的影响是......好吧,让我们说我在不久的将来看不到这一点。我的团队进行的测试表明,即使在环境温度控制的环境中,机器人自己的伺服余热会随着时间的推移慢慢地传播臂的身体元素。There was a pronounced lag, resulting in an S-curve when one plotted accuracy errors over time -- during the time the heat was “creeping” through the robot’s shell, the errors would increase, but once the thermal distribution stabilized, so would the accuracy errors.

各种处理手段问题被尝试,最基本的是将环境温度传感器添加到自动化中,以检测足够大的温度摇摆以要求重新测量。考虑到机器人的热传感器,但被遗弃为不切实际。最后,我们诉诸最简单的解决方案:最大限度地减少我们的测量周期与我们的矫正应用程序之间的测量结果。因此,对于机身已被分成的每个区域,在该区域的实际钻井过程之前立即进行测量周期。如果由于任何原因中断处理循环,则在可以恢复过程循环的剩余部分之前将重复测量循环。这在循环时间内具有成本,但它与任何事件中的速度高度最低,并且在任何情况下都是高度的。

我们研究的另一个选项(但在本例中不需要实现)是在每个度量周期上设置一个过期时间,如果该时间因任何原因而过期,而流程周期正在进行,则强制中断流程周期以重复度量周期。在实践中,我们的区域通常是足够小,随时间漂移不会是一个因素,没有其他类型的过程中断,但一些生产过程可能有其他问题(例如人类操作员交互,)可以带来延迟的不可预知的足够长的时间漂移随着时间的推移变得重要。

总结(或TL;DR)

最重要的是,工业机器人在重复性上要比准确性强得多。但如果你能减少机器人定位所涉及的变量的数量,你就可以“欺骗”自己的方式来获得更大的变量有效的准确性。

完全掌握可能影响您的准确性的所有不同因素,特别是效果在非明显或不一致的方式。

总之,我试图通过一些一般的经验教训(在几个需要精确接近,或者在某些情况下击败机器人固有的重复性的机器人项目的过程中。这是一个非常深奥的课题,对于我们这些习惯了“经典”工业机器人的人来说,这是非常违背直觉的,比如汽车行业,这些行业已经使用机器人自动化几十年了。但在产品设计和自动化设计之间有了适当的互动,并很好地把握了什么是可以实现的,什么是需要实现的,我们可以实现汽车机器人的航空公差。

我希望任何在这片水域潜水的人都能发现我的回忆有用。如果您对具体的应用程序有疑问,请联系我们。