哈喽,好久不见。

本人最近都在忙硕士毕业的事,博客落下太久了,目前毕业情况尚且待定,但博客还是要追赶一下的。这次赶到11月的尾巴,把自己的课题简答介绍一下,也把之前文章串起来。如果有需要或者感兴趣的朋友,之后我会陆续把相关工作发出来。总体来讲,是自己用了几个月时间给自己挖了一个大坑,然后又用大半年的时间勉强填上来了。也希望大家尽量避免类似的错误,相近的工作可以借鉴一下,谨防闭门造车。

课题源自实验室的一个小项目,主要目标是实现无人机的多个机动动作的机动飞行,最开始探索过过很多思路,尝试过很多方法。最终确定的方案是使用的F-16模型,底层的姿态控制是动态逆控制,上层的机动动作是利用在X-Plane下操纵杆飞行采集的数据,经LSTM网络处理得到的。整体框图如下:

本文的飞行器模型是在荷兰代尔夫特理工大学(Delft University of Technology)的研究者L. Sonneveldt于2010年发布的《Nonlinear F-16 Model Description》以及E.R. van Oort & L. Sonneveldt于2008年开发的模型的基础上修改完成。其工作也是借鉴了明尼苏达大学2003年开发的Model of F-16 Fighter Aircraft以及Nguyen等人1979年发表的NASA技术论文。

整个飞行仿真系统包含四个模块:

(1)机动指令模块:将长短时记忆网络(LSTM)应用于无人机的机动动作实现,实现了基于数据驱动的具有抗干扰和记忆功能的机动指令生成器。针对机动动作难以准确描述和建模的问题,分别在实际飞行和仿真环境中进行了机动动作关键信息(姿态角、速度、GPS等)的数据采集,利用LSTM网络实现了机动动作姿态序列指令生成器。

(2)飞行控制模块:分别在风轴系(攻角、侧滑角、航迹倾角)、体轴系(俯仰、滚转、偏航)下实现了F-16模型的动态逆控制,针对大机动动作下欧拉角的奇异问题提出了四元数动态逆的控制方案;针对飞行器建模误差、机动动作下扰动严重等问题设计了神经网络补偿。控制飞行器对机动指令进行跟踪。

(3)飞行器模块:F-16飞行器仿真模型,包含运动学模型、动力学模型以及气动参数、大气模型、发动机模型等;

(4)飞行显示模块:通过NASA针对X-Plane通信开发的插件XPlaneConnect(XPC),可以将姿态角和GPS数据(经度、维度、高度)通过UDP通信按照一定频率逐个发送到X-Plane中,在X-Plane中显示出机动动作。

(1)铅垂面动作的实现

筋斗动作中,飞机在铅垂平面内作轨迹近似椭圆、航迹方向改变360°,筋斗大致由跃升、倒飞、俯冲等基本动作组成,图5-2~图5-4展示了筋斗的仿真测试。

图5-2 筋斗动作的轨迹

 

(a) 俯仰角                                                      (b) 滚转角

(c) 偏航角

图5-3 筋斗动作姿态角跟踪效果

(a) 俯仰角速度                         (b) 滚转角速度

(c) 偏航角速度

图5-4 筋斗动作角速度跟踪效果

仿真结果表明,筋斗动作中,由于四元数的加入,滚转角和偏航角可以较好的跟踪,避免了奇异问题,其中因为四元数与欧拉角的转换问题,对偏航角进行了特殊处理,在18秒之后整体叠加了 。其中滚转角速率和偏航角速率基本保持为0,俯仰角速率在机动过程中近似保持恒值。

做完这个课题,想必我也应该转行了,思考下一步的主线,所以也很久没有再更新这部分内容,不过如果有需要了解这部分内容的欢迎留言,我看到了会回复的。一起交流,一起进步:)

