轨迹优化问题

该文用于轨迹优化技术的transcription方法。前几节描述了用于将轨迹优化问题转化为一般约束优化形式的两类transcription方法(shooting methods and simultaneous methods.)。中间部分讨论了对基本方法的一些扩展,包括如何处理混合系统(如行走机器人)。最后一节介绍了各种实现细节。

1 Optimal Control Overview

求解最优控制问题[4]的算法有三种:

  • 动态规划:在整个状态空间上求解Hamilton-Jacobi-Bellman方程。
  • 间接方法:Transcribe problem,然后找到目标的斜率为零的地方。

1.1 轨迹优化问题

轨迹优化问题寻求的是在满足约束条件的同时最小化代价函数的动态系统的轨迹。下面,我给出了一个轨迹优化问题的总体框架。

2 Shooting Methods

Single-shooting可能是transcribing最优控制问题的最简单方法。考虑一下用大炮击中目标的问题。你有两个决策变量(射击角度和火药质量)和一个约束条件(弹道穿过目标)。动力学很简单(抛射运动),代价函数是火药的质量。单次拍摄的方法类似于一个人通过实验所能达到的效果。你猜测一下火药的角度和数量,然后发射大炮。如果你射过了目标,那么也许你会在下次测试中减少火药的质量。通过重复这种方法,你最终将能够击中目标,同时使用尽可能少的粉末。单次射击也是如此,只是用模拟代替了实验。

在更一般的单次射击的情况下,有一个连续的控制输入,你可以选择一个任意的函数来近似输入。一些常见的选择是零阶保持,分段线性,分段三次,或正交多项式。如果控制是用分段函数建模的,那么您必须注意将控制的不连续点与仿真中的积分步骤对齐。

单次拍摄对于简单的问题来说已经足够好了,但是对于更复杂的问题来说,它几乎肯定会失败。这是因为决策变量与目标和约束函数之间的关系不能很好地通过非线性规划求解器使用的线性(或二次)模型来逼近。

多重射击的原理是将一条轨迹分解成若干段,然后使用单次射击对每个段进行求解。随着线段的缩短,决策变量与目标函数和约束之间的关系变得更加线性。在多次拍摄中,一个片段的结束不一定与下一个片段的开始相匹配。这种差异被称为缺陷,它被添加到约束向量中。添加所有的片段将增加决策变量的数量(每个片段的开始)和约束的数量(缺陷)。尽管这看起来可能会使低级优化问题变得更加困难,但实际上却使它变得更加容易。

图2显示了这一差异的漫画

3.2 Orthogonal Collocation

Orthogonal Collocation是一种利用正交多项式逼近状态和控制函数的同时(配置)方法。正交多项式有几个有用的性质。它的关键概念是一个多项式可以用它在某个有限域上的一个特殊 格点集合上的值来表示。当用这种形式表示时,很容易对多项式[1]进行快速、准确的数值插值、微分和积分。

3.3 H vs P scheme

最简单的正交配置形式是将整个轨迹表示为一个单高阶正交多项式。对动力学的约束(无论是积分形式还是导数形式)应用于配置点,这些配置点被选择在正交多项式的根处。然后通过轨迹上的数值求积来计算代价函数,它只是每个配置点上函数值的加权组合。该方法通过增加多项式的阶数(p-方法)来获得收敛性。

如果底层的解是解析的,那么将整个轨迹表示为一个单正交多项式就很好。在许多情况下,这是不正确的,例如当执行器饱和时。在这些情况下,多项式近似在不连续点附近必然失效。一种解决方法是将轨迹表示为一系列中等阶正交多项式。轨迹的每个部分都与缺陷约束缝合在一起,就像在多次射击中一样,并且在给定的段内的动力学是使用配置点的约束来表示的。两个线段相连的点称为结点。这种方法的收敛性是通过增加轨迹段数(h法)来实现的。图3显示了单段和多段正交配置方法的比较。

4 Dealing with Hybrid Systems

混合系统是一个动态系统,它具有多个连续动态阶段,由离散过渡分开。混合系统最简单的例子是一个弹跳球。它有一个单一的连续运动阶段(自由落体)和一个单一的离散过渡(与地面碰撞)。

更复杂的混合系统是一个步行机器人。连续模式的几个例子可能是:

?飞行-双脚都在空中
?双站-双脚都在地上
?单站-双脚都在地上

然后在这些模式之间会有一个离散的过渡。有些过渡不会改变连续状态(例如将一英尺抬离地面),而其他过渡会改变连续状态(脚与地面碰撞)。

处理这种混合系统的一种简单方法便是将它们捆绑在一个大型模拟或动态函数中,并尝试着创造一种简单的转录方法。这几乎肯定会失败。原因是,底层的优化算法通常是一个平滑的,基于梯度的方法(例如。SNOPT、IPOPT FMINCON)。混合系统的离散过渡导致系统的动力学是非光滑的。例如,一个变量中的一个小变化可能导致碰撞发生在不同的时间,这将导致缺陷约束中的一个巨大的变化。

处理混合系统有两种普遍接受的方法:多相法和贯穿接触法。多阶段方法更快、更准确,但它们需要明确地了解转换的顺序。通过接触方法可以处理任意的接触序列,但速度较慢,精确度较低。

这两种方法类似于模拟混合系统的两种不同方法。多相转录类似于利用事件检测模拟有限状态机。通过接触类似于时间步进。

4.1 Multi-Phase Methods

Multi-Phase Methods是对基本的多次拍摄或配置算法的一种较为简单的扩展。首先,用户决定应该出现哪个阶段序列。例如,在行走机器人中,这可能是单站姿(一只脚在地上),然后是双站姿(两只脚在地上)。然后,在每个连续阶段中建立的约束与在一个更简单的问题中完全相同。然后加入一组约束条件,使连续相切换到一起,满足过渡方程。这种方法的一个有趣的副作用是,在运动的每个阶段,系统的状态可能完全不同,只要有某种合理的方式将它们连接起来。这很有用,因为这意味着每组连续动态都可以用最小坐标表示。商用转录程序GPOPS II[11]为使用多阶段方法建立和求解混合系统轨迹提供了一个复杂的接口。

4.2 Through-Contact Methods

Through-Contact Methods是一种完全不同的方法。它们直接处理每个 格点的接触约束,而不是将动力学中的不连续点推到每个阶段之间的特殊约束中。通过接触优化的关键思想是,如果它们是由约束直接处理的,不连续是细化的。这是通过将系统动力学写成基于脉冲的形式来实现的,并且任意地保留接触脉冲(而不是通过假设接触模式来代数地消除它们)。然后将(未知的)接触脉冲作为控制变量,在每个 格点受以下约束:

轨迹优化问题

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览34647 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月25日
下一篇 2022年1月25日

相关推荐