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