CacheMPC引入了一种认证缓存框架,通过复用先前从相似状态计算出的解来加速四足机器人的模型预测控制,并在每次查询时通过后验验证确保可行性和次优性界限。
加速MPC的方法
显式MPC通过离线求解多参数QP,将最优控制律预计算为状态的逐段仿射函数。在线评估简化为状态空间多面体划分中的点定位问题。虽然对于低维系统有效,但区域数量随问题维度呈指数增长,使得在四足控制中常见的13状态MPC问题中完全枚举不切实际。我们的框架可视为显式MPC的在线、基于样本的变体:每个缓存条目是显式律的局部仿射片段,从控制器原本会求解的相同QP中惰性填充,并在查询时仅当后验证书验证后才被接受。
函数近似方法通过监督学习学习从状态到MPC解的映射。MPCNET在MPC演示上训练神经网络并用于在线推理。类似地,迭代学习控制(ILC)方法维护一个由轨迹阶段索引的控制动作库,通过查表而非优化实现更快的执行。这些方法需要离线训练或单独的优化阶段,难以在线适应变化的环境。
TinyMPC通过在ADMM求解器中预计算和缓存矩阵分解来实现加速,避免运行时的昂贵操作。虽然对于固定结构的凸问题有效,但它没有解决在相似状态间复用完整MPC解的更广泛问题。
热启动是一种广泛使用的技术,其中来自上一时间步的解初始化当前问题的求解器。虽然有效减少迭代次数,但当状态在MPC更新之间发生显著变化时,热启动的收益递减,并且仍然需要运行求解器直至完成。
基于缓存和查找的方法
缓存和复用优化解的思想已在各种控制场景中得到探索。在一个参数自适应框架中,由系统参数索引的MPC解被存储以便快速检索。我们的方法不同之处在于,我们使用局部敏感哈希(LSH)按完整操作状态索引并缓存解,在运行期间动态更新缓存,并利用腿式运动特有的接触调度结构。据我们所知,CacheMPC是第一个将基于LSH的缓存与接触调度划分以及每次查询的最优性证书相结合的四足MPC框架。

认证记忆增强MPC
仅当后验证书(根据当前预测问题自身的最优性条件进行评估)确认原始可行性和预算次优性界限时,检索到的控制才被接受。该证书将缓存条目从特征空间中的启发式邻居提升为显式MPC律的已验证局部片段。由于最优控制映射是分段仿射的,且在有效集边界处不连续,特征空间中的近邻可能位于不同的关键区域;每次查询的证书正是为了排除这种情况。
特征向量与通过LSH的候选生成
每个缓存条目由一个特征向量索引,该特征向量压缩了操作相关的状态——为简洁起见,省略了精确的数学公式。
每次查询的证书
给定一个候选控制(从缓存中检索,可能经过敏感性校正),证书以一次矩阵-向量乘法返回两个量,指示可行性和次优性。
有预算的控制器调度
控制器在每个MPC时钟周期强制执行确定性调度。设时钟周期预算划分为离散的时间窗口。在第一个窗口内求解QP;如果求解器在预算内返回,则应用最优控制并将其插入缓存。如果超时,则应用平移后的最后认证可行序列。控制器在每个时钟周期执行此调度。在标准MPC中,步骤(3)的对应部分缺失:超过截止时间的求解器会使控制器没有定义的动作。

有预算压力测试
在单次小跑步态试验中,该调度在刻意设定的严格截止时间下进行了测试。调度在试验的每个时钟周期内均满足墙上时钟预算,且没有摔倒。这是描述性的单次试验证据,展示了时间压力下的行为,并非统计比较。
常见问题
CacheMPC如何确保缓存的解对当前状态有效? 每个检索到的控制都通过后验证书验证,该证书根据当前MPC问题的最优性条件,检查原始可行性和预算次优性界限。
如果MPC求解器超出计算预算怎么办? 有预算的调度会应用平移后的最后认证可行序列,确保即使求解器超时,控制器也始终有定义的动作。
缓存如何随状态空间的维度扩展? CacheMPC使用局部敏感哈希在高维特征空间中高效索引和检索解,避免了显式MPC中区域指数增长的限制。
CacheMPC是否需要离线训练或预先收集数据? 不需要,缓存是在运行期间从控制器原本会求解的同一QP惰性填充的,无需单独的训练或离线优化阶段。
