四轴飞行器入门——基础知识

article/2025/9/5 8:51:27
  • 引言

从2016年起,细细数来入门无人机已经有两年时间。两年期间,自己边学边摸索,组装过机架四轴无人机,也修改过开源飞控的代码,但是因为种种原因,始终没有写过相关博客记录下自己的学习历程。最近,一个学弟问我要一些无人机入门的资料,我才恍然发现,自己唯一能拿的出手的就只是一些保存在收藏夹里的书签。于是乎,开始梳理,记录自己学习过的无人机方向的知识,方便他人学习,自己查阅。

本篇文章主要介绍两个部分,第一部分为四轴飞行器的结构;第二部分以X型四轴飞行器为例,介绍其工作原理,包含部分力学的知识,并对惯性坐标系和机体坐标系稍加介绍。

本文大部分内容为原创,少部分内容搬运自其它博客或文章。对于搬运过来的内容,文末附上原文链接。

  • 四轴飞行器的结构

维基百科上对四轴飞行器的解释是,一种多轴飞行器,有四个旋翼来悬停,维持姿态及平稳飞行。我们通常看到的航拍用的大疆,全是四轴飞行器。通常来说,除去DIY的特殊结构,四轴飞行器的结构可以归结为三类 - “X”型,“+”字形和“H”型图1图2中分别为“X”型和“+”字型的四轴飞行器,从图片中红色三角为机头(前进)方向。“H”型四轴飞行器从姿态控制和电机控制分配方面来看和“X”型四轴飞行器区别不大,明显的区别在于飞行器的物理结构设计,图3为“H”型四轴飞行器的实物图。

                                                                              图1:“X”型四轴飞行器

                                                                              图2:“+”型四轴飞行器

                                                                                图3:“H”型四轴飞行器

“+”型的四轴飞行器因为其电机布局和两个姿态角(俯仰角和翻滚角)重合,其控制难度较小。举个例子,“+”型飞行器想要进行俯仰运动时,只需控制前后两个电机的转速,左右电机转速保持不变即可,所以其控制飞行器稳定的难度较小,相对来说易于控制。

“X”型无人机优点是控制灵活,同样是俯仰运动中,“x”型无人机需要控制四个电机;具体表现为,前两个电机转速同时增大(减小),后两个电机转速同时减小(增大)。因为其运动是四个电机转速同时变化,运动(俯仰运动)的合力来源于四个电机(“+”型只有前后两个电机提供力),所以其运动的加速度更快,运动更加灵活。但是同样,控制四个电机使飞行器稳定的难度要大于控制两个电机,所以控制难度高是“X”型无人机一个缺点。鉴于现阶段商业飞控,开源飞控都已经有很成熟的算法控制飞行器稳定飞行,且“X”型飞行器易于悬挂云台,所以市面上的四轴飞行器绝大部分都是“X”型或“H”型,很少看到有“+”型。

“H”型无人机类似于“X”型,这里就不过多赘述了。只讲其一个缺点,“H”型无人机因为物理结构问题,其飞行器的腰部很容易扭折,所以市面上的“H”型无人机都会对腰部进行加固,但是如果操作不当,还是容易损坏。

  • 四轴飞行器的工作原理

  • 惯性坐标系与机体坐标系

