读书笔记:无人机控制(四)

2024-09-01 08:08

本文主要是介绍读书笔记:无人机控制(四),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 自主四倾翼 (Quad-Tilt-Wing) UAV:设计、建模和控制
    • QTW-UAV
    • 建模
      • 偏航 (Yaw Model)
      • 横滚和俯仰姿态模型 (Roll and Pitch Attitude Model)
    • 姿态控制系统设计
      • 偏航动力学控制系统设计
      • 横摇和俯仰动力学控制系统设计

自主四倾翼 (Quad-Tilt-Wing) UAV:设计、建模和控制

QTW-UAV可实现垂直起降;此外,直升机特有的悬停飞行和固定翼飞机特有的高速巡航可以通过倾斜机构改变旋翼和机翼的角度来实现。首先,利用辨识方法建立了 QTW-UAV 的姿态模型。然后采用基于卡尔曼滤波的线性二次积分 (LQI) 控制方法设计姿态控制系统;实验结果表明,基于模型的控制设计对于 QTW-UAV 的自主控制非常有效。

QTW-UAV

已经投入运行和研究的无人机大致可分为两类 — 基于固定翼飞机的无人机和基于旋转翼(如直升机)的无人机。

  • 基于固定翼飞机的无人机可以以较大的巡航速度飞行,但起飞和着陆需要非常大的场地,不适合在城市地区执行任务。
  • 基于旋转翼的无人机,不需要选择起飞和着陆地点,因为它们可以垂直起飞和着陆。此外,它们还可以执行悬停的稳定飞行操作;因此,它们有利于监测固定点。然而,它们的巡航速度低于固定翼飞机,因此,它们可以执行任务的区域很小。

QTW-UAV 结合了上述两者的优势。该无人机是为各种观测任务而开发的,如极地观测。它有四个转子、四个机翼和一个由电动机驱动的倾斜机构;这种无人机的飞行模式可以通过倾斜旋翼和机翼来改变。

  • 第一种飞行模式为直升机模式,在此模式下,QTW-UAV 可以垂直起飞和降落;它可以在一个固定点上悬停。
  • 第二种飞行模式是飞机模式;在此模式下,QTW-UAV 可以驾驶飞机,并且可以高速移动。

飞行模式示意图 (引自书本)
如上图所示,

  • 在直升机模式下,旋翼和机翼在水平面上的倾角几乎为 90 ° 90 {\degree} 90°。在这种状态下,QTW-UAV 在滚动方向上转动一个力矩是由转子推力 R 1 R_{1} R1 R 4 R_{4} R4 和转子推力 R 2 R_{2} R2 R 3 R_{3} R3 之间的差异引起的;并且,QTW-UAV 在俯仰方向上的力矩旋转是由转子推力 R 1 R_{1} R1 R 2 R_{2} R2 和转子推力 R 3 R_{3} R3 R 4 R_{4} R4 之间的差异引起的。此外,QTW-UAV 可通过每个旋翼和翼伞 F 1 F_{1} F1 F 2 F_{2} F2 F 3 F_{3} F3 F 4 F_{4} F4 的滑流效应产生的偏航力矩绕偏航方向旋转。
  • 在飞机模式下, 0 ° 0 {\degree} 0°。在这种状态下,QTW-UAV 在滚动方向上旋转一个力矩,该力矩由 F 1 F_{1} F1 F 4 F_{4} F4 F 2 F_{2} F2 F 3 F_{3} F3 之间的升力差异引起的;此外,QTW-UAV 通过 F 1 F_{1} F1 F 2 F_{2} F2 F 3 F_{3} F3 F 4 F_{4} F4 升力差产生的力矩沿俯仰方向旋转。此外,QTW-UAV 可通过转子推力 R 1 R_{1} R1 R 4 R_{4} R4 和转子推力 R 2 R_{2} R2 R 3 R_{3} R3 之间的差异产生的偏航力矩在偏航方向上旋转。

建模

建立直升机模式下 QTW-UAV 的三轴姿态、横滚、俯仰和偏航的数学模型。
坐标系

偏航 (Yaw Model)

四个转子对称地位于重心周围, L L L 是转子中心和重心之间的长度。此外, X b ′ X_{b}^{\prime} Xb 轴和 Y b ′ Y_{b}^{\prime} Yb 轴分别沿转子 R 1 R_{1} R1 R 2 R_{2} R2 的中心,并且彼此成直角。因此, Ψ = 45 ° \Psi = 45 \degree Ψ=45°

现考虑 f p f_{p} fp 是由滑移流效应引起的每个翼面上的力;引起的围绕重心的力矩计算为 f p L sin ⁡ Ψ f_{p} L \sin \Psi fpLsinΨ,围绕 Z b Z_{b} Zb 轴的整个力矩 M z = 4 f p L sin ⁡ Ψ . M_{z} = 4 f_{p} L \sin \Psi. Mz=4fpLsinΨ.