混合驱动的神经网络动态逆无人机机动飞行控制相关推荐

  1. 基于simulink的无人机姿态飞行控制仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 无人机是无人驾驶飞机的简称(Unmanned Aerial Vehicle),是利用无线电遥控设备和 ...

  2. 神经网络、智能芯片、神经计算、飞行控制相关调研

    一.神经网络 单层感知器.线性神经网络.BP神经网络.径向基神经网络 自组织竞争神经网络.反馈神经网络.随机神经网络 小脑神经网络CMAC.脉冲耦合神经网络PCNN BP是二代的训练算法,不是特定网络 ...

  3. android 实现表格横向混动_Flutter混合开发和Android动态更新实践

    Flutter混合开发和Android动态更新实践 感谢闲鱼和csdn的文章给的思路: 本篇是实践性文章包含两部分 将Flutter工程编译后的文件集成到Android项目 将Flutter代码热更新 ...

  4. bp神经网络pid控制_文章推荐 | BP神经网络PID控制器在无人机编队飞行中的应用...

    中文摘要: 无人机编队飞行可以大幅提高作战效率,因而受到了越来越多的关注.从近距离编队出发,采用长机-僚机编队结构,设计一种基于BP神经网络参数整定的PID控制器,并以双机菱形编队为基础,对其进行仿真 ...

  5. P3157 [CQOI2011]动态逆序对 (CDQ解决三维偏序问题)

    P3157 [CQOI2011]动态逆序对 题目描述 对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数.给1到n的一个排列,按照某种顺序依次删除m个元素,你的任 ...

  6. python关键字驱动框架搭建_python webdriver混合驱动测试框架(数据驱动+关键字驱动)...

    混合驱动:把数据驱动.关键字驱动结合起来一起使用 testdata.txt http://www.126.com http://www.sohu.com teststep.txt open||chro ...

  7. 【Luogu1393】动态逆序对(CDQ分治)

    [Luogu1393]动态逆序对(CDQ分治) 题面 题目描述 对于给定的一段正整数序列,我们定义它的逆序对的个数为序列中ai>aj且i < j的有序对(i,j)的个数.你需要计算出一个序 ...

  8. HYSBZ - 3295  动态逆序对 (cdq分治)

    F - 动态逆序对 HYSBZ - 3295 题目大意:给出一个序列有m个询问,每一个询问要求输出当前的逆序对数量后在原序列中删除该数字. 解题思路:如果将删除倒着做就变成了插入.没插入一个数字我们就 ...

  9. [Luogu P3157][CQOI2011]动态逆序对 (树套树)

    题面 传送门:[CQOI2011]动态逆序对 Solution 一开始我看到pty巨神写这套题的时候,第一眼还以为是个SB题:这不直接开倒车线段树统计就完成了吗? 然后冷静思考了一分钟,猛然发现单纯的 ...

最新文章

  1. 一份完整的机房建设方案
  2. springboot如何使用log4j记录日志
  3. Linux常用命令—文件处理命令格式与目录处理命令ls
  4. java对象克隆的例子_Java对象克隆
  5. 95-20-060-启动器-Bootstrap
  6. Python OpenCV显示图像并保存图像
  7. 【故障诊断分析】基于matlab FFT轴承故障诊断【含Matlab源码 1397期】
  8. TouchVG 支持 CocoaPods 了!
  9. graphpad prism8教程柱状图_GraphPad 8.0 新功能:柱状图功能体验大优化!(附教学)...
  10. 使用selenium爬取唯品会
  11. CAD数据在柔性制造中的重要作用
  12. 第十三课、类族的结构进化-------------------狄泰软件学院
  13. 裸金属服务器是什么?有什么特点?
  14. 520 钻石争霸赛 2021 7-8 浪漫侧影 (25 分)
  15. 分类:支持向量机(四)——非线性支持向量机
  16. Tensorflow 笔记 XIV——生成式对抗网络:GAN 与 CGAN
  17. 前端应该知晓的PWA
  18. 小学计算机教学的趣味性,巧用信息技术,构建小学美术趣味课堂
  19. c语言rand函数_C语言随机函数学不明白?一知识一案例,全面解析C语言随机函数
  20. 携程网涉嫌非法经营案宣判 携程最终胜诉

热门文章

  1. URAL 1028 数星星 题解
  2. 傅里叶红外气体分析仪组成
  3. 太白金星:我很关心分布式 Quorum NWR
  4. web中的$多种意思
  5. k8s replicaset controller源码分析(1)- 初始化与启动分析
  6. 如何当好硬软件助理工程师——实习周报(一)
  7. php移动端url,织梦移动端跟PC端URL问题。 - 搜外SEO问答
  8. 如果哈夫曼树有67个结点,则可知叶结点总数为
  9. vscode python无法跳转到函数定义
  10. uni-app页面跳转以及传值