RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

大界成立的RoLAP实验室(RoboticPlus Laboratory for Autonomy and Perception),由中科院博士后、加州理工物理学博士、大界首席科学家周诚喆领衔,聚集了一批专业的硕博团队,致力于研究工业机器人在智能制造场景下的视觉感知(眼)、静止计划(手)、场景理解(大脑)的协同闭环系统。本文将鉴于RoLAP实验室的研究成果,为各位读者深度解析机器臂静止计划的关键技术。一. 背景介绍随着科学技术的发展,机器人技术正在被广泛应用到各种结构化的场景,比如3C消费电子和汽车工厂等标准化制造

大界成立的RoLAP实验室(RoboticPlus Laboratory for Autonomy and Perception),由中科院博士后、加州理工物理学博士、大界首席科学家周诚喆领衔,聚集了一批专业的硕博团队,致力于研究工业机器人在智能制造场景下的视觉感知(眼)静止计划(手)场景理解(大脑)的协同闭环系统。本文将鉴于RoLAP实验室的研究成果,为各位读者深度解析机器臂静止计划的关键技术。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

一. 背景介绍

随着科学技术的发展,机器人技术正在被广泛应用到各种结构化的场景,比如3C消费电子和汽车工厂等标准化制造业流程。这类场景,一般不需要复杂的计划算法,借助简单的正逆解计较工具,机器人可以一遍又一遍地执行相同的动作。但与这些标准化的加工制造行业不同,非结构化环境如家庭、医院和超市,给机器人计划带来了更多挑战。在这种情况下,机器人技术还没有准备好处理不同种类的使命无限数量的组合,甚至与人类合作。

我们以零售业中的机器人为例,随着零售环境的变化,填满超市货架这项看似机器重复的使命,其实面临着充满动态环境的挑战。因此在这种情况下部署机器人,需要其足够智能来处理和操纵货物。在超市环境中,计划一条无碰撞轨迹来获取和放置物品是一项不简单的使命。为了有效且安全的安置货物,必须优化计划的轨迹,让机器人动作流畅、无抖动且看起来很自然。此外,优化轨迹不仅可以平滑静止,还可以节省能量,同时通过保持活动更长时间,还可以减少执行器的损坏以及由于静止中产生的卡顿。

回到建筑加工制造行业,这类场景下的轨迹计划是一个非常有意思的题目。虽然不像服务行业中的场景充斥着高动态变化,但是障碍物和工件的摆放与其他制造业比起来相对更加随意,很难用一套通用的规律去计划和避障。同时建筑领域涉及大量工艺和设备使用人员之间的交互(人机交互),因此在设计流程层面也存在工艺途径高实时性反馈的仿真需求。

另一方面,许多现有的自动化实践方法实质上并不智能。举一个简单的例子,从工件的一条焊缝过渡到另外一条焊缝在加工制造中是非常常见的动作,对于人类工人来说,如何将工具头从一条焊缝无碰撞地过渡到另外一条焊缝几乎不费任何脑力。即使遇到非常规障碍物出现,工人也不需要重新认识这个场景,而是会鉴于先前的一些经验将当前不可行的过渡途径稍加修正便能解决碰撞题目。然而现在许多自动化方案其实并无法对这些场景变换做出反应。这类自动化方案的前提是建立在机器人、工件、生产环境之间的严丝合缝,一旦实际情况和预期有出入则需要花费大量时间重新计划。

二. 静止计划:采样 VS 优化

一般来说,评价一个静止计划器存在如下一些指标,比如:

轨迹是否能完成指定使命?轨迹是否和物体产生碰撞?计划时间是否合理?是否能自动处理冗余自由度?……

下方表格简单地将三种常见的计划策略做了一个对比。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

