机器人奇点:它们是什么以及如何打败它们

当你给机器人编程时,机器人奇点可能会造成严重破坏。

但是,什么是奇点呢?如何阻止奇点破坏你原本完美的机器人程序呢?

很难找到一个清晰、简单的机器人奇点定义。关于这个主题的许多最好的信息都隐藏在教科书或学术文章的深处。要理解这个理论,你必须深入阅读数页的方程和深奥的词汇,比如“雅可比矩阵”、“正常”、“重合”、“正交”、“秩”以及各种其他术语。

也许你对这些词很熟悉而且你对几何和代数有很强的理解。即便如此,你可能要花很多时间才能完全理解奇点到底是什么除非你已经是专家了(如果你是,你可能不需要这篇文章)。

让我们从一个明确的定义开始……

机器人奇点的定义

奇点是机器人工作空间中导致机器人失去一个或多个自由度(DoF)的一个特定点。当机器人的工具中心点(TCP)移动到或接近奇点时,机器人将停止移动或以意想不到的方式移动。

记住,机器人的自由度是它拥有的独立可控关节的数量。所以,一个6自由度的机器人——就像大多数工业机器人一样——有6个独立的活动关节。当一个6自由度的机器人进入一个奇点时,它的一个或多个关节将有效地失效,变成一个4或5自由度的机器人。

我刚刚给了你一个机器人奇点的实际定义……

然而,奇点有各种各样的定义。每个定义有多有用,取决于你需要深入研究这个主题以及你对运动学理论的理解程度。

更多技术定义

以下是您可能会遇到的更多定义(其中包括本文后面将解释的一些术语):

  • 运动学奇异点机器人操纵器是一种构型,在这种构型中,预期的或典型的瞬时自由度数量发生了变化。
  • 当雅可比矩阵的行列式为零时,一个特定的机器人构型存在奇点。

所有这些定义或多或少都表达了相同的意思。但是,每一种都要求你有不同程度的背景理解。

机器人如何运动,奇点为什么会出现?

当你开始阅读基本理论时,很容易对奇点感到困惑。

但是,这里有一个简单的方法来思考它们……

  • 机器人是有物理限制的物理设备。例如,机器人的每个电机都有一个最大速度。
  • 机器人的运动由算法和数学控制,没有物理限制。例如,在数学上,关节速度为“无穷大”是有效的。

当你为机器人编程时,这两个事实之间的冲突会导致大量的问题。如果你不小心,控制算法可能会指示机器人的电机执行物理上不可能的运动。

这就是机器人遇到奇点时所发生的事情。

机器人试图做一些不可能的事情,比如以无限的速度移动。

找出机器人奇点的简单方法

当你的机器人进入奇点时,你如何快速识别?

一般来说,奇点很容易被发现。你的机器人沿着一条轨迹以恒定、平稳的速度移动,然后它会做一些“奇怪的事情”。它的运动出乎意料地变化,原因尚不清楚。

机器人在做“奇怪的事情”(虽然实际上并不是奇点)

以下是一些标记,表明你的机器人可能已经进入或经过了奇点附近:

  • 它做一个突然的运动或突然停止。
  • 它的工具中心点(TCP)减慢或停止。与此同时,它的一些关节同时加速到最大速度。
  • 当它在空旷的空间中移动时,它似乎被卡住了。

如果发生了上述任何一种情况,就值得研究一下机器人是否穿过了一个奇点。

3工业机器人奇点的基本类型

你经常会看到机器人奇点分为三种类型:手腕、肘部和肩部奇点。

这种分类有点简单。但是,这很有用,因为这是工业机器人中最常遇到的三种类型的奇点当你使用大多数标准的六自由度机械手时。

以下是对它们的简要介绍:

1.手腕奇点

当机器人的关节4和关节6的轴变得“重合”或平行时,就会出现腕部奇点,这取决于机器人。重合的线它们是相互平行的吗而且它们共用一点,这基本上意味着两条独立的线变成了同一条线。

换句话说,两个关节的轴彼此完全对齐。

大多数工业6自由度机器人的腕部有3个关节(关节4-6)。对于许多机器人来说,这3个关节的轴都会聚在一个共同点上。在这种情况下,当关节4和关节6重合时,腕关节奇点发生。

在其他机器人中,比如这个动画中的机器人,三个腕部关节轴不会聚在一点上,所以它们不能重合。在这里,当关节4和6的轴平行时,奇点就出现了。

