前言

硕士论文终于告一段落,象征着七年的大学生活、近二十年的学生生活也即将落下帷幕,每每回想,感慨万千。高中时期的我是个喜欢总结、喜欢反复品味经典问题的学生,而大学的完全学分制让我有些茫然,学了很多东西但又感觉没完全学会。研究生期间陷入项目的泥潭难以抽身,所学所做皆是为了结题与验收,虽每日起早贪黑,但结果并不尽如人意。
虽无善始,但念善终。现将研究生期间所做工作,除去保密事项,刊于此处,以慰吾心。若能对诸君有所启发,更是幸甚至哉。

比赛介绍

“挑战赛道”是第七届(2021年)“飞鲨杯”中国研究生未来飞行器创新大赛新增加的题目,本次比赛包括常规赛道、企业赛道和挑战赛道。其中挑战赛道又包含航空和航天两个赛题,航空是无人查打一体化平台智能飞行,航天便是火箭回收。
下面简要介绍下火箭飞行规则,详细内容可见附件1。

任务描述

参赛队需要研制一种小型火箭,运载有效载荷至一定高度后,精确自动返回至指定目标区域,实现无损回收。
其中:

  1. 有效载荷为250g标准砝码;
  2. 火箭发动机需为市售商品级火箭发动机;
  3. 火箭全程需要自动飞行,不得人工干预;
  4. 火箭落地速度不得大于15m/s,箭体不能出现折断和破损现象;
  5. 需要自制数据记录仪,记录全程加速度、速度信息。

比赛场地

开始时,比赛场地计划为一个标准操场,后来考虑到火箭飞行的危险性,将比赛地点改到华阴某武器试验基地。此处仍将操场作为示意图,因为两者区域划分基本一致,且每年的比赛实际飞行场地都不一样。
如图1所示,发射区的旁边为准备区和安全区,如果你的火箭飞到这两个区域里面,比赛肯定是凉凉了。目标靶点为一个半径5m的圆,距离发射区约150m,上面绘制有特有的停箭坪图案,如图2所示,可以提供给使用图像识别技术的队伍用作学习训练。

成绩评定

总成绩由飞行分数(70%)和答辩分数(30%)组成,其中飞行分数由发射分和回收分组成,取两次飞行的最高分为最终飞行分数。

其实这个评分还是有点问题,因为落地速度必须要火箭回收并数据处理以后再进行判别,最后的数据是否真实、有效都是很难判定的。

设计难点

对上面的规则进行分析,可以看出几个难点:

发动机限制

有句行话叫“一代材料、一代发动机、一代飞行器”,这充分表明了发动机对于整个火箭总体设计,特别是固体火箭的影响。发动机的限制决定了火箭不能做的太大,即结构、控制系统不能过于复杂(指体积和质量上的复杂)。然而250g的有效载荷和50m的发射高度又要求火箭具有一定的运载能力,这就决定了整个火箭需要采用简单控制、轻质结构和尽可能强劲的推力。
关于发动机,观察了此次所有参赛队伍,他们有使用中天公司的D5-0、D8-0、E12-0和“作坊私人定制发动机”。下面给出了中天公司提供的发动机参数。根据笔者多年的中天公司发动机使用经验,对上面几款发动机进行简要分析:


D5-0发动机平均推力4N,总冲20Ns, D8-0的平均推力8N和27Ns,两者质量差别不大,但推力和总冲差别不少。特别是D5-0的初始推力过小,很明显并不适合这种大质量(1kg以上)的火箭。因此,一直以来D5-0并不受到重视,D8-0是我们日常发射火箭的最爱。通常,4枚D8-0可以将质量800~1000g的火箭推到100m左右(理论与实测结合)。但根据比赛规则,250g的载荷+控制系统很明显会使火箭超过1.5kg,因此增加发动机数量或者换更大推力的发动机成为两种选择。
笔者采用的方案是前者,因为E12虽然性能看着很漂亮,但是一直没经过自己的系统性测试,不敢用来做比赛。再者这个发动机对于我们的火箭会出现两个不够,三个有点多的情况。令我们没有想到的是,某电子科技大学竟然去某科创论坛上买了个人制作的发动机。这种发动机我们自己做过,性能一致性只能说还行。虽然火箭整体质量有点大,但也不是不能解决,所以没有考虑比赛规定之外的发动机。但赛事组委会既然没有认定这个发动机违规的,其实为火箭的设计提供了新的思路,即控制系统可以更为庞大与复杂。

自动飞行