现在最常用的静止计划大多是鉴于采样来计划。这类算法实现起来相对简单,不需要对场景和机器臂建立复杂的数学物理模型,计划过程中只需要回答简单的“是”或“否”,比如“该采样点是否发生碰撞”、“该采样点机器臂是否可达”等等。在这些“是或否”的二元题目指引下,采样类计划算法会快速扩张并尝试搜索环节空间中每个角落。这种随机生长的方式对于低自由题目非常有效,甚至可以保证概率完备性,即在无穷大的采样数量下能保证搜索到可行路线。不过这些鉴于采样的计划方法其设计初衷只是为了寻找一条可行轨迹而并非最优轨迹。因此该类算法往往需要通过后处理步骤来平滑和缩短输出的轨迹,在后处理过程中甚至可能会产生新的碰撞。同时,大量的计较时间被花费在针对环节空间中和目标使命无关的区域的随机采样以及采样点之间的连边上。采样类计划算法在计较效率上的缺陷会随着机器臂自由度的增加变得更加严重。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

鉴于采样机器臂静止计划

另一方面,上文已经提到采样式静止计划主要是寻找一条可以完成目标使命的可行途径。这是一种相对独立的计划范式,对于使命和环境的历史信息并没有记忆。这类方法对于完全独立的计划使命可能是必须的甚至是唯一的解决方案。但是对于一个变化中的“陌生”环境,即使只是发生了微小变化,采样式静止计划也必须从头开始搜索可行途径。这种计划范式无法满足对实时性较高的使命。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

本系列探讨的则是静止计划的另外一条技术路线,即轨迹优化算法。从控制角度看,轨迹优化本质上是最优控制论的应用,即通过计较出一连串合适的系统状况和控制,在实现使命的同时尽可能降低完成使命需要付出的价格。在机器人静止计划中,优化类算法扮演了两个重要的角色。一是作为后处理算法,将其他静止计划器的输出途径(比如采样类算法输出的折线轨迹)作平滑处理或者细节简化。二是作为轨迹重计划算法,可以将一条直观但是存在碰撞(比如简单的点到点直线途径)的静止轨迹,转变成无碰撞且使命价格尽可能低的部分最优途径。轨迹优化类计划算法最大的特点是利用了实际生产(或者设计)场景中物理(或者仿真)环境的变化往往是连续的这一特质。换句话说,当场景和场景之间存在大量共同点时,从头开始采样搜索不应该是最佳的计划策略。鉴于轨迹优化的静止计划范式会利用环境和机器臂的历史状况甚至专家库中的工艺知识,快速计较出当前状况下最优的静止计划。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

轨迹优化方法作为部分最优的静止计划器在一定程度上可以满足上文提到的全部计划器指标。当然使用轨迹优化算法的价格是其背后复杂的物理建模和数值求解技巧。实现这类鉴于优化的算法通常需要将机器臂、环境碰撞、目标工艺等工程题目通过高保真的方式翻译成由矩阵描述的优化题目并通过合适的数值方法进行求解。这其中就涉及到如下三大主要模块,其中每个模块都对应一种"凸"的概念(本文标题中的“凸凸凸”便来自于此):

层级凸包碰撞模型(描述物理世界和机器臂之间的准静态关系)优化题目的静止学类似(描述物理世界和机器臂之间的动态关系及工艺使命)逐步二次计划求解器(调整机器臂状况来满足动/静态关系和工艺使命)

轨迹优化算法的整体实现框架如下,在接下来的章节中会依次介绍大界对于这些模块的处理方案。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

三. 几何模型中的凸:层级凸包碰撞

仿真计较中对于物理世界建模的精细程度直接决定了静止计划算法的可行性和最优性。尤其是对于静止机构和物理世界的碰撞处理更是机器臂计划中的难点。区别于无人小车无人机等自主静止平台,机器臂占用的空间无法通过一个简单的质点或者球包来类似。机器臂静止计划算法需要严格计较各个静止机构和障碍物之间的几何关系。

