跳转至

后记

首先感谢有人能阅读到这里,加了一个后记页面就算是留下一些心里想说的话。

文档的前世今生

文档工作的起源可以追溯到2025年的1月,那个时候笔者是刚刚接触到这个比赛,也是对整个系统进行了一些开发,产生了一些成功,怕忘记也方便组内队员传阅,就写在了一个飞书文档里,当然现在这个文档也仍然存在,只不过内容是陈旧的,没更新,如果有人想考古也贴上:传送门老文档更新到上一次被更新的时间后就停止更新了,因为当时比赛备赛时间紧张,也很忙,就没精力去完成文档内容的完善工作,比完赛之后也没再维护。然后这个文档有一次发挥作用是在2025年年末,也就是小登们加入了航模队之后,我也是通过这个文档唤起了当时的记忆,比如仿真环境的配置与启动,确实如果没有这个文档的帮助,我也记不住了。后续的发展也是意料之中,组件了今年(2026)的新队伍,参与2026CUADC的多旋翼赛道的比赛,在备赛的过程中,我就想到我们这回应该详细的记录下来我们的工作内容,为了让我们的工作能够更好的传承,也算是为我大学阶段在航模队做出的成果做一个记录。既然要做,就做的好一些,于是就有了现在大家能看到的这篇文档:DUT多旋翼无人机开发指南

队友寄语

屈圣桥 / 2025、2026 队长

我和 CUADC 多旋翼赛道

笔者加入航模队的时间是2024年的11月,当时作为大一新生的我,受前航模队长的邀请,接手多旋翼赛道的负责人。当时我所了解到的种种政策(包括学院、航模队指导教师、航模队队长)都指向用尽量少的经费去打比赛,还要争取拿奖,年轻气盛的我就觉得干,我肯定能干出一些成绩。后续的航模队招新等等工作,我也是作为航模队的电控组组长,去找一些一样志同道合的,对控制感兴趣的一些同学,去参与到这个比赛之中。 从招新到组建队伍这部分我也记不太清了,可能也没啥意义,我就不再赘述了。

让我印象深刻的是我最初看到航模队的多旋翼赛机的时候。当时的我虽然是对控制很感兴趣,也有一些自己的研究,但是也没接触过这种自组的功能复杂的飞机。基本的电机和电调这些我都能认识,但是细看上面的飞控,数传等等很多乱七八糟的就很迷糊,也不知道从哪入手。转机发生在我与宗学长建立起联系的那一刻。这个时候宗学长已经念大三了,(现在的我开学马上也是大三),大三基本上也没有谁接着带队打比赛了,所以这也是我写下这篇文档的原因。说回正题,之前的赛机正是出于宗学长带领的团队,在宗学长的详细介绍下,我很清楚的了解到了这个飞机的结构,由一台NUC与飞控通信,飞控控制多旋翼运动,再配合舵机投放器和图传等设备,就能实现比赛的任务流程了。

了解了这一切之后,2025CUADC的准备正式开始!

最早我们也是确定了比赛的整体方案:NUC运行ROS,给飞控发指令,飞控执行,利用RTK来进行高精度定位,摄像头运行YOLO模型实现目标检测,挂一个单片机控制舵机来实现投放。确定了方案之后,我们就开始着手准备比赛。那是在2025年初的寒假,组员们也是在我的带领下,从头开始学习ROS,学习自组多旋翼,PX4固件的用法。印象里进展最快的时间是快要过年,那个时候我也是很着急的想把飞机的控制研究清楚,在离校的时候我把一架赛机直接带回家了,查阅了一些资料,终于是理解了MAVROS在计算机与飞控直接通信的原理,最后也是成功实现了基础的模式控制、航点发送、解锁起飞等功能。我将他们封装成了函数,这套函数在现在最新版本的代码中仍在使用。后续经过不断完善,又写出来了一个专门负责发送航点的一个ROS节点,配合主节点来实现整个流程的控制。最终也是在寒假未结束之前,就是年后返校的备赛过程中实现了首次无人机以板外模式由机载计算机控制的飞行。