%% 这部分没太看懂

横滚和俯仰姿态模型 (Roll and Pitch Attitude Model)

QTW-UAV 的横滚和俯仰姿态角随四个转子推力差产生的力矩而变化。

首先,介绍了滚转或俯仰方向的力矩与四个转子推力之间的关系。每个转子产生的推力表示为直流元件和波动的总和,
T R 1 = T d + T x R 1 , T R 2 = T d + T x R 2 , T R 3 = T d + T x R 3 , T R 4 = T d + T x R 4 . T_{R_{1}} = T_{d} + T_{x R_{1}}, \\ T_{R_{2}} = T_{d} + T_{x R_{2}}, \\ T_{R_{3}} = T_{d} + T_{x R_{3}}, \\ T_{R_{4}} = T_{d} + T_{x R_{4}}. TR1=Td+TxR1,TR2=Td+TxR2,TR3=Td+TxR3,TR4=Td+TxR4.
这里, T R T_{R} TR 是每个转子的推力; T d T_{d} Td 是推力的直流分量; T x R T_{x R} TxR 是推力的波动。

接下来 QTW-UAV 各转子推力差产生的绕机身重心的力矩为
M X b ′ = − L ( T R 2 − T R 4 ) = − L ( T x R 2 − T x R 4 ) , M Y b ′ = − L ( T R 1 − T R 3 ) = − L ( T x R 1 − T x R 3 ) , M_{X_{b}^{\prime}} = - L \left(T_{R_{2}} - T_{R_{4}}\right) = - L \left(T_{x R_{2}} - T_{x R_{4}}\right), \\ M_{Y_{b}^{\prime}} = - L \left(T_{R_{1}} - T_{R_{3}}\right) = - L \left(T_{x R_{1}} - T_{x R_{3}}\right), MXb=L(TR2TR4)=L(TxR2TxR4),MYb=L(TR1TR3)=L(TxR1TxR3),
此处 M X b ′ M_{X_{b}^{\prime}} MXb M Y b ′ M_{Y_{b}^{\prime}} MYb 分别是物体重心周围力矩的 X b ′ X_{b}^{\prime} Xb 轴和 Y b ′ Y_{b}^{\prime} Yb 轴分量。

然后在坐标系 F b F_{b} Fb 中对 M X b ′ M_{X_{b}^{\prime}} MXb M Y b ′ M_{Y_{b}^{\prime}} MYb 进行坐标变换得到
M X b = M X b ′ cos ⁡ Ψ + M Y b ′ sin ⁡ Ψ = K 2 ( T x R 4 − T x R 2 ) + K 3 ( T x R 1 − T x R 3 ) , M Y b = M X b ′ sin ⁡ Ψ + M Y b ′ sin ⁡ Ψ = K 3 ( T x R 4 − T x R 2 ) + K 2 ( T x R 1 − T x R 3 ) . M_{X_{b}} = M_{X_{b}^{\prime}} \cos \Psi + M_{Y_{b}^{\prime}} \sin \Psi = K_{2} \left(T_{x R_{4}} - T_{x R_{2}}\right) + K_{3} \left(T_{x R_{1}} - T_{x R_{3}}\right), \\ M_{Y_{b}} = M_{X_{b}^{\prime}} \sin \Psi + M_{Y_{b}^{\prime}} \sin \Psi = K_{3} \left(T_{x R_{4}} - T_{x R_{2}}\right) + K_{2} \left(T_{x R_{1}} - T_{x R_{3}}\right). MXb=MXbcosΨ+MYbsinΨ=K2(TxR4TxR2)+K3(TxR1TxR3),MYb=MXbsinΨ+MYbsinΨ=K3(TxR4TxR2)+K2(TxR1TxR3).
此处 K 2 = L cos ⁡ Ψ K_{2} = L \cos \Psi K2=LcosΨ K 3 = L sin ⁡ Ψ K_{3} = L \sin \Psi K3=LsinΨ 是由转子的几何布置确定的常数。

现假设力矩和角速度之间的动力学传递函数为一阶,与偏航模型的情况类似,角速度的数学模型为
P = T p s + T p [ K 2 ( T x R 4 − T x R 2 ) + K 3 ( T x R 1 − T x R 3 ) ] , Q = T q s + T q [ K 3 ( T x R 2 − T x R 4 ) + K 2 ( T x R 1 − T x R 3 ) ] , P = \frac{T_{p}}{s + T_{p}} \left[K_{2} \left(T_{x R_{4}} - T_{x R_{2}}\right) + K_{3} \left(T_{x R_{1}} - T_{x R_{3}}\right)\right], \\ Q = \frac{T_{q}}{s + T_{q}} \left[K_{3} \left(T_{x R_{2}} - T_{x R_{4}}\right) + K_{2} \left(T_{x R_{1}} - T_{x R_{3}}\right)\right], P=s+TpTp[K2(TxR4TxR2)+K3(TxR1TxR3)],Q=s+TqTq[K3(TxR2TxR4)+K2(TxR1TxR3)],
这里, P P P Q Q Q 分别是角速率 p p p q q q 的 Laplace 变换, T p T_{p} Tp T q T_{q} Tq 是系统的时间常数。

