单级倒立摆的LQR控制器设计与仿真系统
项目介绍
本项目通过线性二次调节器(LQR)设计一种稳定单级倒立摆的控制系统。系统基于倒立摆的动力学模型进行线性化处理,完成LQR控制器参数调节,并结合Matlab/Simulink环境实现倒立摆的稳定性仿真。项目包含完整的理论推导文档、控制器设计代码以及动态仿真演示,用于验证控制器在不同初始条件下的稳定性和响应速度。
功能特性
- 系统动力学建模:建立单级倒立摆的非线性动力学方程并在平衡点附近线性化
- LQR控制器设计:通过求解Riccati方程得到最优状态反馈增益矩阵
- 权重矩阵优化:提供Q和R权重矩阵的参数调节接口,优化控制器性能
- 动态系统仿真:在Matlab/Simulink环境中实现倒立摆系统的闭环控制仿真
- 多场景测试:支持不同初始条件和外部扰动下的控制器鲁棒性测试
- 可视化输出:生成状态响应曲线、控制输入信号以及运动过程动画
使用方法
- 参数配置:设置倒立摆的物理参数(小车质量、摆杆质量、摆杆长度等)
- 控制器设计:调整LQR权重矩阵Q和R的数值,平衡状态响应与控制代价
- 仿真设置:指定初始条件(小车位置、摆杆角度、速度等)和外部扰动参数
- 运行仿真:执行主程序启动Simulink仿真,观察系统动态响应
- 结果分析:查看生成的状态曲线、性能指标和运动动画,评估控制器性能
系统要求
- 软件环境:MATLAB R2018b或更高版本,Simulink仿真环境
- 必要工具箱:Control System Toolbox, Simulink 3D Animation(用于动画演示)
- 硬件配置:至少4GB内存,支持图形显示的显卡
文件说明
主程序文件整合了倒立摆系统建模、LQR控制器计算、仿真参数配置以及结果可视化的完整流程。具体实现了物理参数输入、系统矩阵构建、Riccati方程求解、Simulink模型调用、时域响应分析、性能指标计算以及动态动画生成等核心功能,为用户提供一体化的设计与仿真体验。