大界在碰撞处理上采取了层级式的凸包碰撞模型。为了高效处理三维模型之间的碰撞,对原始精细的三维模型作凸包类似是现代三维引擎必不可少的步骤。凸包类似的作用是将原始三维模型通过一个或者多个凸多面体的集合完全包裹住。这样模型与模型之间的原始碰撞题目简化为模型凸包之间的碰撞题目。利用凸多面体的良好数学特性,凸包之间的碰撞题目已有许多高效解决方案,是现代物理仿真(游戏)引擎必备的工具。当然凸包类似也不是万能的。鉴于凸包的高效碰撞计较是以牺牲原始模型精度为价格的,很多情况下凸包仅仅是对原始模型的一种保守类似。因此一个高效且高精度的碰撞系统一般会通过层级式的凸包模型来处理空间重叠题目。大界的实现方案包括如下三个尺度的碰撞模型:

大尺度阶段使用轴向包围盒(也是凸包)等方法快速粗筛,得到可能发生交互的个体。中尺度阶段使用原始模型的完整凸包,计较相对保守的静止计划。小尺度阶段鉴于中尺度提供的计划结果,使用细粒度更高的凸分析类似,实现更为精细的工艺计划。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

上图中展示了不同细粒度下的碰撞模型。最左边为机器臂各环节部件的原始三维模型网格。左起第二个图展示了在三个简单的轴向包围盒(长方体各边必须和坐标系平行)包裹下的原始机器臂模型。轴向包围盒在碰撞引擎中极为常见,在碰撞初筛阶段可以快速判断大量盒与盒之间的重叠情况。不过由于其轴向特点以及方正的型态,不适合做进一步碰撞分析。左起第三个图展示了机器臂每个零部件由顶点形成的单个整体凸包。这种方法比较简单,生成的面的数量也较少。当物体和机器臂间隔不是特别近的时候,凸包碰撞检测的结果和原始模型基本保持一致。不过整体凸包法也存在一定题目,比如对于三号轴(绿色臂)的单个凸包类似过于保守,导致障碍物无法穿过凸包靠下的部分却不会和三号轴的原始模型产生碰撞。这种情况对于更紧凑的场景可能会导致找不到可行途径。图中最右的机器臂模型展示了凸分析是如何通过将原始模型分析为数个更小的凸包来避免这种情况发生。当然一个几何体的凸分析方式有无数种,一种比较好的凸分析其空间浪费率应该是较低的。然而图中实际展示的是原始模型的伪凸分析。为什么说是”伪”?因为在给定子凸包数量的情况下求原始模型最优凸分析(即空间浪费率最低)的题目是 NP-HARD。

因此一种更为讨巧的做法是伪凸分析,即生成的子凸包集合无法完全包裹住原始模型但是被控制在一定阈值范围内。虽然失去了完美的凸包覆盖,但是伪凸分析能快速生成更为保真的子凸包集合。这些小尺度的失真在实际应用中会被规避,因为计划算法往往要求机器臂和障碍物之间存在一定的安全间隔,一般远大于伪凸分析的失真阈值。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

凸分析在一定程度上弥补了整体凸包 对于非凸几何过于保守的碰撞模型

多面体碰撞算法中往往涉及两个重要的概念,一个是间隔矢量,一个是穿透(又称分离)矢量,分别用来量化两个多面体还未碰撞或已产生空间重叠的情况下的几何关系。间隔矢量非常好理解,即两个多面体A和B的最短间隔。如果将多面体A中任意一点和多面体B中任意一点记作一组点对,那么间隔矢量就是所有可能的点对中间隔最短的那个矢量。通常情况下,对于任意一对多面体求间隔矢量是一个复杂度非常高的计较过程。但如果两者都是凸多面体,利用几何体的凸性质可以在较少的计较时间内得到两个题目的答案:

是否构成碰撞?在没有碰撞的情况下,间隔矢量是什么?

下图中直观地展示了间隔矢量的物理意义。蓝色多面体沿着间隔矢量平移后,和红色多面体存在有且仅有一个共同点。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

在间隔矢量的平移作用下,两个凸包发生接触