惯性坐标系E(X,Y,Z)是数学中常用的坐标系,(X,Y,Z)坐标代表物体在三维空间中的位置。机体坐标系B(\ phi,\ theta,\ psi代表飞机X,Y,Z轴旋转的角度。图4是四轴飞行器的两个坐标系。

                                                                              图4:四轴飞行器坐标系

设飞行器机头朝向X轴正方向,飞机在XOY平面内,Z轴正方向是飞行器上方,则三个角欧拉\ phi,\ theta,\ psi柯林斯表示为:

俯仰角(pitch)\ THETA:机体轴与地平面(水平面)之间的夹角,飞机抬头为正;

偏航角(yaw)  \ PSI:机体轴在水平面上的投影与地轴之间的夹角,以机头右偏为正,又称方位角;

滚转角(roll)    \披:飞机对称面绕机体轴转过的角度,右滚为正,又称倾斜角。

图5,图6,图7分别为俯仰,偏航,翻滚运动(图片来源于网络)。

                                                                                     图5:俯仰运动

                                                                                   图6:偏航运动

                                                                                   图7:翻滚运动

  • 飞行原理

网上的图全是“+”型飞行器的飞行原理介绍中,“x”型飞行器想找个图都找不到只好自己画了......

  • 单电机受力分析

如图8所示,当电机的轴顺时针旋转时,因为轴上带有螺旋桨(原谅我偷懒没画),所以会产生上升的升力。同时螺旋桨受到风的阻力(逆时针)会沿着轴施加到电机的转子上,转子与定子(电机壳)之间电磁场的相互作用力会把阻力施加到定子上,所以电机壳会对机臂施加一个逆时针的反扭力。总结一下,就是电机顺时针旋转会产生一个逆时针的反扭力。

                                                                                 图8:电机受力分析图

  • 飞行器悬停

四轴飞行器飞行原理如图9,图中四个螺旋桨转速相同,其产生的升力一致且升力的合力与重力相同,反扭力相互抵消,则图8中的无人机处于悬停状态。

                                                                             图9:悬停状态的飞行器

  • 上升运动

当四旋翼飞行器的四个螺旋桨转速同时上升时,产生的升力的合力大于飞行器的重力,所以飞行器会上升;同理,合力小于重力时,飞行器会下降。

  • 俯仰运动(前进后退)

如图10,当后侧(相对于机头)两个电机转速相同,前侧两个电机转速相同,且后侧电机转速大于前侧时;飞行器前倾,发生俯仰运动同时合力的向前的分力会使无人机前进。

                                                                                   图10:俯仰运动

  • 翻滚运动(左右飞行)

类似俯仰运动,产生翻滚运动时机头左右两侧的电机转速不一(例:右侧两个电机转速相同且大于左侧两个电机转速);图11显示的即为翻滚运动翻滚运动同时也会带来左右的侧向运动。

                                                                                      图11:翻滚运动

  • 偏航运动

偏航运动相比较于俯仰和翻滚运动有所不同翻滚运动利用的是电机产生的反扭力进行运动当对角的两个电机转速分别相同时,飞行器会保持平衡;但主角线上的电机转速大于副对角线上电机的转速,由此造成飞行器反扭力不能完全抵消,所以会产生图12的偏航运动。

                                                                                      图12:偏航运动

讲到这儿,四轴飞行器的基本原理已经讲的差不多,剩下的飞行器建模,欧拉角与四元数之间的转换太过于理论,就不再这篇中详细叙述了,抽个时间单独写一篇这方面的文章。

http://tieba.baidu.com/p/3885715456

https://blog.csdn.net/u011006622/article/details/56276931


http://chatgpt.dhexx.cn/article/P7wRQVQp.shtml

相关文章

零基础DIY四轴飞行器超级详细保姆级教程(STM32F407ZGT6主控、WIFI图传、陀螺仪平衡、气压计/超声波定高、手机蓝牙控制等功能)

前言 大四毕业后暑假没事做就花了一点DIY了一个四轴飞行器,是比较大的那种F450机架,不是那种PCB板做机架的小四轴,因为我也是从零基础开始做的四轴,现在就想把自己的过程写成博客分享在网上。下面我会从机械结构、主控和各传感器…

20210728用树莓派 DIY 四轴飞行器(硬件、故障保护、遥控、飞行模式)

https://mbb.eet-china.com/forum/topic/92385_1_1.html 20210728用树莓派 DIY 四轴飞行器(硬件、故障保护、遥控、飞行模式) 2021-7-28 11:00:24 只看该作者 倒序浏览阅读:849 回复:1 机械构造–第一部分 今天,我们…

正则判断是手机号码

var regExp "^((13[0-9])|(15[^4])|(18[0,2,3,5-9])|(17[0-8])|(147))\\d{8}$" // 正则表达式 var objExpnew RegExp(regExp) // 正则初始化对象 var tel "18310121542" // 输入手机号码 objExp.test(tel) // 正则验证号码

手机号码正则_中国大陆手机号码的正则表达式总结ChinaMobilePhoneNumberRegex

ChinaMobilePhoneNumberRegex是国人总结整理的一组匹配中国大陆手机号码的正则表达式。遵守MIT开源协议。 规则包括: 手机卡 – 基础运营商 支持语音通话 / 短信 / 数据流量号码长度 11 位运营商 [1]号段中国移动134-0~8 / 135 / 136 / 137 / 138 / 139 / 150 / 151 / 152 / 1…

php虚拟电话号码,虚拟运营商号码慎入! 七大你要想到的事【2】

原标题:虚拟运营商号码慎入! 七大你要想到的事 面临倒闭可能,号码如何处理 在虚拟运营商中我们发现了不少的民营企业身影,这也是工信部在最早开展移动转售业务的初衷之一,鼓励民营企业进入到移动通信行业中来。民营资本的进入可以…

php虚拟电话号码,[视频]一号通电信诈骗追踪 虚拟号码服务藏漏洞

进入[整点新闻]>> “一号通”业务“擅长”呼叫转移与服务管理,只要通过网络或者任何一部固定电话,您都可以随时随地改变“一号通”所链接的号码,或者按顺序转移、无应答转移、临时转移以及免打扰等呼叫转移方式。正因“一号通”的种种便…

自适应红色大气虚拟手机靓号交易商城网站源码

☑️ 编号:ym363 ☑️ 品牌:无 ☑️ 语言:php ☑️ 大小:8.5MB ☑️ 类型:虚拟手机靓号交易商城 ☑️ 支持:pcwap 🎉 欢迎关注,私信,领取 🎉 ✨ 源码介绍 靓号…

VS 2015 | MFC | Dialog界面被关闭了如何打开

打开VS 的资源视图: 上方工具栏 视图->资源视图可以找到,打开****_DIALOG即可

C++ MFC 界面美化------自绘菜单栏

最终效果 一: 点击菜单栏标题后弹出菜单,在OnNcHitTest中增加代码 ,使得当鼠标在 菜单标题的区域点击后,触发对应的函数 LRESULT CMFCDrawnTitleDlg::OnNcHitTest(CPoint point) {// TODO: 在此添加消息处理程序代码和/或调用默认…

MFC界面编程基础(02):MFC窗口的创建

上一篇:MFC界面编程基础(01):Windows 编程模型下一篇:MFC界面编程基础(03):消息映射、窗口绘制、文档/视图结构体系 MFC是什么? 微软基础类库(英语:Micros…

MFC界面编程基础(01):Windows 编程模型

上一篇:MFC界面编程基础(00):基本概念下一篇:MFC界面编程基础(02):MFC窗口的创建 WinMain函数 当 Windows 操作系统启动一个程序时,它调用的就是该程序的 WinMain 函数…

简单聊天室的设计 C++ MFC

b站有更高级教学视频 https://www.bilibili.com/video/av38700336/ 一、要求 要求:分别设计基于对话框的客户端和服务器端的程序,实现两端的通信,服务器端能接受客户端的消息,并且显示客户端的连接信息,把客户端信息…

MFC 中使用QT开发界面

首先创建一个基于对话框的MFC工程,当然其他的像是多文档、单文档工程也是可以的,只是为了简单起见我这里用的是对话框 然后通过鼠标右键点击项目,然后依次点击属性 --> C/C -->常规在工程的附加头文件中添加上QCore、QGui、QWidget和QT…

第六篇--MFC美化界面

1.MFC如何设置背景颜色 首先,为对话框添加WM_CTLCOLOR消息,方法为:右击Dialog窗口 --> Class Wizard --> Messages --> WM_CTLCOLOR --> Add Handler --> Edit Code 然后,在Dlg.h文件中添加成员变量CBrush m_brush; 接着,在之前Edit Code的位置,写上 HB…

MFC界面类库Xtreme Toolkit Pro 下载及使用教程介绍

Xtreme Toolkit Pro 是针对Windows程序员的一套先进的用户界面套包,强大的功能可使您的应用程序具有专业的、现代感的外观。 Xtreme Toolkit Pro 由8个专业级的构件组成,Xtreme CommandBars, Xtreme Docking Pane, Xtreme Property Grid, Xtreme Report …

wxWidgets界面设计工具DialogBlocks

工欲善其事,必先利其器。在MFC上开发,有VS系列强大的可视化工具,基于wx的开发工具虽然没有VS、QT的界面设计器强大,但在灵活度上VS的界面设计器是没法比的(QT的没有用过,不做评论)。 如…

Visual Studio开发MFC如何打开可视化窗口编辑界面

在使用Visual Studio 2019开发工具开发MFC工程项目时,如果把可视化界面窗口编辑界面关闭后如何打开? 1、项目关闭后重新打开时的界面,没有可视化窗口界面显示。 2、在右侧的解决方案资源管理器中,选择资源文件下的 MFCApplicati…

VisualStudio2022 MFC对话框窗体托盘图标设计

目录 效果展示头文件1.1 头文件声明 CPP文件2.1 初始化2.2 功能实现 环境:VisualStudio2022 框架: MFC 对话框窗体 功能:托盘 对话框类:CBLToolsDlg 作者:CDamogu 时间:20220308 效果展示 头文件 1.1 头文件声明 头文…

MFC界面美化---自绘标题栏

做MFC项目的时候,会经常遇到需要美化界面的时候。mfc的原始界面比较丑,今天主要记录一下对MFC标题栏重绘的过程,最终效果是这样的。 1.因为要对标题栏进行重绘,我们要把MFC的原生标题栏给去掉,在MFC对话框的属性那里&a…

Windows界面编程:MFC

前言 大家之前在学C/C语言时,基本都是通过控制台实现“人机交流”的。但大家每次在写控制台程序时,看到黑框框应该都会有些许不爽吧:“输入输出为什么不能基于图形用户界面而非要使用文本用户界面呢?”事实上,在各个环…