当然这个过程不是一帆风顺的,最早我们的飞机会出现乱飞的情况,比如我们把飞机从航模队搬到门外之后,每次起飞之后都以一个很大的速度冲向航模队方向,后来经过思考和仿真验证,终于发现问题所在,这个PX4固件会把飞控上电的点设置为原点(0,0,0),那么这就合理了,如果我每次把目标点设置为(0,0,2),那么确实每次都会飞往航模队方向。解决方法也很简单,只要每次起飞之前,给飞控重新上电就好了。在这里提到这个问题似乎有一些跑题了,但是类似这样的问题还要很多,由于相关资料的缺少,和国内外教程的不完善,这些坑只能我们一步步来踩。关关难过关关过,总之在2025年7月之前我们基本上能实现飞机完全按照预设的航线飞行。之后我们开始调瞄准,瞄准的思路也经过很多版本的迭代,从最早的想找利用视觉推算位置,但是考虑到定位的偏差,可能会很难投进,最终选择采用视觉伺服,也就是通过视觉读取误差来计算速度,最后发给飞控,再检测目标到投进点的偏差,到范围了进行投放。之后我们按照这个思路,一点点完善,当然细节在我们的代码包中都有体现,我也没必要在这俩多说了。总之经过我们的不断调试,终于在2025年的7月26日,我们成功实现了第一个水平的自动投放,那张照片现在我的手机里还存着![]

还有一段视频,记录着我们惊喜的欢呼。我们进步飞快,在第二天,也就是2025年的7月27日,我们就实现了两个水瓶的投进,虽然投进的是大桶和中桶,但是这证明了我们的技术方案方向没错。但是时间也是非常紧张,7月31日就是省赛的日期了,我们只有3天时间训练了。2025年的省赛有一个地理位置优势,因为2025年的省赛是由我们学校承办,比赛场地就在我们学校内,所以我们不必赶路,但是真的有主场优势吗?

当时应该是7月30日适应性训练,比赛场地设置在了我们中心体育场的红色跑道上,我们惊恐的发现视觉模型会受到地面上跑到白色的线的干扰。这个干扰可谓是非常之大,因为我们的模型是识别白色边框,中部偏暗的物体,跑到边就完美构成了类似的物体,所以整个模型完全就是错乱的。当然这个也跟我们训练模型的质量有关,但是不得不提到的是比赛场地所在的操场,我们学校的保卫处就是不让我们的飞机去练飞,说是怕产生安全隐患,怎么办手续找人都不管用,导致了我们在距离比赛只有一天的适应性训练上才发现这个致命问题。有的时候感觉这个世界确实不是很公平,场地问题按道理来说对每个学校的影响都是一样的,但是实际上,像沈阳航空航天大学他们的竞速方案是放弃投放,直接尽可能的多拿时间分,这种策略确实高明,至少如果对手投不进的话,他们就有绝对的优势,同样场地对于视觉模型识别的干扰对他们来讲也是不存在的,因为他们根本不自动识别目标。实在没办法了,于是我们熬夜重新训练模型(当然这个效果肯定不会很好了),第二天我们怀着忐忑的心情,进行第一轮次的比赛,我记得那是一个下午,我的机组所用的飞机的机载计算机出现了一个至今以来我只在那次比赛赛场上见到的一个报错,现在想来可以说是非常之神奇,甚至有一些恐怖。当时由于是比赛,这个具体的报错内容我也记不太清楚了,总之解决方法就是删除工作空间内的build和devel文件夹再重新编译就解决了问题。最后第一次比赛机会就是没有成功起飞,导致压力给到第二次。第二次好像是遇到那种启动之后GPS搜星搜不到的问题,总之可能是勉强起飞,但是结果也不是很理想。我们确实全流程练习的比较少,再加上各个设备完全正常工作的概率不高,导致想成功起飞就非常困难,当然与老飞机设备陈旧性能差绝对是有很大关系的,只可惜我后来才意识到。省赛结束,不管如何我们也是蠕进国赛。

从省赛结束到国赛期间,我们还遇到了其他的困难,比如飞机因为动力不足导致掉高,我们被迫拆掉NUC的壳子,牺牲结构稳定性换取一些重量上的减轻,最后陆陆续续调到国赛。

2025年10月,到了国赛的赛场上,我看到了其他学校的飞机,我终于认识到了一个问题,我们的飞机的硬件层次也太差了,基本上就是最差的一档。我之前一直以为每个学校的设备都是一样的,也都会遇到数传断连、地面站固件刷不出来、飞控定向不准、电装动力不足、掉高、图传连接慢、图传卡帧掉线等等一系列问题,也都需要一步步突破,但是实际上这些问题完全都可以通过更换新的硬件得到解决。经费受限的我们只能绞尽脑汁从结构设计或者算法或者准备应急预案的方式来应对,而这些问题一旦发生,对比赛成绩都有致命性的影响。结果不难预料,国赛我们只有一个机组取得了三等奖,好像是成功起飞,看到了几个侦察图标。而我所在的这组十分的悲壮,国赛期间我们为了防止RTK搜星速度慢,我们换成了NTRIP网络RTK,通过手机热点让地面计算机联网,得到地面站的位置。但是好巧不巧,比赛的时候,我们的一个水平上的挂钩掉了,手机开热点的那位同学紧急回去取水瓶,手机放在他的兜里,这样一跑远,手机的热点就断了,时间紧张的我们没注意到RTK的精度变低,直接选择了起飞,最后飞机的航线竖直方向产生了几米偏差,水瓶投放到了投放区外,遗憾结束比赛,只拿到了起飞分。这个结果我们当然都很失望,但是比赛结果已定,我们只能遗憾离场。

