无人机涉及哪些工作
自开公众号以来,陆续有不少关注者提问怎么去学习无人机技术,尤其是对于入门者。其实无人机是一个复杂的系统,它涉及到许多学科。所以你首先要给你自己一个定位,你是要从事无人机哪方面的工作?
我们先来了解一下无人机设计研发一般都有哪些方面的工作?我们大概用简单的语言描述一下它们的工作内容。
总体设计:明确总体设计指标,协调各分系统,一般是啥都要懂点;
结构设计:设计飞行器结构,既要保证强度,也要控制重量、重心位置;
气动设计:设计飞行器的气动外形、机翼翼型,飞得越快越重要;
导航算法设计:融合传感器数据输出位置、速度、姿态等信息;
飞控算法设计:设计飞行控制律,实现路径跟踪、轨迹跟踪、姿态跟踪;
图像算法设计:设计视觉导航、视觉识别、视觉跟踪算法;
动力系统设计:设计发动机、电机系统;
嵌入式软件设计:设计应用层和底层系统软件;
嵌入式硬件设计:设计硬件系统,开发系统软件和底层驱动;
地面站软件设计:设计UI界面,根据数据协议设计和编写地面站软件。
上述是我对无人机工作的一些理解和总结,有不对不全的地方欢迎大家补充和指正。要学习无人机技术的朋友应该根据自己的爱好和专业情况从这些工作中选取一个工作内容,然后深入学习。由于我主要从事导航和飞控算法的设计工作,所以我们就主要谈一谈怎么去深入学习导航和飞控算法的设计。
三步走学习飞控算法
关于导航和飞控算法设计,我在这里建议大家分三步走学习。
第一步 夯实基础
导航和飞控算法设计都是属于理论性比较强的工作,需要大家掌握比较好的数学基础,所以,不要妄想直接学习怎么搭建控制器,这跟武侠小说中学习上乘武功是一样的,首先需要练好基本功,把内功练好了学具体的武功招数不仅快而且能够发挥最佳效果。
理论基础其实很多人在大学里都学过,只不过是把学过的知识还给老师了或者当时就没有好好学,没有学过的朋友也不用太担心,只要时间花到位,自然是能够掌握所需的知识。理论基础主要有这些课程:数学分析、矩阵分析、概率论、随机过程、信号与系统、理论力学、线性系统理论、非线性控制系统理论、飞行动力学与控制。
学习一门课程一定要有一本好的参考书,它可以帮我们节省很多时间,我会在之后给大家推荐一些写得比较好的书籍,供大家学习时使用。另外,在学习过程中遇到问题不要被困住,可以先放一放,很多问题等你学到课程的后面就会恍然大悟的,这一点会帮助自学的朋友解决很多问题。
第二步 杀怪练级
实战是最检验学习水平的方法,也是提升自己的绝佳路径。实战可以是完成一个简单的定高飞行,也可以是复杂的路径跟踪、轨迹跟踪。实战既可以是仿真测试,也可以是实际飞行,仿真测试既可以使用matlab这样的软件来实现,也可以搭建像px4一样的开源软件开发环境来进行仿真。
现在github上有很多开源软件和硬件,它们都具备完善的软件和硬件系统,要在上面进行二次开发可以减少很多不必要的工作量。另外,搭建一套可以飞行的小无人机系统也是非常有必要的,有条件的朋友建议搭建一套,随时随地实现你的想法。
大家在实现自己的算法设计时一定是由简入难,不要一开始就想去设计一套特别完善,特别厉害的算法,这样子成功的几率极小,不仅会打击你的信心,还容易走错方向。
第三步、无招胜有招
飞控和导航算法设计不仅仅是实现一个算法那么简单,算法有时候只是几个公式而已,但到了真正使用时就会有很多种情况需要考虑,怎么对状态初始化啊,飞机不同的飞行状态时应该使用那套算法啊,怎么容错啊,怎么抗饱和啊等等。
所以要想成为导航和飞控算法设计的高手,你还需要脱离公式,随机应变,在不同情况下根据实际情况进行设计。这就像武侠小说中的那些绝顶高手,他们没有招式,达到了无招胜有招的最高境界。冰冻三尺非一日之寒,要想达到这个境界,往往是需要多年的经验加不断的学习,一般都是行业内的老前辈。
总结
上面让大家分三步走,其实,并不是说先完成第一步,然后再去试第二步。他们都是循环迭代的过程,只是在总体思路上你应该是先打好基础,然后再去设计控制器,设计导航算法,在你设计的过程中遇到问题了再反过来学习,进一步夯实基础,那最后积累经验,根据实际情况设计算法,灵活修改算法也不是朝夕可成,在此过程中也是在不断地学习新的知识,夯实新的基础。
有些奋战在一线的朋友可能没有那么多时间去学习那些基础课程,那可以根据你需要的知识选择性的进行学习,这个就需要自己对知识面有比较好的掌控,知道缺哪些基础,对于小白来讲可能比较难。所以对于小白来说,还是建议你先学习基础课程,毕竟作为小白来讲也不可能一下子就让你去做实际的控制器、导航算法的设计,还是有时间可以让你去打好基础的。最后祝大家都能成为高手,达到无招胜有招的境界。
领取专属 10元无门槛券
私享最新 技术干货