另一方面,若两个多面体已经发生碰撞,无论两者以怎样的方式重叠,在这种情况下间隔矢量都是零,无法提供其他有意义的信息。穿透矢量定义为将两个多面体完全分开的最短矢量。利用凸多面体的性质,穿透矢量同样存在高效的计较方法。注意间隔矢量和穿透矢量的定义对于凸多面体来说是相容的。比如下图中的红色多面体,如果在两者完全分离之后继续沿着穿透矢量的方法平移,则会产生和穿透矢量方向相同的间隔矢量。换句话说,间隔矢量和穿透矢量在某种程度上是连续的,在发生碰撞的时刻可以无缝切换。这种连续性对于轨迹优化算法是极为友好的。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

在穿透矢量的平移作用下,两个凸包被完全分离

凸包碰撞模型和其他常见的碰撞检测算法都可以检测出机器臂和其他物体是否发生空间重叠。鉴于随机采样的途径计划算法会大量使用“是”或“否”的碰撞检测来判断采样点和连边途径是否可行。但是凸包碰撞模型利用间隔矢量和穿透矢量还可以提供发生碰撞和解耦碰撞的趋势。下图中展示了一个机器臂和环境物体(三十八面扭棱立方体)的简单碰撞场景。对于一个给定机器臂状况,常见的碰撞检测算法可以计较在当前状况下是否会发生“穿模”现象。采样类静止计划算法会鉴于这个结果,剔除环节空间中所有发生碰撞的采样点。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

原始模型和障碍物之间产生碰撞

同样一个场景在凸包碰撞模型中则包含了更多的信息。下图中展示了机器臂各环节的整体凸包和环境物体(扭棱立方体是凸的)的交互细节。为了更好地展现碰撞矢量,图中只显示了中尺度(即单体凸包)的碰撞结果,每条线段表示了对应颜色的环节凸包和环境物体之间的间隔矢量(如果没有碰撞发生)或穿透矢量(如果已经穿模)。当某个环节凸包离环境物体越来越近的时候,对应的间隔矢量也变得越来越短。同理,在环节凸包逐渐和环境物体分离的过程中,穿透矢量的长度也逐渐趋向于零。这些矢量的方向和变化就是轨迹优化算法中依赖的趋势信息。当环节凸包和物体之间的间隔小于某个安全间隔时,轨迹优化算法会参考间隔矢量来调整各个环节转角以防止间隔发生进一步减小。当两者已经发生碰撞时,穿透矢量对于如何解耦机器臂和物体之间的空间重叠提供了几何上的参考(采样类方法在这里则完全失效)。当两者间隔超过一定阈值的时候,处于效率考量轨迹优化算法会认为这是两个完全独立的个体不再做任何处理。

值得注意的是,在计划中常见的人工势场法中,无论物体间隔机器臂多远都会受到一定的影响。比如下图中的紫色轴多多少少会被图中扭棱立方体的人工势场所影响,从而对紫色轴的转动产生不必要的影响。而在凸包碰撞模型中这些影响是完全可以避免的,因此可以实现一些更加精细的工艺途径计划。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

凸包碰撞模型捕捉到的细节

利用几何模型中的凸性质来高效处理静止计划中的碰撞题目,这便是轨迹优化算法的第一个凸。

四. 优化题目中的凸:静止学类似

机器臂轨迹优化算法本质上是在求解一个非线性优化题目。那么非线性优化题目的一般形式如下:

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

这里 f 为非线性函数,g 为非线性不等式自在,l 为线性不等式自在。机器臂轨迹优化题目中的各种物理上的诉求可以转换成上述标准形式。