赛后我们总结问题,首先先从我们自身上找毛病,虽然我们在省赛时间段内就已经实现了小中桶投放,拿到1200多分的成绩,但是这个能说是偶然,也可以说是有一定的运气成分,毕竟还是有稳定性的提高空间,此外我们确实也没在赛场上发挥出来。因此其一就是系统鲁棒性不够,不能在各种环境下都成功完成任务;另一个就是全流程练习的少,这个我感觉可以算次要,因为国赛前几天我们练习的流程基本上已经很熟练了,但是赛场上发生的意外,比如说水瓶挂钩脱落,就是完全可以通过赛前检查来规避,如果那个时候发现了,可能我们组就能拿到奖了,总结来就是经验不足。客观上讲,我们输给别人也是输在了设备不够“贵”,电子产品,贵肯定有贵的道理,我们300块一对的数传肯定就没有4000块一对的数传好用,我们依靠飞控定向肯定就没有别人双天线RTK定向准确,老的NUC10、NUC11肯定就没有Jetson Orin NX好用,我们1000块不到的飞控肯定就没有其他学校的CUAV V6+飞控精度高。我可以肯定的说,我们输在了设备上,如果把我们的算法平移给其他设备更好的学校上,我坚信他们可能也能精准飞行,精准投放。其实我在国赛赛场上做过挣扎,我自费购买了一个CUAV V6+飞控,准备替换到赛机上,只可惜飞控这种东西没法空运,顺丰加急也只能在第二轮比赛当天才能邮到,我都已经下单了,但是看着快递进度,只能含泪退货。比赛已经结束,说什么也已经没有用了,再加上我还仅仅大二,还有很大的试错空间,我虽然沮丧,但是也没失去信心。同时我也暗下决心,如果2026年我还负责这个比赛,我一定要向学校争取来好用的设备,不能因为设备不如其他学校,让我们本来有优势的算法发挥不出来!

我记得在2025年的9月,就有小登们对多旋翼感兴趣,当时我印象十分深刻,在我9月30号和组员出发前往机场去浙江的路上,还给小登们讲解比赛的规则呢,到了现场还给他们分享了机库里各个学校备赛场景的照片。国赛之后,老队员就由于升到大三或者不想继续打比赛等等原因退出,我们要组建新的队伍,也十分幸运遇到了五个活泼可爱的小登(SureSure、TaoTaoTony、乐乐、一一、🐏😀),还有一个同为大二的中登(翔翔),还有一个2025年已经参与的老队员(方哥)。就这样我们组建了新的队伍。同时发生的还有航模队指导教师的变更,我们有了充足的经费来更换一批优秀的硬件(CUAV X25 EVO飞控、P8P9两对数传、双天线RTK、Jetson Orin NX、全新电装等),这个配置虽然不能说是所有学校之中最顶级的,但是绝对能超过98%以上的队伍了,当然这些离不开学校、学院、航模队指导教师的大力支持,再搭配我们去年工作的代码基础,今年我们目标就是拿下分区赛第一,国赛也要冲击国一!去年的遗憾是时候得到弥补,也到了展示我们真正技术力的时候了!

由于我们去年的代码工作已经到位,距离投进已经没有任何难度,2026备赛的任务就是更换到新的硬件,进行优化改善,不断针对比赛流程去降低出问题的概率,我相信做到这些,就能取得不错的成绩。

在2026年初,我们计划采购的机载计算机Jetson Orin NX就已经到了,还有一起采购的飞控数传等,我也是第一时间装好了机载计算机,准备进行环境配置,当然计算机开机之后,官方配的系统是Ubuntu 22.04,只能运行ROS2,而我们之前的工作都是在ROS1基础上开发的,思考了一下利弊之后,我决定还保留ROS1,不更换ROS2。在当时看来,我的决策可能是正确的,因为不需要修改代码结构,但是现在来看,我觉得可能全部更换ROS2是更好的选择,这样就能避免重新给Jetson烧录引导和系统这一十分繁杂且耗时的操作。原因也很简单,Jetson开发者社区只有Nvidia官方的论坛,互联网上基本没有重装系统的资料可参考,所以每一步都要自己摸索。好在我成功了,配置好了所有环境,并记录下详细步骤在本文档内,后人参考就很方便。