此外,考虑滚转和俯仰控制输入为 δ ϕ \delta_{\phi} δϕ δ θ \delta_{\theta} δθ,这些输入与每个转子推力波动之间的关系表示为方程式 T x R i = K 4 R i δ ϕ + K 5 R i δ θ , i = 1 , 2 , 3 , 4. T_{x R_{i}} = K_{4 R_{i}} \delta_{\phi} + K_{5 R_{i}} \delta_{\theta}, \quad i = 1, 2, 3, 4. TxRi=K4Riδϕ+K5Riδθ,i=1,2,3,4. 然后,转换后的模型为
P = T p s + T p { [ K 2 ( K 4 R 4 − K 4 R 2 ) + K 3 ( K 4 R 1 − K 4 R 3 ) ] δ ϕ + [ K 2 ( K 5 R 4 − K 5 R 2 ) + K 3 ( K 5 R 1 − K 5 R 3 ) ] δ θ } , Q = T q s + T q { [ K 2 ( K 4 R 1 − K 4 R 3 ) + K 3 ( K 4 R 2 − K 4 R 4 ) ] δ ϕ + [ K 2 ( K 5 R 1 − K 5 R 3 ) + K 3 ( K 5 R 2 − K 5 R 4 ) ] δ θ } , P = \frac{T_{p}}{s + T_{p}} \left\{\left[K_{2} \left(K_{4 R_{4}} - K_{4 R_{2}}\right) + K_{3} \left(K_{4 R_{1}} - K_{4 R_{3}}\right)\right] \delta_{\phi} + \left[K_{2} \left(K_{5 R_{4}} - K_{5 R_{2}}\right) + K_{3} \left(K_{5 R_{1}} - K_{5 R_{3}}\right)\right] \delta_{\theta}\right\}, \\ Q = \frac{T_{q}}{s + T_{q}} \left\{\left[K_{2} \left(K_{4 R_{1}} - K_{4 R_{3}}\right) + K_{3} \left(K_{4 R_{2}} - K_{4 R_{4}}\right)\right] \delta_{\phi} + \left[K_{2} \left(K_{5 R_{1}} - K_{5 R_{3}}\right) + K_{3} \left(K_{5 R_{2}} - K_{5 R_{4}}\right)\right] \delta_{\theta}\right\}, P=s+TpTp{[K2(K4R4K4R2)+K3(K4R1K4R3)]δϕ+[K2(K5R4K5R2)+K3(K5R1K5R3)]δθ},Q=s+TqTq{[K2(K4R1K4R3)+K3(K4R2K4R4)]δϕ+[K2(K5R1K5R3)+K3(K5R2K5R4)]δθ},
通过使用速率陀螺,每个轴向耦合的影响是微不足道的,并且可以将系统动力学近似为 SISO 模型。最后,横摇和俯仰方向的角速率模型可以近似为二阶系统
P = b p 1 s 2 + a p 1 s + a p 2 δ ϕ , Q = b q 1 s 2 + a q 1 s + a q 2 δ θ . P = \frac{b_{p1}}{s^{2} + a_{p1} s + a_{p2}} \delta_{\phi}, \\ Q = \frac{b_{q1}}{s^{2} + a_{q1} s + a_{q2}} \delta_{\theta}. P=s2+ap1s+ap2bp1δϕ,Q=s2+aq1s+aq2bq1δθ.
添加一个积分元素,从输入到 QTW-UAV 姿态角的传递函数如下
ϕ = b p 1 s ( s 2 + a p 1 s + a p 2 ) δ ϕ , θ = b q 1 s ( s 2 + a q 1 s + a q 2 ) δ θ . (1) \phi = \frac{b_{p1}}{s (s^{2} + a_{p1} s + a_{p2})} \delta_{\phi}, \\ \theta = \frac{b_{q1}}{s (s^{2} + a_{q1} s + a_{q2})} \delta_{\theta}. \tag{1} ϕ=s(s2+ap1s+ap2)bp1δϕ,θ=s(s2+aq1s+aq2)bq1δθ.(1)
其中参数如下

参数数值参数数值
a p 1 a_{p1} ap1 35.2 35.2 35.2 a p 2 a_{p2} ap2 350.23 350.23 350.23
b p 1 b_{p1} bp1 163.03 163.03 163.03 a q 1 a_{q1} aq1 10.15 10.15 10.15
a q 2 a_{q2} aq2 43.48 43.48 43.48 b q 1 b_{q1} bq1 20.35 20.35 20.35

