zoukankan      html  css  js  c++  java
  • 四轴之第一炸

    三天前买花了240块钱在咸鱼上买了一个二手f330四轴。昨天把他和我的遥控器调试完之后,准备今天起飞。

    一大早来到实验室,兴奋的拿着昨天做好 的四轴去楼下首飞。时间一共持续了大概20秒吧。慢慢推油门,飞机还没离地,四轴头部抬起较快,

    飞机不平衡,导致翻机。残忍的炸了我两个8045的桨。

    原因分析:

    1、可能由于四轴重力分布不均匀,重心不在几何中心上,导致受力不均匀,翻机。

    2、外面有点风,导致翻机。

    3、电机转速不一致,头部两个电机转速过快,导致翻机。

    4、加速度计和机架在机械安装时没有水平放置,或者加速度计没有零偏校准。

    上一张炸鸡图吧。

     

    下面说一下在论坛里看到的大佬的解决办法。

    【转载】

    玩四轴往往会有以下3个问题

    1. 四轴飞行器如何做到垂直起飞?
    2. 四轴飞行时为何会飘?
    3. 如何做到脱控?


    这三个问题可以说是玩四轴常见的3个问题了。就原理上讲,他们的原因大多都是由加速度计引起的

    如果飞机可以垂直起飞,说明你的加速度计放置地很水平,同时也说明你的PID控制算法参数找的不错,既然可以垂直起飞,那么飞行过程中,只要无风,四轴几乎就不会飘,自然而然就可以脱控飞行。由此可见,加速度计是个十分重要的器件。

     

            在姿态解算中,或者说在惯性导航中,依靠的一个重要器件就是惯性器件,包括了加速度计和陀螺仪。陀螺仪的特性就是高频特性好,可以测量高速的旋转运动;而加速度计的低频特性好,可以测量低速的静态加速度。无论是何种算法(互补滤波、梯度下降、甚至是Kalman滤波器),都离不开对当地重力加速度g的测量和分析。惯性导航利用的就是静态性能好的加速度计去补偿动态性能好的陀螺仪漂移特性,得到不飘并且高速的姿态跟踪算法,因此基于惯性器件的姿态解算,加速度计是老大,它说了算。

     

           下面,我给大伙推理一下四轴如何平稳飞行的思路,欢迎各位批评指出::-)

     

            首先,为了让四轴平稳的悬停或飞行在半空中,四个电机必须提供准确的力矩->假设力矩与电机PWM输出呈线性关系,也就是必须提供准确的4路PWM->4路PWM由遥控器输入(期望角度)、PID算法及其参数和姿态解算输出(当前角度)组成。

     

           假设遥控器输入不变(类似脱控)、PID算法及其参数也较为准确(PID参数无需十分精确,但只要在某个合理的范围内,控制品质差不了多少),也就是姿态解算的输出必须是十分准确的,可以真实反应飞行器的实际角度->姿态解算的结果由加速度计和陀螺仪给出,根据前述惯性导航的描述,加速度计补偿陀螺仪,因此要得到精确的姿态解算结果,

     

           务必要求加速度输出精确的重力加速度g->这里仅讨论悬停飞行,因此忽略掉额外的线性加速度(事实证明,在四轴强机动飞行过程中,线性加速度必须要考虑并消除),假设加速度计输出重力加速度g,这个重力加速度g必须十分“精确”。

     

            总结一下:精准力矩->精准PWM->精准姿态->加速度计输出“精确”重力加速度g。

     

            这里的“精确”打了引号,意思不是说加速度的性能十分好,要输出精确的当地加速度g,而是说它能够准确反应机架的角度。为了达到悬停、平稳的飞行效果,控制算法输出的PWM会让加速度计输出的重力加速度g在XOY平面内的分量就可能少,也就是说:

     

    PID控制算法控制的不是机架水平,而是加速度计水平PID不知道机架是什么东西,它只认加速度计,它的使命就是让加速度计水平

     

    我现在假设加速度计与机架存在某个角度,比如右倾30°,四轴主视图如图所示。

    <ignore_js_op>

    上图中,加速度计(红线)与四轴机架的水平面(虚线)呈30°。起飞后,PID控制算法会尝试将加速度计调整至水平位置,因此四轴就会往图中左边飘,倾斜角度也为30°。这就是为什么飞机无法垂直起飞,或者飞行过程中往一个方向飘的原因:加速度计和机架没有水平。因此在加速度计的机械安装时,尽量保证加速度计与机架水平。如果有些朋友已经将加速度计固定在飞控板上,可以通过遥控器的通道微调功能设置悬停时的期望角度,软件上校正这种机械不水平。

     

            除了上述讨论的加速度计安装水平问题,也需要对加速度计进行零偏置校正,具体的方法叫做6位置标定法:即将加速度计沿着6个方向放置,分别记录重力加速度计g在6个方向上的最大输出值,然后取平均,得到圆球的中心点(这里假设g投影为球,实际上为椭球,需要进行最小二乘法拟合求三轴标定系数)。

     

            最后提一点,如果加速度计和遥控器均做了调整,飞机可以做到垂直起飞,并且飞行效果还行,但是飞机的回中速度较慢,感觉就像是在抬轿子一样。具体描述:悬停时,猛往一个方向打摇杆后立即放手,飞机会往摇杆方向走很远才停下。这是因为飞机过于稳定,也就是内环的作用过强或者外环作用过弱导致,解决方法是降低内环P或者加大外环P。

    原文地址:http://bbs.elecfans.com/jishu_486498_1_1.html

  • 相关阅读:
    outlook配置其他邮箱登录如qq邮箱或登录无邮件信息记录
    数据库有自增字段插入数据报错 “列名或所提供值的数目与表定义不匹配。”解决方法
    asp.net编译中出现 数据库 'C:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLDATA est1.mdf' 已存在。请选择其他数据库名称。
    SQL使用UPDATE和SUBSTRING截取字符串方法,从头截取到某个位置,截取中间片段,字符串中间截取到末尾或删除前面的字符串
    SQL使用UPDATE和SUBSTRING截取字符串方法,从头截取到某个位置,截取中间片段,字符串中间截取到末尾或删除前面的字符串
    ASP.NET使用window.event.keycode来获取按下的键盘值!
    关于QPS、TPS、PV、UV、GMV、IP、RPS的名词解释!
    java冒泡排序
    java快速获取数组中第二大的数
    java阶乘
  • 原文地址:https://www.cnblogs.com/qsyll0916/p/6534228.html
Copyright © 2011-2022 走看看