文章内容首发于我的个人公众号内,更多笔记&干货分享,欢迎关注!
先上实验结果:
三自由度直升机模型控制https://www.zhihu.com/video/1479502000303484928
控制目标
直升机模型控制任务为模仿实际的直升机货物运输(cargo transport)过程,其飞行轨迹的约束如下图中所示:
— 从起始点1移动至中间点2,将货物提起;
— 从中间点2移动货物至目标点3,将货物卸下;
— 从目标点3返回起始点1。
为了保障飞行安全,直升机飞行过程中存在一个最低高度限制(alpha >7.5°),并且在飞行过程中直升机不允许飞越灰色阴影区域(灰色建筑物间距d=15°)。
飞行过程中,各个位置点的状态值如下表所示:
三个方向上的旋转角 alpha beta gamma及转轴的对应关系如下图所示:
一、实验平台研习
【systematic approach to solve control problems】
1.Study the plant and obtain initial information about the control objectives.
实验平台与仿真软件的交互主要通过Simulink中的Quanser QUARC模块进行:
⑴ HIL Initialize 用于初始化Quanser数据采集板,实验中需设置为Q8 USB 类型。
⑵ Read Encoder 从角度编码器读取信号。
⑶ HIL Write Analog 用于控制电机和磁力开关,该模块控制模数转换器的八个通道。
⑷ HIL Write Digital 通过Write Digital模块来激活放大器。每个电机各有一个放大器,可通过改变逻辑值1和0来激活。
通过观察Read Encoder的输出,将其信号分别与三个方向的角度对应;通过观察HIL Write Analog在不同输入下的反应,确定电机的输入信号以及磁力开关的信号。
二、建立模型
【systematic approach to solve control problems】
2.Model the system and simplify the model, if necessary
实验室的直升机模型可通过三个方向上的角动量定理来进行模型简化:
物理模型的输入为两个电机的力,但实验平台上的输入信号只有两个电机的电压,需要单独测量电压与力的关系,并进行拟合。(可以通过“cftool”工具箱进行拟合)
三、线性化
【systematic approach to solve control problems】
3. Analyze the resulting model; determine its properties.
4. Decide which variables are to be controlled (controlled outputs).
5. Decide on the measurements and manipulated variables; what sensors and actuators will be used and where will they be placed. (在第一部分,实验平台研习时,已经确定)
选择前后电机的力为控制量,u=[Fb Ff],选择控制工作点为xs(beta_s=-5°),对系统进行线性化:
通过线性系统状态方程分析其可观测性和可控性,并计算原始系统的特征值,为后续控制器设计进行铺垫。
四、控制器设计
【systematic approach to solve control problems】
6. Select the control configuration.
7. Decide on the type of controller to be used.
8. Decide on performance specifications, based on the overall control objectives.
9. Design a controller.
控制器目标:
— 闭环稳定
— 尽量缩小目标轨迹与真实轨迹之间的误差
控制器选择:
LQR+积分环节(I-Anteil)+前馈控制器(Vorsteuerung)
其中,控制器的积分环节需要选择两个新的误差信号进行控制,即 alpha与 beta 的理论轨迹与实际轨迹的误差。前馈控制器可通过如下公式进行计算(其中K=K_LQR):
将误差加入系统状态方程中,新的系统状态方程为:
观测器:
由于系统的状态量并非全部可测,须通过观测器对于系统的状态量进行估测,以此满足整个闭环控制的信号的完整性。实验中选用Luenberger观测器,其方程:
在MATLAB中可以通过“place(A,C,P_beob)”命令进行对观测器的表达式进行直接计算,P_beob为观测器的根,实验中选择P_beob=[-23;-24;-25;-26;-27;-28]。
控制器设计:
在MATLAB中,通过命令“lqi(sysLQI; Q;R)”可直接对LQI控制器的各项参数进行计算,设计部分仅为矩阵Q和R的系数。由于系统参数方程中,状态量有8个,控制器数据有2个,矩阵Q和R的维数分别为8和2。
Kybernetiker实况
闭环系统的特征值亦可直接求得(E_LQI)。由系统特征值可以得出,闭环系统稳定。
五、仿真
【systematic approach to solve control problems】
10.Analyze the resulting controlled system to see if the specifications are satisfied; if not, modify the specifications or the type of controller.
11. Simulate the resulting controlled system on a computer and, if possible, on a pilot plant.
12. Repeat from step 2, if necessary.
系统框图:
分别在线性系统与非线性系统中(Simulink模型),对控制器进行仿真,并对控制器的参数进行调整。线性系统与非线性系统的框图如下:
参考轨迹:
参考轨迹可以通过多项式函数进行给定,为保证参考轨迹的平滑,选择参考轨迹:
仿真结果:
红色为参考轨迹,蓝色为仿真轨迹。其中的超调来自于积分部分的误差累积,可以通过合适的参数进行消减,但理论上不能消减至零。
六、实验验证
【systematic approach to solve control problems】
13. Choose hardware and software and implement the controller.(在第一部分的实验器材研习中已经确定)
14. Test and validate the control system. Tune the controller (on-line), if necessary.
将参考轨迹与最终确定的LQI控制器应用于实验平台,测量得到如下 alpha 和 beta 轨迹:
通过坐标轴转换,对于直升机轨迹与建筑物位置进行比对,下图中黄色为建筑物区域,蓝色为直升机轨迹:
直升机的实际飞行结果已经在开篇的视频中给出(๑´0`๑)
上一篇
Q :真正有意思的「青年文化」與「Fashion」是什麼?A :是從有趣的青年那裡開始的;他們會表達:"我不是其中一部分,我想要...
作為一個資深的美容達人,前前後後也入手瞭不少美容儀,因此被身邊朋友問得最多的問題就是:美容儀是不是智商稅?美容儀真的...