什么是机器人奇异点?如何避免?

机器人奇异点

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

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

我们很难找到一个清晰、简单的机器人奇异点定义。许多关于奇异点的信息都隐藏在教科书或学术文章的页面中。要理解这一理论,你必须仔细阅读理解大量的方程式和深奥的词汇,如“雅可比”、“重合”、“正交”、“秩”和其他各种术语。

也许你对这些词很熟悉,你对几何和代数十分了解。但即使如此,除非你已经是专家(如果你是专家,你可能不需要这篇文章),否则你可能需要花很多时间来充分了解奇异点的实际情况。

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

机器人奇异点的定义

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

记住,机器人的自由度是其具有的独立可控关节的数量。因此,像大多数工业机器人一样,6 自由度机器人有6个可独立移动的关节。当一个6 自由度机器人进入一个奇异点时,它的一个或多个关节将变得毫无用处,从而变成一个4或5 自由度机器人。

我刚刚为你提供了一个机器人奇异点的实用定义…

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

更多的技术定义

下面是你可能会遇到的一些定义(其中包括我在本文后面解释的一些术语) :

  • 机器人机械臂的运动学奇异性是指机器人机械臂的运动学构型中,机器人机械臂的期望或典型瞬时自由度数发生变化的情况。
  • 当机器人的雅可比矩阵的秩小于雅可比矩阵在某些配置中所能达到的最大秩时,就会出现奇异现象。
  • 当雅可比矩阵的行列式为零时,特定机器人配置存在奇异性。

所有这些定义都或多或少地说明了相同的事情。但是,每一项都需要你有不同程度的背景理解。

机器人是如何移动的? 为什么会出现奇异点?

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

不过,也有个简单的方法来理解……

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

在编程机器人时,这两者之间的冲突可能会产生大量问题。如果你不注意的话,控制算法会指示机器人的电机进行不可能在物理层面实现的运动。

这基本上就是机器人遇到奇异点时会发生的情况。

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

发现机器人奇异点的简单方法

如何快速识别机器人何时进入奇异点?

一般来说,奇异点很容易被发现。你的机器人沿着轨迹以恒定、平稳的速度移动……然后它做了一些“奇怪”的事情。它的运动发生了计划外的变化,而原因不明。

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

以下的这些迹象表明你的机器人可能已经进入或经过奇异点附近:

  • 机器人猛地移动或突然停止。
  • 机器人刀具中心点(TCP)减速或停止。同时,它的一些关节同时加速到最大速度。
  • 机器人在穿过空位时卡住了。

如果发生上述这些情况,就有必要检查机器人是否经过了奇异点。

工业机器人中奇异点的三种基本类型

常见的机器人奇异点分为三种:腕部奇异点、肘部奇异点和肩部奇异点。

虽然这种分类有点过于简单。但是,这很有帮助,因为当你使用常见标准的6 自由度操纵器时,这是工业机器人中最常遇到的3种奇异点。

以下是对这些问题的简要介绍:

1.腕部奇异点

当机器人的关节4和关节6的轴变为“重合”或平行时,腕部奇异点就会产生,具体取决于机器人。重合线是指彼此平行且共享一个点的线…这基本上意味着两条独立的线成为同一条线。

换句话说,两个关节的轴线完全一致。

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

在其他机器人中,例如本动画中的机器人,3个腕关节轴不会聚集在一个点上,因此它们不会重合。在这种情况下,当关节4和6的轴平行时,就会产生奇异点。

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

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

2.肘部奇异点

你通常可以很好地判断出肘部奇异点,因为它看起来像机器人“伸展得太远了”。在许多机器人中,当肘部关节(关节3)处于0°时,就会出现奇异点,但这取决于机器人的初始位置是如何定义的。

从技术上讲,当机器人腕部的中心(即所有3个手腕轴会聚的点)与关节2和关节3位于同一平面上时,就会出现肘部奇异点。理论上,6 自由度机械臂中有两个肘部奇异点——一个是手臂完全伸展时,另一个是折叠在自身上时——但从物理层面而言只有第一种是可能的。

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

3.肩部奇异点

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

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

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

这就是如果你尝试在RoboDK中编程这个动作的真实情况…

工作空间内部与边界奇异点

另一种对机器人奇异点进行分类的方法是将其分为两组:

工作区内部奇异点

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

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

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

工作区边界奇异点

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

肘部奇异点是工作空间边界奇异点的一个例子。

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

机器人奇异点发生了什么?函数中的奇异点

既然你了解了奇异点是什么之后,让我们后退一步,看看当机器人进入奇异点时会发生什么……

这一切都是从一个对机器人控制至关重要的特殊矩阵开始的……雅可比矩阵。