后续在三四月份,方哥带领机械组设计了我们全新的机架,参考了我们在2025年国赛看到其他学校的方框型机架,这种机架的优点就在于核心组件都由外部碳管桁架保护起来,包括桨叶,炸机损失小,好修理装配。细节都可以在本文档内找到。我们也是很快就购买碳板等,成功组装出了一架试验机,也就是我们后来的一号机。我们的首飞很顺利,代码也验证通过,承载着2025年代码研究成果的2026年新飞机出世了!

时间来到2026年的7月份,这个月是我们集中推进进度的时期,在这段时间里,我产生了无数的小巧思,针对提高比赛成绩,提高比赛稳定性,减少起飞准备时间等等各个方面进行了全面的优化,主要的小巧思如下:一是增加网络通信链路,二是增加状态机控制,三是优化定高逻辑,四是决定开发自定义地面站。

网络通信链路最早其实可以溯源到2025年的末代代码,当时在2025年的暑假我针对网络TCP通信做出了一些研究,了解了使用C++设计网络应用的方法,那么我就可以把这个网络通信嵌入我们的代码包中,来实现瞄准PID的远程调参,就解决了想调参,就要降落改参数再重新起飞的令人烦躁的问题。可惜由于上文提到了的,我们国赛之前为了减重等浪费了太多时间,这一网络通信链路也没得到实施和验证。2026年的备赛时间充足,网络通信一定要加进去,在调参的时候要用到。但是仅仅能调参肯定是不够的,我把舵机控制,飞行模式控制等都增加到了网络通信链路,后续还增加了视频流广播等,都在网络通信之间,进行数据的传递。由此我还开发了一个小型地面控制上位机,命名为QSQDroneControl,连接上网络之后,只要点击按钮就能控制舵机、更改飞行模式、发送PID参数、发送航点等,极大的提高了我们的练飞效率。

增加状态机控制也是我们2026年代码的一大突破,这个思路也是借鉴了我们学校RM战队的哨兵。在RM战队,我是做哨兵算法的,哨兵和我们的这个无人机很像,也是自动控制实现一套流程,不同之处在于我们的无人机任务流程固定,不用状态机的话,按顺序执行任务也可以,而哨兵需要在不同任务之间跳转。虽然无人机不用状态机也可以,但是如果加入状态机,就可以更加灵活的完成整个流程,于是我也把状态机的这个思路整合进我们的无人机,封装成了一个无人机类,对无人机的状态进行操作,比赛模式下能够自动切换状态,练习模式下还能依赖网络链路由上位机手动切换状态,这也极大的提高了我们的练飞效率。

优化定高逻辑,这个问题是一直以来就有的,从2025年的省赛的时候开始,我们就发现了一个问题,低空投放的时候,飞机的高度是不稳的,有可能比桶面高20cm,也可能30cm,甚至可能坐到桶里。2025年我们为了更准确的定高,还买了TOF单点激光雷达,但是效果似乎也不是很好,今年也一样有这个问题。事情的转机发生在7月的某一天,我的一个小巧思彻底解决了问题,当然详细原理在代码包里都有体现,这里不在详述。

决定开发自定义地面站的原因也是一个老问题,就是地面站在连接到飞机的时候总是没法很快的读取参数内容,导致飞机起飞前的准备时间过长,有的时候甚至会到5分钟,这种情况是我们不想在比赛现场看到的,经过资料查询和推测,我们判断是地面站软件内部逻辑的问题,实在不想承受这个风险的我决定自己重新编译地面站,彻底解决这个问题。地面站的基础还是QGC,我克隆下来源码,配置好了编译环境,终于得到了一个解决这个加载慢问题的地面站,验证效果还不错。后续经过反复的迭代,也是完全针对比赛赛场的需求,开发了一个非常之好用的地面站,取名为QSQGroundControl,这回比赛前起飞准备就非常快速了,甚至抛弃了Nomachine远程桌面,直接使用内嵌的终端来发送指令。起飞前的准备时间被我们压缩到了1分40秒、1分30秒、1分20秒。最后,赛前准备完全不是我们所担心的内容,我们有信心让飞机慢慢飞,稳稳飞,也能在规定时间内起飞并完赛。从这个角度看,选择开发自定义地面站真的是做出的最正确的选择之一。所以,QSQGroundControl,下一次起飞,从这里开始!

总之无数的小巧思,让我们实现了起飞、找桶、瞄准、投放、侦察、返航、降落的全部流程,行云流水,一气呵成。还有SureSure和TaoTaoTony训练出来的一版非常NB的模型,能精准框出桶,一瞄一个准。练习中我们也展示出了得到近1300分单轮的实力,直指国一!