按理来讲,火箭本身就应该是自动飞行的。因为火箭与飞机不同,没有大的升力面来抵消重力,也没有办法通过遥控器摇杆控制发动机推力,更没有办法在高速情况下通过控制舵面去操纵火箭姿态。上述原因也导致了火箭不如飞机具有观赏性和易普及性。全国有百余所高校拥有航模社团,而拥有的火箭社团的高校不足10所。
自动飞行这一本质属性给火箭的导航控制系统带来更大的挑战,因为缺少了人这一最高级、最具鲁棒性的控制器。火箭的飞行环境是极为严苛的,特别是发射时的高过载、高振动会导致部分传感器失效。商用GPS传感器会在过载>4g时自动锁定,陀螺仪和加计会在高振动情况下漂移严重,在没有外部传感器修正时会产生严重后果。
同时,准确回收要求火箭有二次动力(即除发射用发动机以外的动力)或气动操纵面,并且有自动控制能力,这瞬间增加了火箭的复杂度。一般二次动力可以是螺旋桨动力、固体火箭发动机动力和舵面气动力,这些动力系统相应的衍生出了不同的火箭设计方案。

目标区域识别

1. GPS
2. UWB
3. 图像识别
4. 等我也不太清楚的方案

GPS虽然有全局性,但大过载情况下会自锁;UWB距离有限,只能在目标区域附近使用;图像识别性能介于两者之间,虽然具有全局性但是有时候搜索不到,定位精度比GPS高比UWB低。很明显,每个方案都有自己的问题,互相结合的性能会使实际效果更好,但也增加了系统复杂性。

长细比及落地速度限制

火箭要求长细比要>8,这就意味着二次动力系统(螺旋桨、大的翼面)要折叠进机身内部,这极大地增加了结构系统的复杂性。落地速度要求火箭的二次动力要足够强大,以便将下落速度降下来,保证火箭安全回收。

设计思路

根据上面的规则、难点和本人参加此次比赛与多年CADC火箭比赛的经验,可以大致给出几种设计方案:

旋翼回收

这其实是能够想到,最简单且具有可行性的方案。四旋翼的自动定点降落功能已经相当成熟,且市面上有非常多的开源飞控适合二次开发,那看来问题的关键就在于火箭的总体设计与折叠机构的设计了。

其基本发射流程如下:

  1. 发射之前提前去回收区踩点,将GPS信息导入飞控内部;
  2. 火箭准备发射、点火;
  3. 火箭达到最高点时旋翼展开并起旋;
  4. 四旋翼将火箭姿态稳定住并飞向目标区域;
  5. 检测到着陆后螺旋桨停转。
    相应的,这个方案也存在一些重要的需要解决的问题:(此处不做详细解释,下面的博客会有仔细的分析)
    (1) 火箭质量太大、旋翼拉力太小,火箭俯仰和滚转方向转动惯量比较大
    (2) 飞行全程需要获取可靠、稳定的GPS数据
    (3) 折叠机构要在保证在最高点附近展开
    (4) 测试时报废率比较高
    事实上,今年参赛的四个队伍里面,有两个队伍都是采用了这种方式,并且获得了第一和第二名。

反推发动机

此方案采用固体火箭发动机作为二次动力系统,又可分为简单型和复杂型。首先介绍简单型:

首先,根据计算好的弹道数据和当前的风速情况,选定合适的发射角度,在不开伞和不减速的情况下,火箭需要能够直接撞击到目标区域附近。点火发射后在,在火箭距离目标点一定距离和高度时,点燃头部的发动机使火箭减速,随即降落伞打开携带火箭飘向目标区域。
这个方案看似简单,实则存在一些困难。首先是火箭性能的一致性,火箭能否每次发射都能和仿真数据一致?其次是风的影响极大,比赛当天的风向、风速都是变幻莫测的,很难仅仅通过调整发射角度就能实现降落至目标区域。再者是减速发动机的点燃时刻难确定,什么样的高度、距离、姿态是合适的?这些都很难去判定。
下面介绍较为复杂的火箭反推回收方案。

此方案受启发于SpaceX,但固体火箭发动机只能单次使用,不能二次点火,因此反推发动机置于火箭头部。又固体发动机工作时间短、推力难调节,因此需要在目标点附近工作才能完成任务。下面给出此方案的重点与难点:
(1) 需要较为准确的弹道使火箭尽量靠近目标区域,但相比于降落伞方案,此方案的可选区域更大;
(2) 需要可靠的反喷发动机,发动机的流量、推力要能较为准确的估计;
(3) 需要较强的控制理论,使矢量发动机能摆正火箭姿态,并将火箭平移至目标区域;
(4) 可以配合栅格舵,充分利用气动力,但控制也更为复杂。
具体技术与实施方案可以参考南航刘上同学的blog.

滑翔回收

滑翔回收与旋翼回收类似,也是一种较为成熟的方案,一致点在于都可以采用现有成熟飞控进行二次开发、都采用折叠机构,且对火箭的发射轨迹要求不严格。不同点在于一个采用自身动力(螺旋桨),一个采用气动舵面;一个可以精准着陆,一个需要盘旋降落。

此方案的重点和难点在于:
(1) 折叠机构的复杂性。小翼面起不到作用,大翼面又太重,将一个机翼折叠进火箭还是有相当的难度的,特别是结构质量与强度的权衡,折叠锁死机构的设计。
(2) 控制落点精度。固定翼飞机的定点降落是需要跑道的,很明显火箭上并不能装轮子,外场环境也不可能提供跑道供飞机起降。因此需要飞机直接冲向目标点,并且需要保证机翼不被破坏。

