L4acados: Learning-based models for acados, applied to Gaussian process-based predictive control

📄 arXiv: 2411.19258v4 📥 PDF

作者: Amon Lahr, Joshua Näf, Kim P. Wabersich, Jonathan Frey, Pascal Siehl, Andrea Carron, Moritz Diehl, Melanie N. Zeilinger

分类: eess.SY, math.OC

发布日期: 2024-11-28 (更新: 2025-11-27)


💡 一句话要点

L4acados:用于acados的学习模型框架,应用于高斯过程预测控制

🎯 匹配领域: 支柱一:机器人控制 (Robot Control)

关键词: 模型预测控制 学习控制 高斯过程 神经网络 实时优化 自动驾驶 acados 灵敏度分析

📋 核心要点

  1. 现有方法难以将机器学习模型无缝集成到实时最优控制软件中,限制了MPC在实际应用中的性能。
  2. L4acados通过在acados中集成Python动力学模型,并利用外部灵敏度计算,实现了学习模型与MPC的有效结合。
  3. 实验表明,L4acados在神经网络控制示例中实现了显著加速,并成功应用于自主赛车和自动驾驶车辆的车道变换。

📝 摘要(中文)

将基于学习的模型(如人工神经网络或高斯过程)集成到模型预测控制(MPC)策略中,可以显著提高实际应用中的控制性能和在线自适应能力。然而,由于将机器学习框架与实时最优控制软件连接的挑战,为MPC实现最先进的基于学习的模型仍然很复杂。本工作旨在通过将外部灵敏度集成到非线性最优控制的序列二次规划求解器中来填补这一空白。为此,我们提供了L4acados,这是一个通用框架,用于将基于Python的动力学模型集成到实时最优控制软件acados中。通过用户定义的Python模块计算外部灵敏度,L4acados能够在acados中实现具有基于学习的残差模型的MPC控制器,同时支持在准备二次子问题时并行化灵敏度计算。我们通过一个基于神经网络的控制示例,证明了L4acados相比于现有软件的显著加速和卓越的扩展性能。最后,我们使用L4acados提供了一个高效且模块化的基于高斯过程的MPC实时实现,并将其应用于两个硬件示例:自主微型赛车以及用于ISO车道变换操作的全尺寸自动驾驶车辆的运动控制。

🔬 方法详解

问题定义:论文旨在解决将基于学习的模型(如神经网络或高斯过程)集成到模型预测控制(MPC)框架中的难题。现有的方法通常难以将机器学习框架与实时最优控制软件有效地连接起来,这限制了MPC在实际应用中的性能和在线自适应能力。特别是在需要快速求解最优控制问题时,这种集成带来的计算负担会成为瓶颈。

核心思路:论文的核心思路是开发一个通用框架L4acados,该框架允许将基于Python的动力学模型集成到实时最优控制软件acados中。通过利用外部灵敏度计算,L4acados能够有效地将学习模型的预测能力与acados的优化求解能力结合起来。这种设计允许用户使用熟悉的Python环境定义和训练学习模型,然后将其无缝地部署到实时控制系统中。

技术框架:L4acados框架主要包含以下几个关键模块:1) Python动力学模型接口:允许用户使用Python定义和训练学习模型,例如神经网络或高斯过程。2) 外部灵敏度计算模块:通过用户定义的Python模块计算动力学模型的灵敏度信息,这些灵敏度信息对于序列二次规划(SQP)求解器至关重要。3) acados集成:将Python动力学模型和灵敏度信息集成到acados实时最优控制软件中,利用acados的快速求解能力。4) 并行化支持:支持并行化灵敏度计算,从而进一步提高计算效率。

关键创新:L4acados的关键创新在于其通用性和高效性。它提供了一个通用的接口,允许用户轻松地将各种基于Python的学习模型集成到acados中。通过外部灵敏度计算和并行化支持,L4acados能够显著提高计算效率,使其适用于实时控制应用。与现有方法相比,L4acados避免了手动推导和实现灵敏度信息的复杂过程,从而简化了开发流程。

关键设计:L4acados的关键设计包括:1) 使用CasADi符号计算库来自动计算灵敏度信息。2) 提供了一个清晰的Python API,方便用户定义和训练学习模型。3) 利用acados的SQP求解器来实现快速最优控制。4) 实现了并行化灵敏度计算,以充分利用多核处理器的计算能力。具体参数设置和网络结构取决于用户选择的学习模型和具体的控制任务。

📊 实验亮点

实验结果表明,L4acados在神经网络控制示例中实现了显著的加速,并且具有卓越的扩展性能。与现有软件相比,L4acados能够更快地求解最优控制问题,从而提高了控制系统的实时性。此外,L4acados还成功应用于自主微型赛车和自动驾驶车辆的车道变换操作,验证了其在实际硬件系统中的有效性。这些实验结果表明,L4acados是一个有前景的实时最优控制框架。

🎯 应用场景

L4acados框架具有广泛的应用前景,包括但不限于:自主机器人、自动驾驶、过程控制、能源管理等领域。它可以用于提高控制系统的性能、鲁棒性和自适应能力,特别是在模型不确定或时变的复杂系统中。通过将学习模型与MPC相结合,L4acados可以实现更智能、更高效的控制策略,从而提高系统的整体性能和安全性。

📄 摘要(原文)

Incorporating learning-based models, such as artificial neural networks or Gaussian processes, into model predictive control (MPC) strategies can significantly improve control performance and online adaptation capabilities for real-world applications. Still, enabling state-of-the-art implementations of learning-based models for MPC is complicated by the challenge of interfacing machine learning frameworks with real-time optimal control software. This work aims at filling this gap by incorporating external sensitivities in sequential quadratic programming solvers for nonlinear optimal control. To this end, we provide L4acados, a general framework for incorporating Python-based dynamics models in the real-time optimal control software acados. By computing external sensitivities via a user-defined Python module, L4acados enables the implementation of MPC controllers with learning-based residual models in acados, while supporting parallelization of sensitivity computations when preparing the quadratic subproblems. We demonstrate significant speed-ups and superior scaling properties of L4acados compared to available software using a neural-network-based control example. Last, we provide an efficient and modular real-time implementation of Gaussian process-based MPC using L4acados, which is applied to two hardware examples: autonomous miniature racing, as well as motion control of a full-scale autonomous vehicle for an ISO lane change maneuver.