时间流转到2026年的8月7日,是我们出征省赛的日子,我们前往了沈阳航空航天大学参与今年的分区赛,北部赛区的王会是我们吗?我们相当早的来到了比赛场地,进行了为期两天的练习准备,我们起飞、投中,旁边的其他学校都对我们的技术赞不绝口。我们本以为我们可以很顺利的拿下冠军,直到我们看到了组委会提供的“蓝”色背景板和没有底的容器——“筒”。这一下就打乱了我们的准备,在蓝色底训练的模型真的能识别紫色背景板的桶吗?没有底会不会影响识别?一连串的不确定性,直接影响到了我们的比赛流程,但是似乎又对其他学校没有影响,原因和去年一样,其他学校根本没计划投放,视觉识别对比赛的影响几乎没有。一样的剧本又一次上演,对组委会的失望也再一次加剧,这个比赛真的公平吗?经过与组委会的协商,他们说桶有底,但是这个紫色背景板肯定是不能换成蓝色了,时间来不及,如果对比赛结果造成了影响,我们可以再向上反映,如果没有影响就算了。那我们也没办法,只能硬着头皮继续比赛了。好在YOLO模型的鲁棒性足够,影响没大到干扰我们的瞄准投放,第一天的两组比赛中,第一组成功投放进了中桶,而第二组起飞失败。第二天我们调整心态,第一组投进了小桶,第二组投进了大桶,至此我们比赛两组都成功起飞,也拿到了不错的分数。最终也是成功拿下了北部赛区的团体第一。

虽然拿下了团体第一,但是这个成绩并不符合我们的预期,我们的目标至少是1200+,冲击1300,而最后两组都没到1000分。紫色背景板真的没啥影响吗,答案一定是否,第二天我们两组飞机都出现了两次去瞄同一个桶的情况,肯定是找桶阶段,由于背景板的影响,没找到某个桶,所以两次都锁定了看到的那个桶,导致浪费一次投放的机会。但是至少我们大中小桶都有投进的实力,也在比赛现场得到了验证,至于背景板的问题,国赛肯定就没有这种让人恼火的问题了,我们还有机会冲击1300!

简单的文字,没法描述比赛赛场我们紧张的心情。过程曲折,结果也可以接受,我们拿到了属于我们的第一名的奖牌,我们的算法得到了验证,在赛场成功投放小桶。这天是2026年的8月11日,我们从沈阳航空航天大学返回学校,迎接我们的假期,和新一轮国赛的备赛。

这个阶段我又产生了一些小巧思,比如解决网络通信断线的问题的方法,增加视觉指示灯指示计算机状态等,但是还没付诸实践,就传来了噩耗,航模队起火了?!???!!! 那是2026年8月15日,清晨,7:30分,在睡梦中的我被电话吵醒,航模队队长和指导教师接连给我打电话,告诉我航模队二楼起火了,我惊醒,迅速前往航模队查看情况。水火无情,航模队二楼基本啊烧没了,我们的两架赛机也都变成了废墟中的灰烬。造化弄人,刚刚有起色的多旋翼项目的经过大火的洗礼,瞬间变得一无所有,2026年新配置的硬件也都变成了不能再用的垃圾。火灾原因鉴定为:航模锂电池自燃(涉事航模锂电池在未充电、未使用的静置存放状态下发生自燃,起火原因为持续高温环境下电池内部热失控,排除充电操作、人为点火及其他外部火源因素)。能说我们倒霉,这种电池自燃的事情发生在我们头上,也能说我们安全意识不足,没有把电池放在防爆柜内储存,也能说学院防火安全设施不到位,没有烟雾报警器和自动消防设施。不管如何,这个意外发生在我们头上,我们只能承担这个后果。

现在我们只能等这个事情的处理结果,国赛还能参加吗?我们还有充足的经费吗?我们还有足够的时间调试新组的飞机吗?一切都是未知的,这就导致我写下这篇回忆录的时间提前到了2026年的8月末。

问题的答案,让我们交给时间……

