赞
踩
1. 飞控与无人机系统
Tam Alex
原帖地址:https://zhuanlan.zhihu.com/p/32306372
终于开始写第一篇文字了,实在是太懒了,希望以后能抓紧时间。这第一篇文字呢,就讲一讲这个专栏要讨论哪些内容吧。
这个专栏的初衷是要总结和记录一下自己这些年的工作的,实际上我这些年在做的是基于C/C++的与平台无关的飞行状态估计及飞行控制算法库的开发。那么这部分工作在无人机系统里面是在什么位置呢?首先可以看下下面这幅图。
目前传统的无人机系统结构就跟这个图显示的一样,包括地面控制站(Ground Control Station,GCS)、飞行器(包括动力设备)、飞行状态感知系统、飞行控制系统、任务设备系统和数据链系统。那么这个专栏要讨论的就是实现飞行状态感知和飞行控制的一些方法和算法。
一个系统呢当然包括软件和硬件,实现飞行状态感知和飞行控制的硬件结构大致如下图。
一系列传感器和对传感器数据进行处理的运算器,以及利用飞行状态进行飞行控制的处理器。就本专栏而言打算从基础的聊起,所以先不涉及比较耗费计算能力的图像处理等,我们就假设一个CPU能够对传感器数据进行处理,然后利用处理后的飞行状态进行控制。那么在这个系统的软硬件构成可以由下图表示。
我们的软件就可以分为三大部分:与硬件打交道的应用层,调度管理各个任务的管理层和算法层。其中应用层各个CPU厂家都会有一些标准库供开发者使用,当然开发者也可以直接通过C或汇编语言直接操作寄存器。管理层部分可以使用RTOS,micro-COS II这样的操作系统,也可以自己简单的编写一个单线程的loop,将各种任务排列在其中。使用操作系统的优点是能够对任务进行评估和调度,比如任务超时会强制终结任务,缺点是会消耗系统的资源。使用单线程loop的优点就是高效,而且通过实验基本确定了一些主要计算的耗时后,能够合理地对loop进行安排,我们的大部分工程都使用单线程loop,如下图所示。
剩下的软件部分就是算法层了,也就是这个专栏准备写的东西。算法层主要包括飞行状态估计和飞行控制两个部分,其中飞行状态估计是实现飞行控制的基础,我们下期就从飞行状态估计开始喽
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。