【读书笔记】无人机控制(6)

简介: 本部分将介绍多架小型无人直升机编队飞行控制,作为 UAV 高级控制的一个示例。自主编队飞行控制系统设计为“领导者--跟随”模型。为了在系统约束下获得良好的控制性能,将“模型预测控制”应用于随动直升机的平动位置控制。在实时最优控制计算中,考虑了运动范围和避碰等位置约束。为了实现对干扰的鲁棒性,使用最小阶干扰观测器来估计不可测量的状态变量和干扰。

基于预测控制的多架小型直升机编队飞行控制

本部分将介绍多架小型无人直升机编队飞行控制,作为 UAV 高级控制的一个示例。自主编队飞行控制系统设计为“领导者--跟随”模型。为了在系统约束下获得良好的控制性能,将“模型预测控制”应用于随动直升机的平动位置控制。在实时最优控制计算中,考虑了运动范围和避碰等位置约束。为了实现对干扰的鲁棒性,使用最小阶干扰观测器来估计不可测量的状态变量和干扰。

编队控制

以鸟类和鱼类为灵感的编队控制是多交通工具系统中的热门话题。在无人机的自主飞行控制中,除了稳定性外,还需要高控制性能。具体可参考机器人编队控制

在本部分中。首先将直升机动力学建模为线性状态空间方程。其次,利用模型预测控制(MPC)设计了每个跟随器的位置控制器。成本函数以具有终端状态成本的线性二次型形式表示。此外,它还被扩充为一种反映避碰机动和通信范围的形式。

Leader–Follower 系统

此处由于考虑的是直升机,因而 leader 和 follower 之间的追踪可视为一个二维追踪,即 $$\begin{bmatrix} X_{r p} \\ Y_{r p} \end{bmatrix} = \begin{bmatrix} X_{l} + R_{p} \cos \psi_{l} - L_{p} \sin \psi_{l} \\ Y_{l} + R_{p} \sin \psi_{l} + L_{p} \cos \psi_{l}\end{bmatrix}, \quad p = 1, 2, \cdots, n.

