来源:IEEE TRANSACTIONS ON ROBOTICS (TRO), 2023
简介:
这篇文章介绍了一个名为BiConMP的非线性模型预测控制(MPC)框架,旨在为腿式机器人提供在线的全身运动规划。腿式机器人的动态特性因其非线性而变得难以预测,尤其是在考虑到整个机体运动时。BiConMP利用了机器人动态中的双凸性(biconvexity),通过有效利用机器人动态的结构,在线生成全身运动轨迹。
主要创新点:
- 双凸优化框架:BiConMP通过双凸优化,即同时考虑力和状态的优化问题,有效解决了非线性MPC问题。该框架使用了交替方向乘子法(ADMM),每个凸子问题通过快速迭代收缩-阈值算法(FISTA)求解,保证了问题的快速且可靠求解。
- 全身动态运动生成:该框架成功应用于生成实际四足机器人和仿人机器人在不同地形上的各种动态运动,包括跳跃、奔跑等,展现了BiConMP在处理复杂动态任务时的强大能力。
- 实验验证:通过在真实四足机器人以及仿真环境中的人形机器人和另一种四足机器人上的测试,证明了BiConMP的通用性、鲁棒性和低计算时间。特别地,该框架能够实现对未预见推力的抵抗以及在线不同步态之间的转换,进一步证实了其在线规划能力。
- 理论与实践的结合:文章不仅展示了BiConMP在理论上的创新,也通过广泛的实验验证了其在实际应用中的有效性,特别是在机器人动态控制和运动规划领域。
目录
V. ANALYSIS OF THE MODEL PREDICTIVE CONTROLLER
E. Comparison to Deep Reinforcement Learning (DRL)
Abstract
由于机器人动力学固有的非线性,对足式机器人进行全身运动的在线规划具有挑战性。在这项工作中,我们提出了一个非线性模型预测控制(MPC)框架,BiConMP可以有效地利用机器人动力学结构在线生成全身轨迹。利用BiConMP在实际四足机器人上生成各种循环步态,并对其在不同地形下的性能、应对不可预见的推力以及在不同步态之间的在线过渡进行了评估。此外,还介绍了BiConMP在机器人上产生非平凡无环全身动态运动(nontrivial acyclic whole-body dynamic motions)的能力。同样的方法也被用于仿真人形机器人(Talos)和另一个四足机器人(AnYmal)的MPC中产生各种动态运动。最后,对规划水平和频率对非线性MPC框架的影响进行了广泛的实证分析。
Index Terms—Humanoid robots, legged locomotion, quadrupedal robotics, robot control, robot motion.
I. INTRODUCTION
足式机器人可以在为人类建造的环境中自主导航和操作。这类机器人运动的决策通常由轨迹优化算法得出,轨迹优化算法计算出最优的机器人运动和接触力,接触规划器决定哪个末端执行器(End-effector)应该接触环境。因此,这些算法应该足够通用,同时具有较快的运行速度,以便能够在线适应环境的变化。
最初,基于简化模型的算法,如线性倒立摆模型(LIPM)[1],[2]被开发用于在线生成人形机器人的轨迹。这些算法利用用户提供的预先定义的步数序列来生成可行的质心轨迹。由于LIPM导致了一个具有二次代价和线性约束的优化问题,因此可以使用二次规划(QP)快速求解该问题[3]。虽然这些算法的进一步扩展实现了步距位置和时间的自适应[4],[5],[6],但它们只能生成具有共面接触的平坦地面(Flat Grounds with Coplanar Contacts)的行走运动。
另一方面,可以规划接触和最优运动的框架也被开发出来。在[7]、[8]和[9]中,将全身运动和接触选择问题表述为单个非线性优化问题。在[10]中,提出了一种更有效的基于阶段的接触规划公式。此外,Tassa等[11]利用差分动态规划(DDP)解决了通过接触的运动优化问题。虽然这些方法原则上可以找到复杂的接触序列,但它们往往在计算上过于昂贵,无法实时使用。尽管Neunert等人[12]使用DDP的高斯-牛顿多次射击变化和松弛弹簧阻尼器接触模型对四足动物进行了非线性MPC研究,但结果仅限于低角动量的运动,如小跑和原地跳跃。
传统的轨迹优化问题分为两个不同的子问题:接触规划(Contact Planning)和运动优化(Motion optimization)。这种分解降低了整个问题的复杂性,使它们易于处理。主要思想是首先生成一个给定机器人周围地形的接触序列。然后将接触序列提供给运动规划器以生成机器人的可行轨迹。接触规划子问题可以使用多种方法来解决,如混合整数优化[13]、[14]、基于l1loss的优化[15]、图搜索[16]和基于采样的方法[17]。对于运动优化子问题,非线性动力学可分为驱动动力学和非驱动动力学(质心动力学)两部分[18]。快速生成全身运动的有趣方法之一是在一个优化问题中使用机器人的质心动力学和全运动学[19]。此外,通过对质心动力学和全身运动学问题的迭代优化,可以更有效地生成可行的全身运动[20]。尽管将轨迹优化问题分为两部分,但每个子问题都是非线性的,难以实时求解。
为了进一步减少计算时间,对质心动力学公式提出了几种松弛方法(Relaxations)。在[21]中,使用了顺序凸松弛,并且每个松弛都使用二阶锥规划求解[22]。
在优化问题中,松弛方法(Relaxation)是一种常见的技术,用于简化原始问题,使之更易于求解,同时尽量保留原问题的核心特征。这种方法通常涉及放宽或修改原始问题的约束条件,从而得到一个边界或近似解,该解在某种程度上接近原问题的实际解。松弛可以应用于各种优化问题,包括线性规划、整数规划和非线性规划等。
松弛方法的主要类型
- 线性松弛:在整数线性规划问题中,通过允许变量取非整数值(即将整数约束放宽为连续约束),将问题转化为线性规划问题,从而利用线性规划的求解方法来寻找解。
- 拉格朗日松弛:通过引入拉格朗日乘子来将带约束的优化问题转化为无约束问题,或者减少约束的数量。这种方法可以使得问题的求解更加简便。
- 半定松弛:在处理某些特定的非线性优化问题,如二次规划问题时,通过将问题转化为半定规划问题(一种线性矩阵不等式问题)来寻求近似解。
- 对偶松弛:通过考虑原问题的对偶问题来寻找原问题的下界,特别是在原问题难以直接求解时,对偶问题的解可能提供有价值的信息。
松弛方法的应用
- 简化计算:通过转化为更简单的问题,可以使用现有的算法和工具来求解。
- 提供界限:对于难以直接求解的问题,松弛可以提供问题解的上界或下界,为进一步的分析和决策提供依据。
- 启发式方法:在启发式和近似算法设计中,松弛方法常被用来构建问题的初步解,作为搜索过程的起点。
总之,松弛方法是求解复杂优化问题的重要工具,通过简化问题或修改约束,使问题变得更容易处理,同时为找到最优解或可接受的近似解提供了途径。
尽管这种方法可以用于快速优化各种运动,但计算时间的减少还不足以进行闭环优化。此外,根据我们的经验,对于非常动态的运动,松弛往往不够紧。另一种凸化质心动力学问题的方法是只最小化角动量的最坏情况L1界[23]。虽然这个公式允许我们用QP来解决运动规划问题,但它只能产生低角动量的运动,比如走路。对于四足动物,由于腿的惯性可以忽略不计,质心动力学也通常通过线性化基座旋转来近似[24],[25]。在这些方法中,摆动脚轨迹是预先定义的,这限制了全身运动的可能性,并可能导致身体不一致。在[26]中,DDP用于实时求解具有质心动力学和一阶运动学的优化问题。这种方法实现了适合实时使用的重新规划频率。然而,该方法依赖于一个低级全身控制器,目前尚不清楚该控制器是否单独跟踪DDP产生的运动,或者低级控制器是否作为一个动态过滤器来确保物理一致性[27]。根据我们的经验,对于更动态的运动,如跳跃或快速(向前)跳跃,由于动量剖面的剧烈变化,这种方法的求解时间会增加。
在这项工作中,我们提出了一个非线性轨迹优化框架,可以在实时闭环MPC中使用[20]中提出的kino-dynamic分解来生成全身运动。利用质心动力学的双凸结构,有效地解决了动力学优化问题。我们之前在[28]中探讨了这种结构,它利用问题的双凸性质来表述两个独立的凸子问题。考虑到每个子问题的凹凸性,使用了基于块坐标下降的交替过程,这允许使用最先进的QP求解器,从而加快了求解时间。然而,人们对块坐标下降的收敛速率知之甚少,这使得它在固定时间内需要新解的MPC中不可靠[29]。在这项工作中,我们探索了一种不同的方法,该方法也利用了质心动力学的双凸结构,但我们使用乘法器的交替方向方法(ADMM)[30]来制定优化问题,从而得到更有效和可靠的算法。
我们还对双凸动力学进行了不同的拆分,这减少了优化变量的数量。
II. BACKGROUND
III. APPROACH
IV. EXPERIMENTS
V. ANALYSIS OF THE MODEL PREDICTIVE CONTROLLER
VI. DISCUSSION
上面部分略过先不看了,这篇文章主要用作拓展的知识。
E. Comparison to Deep Reinforcement Learning (DRL)
最近,DRL已经成为一种越来越流行的选择,用于生成有腿机器人的鲁棒轨迹[60],[61]。一个主要原因是MPC方法需要快速优化器,而DRL方法离线学习策略,在线评估成本相当低。然而,我们提出的方法具有与这些方法相当的重新规划频率,并且在未来的工作中可以进一步加快。此外,使用优化器生成新的轨迹明显不那么麻烦,并且不需要针对不同类型的运动重新训练策略。在我们的例子中,不同权重的相同代价函数可以用来生成不同的运动。最后,在我们的方法中,sim-2-real传输是简单和即时的,因为BiConMP能够自动补偿建模误差,这要归功于闭环优化。另一方面,使用DRL方法的sim-2-real迁移通常并不简单,因为它们严重依赖于训练过的机器人模型。随后,它们在仿真中需要非常精确的机器人执行器模型[52],或者为了成功转移,需要域随机化[61]。
Ⅶ. CONCLUSION
我们提出了一个非线性MPC框架,BiConMP,能够实时生成各种有腿机器人的动态行为。我们利用质心动力学的双凸性质,提出了一种基于ADMM和近端梯度方法的有效求解器。我们进一步提出将运动学问题表述为OCP,然后使用现成的DDP求解器求解[35]。通过各种真实机器人和仿真实验,我们证明了该方法产生和控制非常动态运动的能力。我们对MPC框架的各种参数进行了广泛的分析,如频率、成本和水平,以了解它们对真实机器人的性能和鲁棒性的影响,从而提出MPC要求的一般指导方针。在未来的工作中,我们打算研究热启动对求解器效率的影响。我们还打算进一步探索一阶近端方法在机器人中更普遍的MPC应用的能力。