我们说“当雅可比行列式为零时,机器人有一个奇异点。”

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

雅克比矩阵是什么?

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

在软件中,你可以输入一个点的坐标,机器人将以定义的速度移动到该点。在这种情况下,你是在“笛卡尔空间”中控制机器人(即,你可以输入末端效应器的X、Y和Z坐标以及方向)。

问题是,机器人需要在“关节空间”中进行控制。机器人需要知道所有关节的所需角度以及关节的移动速度。

机器人的控制算法必须将笛卡尔指令转换为联合指令。其中涉及到很多数学运算,从而可以让你在笛卡尔空间中移动机器人!

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

  • 它可以用于在机器人关节的角速度和机器人末端执行器的速度之间进行转换。
  • 它可以用于将极坐标或球面坐标转换为笛卡尔坐标。
  • 它可以用来确定机器人是否有奇异点以及这些奇异点在机器人的工作空间中的位置。

本文不打算详细讨论如何计算雅可比,因为这只是一篇介绍性文章。但是,如果你想了解有关如何计算特定机器人的雅可比矩阵的更多信息,请查看下面“高级”部分中列出的教程资源。

在奇异点处雅可比矩阵会发生什么

关于雅可比矩阵,需要知道的一件重要事情是它会根据机器人的配置而改变。机器人的每一个动作都会影响它的雅可比。当机器人进入奇异点时,处于当前配置的雅可比矩阵有一个特殊的性质——行列式变为零。

行列式的定义是什么?它是通过以特定方式对矩阵的所有元素求和来计算的值。

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

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

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

避免机器人奇异点的简便方法

有许多研究论文和教材提供了避免机器人奇异性的解决方案。但是,除非你是一名机器人研究人员,或者出于其他原因需要学习奇异点理论,否则你可能不需要阅读它们。

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

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

如果RoboDK告诉你机器人将通过奇异点,你该怎么办?

有以下几种解决方案,包括:

  • 将任务移动到机器人工作区的另一个区域。奇异点出现在工作空间中非常特定的区域,所以这通常会有所帮助。
  • 可视化机器人的工作空间。这可以显示工作区的哪些区域不可用。
  • 尝试“关节移动”而不是“线性移动”。如果机器人将在自由空间中移动,则可以使用“关节移动”。这比线性移动控制得更少,它为机器人提供了更多关于如何到达目标点的选项。

高级:一些有用的资源可以深入了解机器人奇异点

上面列出的3种机器人奇异点是使用工业机械手通常需要知道的所有信息。你不需要“深入”了解奇异点的所有基本理论,就像你不需要取得汽车工程博士才能驾驶汽车一样。

然而,如果你是一名机器人研究人员,或者你在更复杂的层面上使用机器人,你可能需要深入了解基础数学。

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

利用串行机器人奇异点进行深入研究

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

以下是关于机器人奇异点理论的一些不错的资源:

  • 例如,对于简单易懂的介绍,本篇文章就是一个很好的开始。
  • 这是另一个稍微深入数学的教程,但也有一些机器人进入奇异配置的方便可视化。
  • 这个来自Northwestern University的教程是一个很好的更深入的教程。如果你喜欢这种教学方式,Coursera 上还有一个相关的在线课程,你可以免费旁听。
  • 这里是一个机器人雅可比矩阵指南与案例和方程。

并联机器人奇异点是如何分类的

你在使用并联机器人吗?这就是机器人奇异点变得非常复杂的地方!

到目前为止,我们只讨论了串行机器人,即机器人的每个关节都位于上一个链接的末端。平行机器人是一个完全不同的产品,因为奇异点可以使它们完全崩溃。运动学研究人员有时将并联奇异点分为以下4类:

  • 类型1——串行奇异性——如上所述,当包括关节速度的雅可比矩阵的行列式为零时,会出现这些奇异性。实际上,这意味着机器人失去了沿某一特定方向移动的能力。
  • 类型2——并联奇异点——当包括末端效应器速度的雅可比行列式为零时,会出现这种情况。实际上,这意味着机器人的一个或多个自由度变得无法控制。
  • 类型3——串行+并行奇异点——这是上述两个奇异点的组合。机器人失去沿特定方向移动的能力,一个或多个自由度变得无法控制。
  • 类型4——约束奇异点——当机器人的自由度小于6并且使用并联机构时,会出现这些特殊情况的奇异

如果你想开始了解并行机器人奇异点,我建议从这篇研究论文开始,它清楚地解释了3种主要类型,然后再看这篇首次介绍它们的开创性论文

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

你只需要在应用程序中避免奇异点吗?

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

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

One Comment on “什么是机器人奇异点?如何避免?”

Leave a Reply

Your email address will not be published. Required fields are marked *