$$ - $X_{r p} / Y_{r p}$ 是 follower 在惯性系中的参考轨迹; - $X_{l} / Y_{l}$ 是 leader 在惯性系中的参考轨迹; - $R_{p} / L_{p}$ 是 follower $p$ 相对于 leader 的位置坐标系的偏移量; - $\psi_{l}$ 是 leader 的方向角。 ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/98fe025191ea4b9c9173152c30241a6b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGlicmFWYW4=,size_15,color_FFFFFF,t_70,g_se,x_16#pic_center) ## 基于模型预测控制的控制器设计 本部分介绍一种分层制导控制器的设计方法,该控制器可使每个跟随者跟踪到指定的参考目标和编队结构。 ### 速度控制模型 首先介绍一个基于修正速度模型 $$\begin{aligned} G_{v x} = - g \frac{b}{s + b} \frac{1}{s - a}, \\ G_{v y} = g \frac{b}{s + b} \frac{1}{s - a}, \end{aligned}$$ 的平移速度和位置模型。 具体而言,现考虑的坐标体系如下图所示。但由于直升机的平动与垂直运动可以独立考虑,在仅考虑平动时,坐标轴取 $X^{\prime}OY^{\prime}$。 ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/f2b6603952454c70b0d1f3a48ff05004.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGlicmFWYW4=,size_12,color_FFFFFF,t_70,g_se,x_16#pic_center) #### 平动模型 假设其平动速率上界为 $5$ m/s,记 ${x}^{\prime}_{v} = [\dot{X}^{\prime} \ \ddot{X}^{\prime} \ \dot{Y}^{\prime} \ \ddot{Y}^{\prime}]^{\rm T}$,$u^{\prime}(t) = [\theta(t) \phi(t)]^{\rm T}$,其平动模型为 $$\begin{aligned} \dot{x}^{\prime}_{v} & = A_{v} x_{x}(t) + B_{v} u^{\prime}(t), \\ y^{\prime}(t) & = C_{v} x^{\prime}_{v}(t). \end{aligned}$$ 其中,$$A_{v} = \begin{bmatrix} 0 & 1 & 0 & 0\\ aT & a - T & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & aT & a - T \end{bmatrix}, \quad B_{v} = \begin{bmatrix} 0 & 0 \\ -gT & 0\\ 0 & 0 \\ 0 & gT \end{bmatrix}, \quad C_{v} = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0\end{bmatrix},$$ 且 $T = 2.00$,$a = 0.20$,$g$ 是重力常数。 - 由于速度的测量是在惯性系下进行的,因而需要坐标变换 $$\begin{bmatrix} \dot{X} \\ \dot{Y} \end{bmatrix} = \begin{bmatrix} \cos \psi & - \sin \psi \\ \sin \psi & \cos \psi \end{bmatrix} \begin{bmatrix} \dot{X}^{\prime} \\ \dot{Y}^{\prime} \end{bmatrix},$$ $$\begin{bmatrix} u_{X} \\ u_{Y} \end{bmatrix} = \begin{bmatrix} \cos \psi & - \sin \psi \\ \sin \psi & \cos \psi \end{bmatrix} \begin{bmatrix} \theta \\ \phi \end{bmatrix}.$$ 进而得到系统模型为 $$\begin{aligned} & \dot{x} _{v p \ {\rm argument}} (t) = A_{v} x_{v p}(t) + B_{v} u_{v p} + G_{v} r_{vp}, \\ & A_{v} = \begin{bmatrix} A_{v} & 0_{4 \times 2} \\ -C_{v} & 0_{2 \times 2}\end{bmatrix}, \quad B_{v} = \begin{bmatrix} B_{v} & \\ 0_{2 \times 2}\end{bmatrix}, \quad G_{v} = \begin{bmatrix} 0_{4 \times 2} \\ I_{2 }\end{bmatrix}, \\ & x_{vp \ {\rm argument}} = \begin{bmatrix} x_{v p}^{\rm T}(t) & \varepsilon_{v p}^{\rm T}(t) \end{bmatrix}^{\rm T}. \end{aligned}$$ - 基于上述模型,将性能指标降至最低的反馈控制输入为 $$\begin{aligned} J_{v p} & = \int_{0}^{\infty} x_{v p }^{\rm T}(\tau) Q_{v} x_{v p {\rm argument}}(\tau) + u_{v p}^{\rm T}(\tau) R_{v} u_{v p}(\tau) \; d\tau, \\ Q_{v} & \geq 0, \ R_{v} > 0. \end{aligned}$$ - 进一步地,速度闭环系统为 $$ \dot{x}_{v p \ {\rm argument}} = (A_{v} - B_{v} F_{v}) x_{v p}(t) + G_{v} r_{v p} (t).$$ 则平移位置模型为 $$\begin{aligned} \dot{x}_{p} = A x_{p}(t) + B r_{v p}(t) \\ y_{p} (t) = C x_{p}(t). \end{aligned}$$ 其中,$$A = \begin{bmatrix} 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0_{6 \times 1} & & A_{v}& - & B_{v} & F_{v} & & \end{bmatrix},$$ $$B = \begin{bmatrix} 0_{2 \times 2} \\ G_{v}\end{bmatrix}, \quad C = \begin{bmatrix} I_{2} & 0_{2 \times 6}\end{bmatrix}, \quad x_{p}(t) = \begin{bmatrix} X_{p}(t) & Y_{p}(t) & x_{v p \ {\rm argument}}^{\rm T}\end{bmatrix}^{\rm T}.$$ ### 模型预测控制器设计 利用 MPC (Model Predictive Controller) 方法推导了制导控制器。在 MPC 设计中,以二次形式描述性能指标,并考虑到系统的约束,如碰撞避免和通信范围。 #### 模型预测控制 ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/04de97c8b53e4628a3cf2f9307c3c68d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGlicmFWYW4=,size_18,color_FFFFFF,t_70,g_se,x_16#pic_center) 模型预测控制是一种基于模型的控制方法,它在每次考虑系统的轨迹跟踪或约束后,优化从当前时间到未来有限时间的响应。最优控制的范围随着时间的推移而减小,因此,这种方法也被称为后退范围控制。相关可参见[模型预测控制介绍](https://blog.csdn.net/u013414501/article/details/82657583?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%A8%A1%E5%9E%8B%E9%A2%84%E6%B5%8B%E6%8E%A7%E5%88%B6&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-82657583.pc_search_result_control_group&spm=1018.2226.3001.4187)。 #### 控制器设计 为了在没有任何跟踪误差的情况下跟踪参考位置设计了伺服系统。扩充状态方程如下 $$\begin{aligned} \dot{x}_{p} & = A x_{p}(t) + B r_{v p}(t) + G r_{p}(t), \\ A & = \begin{bmatrix} A & 0_{8 \times 2} \\ - C & 0_{2 \times 2}\end{bmatrix}, \quad B = \begin{bmatrix} B \\ 0_{2 \times 2}\end{bmatrix}, \quad G = \begin{bmatrix} 0_{8 \times 2} \\ I_{2}\end{bmatrix}, \\ x_{p} & = \begin{bmatrix} x_{p}^{\rm T} & \varepsilon_{p}^{\rm T} \end{bmatrix}^{\rm T}. \end{aligned}$$ 接下来在多架直升机的飞行中设置约束,即通信约束和碰撞约束。 - **通信约束**。当通过改变 $(R_{p}, L_{p})$ 来改变队形时。考虑到每架直升机的通信距离,即 $X_{\min} \leq X_{p} - X_{l} \leq X_{\max}$,$Y_{\min} \leq Y_{p} - Y_{l} \leq Y_{\max}$,设置以下约束条件以限制第 $p$ 个 follower 的位置,$$\begin{aligned} g_{1} (x_{\rm gap}) & = X_{\min} - (X_{p} - X_{l}) \leq 0, \\ g_{2} (x_{\rm gap}) & = (X_{p} - X_{l}) - X_{\max} \leq 0, \\ g_{3} (x_{\rm gap}) & = Y_{\min} - (Y_{p} - Y_{l}) \leq 0, \\ g_{4} (x_{\rm gap}) & = (Y_{p} - Y_{l}) - Y_{\max} \leq 0. \end{aligned}$$ - 进而设置的惩罚函数为 $$P_{j} = \begin{cases} \left[g_{j}x_{p} - \dfrac{\mu_{k}}{2} h_{k}(t)\right]^{2} + 3 \left(\dfrac{\mu_{k} h_{h}(t)}{2}\right)^{2}, \quad g_{j} (x_{a}) > 0, \\ \dfrac{(\mu_{k} h_{k}(t))^{3}}{g_{j}(x_{p}) + \mu_{k} h_{k}(t)}, \quad g_{j} (x_{a}) \leq 0.\end{cases}$$ 此处 $\mu_{k} > \mu_{k + 1} > 0$,$\lim_{k \to \infty} \mu_{k} = 0$,$h_{k}(t) \geq 0$。当 $g_{j} < 0$,$h_{k}(t) = 0$是最优轨迹。 - **碰撞约束**。在第 $p$ 个飞行器处增加人工势函数 $$\begin{aligned} P_{c} & = L \ln \left[a_{p}^{2} (X_{p} - X_{q})^{2} + b_{p}^{2} (Y_{p} - Y_{q})^{2}\right], \\ K & = \begin{cases} K_{o}, \quad & \sqrt{(X_{p} - X_{q})^{2} + (Y_{p} - Y_{q})^{2}} < d, \\ 0, \quad & \sqrt{(X_{p} - X_{q})^{2} + (Y_{p} - Y_{q})^{2}} \geq d. \end{cases}\end{aligned}$$ 此处,$K_{o}$,$a_{p}$,$b_{p}$ 均为调整性能的参数。 在此约束基础上,进而得到最优实时控制。

