ADP-Based Optimal Control for Discrete-Time Systems With Safe Constraints and Disturbances

ADP-Based Optimal Control for Discrete-Time Systems With Safe Constraints and Disturbances,2024, Jun Ye , Hongyang Dong , Yougang Bian , Member, IEEE, Hongmao Qin, and Xiaowei Zhao , Member, IEEE

对受约束和干扰的离散时间系统提出新的ADP方法求解最优控制问题,安全策略迭代方法,将原策略提升转变为具有指定状态代价函数的限制最优化问题,以处理状态和输入限制。actor-ctitic-distutbance框架,处理受输入和状态限制的最优控制问题。抗干扰性的鲁棒安全性视为two-player零和博弈,actor和disturbance神经网络近似最优控制输入和干扰策略disturbance policy。

处理受限制的最优控制问题以保证被控系统的安全,传统ADP寻找最优解过程中难以同时管理状态和控制输入的约束。存在外部扰动导致控制对象偏离安全区域,则必须加以约束来寻求最优控制策略。

输入约束通常与执行器操作限制有关,而状态约束通常与自定义的安全区域有关。控制输入限制可以通过修改效用函数形式或actor网络中加入特定的饱和函数。忽略状态约束可能导致性能不佳,降低实际安全性。软限制指实际情况下一些安全约束通常不严格,但某些安全限制必须保持在安全范围内,因此需权衡安全性和最优性。

提出基于PI的SADP(安全自适应动态规划)方案,考虑状态和控制输入约束寻找最优控制。与其他文献相比将障碍函数(embed barrier functions)加入到性能函数中,以权衡最优性和安全性。

将受扰动的最优控制问题转化为two-player零和博弈问题,在非合作博弈问题下,一般方法仅将干扰视为与最优控制策略相互作用的附加策略,而状态和输入约束在整个博弈过程始终存在。保证寻找受扰动影响的最优控制策略,控制对象偏离安全区域的情形能得到有效约束,分析SADP在干扰作用的收敛特性。

在没有或具有准确的模型信息情况下,突出在处理实际情况下的鲁棒性。通过利用模型信息获得控制对象的未来状态。当面对不可用或不准确的模型信息,利用数据驱动,摆脱对模型的依赖。

值函数或代价函数加入扰动策略
在这里插入图片描述
β \beta β为正常数,表示对干扰的抗性
在这里插入图片描述
考虑扰动的最优控制问题视为two-player零和博弈问题,最坏的干扰为
在这里插入图片描述

为最优性和性能达到平衡,控制输入使用基于实际需求的平滑和饱和函数约束,受约束的控制输入有界。
以往文章中将非二次效用函数关于控制输入的性能函数,能将控制输入限制在安全区域内,但仅与状态惩罚项引入到性能指标以实现安全,但惩罚项是由经验自定义。
安全域定义
在这里插入图片描述
h ( ) ≤ h()\leq h()表示在状态的安全域内,目的是设计最优控制器保证状态甚至在干扰影响下进入非安全域。control barrier function (CBF)函数有效限制安全域内的状态。
在这里插入图片描述
则定义具有广义CBF的安全代价函数
在这里插入图片描述
单步安全约束(即未来步骤不考虑轨迹和边界信息),对那些状态需要受约束或接近安全边界的来说,系统很大程度将进入一个非安全区域。即无法确定下一步在系统上实现合适的控制输入。即使可容许控制策略下,仍然可能在未来步骤中导致不安全。
需要状态约束处理,一个聚合不等式,描述约束处理的要求。在最优控制中加入基于CBF的容许控制作为额外约束。贝尔曼方程求解最优控制,引入迭代松弛变量。受限的最优控制策略可定义为
在这里插入图片描述

动作干扰相关函数分析迭代性
在这里插入图片描述
以上为同策略控制。对零和博弈问题,最优控制策略和最坏干扰同策略
在这里插入图片描述
迭代代价函数、迭代控制和干扰策略
在这里插入图片描述
将代价函数和状态限制线性化,代价函数近似值函数
在这里插入图片描述

受限制代价函数
在这里插入图片描述
代价函数与当前控制策略有关,因为预测的状态约束是从当前控制策略得出。

为使近似策略可行,控制策略更新需受限,定义新策略和旧策略的距离
在这里插入图片描述
并进行近似线性化
在这里插入图片描述

PIM策略提升过程描述
在这里插入图片描述