果然时间解答了这个问题,再次提笔已经是2026年的10月29日。如今2026的CUADC已经落下帷幕,答案也是显而易见的,我们顺利完成了国赛,拿到了1300分的成绩!当然这一切离不开大家的努力,也离不开学院的支持。 九月初,指导教师就联系到了一个校友企业,能对我们提供硬件上的支持,按照原本的规格,我们又采购了两套新的设备,在九月初所有件都到了之后我们用了10天左右的时间从头组装了两架新的飞机出来,然后调试,终于在10月1号之前调好了所有的功能,能去参加国赛了! 2026国赛的地点变成了四川自贡,不在原来的浙江德清了,我们一行人千万成都,先玩了两天,等待物流运输飞机。在10月5号,飞机抵达了自贡机场,我们也同步前往比赛场地。经过几天的调试练飞,我们最终迎来了比赛。 两天都是第二组先比,二组是小登们,经历过省赛的训练,加上对我们技术的自信,他们似乎变得不再紧张。让人遗憾的是,起飞顺利,第一个投放也顺利,第二个投放居然没投下来,带载进入侦察区了。导致第一轮到手的1280没了,下来后发现居然舵机线松了。大家都很沮丧,不过还有机会。当天下午的第一组还比较顺利,起飞,投进小桶,投进中桶,侦察全对,降落,1280!这符合我们的预期,但是这个成绩的排名可能还到不了国一水准,因为在练飞的时候,我们看到了太多的1300,导致我们不得不想办法提高我们的飞机的速度,我们起飞,瞄准,侦察,降落每一步都能再加快一些。于是第二天我们在确保第二架飞机没问题的情况下,全力加速一号机。第二轮比赛很快也来了,仍然是二号机先比。噩耗传来,舵机仍未投放,检查却没有发现任何问题。难道是天意所为?我们真的很难理解......战斗仍为结束,还有第一组的第二次机会,我们要冲击1300!飞机起飞,以一个很快的速度飞向投放区,瞄准,投进小桶,投进中桶,侦察,返航,降落,一切顺利,一气呵成。我看了计时器,从拍表到降落只用了2分10秒,但是这个时候图传有一个没看清,好在20秒内我们通过回放盯帧的方式确定了最后一个是腐蚀品,填表,提交,我再拍表,时间定格在了2:29,用时2分半以内,意味着我们拿到了1300!!!

如果图传当时直接看清了,或许我们能拿1310分,也许这个真的是我们当时的极限。但是今年各个学校技术都有了显著提高,国一成绩得1330多分才能拿到,我们这组只能获得一个国二。或许没有这场大火,我们是能再优化瞄准提高速度的,可惜没有如果。如果真的问我,你还有遗憾吗,我的回答是没有了,今年无论是省赛还是国赛,我们都实现了小中桶的投放,国赛甚至还拿到了之前不敢想象的1300分,我觉得我已经书写了一份满意的答卷。

试问第二组的成员,他们一定是还存在遗憾的,明明是一样的设备,一样的代码,本来也有一样的冲击1300拿国二的机会,但是却两次都因为舵机问题没成功投放,导致带载进入侦察区,最后也没拿到奖,实在是令人惋惜。可惜赛场就是赛场,失败也已然成为事实,无法更改,正如我在2025CUADC的国赛经历,努力了一整年却没换来相应的奖项,谁能不觉得遗憾呢。但是我想对队员们说的是,无论结果如何,过程最重要,你们从零开始学会了组装无人机,学会了ROS,学会了机器人开发的完整流程,这些能力上的提高是会让你们终身受益的,奖项只是这个过程的附加项。如果心怀遗憾,那就明年再战,只有有跌倒了继续爬起的勇气,才能取得最后的成功!

写到这里,突然发现马上下午一点半了,快要上课了。偏微分方程的数值解法还在等我学习,这也意味着我的CUADC生涯可能要暂时告一段落了。后面的队友们,希望你们能传承下去,让大工航模协会,让大工多旋翼继续绽放光芒!

我对多旋翼项目未来发展的期望

多旋翼项目组从我接手以来,发展到现在,可以说是从零做到全国前列。当然在这个内卷的时代,可能两三年前的多旋翼只要能起飞就能拿到国三,能侦查就能拿到国二,再顺利返航就能拿到国一。随着时代的发展,其他学校的技术也在迭代,现在想要拿到国一就得冲击1300分(补充:从2026国赛来看,1300分都不够了 ToT ,需要1340分),国二基本上也得投进小桶,拿到1000分以上。所幸我们最早在2025年时的目标就是投进中小+侦查全对,因此我们并不会像某些学校产生技术断层,导致没有拿到更高奖项的可能。

~~ 现在这个时间点,能否参与国赛还是未知,甚至明年是否还有多旋翼项目组也是未知,有可能我所编撰的这篇文档只能作为我们工作成果的证明。但是如果幸运的得到了传承,我们在国赛前又组装出了两架飞机,那么我相信我们所做的一切都会完完整整传递给下一任接替我,接替我们代表学校参与CUADC多旋翼赛道的航模队新队员们。~~

目前来看,今年的比赛成绩差距相当小,前面的都是比谁的时间分拿的多,失去了比赛的趣味性。确实三年来的技术发展,加上AI神力,总之今年技术爆发大家都变得更厉害了。因此我推测明年的比赛规则大概率会修改,但是万变不离其宗,我们开发的多旋翼平台,只需稍加修改完善,即可适配新的规则。那么未来的队员们,机会在你们手上,我相信你们一定会继续给学校争光的!

