精华内容
下载资源
问答
  • 本文针对永磁同步电机运行中存在的混沌现象, 提出一种基于哈密顿函数的永磁同步电机混沌系统鲁棒控制器设计方法. 将永磁同步电机动态模型变换为类Lorenz混沌方程, 在特定参数下, 通过Lyapunov指数和Lyapunov维数的...
  • 这时介于拉格朗日函数和哈密顿函数之间的,叫做罗斯函数。例如假设系统有两个广义坐标 q , ξ q , ξ q,\xi ,现在只想把拉格朗日函数中的 q ˙ q ˙ \dot{q} 换成广义动量,而 ξ ˙ ξ ˙ \dot{\xi} 保留。为此...

    勒让德变换和正则方程

    设有 f(x,y) f ( x , y ) ,则全微分 df(x,y)=udx+vdy d f ( x , y ) = u d x + v d y ,其中 u=f(x,y)/x,v=f(x,y)/y u = ∂ f ( x , y ) / ∂ x , v = ∂ f ( x , y ) / ∂ y 。这里的变量是 x,y x , y 。注意 u u x,y的函数,即 u=u(x,y) u = u ( x , y ) ,从这个式子出发,也可以把函数关系表示为 x=x(u,y) x = x ( u , y ) 。现在希望把变量换成 u u y,也就是说把函数 f(x,y) f ( x , y ) 看做复合函数 f(u,y)=f[x(u,y),y] f ( u , y ) = f [ x ( u , y ) , y ] ,构造函数 g(u,y)=f(u,y)ux(u,y) g ( u , y ) = f ( u , y ) − u x ( u , y ) ,则 dg(u,y)=dfxduudx=vdyxdu d g ( u , y ) = d f − x d u − u d x = v d y − x d u ,上式就成功地把变量换成了 u u y,有 g(u,y)/y=v,g(u,y)/u=x ∂ g ( u , y ) / ∂ y = v , ∂ g ( u , y ) / ∂ u = − x 。这就是勒让德变换,通过修改被全微分的函数,来把全微分式中 udx u d x 换成 xdu x d u

    位形空间中的拉格朗日函数 L(q,q˙,t) L ( q , q ˙ , t ) q q q˙为自由变量,现在想把 q˙ q ˙ 换成对应的动量 p=L/q˙ p = ∂ L / ∂ q ˙ ,让自由变量变成 q q p。先求其全微分

    dL(q,q˙,t)=k(Lqkdqk+Lq˙kdq˙k)+Ltdt d L ( q , q ˙ , t ) = ∑ k ( ∂ L ∂ q k d q k + ∂ L ∂ q ˙ k d q ˙ k ) + ∂ L ∂ t d t
    按照广义动量的定义
    pk=Lqk˙ p k = ∂ L ∂ q k ˙
    和拉格朗日方程
    pk˙=ddtLqk˙=Lqk p k ˙ = d d t ∂ L ∂ q k ˙ = ∂ L ∂ q k
    代入拉格朗日函数的全微分式中,得到
    dL(q,q˙,t)=k(p˙kdqk+pkdq˙k)+Ltdt d L ( q , q ˙ , t ) = ∑ k ( p ˙ k d q k + p k d q ˙ k ) + ∂ L ∂ t d t
    上式中扮演自变量身份的还是 qk,q˙k,t q k , q ˙ k , t 三者,现在希望把上式中的 pkdq˙k p k d q ˙ k 换成 q˙kdpk q ˙ k d p k ,从而把自变量换成 qk,pk,t q k , p k , t 三者。为此使用勒让德变换,构造新函数
    H(p,q,t)=kpkq˙kL(q,q˙,t) H ( p , q , t ) = ∑ k p k q ˙ k − L ( q , q ˙ , t )
    求上式全微分得到
    dH(p,q,t)=k(q˙kdpkp˙kdqk)Ltdt d H ( p , q , t ) = ∑ k ( q ˙ k d p k − p ˙ k d q k ) − ∂ L ∂ t d t
    这就是说
    HpkHqk(Ht)p,q=q˙k=p˙k=(Lt)q˙,q ∂ H ∂ p k = q ˙ k ∂ H ∂ q k = − p ˙ k ( ∂ H ∂ t ) p , q = − ( ∂ L ∂ t ) q ˙ , q
    这个新函数 H H 和拉格朗日力学中的广义能量函数一样,但是这里把它写作p,q,t的函数(相空间),而非 q,q˙,t q , q ˙ , t 的函数(位形空间),所以这里 H H 称为哈密顿函数。前两个式子就是哈密顿正则方程。

    罗斯函数

    上面利用勒让德变换把所有的广义速度q˙k换成了广义动量 pk p k ,但是有时候只希望一部分广义坐标对应的广义速度被替换,而另一部分仍保留广义速度。这时介于拉格朗日函数和哈密顿函数之间的,叫做罗斯函数。例如假设系统有两个广义坐标 q,ξ q , ξ ,现在只想把拉格朗日函数中的 q˙ q ˙ 换成广义动量,而 ξ˙ ξ ˙ 保留。为此构造罗斯函数

    R(q,p,ξ,ξ˙)=pq˙L R ( q , p , ξ , ξ ˙ ) = p q ˙ − L
    求其全微分为
    dR(q,p,ξ,ξ˙)=p˙dqpdq˙LξdξLξ˙dξ˙+q˙dp+pdq˙=q˙dpp˙dqLξdξLξ˙dξ˙ d R ( q , p , ξ , ξ ˙ ) = − p ˙ d q − p d q ˙ − ∂ L ∂ ξ d ξ − ∂ L ∂ ξ ˙ d ξ ˙ + q ˙ d p + p d q ˙ = q ˙ d p − p ˙ d q − ∂ L ∂ ξ d ξ − ∂ L ∂ ξ ˙ d ξ ˙
    这表明
    Rq=p˙,Rp=q˙Rξ=Lξ,Rξ˙=Lξ˙ ∂ R ∂ q = − p ˙ , ∂ R ∂ p = q ˙ ∂ R ∂ ξ = − ∂ L ∂ ξ , ∂ R ∂ ξ ˙ = − ∂ L ∂ ξ ˙
    前两式正是 q q 这个广义坐标对应的哈密顿正则方程。把后两式代入ξ的拉格朗日方程中,有
    ddtRξ˙Rξ=0 d d t ∂ R ∂ ξ ˙ − ∂ R ∂ ξ = 0
    所以如果只对希望变换的广义速度进行勒让德变换,则得到的结果就是罗斯函数,罗斯函数对于已经变换的广义坐标,得到的运动方程是哈密顿正则方程形式,对于还未变换的广义坐标,得到的还是拉格朗日方程形式。如果坐标 q q 是循环坐标,则原拉格朗日函数不显含q,则上面罗斯函数不显含 q q ,又因为循环坐标,从而p为常数,由此上面的方程只是关于 ξ ξ 的微分方程,循环坐标完全被消去,比 ξ ξ 的拉格朗日方程要简单。

    泊松括号和力学量随时间的变化

    设力学量 f(p,q,t) f ( p , q , t ) ,则关于时间全导数为

    dfdt=ft+k(fpkp˙k+fqkq˙k) d f d t = ∂ f ∂ t + ∑ k ( ∂ f ∂ p k p ˙ k + ∂ f ∂ q k q ˙ k )
    又因为 q˙k=H/pk,p˙k=H/qk q ˙ k = ∂ H / ∂ p k , p ˙ k = − ∂ H / ∂ q k 所以
    dfdt=ft+k(HpkfqkHqkfpk) d f d t = ∂ f ∂ t + ∑ k ( ∂ H ∂ p k ∂ f ∂ q k − ∂ H ∂ q k ∂ f ∂ p k )
    定义泊松括号为
    [F,G]=k(FpkGqkFqkGpk) [ F , G ] = ∑ k ( ∂ F ∂ p k ∂ G ∂ q k − ∂ F ∂ q k ∂ G ∂ p k )
    dfdt=ft+[H,f] d f d t = ∂ f ∂ t + [ H , f ]
    这就是力学量随时间的变化。如果函数 f f 不显含时间t,则 f f 守恒的充要条件是[H,f]=0

    作用量函数

    最小作用量原理说的是在时刻 t=t1 t = t 1 和时刻 t=t2 t = t 2 ,系统的位置由两组坐标 q(1) q ( 1 ) q(2) q ( 2 ) 确定,那么系统在这两个位置之间的运动使得作用量

    S=t2t1L(q,q˙,t)dt S = ∫ t 1 t 2 L ( q , q ˙ , t ) d t
    取最小值。即 δS=0 δ S = 0

    q(t) q ( t ) 使得作用量 S S 取最小值,现在给q(t)一个变分 δq(t) δ q ( t ) ,变分 δq(t) δ q ( t ) 满足 δq(t1)=δq(t2)=0 δ q ( t 1 ) = δ q ( t 2 ) = 0 ,从而系统始末状态不变,只是运动轨迹变化。则使用 q(t)+δq(t) q ( t ) + δ q ( t ) 代替 q(t) q ( t ) S S 带来的变分为

    δS=δt1t2L(q,q˙,t)dt=t1t2(Lqδq+Lq˙δq˙)dt
    由于是等时变分,所以 δq˙=d(δq)/dt δ q ˙ = d ( δ q ) / d t ,分部积分可得

    δS=Lq˙δqt2t1+t2t1(LqddtLq˙)δqdt δ S = ∂ L ∂ q ˙ δ q | t 1 t 2 + ∫ t 1 t 2 ( ∂ L ∂ q − d d t ∂ L ∂ q ˙ ) δ q d t

    现在重新考虑作用量,让积分沿着真实的运动路径,只固定 t=t1 t = t 1 对应的 q(1) q ( 1 ) 这一端,而让在 t=t2 t = t 2 时刻的 q(t2) q ( t 2 ) 通过不同的位置,这样作用量 S S 就是t=t2时刻通过的不同位置的函数。观察上面 δS δ S 的式子,由于沿着真实的运动路径,上式积分为零,而第一项的下限有 δq(t1)=0 δ q ( t 1 ) = 0 所以有

    δS=ipiδqi δ S = ∑ i p i δ q i
    其中 δqi δ q i t=t2 t = t 2 时的 δqi(t) δ q i ( t ) pi p i 是对应的广义动量。上式表明,若如此重新考虑作用量,则有
    Sqi=pi ∂ S ∂ q i = p i
    这是固定两端时间 t=t1,t=t2 t = t 1 , t = t 2 和一端状态 q(t1) q ( t 1 ) ,而让另一端的状态 q(t2) q ( t 2 ) 变动的情况;同样的,还可以这样重新考虑作用量,固定两个状态 q(t1) q ( t 1 ) q(t2) q ( t 2 ) ,以及一端的时间 t=t1 t = t 1 ,而让另一端时间 t2 t 2 变动(简记为 t t ),则可设想,也会存在一个S/t,它的具体表达式求法如下:将 S S 看做末端的坐标和时间的函数,则有
    dSdt=St+iSqiq˙i=St+ipiq˙i
    另一方面,按照作用量的定义,有 dS/dt=L d S / d t = L ,两式对比,则有
    St=Lipiq˙i=H ∂ S ∂ t = L − ∑ i p i q ˙ i = − H
    所以如此定义的作用量的全微分可以写作
    dS=ipidqiHdt d S = ∑ i p i d q i − H d t
    这里的作用量 S S 是末端坐标和时间的函数,又叫做哈密顿主函数。

    正则变换

    s个广义坐标 qi q i 做变换, Qi=Qi(q,t) Q i = Q i ( q , t ) ,则 s s Qi仍然是广义坐标,从而拉格朗日方程仍然成立(因为拉格朗日方程不依赖于广义坐标的选取),这种变换称为点变换。在哈密顿力学中, p,q p , q 都是平等的独立变量,因此变换还可以推广到 2s 2 s 个,即从 p,q p , q 到新变量 P,Q P , Q

    Qi=Qi(p,q,t),Pi=Pi(p,q,t) Q i = Q i ( p , q , t ) , P i = P i ( p , q , t )
    但是作该变换以后,运动方程不一定具有正则形式:
    Q˙i=HPi,P˙i=HQi Q ˙ i = ∂ H ′ ∂ P i , P ˙ i = − ∂ H ′ ∂ Q i
    而运动方程能保持这种结构的变换称之为正则变换。可见正则变换是需要一定条件的。这个条件就是
    dF=ipidqiiPidQi+(HH)dt d F = ∑ i p i d q i − ∑ i P i d Q i + ( H ′ − H ) d t
    其中 Pi,Qi P i , Q i 是正则变换, H H ′ 是变换后的哈密顿函数, F F 是一个关于新老坐标、时间的函数,称之为变换的母函数。也就是说一个变换如果是正则变换,则上式的右端一定是某个函数的全微分。由上式可以看出
    pi=Fqi,Pi=FQi,H=H+Ft
    这里的母函数 F=F(q,Q,t) F = F ( q , Q , t ) ,也可以采用勒让德变换把母函数变成 q,P q , P t t 的函数,为此把上面F的全微分 dF d F 换成 d(F+iPiQi) d ( F + ∑ i P i Q i ) 得到
    d(F+iPiQi)=ipidqiiQidPi+(HH)dt d ( F + ∑ i P i Q i ) = ∑ i p i d q i − ∑ i Q i d P i + ( H ′ − H ) d t
    上式表明左端是一个关于 q,P,t q , P , t 的函数,这个母函数记为 Φ(q,P,t) Φ ( q , P , t ) ,显然有
    pi=Φqi,Qi=ΦPi,H=H+Φt p i = ∂ Φ ∂ q i , Q i = ∂ Φ ∂ P i , H ′ = H + ∂ Φ ∂ t
    需类似地母函数还有两个,一共四类母函数。

    要注意的是,进行正则变换以后,哈密顿函数的形式会发生变化,上式最后一个式子表明母函数对时间的偏导数给出新老哈密顿函数的差值,如果选取的母函数不显含时间,则只需要将原哈密顿函数中的 p,q p , q 代换成 P,Q P , Q 即可。

    因为在一个正则变换 Qk=Qk(p,q,t) Q k = Q k ( p , q , t ) 中,即有动量参与,也有坐标参与,所以变换后的 Q,P Q , P 不在具有动量或坐标的意义,无法进行区分,所以称为正则共轭变量。另外,正则变换不改变泊松括号,即

    [f,g]p,q=[f,g]P,Q [ f , g ] p , q = [ f , g ] P , Q

    最后, p,q p , q 的随时间的演化也可以归结为一种正则变换,变换的母函数就是 S − S 。前面说,初始固定而末端变动的作用量函数 S S 是末端时间和坐标的函数S=S(q,t),由此有作用量函数的全微分

    dS=ipidqiHdt d S = ∑ i p i d q i − H d t
    现在如果让初始端也变动(但固定时间差 τ τ ),则作用量函数 S S 是初始状态qt、初始时刻 t t 、末尾状态qt+τ三者的函数,且明显有全微分式
    dS=i(pt+τdqt+τptdqt)(Ht+τHt)dt d S = ∑ i ( p t + τ d q t + τ − p t d q t ) − ( H t + τ − H t ) d t
    对比第一类母函数,可以发现 S − S 是从 qt,pt q t , p t qt+τ,pt+τ q t + τ , p t + τ 的正则变换母函数。

    哈密顿-雅克比方程

    对于末端变化的作用量函数,前面已经得出

    St+H(q,p,t)=0Sqi=pi ∂ S ∂ t + H ( q , p , t ) = 0 ∂ S ∂ q i = p i
    将后一式的 pi p i 代入前一式的哈密顿函数中去,得到
    St+H(q1,,qs;Sq1,,Sqs;t)=0 ∂ S ∂ t + H ( q 1 , ⋯ , q s ; ∂ S ∂ q 1 , ⋯ , ∂ S ∂ q s ; t ) = 0
    称为哈密顿-雅克比方程。观察该方程,它是一个偏微分方程,求微分的函数是 S(q,t) S ( q , t ) ,自变量是 qi q i 和时间 t t ,而且是一阶的偏微分方程。考虑方程的全积分,应该含有s+1个任意常数,由于 S(q,t) S ( q , t ) 仅以其导数的形式出现在方程中,所以这 s+1 s + 1 个任意常数中必然有一个是相加的:
    S=f(t,q1,,qs;α1,,αs)+A S = f ( t , q 1 , ⋯ , q s ; α 1 , ⋯ , α s ) + A
    其中 α1,,αs α 1 , ⋯ , α s A A 是这s+1个任意常数。现在用 αi α i 作为 s s 个新动量,用f作为正则变换的母函数,则该母函数是第二类母函数。设正则变换带来的新坐标为 β1,,βs β 1 , ⋯ , β s ,则按照正则变换,有
    pi=fqi,βi=fαi,H=H+ft p i = ∂ f ∂ q i , β i = ∂ f ∂ α i , H ′ = H + ∂ f ∂ t
    只看上面最后一个式子, ft=St=H ∂ f ∂ t = ∂ S ∂ t = − H 所以变换后的哈密顿函数 H=0 H ′ = 0 ,从而根据哈密顿正则方程,有
    α˙i=0αi=constβ˙i=0βi=const α ˙ i = 0 ⇒ α i = const β ˙ i = 0 ⇒ β i = const
    再回来看第二个式子(其实是 s s 个式子)
    βi=fαi
    可以将 s s 个坐标qi用时间 t t 2s个常数 αi,βi α i , β i 表示出来。所以哈密顿-雅克比方程也像拉格朗日方程或者哈密顿正则方程一样成为求解问题的基础方程。

    展开全文
  • 本章基于变分法所推出的哈密尔顿函数法,2、讨论了积分方程约束的转化、控制+状态等式约束的一阶必要条件。3、控制分段连续、状态存在内点约束等情况下的角点条件,给出了协态变量和哈密尔顿函数在内点处不连续的...

    前面我在第二章最优控制理论 二、哈密尔顿函数法给出了Hamilton函数法一些重要推导过程和一些常用公式。最近翻看,觉得写得太多了,于是把一部分不重要的贴到下面,另成一篇。

    2. 其他等式约束的转化

    3部分我们只考虑了终端等式约束,但是实际的动力学和控制问题里常有其他类型的等式约束,如

    • 积分方程约束 ∫ 0 t f N ( x ( t ) , u ( t ) , t ) d t = β \int_0^{t_f}N(x(t),u(t),t)\text d t=\beta 0tfN(x(t),u(t),t)dt=β
    • 控制输入的约束 N ( u ( t ) , t ) = 0 N(u(t),t)=0 N(u(t),t)=0
    • 控制输入和状态变量的等式约束 N ( x ( t ) , u ( t ) , t ) = 0 N(x(t),u(t),t)=0 N(x(t),u(t),t)=0

    下面可以证明,以上这些等式约束都可以用Hamilton函数法解决。

    2.1 积分方程约束

    ∫ 0 t f N ( x ( t ) , u ( t ) , t ) d t = β ∈ R q (积分方程约束) \int_0^{t_f}N(x(t),u(t),t)\text d t=\beta\in\Reals^q\tag{积分方程约束} 0tfN(x(t),u(t),t)dt=βRq()引入扩充的状态变量 y ( t ) ∈ R q y(t)\in\Reals^q y(t)Rq且它满足
    y ˙ = N ( x , u , t ) y ( 0 ) = 0 , y ( t f ) = ∫ 0 t f N ( x ( t ) , u ( t ) , t ) d t β (2) \dot y=N(x,u,t)\\ y(0)=0,y(t_f)=\int_0^{t_f}N(x(t),u(t),t)\text d t\beta\tag{2} y˙=N(x,u,t)y(0)=0,y(tf)=0tfN(x(t),u(t),t)dtβ(2)

    则把上面这个积分方程约束化为终端状态约束,两个方程等价。仍可套用终端状态约束的框架,需要注意由于状态扩充为 n + q n+q n+q维;并多了 q q q个Lagrange乘乘数,加上原来的 m m m个,共有 m + q m+q m+q个终端约束和 m + q m+q m+q个未知的Lagrange乘数。

    2.2 控制变量和状态变量等式约束

    设状态变量和等式约束具有以下形式:
    N ( x ( t ) , u ( t ) , t ) = 0 , t 0 < t < t f (状态+控制等式约束) N(x(t),u(t),t)=0,t_0\lt t\lt t_f\tag{状态+控制等式约束} N(x(t),u(t),t)=0,t0<t<tf(+)对这个q维的等式约束,引入Lagrange乘子 μ ( t ) ∈ R q \mu(t)\in\Reals^q μ(t)Rq,并且Hamilton函数变成:
    H ≜ L + λ T f + μ T N (3) H\triangleq L+\lambda^{\mathrm T}f+\mu^{\mathrm T}N\tag 3 HL+λTf+μTN(3)相应地,协态方程和控制方程都要变:
    λ ˙ = − ∂ H ∂ x = − L x − λ T f x − μ T N x ∂ H ∂ u = L u + λ T f u + μ T N u = 0 \dot\lambda=-\frac{\partial H}{\partial x}=-L_x-\lambda^{\mathrm T}f_x-\mu^{\mathrm T}N_x \\ \frac{\partial H}{\partial u}=L_u+\lambda^{\mathrm T}f_u+\mu^{\mathrm T}N_u =0 λ˙=xH=LxλTfxμTNxuH=Lu+λTfu+μTNu=0

    可见等式约束问题的处理方式都是一样的。
    另外,纯控制变量约束 N 1 ( u ( t ) , t ) = 0 N_1(u(t),t)=0 N1(u(t),t)=0和状态变量等式约束 N 2 ( x ( t ) , t ) = 0 N_2(x(t),t)=0 N2(x(t),t)=0,都属于控制变量+状态变量等式约束的一种,可以直接套用上述方法。

    3. 内点约束与角点条件

    前面的假设是控制 u ( t ) u(t) u(t)和状态变量 x ( t ) x(t) x(t)都在 t 0 < t < t f t_0\lt t\lt t_f t0<t<tf区间段连续可导,但是由于种种限制,往往很难做到这一点。下面我们来考虑协态变量 λ ( t ) \lambda(t) λ(t)和Hamilton函数的连续性和可导性。

    角点处的必要条件

    前面的最优路径都假设极值曲线 x ∗ ( t ) x^*(t) x(t)是连续可导的,但最优控制问题中由于动力学层面的约束使得理论上的最优轨迹连续但不是处处可导的,而是在某些角点出现:
    x ( t 1 − ) = x ( t 1 + ) ; x ˙ ( t 1 − ) ≠ x ˙ ( t 1 + ) x(t_1^-)=x(t_1^+); \dot x(t_1^-)\neq\dot x(t_1^+) x(t1)=x(t1+);x˙(t1)=x˙(t1+)
    如下图所示的曲线
    角点按照变分原理,由于极值曲线分段可导,则轨线分段满足Euler方程,
    L x − d d t L x ˙ = 0 , t ∈ [ 0 , t 1 ) ⋃ ( t 1 , t f ] L_x-\frac{\text d}{\text d t}L_{\dot x}=0,t\in[0,t_1)\bigcup(t_1,t_f] LxdtdLx˙=0t[0,t1)(t1,tf]

    此外在角点处还满足必要条件:
    L x ˙ ( t 1 − ) = L x ˙ ( t 1 + ) L ( t 1 − ) − x ˙ T L x ˙ ( t 1 − ) = L ( t 1 + ) − x ˙ T L x ˙ ( t 1 + ) (13) \begin{aligned} L_{\dot x}(t_1^-)&=L_{\dot x}(t_1^+)\\ L(t_1^-)-\dot\mathbf x^TL_{\dot x}(t_1^-)&=L(t_1^+)-\dot\mathbf x^TL_{\dot x}(t_1^+) \tag{13} \end{aligned} Lx˙(t1)L(t1)x˙TLx˙(t1)=Lx˙(t1+)=L(t1+)x˙TLx˙(t1+)(13)

    这个条件称为Weierstrass-Erdmann条件。
    基于这个条件,可以以下内容讨论了Hamilton函数法求解最优控制时,有关状态变量、协态变量、Hamilton函数的连续性问题。

    3.1 u ( t ) \mathbf u(t) u(t)分段连续时的角点条件

    控制 u ( t ) \mathbf u(t) u(t)分段连续时,控制方程 ∂ H ∂ u ( t ) = 0 \frac{\partial H}{\partial \mathbf u(t)}=0 u(t)H=0对它分段成立,   t i ∈ ( 0 , t f ) , i = 1 , … , n \ t_i\in(0,t_f),i=1,\dots,n  ti(0,tf),i=1,,n,如下图:
    在这里插入图片描述

    .若定义Hamilton函数 H ≜ L + λ T f H\triangleq L+\lambda^{\mathrm T}f HL+λTf,由角点处的Weierstrass-Erdmann条件,在每一个 t i t_i ti处都有条件
    λ ( t i − ) = λ ( t i + ) H ∣ t i − = H ∣ t i + (4) \begin{aligned} \lambda({t_i-})&=\lambda({t_i+})\\ \left.H\right|_{{t_i-}} &=\left.{H}\right|_{t_i+} \\ \end{aligned}\tag 4 λ(ti)Hti=λ(ti+)=Hti+(4)

    Hamilton函数连续,且协态变量连续

    3.2 x ( t ) \mathbf x(t) x(t)分段连续时的内点约束

    若状态变量 x ( t ) x(t) x(t)分段连续 x ( t i − ) = x ( t i + ) \mathbf x(t_i-)=\mathbf x(t_i+) x(ti)=x(ti+),但在某些点有内点条件(Interior-Point constraints,Internal Constraints),典型案例如动力学方程是多阶段拼接而成的情况。本小节来自[2]中3.5节:
    ψ ( i ) ( x ( t i ) , t i ) = 0 , ψ ( i ) ∈ R q i , t 0 < t i < t f , i = 1 , 2 , ⋯   , N \psi^{(i)}(\mathbf x(t_i),t_i)=0,\quad\psi^{(i)}\in\Reals^{q_i}, t_0\lt t_i\lt t_f,i=1,2,\cdots,N ψ(i)(x(ti),ti)=0,ψ(i)Rqi,t0<ti<tf,i=1,2,,N

    以上这个式子可以表达内点状态指定的条件,即 x i ( t ∗ ) = x i ∗ t 0 < t ∗ < t f , i = { 1 , 2 , … , N } x_{i}\left(t^{*}\right)=x_{i}^{*} \quad t_{0}<t^{*}<t_{f}, \quad i =\{1,2, \ldots, N\} xi(t)=xit0<t<tf,i={1,2,,N}

    此种情况下,在每一个角点处条件是:
    λ ( t i − ) = λ ( t i + ) + μ T ∂ ψ ( i ) ∂ x (5) \lambda(t_i-)=\lambda(t_i+)+\mathbf\mu^{\mathrm T}\frac{\partial \psi^{(i)}}{\partial\mathbf x}\tag {5} λ(ti)=λ(ti+)+μTxψ(i)(5)

    以及内点时间 t i t_i ti服从 H ( t i + ) = H ( t i − ) + μ T ∂ ψ ( i ) ∂ t (6) H(t_i+)=H(t_i-)+\mathbf\mu^{\mathrm T}\frac{\partial\psi^{(i)}}{\partial t}\tag 6 H(ti+)=H(ti)+μTtψ(i)(6)其中 μ ∈ R q i \mu\in\Reals^{q_i} μRqi,对应为该内点约束的Lagrange乘子。以上这个内点约束 ( 5 , 6 ) (5 ,6) (5,6)对于分段连续的状态方程也成立
    x ˙ = { f ( 1 ) ( x ( t ) , u ( t ) , t ) t ∈ [ t 0 , t 1 ] ⋯ f ( q ) ( x ( t ) , u ( t ) , t ) t ∈ ( t q − 1 , t q ] x ( t i − ) = x ( t i + ) , i = 1 , 2 , ⋯   , N \begin{aligned}\dot\mathbf x&=\left\{\begin{matrix}f^{(1)}(\mathbf x(t),u(t),t)&t\in[t_0,t_1]\\ \cdots\\ f^{(q)}(\mathbf x(t),u(t),t)&t\in(t_{q-1},t_q]\\ \end{matrix}\right.\\ &\mathbf x(t_i-)=\mathbf x(t_i+),i=1,2,\cdots,N \end{aligned} x˙=f(1)(x(t),u(t),t)f(q)(x(t),u(t),t)t[t0,t1]t(tq1,tq]x(ti)=x(ti+),i=1,2,,N

    简单来说就是,Hamiltonian和协态变量 λ ( t ) \lambda(t) λ(t)在每一个内点约束附近发生间断

    3.3 x ( t ) \mathbf x(t) x(t)分段不连续时的内点约束

    若状态变量 x ( t ) x(t) x(t)是分段函数,在每一段连续可导,而每一段不连续 x ( t i − ) ≠ x ( t i + ) \mathbf x(t_i-)\neq\mathbf x(t_i+) x(ti)=x(ti+)。典型案例如多脉冲轨道转移。如果这样的系统在某些点有内点条件(Interior-Point constraints),问题描述如[2]中3.7节的截图:
    状态变量分段不连续
    此种情况下,如上一章节所定义的标量函数,
    H ( i ) ≜ L ( i ) + λ T f ( i ) Φ ≜ φ + ∑ j = 0 N [ μ ( i ) ] T ψ ( i ) H^{(i)}\triangleq L^{(i)}+\lambda^{\mathrm T}f^{(i)}\\ \Phi\triangleq \varphi+\sum_{j=0}^{N}[\mu^{(i)}]^{\mathrm T}\psi^{(i)} H(i)L(i)+λTf(i)Φφ+j=0N[μ(i)]Tψ(i)

    间断点处的状态变量不连续,但遵循约束条件;协态变量有:
    λ T ( t i − ) = ∂ Φ ∂ x ( t i − ) ;   i = 1 , … , N λ T ( t i + ) = − ∂ Φ ∂ x ( t i + ) ;   i = 0 , … , N − 1 , (7) \begin{aligned} &\lambda^{T}\left(t_{i}-\right)=\frac{\partial \Phi}{\partial x\left(t_{i}-\right)} ; \ i=1, \ldots, N \\ &\lambda^{T}\left(t_{i}+\right)=-\frac{\partial \Phi}{\partial x\left(t_{i}+\right)} ; \ i=0, \ldots, N-1, \end{aligned}\tag 7 λT(ti)=x(ti)Φ; i=1,,NλT(ti+)=x(ti+)Φ; i=0,,N1,(7)

    如果内点的到达时间未 t i t_i ti指定,还有哈密尔顿函数服从以下 N N N个式子:
    H ( i + 1 ) ( t i + ) = ∂ Φ ∂ t i + H ( i ) ( t i − ) , i = 0 , … , N H^{(i+1)}\left(t_{i+}\right)= \frac{\partial \Phi}{\partial t_{i}}+H^{(i)}\left(t_{i-}\right), \quad i=0, \ldots, N H(i+1)(ti+)=tiΦ+H(i)(ti),i=0,,N

    控制变量由 x ( t ) x(t) x(t) λ ( t ) \lambda(t) λ(t)推导得到。这个问题的实例以及其求解方法可见沈红新博士论文[4]。

    3.4 例1、内点约束问题

    最短时间拦截且飞行中途经过一个点的问题,如下
    min ⁡ θ ( t ) J = t f s.t. { x ˙ = u ,   y ˙ = v u ˙ = a cos ⁡ θ ,   v ˙ = a sin ⁡ θ \min_{\theta(t)}J=t_f\\ \text{s.t.}\left\{\begin{matrix}\dot x=u,\ \dot y=v\\ \dot u=a\cos\theta,\ \dot v=a\sin\theta \end{matrix}\right. θ(t)minJ=tfs.t.{x˙=u, y˙=vu˙=acosθ, v˙=asinθ

    已知初始点状态、落点位置、经过点的位置,即
    x ( 0 ) = [ x ( 0 ) , y ( 0 ) , u ( 0 ) , v ( 0 ) ] T = 0 , N ( x ( t 1 ) , t 1 ) = [ x ( t 1 ) − x 1 y ( t 1 ) − y 1 ] = 0 ,   t 1 ∈ ( 0 , t f ) ψ ( x ( t f ) , t f ) = [ x ( t f ) − x f y ( t f ) ] = 0 \mathbf x(0)=[x(0),y(0),u(0),v(0)]^\mathrm T=0,\\ N(\mathbf x(t_1),t_1)=\begin{bmatrix}x(t_1)-x_1\\ y(t_1)-y_1\end{bmatrix}=0,\ t_1\in(0,t_f)\\ \psi(\mathbf x(t_f),t_f)=\begin{bmatrix}x(t_f)-x_f\\y(t_f)\end{bmatrix}=0 x(0)=[x(0),y(0),u(0),v(0)]T=0,N(x(t1),t1)=[x(t1)x1y(t1)y1]=0, t1(0,tf)ψ(x(tf),tf)=[x(tf)xfy(tf)]=0

    t 1 t_1 t1未知。求最优控制 θ ∗ ( t ) \theta^*(t) θ(t)
    在这里插入图片描述
    首先写出哈密尔顿函数 H = 1 + λ 1 u + λ 2 v + λ 3 a cos ⁡ θ + λ 4 a sin ⁡ θ H=1+\lambda_1u+\lambda_2v+\lambda_3a\cos\theta+\lambda_4a\sin\theta H=1+λ1u+λ2v+λ3acosθ+λ4asinθ,协态方程
    λ ˙ ( t ) = − ∂ H ∂ x = [ 0 0 − λ 1 − λ 2 ] \dot\lambda(t)=-\frac {\partial H}{\partial \mathbf x}=\begin{bmatrix}0\\0\\ -\lambda_1\\-\lambda_2\end{bmatrix} λ˙(t)=xH=00λ1λ2

    控制方程 ∂ H ∂ θ = − λ 3 sin ⁡ θ + λ 4 a cos ⁡ θ = 0 ⇒ tan ⁡ θ ∗ = λ 4 λ 3 \frac{\partial H}{\partial \theta}=-\lambda_3\sin\theta+\lambda_4a\cos\theta=0\\\rArr\tan\theta^*=\frac{\lambda_4}{\lambda_3} θH=λ3sinθ+λ4acosθ=0tanθ=λ3λ4

    可见只要求出协态变量就可以得到最优控制。对终端约束引入拉格朗日乘子 μ ∈ R 2 , Φ = ϕ + μ T ψ \mu\in\R^2,\Phi=\phi+\mu^\mathrm T\psi μR2,Φ=ϕ+μTψ,终端约束与终端时间满足:
    λ ( t f ) = ∂ Φ ∂ x = [ μ 1 , μ 2 , 0 , 0 ] T H ( t f ) + ∂ Φ ∂ t f = 1 + μ 1 u ( t f ) + μ 2 v ( t f ) = 0 \lambda(t_f)=\frac{\partial\Phi}{\partial \mathbf x}=[\mu_1,\mu_2,0,0]^\mathrm T\\ H(t_f)+\frac{\partial \Phi}{\partial t_f}=1+\mu_1u(t_f)+\mu_2v(t_f)=0 λ(tf)=xΦ=[μ1,μ2,0,0]TH(tf)+tfΦ=1+μ1u(tf)+μ2v(tf)=0

    对内点约束引入拉格朗日乘子 π ∈ R 2 \pi\in\R^2 πR2,内点约束满足:
    λ ( t 1 − ) = λ ( t 1 + ) + π T ∂ N ∂ x \lambda(t_{1-})=\lambda(t_{1+})+\pi^\mathrm T\frac{\partial N}{\partial \mathbf x} λ(t1)=λ(t1+)+πTxN

    推导可得
    λ 1 − = λ 1 + + π 1 = μ 1 + π 1 λ 2 − = λ 2 + + π 2 = μ 2 + π 2 \lambda_{1-}=\lambda_{1+}+\pi_1=\mu_1+\pi_1\\ \lambda_{2-}=\lambda_{2+}+\pi_2=\mu_2+\pi_2\\ λ1=λ1++π1=μ1+π1λ2=λ2++π2=μ2+π2

    λ 3 , 4 \lambda_{3,4} λ3,4 t 1 t_1 t1处连续,且可得 θ ( t ) \theta(t) θ(t)连续。由于协态变量是分段的,在两个阶段都不变而 λ 1 , 2 \lambda_{1,2} λ1,2只在 t 1 t_1 t1处跳变,从 t f t_f tf时刻往前推导可以得到
    λ 1 ( t ) = { μ 1 + π 1 t ∈ [ 0 , t 1 ) μ 1 t ∈ ( t 1 , t f ] λ 2 ( t ) = { μ 2 + π 2 t ∈ [ 0 , t 1 ) μ 2 t ∈ ( t 1 , t f ] λ 3 ( t ) = { μ 1 t f + t 1 ( μ 1 + π 1 ) − ( 2 μ 1 + π 1 ) t t ∈ [ 0 , t 1 ) μ 1 ( t f − t ) t ∈ ( t 1 , t f ] λ 4 ( t ) = { μ 2 t f + t 1 ( μ 2 + π 2 ) − ( 2 μ 2 + π 2 ) t t ∈ [ 0 , t 1 ) μ 2 ( t f − t ) t ∈ ( t 1 , t f ] \lambda_1(t)=\begin{cases}\mu_1+\pi_1&t\in[0,t_1)\\ \mu_1&t\in(t_1,t_f]\end{cases}\\ \lambda_2(t)=\begin{cases}\mu_2+\pi_2&t\in[0,t_1)\\ \mu_2&t\in(t_1,t_f]\end{cases}\\ \lambda_3(t)= \begin{cases}\mu_1t_f+t_1(\mu_1+\pi_1)-(2\mu_1+\pi_1)t&t\in[0,t_1)\\ \mu_1(t_f-t)&t\in(t_1,t_f]\end{cases}\\ \lambda_4(t)= \begin{cases}\mu_2t_f+t_1(\mu_2+\pi_2)-(2\mu_2+\pi_2)t&t\in[0,t_1)\\ \mu_2(t_f-t)&t\in(t_1,t_f]\end{cases}\\ λ1(t)={μ1+π1μ1t[0,t1)t(t1,tf]λ2(t)={μ2+π2μ2t[0,t1)t(t1,tf]λ3(t)={μ1tf+t1(μ1+π1)(2μ1+π1)tμ1(tft)t[0,t1)t(t1,tf]λ4(t)={μ2tf+t1(μ2+π2)(2μ2+π2)tμ2(t