Lemma1给出在固定控制策略、干扰控制策略和迭代代价函数下,其迭代代价函数将会收敛到最优。证明内部迭代满足单调不增。代价函数/值函数有界。
在这里插入图片描述
Theorem1给出受限制最优控制,迭代值函数、迭代控制和权重下,收敛到最优值。证明迭代值函数单调不增,PIM过程,设计的最小化迭代代价函数,具有可容许控制策略和最坏扰动策略。
为得到具限制代价函数,状态变量与系统模型信息应该传递到N步骤
在这里插入图片描述
多步法实施可提高成本函数评价的准确性和速度。

评价网络近似代价函数, W ^ i , j c \hat{W}_{i,j}^c W^i,jc表示内层循环和外层循环的隐藏层和输出层的权重, Y c Y_c Yc表示隐藏层和输入层的权重向量。
在这里插入图片描述
动作网络近似。 ζ ( ⋅ ) \zeta\left(\cdot\right) ζ()为外层网络的非线性激活函数
在这里插入图片描述
线性化的近似误差,可能不产生合适更新,不符合状态约束的控制策略。
将PIM策略提升过程修改为,对其可行域不存在,需要放宽条件
在这里插入图片描述

干扰网络(disturbance network)近似最坏的干扰策略
在这里插入图片描述
梯度下降,更新干扰网络的权重
在这里插入图片描述
受限制的代价函数网络
在这里插入图片描述
以下为考虑干扰,提出的SADP框架
在这里插入图片描述
给出近似误差,更新权重矩阵
在这里插入图片描述
Algorithm1给出SADP算法,初始化可容许控制策略和权重,数据集和学习率等,迭代实现PEV和PIM更新权重和受限代价函数。
在这里插入图片描述

模型信息准确时,进可推出控制对象的未来状态;模型信息不准确或不可用时,数据驱动法,控制对象与环境交互,根据数据学习最优控制策略。传统的CBF方法需要准确的模型信息设计安全约束,在模型信息不准确时会导致性能不佳或安全问题。

展望:model-free 离线策略SADP算法,考虑干扰下的最优控制问题

### 解决方案 在FPGA设计中,`Sub-optimal placement for a clock-capable IO pin and MMCM` 错误通常表示时钟引脚和MMCM之间的物理位置不理想,这可能导致信号延迟增加或性能下降。以下是针对此问题的具体解决方案: #### 1. **确认时钟引脚的选择** - 确保所选的时钟引脚支持全局时钟功能,并且位于靠近可用MMCM资源的区域[^1]。可以通过I/O规划工具查看哪些引脚具有MRCC标志(多路复用参考时钟),这些引脚通常是最佳候选者。 #### 2. **调整约束文件中的引脚分配** - 如果当前选择的时钟引脚导致次优布局,则可以尝试更换到其他更接近目标MMCM资源的引脚。通过XDC文件重新定义引脚映射,例如: ```tcl set_property PACKAGE_PIN Y14 [get_ports clk_in] ``` 这里 `Y14` 是一个新的、更适合的时钟引脚。 #### 3. **优化MMCM资源配置** - 使用Vivado的查找功能定位所有可用的MMCM资源及其对应的BELs类型[^3]。确保选定的MMCM实例被放置在一个能够有效连接至所选时钟引脚的区域内。 - 可以手动指定MMCM的位置来减少布线长度并提高性能。例如,在TCL命令窗口执行以下操作: ```tcl set_property LOC MMCME2_ADV_X0Y5 [get_cells my_mmcm_instance] ``` #### 4. **启用自动布局优化选项** - Vivado提供了某些高级布局策略可以帮助缓解此类问题。可以在实现设置中开启“Physical Optimization”选项,允许软件尝试改进关键路径上的元件分布[^2]。 #### 5. **验证修改后的设计** - 完成上述更改之后,重新运行综合与实现流程,并仔细检查报告日志以确认错误已被消除或者显著改善。 --- ### 示例代码片段 下面是一个简单的TCL脚本用于快速测试不同的引脚组合以及观察其效果: ```tcl foreach pin {A1 B2 C3 D4} { puts "Testing with PIN $pin..." set_property PACKAGE_PIN $pin [get_ports clk_in] reset_run impl_1 launch_runs synth_1 wait_on_run synth_1 } ``` --- ### 总结 通过对时钟引脚合理选择、精确控制MMCM位置以及利用自动化工具进行优化处理,可以有效地解决因不合理摆放而引发的警告信息。最终目的是让整个系统的时序表现达到预期标准。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值