RflySim | 定点位置控制器设计实验四

news/2025/4/2 7:10:47/

RflySim| 定点位置控制器设计实验四

01 设计实验

1.建立位置控制通道的传递函数模型

使用MATLAB “ControlSystemDesigner”设计校正控制器,使得加入校正环节后系统速度控制环阶跃响应稳态误差 ,相位裕度>75°截止频率>2.0rad/s。位置控制环截止频率>1rad/s,相位裕度>60° ;

2.使用自己设计的控制器进行软件在环仿真实验和硬件在环仿真实验;

本实验对应demo文件对于RflySim v3.0以下版本地址为:*\PX4PSP\RflySimAPIs\Exp02_FlightControl\e6-PositionCtrl\e6.3;

对于RflySim v3.0及以上版本地址为:*\PX4PSP\RflySimAPIs\5.RflySimFlyCtrl\1.BasicExps\e6-PositionCtrl\e6.3。

打开e6-PositionCtrl\PID-Config\e6.3\tune\Init_control.m文件,点击运行初始化参数,PosControl_tune.slx文件将会自动打开,如下图所示。

图片

图片

速度环分析:输入为期望速度,输出为实际速度。设置输入输出点如下图所示。

图片

点击运行后,进行如下图所示操作生成Bode图

图片

生成 Bode 图后,在左侧“Linear Analysis Workspace”中会出现“linsys1”变量。如下图所示操作,即可得到传递函数模型。

图片

由下图所示得到的传递函数为:

图片

由上述传递函数建立如下图的.m 文件

num=[3331 5.039e05 2.563e07 4.486e08 5.371e08];

den=[1 200 1.567e04 6.045e05 1.189e07 1.154e08 5.557e08 5.371e08 280.1];

G=tf(num,den);Z=[-1.29];

P=[-5.214e-7 -1.253 -33.92];

zpk1=zpk(G)

GG=tf(zpk1)

controlSystemDesigner('bode',G);

运行即可使用 MATLAB 基于 Bode 图的控制系统计,如下图所示。

图片

使用工具箱校正:由上图可知,系统的响应较慢,向上拖动Bode图曲线增大开环增益。增益增大,从阶跃响应曲线上看,响应时间 变短,但是带来了超调。从Bode图上看,相 位裕度为50.1°,相比设计目标偏小。

图片

图. 加大增益对Bode图和阶跃响应的影响

增加一个超前校正环节,提高相位裕度,还能进一步提高截止频率,增加响应速度。在 Bode 图中右键“add Pole/Zero”-“Lead”, 直接拖动零极点观测响应曲线,得到合适的矫正环节,如下图所示。

图片

图. 加入超前环节

在 Bode 图中右键“Edit Conpensator”,如下图所示

图片

看最终的得到的校正器为:

图片

对x通道位置环进行校正:加入Step 3中得到的速度环校正器,如下图所示。

图片

得到位置环的 Bode 图如下图所示, 相位裕度为 75.8◦,截止频率 0.99,基本满足要求。可略微增加增益,提高截止频率。(例如取位置环增 益为1.2,重新绘制Bode图,相位裕度为65.3° , 截止频率为1.12,满足实验指标。)

图片

仿真实验:前述设计的校正环节是时域连续的环节,加入该模型应将其变为时域离散的环节。使用 c2d 函数将s域的传递函数(按下述提示自行输入)变为 z 域传递函数。

H = tf([num], [den])

Hd = c2d(H, Ts, ’foh’)

其中“num”为传递函数分子系数向量,“den”为传递函数分母系数向量,“Ts”为仿真步长,本例 中为 0.004s。

这里替换后的传递函数为:

图片

将 Simulink 模型中的 PID 控制器替换成离散模块, (在"e6-PositionCtrl\PID-Config\e6.3\HIL\PosControl_HIL.slx"中找到PosControl_HIL/Control System/Subsystem1/position_control子模块)如下图所示

图片

图 替换原来的 PID 校正器

将"e6-PositionCtrl\PID-Config\e6.3\HIL\PosControl_HIL.slx"模型编译完成后烧入飞控,进行硬件在环仿真, 多旋翼可以实现基本的直线飞行和悬停。

参考文献:

[1] 全权,杜光勋,赵峙尧,戴训华,任锦瑞,邓恒译.多旋翼飞行器设计与控制[M],电子工业出版社,2018.

[2] 全权,戴训华,王帅.多旋翼飞行器设计与控制实践[M],电子工业出版社,2020.


http://www.ppmy.cn/news/1342694.html

相关文章

qml为程序设置图标(100%成功!3步搞定!)

步骤1 打开 CMakeLists.txt 文件,在 main.cpp 这行代码下面,添加一句:icon.rc。 步骤2 此时 icon.rc 这个文件还不存在,我们需要在目录中新建一个 .txt 文件,然后把文件名和后缀名改为 icon.rc。 步骤3 在 Qt Creat…

Avalonia学习(二十二)-数据库操作端

开始项目式的例子,但是不方便给大家贴代码了。 内容很多,只能演示一个界面,例子上传。 我不擅长界面美化和配色,有兴趣的可以继续完善,当前实现mysql。 最近所有样例的地址: GitHub - jinyuttt/Avalonia…

树——avl树

AVL树 概述 AVL树是一种自平衡二叉搜索树(Balanced Binary Search Tree, BBST),由G. M. Adelson-Velsky和E. M. Landis在1962年发明,因此以他们的名字首字母命名。AVL树保证了任何节点的两个子树的高度最多相差1,这使…

TQ15EG开发板教程:使用vivado2023.1建立hello world工程

1:打开软件建立工程 2:使用vivado创建设计模块并生成bit文件 3:导出硬件平台,使用vitis建立工程 4:使用vitis创建应用程序项目 5:硬件设置与调试 1:打开软件建立工程 打开VIVADO2023.1 创建一个新的工程 输入项目名称和地址,下面那个选项为是否…

什么是系统工程(字幕)13

0 00:00:00,670 --> 00:00:01,582 如果不加图 1 00:00:01,582 --> 00:00:02,130 怎么加 2 00:00:02,130 --> 00:00:03,225 我们来看一下 3 00:00:03,225 --> 00:00:03,590 你看 4 00:00:03,980 --> 00:00:06,720 右键点这个,添加元素 5 00:00:0…

明道云入选亿欧智库《AIGC入局与低代码产品市场的发展研究》

2023年12月27日,亿欧智库正式发布**《AIGC入局与低代码产品市场的发展研究》**。该报告剖析了低代码/零代码市场的现状和发展趋势,深入探讨了大模型技术对此领域的影响和发展洞察。其中,亿欧智库将明道云作为标杆产品进行了研究和分析。 明…

LeetCode 1686. 石子游戏 VI【排序,贪心】【Py3,Go】2000

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

【FPGA原型验证】附录基础知识:FPGA/CPLD基本结构与实现原理

聚焦Xilinx ISE 介绍Xilinx公司及其产品的基本情况,并在此基础上描述了CPLD和FPGA的内部结构及基本原理。 1.1 Xilinx公司及其产品介绍 总部设在加利福尼亚圣何塞市(San Jose)的Xilinx是全球领先的可编程逻辑解决方案的供应商,图1-1为公司标志。 Xilinx公司的业务是研发…