Open Source Robotics

精选高质量开源机器人项目、工具和软件,推动机器人社区发展。

Warm Start

  • 又称: warm starting
  • 类别: Planning & manipulation › Trajectory optimisation
  • 标签: optimization, model-predictive-control, trajectory-optimization, numerical-methods, real-time

用一个好的猜测(通常是先前的或相关的解)来初始化迭代求解器,而不是从零开始,以缩短求解时间,并把求解引向一个有用的局部最优解。

定义

热启动(warm start)是指用来自相关问题的信息来初始化迭代优化或数值求解器,而不是从默认的或任意的起点开始;后者称为冷启动(cold start)。这些信息可以是原始变量(即决策变量本身,例如一条轨迹)、对偶变量或拉格朗日乘子、不等式约束的有效集,或诸如拟牛顿 Hessian 之类的近似。由于非线性机器人问题通常有许多局部最优解,起点不仅影响求解器收敛的快慢,还影响它找到的是哪个解。

模型预测控制是最常见的用途。在每个控制周期,控制器在一个时域上求解优化问题,而这个时域与上一个几乎完全重叠,因此把上一个解向前平移一个时间步并延长最后一步后,它就已经接近新的最优解。以这种方式热启动常常能把每个周期的求解减少到几次迭代;Diehl 及其同事提出的实时迭代方案更进一步,每个周期只执行一次序列二次规划迭代。MPPI 和交叉熵方法等基于采样的控制器,则通过重用上一次的平均控制序列来进行热启动。

热启动的帮助有多大取决于求解器。有效集方法(例如 qpOASES 中的方法)以及一阶方法(例如 ADMM 求解器 OSQP)受益很大,因为一个相近的原始与对偶猜测或一个正确的有效集能让它们很快完成。内点法较难热启动,因为它们需要迭代点严格位于可行域内部,远离约束边界,而以往的解通常恰好位于这些边界上。在离线轨迹优化中,热启动可以来自更简单的模型、更粗的离散化、问题的松弛版本、存储的解库,或经过训练以预测良好初始猜测的神经网络。物理引擎同样会用上一步的冲量来热启动迭代式接触求解器。在机器学习中,这个术语也用于指从先前训练好的模型开始初始化训练。

为何重要

基于优化的实时控制器以数十到数千赫兹的频率运行,它们之所以通常能达到这样的频率,正是因为每次求解都从接近答案的地方开始。在离线规划中,一个好的热启动常常决定了求解器是收敛到合理的运动,还是失败或找到一个糟糕的局部极小值。

主要应用

  • 腿式机器人、无人机和操作臂上的实时模型预测控制
  • 接触隐式与非线性轨迹优化
  • 全身控制中一系列相关的二次规划
  • 物理引擎中的迭代式接触求解器
  • 用于快速运动规划的学习型初始猜测

实际应用

一台腿式机器人以 100 Hz 运行非线性 MPC。每次求解后,控制器保存最优的状态和输入轨迹以及乘子。在下一个周期,它把这些量平移一步,复制最后一步来填补时域末端,用新测得的状态替换第一个状态,并把结果作为初始猜测传给求解器。这样,典型的求解只需两三次迭代,而不是二十次。工程师还处理了热启动失效的情况:在受到大的推力或切换步态之后,平移得到的猜测离新的最优解很远,因此控制器会退回到该步态的一条存储的标称轨迹,并允许该周期进行更多次迭代。

常见误解

  • 热启动只是用来加速 — 对于非凸问题,它还决定了找到哪个局部最优解,因此糟糕的热启动可能会把求解器锁定在一个差的解上
  • 任何求解器都同样受益 — 有效集方法和一阶方法受益最大;内点法受益较少,可能需要特殊处理
  • 热启动只需要先前的决策变量 — 同时提供对偶变量或有效集,对快速收敛往往同样重要
  • 先前的解总是一个好的猜测 — 在大的扰动、模式切换或目标改变之后,它可能离新的最优解很远,需要有后备方案

谁需要了解

  • 模型预测控制工程师
  • 轨迹优化开发者
  • 腿式运动与无人机控制工程师
  • 机器人领域的数值优化从业者

相关技术

  • OSQP
  • qpOASES
  • IPOPT
  • acados
  • CasADi
  • 实时迭代方案(Real-Time Iteration Scheme)

相关术语

  • Model Predictive Control
  • Direct Collocation
  • Differential dynamic programming
  • Trajectory Planning
  • Model Predictive Path Integral
  • Complementarity Constraint

相关项目

  • GENESIS: World's fastest physics engine: 43M FPS for embodied AI learning
  • Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
  • FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO
  • Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
  • Dora AI: Dataflow middleware for AI robotics applications, built in Rust
  • GTSAM: Factor-graph optimization library powering many modern SLAM backends

本网站需要 JavaScript 才能正常运行。请启用 JavaScript 以浏览我们的开源机器人项目。