六轴机械手臂有哪些奇异点?

六轴机械手臂由六组不同位置的马达驱动,每个马达都能提供绕一轴向的旋转运动,其位置可参照下图。从自由度(Degree of Freedom)的概念来看,六轴机械手臂已经满足三维空间中的六个自由度,理论上其末端End-Effector可以到达空间中任何位置及角度,但为什么有时候机械手臂仍然会卡住呢?这是因为六轴机械手臂存在著一些奇异点(Singularity)。

Figure: 6-Axis Robot

当机械手臂进行直线运动模式(Linear Mode),系统并未事先计算好过程中的手臂姿态(Configuration),倘若在运动过程中遇到奇异点,会造成机械手臂卡住或跳错误,使人相当头痛;但如果了解奇异点,就能在把普拿疼吃完之前使工作顺利地完成了。

机械手臂的奇异点,依发生的原因可概括为两大类:

1. 内部马达可运作范围的极限位置:

2. 根据不同型号的机械手臂中使用之马达,会有不同的运作范围限制,也就是工作空间(Workspace)的概念,本文不加以赘述。

3. 数学模型上的错误:

4. 也是本文要介绍的重点,如同其他数学上的奇异点,它发生于「无限」的情况下,例如:任何一个除以零的数;即便「无限」在数学的观点中已经是个习以为常的概念,但在现实的物理世界中是无法达成的。

====以下简述奇异点学理上的成因====

运动学上的奇异点解释

运动学(Kinematics)中,将机器手臂视为由「刚体」以及可提供平移或旋转的「关节 (Joint)」所组成,运动学探讨刚体尺寸及关节参数对应于运动链末端的位置及运动路径之关系,可再划分为两个部分:

1. 正向运动学 (Forward Kinematics):

2. 在给定已知的尺寸及关节参数的条件下,去求得运动链末端的位置及角度;在六轴机械手臂上,就是给定各轴角度,去求得末端的笛卡尔座标;一组给定的关节参数只对应唯一个末端座标。

3. 反向运动学 (Inverse Kinematics):

4. 欲求得任何可能的关节参数,使运动链末端达到特定位置及角度;在六轴机械手臂上,就是从已知的末端座标,去求得各轴角度参数的组合;与正向运动学不同,一个末端位置可以由不同的手臂姿态来达成,对应不只一组的关节参数。理论上,六轴机构的一个末端位置可对应多达十六组不同的关节参数。

而在反向运动学中,当末端位于奇异点时,一个末端位置会对应无限多组解;起因于运动学中使用Jacobian矩阵来转换轴角度及机械手臂末端的关系,当机械手臂中的两轴共线时,矩阵内并非完全线性独立,造成Jacobian矩阵的秩(Rank)会减少,其行列式值(Determinant)为零,使得Jacabian矩阵无反函数,反向运动学无法运算,是为奇异点发生处。

在手臂末端接近奇异点时,微小的位移变化量就会导致某些轴的角度产生剧烈变化,产生近似无限大的角速度,而这在现实世界中是不可能的。

预先将要通过的奇异点标示出来,且机械手臂各路径均设定为等速运动,以方便辨别比较奇异点对机械手臂运动之影响。开始时,机械手臂以等速运动,但当机械手臂接近奇异点时,手臂末端呈现几乎停止的状态下,进行姿态的调整,即为上述的微小位移量造成角度剧烈变化之现象。特别提醒,影片中的运动路径并未真正经过奇异点,只是非常接近,若机械手臂经过奇异点,运动即会停止,并出现错误讯息之提示。

在此给奇异点一个简单的解释,即当机械手臂的其中两个以上的轴共线时,会导致机械手臂发生无法预期的运动状态。

常见的奇异点发生时机

由于奇异点与机械手臂的姿态相关,并不是一个给定的位置,所以要列出所有的奇异点是有难度的,不过在此依照奇异点发生的状况不同,将六轴机械手臂的奇异点分为三个种类:

1.Wrist Singularity (腕关节奇异点):

当第4轴与第6轴共线,会造成系统尝试著将第4轴与第6轴瞬间旋转180度。

2.Shoulder Singularity (肩关节奇异点):

当第1轴与腕关节中心C点(第5轴与第6轴之交点)共线,会造成系统尝试将第1轴与第4轴瞬间旋转180度。此类型有个特殊的情况,当第1轴与腕关节中心共线,且与第6轴共线时,会造成系统尝试第1轴与第6轴瞬间旋转180度,称之为Alignment Singularity (对齐奇异点)。

Figure: Shoulder Singularity

Figure: Alignment Singularity

3.Elbow Singularity (肘关节奇异点):

