基于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仿真实现

相关推荐
Seoyoneh3 小时前
Agentic Workflow编排架构:云客服从“被动响应”迈向“主动执行”的技术实现
java·开发语言·架构
Tangyuewei3 小时前
Java 写 Agent:模型只是组件
java·开发语言
小玮看世界4 小时前
[Python]从合并区间到传感器融合区:合并区间在传感器区域融合的实际落地
开发语言·python
繁星蓝雨5 小时前
C++的设计与演进大纲(如何从C语言一步步成长为C++)
c语言·开发语言·c++·c++历史·c++演进
Evand J5 小时前
【MATLAB例程,图像降噪滤波9】自适应维纳滑动窗口滤波(Wiener)图像降噪、方法对比,有中文注释
开发语言·图像处理·计算机视觉·matlab·滑动窗口·滤波·降噪
杜大哥5 小时前
python程序:如何查看电脑【电池电量的剩余百分比】 和 【是否插入连接着充电器】?
开发语言·python
wuyk5555 小时前
Python网络爬虫入门到实战 第01章:爬虫到底是什么?原理、流程、合法性、风险全解析(零基础必看)
开发语言·爬虫·python
yurenpai(27届找实习中)5 小时前
Java 10 的 var 为什么不能随便用?从订单汇总看懂类型推断与泛型陷阱
java·开发语言·java18
shmily麻瓜小菜鸡6 小时前
JS/TS 易踩坑知识点 — 模块化与工程化类
开发语言·javascript·ecmascript
geovindu6 小时前
CSharp: Observer Pattern
开发语言·后端·观察者模式·设计模式·c#·.netcore·行为模式