从我个人来说,参与比赛的意义远远超过于保研层面上额外的加分。从最开始的机缘相识,到满怀热血的备赛,到第一年惨烈的失败,到第二年的东山再起,到分区赛夺冠,到烈火中燃烧,有技术取得突破的喜悦,有比赛意外的遗憾,有带队拿奖的自豪,也有意外归零的悲伤。所幸,我们的工作更多的是算法,云端仓库的每一次commit都见证了我们的进步,硬件的损坏也不会抹去我们的成果,如果学院支持,老师支持,我们可以一天一架,继续搓飞机!

~~ 其实我们也是幸运的,省赛我们两个机组分别投进了小中大桶,如果我们比赛的历程真的到此为止,我也没有什么可遗憾的了,毕竟我们的算法到位,确实有投进的实力,相比于2025年没飞起来或者是根本没走到瞄准的那一步,开发的算法没有在赛场上的到验证,这才是更让人遗憾的。~~

但是必须承认的是,当前的代码包也并不是完美的,也存在很多明显的问题,比如:瞄准耗时不固定;PID控制器的调整效果受环境(例如风速)影响明显,调节响应慢或超调;想用MPC控制器,但是参数没调好;落点预测没考虑飞行器的速度;侦查航线还有待优化以减少比赛飞行时间;代码待更新至ROS2以提高代码性能和保持先进性……等等诸多问题,如果我真的没有时间去解决这些问题,可能就得交给后人去解决。我相信在多届团队的打磨与优化下,我们的代码包会越来越好用,越来越优秀!

结语

几个代码仓库、一篇文档,这是我作为航模队电控负责人和CUADC多旋翼项目的负责人交出的答案,也是我大学燃烧两年青春做出成果的证明。

虽然我明年不会再带队负责CUADC比赛,但是我相信,我与多旋翼之间的故事还未结束!

———— 屈圣桥 于2026年10月29日

张裕祥 / 2025、2026 队员

恍若昨日,譬如今朝。两年,从什么都不会开始,初入航模队,我看不懂ros,没学过代码,也不懂机械制图,于是,那便学,从头一点点学;后来,经费遥遥无期,大家东拼西凑,弄出来两架飞机,尽管飞控是老的,机载计算机是老的,但总归是勉强能用的,成品机架总有其弊病,一炸,就得修两天,但它总炸,因为我们也不了解它,便只能总修;倘若没飞过是不知道的,它总能出各种各样的问题,长距离飞行掉高,gps收不到卫星,强磁干扰,代码报错重编译……依旧被一一解决了,省赛前的第三天,总算是调对了瞄准,那是第一次投进小桶,大家都兴奋得大叫起来,因为据我们所知,已当时的技术力而言,能投进小桶,意味着基本国一;省赛,第一天就出了意外,它出现了从未有过的报错,一组没飞起来,一组舵机没开,尽管正式比赛前检查再三,依旧如此;它炸了,我们熬夜修了一宿,因为第二天是最后的机会,那是我第一次完整地通宵,早上六点,我们借用赛场试飞,哈工大亲眼见着我们投进小桶和中桶,无人机趾高气昂地飞回了起飞点;我以为稳了,当时我只觉得很难受,但憋着一口气把比赛比完,九点,还是出了意外,也能说是准备不充分吧,烈日炙烤大地,掀起阵阵热浪,瞄准模型无法识别,另一组突然就收不到卫星了,几乎把比赛时间耗尽;比完那刻,我便瘫倒在了草地上;不止是幸运还是不幸,有学校飞机连飞都没飞起来,便这样蠕进了国赛;到了德清,看了别人的飞机才知道,我们的硬件至少低人家两代,稳定性大大缺失,传感器一会准一会不准,只能不厌其烦地校,真到赛场上时,却依旧不准了;那晚是第一天完赛,没炸,但也没飞好,由于是自费打比赛,为了省钱,住宿我们选择了离机场四公里的小镇上的宾馆,出行则是租了岁数比我还大的电动车,通往机场的路上没有灯,租的烂电动车亦没有灯,一个不留神,便撞栏杆上了,在右手臂上留了一道疤,不知何时能消去;第二日,二机组飞的不赖,拿了个国三,尽管不是训练时的最好水平,也终究是拿奖了,可到一机组又出意外了,网络的突然中断导致定位偏差,最终飞歪了;有人走,有人留,也许是咽不下那口气吧,我留下了,我们的算法没有任何问题,训练也是一千一,一千二,怎么比赛就不行了呢?我不甘心。重组,再出发,重新设计机架,使其更具有稳定性,不容易坏,也更容易修了,原来炸一次需要修两天,如今仅需两个小时,算法也进行了优化,视觉模型升级,起飞流程简化,极大地缩短了准备时间;第二次省赛,再次出了意想不到的情况,这次不是天灾,是人祸。规则要求,白筒于蓝垫之上,视觉模型基于此训练,赛方准备的,是紫垫,谁也不知道它能否识别出来,一晚上是训练不出足够好用的模型的,只能赌一把;还好运气不算太差,当然也没有很好,原本能识别三个桶的模型如今只能识别一个桶,但在省赛,这也够杀了,那里团体省一,便高高兴兴地回家了;没安稳几天,意外又发生了,实验室出意外,飞机全损,一切又回到了原点,一个月,装机加调试好,终究把它造了出来;国赛,大家过了一年,都有了明显的进步,曾经飞不起来的飞机能飞完了,不能投进的飞机能投进了,能投进的飞机更快了,第一天1280,我们输在了速度,二机组又出现了意外,舵机没打开,线松了;调了一晚上的瞄准,第二天,1301,总算突破一千三的大关,也是给两年的自己一个交代了;可惜的是二机组的小登们,飞机都是一样的,第二天还是有个舵机在场上没打开,一下场却又没问题了,本来稳国二的,如今只能国三了;也许没有少这一个月,专注提提速度,国一还是很大希望的,命运无常,如履薄冰,也算是走到对岸了……最后,感谢学院老师的支持与鼓励,感谢老总的资金支持,感谢队友们勤恳的日日夜夜,感谢家人理解与信任,感谢当年被打倒后还敢再来一年的自己!青山不改,绿水长流,最后也祝dut航模队,更上层楼!

