基于LQR的一级倒立摆控制系统设计与仿真
项目介绍
本项目采用MATLAB/Simulink环境,实现了一级倒立摆系统的LQR(线性二次调节器)控制设计与仿真。通过建立系统的线性化数学模型,运用LQR最优控制算法设计控制器,并在Simulink中构建非线性仿真环境,验证控制器在不同初始条件下的平衡控制性能。项目完整展示了从建模、控制器设计到仿真验证的全过程。
功能特性
- 线性化建模:基于拉格朗日方程建立倒立摆非线性动力学模型,并在平衡点附近进行线性化处理
- LQR控制器设计:通过求解代数Riccati方程,计算最优状态反馈增益矩阵
- 非线性系统仿真:在Simulink中搭建包含非线性特性的倒立摆仿真模型
- 多维度可视化:实时显示摆杆角度、小车位移、控制力等关键变量的时域响应曲线
- 性能分析:自动计算系统的调节时间、超调量、稳态误差等性能指标
- 参数灵活配置:支持用户自定义系统物理参数、初始状态和LQR权重矩阵
使用方法
- 参数设置:在MATLAB脚本中修改倒立摆的物理参数(质量、长度等)
- 权重矩阵配置:调整LQR控制器的状态权重矩阵Q和控制权重R
- 初始条件设定:设置摆杆初始角度偏差和小车初始位置偏移
- 运行仿真:执行主脚本计算LQR增益,运行Simulink模型进行仿真
- 结果分析:查看生成的时域响应曲线、状态轨迹和性能指标报告
系统要求
- 软件环境:MATLAB R2018b或更高版本(包含Simulink模块)
- 必要工具箱:Control System Toolbox, Simulink
- 硬件配置:至少4GB内存,推荐8GB以上以获得流畅的仿真体验
文件说明
主脚本程序承担了系统建模与控制器设计的核心功能,具体包括:根据输入的物理参数建立倒立摆系统的状态空间模型,完成系统矩阵的构建与线性化处理;配置LQR控制器的权重参数并求解最优反馈增益矩阵;调用Simulink仿真模型并传递计算得到的控制参数;最后对仿真结果进行后处理,生成系统动态响应曲线和性能分析指标。