第9章 编程大神
姜晨从张教授手里面接过器材,他先要跑通板子,把各个传感器接好,最后代码写好编译了放在里面运行。
捣鼓了一会,他发现了一个问题,张教授的器材,主要传感器就二十四个姿态传感器。
只用姿态传感器,他这个技术是没有办法实现的。
还必须要最少十二个风力传感器,通过设备四周风力的大小,经过算法计算,能精确的分析出火箭将会倾倒的方向。
然后电磁铁通电,改变铁球的位置,调整火箭姿态!
只有能精确预判出火箭将会倾倒的方向,才能通过铁球修正,真正等到姿态传感器传出倾斜信息的时候,就晚了,那时候就算铁球跑到最极端,火箭的姿态可能也难以修正过来了。
风力传感器其实才是这个技术核心的部件。
他想着跟张教授要一些风力传感器,但是看到张教授好像很忙的样子,他没有去打扰,而是选择先敲代码。
他首先敲的,是整个代码架构,架构敲完之后,再分模块一点点的写下去。
系统已经把架构给出来了,所以他并不需要怎么思考,估计今天上午架构就能写完了。
时间慢慢过去,姜晨的手敲键盘如飞,他所有的注意力都集中在了代码当中。
一行行代码出现在电脑屏幕上。
一直写到了中午,用了两个多小时,几乎等于是抄代码的速度,他终于是把系统框架给写完了。
伸了个腰,扭了扭脖子,他看到,实验室里面已经没有人了,只有张教授还在整理着什么。
他整理完了之后,就朝着姜晨走了过来。
“他们都去吃饭了,你还不去吃饭?”
“您不也没去呢吗?”
姜晨说完之后,就继续说道:“对了张老师,您这里有没有风力传感器?”
“我们实验室,只要你能说上名字的传感器,都有,你还要用到风力传感器?”
“嗯,我发现这个技术想要实现,只用姿态传感器是不够的,因为我们技术中用到的铁球质量是有限的,对火箭来说,能改变的力矩有限,真正姿态传感器传来数据的时候,已经晚了。”
张教授点了点头眼神中竟然有一些赞赏:“你说的没错,这个技术最大的难点,其实在于预测火箭将要倾斜方向,提前启动电磁铁程序,这样才能来得及,但是这给编程算法上,带来了很大的困难。
当初我也想过风力传感器来预测,但是这样做,只能让编程算法上,更难,几乎没法实现。”
在张教授看来,姜晨能想到预测火箭将要倾倒方向这一点,他已经很满意了。
“我知道,但是只有在使用了风力传感器,才能完成对火箭的倾倒方向的预测,所以我想跟您借一些风力传感器。”
张教授看了看他,刚刚他说的还不明显么?风力传感器自己早就试过了,走不通。
不过他还是说道:“行,下午我给你申请,你需要几个?”
在他看来,不相信所谓的权威,是一个很好的科研品质。
“十二个就够了。”
“没问题!”
……
因为实验室下午两点钟才开门,所以姜晨吃过饭之后,就直接回宿舍了。
刚到宿舍,他看到许瑞和余志远都趴在段凌飞的位子前,三个人盯着段凌飞的屏幕大声的讨论着。
“姜晨,你来了,老段毕设遇到麻烦了。”
这时候姜晨也走了过来,一只手撑在桌子边缘,勾着头看了看。
电脑上面显示的是一个个代码文件。
“你的论文不是《微型飞行器飞行控制系统设计》吗,能有什么麻烦的?”姜晨一边看着他的电脑一边问道。
段凌飞一脸愁容的说道:“选题的时候,在系统功能上,我添加了一个自动巡航,可是现在做起来,发现这个功能根本没有我想的那么好实现。”
姜晨想了想说道:“自动巡航网上应该能找到开源的算法库吧,直接导入进去不就行了吗?”
“说的简单,算法库我也下载下来了,但是你看我这,用都不知道怎么用。”
段凌飞胡乱点着各个文件。
本来就不是专业学编程的,这对他来说,自然是非常难,加上他不肯静下心来好好花时间搞,于是就出现了这种情况。
姜晨笑了笑,接着说道:“还不起来,让本大神给你看看。”
三人都诧异的看着姜晨,他们三个里面,姜晨的编程技术是最好的这个他们承认,当年学C语言的时候,姜晨在宿舍还敲过代码呢。
但就算是这样,姜晨的水平在他们看来,还是半吊子水平啊。
虽然有些不相信,但是段凌飞还是站起来了。
姜晨直接坐了上去。
鼠标点了几下。
“你这一看就是在某宝上面买的飞行器带的代码吧?架构混乱,代码也是够乱的,连模块编程都不用,这代码就算是找个计算机系的来看,都不一定看的明白。”
姜晨一边说,一边把各个文件分类放在不同的文件夹里面,然后写了总体的编译逻辑。
这时候整个代码看起来就有序多了,不像之前一样,各个文件都随便乱放,想找都找不到。
“我靠,姜晨,你什么时候变这么牛叉了?”段凌飞看着工整的工程目录,震惊的说道。
许瑞和余志远也像看陌生人一样看着姜晨。
“你竟然是个隐藏这么深的编程大神?”
“现在只是把各个模块的文件分类放好,把总体编译逻辑写好,这样回头编译的时候,只要在最上层目录make一下,就OK了。
不过这代码里面写的也很垃圾,写的很冗余不说了,写代码完全不按套路来,也不知道分模块编程,算了代码里面的内容我就不多改了。”
姜晨随意打开一个文件,发现里面的代码真是写的一塌糊涂,毫无章法。
不理会三个人如同看外星人一样的眼光,姜晨又继续点开了第三方的自动巡航库,然后把库导入进去。
最后在他工程里面调用几个库的接口,巡航功能就算是添加进去了。
到时候只要他的APP上再添加自动巡航的接口,他的微型飞行器控制系统就算是把自动巡航功能添加上了。