作为无人机方面做嵌入式编写的飞控总结0

导:作为在专业公司的一名研制飞控(飞行控制器)的工程师,飞控代码的编写会涉及方方面面;如果团队是几十人或者个位的人数,分配下来:飞手,销售,测试,上位机(pc上位机地面站,手机安卓或者ios-app地面站),硬件研发,结构研发,嵌入式的,算法的等,这是在人员充足的

不过,中小公司往往不会有太多充足的情况,不过对职位来说,因为嵌入式往往软硬兼通,我觉得嵌入式在小公司是处在核心的职位,至少我和我认识的道友是这样的,他们做潜入式的,可以设计电路和pcb板,可以写驱动,可以写算法,可以对结构硬件设计和上位机及其通讯协议设计提出建设性的见解;

我废话太多了;我接下来,会对自己以前和现在设计的和涉及的很多东西进行总结(要不然很容易忘记的);

                            有错是难免的,开发是很忙的,我自己也很懒,但交流是可以;  人生很多时候确实是很无奈;

首先这部分分为软件兼和硬件

1软件

    首先,要懂得最基础的驱动开发(iic,spi和uart)解出传感器的原始数据(要记住传感器测量的数值不是真实值);

    其次,要知道对传感器的数据进行处理的几种方法(即算法--在飞控里面主要是经过处理之后得到位置/速度估计和姿态估计,可能需要障碍估计等等,这需要知道 姿态算法ekf,ukf,Ins+gps+ekf组合导航算法 等待);

    之后,得到估计值就可以做PID控制了(包括姿态控制pid和导航运算pid);

    最后,飞行平稳就能让飞机去做自己的执行任务(这部分可能是巡线航测航拍,农业植保,电力巡检等等---这其中就设计拍照控制,电子围栏设定,电池管理等等......)  ---- 而这就需要手机app或者电脑的软件的支持。。。。等等。。。

所有,这是第一张图最基本的逻辑;

2硬件:应该是要用的模块化的思想(硬件必备最基本的四大件:GPS模块,飞控模块,imu模块,电源/led模块)

   除了四大模块之外,按自己所需的,可以开发osd,光流等等。。。毕竟一旦量产,节省都是钱

   除了飞控和其电路,还要知道云台的调试和使用,结构如何设计。。。。。

  

3.涉及内容
1.传感器驱动编写&地面站上位机的使用

  最基本的协议:UARTI2CSPICAN…

2.滤波算法和估计算法 : ekf,ukf,Ins+gps+ekf组合导航,

  KF-Kalmanfilter卡尔曼滤波

  EKF-ExternKalmanFilter扩展卡尔曼滤波

3.姿态算法:

  坐标系统+EKF+一阶隆格库塔+欧拉角

5Pid控制算法
    位置-速度双环串级控制
        位置-速度-加速度三环串级控制
6导航级pid-任务规划和控制

7地面站开发:

   appeg.tower去谷歌框架、视频融合

   pc上位机:eg.mp界面修改和简化,协议的修改

8开源飞控功能开发:

  航线规划、自拍、航测、电子围栏、建模





猜你喜欢

转载自blog.csdn.net/xiaoxilang/article/details/80222200