附件

附件1:“飞鲨杯”第七届中国研究生未来飞行器创新大赛指南

旋翼回收火箭系列博客1——研究生未来飞行器设计大赛火箭赛道介绍及分析相关推荐

  1. 旋翼回收火箭系列博客-火箭总体设计

    Openrocket 弹道仿真 Openrocket是一款开源小型火箭总体及外形设计软件,可以添加头锥.箭体.尾翼.发动机等常用部件,得到火箭无控飞行弹道,是小型探空火箭设计的利器.给出其官网及下载使 ...

  2. 旋翼回收火箭系列博客3——控制系统设计(PX4火箭)

    绪论 为了缩短研制周期和提高产品可靠性,本系统采用商用开源自动驾驶仪PX4,实现旋翼空中展开并回收的功能.PX4是全球最为成熟的开源自动驾驶仪,可实现自动起飞.降落.执行航点等基本任务.然而此次火箭比 ...

  3. PX4代码学习系列博客(6)——offboard模式位置控制代码分析(之前转载过,这是第二次转载了)

    我刚刚发现这篇文章去年八月份的时候转载过一次了 https://blog.csdn.net/sinat_16643223/article/details/107874349 转载自:https://b ...

  4. 郭晓东的“系列博客,专辑”集锦

    基础知识: 字符编码的奥秘[专辑],浏览其中一篇:字符编码的奥秘utf-8, Unicode Unicode完整码表 <深度探索C++对象模型>[系列笔记]--对象模型.存储形式:默认构造 ...

  5. LINQ之路系列博客后记

    缘起 今年3月,我换了工作单位.后来多次收到公司的新人培训邮件,不过对此我并不感冒,说实话并不喜欢这种活动.印象中,新人培训无非是唠叨些公司的规章制度.侃述一下公司的光辉历史还有灿烂的未来发展等等.规 ...

  6. SpringCloud系列博客父工程xml依赖

    SpringCloud系列博客父工程xml依赖 <?xml version="1.0" encoding="UTF-8"?><project ...

  7. flutter text 自动换行_Flutter 系列博客——05 StatelessWidget vs StatefulWidget

    前言 上一篇我们对 Flutter UI 有了一个基本的了解. 这一篇我们通过自定义 Widget 来了解下如何写一个 Widget? 然而 Widget 有两个,StatelessWidget 和 ...

  8. 大数据系列博客之 --- 深入简出 Shell 脚本语言(提升篇)

    首先声明,此系列shell系列博客分为四篇发布,分别是: 基础篇:https://www.cnblogs.com/lsy131479/p/9914747.html 提升篇:https://www.cn ...

  9. Flutter 即学即用系列博客——09 MethodChannel 实现原生与 Flutter 通信(二)

    前言 上一篇我们讲解了如何通过 EventChannel 实现 Android -> Flutter 的通信. 并且也看到了 Flutter 内部 EventChannel 源码也是对 Meth ...

最新文章

  1. 「翻译」SAP MM 供应商评估流程初阶
  2. 解决数据库自增ID的问题
  3. thinkphp 3.2跟3.1 区别
  4. 交换与路由技术课程期末上机测试题目二
  5. js如何判断当前页面是否处于激活状态
  6. flex 3与flex 4的不同
  7. linux中各目录及详细介绍
  8. SAP Spartacus取语言设置的入口程序
  9. ConneR and the A.R.C. Markland-N CodeForces - 1293A(暴力)
  10. 覆盖所有面试知识点,持续更新中
  11. 变换例题_用初等变换求逆矩阵的小小解释
  12. 支付宝支付系统繁忙,请稍后再试(ALI64)错误解决
  13. Js捕获地址栏信息,根据地址栏信息来判断是否要显示页面中的信息
  14. Rust 语言本身的问题
  15. .NetCF 绘制半透明效果
  16. 计算机技巧网站,13个实用电脑技巧汇总
  17. 韩顺平 Java集合 自学笔记(Java30天基础)
  18. 微积分应用 计算机,微积分及其应用 P.D.Lax等著;林开亮
  19. 大胜凭德--入行选领导(转载分析)
  20. mutiget FlashGot

热门文章

  1. js小学生图区_js读取本地图片并显示
  2. C++三目运算符(简述)
  3. 如何构建用户画像来实现精准营销?
  4. 华为ENSP网络设备配置实战2(较为复杂的ospf)
  5. VMware macOS Ventura无网络
  6. LinuxRaid的基本知识点
  7. SpringBoot开源文档型知识库系统,源代码分享
  8. 魔法诗~~~一套基于Vue开发的实用、高端、炫酷的响应式前端网页!!!
  9. 如何理解无偏估计?无偏估计有什么用?
  10. CNN基础网络(一)