当机器人到达腕部奇点时,其末端执行器保持静止,而关节4和关节6以相反方向的最高速度旋转。然后机器人继续沿着它的路径前进。

请注意,在这个动画中,手腕关节在直线中间无限快地移动。如果这是一个物理机器人,在保持末端执行器恒定速度的情况下,这种运动是不可能实现的。

2.肘部奇点

你通常能认出肘部的奇点,因为它看起来像机器人“伸展得太远了”。在许多机器人中,当肘关节(关节3)处于0°时就会发生这种情况,尽管这取决于如何定义机器人的主位置。

从技术上讲,肘关节奇点发生在机器人手腕的中心(即所有3个手腕轴的汇合点)与关节2和关节3在同一平面上时。理论上,六自由度机械臂有两个肘关节奇点——一个是手臂完全拉伸时,一个是手臂折叠时——但只有第一个在物理上是可能的。

你也可以认为肘部奇点是机器人“肘部向上”和“肘部向下”配置之间的过渡。在RoboDK中,您可以选择希望机器人使用哪种配置来达到特定的末端执行器姿态。当机器人进入肘部奇点时,这两种构型看起来都一样。

3.肩膀奇点

你可能遇到的第三种类型是肩奇点。当机器人手腕的中心与关节1的轴对齐时,或者当关节6的轴与关节1的轴重合时,就会发生这种情况。

当机器人接近肩部奇点时,关节1和关节4的电机试图以无限速度旋转180°。

注意:有些动画实际上是一个“谎言!”在创建这些模拟的RoboDK中,软件不允许你创建一个让机器人通过奇点的程序。

如果你试图在RoboDK中编程这个运动,这就是真正会发生的事情…

工作空间内部与边界奇点

另一种分类机器人奇点的方法是将它们分为两组:

工作空间内部奇点

这种类型的奇点发生在机器人的工具中心点(TCP)落在机器人工作空间的边界内。当机器人的两个或多个关节轴彼此对齐时,就会出现这种情况。

手腕和肩膀奇点都是工作空间内部奇点的例子。

这些通常是最难避免的,因为它们在机器人工作空间中的位置并不明显。

工作空间边界奇点

另一种类型的奇点发生在机器人工作空间的边界。每当机器人的TCP接近边界时,就有可能进入奇点。

弯头奇点是工作空间边界奇点的一个例子。

避免工作空间边界奇点相对容易。只要激活工作空间可视化为你的特定机器人(这很容易在RoboDK)。然后,确保你的任务在机器人的工作空间内,远离任何边界。

多机器人工作空间

机器人奇点到底发生了什么?函数的奇点

现在你已经了解了奇点的样子,让我们退一步,看看当机器人进入奇点时会发生什么……

这一切都始于一个特殊的矩阵,它是机器人控制的基础,雅可比矩阵。

我们说,当雅可比矩阵的行列式为零时,机器人有一个奇点

那么,这到底意味着什么呢?

雅可比矩阵是什么?

假设你打开RoboDK并加载一个机器人模型。

在软件中,你可以输入一个点的坐标,机器人就会以指定的速度移动到那里。在这种情况下,你在“笛卡尔空间”中控制机器人(即你可以输入末端执行器的X、Y和Z坐标和一个方向)。

问题是机器人需要在“关节空间”中被控制。机器人需要知道所有关节的理想角度以及关节应该以何种速度移动。

机器人的控制算法必须把你的笛卡尔指令转换成关节指令。为了让你在笛卡尔空间中移动机器人,在表面之下有很多数学运算!

雅可比矩阵可以用于几种不同的计算:

  • 它可以用来转换机器人关节的角速度和机器人末端执行器的速度。
  • 它可以用来确定机器人是否有奇点,以及这些奇点在机器人的工作空间中的位置。

我不打算详细讲如何计算雅可比矩阵因为这只是一篇介绍性文章。但是,如果您想了解关于如何计算特定机器人的雅可比矩阵的更多信息,请参阅中列出的教程资源先进的下面的部分。

奇点处的雅可比矩阵发生了什么

关于雅可比矩阵需要知道的重要一点是它随机器人的构型而变化。机器人的每一个动作都会影响它的雅可比矩阵。当机器人进入奇点时,其当前构型的雅可比矩阵有一个特殊的性质——行列式变为零。

什么是矩阵的行列式吗?它是一个单独的值,通过将矩阵中的所有元素以特定的方式相加来计算。