х 为机器臂状况向量,即所有环节空间的取值。注意静止计划中,х 不是系统在某一时刻的单个状况,而是包括了整条计划途径上的全部状况,即 х=х0,…,хt ,…,хTf 为价格函数,即完成使命系统所要付出的且用户在意的价格。价格函数的定义非常自由,一些常见形式包括机器臂相关的比如环节移动间隔最短,环节输出力矩最小,电池能耗最低,末端轨迹平滑程度、场景相关的比如间隔某个障碍物尽可能远,甚至与工艺先验知识相关的价格比如工具头与工作台尽可能保持垂直等。l 为线性不等式自在,目的在于严格控制机器臂轨迹的可行性。这是处于两个考量,一是机器臂本体对于每个环节电机能转动的范围都存在不同程度限制。二是机器臂姿态存在跨相限题目,即同一个末端姿态对应多个正静止学解。这些解之间往往存在巨大的环节轴变换。由于直接对系统状况 х 进行限制,因此 l 的数学形式为线性(仿射)不等式。h 为等式自在,即机器臂必须要完成的使命。这类自在属于硬自在,无论优化过程是否能找到部分最优解,机器臂都必须完成指定的使命。比如静止计划中必须要经过的途径点,或者自由计划途径的起始和终点位置必须要保持的工具姿态等等。由于用户一般更加在意工作空间而非环节空间中的使命完成情况,这类自在经过机器臂静止学模型的转换后往往是非线性的。g 为非线性不等式自在,大多数情况下用来描述机器臂和环境物体的碰撞。在碰撞处理中,自在 g 可软可硬。硬自在即必须要满足的自在,比如机器臂任何时刻任何部件都禁止与工作台发生碰撞。而软自在则允许一些小幅度的违例发生,比如工艺中一些不需要绝对严格遵守的加工姿态限制等。软自在的好处是通过牺牲少量无关紧要的自在,来极大地提高途径计划的成功率和效率。其实上文中提到的伪凸分析也是鉴于软自在的思想,通过将原本严格的最优凸分析题目松弛成一定误差范围内的非严格凸包覆盖题目,从而大大提升了凸分析的效率。

一个优化题目的可行解定义为满足所有硬自在的解,最优解则是在满足自在的基础上同时具有最低的价格。就像山川地貌存在各种不同高低的盆地,有些最优解是部分的,对应某个山头附近的最低海拔。而有些解则是全局最优,即整个山川中海拔最低的盆地。对于一般的非线性题目寻找全局最优解所需要的计较资源可能非常巨大。因此在实际工程应用中,一般退而求其次寻找部分最优解

具体到实际机器臂计划题目中,每个环节都对应一个转角度数和角速度,再加上和外部环境的碰撞交互,形成了巨大的环节搜索空间和自在检测。因此传统采样方法的效率随着机器臂自由度和环境复杂程度的上升而迅速下降。其中一个主要原因是采样算法无法有效利用环节空间中间隔相近的采样点,从而造成计较资源上的浪费。然而机器臂途径计划是在一个具有连续性和确定性(考虑静态环境)的系统下进行的。换句话说,系统任何一个状况都可以通过该状况一定邻域范围内的其他状况来估计(确定性)并且误差是可控的(连续性)。轨迹优化算法正是利用了这个思想,将原本庞大复杂的非线性优化题目,拆分成数个小规模的邻域子题目并依次迭代求解,最终得到原始非线优化题目的部分最优解。这里必须重点强调解的部分最优特性。因为不像采样类方法会随机探索整个环节空间,轨迹计划一般会从一个给定的初始状况开始迭代优化,因此大多数情况下只能找到间隔初始状况最近的那个部分最优解。但是对于机器臂途径计划这个题目,部分最优解往往可以应付绝大多数题目,原因如下:

价格并不是用户所严格追求的目标,比如环节空间中的途径长度是否达到全局最短并不重要,只要整个途径中存在的弯路尽量少即可。与其他机器学习题目不同,轨迹优化题目存杂大量可靠的初始条件可以利用,比如人工示教或者专家库的经验,环节转角线性插值,步长较大的粗采样轨迹输出等等。

不过由于优化变量是环节空间中的向量,而碰撞自在和使命自在则一般定义在工作空间中,因此环节空间中的邻域需要转换成到工作空间中的邻域作进一步计较。设当前环节状况向量为 x,机器臂静止学模型 Fm(x) 输出机器臂第 m 个轴在基坐标系下的六自由度末端位姿。引入环节状况扰动量 δx,则机器臂各轴在工作空间中产生的位姿扰动可以通过环节雅可比获得。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

