【读书笔记】无人机控制(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}$ 均为调整性能的参数。 在此约束基础上,进而得到最优实时控制。

相关文章
|
JSON JavaScript 数据可视化
D3 不到20行代码就能实现世界地图的绘制
每到农历年末,相信很多小伙伴和本作者一样,都忍不住会去看江苏卫视的一档脑力比拼节目《最强大脑》,尽管上一季最强大脑喷点确实很多,但依旧没有减弱"追剧"的热情。今年最强大脑(第5季)的赛制有很大的变化,挑战的人数从百人大战,到最强30脑,再到现从第三场的一对一PK,确实与以往有了很大的不同。此外,今年更加强调了选手在生活中的光环,例如本文要引用的一场比赛就是最近一期来自清华的孙勇与北京的陈泽坤的一场以地图投影为背景的比赛,孙勇就是顶着2016安徽省高考理科状元的光环来的。今年没了叨叨魏,节目的流程显得自然了很多。好了,不扯了,来、来、来来来!我们开始说本文要讲的主题--地图。
1885 0
D3 不到20行代码就能实现世界地图的绘制
|
云计算 项目管理 云安全
附PPT下载 | 小邪:新基建之云上IT研发路 - 基于云架构的研发模式演进
企业的数字化上云已经成为社会共识。5G、工业互联网、人工智能、云计算作为数字经济的主要基础设施,将成为中国新基建的主要内容。云将给IT部门及IT人员带来研发运维方面的革命性的变化与冲击。本次分享将由阿里巴巴集团副总裁、云智能基础产品事业部负责人蒋江伟为大家介绍阿里巴巴面向互联网、面向云的研发模式的演
1794 0
Electron + Vite + TS + Vue3打开新窗口实战
前言 我们在使用 Electron 编写桌面应用时,打开新窗口可以说是一个非常常见的场景了。很多刚接触 Electron 的小伙伴面对这样一个问题可能都会显得比较棘手,比如打开新窗口如何知道渲染哪一个页面?打开的新窗口如何与其它窗口产生联系,比如父子窗口?...等等一系列问题。 今天我们就将 Electron 打开新窗口的常见做法分享给大家,而且是基于最新的 TS 封装。
2196 0
Electron + Vite + TS + Vue3打开新窗口实战
|
存储 数据可视化 安全
一张图的七十二变——阿里云OSS图片处理实践
      小张是某视频网站的新入职的UED,日常工作就是创作各式各样的海报banner。踌躇满志的小张,上了三天班就蔫了。因为他在完成一张图的创作后,还需要考虑:• 同一张图会以不同的形式应用于网站各处:有时候需裁剪成不同形状,有时需要加水印,有时需转换格式....• 为了风格统一,不同的图需要保持样式统一:不同图片排列组成成一组,每组图片风格(
2900 0
|
9月前
|
人工智能 自动驾驶 物联网
5G到底有多牛?一文看懂它的原理与优势!
5G到底有多牛?一文看懂它的原理与优势!
703 19
|
10月前
|
编解码 人工智能 缓存
轻装出海:一站式微短剧出海指南
轻装出海:一站式微短剧出海指南
671 0
|
存储 机器学习/深度学习 传感器
【通信】基于Matlab实现动态帧时隙ALOHA(Dynamic Framed Slotted ALOHA)算法
【通信】基于Matlab实现动态帧时隙ALOHA(Dynamic Framed Slotted ALOHA)算法
【通信】基于Matlab实现动态帧时隙ALOHA(Dynamic Framed Slotted ALOHA)算法
|
数据库 网络架构 索引
宏基因组之基因丰度计算
目前有两种方式可计算宏基因组基因的丰度,一种是基于比对,比如bwa,bowtie,soapaligner等主流的比对软件,另一种是不比对快速估计基因丰度,可以用近俩年来流行的salmon软件,这个软件在转录组的数据比对中也经常用到,可以直接计算出原始的Counts值和标准化的TPM值,此外由于是基于非比对,计算的速度得到很大的提升,同时也节省了部分的内存(少了庞大的sam/bam文件),可以说是多快好省,但是目前的高分文章中也还是不少用基于比对的方法去计算宏基因组的基因丰度的,下面我就分别简单介绍一下基于比对的soapaligner和不比对快速估计的samlon俩个软件的操作流程!!
1755 0
|
敏捷开发 消息中间件 运维
浩鲸科技基于ChaosBlade的混沌工程实践
浩鲸科技在海量互联网服务以及当前爆炸式增长的流量场景实践过程中,沉淀出了包括,链路压测,流控管理,动态扩缩容,故障演练等高可用核心技术,并通过云上服务化、平台化和工具化的形式,帮助内部产品研发部门以及客户,提高开发效率,提升业务稳定性。 为了打通故障发现,故障管理,故障演练,应急响应等多方高可用措施,形成稳定性建设的完整链路。浩鲸科技组建 IT 蓝军,实施演练突袭,质量控制,联合作训。自2019年开始建设 IT 蓝军队伍,重点围绕生产环境,开展混沌工程实践,以推动代码、基础设施、流程、人员、监控上的提升。自今年起,深化演练力度,演练常态化、周期化,不断提高 SRE 单兵作战能力。
浩鲸科技基于ChaosBlade的混沌工程实践
|
数据可视化 JavaScript 前端开发
手把手教你用Bokeh进行可视化数据分析(附源码)
手把手教你用Bokeh进行可视化数据分析(附源码)
手把手教你用Bokeh进行可视化数据分析(附源码)