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

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

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

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

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

目录

[💥1 概述](#💥1 概述)

[📚2 运行结果](#📚2 运行结果)

[2.1 PID优化](#2.1 PID优化)

[2.2 矢量控制装置](#2.2 矢量控制装置)

[🎉3 参考文献](#🎉3 参考文献)

[🌈4 Matlab代码、Simulink仿真实现](#🌈4 Matlab代码、Simulink仿真实现)


💥1 概述

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

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

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

其中𝑒(𝑡)是期望状态与实际状态之间的误差,𝑢(𝑡)是工厂的输入,𝑄&𝑅是设计的权重函数。如果观察到过多的控制器努力,则增加R惩罚输入。选择𝑄和𝑅是一个迭代过程,以获得所需的瞬态响应

系统。值得注意的是,给𝑄和𝑅的实际数量并不像比例那么重要在两者之间。为了实现代价函数并获得最优的PID控制器增益函数必须首先在MATLAB中创建。

📚 2 运行结果

2.1 PID优化

2.2 矢量控制装置

🎉3 参考文献

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

🌈4 Matlab代码、Simulink仿真实现

相关推荐
无名的小三轮5 分钟前
第三章 防火墙概述
开发语言·php
有梦想的攻城狮13 分钟前
Java中的Double类型的存在精度丢失详解
java·开发语言·bigdecimal·double
一路往蓝-Anbo24 分钟前
【第42期】调试进阶(一):IDE中的Register与Memory窗口
c语言·开发语言·ide·stm32·单片机·嵌入式硬件
m0_7482495430 分钟前
Java 语言提供了八种基本类型【文123】
java·开发语言·python
a程序小傲39 分钟前
中国邮政Java面试被问:Netty的FastThreadLocal优化原理
java·服务器·开发语言·面试·职场和发展·github·哈希算法
做科研的周师兄39 分钟前
【MATLAB 实战】|多波段栅格数据提取部分波段均值——批量处理(NoData 修正 + 地理信息保真)_后附完整代码
前端·算法·机器学习·matlab·均值算法·分类·数据挖掘
淦。。。。44 分钟前
题解:P14013 [POCamp 2023] 送钱 / The Generous Traveler
开发语言·c++·经验分享·学习·其他·娱乐·新浪微博
橙露1 小时前
C#在视觉检测中的优势:工业智能化转型的利器
开发语言·c#·视觉检测
醇氧1 小时前
java.lang.NumberFormatException: For input string: ““
java·开发语言·spring
利刃大大1 小时前
【ES6】变量与常量 && 模板字符串 && 对象 && 解构赋值 && 箭头函数 && 数组 && 扩展运算符 && Promise/Await/Async
开发语言·前端·javascript·es6