Extended Friction Models for the Physics Simulation of Servo Actuators
TL;DR 精炼摘要
本论文提出了扩展摩擦模型,以提高伺服执行器物理仿真的准确性。通过全面分析摩擦模型,利用摆锤测试台记录的轨迹识别模型参数,并将其集成到物理引擎中,对四种伺服执行器进行了验证。实验表明,新模型在精度上显著优于传统库仑-粘滞模型,强调了先进摩擦效应在机器人仿真中的重要性。
摘要
Accurate physical simulation is crucial for the development and validation of control algorithms in robotic systems. Recent works in Reinforcement Learning (RL) take notably advantage of extensive simulations to produce efficient robot control. State-of-the-art servo actuator models generally fail at capturing the complex friction dynamics of these systems. This limits the transferability of simulated behaviors to real-world applications. In this work, we present extended friction models that allow to more accurately simulate servo actuator dynamics. We propose a comprehensive analysis of various friction models, present a method for identifying model parameters using recorded trajectories from a pendulum test bench, and demonstrate how these models can be integrated into physics engines. The proposed friction models are validated on four distinct servo actuators and tested on 2R manipulators, showing significant improvements in accuracy over the standard Coulomb-Viscous model. Our results highlight the importance of considering advanced friction effects in the simulation of servo actuators to enhance the realism and reliability of robotic simulations.
思维导图
论文精读
中文精读
1. 论文基本信息
1.1. 标题
Extended Friction Models for the Physics Simulation of Servo Actuators (用于伺服执行器物理仿真的扩展摩擦模型)
1.2. 作者
Marc Duclusaud, Grégoire Passault, Vincent Padois, Olivier Ly
1.3. 发表期刊/会议
该论文发布于 arXiv,一个预印本(preprint)服务平台。截至当前日期,它是一个预印本,尚未经过同行评审或正式发表于期刊/会议。
1.4. 发表年份
2024年
1.5. 摘要
这篇论文的核心内容是关于伺服执行器(servo actuators)物理仿真的准确性。它指出,在机器人系统(robotic systems)中,准确的物理仿真对于控制算法(control algorithms)的开发和验证至关重要,特别是在强化学习(Reinforcement Learning, RL)领域,仿真被广泛用于训练高效的机器人控制策略。然而,现有的伺服执行器模型通常无法捕捉其复杂的摩擦动力学(friction dynamics),这限制了仿真结果向真实世界应用的可迁移性(transferability)。
为了解决这一问题,作者提出了扩展摩擦模型(extended friction models),旨在更准确地模拟伺服执行器的动力学行为。论文首先对各种摩擦模型进行了全面分析,然后提出了一种利用摆锤测试台(pendulum test bench)记录的轨迹来识别模型参数的方法,并详细说明了如何将这些模型集成到物理引擎(physics engines)中。
这些提出的摩擦模型在四种不同的伺服执行器上进行了验证,并在 2R 机械臂上进行了测试。实验结果表明,与标准的库仑-粘滞模型(Coulomb-Viscous model)相比,新模型在准确性方面有显著提升。论文强调,在伺服执行器仿真中考虑先进的摩擦效应对于提高机器人仿真的真实性和可靠性至关重要。
1.6. 原文链接
https://arxiv.org/abs/2410.08650v1
1.7. PDF 链接
https://arxiv.org/pdf/2410.08650v1.pdf
2. 整体概括
2.1. 研究背景与动机
2.1.1. 论文试图解决的核心问题
论文试图解决的核心问题是:现有物理仿真中伺服执行器的摩擦模型过于简化,无法准确捕捉真实世界的复杂摩擦动力学,导致仿真结果与实际机器人行为之间存在显著差异,尤其是在强化学习(RL)这种高度依赖仿真来学习控制策略的领域。
2.1.2. 为什么这个问题在当前领域是重要的?现有研究存在哪些具体的挑战或空白(Gap)?
- 机器人系统开发与验证的基础: 物理仿真(physical simulation)是机器人控制算法开发和验证的关键环节。在将控制策略部署到真实机器人之前,通常需要在仿真环境中进行大量测试,以确保安全性、效率和鲁棒性。
- 强化学习的依赖性: 强化学习(Reinforcement Learning, RL)在近年来取得了巨大进展,其高效的机器人控制策略往往通过在仿真中进行海量试错学习而来。然而,这种方法的成功高度依赖于仿真环境的真实性。如果仿真不够准确,学习到的策略在真实世界中可能表现不佳,即存在仿真到现实(sim-to-real)的差距问题。
- 现有模型缺陷: 现有的状态感知(state-of-the-art)伺服执行器模型,包括流行物理引擎(如 MuJoCo 和 Isaac Gym)中使用的模型,通常只采用简单的库仑-粘滞(Coulomb-Viscous)摩擦模型。这种模型忽略了许多复杂的摩擦现象,如
Stribeck效应、载荷依赖性(load-dependence)和方向性效率(directional efficiency)。 - 低增益控制的挑战: 在强化学习应用中,机器人通常采用低增益(low gains)控制,这使得摩擦效应在系统动力学中占据更主导的地位,从而加剧了简单摩擦模型带来的不准确性。
- 缺乏物理可解释性: 尽管一些机器学习方法可以用于校正仿真与现实之间的差距,但它们通常缺乏物理可解释性(physical interpretation),难以提供对系统行为深层原因的理解。
2.1.3. 这篇论文的切入点或创新思路是什么?
论文的创新思路是:通过引入和验证一系列物理可解释的扩展摩擦模型,来更准确地模拟伺服执行器的复杂摩擦动力学,从而提高物理仿真的真实性,并最终弥合仿真与现实之间的差距,特别是为强化学习等应用提供更可靠的仿真环境。 它不依赖于黑盒机器学习模型来“修正”仿真,而是通过对底层物理模型进行改进,以提供更深入的理解和更稳健的仿真。
2.2. 核心贡献/主要发现
这篇论文的主要贡献可以总结为以下三点:
-
摩擦模型分析 (Friction Model Analysis):
- 论文对不同摩擦模型及其对伺服执行器动力学的影响进行了全面分析。除了传统的库仑-粘滞模型外,还提出了包括
Stribeck模型、载荷依赖模型、Stribeck载荷依赖模型、方向性模型和二次模型等一系列扩展模型,详细描述了它们如何捕捉更复杂的摩擦现象。
- 论文对不同摩擦模型及其对伺服执行器动力学的影响进行了全面分析。除了传统的库仑-粘滞模型外,还提出了包括
-
参数识别方法 (Parameter Identification Method):
- 论文提出了一种方法,用于识别这些扩展摩擦模型的参数。该方法通过在摆锤测试台上记录真实轨迹,并利用优化算法(如
CMA-ES遗传算法)最小化仿真与真实轨迹之间的误差来确定模型参数。
- 论文提出了一种方法,用于识别这些扩展摩擦模型的参数。该方法通过在摆锤测试台上记录真实轨迹,并利用优化算法(如
-
仿真集成 (Simulation Integration):
-
论文详细解释了如何将这些提出的摩擦模型集成到物理引擎(physics engines)中,使得现有仿真平台能够利用这些更准确的模型来模拟伺服执行器。
主要发现:
-
- 显著的准确性提升: 实验结果表明,在四种不同的伺服执行器上,与标准的库仑-粘滞模型相比,提出的扩展摩擦模型能够显著提高仿真准确性。例如,在某些情况下,平均绝对误差(MAE)降低了高达 2.93 倍。
- 模型复杂度与性能的权衡: 不同的伺服执行器需要不同复杂度的模型才能达到最佳性能。例如,
Dynamixel系列伺服执行器在Stribeck载荷依赖模型() 上表现最佳,而eRob80:100则在最复杂的二次模型() 上表现最优。这表明针对特定执行器选择合适的摩擦模型至关重要。 - 对 2R 机械臂的有效性: 在更复杂的 2R 机械臂系统上进行的验证也证实了扩展模型的优越性,MAE 同样降低了超过两倍,尤其是在强化学习中常用的低增益(low gains)控制下,效果更为明显。
- 增强仿真真实性和可靠性: 论文强调了考虑高级摩擦效应对于增强机器人仿真的真实性(realism)和可靠性(reliability)的重要性,这对于提高
sim-to-real迁移的成功率具有直接意义。
3. 预备知识与相关工作
3.1. 基础概念
3.1.1. 物理仿真 (Physical Simulation)
物理仿真是一种通过计算机程序模拟物理系统行为的技术。在机器人学中,它用于模拟机器人的运动、交互、传感器数据等,以便在不使用昂贵的真实硬件的情况下进行设计、测试和验证控制算法。其核心是基于物理定律(如牛顿力学)和数学模型来计算系统中各组件的受力、速度和位置变化。
3.1.2. 强化学习 (Reinforcement Learning, RL)
强化学习是机器学习的一个分支,其目标是训练一个智能体(agent)在一个环境中通过与环境的互动学习最优策略(policy),以最大化累积奖励。智能体通过试错的方式,观察环境状态、执行动作并接收奖励或惩罚,从而逐步调整其行为。在机器人领域,RL 广泛用于学习复杂的运动技能和控制策略。
3.1.3. 伺服执行器 (Servo Actuators)
伺服执行器是机器人系统中负责产生运动的部件,通常由电机、减速器和传感器组成。它们能够精确控制关节的位置、速度或力矩。伺服执行器的性能直接影响机器人的运动能力和控制精度。
3.1.4. 摩擦动力学 (Friction Dynamics)
摩擦是一种阻碍物体相对运动的力。在伺服执行器中,摩擦主要发生在减速器齿轮、轴承等机械部件之间。摩擦动力学描述了摩擦力如何随速度、载荷、温度等因素变化。
- 静摩擦 (Static Friction): 物体在静止时抵抗运动的力。它是一个阈值,只有当外力超过静摩擦力时,物体才会开始运动。
- 动摩擦 (Kinetic Friction): 物体在运动时所受的阻力。
- 粘滞摩擦 (Viscous Friction): 与速度成正比的摩擦力,类似于流体阻力。
- 库仑摩擦 (Coulomb Friction): 一种与速度大小无关,但方向与运动方向相反的摩擦力,其大小在物体运动时为常数。
- Stribeck效应 (Stribeck Effect): 描述了在低速运动时,摩擦力随速度增加而先下降后上升的现象。在非常低的相对速度下,摩擦力从静摩擦迅速下降到最低点,然后随着速度进一步增加而缓慢上升,这通常归因于润滑剂膜的形成。
- 载荷依赖性 (Load-Dependence): 摩擦力不仅取决于速度,还可能与作用在接触表面上的法向力或整体载荷有关。在齿轮箱中,传递的扭矩(载荷)会影响齿轮间的接触压力,进而影响摩擦力。
3.1.5. 摆锤测试台 (Pendulum Test Bench)
一种实验装置,通常由一个伺服执行器驱动一个带有质量块的刚性连杆(形成一个摆锤)。通过测量摆锤的运动(位置、速度、加速度)和伺服执行器施加的扭矩,可以分析和识别伺服执行器的动力学特性,特别是摩擦参数。
3.1.6. 驱动/反驱动图 (Drive/Backdrive Diagrams)
一种用于可视化伺服执行器或齿轮箱摩擦特性的图表。它描绘了在不同输入扭矩(由电机施加)下,系统能够产生或抵抗的外部扭矩范围。通过分析这些图表,可以了解系统在驱动(电机主动带动负载)、反驱动(负载主动带动电机)和静态保持(系统在摩擦作用下静止)三种状态下的行为。
3.2. 前人工作
3.2.1. 伺服执行器动力学识别
- 基于轨迹优化: 传统的伺服执行器动力学识别方法通常涉及记录真实系统上的运动轨迹,然后通过优化算法(如迭代坐标下降
iterative coordinate descent或遗传算法genetic algorithms)调整仿真模型的参数,以最小化仿真轨迹与真实轨迹之间的误差。这些方法在[5]和[6]中有所体现。 - 挑战: 这种方法的局限性在于伺服执行器动力学的复杂性,简单的模型难以准确捕捉。
3.2.2. 基于机器学习的校正
- Lee et al. [7]: 提出了一种使用多层感知机(multi-layer perceptron)的方法。该网络以历史位置误差和速度作为输入,预测伺服执行器施加的扭矩。尽管其网络性能超越了理想的、无限带宽、零延迟的伺服执行器模型,但由于缺乏与已识别物理模型的比较,其性能评估不够全面。
- Serifi et al. [8]: 提出了一种基于
Transformer的增强方法,用于校正伺服执行器的仿真位置。该方法显示出 promising 的结果,但其主要缺点在于不提供物理可解释性,难以理解修正背后的物理原因。
3.3. 技术演进
领域内的技术演进可以概括为从简化到复杂、从经验到物理理解,再到与数据驱动方法结合的过程:
- 早期模型 (Early Models): 摩擦最初被简化为基本的
库仑摩擦和粘滞摩擦。这些模型在概念上简单,易于实现,因此至今仍在许多物理引擎中广泛使用。 - 高级摩擦现象的发现与建模 (Discovery and Modeling of Advanced Friction Phenomena): 随着对摩擦现象更深入的研究,科学家们发现并开始建模
Stribeck效应(描述低速下的摩擦力变化)、载荷依赖性(摩擦力受法向载荷影响)等更复杂的行为。这些模型尝试用物理方程捕捉更精细的摩擦机制。 - 驱动/反驱动特性的分析 (Analysis of Drive/Backdrive Characteristics): 通过
驱动/反驱动图等工具,研究人员开始更全面地分析齿轮箱等部件在不同工作条件下的摩擦和效率特性,揭示了其复杂性和非对称性。 - 数据驱动与机器学习方法的兴起 (Rise of Data-Driven and Machine Learning Approaches): 近年来,随着机器学习(特别是深度学习)在各个领域的成功,研究人员也尝试使用数据驱动的方法来弥合仿真与现实之间的差距,或直接从数据中学习执行器动力学。
- 本文的定位 (Positioning of This Work): 本文处于传统物理建模与现代机器人仿真需求之间。它认识到简单摩擦模型的局限性,并吸取了高级摩擦模型研究的成果,将这些物理可解释的扩展摩擦模型集成到仿真中。与纯粹的数据驱动方法不同,本文更强调物理模型的准确性和可解释性,旨在提供一个更本质、更稳健的仿真解决方案。
3.4. 差异化分析
本文的方法与相关工作中的主要方法相比,核心区别和创新点在于:
-
与传统基于轨迹优化方法的区别: 传统的优化方法通常受限于简单模型(如库仑-粘滞模型)的表达能力。本文通过引入一系列更丰富的、物理可解释的扩展摩擦模型,显著提升了模型捕捉复杂摩擦动力学的能力,从而获得更高的仿真准确性。这使得优化过程能够收敛到更接近真实物理行为的参数集。
-
与基于机器学习方法的区别:
- 物理可解释性 vs. 黑盒: 基于机器学习的方法(如 Lee et al. 的 MLP 或 Serifi et al. 的 Transformer)虽然可以提高仿真准确性或校正误差,但它们通常是“黑盒”模型,缺乏对物理现象的直接解释。这意味着很难理解为什么模型做出了某种修正,也难以将其推广到训练数据之外的场景。本文的方法则专注于构建和识别具有明确物理意义的摩擦模型,每一个参数都对应着一个物理效应(如静摩擦、粘滞摩擦、Stribeck效应、载荷依赖性),这使得结果更具洞察力,也更容易进行故障排除和设计改进。
- 模型通用性 vs. 数据依赖性: 物理模型一旦识别,其参数就代表了执行器的内在特性,具有一定的通用性。而机器学习模型可能对训练数据的分布高度敏感,在面对未见过的工作条件时泛化能力可能受限。本文的物理模型在理论上更具泛化潜力。
- 仿真集成方式: 基于机器学习的方法通常作为仿真后的校正层或预测器。本文的方法则将扩展摩擦模型直接集成到物理引擎的动力学计算中,从根本上改进了底层物理仿真机制。
-
创新点总结: 本文的创新在于系统性地分析、提出了从简单到复杂的物理可解释的扩展摩擦模型,并提供了一套参数识别方法以及与现有物理引擎的集成策略。这种方法不仅显著提高了伺服执行器物理仿真的准确性,而且由于其物理可解释性,为机器人控制和系统设计提供了更深层次的理解和更可靠的工具。
4. 方法论
本节将详细拆解论文中提出的伺服执行器物理仿真方法,包括其背景动力学、多种摩擦模型的详细定义、伺服执行器控制律的建模以及如何在物理引擎中集成这些模型。
4.1. 测试台动力学 (Test bench dynamics)
论文首先考虑了一个典型的摆锤测试台(pendulum test bench),该测试台由一个伺服执行器(servo actuator)驱动一个带有质量为 的点载荷(point load)的刚性连杆(rigid link),连杆长度为 ,系统受到重力加速度 的影响。图 3 展示了这种实验设置。
系统的动力学方程可以表示为:
其中:
-
:伺服执行器的位置(角度)。
-
:伺服执行器的角速度。
-
:伺服执行器的角加速度。
-
:电机扭矩(motor torque),由伺服执行器施加。
-
:外部扭矩(external torque),由重力引起,其表达式为 。在后续的符号表示中,为简洁起见,通常会省略其对 的依赖。
-
:摩擦引起的扭矩(torque caused by friction)。
-
:系统的总转动惯量(inertia),包括负载的转动惯量 和伺服执行器的视在转动惯量(apparent inertia)
J _ { m }。如果电机的转子惯量 已知,则 ,其中 是减速比的倒数。否则, 是一个需要识别的额外参数。这个方程描述了系统所受合扭矩与角加速度之间的关系,是整个仿真模型的基础。
4.2. 摩擦模型 (Friction model)
摩擦在这里被视为一种阻止系统运动的扭矩。论文首先回顾了最常见的 库仑-粘滞模型,并提出了在仿真中处理摩擦的通用框架。
4.2.1. 典型库仑-粘滞模型 (Typical Coulomb-Viscous model)
传统的 库仑-粘滞模型 的定义如下:
其中:
-
K _ { v }:粘滞摩擦系数(viscous friction coefficient),与速度成正比,起到阻尼作用。 -
K _ { c }:库仑摩擦(Coulomb friction),是一个常数,需要克服才能使系统开始运动。 -
:速度方向函数,当 时为 1,当 时为 -1。
局限性: 这个模型在 时摩擦力为零,这不符合实际情况(实际在静止时存在静摩擦力)。此外,当运动方向改变时,摩擦力会发生不连续跳变,这在物理上不准确,也不利于仿真。
4.2.2. 本文定义的库仑-粘滞模型作为摩擦上限 ()
为了解决传统模型的局限性并更好地集成到基于时间步长的仿真中,论文将摩擦定义为一个上限。对于 库仑-粘滞模型,其最大摩擦扭矩 定义为:
其中:
-
:在当前速度下,摩擦可以用来阻止运动的扭矩预算上限。
-
K _ { v }:粘滞摩擦系数。 -
:角速度的绝对值。
-
K _ { c }:库仑摩擦系数。这种定义方式将 视为一个正值,表示摩擦力能提供的最大阻碍扭矩。
4.2.3. 在仿真中应用摩擦力的机制
在基于时间步长 的仿真中,阻止运动可以被理解为在下一个时间步将速度降为零,即 。根据动力学方程 (1),假设摩擦是停止运动的唯一因素,那么所需的停止扭矩 将是:
其中:
-
:为了在下一个时间步停止运动所需的摩擦扭矩。这个扭矩的符号表示其方向。
-
:系统总转动惯量。
-
:仿真时间步长。
-
:当前角速度。
-
:电机扭矩。
-
:外部扭矩。
实际施加的摩擦扭矩 由 给出,但其大小必须被限制在
摩擦上限内,并且方向与 相同。这通过一个clip函数实现:
这个 clip 操作确保了摩擦力不会超出其物理极限。只有当系统处于运动边缘或摩擦已被克服并正在运动时,摩擦力才会达到其最大值 。这种处理方式使摩擦力在仿真中表现得更合理和连续。
4.3. 驱动与反驱动扭矩 (Drive and backdrive torques)
为了更深入地理解伺服执行器的摩擦特性,论文引用了 驱动/反驱动图(Drive/backdrive diagrams)的概念,如 [17][18] 中所述。
在一个系统中,当电机扭矩 和外部扭矩 相互对抗时,可能存在三种状态:
-
驱动状态 (Drive state): 伺服执行器在 的方向上运动。
-
静态平衡 (Static equilibrium): 系统处于静止状态。
-
反驱动状态 (Backdrive state): 伺服执行器在 的方向上运动(即负载带动电机运动)。
图 2 展示了
库仑-粘滞模型的驱动/反驱动图。图中:
- 静态区域 (Gray area): 系统处于静止状态,满足 。在这个区域内,摩擦力的大小和方向由平衡条件决定,且其绝对值小于或等于 。
- 驱动区域 (Drive Area) 和 反驱动区域 (Backdrive Area): 在这些区域,摩擦力已达到其最大值 ,系统正在运动。
4.3.1. 驱动扭矩和反驱动扭矩的定义
对于给定的电机扭矩 :
- 驱动扭矩 (Drive torque) : 是在驱动区域中,能够保持系统运动的 的最高值。
- 反驱动扭矩 (Backdrive torque) : 是在反驱动区域中,能够保持系统运动的 的最小(负向最大)值。
4.3.2. 实验识别方法
在摆锤测试台(如图 3 所示)上,可以通过实验识别 和 。从一个静态平衡位置开始,用手将系统移动到静态区域的极限位置:
-
在最低位置时,测得的 对应于 。
-
在最高位置时,测得的 对应于 。
图 3 中展示的
MX-106和eRob80:100伺服执行器的驱动/反驱动图揭示了库仑-粘滞模型的局限性。特别是,驱动和反驱动扭矩的曲线显示摩擦力会随着所施加的扭矩而增加,这被称为载荷依赖性(load-dependent)。这表明简单的库仑-粘滞模型不足以准确描述真实的摩擦行为。
4.4. 扩展摩擦模型 (Extended Friction Models)
鉴于 库仑-粘滞模型 的局限性,论文提出了一系列更复杂的扩展摩擦模型,以捕捉 Stribeck效应、载荷依赖性 和 方向性 等现象。这些模型都在 库仑-粘滞模型 () 的基础上增加了新的参数来描述特定效应。
4.4.1. Stribeck 模型 (, 5 个参数)
Stribeck效应 指的是在系统从静止开始运动时,摩擦力会先下降后上升的现象。这是由于接触表面微观凸起(asperities)的啮合以及润滑状态的变化。该模型通过一个指数衰减项来模拟这种效应,确保了两个区域之间的平滑过渡和连续性。
其中:
- :基础的
库仑-粘滞部分。 - :Stribeck-库仑摩擦(Stribeck-Coulomb friction),表示静止时额外存在的静摩擦力。
- :指数衰减项,描述
Stribeck效应。-
:Stribeck 速度(Stribeck velocity),参数化了
Stribeck效应的影响范围。当速度远小于 时,指数项接近 1,Stribeck效应显著;当速度远大于 时,指数项接近 0,Stribeck效应消失。 -
:曲率参数,决定了衰减曲线的形状。
该模型总共有 5 个参数需要识别:, , , , 。
-
4.4.2. 载荷依赖模型 (, 3 个参数)
齿轮箱中的静摩擦力会受到所施加的载荷影响。直观地讲,齿轮在滑动时需要克服更大的阻力,如果它们之间存在更大的“挤压力”,这种挤压力可能来源于电机和外部负载的差值。
其中:
-
:基础的
库仑-粘滞部分。 -
K _ { l }:载荷依赖摩擦系数(load-dependent friction),表示额外施加的与载荷成比例的摩擦。 -
:表示电机扭矩和外部扭矩之间的差值的绝对值,作为载荷的代理。
该模型总共有 3 个参数需要识别:, , 。
4.4.3. Stribeck 载荷依赖模型 (, 7 个参数)
该模型结合了 Stribeck效应 和 载荷依赖性。它认为由载荷依赖性产生的额外静摩擦力,也会在系统运动时减小。
其中:
- :包含粘滞、库仑和常规载荷依赖摩擦的部分。
- :
Stribeck效应部分。-
:额外的
Stribeck-库仑摩擦。 -
:Stribeck-载荷依赖摩擦系数(Stribeck-load-dependent friction),表示静止时额外存在的与载荷成比例的摩擦。
该模型总共有 7 个参数需要识别:, , , , , , 。
-
4.4.4. 方向性模型 (, 9 个参数)
某些齿轮箱(如无尽螺杆 endless screws)的效率可能具有方向性,即在驱动和反驱动方向上的效率不同。为了捕捉这种效应,论文建议将 载荷依赖 参数根据电机扭矩和外部扭矩的方向进行分解。
其中:
- :基础的
库仑-粘滞部分。 - :常规载荷依赖部分,其中:
K _ { m }:电机载荷依赖摩擦系数(motor load-dependent friction)。K _ { e }:外部载荷依赖摩擦系数(external load-dependent friction)。
- :
Stribeck效应部分,其中:-
:电机
Stribeck-载荷依赖摩擦。 -
:外部
Stribeck-载荷依赖摩擦。该模型总共有 9 个参数需要识别:, , , , , , , , 。 如果 ,则意味着系统在外部载荷驱动下几乎不能反向运动,表现出
自锁(self-locking)特性。
-
4.4.5. 二次模型 (, 11 个参数)
对于 谐波传动(harmonic drives)等系统,摩擦力对载荷的依赖性可能呈现二次方关系。这个模型在方向性模型的基础上增加了二次方项。
其中:
-
前一部分与 相同。
-
:二次载荷依赖摩擦部分,只有在
Stribeck效应活跃时(即指数项不为零)才被考虑。- :当外部扭矩大于电机扭矩(即 ,可能是反驱动或外部负载主导)时,额外的二次外部载荷依赖摩擦。
- :当电机扭矩大于或等于外部扭矩(即 ,可能是驱动或电机主导)时,额外的二次电机载荷依赖摩擦。
-
:电机二次载荷依赖摩擦系数(motor load-dependent quadratic frictions)。
-
:外部二次载荷依赖摩擦系数(external load-dependent quadratic frictions)。
该模型总共有 11 个参数需要识别:, , , , , , , , , , 。
4.4.6. 驱动/反驱动图对比
图 4 展示了这些不同模型在 eRob80:100 伺服执行器上拟合后的驱动/反驱动图。通过对比这些曲线,可以直观地看到每个扩展模型如何捕捉更复杂的摩擦效应,从而在驱动和反驱动行为上与简单的 库仑-粘滞模型 产生差异。图中的虚线代表不同速度下的摩擦影响,表明速度也会影响驱动/反驱动曲线。
4.5. 伺服执行器仿真 (Simulating Servo Actuators)
为了准确仿真伺服执行器的行为,需要结合其控制律和上述摩擦模型。
4.5.1. 伺服执行器模型 (Servo actuator model)
伺服执行器模型 是一个函数,它接收系统的当前状态(位置 和角速度 )以及目标位置 ,然后输出一个要施加到系统上的电机扭矩 。
为了仿真伺服执行器,其内部的控制律必须是已知的。论文提供了两种常见的控制律示例。
4.5.2. 电压控制律 (Voltage control law)
电压控制律根据当前状态和目标位置计算施加到电机的电压 。通常,这涉及一个 比例-积分-微分 (PID) 控制器。
其中:
-
:PID 控制器的输出,基于当前位置 、角速度 和目标位置 。
-
U _ { m a x }:电机的最大电压。 -
clip函数:将计算出的电压限制在[ - U _ { m a x } , U _ { m a x } ]范围内。电机扭矩 随后可根据直流电机方程推导:
其中:
-
k _ { t }:电机扭矩常数(torque constant)。 -
:电机内部电阻(internal motor resistor)。
-
注意:论文中 ``k _ { t }
是电机扭矩常数和减速比的乘积。 -
如果
k _ { t }和 未知,它们也是需要识别的额外参数。这个方程假设使用
驱动/制动 (drive/brake)控制器。对于驱动/滑行 (drive/coast)控制器,涉及电机电感 的方程会有所不同 [21]。
4.5.3. 电流控制律 (Current control law)
电流控制律根据当前状态和目标位置计算要施加到电机的目标电流 。目标电流的实现通常由另一个高频电子回路确保。
其中:
- :PID 控制器的输出。
I _ { m i n }和I _ { m a x }:目标电流的上下限。I _ { servo }:伺服系统允许的最大电流,由两个因素决定:-
:输入电压允许的最大电流。
-
I _ { heat }:为避免过热而设定的电流限制。电机扭矩 随后根据电流和扭矩常数计算:
-
4.5.4. 模拟摆锤测试台 (Simulating the pendulum test bench)
算法 1 描述了如何使用上述动力学方程、摩擦模型和伺服执行器模型来仿真摆锤测试台的一个时间步。
算法 1: Simulating one step of the pendulum dynamics with friction. 输入:
- : 时间步长
- : 第 步的状态 (位置, 速度)
- : 第 步的目标位置
- : 摩擦模型 (第 III 节)
- : 伺服执行器模型 (第 IV-A 节)
输出:
- : 第 步的状态
步骤:
- // 调用伺服执行器模型计算电机扭矩。
- // 计算外部(重力)扭矩。
- // 计算系统总转动惯量。
- // 调用摩擦模型计算最大摩擦扭矩上限。
- // 计算为了在下一个时间步停止运动所需的摩擦扭矩。
- // 将实际施加的摩擦扭矩限制在摩擦模型给出的最大摩擦扭矩范围内。
- // 根据合力矩计算当前角加速度。
- // 使用欧拉积分更新角速度。
- // 使用欧拉积分更新位置。
- 返回:
4.5.5. 使用物理引擎仿真 (Simulation using a physics engine)
对于更复杂的系统,通常会使用 物理引擎(如 MuJoCo [2] 或 Isaac Gym [3])。这些引擎通常默认实现 库仑-粘滞摩擦模型。
为了在物理引擎中利用扩展摩擦模型,论文提出了一种 动态更新摩擦参数 的方法:
-
物理引擎内部通常会解决一个动力学优化问题,同时计算外部扭矩 和摩擦扭矩 。这意味着在计算 时,当前的 可能尚未完全确定。
-
近似方法: 为此,可以使用上一个时间步的 来计算当前时间步的 。
-
有效性: 这种近似是有效的,因为在仿真中,由于对约束条件的软处理,外部扭矩 通常不会突然剧烈变化。
通过这种方式,物理引擎中现有的摩擦计算框架可以被扩展,使其能够根据系统的当前状态,动态调整其内部的静态摩擦和粘滞摩擦参数,从而更准确地反映高级摩擦效应。
5. 实验设置
本节详细介绍了论文中用于识别和验证扩展摩擦模型所采用的实验设置,包括记录的轨迹、优化方法、伺服执行器类型以及评估指标。
5.1. 数据集
5.1.1. 轨迹记录
论文使用四种不同类型的轨迹在物理测试台上进行记录,这些轨迹结合了不同质量、摆锤长度和伺服执行器控制律。每种伺服执行器记录了约 100 条时长 6 秒的日志。
-
加速振荡 (Accelerated oscillations):
- 特点:恒定振幅但频率逐渐增加的振荡。
- 目的:用于揭示控制器在不同频率下的相位和振幅滞后(phase and amplitude shifts)。
-
带有小幅次振荡的慢速振荡 (Slow oscillations with smaller sub-oscillations):
- 特点:由大幅慢速振荡和叠加在上的小幅高频振荡组成。
- 目的:测试模型在不同速度范围和复合运动下的表现。
-
缓慢上升和下降 (Raising and lowering slowly):
- 特点:将质量块缓慢提升,然后缓慢放下。通常会在某个位置出现平台期,系统在该平台期内保持静止,直到被反向驱动(backdriven)。
- 目的:特别适用于观察和识别静摩擦、预滑动(pre-sliding)行为以及载荷依赖性。
-
提升并释放 (Lift and drop):
- 特点:将质量块提升到一定高度,然后释放。
- 目的:
- 对于电流控制的伺服执行器,电流被设为零。
- 对于电压控制的伺服执行器,H 桥(H-bridge)被释放,确保电机电动势(electromotive force)消失。
- 目的:这种实验设计有助于区分纯粹的粘滞摩擦和其他摩擦效应(如与电机电动势相关的阻尼)。
5.1.2. 伺服执行器和配置
实验使用了四种不同的伺服执行器:
-
Dynamixel MX-64 [13] 和 MX-106 [14]: 这两种执行器使用标准的直齿轮减速器(spur gear reducers)。
-
eRob80:50 和 eRob80:100: 这两种执行器是
eRob80 [15]系列,分别具有 1:50 和 1:100 的减速比,它们使用谐波传动(harmonic drives)。所有伺服执行器都采用位置控制:
-
Dynamixel使用制造商提供的电压控制律。 -
eRob80使用自定义的电流控制律。
表 I: 用于识别的配置 (CONFIGURATIONS USED FOR IDENTIFICATION)
| Variable | Dynamixel | eRob80 |
|---|---|---|
| Load mass / kg | 0.5 / 1 / 1.5 | 3.1 / 8.2 / 12.7 / 14.6 / 19.6 |
| Pendulum length / m | 0.1 / 0.15 / 0.2 | 0.5 |
| Proportional gain | 4 / 8 / 16 / 32 | 10 / 25 / 50 / 100 |
这个表格详细列出了在记录轨迹时所使用的负载质量、摆锤长度和比例增益(Proportional gain)的不同组合,以确保数据的多样性和模型的泛化能力。
5.2. 优化
5.2.1. 评分函数
为了评估一组模型参数的优劣,论文使用 平均绝对误差(Mean Absolute Error, MAE) 作为评分函数。MAE 计算的是仿真轨迹与测量轨迹之间的平均绝对差值。
5.2.2. 参数识别算法
模型参数的识别通过 CMA-ES (Covariance Matrix Adaptation Evolution Strategy) 遗传算法 [22] 实现,该算法通过 optuna Python 模块 [23] 进行调用。
- 数据划分: 记录的日志被分为两部分:
- 75%: 用于参数识别(训练集)。
- 25%: 保留用于验证(验证集),以评估模型在未见过数据上的性能,防止过拟合。
- 重复性: 每个识别过程重复进行 3 次,结果显示每次都能稳定收敛到相似的评分,表明识别过程的鲁棒性。
5.3. 评估指标
论文主要使用 平均绝对误差(Mean Absolute Error, MAE) 来评估仿真模型的准确性。
5.3.1. 概念定义 (Conceptual Definition)
平均绝对误差(MAE)是衡量预测值与真实值之间误差的一种常用指标。它计算所有单个预测误差的绝对值的平均值。MAE 的优点在于它直接反映了预测误差的平均大小,并且对异常值(outliers)的敏感度低于均方误差(MSE),因为它不涉及误差的平方。MAE 的值越小,表示模型的预测越接近真实值,模型的准确性越高。
5.3.2. 数学公式 (Mathematical Formula)
5.3.3. 符号解释 (Symbol Explanation)
- : 数据点的总数量(例如,轨迹中的时间步数量)。
- : 第 个数据点的真实值(例如,在真实机器人上测量的位置或速度)。
- : 第 个数据点的预测值(例如,由仿真模型输出的位置或速度)。
- : 第 个数据点的预测误差的绝对值。
- : 对所有数据点进行求和。
- : 求和结果的平均值。
5.4. 对比基线
论文将自己提出的扩展摩擦模型与 标准的库仑-粘滞模型 () 进行了比较。库仑-粘滞模型 之所以被选为基线,是因为它:
-
在许多流行的物理引擎(如 MuJoCo 和 Isaac Gym)中被广泛使用。
-
代表了当前机器人仿真中伺服执行器摩擦建模的普遍做法。
通过与这个基线模型进行比较,论文能够清晰地展示其扩展摩擦模型在捕捉复杂摩擦动力学方面的显著改进。
6. 实验结果与分析
本节将详细分析论文在伺服执行器识别和 2R 机械臂验证实验中获得的结果,并结合图表进行深入解读。
6.1. 识别结果 (Identification Results)
论文按照第 V 节描述的协议,对四种伺服执行器(MX-64、MX-106、eRob80:50 和 eRob80:100)进行了识别。对于从 到 的每个模型,都识别了摩擦模型的参数、电机电气参数 ( 和 ) 以及电机的视在惯量 ()。
以下是原文 Figure 5 的结果:
图 5. 在四种伺服执行器上,每个模型识别后在验证日志中获得的平均绝对误差(MAE)。
6.1.1. 综合分析
- 整体趋势: 总体而言,从
库仑-粘滞模型() 到更复杂的扩展模型,MAE 普遍呈现下降趋势,表明扩展摩擦模型能够更准确地模拟伺服执行器的动力学。 - 显著改进: 相较于基线模型 ,最佳模型在所有伺服执行器上都显著降低了 MAE:
- MX-64:MAE 降低了 2.93 倍。
- MX-106:MAE 降低了 2.02 倍。
- eRob80:100:MAE 降低了 2.34 倍。
- eRob80:50:MAE 降低了 1.51 倍。
6.1.2. 各伺服执行器详细分析
-
Dynamixel 伺服执行器 (MX-64 和 MX-106):
- 对于
Dynamixel系列(MX-64 和 MX-106),MAE 从 到 持续改进。这表明引入Stribeck效应()、载荷依赖性()、Stribeck载荷依赖性() 以及方向性() 对这些带有直齿轮减速器的执行器是有效的。 - 然而,
二次模型() 对Dynamixel系列没有带来进一步的改进。这暗示了Dynamixel的摩擦特性可能不需要二次项来准确建模,或者额外的参数导致了过拟合(overfitting)。
- 对于
-
eRob80:100 伺服执行器:
eRob80:100显示出从 到 模型的逐步改进。这表明对于采用谐波传动(harmonic drives)的执行器,最复杂的二次模型() 能够最好地捕捉其复杂的摩擦特性,包括载荷的二次方效应。这与论文在第 III-E 节中提到的谐波传动的摩擦可能呈二次方关系相吻合。
-
eRob80:50 伺服执行器:
- 对于
eRob80:50,在载荷依赖模型() 之后,并没有观察到明显的进一步改进。这可能意味着该执行器的摩擦特性相对简单,或者更复杂的模型(如包含Stribeck效应、方向性或二次项)的额外参数并没有带来显著的精度提升,甚至可能因为数据量不足或模型过度复杂而导致过拟合。
- 对于
6.1.3. 结论
识别结果清晰地表明,针对不同类型的伺服执行器,选择合适的、具有足够复杂度的摩擦模型至关重要。对于某些执行器,更复杂的模型(如 )能够显著提高精度;而对于另一些,适度的模型(如 或 )可能就已足够,过度增加复杂性并无益处,甚至可能导致过拟合。
6.2. 2R 机械臂上的验证 (Validation on 2R Arms)
为了在更复杂的系统上验证扩展摩擦模型的有效性,论文使用了两个 2R 机械臂进行测试。
6.2.1. 实验设置
-
2R 机械臂组成:
- 第一个机械臂:由
Dynamixel MX-106和MX-64组成。 - 第二个机械臂:由
eRob80:100和eRob80:50组成。
- 第一个机械臂:由
-
控制模式: 机械臂以与识别阶段相同的模式进行控制。
-
仿真环境: 仿真在
MuJoCo物理引擎中进行,摩擦模型按照第 IV-E 节描述的方式集成。 -
测试路径: 在 2R 机械臂上执行了四种预设路径:圆形、正方形、方波和三角波。 以下是原文 Figure 6 的结果:
图 6. 在 2R 机械臂上记录和模拟的路径:圆形(A.),正方形(B.),方波(C.),三角波(D.)。 -
控制增益: 每条轨迹都分别在
高比例增益(High Proportional Gains, HG)和低比例增益(Low Proportional Gains, LG)下进行记录和仿真。高增益:提供精确控制。低增益:提供宽松控制,这在强化学习应用中非常常见,因为低增益控制使得摩擦等非线性效应更为突出。
6.2.2. 示例对比 (Figure 1 详情)
原文 Figure 1 展示了 Coulomb-Viscous 模型 () 和提出的伺服执行器模型 () 在 2R 机械臂上的对比,特别是在低增益控制下 MX-106 追踪三角波路径时的表现。
以下是原文 Figure 1 的结果:
该图像是一个示意图,展示了目标值、测量值、Coulomb-Viscous模型(M1)和扩展模型(M4)之间的比较。上半部分显示了在不同位置的z值,下半部分则呈现了随时间变化的仿真与测量之间的误差,强调了扩展模型的优势。
图 1. 2R 机械臂上 Coulomb-Viscous 模型 () (物理模拟器中常用) 与提出的伺服执行器模型 () 的比较。2R 机械臂 (A.) 由 Dynamixel MX-106 和 MX-64 组成,以低增益控制,以模拟 RL 应用中常用的控制模式。真实系统追踪一个三角波路径,并使用两种不同的摩擦模型进行模拟。模拟轨迹和测量轨迹显示在 (B.) 中,模拟与测量之间随时间变化的误差显示在 (C.) 中,突出了在伺服执行器模拟中考虑各种摩擦效应的重要性。
从图 1 (B.) 中可以看出,与 真实值 相比,M4 仿真 的轨迹更接近 真实轨迹,而 M1 仿真(即 Coulomb-Viscous 模型)的轨迹与真实值存在明显偏差。图 1 (C.) 更直观地显示了误差随时间的变化,M4 模型 的误差显著小于 M1 模型 的误差,尤其是在轨迹方向改变或速度较低的区域,这凸显了考虑高级摩擦效应的重要性。
6.2.3. 2R 机械臂的 MAE 结果
以下是原文 Figure 7 的结果:
图 7. 在 2R 机械臂轨迹上每个模型获得的 MAE。每条轨迹都使用低增益(LG)和高增益(HG)控制器记录。
-
Dynamixel 2R 机械臂:
- \mathcal{M}_4$ \text{模型}$ 表现最佳,其 MAE 比 `库仑-粘滞模型` ($\mathcal{M}_1$) 低两倍以上,适用于所有轨迹和增益配置。
* 尽管 \mathcal{M}_5 在
Dynamixel伺服执行器的识别阶段表现更好,但在 2R 机械臂上并未带来改进。论文推测这可能是由于识别阶段的过拟合(overfitting)导致。在单个关节识别时,模型可能捕捉了训练集中的噪声或特定模式,但在更复杂的、不同关节相互作用的 2R 机械臂上,这种过拟合的复杂性反而降低了泛化能力。
- \mathcal{M}_4$ \text{模型}$ 表现最佳,其 MAE 比 `库仑-粘滞模型` ($\mathcal{M}_1$) 低两倍以上,适用于所有轨迹和增益配置。
* 尽管 \mathcal{M}_5 在
-
eRob80 2R 机械臂:
- $$\mathcal{M}_6 在
eRob80 2R 机械臂上表现最为准确,其 MAE 也比库仑-粘滞模型低两倍以上。这与单关节识别结果(eRob80:100 在 上表现最佳)一致,再次强调了谐波传动对二次摩擦效应的敏感性。
- $$\mathcal{M}_6 在
6.2.4. 结论
2R 机械臂上的验证结果进一步证实了扩展摩擦模型的有效性。在更接近实际机器人应用的复杂多关节系统中,这些模型仍然能够显著提高仿真精度。特别是在 低增益控制(对 RL 应用至关重要)下,改进效果尤为明显,表明这些模型有望弥合 sim-to-real 差距,为强化学习提供更可靠的仿真环境。同时,实验也提示了模型复杂度和泛化能力之间的权衡,过高的模型复杂性可能导致在特定数据集上过拟合,从而在更广泛的场景中表现不佳。
7. 总结与思考
7.1. 结论总结
本研究提出了一种用于伺服执行器物理仿真的新方法,该方法利用了一系列扩展摩擦模型来更准确地捕捉其复杂的动力学特性。论文的核心贡献包括:
-
全面的摩擦模型分析: 详细探讨了从
库仑-粘滞模型到Stribeck效应、载荷依赖性、方向性和二次效应的各种摩擦模型,并提出了相应的数学表达式。 -
有效的参数识别方法: 开发了一种基于摆锤测试台轨迹记录和
CMA-ES遗传算法优化的方法,能够可靠地识别这些扩展模型的参数。 -
与物理引擎的集成策略: 提供了将这些先进摩擦模型整合到现有物理引擎中的实用指南。
实验结果在四种不同的伺服执行器上进行了验证,并在 2R 机械臂上进行了测试。与标准的
库仑-粘滞模型相比,扩展模型在平均绝对误差(MAE)方面取得了显著改进,MAE 降低了 1.5 到 2.9 倍。这些发现强调了在伺服执行器仿真中考虑高级摩擦效应对于提高机器人仿真的真实性(realism)和可靠性(reliability)的重要性。论文还提供了一个开源实现(https://github.com/Rhoban/bam),方便研究人员使用。
7.2. 局限性与未来工作
7.2.1. 局限性
- 温度效应: 论文未考虑伺服执行器温度对摩擦力的影响 [12]。在实际应用中,电机和齿轮箱的温度会显著改变润滑剂的粘度,进而影响摩擦特性。解决这一问题需要引入热模型,并在数据记录期间测量和控制温度。
- 径向力: 模型中忽略了径向力(radial forces)的影响。在实际的关节中,除了旋转扭矩外,还可能存在径向负载,这会影响轴承和齿轮的摩擦行为。忽略径向力是为了简化实验设置,但可能会限制模型在某些复杂负载情况下的准确性。
- 驻留时间(Dwell time): 论文未考虑驻留时间 [24] 的影响。驻留时间是指两个接触表面在重新滑动之前保持相对静止的时间。这一效应可能导致摩擦响应的延迟,可以通过在摩擦模型中引入时间延迟来建模。
7.2.2. 未来工作
- 在物理引擎中实现: 未来工作将重点关注将提出的扩展摩擦模型直接集成到主流物理引擎(如
MuJoCo和Isaac Gym)中,以便更准确地模拟人形机器人和其他复杂系统。 - 改进
Sim-to-Real迁移: 通过使用这些更准确的摩擦模型,预期能够显著提高强化学习策略从仿真到真实世界的迁移能力(transferability),从而加速机器人控制算法的开发和部署。
7.3. 个人启发与批判
7.3.1. 个人启发
- 物理模型的价值: 这篇论文再次强调了深入理解和精确建模物理现象(而非仅仅依赖数据拟合)在机器人学中的核心价值。尤其是在
sim-to-real成为瓶颈的强化学习领域,一个更真实的仿真环境是成功的基石。物理可解释的模型不仅能提高仿真精度,还能为系统设计、故障诊断和控制策略开发提供深层洞察。 - 模型复杂度的权衡: 论文通过对比不同复杂度的模型在不同执行器上的表现,生动地展示了模型复杂度与性能之间的权衡。并非越复杂的模型越好,而是需要根据具体硬件的物理特性选择最合适的模型。这提醒我们在建模时,应从最简单的开始,逐步增加复杂度,直到获得足够的精度,同时避免过拟合。
- 系统化建模方法: 论文提供了一个系统化的建模和识别框架,从理论分析、模型提出、参数识别到仿真集成,为其他类似机器人系统(如液压执行器、气动执行器等)的精细建模提供了借鉴。
- 开源贡献: 提供开源实现(https://github.com/Rhoban/bam)是极具价值的贡献,它能极大地降低其他研究人员复现和扩展这项工作的门槛,促进社区进步。
7.3.2. 批判与潜在改进
- 温度模型的缺失:
温度对摩擦的影响是客观且普遍存在的,特别是在高负载、长时间运行的机器人任务中。论文明确指出了这是一个局限性,但其重要性可能被低估。未来若能将热模型集成,模型的泛化能力和在实际工作条件下的准确性将大幅提升。这将是一个重要的改进方向,尽管会增加模型的复杂度和识别难度。 - 参数识别的计算成本:
CMA-ES是一种强大的优化算法,但对于高维参数空间(如 有 11 个摩擦参数,加上电机电气参数和惯量,总参数更多)的全局优化,其计算成本可能非常高昂。论文提到每个识别过程重复 3 次且收敛,但没有详细说明总体的计算时间。未来可以探索更高效的优化算法,或结合贝叶斯优化、梯度下降(如果模型可微)等方法来加速参数识别过程。 - 多关节交互的摩擦: 论文在 2R 机械臂上验证了模型,但主要关注的是单关节的摩擦效应。在多关节机器人中,关节之间的耦合、柔性、以及其他非线性动力学可能会引入更复杂的摩擦交互。目前模型主要关注单关节内部的摩擦,未来可以探索如何建模和识别多关节系统层面的摩擦耦合效应。
- 实时性考虑: 虽然论文旨在提高仿真准确性以服务 RL,但这些更复杂的摩擦模型是否会显著增加物理引擎的计算负担,从而影响仿真的实时性和速度?对于需要数百万甚至数十亿步交互的 RL 训练,计算效率同样关键。论文未详细讨论这一点,未来需要评估这种复杂性带来的计算成本,并可能需要优化实现。
- 不确定性量化: 物理模型总是对真实世界的近似。论文主要关注
MAE,但没有讨论模型参数的不确定性或预测结果的置信区间。在 RL 应用中,了解仿真模型的可靠性边界(即不确定性)可能有助于开发更鲁棒的sim-to-real策略。 - 通用性与特定性: 论文揭示了不同执行器需要不同复杂度的模型。这引出了一个问题:是否存在一种“通用”的自适应模型选择机制,或者是否需要为每个新的执行器重新进行全面的建模和识别工作?未来的研究可以探索如何自动化或简化针对特定硬件的最佳模型选择过程。
相似论文推荐
基于向量语义检索推荐的相关论文。