We present an efficient optimization framework that solves trajectory optimization problems by decoupling state variables from timing variables, thereby decomposing a challenging nonlinear programming (NLP) problem into two easier subproblems. With timing fixed, the state variables can be optimized efficiently using convex optimization, and the timing variables can be optimized in a separate NLP, which forms a bilevel optimization problem. The challenge of obtaining the gradient of the timing variables is solved by sensitivity analysis of parametric NLPs. The exact analytic gradient is computed from the dual solution as a by-product, whereas existing finite-difference techniques require additional optimization. The bilevel optimization framework efficiently optimizes both timing and state variables which is demonstrated on generating trajectories for an unmanned aerial vehicle. Numerical experiments demonstrate that bilevel optimization converges significantly more reliably than a standard NLP solver, and analytical gradients outperform finite differences in terms of computation speed and accuracy. Physical experiments demonstrate its real-time applicability for reactive target tracking tasks.
翻译:我们提出了一个高效优化框架,通过将状态变量与时间变量脱钩,解决轨迹优化问题,从而将具有挑战性的非线性编程(NLP)问题分解成两个比较简单的子问题。随着时间的固定,状态变量可以使用 convex优化来优化,而时间变量可以在单独的NLP中优化,形成双级优化问题。通过对参数NLPs的敏感度分析解决了获取时间变量梯度的挑战。精确的解析梯度是从双重解决方案中作为一个副产品计算出来的,而现有的有限差异技术则需要额外优化。双级优化框架有效地优化了在为无人驾驶飞行器生成轨迹时展示的时间和状态变量。数字实验表明,双级优化比标准 NLP 求解答器更可靠得多,分析梯度在计算速度和准确性方面超过一定差异。物理实验表明它实时适用于反应性目标跟踪任务。