系统辨识专题(二)——多旋翼飞行器建模

news/2024/11/30 1:29:27/

前言

  上一篇中详细阐述了MATLAB系统辨识工具箱的使用实例,本篇将以多旋翼飞行器为研究对象,详细阐述其刚体动力学模型、飞行控制刚体模型以及控制效率模型。最后,针对多旋翼飞行器控制系统设计当中的主要系统辨识问题进行解析。

多旋翼飞行器建模结构解析

  在进行多旋翼飞行器建模之前,我们需要了解与多旋翼飞行器系统设计息息相关的主要几大模型:

  • 动力系统模型
      动力系统模型,描述的是为多旋翼飞行器提供拉力与扭矩的驱动系统模型。该模型描述了飞控系统输出的油门与电机转速之间的关系。

  • 控制效率模型
      控制效率模型,描述的是升力、扭矩与电机转速之间的关系。其关系矩阵称为控制效率矩阵,该矩阵的逆矩阵称为控制分配矩阵。

  • 刚体动力学模型
      刚体动力学模型,描述的是升力与加速度之间的关系以及扭矩与角加速度之间的关系。

  • 刚体运动学模型
      刚体运动学模型,描述的是位置与速度、角度与角速度之间的关系。

  如图1所示为多旋翼飞行器四大模型之间的关系结构图:
在这里插入图片描述