矩阵的行列式告诉我们什么?首先,它有助于计算矩阵的逆。这很重要,因为我们需要“逆雅可比矩阵”来将期望的末端执行器速度转换为一组关节速度。

行列式为零是什么意思?它告诉我们用矩阵表示的线性方程没有解。这意味着行列式为0的雅可比矩阵没有解。

换句话说,机器人被卡住是因为数学在奇点处“崩溃”了。

机器人奇点回避的简单解决方案

有许多研究论文和学术教科书提供了避免机器人奇点的解决方案。但是,你可能不需要阅读它们,除非你是一个机器人研究人员,或者你因为其他原因需要学习奇点理论。

有一个更简单的解决方案来避免机器人编程中的奇点……

使用RoboDK,您可以轻松避免奇点,无需额外的基础理论知识。软件会自动检测你的机器人何时会进入奇点,并通知你这个问题。

如果RoboDK告诉你你的机器人将穿过一个奇点,你该怎么做?

有一些解决方案,包括:

  • 将任务移动到机器人工作空间的另一个区域。奇点落在工作空间的非常特定的区域,因此这通常会有所帮助。
  • 尝试联合移动而不是线性移动。如果机器人要在自由空间中移动,你可以使用关节移动。这比线性移动更不受控制,但它为机器人提供了更多关于如何到达目标点的选择。

高级:深入研究机器人奇点的一些有用资源

上面列出的3种类型的机器人奇点是你在使用工业机械手时通常需要知道的。你不需要“深入”去理解奇点的所有潜在理论,就像你不需要汽车工程的博士学位来开车一样。

然而,如果你是一名机器人研究人员,或者你在更复杂的层面上研究机器人,你可能需要陷入底层数学中。

这并不容易。但是,有一些很好的资源可以帮助你开始。

深入研究系列机器人奇点

如果你正在建造自己的机器人,或者你是一名研究人员,你可能需要更好地掌握雅可比矩阵和相关理论。

下面是一些关于机器人奇点理论的好资源:

  • 这是另一个教程这稍微深入了一些数学,但也有一些方便的机器人进入奇异构型的可视化。

平行机器人奇点如何分类

你在和平行机器人一起工作吗?这就是机器人奇点变得非常复杂的地方!

到目前为止,我们只讨论了串联机器人,即机器人的每个关节都位于前一个链接的末端。平行机器人是一个完全不同的球类游戏,因为奇点可以使它们完全崩溃。

运动学研究人员有时将平行奇点分组分为以下4类

  • 类型1 -串行奇点-如上所述,当包含关节速度的雅可比矩阵行列式为零时,就会发生这种情况。实际上,这意味着机器人失去了向某个特定方向移动的能力。
  • 类型2 -平行奇点-当包含末端执行器速度的雅可比矩阵行列式为零时,就会发生这种情况。实际上,这意味着机器人的一个或多个自由度变得不可控。
  • 类型3 -串行+并行奇点-这是上述两个奇点的组合。机器人失去了向特定方向移动的能力,一个或多个自由度变得不可控。

如果你想开始理解平行机器人奇点,我建议你从本研究论文这清楚地解释了三种主要类型,然后这篇开创性的论文这是第一次介绍他们。

避免应用程序中奇点的最快方法

您是否只需要避免应用程序中的奇点?

你想避免所有复杂的数学吗?

最快,最简单的方法是使用RoboDK。你可以在我们的下雷电竞app下载安卓载页面上下载免费试用版。它包括自动奇点检测,您也可以根据自己的需要进行调整。

你对机器人奇点有什么问题吗?请在下面的评论中告诉我们,或者加入讨论LinkedIn推特脸谱网Instagram,或在RoboDK论坛还有,看看我们广泛的视频收藏并订阅RoboDK Youtube频道

关于Alex Owen-Hill

亚历克斯·欧文-希尔是一名自由撰稿人和公共演说家,他的博客主题广泛,包括科学、CreateClarifyArticulate.com的演讲技巧、讲故事和(当然)机器人。他在马德里理工大学完成了远程机器人博士学位,这是与欧洲核子研究中心合作的PURESAFE项目的一部分。作为一名正在恢复的学者,他通过撰写关于工业机器人的博客,在机器人世界站稳了脚跟。

查看Alex Owen-Hill的所有帖子

留下回复

你的电邮地址将不会公布。必填字段已标记