基于SPSA算法的油船PD控制器优化设计系统
项目介绍
本项目致力于利用SPSA(同时扰动随机逼近)仿真优化算法,实现油船航向PD控制器的自动参数整定与性能评估。系统通过集成船舶非线性运动数学模型,自动运行闭环仿真,并结合SPSA算法对控制器的比例系数(Kp)和微分系数(Kd)进行迭代优化。该方法无需计算目标函数的梯度,即可高效地寻找使航向控制动态性能与鲁棒性最优的控制器参数,显著提升了控制器设计的自动化水平与可靠性。
功能特性
- 智能参数整定:核心采用SPSA优化算法,自动调整PD控制器参数,免去繁琐的手动试凑。
- 高保真船舶仿真:内置包含非线性流体动力学效应的船舶运动数学模型,模拟真实船舶航向响应。
- 环境扰动模拟:可选配波浪、海流等海洋环境干扰模型,用于评估控制器的鲁棒性能。
- 全面性能评估:优化过程中自动计算超调量、调节时间、稳态误差等多项性能指标,并生成可视化分析报告。
- 用户友好交互:通过集中设置输入参数,即可完成从仿真到优化的全过程。
使用方法
- 准备输入参数:在指定位置设置油船基本参数(船长、质量等)、PD控制器初始参数、期望航向角、SPSA算法超参数以及可选的环境扰动参数。
- 运行优化程序:执行主程序,系统将自动开始迭代优化过程。
- 查看输出结果:优化完成后,系统将输出最优的Kp和Kd值,并绘制收敛曲线、航向控制响应曲线、控制力矩曲线等图表,同时提供详细的性能指标报告。
系统要求
- 操作系统:Windows / Linux / macOS
- 软件环境:MATLAB R2018a 或更高版本
- 必要工具包:MATLAB 基础安装即可运行,无需额外工具箱。
文件说明
主程序文件作为系统的总控核心,承担了初始化设置、算法执行调度与结果输出的全部关键任务。具体而言,其主要功能包括:读取和解析所有用户输入的项目配置参数;调用船舶运动仿真模型以模拟航向控制动态过程;执行SPSA优化算法的完整迭代循环,包括参数扰动、性能评估与参数更新;实时监控优化进程并记录收敛数据;在优化结束后计算各项控制性能指标,并调用绘图函数生成所有结果图表与报告。