这里有一个技术细节题目。由于末端姿态是通过齐次欧式变换矩阵描述的,简单地将两个欧式变换矩阵相加一般并不能得到一个齐次欧式变换矩阵。这是因为所有齐次欧式变换矩阵都是被自在在 SE3 李群空间中而非自由矩阵。为了处理这种情况,机器人静止学模引入了旋量坐标,即欧式变换群的切空间。如果机器臂状况向量的每个轴分量为 q,即 x=( q1,q2,… )那么机器臂正静止学姿态可以通过各个环节的螺旋轴 ω 的指数乘积形式获得。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

在旋量框架下,雅可比矩阵是通过乘积方式定义的,从而解决了在加法定义下欧式变换自在被破坏的情况。由于其良好的数学性质,鉴于 SE3 旋量的静止学计较在导航建图 SLAM 领域中已逐渐成为主流。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

回到机器臂轨迹优化题目上,给定一个机器臂环节状况 x,利用旋量雅可比矩 Jm [x] 可以通过简单的矩阵运算类似得到任意扰动下的环节状况 x+δx 所对应的每个轴部件的位姿,避免了大量多余的采样。雅可比矩阵在轨迹优化算法中意义重大,尤其是对于各种复杂的工作空间自在起到了加速的作用。比如,当环节状况发生扰动时,每个轴的凸包产生的变化便可以通过对应的环节雅可比矩阵进行估计。这种线性类似的思想极大地加速了碰撞矢量的计较,仅仅需要当前的间隔矢量和穿透矢量,结合当前环节凸包模型的雅可比矩阵,便可估计出当环节状况发生任意扰动变化时间隔矢量和穿透矢量的变化量,无需反复进行碰撞计较。

将部分环节空间中的静止计划题目在静止学类似下简化为一个部分凸题目,这是轨迹优化算法的第二个凸。

五. 计划计较中的凸:逐步二次计划

通过上文描述的碰撞模型和静止学类似处理,物理世界中的机器臂计划题目已经被翻译成纯粹的数学优化题目。大界在这里采用了逐步二次计划算法求解这类题目。逐步二次计划算法作为优化领域中最常用的数值求解算法之一,通过反复迭代求解一系列更简单的二次计划子题目,可以在满足自在的情况下驱使原始价格函数收敛到部分最优解。所有逐步二次计划算法都用到了原始题目的部分凸类似,即给定当前系统状况 X,原始题目在部分扰动状况 x= X+p下的类似。当 p扰动足够小的时候,价格函数 f (x)可以使用部分二次类似 F ( p; X ) 来逼近。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

对于各类自在 g (x) 则采用线性类似 G ( p; X ) 处理。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

通过上述部分凸类似,原本针对变量 x 的全局优化题目转换为一系列关于当前状况 X 扰动量 p 的部分优化题目,其数学上的描述为:给定当前价格二次类似 F ( p ; X ) 、等式线性自在类似 H ( p ; X ) 、不等式线性自在类似 G ( p ; X ) 、全局线性自在 l ( X+p ) 以及信赖域常数 Δ,求解如下线性自在二次计划子题目:

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

其中一些关键细节的解释如下:

原始题目的非线性价格函数被部分二次类似代替,线性化后的自在则通过惩罚项来落实。自适应常数为信赖域大小,用来控制每次迭代更新的步长。这里使用了无穷范数,即向量的每个分量的绝对值都必须小于信赖域范围。Δ 的大小会根据每次迭代中的部分凸类似和原始非线性题目之间的吻合程度来自动调整。自适应常数 μ 为惩罚系数。当 μ → +∞ 时,自在下的线性自在二次计划题目和原始题目的最优解是等价的。μ 的大小会根据当前自在满足情况自适应放大。| а |+ = max (0,a) 为有效自在的激活函数。如果某个自在已经满足(小于零)则不会激活,反之会根据当前自在偏差大小来惩罚违背自在的分量。另一方面,对于等式自在来说,惩罚 | а | 是精确的因此不需要激活函数。上述部分二次形式虽然是凸题目,但由于惩罚项的存在导致子题目是不可微分的,可以通过引入松弛变量将题目转换为解决。