当腕关节中心C点与第2轴、第3轴共平面时,会造成肘关节卡住,像是被锁住一般,无法再移动。

Figure: Elbow Singularity

以上奇异点之示范影片可参考这裡,影片中以颜色深浅代表轴之角速度,可以明显看出上述发生之角速度瞬间增大之现象。

如何避免奇异点

奇异点常发生于两轴共线时,当机械手臂的轴数量增加时,发生奇异点的位置与机会同时增加。但因为机械手臂的自由度变多,也表示有更多可以避开奇异点的运动路径可以选择。六轴机械手臂拥有六个自由度,可以达到空间中任何位置,而七轴机械手臂就是为了避开奇异点而产生,多一个自由度来增加避开奇异点的路径选择性,也同时可进行複杂度更高的运动,因为这额外的轴,七轴机械手臂又被称作Redundant Robot,

也有人提出将工具与法兰面(Flange)的关系进行调整,当工具的方向平行于法兰面法线方向时,把工具调整一个微小的角度(5°~15°),可减少运动路径遇到奇异点的机会。虽无法完全避免,但因成本低且可简单地进行测试,不失为一个好方法。

Figure: Add a Small Angels

理论上,机械手臂到达奇异点时角速度无限大,为避免损坏,机械手臂製造商会以软体进行保护,当速度过快时机械手臂停止,并产生错误讯息。使用者也可以限制机械手臂经过奇异点附近时的速度,使其缓慢地通过,避免停机。

而在ABB机械手臂控制器中,当第五轴角度为0°,即第四轴与第六轴共线时,会出现提醒讯息,并进行以下两种步骤来避免奇异点问题:

  1. 增加目标点,调整姿态,避免第五轴角度出现0°的情况,这也是有时机械手臂运行时会有一些无法预期的动作的原因。

2. 修改MOVEL指令为MOVEJ指令,在非必须以直线运动的工作需求下,使用关节运动取代直线运动,以MOVEJ指令可使机械手臂自主调整姿态避免运行至奇异点附近。

最有效的方法还是在电脑上的模拟软体先行确认,尝试将运动路径调整至没有奇异点。ABB的Robot Studio模拟功能可以监控运动路径是否接近奇异点,方便在接近奇异点附近的位置修改路径,以顺利完成工作。

原文发布于微信公众号 - 机器人网(robot_globalsources)

原文发表时间:2017-10-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技大本营的专栏

面试定心丸:AI知识点备忘录(包括ML、DL、Python、Pandas等)

【导读】本期 AI科技大本营为大家精心整理了最全面的 AI 知识点备忘清单,包含机器学习、深度学习、Python 等各个领域。为了方便大家保存和随时学习,我们还...

1302
来自专栏大数据文摘

分辨真假数据科学家的20个问题及回答

1993
来自专栏媒矿工厂

【视频编码】 Content Aware ABR技术(三)

本系列的前面贴子中,我们梳理了Netflix和YouTube在ABR方面的一些进展,本文将简要介绍一下编码优化领域的一位新贵—Beamr的技术动态。 ? Bea...

3925
来自专栏华章科技

大数据时代的网络分析,如何全盘挖掘大数据?

我们生活在一个互联实体(entities)构成的复杂世界中。人类涉足的所有领域,从生物学到医学、经济学和气候科学,都充满了大规模数据集。

1046
来自专栏AI研习社

手把手教你用 R 语言分析歌词

翻译 | 刘朋 Noddleslee 程思婕 余杭 整理 | 凡江

2073
来自专栏程序生活

QA-对话系统-问答系统-聊天机器人-chatbot相关资源1 简介2 博客推荐论文3 项目4 相关链接

7443
来自专栏华章科技

为何你只能做出渣图表?数据可视化的十大误区

通过可视化信息,我们的大脑可以更有效地合成和保留信息内容,增强对信息的理解。但是如果不正确数据可视化,它可能弊大于利。错误的图表可以减少数据的信息,或者更糟的是...

993
来自专栏量子位

DeepMind开源了强化学习库“松露”,团队自身也严重依赖它

今天,DeepMind开源了一个基于TensorFlow的强化学习库,名字叫TRFL。

951
来自专栏AI星球

我与Python--从Hacker到探索Deep Learning

进入大学之后,我们逐渐“被教授”了C、C++、Java等编程语言,但为什么我会选择python作为最喜欢的编程语言呢?

1223
来自专栏大数据挖掘DT机器学习

关联规则挖掘综述

本文介绍了关联规则挖掘的研究情况,提出了关联规则的分类方法,对一些典型算法进行了分析和评价,指出传统关联规则衡量标准的不足,归纳出关联规则的价值衡量方法,展望了...

4469

扫码关注云+社区

领取腾讯云代金券