多旋翼飞行器的刚体动力学模型及飞行控制刚体模型

  在进行建模前,我们需要作如下假设:

  • 多旋翼飞行器是刚体
  • 多旋翼飞行器的质量与转动惯量不变(质量发生变化的案例,后续文章展开详解)
  • 多旋翼飞行器几何中心与重心一致
  1. 多旋翼飞行器刚体运动学模型
      令多旋翼飞行器的重心向量为 p e p^{e} pe ,则 p ˙ e = v e \dot p^{e}=v^{e} p˙e=ve 其中 v e v^{e} ve 表示多旋翼飞行器的飞行速度。
    对于欧拉角模型而言,有下式子,其中 Θ \Theta Θ 为世界坐标系下的欧拉角, R R R 为旋转矩阵。
    { p ˙ e = v e Θ ˙ = R ⋅ ω b \begin{cases} \dot p^{e}=v^e\\[2ex] \dot \Theta=R \cdot\omega^b \end{cases} p˙e=veΘ˙=Rωb
  2. 多旋翼飞行器刚体动力学模型
      对多旋翼飞行器进行受力分析,易知, v ˙ e = g e 3 − f m b 3 = g e 3 + R f e m \dot v^{e}=ge_{3}-\frac{f}{m}b_{3}=ge_{3}+R\frac{f^e}{m} v˙e=ge3mfb3=ge3+Rmfe 其中, e 3 e_{3} e3 为世界坐标系下的单位矢量, b 3 b_{3} b3 为机体坐标系下的单位矢量, g g g 为重力, R R R 为旋转矩阵。由于,
    v e = R ⋅ v b v^e=R \cdot v^b ve=Rvb
    可得,
    v ˙ b = − ω b × v b + g R T e 3 − f m e 3 \dot v^b=-\omega^b\times v^b+gR^Te_{3}-\frac{f}{m}e_{3} v˙b=ωb×vb+gRTe3mfe3
    在机体坐标系内建立姿态动力学方程:
    J ⋅ w ˙ b = − ω b × ( J ⋅ ω b ) + G a + τ J\cdot\dot w^b=-\omega^b\times (J \cdot \omega^b)+G_{a}+\tau Jw˙b=ωb×(Jωb)+Ga+τ
    其中, J J J 为转动惯量, G a G_{a} Ga 为陀螺力矩, τ \tau τ 为螺旋桨产生的力矩。
  3. 飞行控制刚体模型
    联立上式可得飞行控制刚体模型,
    { p ˙ e = v e v ˙ e = g e 3 − f m b 3 = g e 3 + R f e m Θ ˙ = R ⋅ ω b J ⋅ w ˙ b = − ω b × ( J ⋅ ω b ) + G a + τ \begin{cases} \dot p^{e}=v^e\\[2ex] \dot v^{e}=ge_{3}-\frac{f}{m}b_{3}=ge_{3}+R\frac{f^e}{m}\\[2ex] \dot \Theta=R \cdot\omega^b\\[2ex] J\cdot\dot w^b=-\omega^b\times (J \cdot \omega^b)+G_{a}+\tau \end{cases} p˙e=vev˙e=ge3mfb3=ge3+RmfeΘ˙=RωbJw˙b=ωb×(Jωb)+Ga+τ

多旋翼飞行器的控制效率模型

在这里插入图片描述
  如图2所示为多旋翼飞行器的一般性机架布局示意图,由图可推出螺旋桨升力、力矩与电机转速之间的关系,即控制效率模型,
[ f τ x τ y τ z ] = M ⋅ [ ω 1 2 ω 2 2 ω 3 2 ω 4 2 ] \begin{bmatrix} f\\ \tau_{x}\\ \tau_{y}\\ \tau_{z} \end{bmatrix} =M\cdot \begin{bmatrix} \omega_{1}^{2}\\ \omega_{2}^{2}\\ \omega_{3}^{2}\\ \omega_{4}^{2} \end{bmatrix} fτxτyτz=Mω12ω22ω32ω42
M M M 即为控制效率矩阵,
M = [ c T c T ⋯ c T − d 1 c T s i n φ 1 − d 2 c T s i n φ 2 ⋯ − d n c T s i n φ n d 1 c T c o s φ 1 d 2 c T c o s φ 2 ⋯ d n c T c o s φ n c M δ 1 c M δ 2 ⋯ c M δ n ] M= \begin{bmatrix} c_{T} &c_{T}&\cdots&c_{T}\\ -d_{1}c_{T}sin\varphi_{1}&-d_{2}c_{T}sin\varphi_{2}&\cdots&-d_{n}c_{T}sin\varphi_{n} \\d_{1}c_{T}cos\varphi_{1}&d_{2}c_{T}cos\varphi_{2}&\cdots&d_{n}c_{T}cos\varphi_{n}\\ c_{M}\delta_{1}&c_{M}\delta_{2}&\cdots&c_{M}\delta_{n} \end{bmatrix} M=cTd1cTsinφ1d1cTcosφ1cMδ1cTd2cTsinφ2d2cTcosφ2cMδ2cTdncTsinφndncTcosφncMδn
其中, δ i = ( − 1 ) i + 1 ( i = 1 , ⋯ , n ) \delta_{i}=(-1)^{i+1}(i=1,\cdots,n) δi=(1)i+1(i=1,,n)
其逆矩阵 M − 1 M^{-1} M1 即为控制分配矩阵,对上式求逆即可得到电机转速与升力、力矩的关系式:
[ ω 1 ω 2 ω 3 ω 4 ] = M − 1 ⋅ [ f τ x τ y τ z ] \begin{bmatrix} \omega_{1}\\ \omega_{2}\\ \omega_{3}\\ \omega_{4} \end{bmatrix} =\sqrt{M^{-1}\cdot \begin{bmatrix} f\\ \tau_{x}\\ \tau_{y}\\ \tau_{z} \end{bmatrix} } ω1ω2ω3ω4=M1fτxτyτz

多旋翼飞行器控制系统设计中的系统辨识问题

  在对多旋翼飞行器的模型结构有了清晰的认识后,我们需要知道如何将这些模型应用于实际的系统设计中(导航系统与控制系统,这里以控制系统为例)。
  在实际的多旋翼飞行器系统设计当中,我们往往将建模与系统辨识技术用于:

  • 关键子系统的建模与系统辨识、控制系统设计
      系统建模不仅使得我们了解其特性,更重要的是,我们能够使用频域/时域的分析工具,对其频域/时域指标进行定量分析,进而选择合适的控制器,同时,辅助进行参数整定与仿真验证工作。
  • 控制效率模型的解析
      从上文中可知,控制效率模型描述了升力、力矩以及电机转速之间的关系,其系数矩阵的逆矩阵称为控制分配矩阵。该矩阵代表了从各子控制系统之间的控制输出与电机转速之间的分配关系。当该矩阵中各参数已知且接近真值时,各子控制系统的控制分配效率达到理论值(最佳效率)。
    如何简单地理解以上描述呢?我们在设计多旋翼飞行器的各子控制系统时,如横滚通道控制器、俯仰通道控制器、偏航通道控制器以及油门通道控制器,各控制通道的输出以控制分配矩阵中描述的系数进行叠加,那么实际工程中将出现以下情况:
    当控制分配矩阵系数偏离真值时,控制器的“效率”大幅度降低,这里的“效率”可以用“有用功”来类比,用一个形象的例子解释,
      一辆马车本意向着南方高速行进,但由于车轮偏了45度,原本往南行进的马车变成了向西偏南45度行进,这样,即使这批马车的速度与其他马车相同,他也需要花更多地时间与精力在修正行程偏差上,最终他才能够达到终点。
      这里的控制分配矩阵即代表了各控制子系统之间的效率分配关系,当控制分配矩阵系数偏离真值时,各子系统均无法工作在最佳效率点,严重的情况下,甚至会出现类似动力不足,控制系统性能恶化的现象。
      从上文可知,该控制分配矩阵的系数具有明确的物理意义,我们可以通过实验法进行精确测量,具体的测量方案将在下篇详解,本篇暂不作赘述。
  • 关键子系统的故障诊断与健康状况评估
      在建立了多旋翼飞行器的几大关键模型后,我们可以根据模型进行频域特性分析,进而选择经典或现代控制理论中的控制器进行控制系统设计;同时,也能够根据该模型设计故障观测器,提取关键的几项性能指标作为评估准则,实时地检测整个控制系统的健康状况。我们将在后续的文章中详细展开。

总结

  本篇以多旋翼飞行器的建模问题展开,着重介绍了多旋翼飞行器建模问题中的四大主要模型,及其相互之间的联系;随后,针对多旋翼飞行器控制系统设计中的系统辨识问题进行了详细阐述。根据以上结论可知,对于飞行控制系统设计有意义的物理参数为 c T , c M , m , J c_{T},c_{M},m,J cT,cM,m,J,下一篇中将针对多旋翼飞行器建模问题中的参数测量方法进行详解。


作者简介: 一个被Coding耽误的无人机算法工程师,控制、导航略懂一二,热衷技术,喜欢乒乓、音乐、电影,欢迎交流。

知乎: @遥远的乌托邦

GitHub: https://github.com/DistantUtopia

微信公众号: @遥远的乌托邦
在这里插入图片描述


http://www.ppmy.cn/news/895335.html

相关文章

多旋翼飞行器设计与控制·Pixhawk4以及外部设备接线(笔记004)

笔记主要来源:Pixhawk 4 接线快速入门 目录 一、Pixhawk 4 的各个接口 二、接线图概览(重要传感器及外围设备) 三、飞控、GPS的安装和方向 四、电源 五、无线电遥控 六、数传电台(可选) 七、SD Card(…

【飞行器】基于matlab四旋翼飞行器飞行控制系统【含Matlab源码 1266期】

一、获取代码方式 获取代码方式1: 完整代码已上传我的资源:【飞行器】基于matlab四旋翼飞行器飞行控制系统【含Matlab源码 1266期】 点击上面蓝色字体,直接付费下载,即可。 获取代码方式2: 付费专栏Matlab路径规划(初级版) 备注: 点击上面蓝色字体付费专栏Matlab路径…

我发现全权又出了本《多旋翼飞行器设计与控制实践》,讲的pixhawk

我发现全权又出来本多旋翼飞行器设计与控制实践,讲的pixhawk,看来选用pixhawk是没错的,还是先不要轻易弄个人开发的一些飞控。 这本书买到手了,里面除了讲基本原理之外也讲了PX4的一些基础设置,包括固件下载&#xff0…

多飞行机器人吊运系统研究进展及挑战

摘要: 多飞行机器人吊运系统是指由多个旋翼飞行机器人、吊绳及单个悬挂负载共同构成的具有空中操作能力的一类新型机电系统,具有灵活性强、地域可达性好、运输便捷、载荷能力强等显著优点.多飞行机器人吊运系统应用广泛,但是其建模与控制还存在诸多挑战.旋翼飞行机器人自身是…

多旋翼飞行器设计与控制(三)—— 机架设计

多旋翼飞行器设计与控制(三)—— 机架设计 一、布局设计 1、机身基本布局 共有三种:环型、***字型***、X字型 常用X字型: 机动性更强前视相机的视场角不容易被遮挡 环形的特点: 刚性更大避免飞行中的振动&#x…

多旋翼飞行器设计之减震系统的重要性

减震系统是多旋翼飞行器设计中非常重要的环节,好的减震系统可以很好地减轻数字滤波的负担,同时能极大地提升控制系统的性能; 下面针对整个减震系统做一个简要分析;首先,IMU减震海绵配重块这样的一个系统可以等效为弹簧…

多旋翼飞行器设计与控制(一)—— 绪论

多旋翼飞行器设计与控制(一)—— 绪论 前言: 最近我在学习控制技术在机器人设计上的应用。毫无疑问多旋翼无人机是验证控制模型和滤波算法最佳的实验载体。我找到了北航的可靠飞行控制研究组的课程,并打算用博客来记录自己的学习过…