基于PID优化和矢量控制装置的四旋翼无人机(MatlabSimulink实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

2.1 PID优化

2.2 矢量控制装置 

🎉3 参考文献

🌈4 Matlab代码、Simulink仿真实现


💥1 概述

四旋翼飞行器是一种新兴的技术,越来越受欢迎。大多数用户购买的四旋翼飞行器都是完全组装好的,配备了一切飞行所需的设备。四旋翼飞行器更有趣的一个方面是,用户可以安装自己的控制系统,以使飞行器按照他们的意愿飞行,当然这取决于硬件。许多用户受限于预装在四旋翼飞行器上的控制器。自定义的控制系统可以提供更激进的飞行或更放松的飞行。除了对所需飞行的控制之外,根据系统的复杂性,自定义的控制系统还可以使四旋翼飞行器具有自动功能。这些功能可能包括翻转或倒置飞行。然而,为了实现这一点,需要一个四旋翼飞行器的模型,即一组代表四旋翼飞行器动力学的方程组,以模拟飞行并证明控制系统在安装到四旋翼飞行器之前是有效的。创建一个模型并进行模拟可以预测真实世界中的四旋翼飞行器的行为。四旋翼飞行器的模型可以根据建模过程的复杂程度而增加准确性。例如,一个简单的模型可以由基本的运动方程组成,但准确性不高。一个复杂的模型可以包括运动方程以及空气阻力、风力、电机动力学、电池动力学等。这些因素的加入将增加准确性,但有些很难建模。

控制和创建四旋翼飞行器的模型的想法相当复杂,但可以大大简化,以便易于理解。控制系统和模型几乎无处不在,只是我们未必察觉到。创建模型所需的三个基本组成部分是控制系统、模型和传感器。

尽管在4.2节中介绍的情况下手动调优看起来相对容易,但它可能会变得困难更复杂的系统。找到PID增益的一种更鲁棒和自动化的方法是数值优化。通过数值优化,在规定的条件下得到了最佳的结果条件。当使用PID控制时,目标是使用代价函数,以使误差最小化输出值和期望值之间。首先,定义一个成本函数,如下所示。

 其中𝑒(𝑡)是期望状态与实际状态之间的误差,𝑢(𝑡)是工厂的输入,𝑄&𝑅是设计的权重函数。如果观察到过多的控制器努力,则增加R惩罚输入。选择𝑄和𝑅是一个迭代过程,以获得所需的瞬态响应
系统。值得注意的是,给𝑄和𝑅的实际数量并不像比例那么重要在两者之间。为了实现代价函数并获得最优的PID控制器增益函数必须首先在MATLAB中创建。

📚2 运行结果

2.1 PID优化

 

2.2 矢量控制装置 

 

 

 

 

 

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Matlab代码、Simulink仿真实现

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

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

相关文章

使用GoLand进行远程调试

对部署进行配置 在此配置远程服务器地址,映射,是否自动上传(更新)等 选择SFTP类型 选择上传 另外给自动上传选项打钩 此时在本地修改某个文件,远程机器相应目录的文件,也会被同步修改 对远程调试进行配置 远程机器需要安装delve 而…

Linux命令(74)之unzip

linux命令之unzip 1.unzip介绍 linux命令是用来解压缩名称后缀为".zip"的文件 2.unzip用法 unzip [参数] filenname.zip unzip常用参数 参数说明-l显示压缩文件内所包含的文件-t检查备份文件是否正确无误-v显示命令执行详细过程-q不显示命令执行过程-P<密码&g…

时间范围选择时选中日期所使用的当日内具体时刻 如00:00:00= 23:59:59

<el-form-item label"审核时间&#xff1a;"><el-date-pickerv-model"auditTime"type"datetimerange"range-separator"至"value-format"yyyy-MM-dd HH:mm:ss"start-placeholder"开始日期"end-placeholde…

无意间发现这款可以免费制作3D翻页电子画册的网站

在博主努力的搜寻下&#xff0c;无意间发现这个网站&#xff0c;可以免费制作3D翻页电子画册。使用这个网站非常简单&#xff0c;只需上传你想要展示的图片和添加相应的文字&#xff0c;然后选择合适的模板和风格。接下来&#xff0c;就会自动转化成漂亮的3D翻页画册 工具嘛&am…

用idea查看sqlite数据库idea sqlite

1、安装Database Navigator插件 2、导入数据库并查看 3、删除数据库连接 在此做个笔记

深度掌握Python lxml库:高级篇

在Python的世界中&#xff0c;lxml是处理XML和HTML的一款强大且易用的库。在前面的初级和中级篇章中&#xff0c;我们介绍了如何解析、创建、修改XML文档&#xff0c;如何使用XPath查询&#xff0c;以及如何解析大型XML文档。在这篇高级篇章中&#xff0c;我们将继续深入研究lx…

STM32 物联网 4G CAT1 SIMCOM A7680C 源码

基于状态机编写4G模块驱动函数 #include "bsp.h" char LTE_TX[512],LTE_RX[512]; int LTE_TX_length,LTE_RX_length; char U1_TX_data[512],U1_RX_data[512]; char LTE_DATA_buf[512]; char LTE_COM_buf[512]; char LTE_SEND_buf[512];unsigned char U1_TX_flag,U1…

一文总结Redis知识点

目录 为什么基于MySQL又出现Redis&#xff1f;Redis的优点&#xff1f;Redis支持的基本命令Redis支持的数据结构1 String2 List3 Set4 Sorted Set5 Hash6 Stream 消息队列7 Geospatial 地理空间8 Bitmap 位图9 Bitfield 位域10 HyperLogLog Redis是单线程还是多线程&#xff1f…

SpringBoot Thymeleaf iText7 生成 PDF(2023/08/29)

SpringBoot Thymeleaf iText7 生成 PDF&#xff08;2023/08/29&#xff09; 文章目录 SpringBoot Thymeleaf iText7 生成 PDF&#xff08;2023/08/29&#xff09;1. 前言2. 技术思路3. 实现过程4. 测试 1. 前言 近期在项目种遇到了实时生成复杂 PDF 的需求&#xff0c;经过一番…

ceph中PGLog处理流程

ceph的PGLog是由PG来维护&#xff0c;记录了该PG的所有操作&#xff0c;其作用类似于数据库里的undo log。PGLog通常只保存近千条的操作记录(默认是3000条&#xff0c; 由osd_min_pg_log_entries指定)&#xff0c;但是当PG处于降级状态时&#xff0c;就会保存更多的日志&#x…

地铁+铁路系统防雷接地应用解决方案

地铁作为城市轨道交通的一种&#xff0c;是一种高效、安全、环保的公共交通方式。然而&#xff0c;地铁也面临着雷电灾害的威胁&#xff0c;尤其是在雷暴多发的地区。 雷电对地铁系统的影响主要有以下几个方面&#xff1a; 直接雷击&#xff1a;雷电直接击中地铁系统的设备或…

RISC-V公测平台发布 · 在SG2042上配置Jupiter+Octave科学计算环境

简介 JupyterHub是一个开源的共享计算平台&#xff0c;它为每个用户管理一个单独的 Jupyter 环境&#xff0c; 可以用于学生班级、企业数据科学小组或科学研究小组。它是一个多用户中心&#xff0c;可以生成、管理和代理多个单用户Jupyter笔记本服务器的实例。 GNU Octave是一…

WebSocket- 前端篇

官网代码 // 为了浏览器兼容websocketconst WebSocket window.WebSocket || window.MozWebSocket// 创建连接 this.socket new WebSocket(ws://xxx)// 连接成功this.socket.onopen (res)>{console.log(websocket 连接成功)this.socket.send(入参字段) // 传递的参数字段}…

zookeeper集群 数据一致性测试

搭建zk集群 准备 3台ubuntu 20机器每台机器提前安装配置好jdk-8apache-zookeeper-3.8.2-bin.tar.gz 开始 # 上传 scp -P 22 -r C:\Users\xcrj\Downloads\apache-zookeeper-3.8.2-bin.tar.gz root192.168.1.102:/root/zk/ # 解压 tar -zxvf apache-zookeeper-3.8.2-bin.tar.…

【前端】 Layui点击图片实现放大、关闭效果

实现效果&#xff1a;点击图片实现放大&#xff0c;点击空白处关闭效果。下图。 实现逻辑&#xff1a;二维码是使用JQ插件生成的&#xff0c;点击二维码&#xff0c;获取图片路径&#xff0c;通过Layui的弹窗显示放大后的图片。 Html <div id"qrcode" class&quo…

Java学习笔记31——字符流

字符流 字符流为什么出现字符流编码表字符串中的编码解码问题字符流写数据的5中方式字符流读数据的两种方式字符流复制Java文件 字符流 为什么出现字符流 汉字的存储如果是GBK编码占用2个字节&#xff0c;如果是UTF-8占用三个字节 用字节流复制文本文件时&#xff0c;文本文…

驱动开发错误汇编

本博文将会不定期更新。以便记录我的驱动开发生涯中的一些点点滴滴的技术细节和琐事。 生成时link找不到导出函数&#xff0c;比如"LNK2019 无法解析的外部符号 _FltCreateCommunicationPort32"。出现这种情况的原因是&#xff0c;驱动的编译环境忽略了所有的默认库&…

基于实例的学习方法

基于实例的学习方法 动机基本概念基于实例的学习基于实例的概念表示 1. 最近邻最近邻的例子理论结果最近邻&#xff08;1- NN&#xff09;:解释问题 K-近邻(KNN)KNN讨论1 &#xff1a;距离度量KNN 讨论2&#xff1a;属性KNN:属性归一化KNN:属性加权 KNN讨论3:连续取值目标函数K…

Python爬虫实战:自动化数据采集与分析

在大数据时代&#xff0c;数据采集与分析已经成为了许多行业的核心竞争力。Python作为一门广泛应用的编程语言&#xff0c;拥有丰富的爬虫库&#xff0c;使得我们能够轻松实现自动化数据采集与分析。本文将通过一个简单的示例&#xff0c;带您了解如何使用Python进行爬虫实战。…

C# 使用NPOI操作EXCEL

1.添加NOPI 引用->管理NuGet程序包->添加NOPI 2.相关程序集 3.添加命名空间 using NPOI.HSSF; using NPOI.XSSF; using System.IO; using NPOI.XSSF.UserModel; using NPOI.HSSF.UserModel; 4.从Excel导入的dgv样例 //NPOI读入dgv private void button1_Click(object s…