魏子翔 / 2026 队员

余路还要走多久~ 这篇后记是我在重庆飞回大连的飞机上写的。马上就要完全结束这段征途了。 朋友们大家好啊,我是魏子翔,我也不知道谁会读到我写的这篇感悟,但是大概率会是之后希望投身于旋翼的小登们,可能会是闲的没事瞎看看,也可能是读代码读烦了乱找找。 我感觉啊,我一直是非常幸运的,天道跟我说福兮祸之所依,我也总是祸福相依。当时我转专业未能去到我想去的专业,却也非常幸运地来到了力航,非常幸运地选择了飞行器,非常幸运地来到了航模队,非常幸运地认识了同样写后记的七个人。 嗯,这么说呢,我对这半年多的旅程印象最深的,应该是暑假那段时间,每天都是无忧无虑的飞飞机,我对旋翼飞机的兴趣,也是在那段时间培养起来的。暑假开头的事情,是装机,装完之后就开始飞,小炸大炸之后就开始修。当时我还是操遥控器的,结果搞炸了三次还是两个。有一次很清楚,是在凌魂车队门口飞的时候,当时刚刚降落,我准备去抬飞机,然后手里拿着遥控器,结果弯腰的时候衣服勾到遥控器了,把手动打开了。当时桨叶瞬间转起来了,我秒开的急停,但是还是炸了,当时很惭愧,同时也是敬告一下之后安全员一定要首先注意安全,干别的事情的时候先把遥控器放好。 然后呢,我感觉我在航模队最大的收获,是确定了之后想要为之奋斗的方向。之前吧我感觉我没有什么想要研究的东西。你说搞力学,可以,搞仿真,也行,搞视觉,也没问题。但是现在我之后就想搞旋翼飞机或者一些机器人的硬件和控制,实际上也没有本质的区别。就比如对一些新颖的变体旋翼机就非常感兴趣,这种兴趣不是说突发性的,而且慢慢培养,持续关注的。之前实际上我对飞机也没有多么大的热情,是真的上手飞了之后,研究了之后才有兴趣,才想去做的。 我们半年多度过,确实也有太多挫折。无论省赛痛失省一,还是航模队失火,把飞机全烧了,还是国赛最后一轮第一眼没看到第三个侦察标(最后复盘看了好几次,发现实际上是飞机第一次飞到的时候图传眼睛的低功率模式图标把第三个桶挡住了,所以之后用图传一定不要开低功耗),每个都比较遗憾。当时听闻失火,看到火焰窜到一人之高,与后来听闻继续比赛,学院继续支持的时候的心情完全属于两个极端。这里也是再次感谢一下航模队老师们的支持。 实际上我这篇后记里面很多都是站在我的视角,聊一些我的感受,没有说一些航模队发生的事情,但是我感觉个人的感受在个人的记录里面才是尤其珍贵的。希望之后的航模队旋翼组能再创辉煌吧,拿下国一,创造队史。我们今年比较时运不济,未来就靠你们了。然后有句我比较喜欢的话送给你们,这应该是RM里面的一句宣言,穷究原理,洞悉本质,虽然说如果之后你们看代码或者搞一些硬件什么的话只需要能看懂做对就行,但是洞悉一下本质还是最好的。 少年,我们的冒险结束了,你们呢?