姿态控制系统设计

偏航动力学控制系统设计

该部分的设计与之前相似

横摇和俯仰动力学控制系统设计

采用 LQI 控制方法设计了横摇和俯仰姿态控制器。由于两者之间具有相似性,仅对横摇进行详细介绍。

  • 基于 (1) 的实现为 x r ˙ = A r x r + B r δ ϕ , y r = C r x r , y r = ϕ . \begin{aligned} \dot{x_{r}} & = A_{r} x_{r} + B_{r} \delta_{\phi}, \\ y_{r} & = C_{r} x_{r}, \\ y_{r} & = \phi. \end{aligned} xr˙yryr=Arxr+Brδϕ,=Crxr,=ϕ. 进而可得到增广系统 [ x r ˙ e ˙ ] = [ A r O 3 × 1 − C r 0 ] [ x r e ] + [ B r 0 ] δ ϕ + [ O 3 × 1 1 ] δ ϕ r e f . \begin{bmatrix} \dot{x_{r}} \\ \dot{e} \end{bmatrix} = \begin{bmatrix} {A_{r}} & O_{3 \times 1} \\ - C_{r} & 0 \end{bmatrix} \begin{bmatrix} {x_{r}} \\ {e} \end{bmatrix} + \begin{bmatrix} {B_{r}} \\ {0} \end{bmatrix} \delta_{\phi} + \begin{bmatrix} {O_{3 \times 1}} \\ {1} \end{bmatrix} \delta_{\phi_{\rm ref}}. [xr˙e˙]=[ArCrO3×10][xre]+[Br0]δϕ+[O3×11]δϕref.
    此处 ϕ r e f \phi_{\rm ref} ϕref 表示滚转姿态角的参考, x ˉ r \bar{x}_{r} xˉr 表示该伺服增强系统的状态向量。
  • 利用最优控制理论可以求解使准则 J J J 最小的反馈增益 F r F_{r} Fr
    J = ∫ 0 ∞ x ˉ r T ( t ) Q x ˉ r ( t ) + δ ϕ ( t ) R δ ϕ ( t ) d t , δ ϕ = − F r x ˉ r , Q = [ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 500 ] , R = 2. \begin{aligned} J & = \int_{0}^{\infty} \bar{x}_{r}^{\rm T}(t) Q \bar{x}_{r}(t) + \delta_{\phi}(t) R \delta_{\phi}(t) \; d t, \\ \delta_{\phi} & = - F_{r} \bar{x}_{r}, \\ Q & = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 500 \end{bmatrix}, \quad R = 2. \end{aligned} JδϕQ=0xˉrT(t)Qxˉr(t)+δϕ(t)Rδϕ(t)dt,=Frxˉr,=100001000010000500,R=2.

这篇关于读书笔记:无人机控制(四)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1126388

相关文章

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

使用DrissionPage控制360浏览器的完美解决方案

《使用DrissionPage控制360浏览器的完美解决方案》在网页自动化领域,经常遇到需要保持登录状态、保留Cookie等场景,今天要分享的方案可以完美解决这个问题:使用DrissionPage直接... 目录完整代码引言为什么要使用已有用户数据?核心代码实现1. 导入必要模块2. 关键配置(重点!)3.

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

python之流程控制语句match-case详解

《python之流程控制语句match-case详解》:本文主要介绍python之流程控制语句match-case使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录match-case 语法详解与实战一、基础值匹配(类似 switch-case)二、数据结构解构匹

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us

Python中如何控制小数点精度与对齐方式

《Python中如何控制小数点精度与对齐方式》在Python编程中,数据输出格式化是一个常见的需求,尤其是在涉及到小数点精度和对齐方式时,下面小编就来为大家介绍一下如何在Python中实现这些功能吧... 目录一、控制小数点精度1. 使用 round() 函数2. 使用字符串格式化二、控制对齐方式1. 使用

Springboot控制反转与Bean对象的方法

《Springboot控制反转与Bean对象的方法》文章介绍了SpringBoot中的控制反转(IoC)概念,描述了IoC容器如何管理Bean的生命周期和依赖关系,它详细讲解了Bean的注册过程,包括... 目录1 控制反转1.1 什么是控制反转1.2 SpringBoot中的控制反转2 Ioc容器对Bea

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC

Python实现局域网远程控制电脑

《Python实现局域网远程控制电脑》这篇文章主要为大家详细介绍了如何利用Python编写一个工具,可以实现远程控制局域网电脑关机,重启,注销等功能,感兴趣的小伙伴可以参考一下... 目录1.简介2. 运行效果3. 1.0版本相关源码服务端server.py客户端client.py4. 2.0版本相关源码1