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

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

01 分析实验

1.调节PD控制器的相关参数改善系统控制性能,并记录超调量和调节时间,得到满意的参数。

2.在得到满意参数后,对系统进行扫频以绘制Bod图,观察系统幅频响应、相频响应曲线,分析其稳定裕度。

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

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

模型初始设置:PID参数步骤与姿态控制的参数调试步骤相同。先调试内环速度环,再调试外环的位置环,先调高度再调水平位置。调试文件在“e6-PositionCtrl\PID-Config\e6.2\PosCtrl_tune.slx”文件夹中。

调节参数的初始状态应是飞行器处于高空悬停状态,将初始高度设置为100m,电机的初始转速设置为557.1420rad/s,这个初始条件对应于飞行器在空中100m处悬停。修改“Init_control.m”文件中的对应参数如下。

ModelInit_PosE = [0, 0, -100];

ModelInit_VelB = [0, 0, 0];

ModelInit_AngEuler = [0, 0, 0];

ModelInit_RateB = [0, 0, 0];

ModelInit_Rads = 557.142;

速度控制环参数调节:

首先调节内环PID参数打开“e6-PositionCtrl\PID-Config\e6.2\PosControl_tune.slx” 文件中的“Control System”子模块中的 “position_control”模块,即为位置控制系统模型。将其中x通道的速度期望部分换成阶跃输入,并将输入输出设置为“Enable Data logging” 。

图片

图片

在“Init_control.m”文件中修改内环PID参数的值。先设定比例项参数,积分和微分参数设为0,Kvxp参数设置分别为1.5、2.0和2.5。

图片

图片

依次运行“Init_control.m”文件。点击Simulink的 “Run”按钮开始仿真,在“Simulation Data Inspector”中查看输入输出波形,如下图所示:

图片

由小到大逐渐增大比例项系数值,得到阶跃响应曲线如图:

图片

位置环参数调节:使用步骤二中得到的速度环参数,在“PosControl_tune.slx”文件中,将 “x_desired”换为阶跃输入,并将阶跃输入和“x”信号线设置为“Enable Data Logging”,如下图所示:

图片

如下图在“Init_control.m”由小增大位置环比例项系数,即“Kpxp”的值,分别为0.6、0.8、1.0和1.2。

图片

在“Simulation Data Inspector”观察阶跃响应,如下图:

图片

扫频得到Bode图:设定信号输入输出点。将“x_desired”输入线设为“Open-loop Input” ,“ x ”设置为 “Open-loop Output”如下图所示。

图片

得到Bode图如下图:

图片

参考文献:

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/451837.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

极速搭建幻兽帕鲁私服,叫上好友春节假期一起联机畅玩帕鲁

文章目录 前言幻兽帕鲁私服详细部署教程查看服务器开始游戏自定义游戏参数配置 前言 行业资讯 《幻兽帕鲁》的火爆对开发商 Pocketpair 来说,代价是巨大的。该游戏的成功让首席执行官沟部拓郎最近在推特上表示,他可能因服务器运营费用而面临破产。据他透…

2024年生成式AI芯片市场规模将达500亿美元

1月24日,德勤发布《2024科技、传媒和电信行业预测》中文版报告,2024年是科技、传媒和电信行业关键的一年,不少科技公司正利用生成式AI升级软件和服务,预计今年全球生成式人工智能芯片销售额可能达到500亿美元以上。 2024年将有许…

加速数字化之旅:MessageBox赋能HubSpot与微信公众号的无缝整合

在数字化时代,企业需要整合关键平台以适应快速变化的市场。HubSpot和微信公众号的整合成为数字化营销的核心策略之一。MessageBox作为整合的关键力量,通过其卓越的能力,极大地加速了HubSpot与微信公众号的融合过程。今天运营坛将深入探讨Mess…

基于springboot篮球竞赛预约平台源码和论文

随着信息化时代的到来,管理系统都趋向于智能化、系统化,篮球竞赛预约平台也不例外,但目前国内仍都使用人工管理,市场规模越来越大,同时信息量也越来越庞大,人工管理显然已无法应对时代的变化,而…

gif怎么压缩文件大小?这个方法一学就会

一些媒体和广告公司使用GIF表情包来吸引用户的注意力,并在广告或宣传活动中增加趣味性和互动性,这些表情包可以用来传达品牌的个性、情感或概念,那么当遇到gif图片过大的时候,就需要gif压缩了,怎么压缩gif动图呢&#…

力扣144 二叉树的前序遍历 Java版本

文章目录 题目描述递归方法代码 非递归方法代码 题目描述 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root [1,null,2,3] 输出:[1,2,3] 示例 2: 输入:root [] 输出&#xf…

解锁MyBatis Plus的强大功能:学习高级操作与DML技巧!

MyBatisPlus 1,DML编程控制1.1 id生成策略控制知识点1:TableId1.1.1 环境构建1.1.2 代码演示AUTO策略步骤1:设置生成策略为AUTO步骤3:运行新增方法 INPUT策略步骤1:设置生成策略为INPUT步骤2:添加数据手动设置ID步骤3:运行新增方法 ASSIGN_ID策略步骤1:设…

MyBatis一些常见知识点!

什么是 ORM 框架? MyBatis 有哪些优缺点? 典型回答: ORM(Object-Relational Mapping,对象关系映射)框架是一种将关系型数据库中的数据 与 应用程序中的对象进行映射的技术。它通过在程序代码中定义的类和属…

代码混淆技术综述与优化方法

代码混淆技术综述与优化方法 摘要 本文介绍了代码混淆的概念和目的,并提供了Python代码混淆的宏观思路。同时,还介绍了一种在线网站混淆Python代码的方法,并给出了混淆前后的示例代码。 引言 在当今信息时代,软件代码的保护显…

java的热部署/热更新(2)类加载机制

类加载机制 类加载机制最困难的就是类的状态性。更直白的说,就是类的static的字段。 常见的类加载方案 tomcat 我们看tomcat,是一个简单的顶层类优先方案。 这个类加载方案看起来很完美。但是不可避免的有一个问题,就是部分底层类是共用…

机器学习-3降低损失(Reducing Loss)

机器学习-3降低损失(Reducing Loss) 学习内容来自:谷歌ai学习 https://developers.google.cn/machine-learning/crash-course/framing/check-your-understanding?hlzh-cn 本文作为学习记录1.降低损失:迭代方法 迭代学习 下图展示了机器学习算法用于训…

论文阅读:Learning Lens Blur Fields

这篇文章是对镜头模糊场进行表征学习的研究,镜头的模糊场也就是镜头的 PSF 分布,镜头的 PSF 与物距,焦距,光学系统本身的像差都有关系,实际的 PSF 分布是非常复杂而且数量也很多,这篇文章提出用一个神经网络…