美文网首页
改变无人机飞控软件的开发方式——翼朝自动化开发工具的应用(上)

改变无人机飞控软件的开发方式——翼朝自动化开发工具的应用(上)

作者: 翼朝智能科技有限公司 | 来源:发表于2017-08-03 19:08 被阅读0次

    1.无人机的飞控开发是什么?

           目前,在自动驾驶、自主飞行的热门前提下,无人机的飞控系统不再是狭义的“控制”,而是包含了导航定位系统、环境感知系统、飞行决策系统和控制系统等多个子系统,在无人机大系统中处于绝对的核心地位。通常我们提到的无人机飞控是一个软硬件结合的产品,例如下面图1所示。
    (1)飞控硬件:集成和外接了计算单元、导航传感器(惯导、地磁、GPS、超声波、激光、气压计、光流、导航相机等)、无线数传等模块,电机和舵机控制等模块。
    (2)飞控软件:随着飞控功能的丰富与拓展,无人机飞控中往往运行有嵌入式系统,并具备传感器数据融合、姿态和位置控制、自主导航、自主飞行、航点管理、远程遥控飞行和故障保护等功能。此外,飞控系统中的软件功能会随着应用场景的不同而具备明显的差异性。

    图1 加拿大Micropilot商业飞控

            可以看出,无人机飞控系统的开发是一个多学科、多专业交叉,需要多个部门工程师协调工作的过程,并且要求研发团队掌握控制理论、空气动力学、飞行力学、结构力学、仿真和建模、嵌入式开发和硬件设计等多个领域的专业知识。此外,团队的技术负责人必须是一个经验丰富的设计者,对飞控系统软件和硬件的工程实现,以及实际约束条件有深入的洞察力,能够将无人机的设计要求转化为较好的量化指标,合理分配飞控的软件与硬件部分对系统性能的贡献。

    2. 飞控系统软件开发流程

            这里侧重的是飞控算法和理论在硬件上的工程实现和调试,前提是飞控硬件板到位,飞控系统的软件架构已经搭建好。飞控软件的开发需要经历以下几个环节:

    2.1 传感器数据分析和校准

    (1)飞控硬件和PC机之间通过特定的协议进行通讯,可以是开源的Mavlink协议或者是自定义的协议。开发者可以通过PC机的上位机软件监控和采集原始的传感器数据,用于器件的标定和数据预处理。
    (2)由于飞控硬件会受到飞机震动、随机噪声和环境干扰的影响,采集到的原始传感器数据不能直接拿来进行导航和控制,因而需要利用数字信号处理中的频域和时域分析方法,设计数字滤波器、传感器标定算法,以完成传感器误差校准和数据的预处理。
    (3)有条件的开发团队,会在这一环节建立高精度的外部测量系统,例如vicon或optitrack光学运动捕捉系统、uwb超带宽室内定位系统等,为传感器标定和后续飞控软件开发提供参考真值。

    说明:翼朝无人机飞控自动化设计与开发工具在这一环节为开发者提供了传感器数据分析和建模的相应功能,方便开发者完成数据预处理算法设计、传感器校准,以及对应的嵌入式代码自动生成。

    2.2 组合导航系统的设计与调试

    (1)设计多传感器数据融合算法,并利用离线采集的实测数据完成验证;
    (2)将算法转化为在飞控硬件中运行的嵌入式代码,进行在线的算法调试;
    (3)评估姿态估计和位置估计精度。

    说明:导航系统在设计中需要考虑传感器的在线故障监测和导航结果对控制系统的影响。这一过程要求开发者深入理解导航算法可调节参数对性能的可能影响,并做出合理的选择。例如,传感器数据融合结果的噪声特性与算法的相位滞后是矛盾的,噪声水平越低、输出曲线越是平滑,引起的系统滞后更明显。不合理的相位滞后会造成飞控系统的不稳定。

    翼朝无人机飞控系统自动化设计与开发工具,在这个环节为开发者提供了经过验证的数据融合算法模块和导航系统故障监测算法模块,开发者可以在这个基础上进行二次开发,并直观的看到数据融合算法参数对融合结果的影响。图3展示的是组合导航算法解算结果与光流传感器数据的对比图。

    图3 组合导航算法解算结果与光流传感器数据的对比图

    2.3 姿态与位置控制系统的设计与调试

            这一环节涉及到无人机的执行机构和动力系统特性,无人机要在控制算法的作用下完成悬停动作——这是实现其他复杂飞行功能的基础。设计环节遵循这一过程:控制系统建模->算法仿真->嵌入式代码生成->机载测试。

    2.3.1 控制系统建模

    (1)动力系统建模——分为四部分:桨叶建模、电机建模、电子调速器建模、电池建模。
    (2)刚体运动学和动力学建模——建立非线性的无人机飞行控制刚体模型。
    (3)气动阻力建模——建立无人机轴向和侧向的空气阻力值与阻力系数、无人机速度之间的函数关系。

    图2 多旋翼无人机建模流程(引自北航全权老师讲义)

    说明:翼朝无人机飞控系统自动化设计与开发工具,在这一环节提供基于测试数据的参数辨识模块,方便开发者快速得到精确的无人机控制模型。

    2.3.2 控制算法开发与嵌入式代码的自动生成

           目前在无人机系统中得到工程应用的控制算法除了传统的串级PID,还有Hinf控制、模型预测控制、自抗扰控制和L1自适应控制等。PID算法结构简单、原理清楚,算法的实现和调试都相对简单,得到了广泛的应用。 其他控制方法大多需要建立系统精确的控制模型,另外在算法的嵌入式实现难度上也大于串级PID控制。
           在进行实际的机载测试之前,可以通过高精度与高置信度的仿真,获得初步的控制器参数用于微调。考虑到仿真工具不可避免的建模误差,因此,在实际飞行测试时,必须对无人机的PID控制器参数进行人工调整,以获取最佳的控制效果。这个过程依赖于工程师的开发经验和对飞行数据的分析能力,同时消耗大量的时间和精力,有时候甚至付出摔机以及测试人员受伤的巨大代价。

    说明:翼朝无人机飞控系统自动化设计与开发工具,在这一环节提供了植入工程师经验、且经过验证的姿态与位置控制系统的仿真测试模块;同时,同步生成可执行的嵌入式代码。另外,在基于实测数据的情况下,开发者可以借助翼朝自动化工具中的控制器参数优化工具,完成控制器参数的自动调节。

    2.4 无人机飞行视景模拟

           翼朝科技正在进行的一项工作是:联合ROS机器人操作系统与翼朝自动化开发工具,实现对无人机运动场景与运动轨迹的模拟。这部分工作借鉴了德国人开发的一个多旋翼无人机ROS仿真插件。视景模拟效果如图4所示。

    图4 无人机飞行视景模拟效果图


    相关文章

      网友评论

          本文标题:改变无人机飞控软件的开发方式——翼朝自动化开发工具的应用(上)

          本文链接:https://www.haomeiwen.com/subject/ikoxlxtx.html