
这张图片展示了最优边值问题(Optimal Boundary-Value Problem,OBVP)的建模和求解过程。主要使用了Pontryagin最小值原理来解决轨迹优化问题,最小化“jerk”(加加速度)的平方积分。下面是图片各部分的详细解释:
1. 建模部分(Modelling)
1.1 优化目标:最小化jerk的平方
图片中的第一个公式表示了代价函数的目标,即最小化“jerk”的平方积分:
其中
- :是所有三维空间(假设为 x、y、z 三个方向)上的总代价。目标是最小化“jerk”的平方和。
- :在每个方向(x、y、z)上最小化 jerk 的平方,即加加速度的平方。
- :表示第 kk 个方向上的 jerk,jerk 是加速度对时间的导数。
- :总的时间跨度。
这个代价函数的含义是希望通过最小化 jerk(加加速度)的平方,来平滑飞行器的轨迹,减少剧烈的加速度变化,从而实现平稳的轨迹。
1.2 状态和输入
接下来的部分定义了系统的状态和控制输入:
- 状态 :在每个方向 k,状态包括位置 、速度 和加速度 ,即 。
- 控制输入 :控制输入即 jerk,即加速度变化率,用 来表示。
这部分表示了飞行器的运动状态和控制变量是如何定义的。系统的状态由位置、速度和加速度组成,而控制输入则是加速度变化的速率。
1.3 系统模型
在这部分中,定义了系统的运动模型:
其中
- :表示状态 sks_k 的变化率,即位置、速度和加速度的导数。
- :表示飞行器的动力学模型,其中位置的导数是速度、速度的导数是加速度、加速度的导数是 jerk(控制输入)。
这个模型将飞行器的状态和控制输入连接起来,描述了飞行器的运动学约束。
2. 求解部分(Solving)
2.1 Pontryagin最小值原理
Pontryagin最小值原理图片中的关键部分是通过Pontryagin最小值原理来求解最优控制问题。通过这个原理,我们可以得到轨迹优化问题的必要条件。
2.2 引入伴随量(Costate)
首先,引入伴随量(也叫costate),用来描述对状态约束的惩罚:
这些伴随量是拉格朗日乘子,它们反映了在优化过程中,系统状态对目标函数的影响程度。
2.3 定义Hamilton函数
接下来,定义了Hamilton函数,这是最优控制问题的核心工具:
- :是Hamilton函数,表示了控制输入 uu(jerk)和状态 ss 以及伴随量 λ\lambda 的加权组合。
- :代表jerk的平方代价。
- :这些项是系统状态(速度、加速度、jerk)与伴随量的内积,表示了与控制输入相关的惩罚项。
Hamilton函数是一个结合了状态、控制输入和伴随量的复合函数,它在求解最优控制问题时发挥着关键作用。
2.4 最优控制的必要条件
根据Pontryagin最小值原理,最优控制问题的解需要满足以下条件:
- 状态方程(正向积分):
s˙∗(t)=f(s∗(t),u∗(t)),s∗(0)=s(0)\dot{s}^*(t) = f(s^*(t), u^*(t)), \quad s^*(0) = s(0)
这是系统的动力学方程,表示最优轨迹 s∗(t)s^*(t) 需要满足初始条件 s∗(0)=s(0)s^*(0) = s(0)。
- 伴随方程(反向积分):
λ˙(t)=−∇sH(s∗(t),u∗(t),λ(t)),λ(T)=−∇sh(s∗(T))\dot{\lambda}(t) = -\nabla_s H(s^*(t), u^*(t), \lambda(t)), \quad \lambda(T) = -\nabla_s h(s^*(T))
伴随量 λ(t)\lambda(t) 是随着时间反向积分的,它表示系统状态在每个时刻对最终代价的影响。
- 最优控制律:
u∗(t)=argminuH(s∗(t),u,λ(t))u^*(t) = \arg \min_u H(s^*(t), u, \lambda(t))
最优控制输入 u∗(t)u^*(t) 是通过最小化 Hamilton 函数 H(s∗(t),u,λ(t))H(s^*(t), u, \lambda(t)) 来得到的。这通常通过求解最小化问题来得到 jerk。
2.5 最优解
通过以上条件,最终我们可以求得最优轨迹 s∗(t)s^*(t)、伴随量 λ(t)\lambda(t) 和最优控制输入 u∗(t)u^*(t)(即最优 jerk)。这个过程通常通过数值方法来求解,例如利用射击法、谱法等。
小结
- 建模部分:通过定义代价函数和系统的运动学方程,将运动规划问题转化为最优边值问题(OBVP)。
- 求解部分:通过Pontryagin最小值原理,引入伴随量并定义Hamilton函数,得到求解最优控制问题的必要条件,最后通过数值方法求解最优轨迹和控制输入。
这种方法广泛应用于机器人、飞行器等的轨迹规划中,尤其适用于需要平滑控制输入和避免过大加速度变化的场合。