反推控制(backstepping)也称为反演控制或反步法,是一种控制理论的技术,在约1990年时由Petar V. Kokotovic等人提出[1][2],针对特殊形式的非线性动力系统设计可以稳定系统的控制器。此一系统是由许多子系统一层一层组成,最内层的子系统不可再简化,可以由其他方式稳定最内层的系统。由于此系统的递归结构,设计者可以以最内层可稳定的系统为启始点,反推新的控制器来稳定较外层的子系统,此程序会一直进行到处理到最外层的外部控制命令为止。因此此方式称为是“反推控制”[3]。
反推控制的设计方式可以针对严格回授型式的系统,提供一种递归方式使其在原点可以稳定。考虑以下型式的动力系统[3]
其中
- ,其中。
- 是纯量。
- u是系统的纯量输入
- 在原点处数值为零(也就是说)
- 是在关注区域内不为零(也就是,在的情形下)
另外假设系统
在原点处有李雅普诺夫稳定性,可以用某种已知的控制方式使得。并且假设针对此稳定子系统,可以其李亚普诺夫函数 。因此x子系统可以由其他方式稳定,利用反推控制可以将其稳定性延展到在外围的。
在x的稳定子系统外围的严格回授型式系统
- 反推控制的控制输入u对状态有最直接的稳定性效果。
- 状态的作用是在状态之前的稳定性控制。
- 此程序会继续,使每一个状态会都会被虚拟的控制信号所稳定。
反推控制会确认用要稳定x子系统的方式,接著再由下一个状态来驱动状态,使其产生可以稳定x的信号。因此此程序是从x的严格回授型式反推往外,一直到设计到最终的控制信号u。
递归控制的作法如下
- 假设较小(低阶)的子系统
- 已经可以用一些控制方式稳定,此控制方式会符合的条件。意思是说,稳定此系统的,是用其他控制方式达成的。也假设已知此一稳定系统的李亚普诺夫函数 。反推控制可以将这个子系统的稳定性拓展到较大的系统。
- 会设计控制信号,使得系统
- 稳定,让依照想要的控制方式进行。此控制器是依照扩充李亚普诺夫候选函数(augmented Lyapunov function candidate)来设计
- 此控制信号可以适当选择,使可以远离0
- 会设计控制信号,使得系统
- 稳定,让依照想要的控制方式进行。此控制器是依照扩充李亚普诺夫候选函数来设计
- 此控制信号 可以适当选择,使可以远离0
- 会反复此一程序,一直到其实际u已知为止,而且
- 真实控制信号u会使接近虚拟控制信号的控制得以稳定。
- 虚拟控制信号会使接近虚拟控制信号的控制得以稳定。
- 虚拟控制信号会使接近虚拟控制信号的控制得以稳定。
- ...
- 虚拟控制信号会使接近虚拟控制信号的控制得以稳定。
- 虚拟控制信号会使接近虚拟控制信号的控制得以稳定。
- 虚拟控制信号会使x稳定在原点。
此程序称为反推(backstepping),因为是从内部稳定的子系统开始,渐渐反推到较外围的系统,同时维持每一步的稳定性。因
- 在时为0
- 在不为0
- 给定控制信号会满足,
因此所得的系统在原点(, , , ..., 及)处稳定,是全域渐进稳定。
Kokotovic, P.V. The joy of feedback: nonlinear and adaptive. IEEE Control Systems Magazine. 1992, 12 (3): 7–17. doi:10.1109/37.165507.
Lozano, R.; Brogliato, B. Adaptive control of robot manipulators with flexible joints. IEEE Transactions on Automatic Control. 1992, 37 (2): 174–181. doi:10.1109/9.121619.