结合上述各个模块,逐步二次计划求解器的算法流程伪代码如下:

while 原始优化题目没有收敛 do

while 迭代凸类似没有收敛 do

计较当前价格和凸类似

while 信赖域大小合理 do

求解凸类似松弛形式得到更新量p

计较能使凸类似和原始题目保持一致的最大步长ρ

如果步长被接受

扩张Δ

退出信赖域循环

否则

缩小Δ

如果信赖域大小小于阈值

直接退出当前循环,跳到步骤 (✦)

如果价格与惩罚的合函数下降幅度或者信赖域大小小于阈值

判定迭代凸类似收敛

如果自在满足容忍阈值 (✦)

判定整个优化过程收敛

否则

放大惩罚系数 μ

通过迭代求解多个凸优化子题目,求解原始非线性题目的部分最优解,这便是轨迹优化算法的第三个凸。

六. 大界工业臂柔性仿真系统案例

鉴于上文讨论的三大模块,大界研发了一套鉴于轨迹优化的工业机器臂柔性仿真系统,实现了冗余自由度机器臂和工件之间的实时计划与交互。本文的结尾通过两个仿真案例来展示这套系统,演示场景为大界现有的切割单站,主要由一个吊装在龙门线轨上的六轴工业机器臂和工作台上的工件组成。演示中的途径计划的价格函数设定为环节空间中的角度转动间隔。换句话说,优化算法总是尝试寻找一条能使环节变化最少的途径。

案例一

在该演示中,机器臂轨迹的初始和终止状况被限定在工作台上两个相隔数米的位置。静止计划器需要在实现初始和终止状况之间自由途径计划的同时保证机器臂和正在被用户实时调整姿态的工件之间不发生碰撞。这里红色粗线为轨迹优化系统根据环境中的改变实时计较出的轨迹。为了展示计划效果,图中机器臂被设定为沿着计划出的状况途径来回移动。当工件离机器臂间隔大于安全阈值的时候,机器臂的静止轨迹并不会被工件的空间位置所影响。一旦工件进入可能的碰撞区域,轨迹优化算法会迅速作出反应,在不影响完成使命的情况下,尽可能和工件保持间隔。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

6+2 机器臂导轨工作站和工件模型之间的实时交互

案例二

在该演示中,导轨上的机器臂需要绕过工件到工作台的另一边去实现某焊接使命(轨迹终点处的直线静止)。同时在静止计划的过程中,工件上某一块板筋在用户的设计操作下发生位置和高度上的变化。为了防止在自由途径中发生碰撞,大界实现的轨迹优化算法会根据板筋和机器臂之间的安全碰撞间隔自动实时调节自由段途径。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

自由计划途径对于工件模型的变化作出实时反应

相比之下,采样类算法对于相同的场景则无法实现实时轨迹计划,仅能对整个交互过程中少数的几个工件状况作出反应。同时途径采样的随机性非常大,存在不必要的冗余途径。

RoLAP 实验室|鉴于凸凸凸的工业臂柔性计划系统

相同的交互场景下采样类计划算法的表现

本期轨迹优化算法的技术详解到此结束,如果您有任何疑问或想法,欢迎与RoLAP实验室取得联系,RoLAP将坚持开放合作,积极与行业内的专家学者及企业共同交流和探索智能制造创新之路,同时实验室诚邀对机器臂算法、视觉算法、图形算法、软件开发等感兴趣的优秀人才加入,一起玩转硬核研究。

原创文章,作者:新闻助手,如若转载,请注明出处:https://www.iaiol.com/news/rolap-shi-yan-shi-jian-yu-tu-tu-tu-de-gong-ye-bi-rou-xing/

(0)
上一篇 2022年 6月 16日 下午2:04
下一篇 2022年 7月 1日 下午2:32

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注