优化是机器人的一个基本组成部分,在控制和仿真等领域的各个方面都有涉及。这两个领域都涉及寻找各种优化问题的最佳解决方案,以获得预期的结果。在解决这些优化问题时,效率是关键。通过快速可靠地找到解决方案,我们可以在硬件上实时执行基于优化的控制器。快速生成大量仿真数据的能力对于离线优化任务也很有价值,如策略优化、协同设计优化和系统识别。机器人控制与仿真中出现的优化问题往往具有结构性。有些问题可以直接归入已经研究过的类别,例如线性二次调节器(LQR),其他控制问题可以归为线性规划(LP)或二次规划(QP)。对于这些类别中的每一个,都存在高效和可靠的求解器。将你的问题归入其中一类通常是一种安全的策略。
然而,存在涉及复杂优化问题的控制和仿真任务,目前还没有令人满意的求解器。本文主要研究这些问题。我们特别感兴趣的是耦合优化问题,其中一个优化问题的解是另一个优化问题的参数。这些耦合优化问题在机器人仿真中自然会出现。例如,接触物理的模拟需要解决最小作用原理和最大耗散原理。第6章和第7章将介绍如何联合求解这两个优化问题。耦合优化问题也经常出现在智能体交互的自动驾驶场景中。事实上,场景中的每辆车或行人都在优化其路径,以尽可能快地重新聚集到目的地,同时避免碰撞。相反,我们可以故意选择将一个复杂的优化问题分解为一组耦合优化问题。在第5章中我们会看到,分解是一种可以显著提高求解器速度和可靠性的策略。在这种情况下,优化问题通过利用可微优化来交换梯度信息。这些选择背后的策略就是我们所说的组合优化。本文主要研究机器人控制与仿真中的几个应用,即博弈论控制、接触控制、物理仿真和碰撞检测。针对这些问题,利用组合优化来利用问题结构并设计高效的求解器。在某些情况下,我们可以将多个问题组合为一个优化问题,而在其他情况下,我们可以将问题分解为更简单的块。这种方法使我们能够以结构化和高效的方式解决更复杂的优化问题。