当前位置:网站首页>数值法求解最优控制问题(〇)——定义
数值法求解最优控制问题(〇)——定义
2022-07-07 18:30:00 【最爱大盘鸡】
基本描述
本篇文章给出最优控制问题的完整描述。
最优控制问题可简述为:对于一个受控系统,在满足约束条件下,寻求最优的控制量使性能指标最小。
数学描述为:寻找控制变量 u ( t ) ∈ R m \boldsymbol{u}(t) \in \mathbb{R}^m u(t)∈Rm,使得性能指标
J = Φ ( x ( t 0 ) , t 0 , x ( t f ) , t f ) + ∫ t 0 t f L ( x ( t ) , u ( t ) , d ) d t J = \Phi (\mathbf{x}(t_0),t_0,\mathbf{x}(t_f),t_f) + \int_{t_0}^{t_f} L(\mathbf{x}(t),\mathbf{u}(t),d) \text{d}t J=Φ(x(t0),t0,x(tf),tf)+∫t0tfL(x(t),u(t),d)dt
最小。
状态变量和控制变量满足如下约束:
x ˙ ( t ) = f ( x ( t ) , u ( t ) , t ) t ∈ [ t 0 , t f ] , ϕ ( x ( t 0 ) , t 0 , x ( t f ) , t f ) = 0 , C ( x ( t ) , u ( t ) , t ) ≤ 0. \begin{matrix} &\boldsymbol{\dot x}(t) = \boldsymbol{f}(\boldsymbol{x}(t),\boldsymbol{u}(t),t) \quad t \in [t_0,t_f], \\ &\phi (\boldsymbol{x}(t_0),t_0,\boldsymbol{x}(t_f),t_f)=0, \\ &\mathbf{C}(\mathbf{x}(t),\mathbf{u}(t),t) \le 0. \end{matrix} x˙(t)=f(x(t),u(t),t)t∈[t0,tf],ϕ(x(t0),t0,x(tf),tf)=0,C(x(t),u(t),t)≤0.
式中, x ( t ) ∈ R n \boldsymbol{x}(t) \in \mathbb{R}^n x(t)∈Rn 为状态变量, u ( t ) ∈ R m \boldsymbol{u}(t) \in \mathbb{R}^m u(t)∈Rm 为控制变量, t 0 t_0 t0 为初始时间, t f t_f tf 为终端时间。
状态变量的边界条件满足:
x ∈ X ⊂ R n , X = { x ∈ R n : x l o w e r ≤ x ≤ x u p p e r } \boldsymbol{x} \in X \subset \mathbb{R}^n, \quad X = \left \{x \in \mathbb{R}^n: x_{lower} \le x \le x_{upper} \right \} x∈X⊂Rn,X={ x∈Rn:xlower≤x≤xupper}
x l o w e r x_{lower} xlower 为状态变量下界, x u p p e r x_{upper} xupper 为状态变量上界。
控制变量的边界条件满足:
u ∈ U ⊂ R m , U = { u ∈ R m : u l o w e r ≤ u ≤ u u p p e r } \boldsymbol{u} \in U \subset \mathbb{R}^m, \quad U = \left \{u \in \mathbb{R}^m: u_{lower} \le u \le u_{upper} \right \} u∈U⊂Rm,U={ u∈Rm:ulower≤u≤uupper}
u l o w e r u_{lower} ulower 为控制变量下界, u u p p e r u_{upper} uupper 为控制变量上界。
上式 Φ , L , f , ϕ , C \mathit{\Phi}, L, \boldsymbol{f}, \phi, \boldsymbol{C} Φ,L,f,ϕ,C 定义为:
Φ : R n × R × R n × R → R , L : R n × R m × R → R , f : R n × R m × R → R n , ϕ : R n × R × R n × R → R q , f : R n × R m × R → R c , \begin{aligned} &\mathit{\Phi}: \ \mathbb{R}^n \times \mathbb{R} \times \mathbb{R}^n \times \mathbb{R} \rightarrow \mathbb{R}, \\ &L: \ \mathbb{R}^n \times \mathbb{R}^m \times \mathbb{R} \rightarrow \mathbb{R}, \\ &\boldsymbol{f}: \ \mathbb{R}^n \times \mathbb{R}^m \times \mathbb{R} \rightarrow \mathbb{R}^n, \\ &\phi: \ \mathbb{R}^n \times \mathbb{R} \times \mathbb{R}^n \times \mathbb{R} \rightarrow \mathbb{R}^q, \\ &\boldsymbol{f}: \ \mathbb{R}^n \times \mathbb{R}^m \times \mathbb{R} \rightarrow \mathbb{R}^c, \\ \end{aligned} Φ: Rn×R×Rn×R→R,L: Rn×Rm×R→R,f: Rn×Rm×R→Rn,ϕ: Rn×R×Rn×R→Rq,f: Rn×Rm×R→Rc,
最优控制中,控制量是时序变化的,其求解结果是若干条曲线。控制曲线确定后,状态曲线可依据微分动力学系统确定。
组成部分
上述最优控制问题一般由四部分组成,分别为:
- 性能指标;
- 控制系统微分方程约束;
- 边界约束;
- 路径约束。
性能指标
性能指标即优化问题中的目标函数,不过在最优控制领域我们叫它为性能指标。性能指标是衡量控制系统优劣的重要标志,一般有三种形式,分别是:
- Mayer型性能指标;
- Lagrange型性能指标;
- Bolza型性能指标。
Mayer型性能指标
又称常值型性能指标,仅考虑控制系统在终端时间点各状态变量、控制变量、时间及其复合关系的指标,如飞行器运动至指定位置所消耗时间(即终端时间)等。数学描述为:
J = Φ ( x ( t 0 ) , t 0 , x ( t f ) , t f ) . J = \Phi (\mathbf{x}(t_0),t_0,\mathbf{x}(t_f),t_f). J=Φ(x(t0),t0,x(tf),tf).
Lagrange型性能指标
又称积分型性能指标,仅强调对整个控制过程的要求,该指标包含对整个时间域内状态变量、控制变量及其复合关系的积分,可表示系统的能量消耗,如控制过程中造成的热量消耗大小等。数学描述为:
J = ∫ t 0 t f L ( x ( t ) , u ( t ) , d ) d t . J = \int_{t_0}^{t_f} L(\mathbf{x}(t),\mathbf{u}(t),d) \text{d}t. J=∫t0tfL(x(t),u(t),d)dt.
Bolza型性能指标
又称复合型性能指标,是Mayer型和Lagrange型的组合,不仅强调终端时刻的系统状态,还强调对控制系统过程的要求。该形式在一定条件下可转化为上述两种形式,所以描述一般最优控制问题性能指标时采用Bolza型性能指标。数学描述为:
J = Φ ( x ( t 0 ) , t 0 , x ( t f ) , t f ) + ∫ t 0 t f L ( x ( t ) , u ( t ) , d ) d t . J = \Phi (\mathbf{x}(t_0),t_0,\mathbf{x}(t_f),t_f) + \int_{t_0}^{t_f} L(\mathbf{x}(t),\mathbf{u}(t),d) \text{d}t. J=Φ(x(t0),t0,x(tf),tf)+∫t0tfL(x(t),u(t),d)dt.
控制系统微分方程约束
优化问题包含多种约束,最优控制问题也是一种特殊的优化问题,它的特殊之处在于约束条件有微分方程存在。
任何控制系统都需要使用微分方程组描述运动过程,例如飞行器受引力和推力作用,结合自身质量变化等特性,建立可描述其运动规律的动力学微分方程;机器人的机械手受力矩作用,结合自身手臂长度、质量、关节等特性,建立可描述其运动规律的动力学微分方程。上述方程可用微分代数方程(Differential Algebraic Equation,DAE)描述,为:
x ˙ ( t ) = f ( x ( t ) , u ( t ) , t ) t ∈ [ t 0 , t f ] . \boldsymbol{\dot x}(t) = \boldsymbol{f}(\boldsymbol{x}(t),\boldsymbol{u}(t),t) \quad t \in [t_0,t_f]. x˙(t)=f(x(t),u(t),t)t∈[t0,tf].
边界约束
控制系统中常常需要给定初始状态或末端状态,如火箭刚发射时的高度、速度等条件(即初始状态),在末端时刻需要指定火箭的高度、速度等条件(即末端状态)。在最优控制问题中,将上述处于某种特定时刻点处的状态称为边界约束。数学描述为:
ϕ ( x ( t 0 ) , t 0 , x ( t f ) , t f ) = 0. \phi (\mathbf{x}(t_0),t_0,\mathbf{x}(t_f),t_f) = 0. ϕ(x(t0),t0,x(tf),tf)=0.
路径约束
控制系统在整个时间区段中必须满足的约束条件被称为路径约束。
路径约束和边界约束的区别是,路径约束发生在整个时间区段中,边界约束发生在特定时刻点上。
常见的路径约束包括:
- 状态变量在整个控制过程的上、下限,如飞行器位置、速度等;
- 控制变量在整个控制过程的上、下限,如电机的输出功率、力矩等;
- 状态变量和控制变量组合而成的函数上、下限,如飞行器或机械手需要确保不能经过某些特定区域。
路径约束的数学描述为:
C ( x ( t ) , u ( t ) , t ) ≤ 0. \mathbf{C}(\mathbf{x}(t),\mathbf{u}(t),t) \le 0. C(x(t),u(t),t)≤0.
总结
至此,便以给出性能指标、控制系统微分方程约束、边界约束和路径约束的数学描述。上述四部分完整定义了最优控制问题。
求解最优控制问题,也就是求解在满足上述三大类约束条件下使性能指标最小的优化问题。
边栏推荐
- 怎样用Google APIs和Google的应用系统进行集成(1)—-Google APIs简介
- 微服务远程Debug,Nocalhost + Rainbond微服务开发第二弹
- About cv2 dnn. Readnetfromonnx (path) reports error during processing node with 3 inputs and 1 outputs [exclusive release]
- Small guide for rapid formation of manipulator (11): standard nomenclature of coordinate system
- Opencv学习笔记 高动态范围 (HDR) 成像
- Vulnhub tre1
- 一键部署Redis任意版本
- Oracle 存储过程之遍历
- Update iteration summary of target detection based on deep learning (continuous update ing)
- 写了个 Markdown 命令行小工具,希望能提高园友们发文的效率!
猜你喜欢
AIRIOT助力城市管廊工程,智慧物联守护城市生命线
PHP method of obtaining image information
Measure the height of the building
Klocwork 代码静态分析工具
Machine learning notes - explore object detection datasets using streamlit
有了ST7008, 蓝牙测试完全拿捏住了
Airiot helps the urban pipe gallery project, and smart IOT guards the lifeline of the city
如何满足医疗设备对安全性和保密性的双重需求?
ISO 26262 - 基于需求测试以外的考虑因素
写了个 Markdown 命令行小工具,希望能提高园友们发文的效率!
随机推荐
ERROR: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your
Micro service remote debug, nocalhost + rainbow micro service development second bullet
Solve the problem of incomplete display around LCD display of rk3128 projector
【哲思与实战】程序设计之道
凌云出海记 | 赛盒&华为云:共助跨境电商行业可持续发展
Data sorting in string
[philosophy and practice] the way of program design
想杀死某个端口进程,但在服务列表中却找不到,可以之间通过命令行找到这个进程并杀死该进程,减少重启电脑和找到问题根源。
POJ 1742 coins (monotone queue solution) [suggestions collection]
Flask1.1.4 werkzeug1.0.1 source code analysis: Routing
How to implement safety practice in software development stage
CIS芯片测试到底怎么测?
写一下跳表
With st7008, the Bluetooth test is completely grasped
解决/bin/sh进去的容器运行可执行文件报not found的问题
使用 BR 备份 TiDB 集群数据到 Azure Blob Storage
Small guide for rapid formation of manipulator (11): standard nomenclature of coordinate system
Network principle (1) - overview of basic principles
Force buckle 599 Minimum index sum of two lists
恢复持久卷上的备份数据