相关文章
|
安全 机器人 测试技术
带你读《无人机网络与通信》之一:无人机系统概述
本书针对无人机系统两个关键问题—通信组网和管控体系做了比较全面和深入的描述和探讨,特别是以大量笔墨分析了现有无线通信解决方案,对比了不同通信协议,得出了很有价值的研究结论。无人机的跨越式发展将涉及公共安全管理的问题,构建管控体系是当务之急,分级管理以及制定相应的适航标准是一件大事情,本书对此也进行了系统的、建设性的讨论。未来,高档无人机和无人机集群将对环境具有更强的感知能力和自适应能力,还有对任务的自规划和学习、调整能力,本书讨论的内容将为它们的发明、部署和监督提供宝贵的信息。
|
3月前
|
传感器
从零开始学习无人机 00 硬件配置
关于无人机硬件配置的介绍,包括遥控器乐迪Radiolink AT9S Pro的型号和固件更新、光流传感器思动智能ThoneFlow-3901U及其开发文档、距离传感器空循环Nooploop TOFSense-F Pro及其开发文档。同时,文章还涉及了使用Liftoff软件进行仿真训练的步骤,包括遥控器连接、校准以及训练方法。
39 0
|
3月前
|
数据采集 自动驾驶 算法
C语言自动驾驶实战项目:基于激光雷达的实时路径规划与避障系统
C语言自动驾驶实战项目:基于激光雷达的实时路径规划与避障系统
86 0
|
4月前
|
传感器 机器学习/深度学习 数据采集
无人飞行器的技术工作原理
无人飞行器(UAV,即Unmanned Aerial Vehicle)的工作原理涉及多个复杂的系统和技术。
103 7
|
6月前
|
NoSQL 机器人 Windows
ROS机器人编程技术控制两只小海龟的编队运动
ROS机器人编程技术控制两只小海龟的编队运动
197 1
|
机器学习/深度学习 传感器 算法
【无人机控制】基于PID实现无人机巡航控制附Matlab代码
【无人机控制】基于PID实现无人机巡航控制附Matlab代码
|
机器学习/深度学习 传感器 算法
基于虚拟刚体模型的四旋翼无人机群复杂障碍物的环境中航行控制附Matlab 实现
基于虚拟刚体模型的四旋翼无人机群复杂障碍物的环境中航行控制附Matlab 实现
|
机器学习/深度学习 传感器 算法
【无人机控制】基于RRT算法实现无人机系统在充满障碍物的环境避碰控制附matlab代码
【无人机控制】基于RRT算法实现无人机系统在充满障碍物的环境避碰控制附matlab代码
|
机器学习/深度学习 传感器 算法
【无人机编队】基于领导-跟随和人工势能法实现无人机协同编队控制附matlab仿真
【无人机编队】基于领导-跟随和人工势能法实现无人机协同编队控制附matlab仿真
|
传感器 算法框架/工具
【读书笔记】无人机控制(5)
该部分介绍为 UAV 设计非线性飞行控制器的主要步骤。该控制系统基于旋翼 UVA 的非线性模型,采用内外环控制方案,考虑了系统的非线性和耦合性,设计了一种易于实现和调试的实用控制器。利用级联系统理论证明了**完全闭环系统的渐近稳定性**。
132 0
【读书笔记】无人机控制(5)