Firmament (FMT) 开源飞控系统是如何运行的?
作者头像
  • 罗慧玲
  • 2023-03-16 10:17:00 3048

项目概述

Firmament (FMT) 是一款基于模型设计(Model Based Design, MBD)的开源自驾仪,旨在高效构建无人机、车辆、船只、机器人等无人系统的控制平台。作为行业内的创新之举,FMT 引入了基于模型设计的概念,使其成为无人驾驶控制系统领域的先驱。

开源与社区参与

所有 FMT 的源代码均开放给公众查看与贡献,鼓励社区成员共同推动项目的进步与发展。欢迎访问 GitHub 页面进行 star、fork 和提交代码。

构成与特性

FMT 项目由三个核心组件构成:

  • FMT-Firmware:提供嵌入式软件框架,包括核心软件、驱动和功能模块,轻量化、高实时、高性能,支持 C/C++ 混合编译。
  • FMT-Model:算法模型框架,基于 MATLAB/Simulink 实现,包括导航、控制、状态机、被控对象模型等,支持图形化编程与仿真。
  • FMT-Sim(开发中):基于 3D 引擎的模拟仿真环境,提供逼真的渲染效果与丰富场景。

独特优势

FMT 集成了从嵌入式软件开发到建模与仿真的全流程平台,区别于其他开源自驾仪:

  • 支持 C/C++ 混合编译,实现轻量级、高实时、高性能的嵌入式系统。
  • 基于国产 RT-Thread 实时操作系统,拥有活跃的开源社区与丰富第三方组件。
  • 包括从 MIL 到 SIH 的多层次仿真支持。
  • 提供基于 MATLAB/Simulink 的算法库,支持图形化编程与仿真。
  • 支持 MAVLink 协议及开源地面站 QGroundControl。
  • 兼容多种硬件平台,如 FMT 飞控硬件 IC5、Pixhawk4、CUAV-V5+、Hex Cubeorange 等。
  • 跨平台开发工具链,支持 Windows、Linux、Mac 系统。

嵌入式软件体系结构

FMT-Firmware 采用分层设计与高度模块化架构,算法与底层解耦,方便二次开发与替换:

  • Target HW:目标硬件 BSP(Board Support Package),支持多种硬件平台。
  • Driver:通用驱动软件,如传感器、存储器、LED 驱动等。
  • HAL:硬件抽象层,提供统一设备接口。
  • RTOS:国产 RT-Thread 嵌入式操作系统。
  • Middleware:包含系统组件 Modules、算法模块 Models 和软件库 Libraries。
  • Task:应用层任务,如控制、通信、日志与状态显示。

算法模块分类

FMT 包含四类算法模块,适用于各类控制对象:

  • INS:惯性导航系统,多传感器融合算法获取对象姿态、速度、位置等信息。
  • FMS:飞行管理系统,管理对象状态,包含模式管理、安全控制与位置引导功能。
  • Controller:控制率算法,底层控制对象,如姿态、速度控制。
  • Plant:被控对象模型,包含动力学、作动器、环境与传感器建模(用于 HIL 和 SIH 等仿真)。

算法模型部署

FMT 支持 Simulink 代码自动生成或传统 C/C++ 编码,实现算法模型的高效部署。

建模与仿真系统

FMT-Model 基于 MATLAB/Simulink,提供从算法设计到仿真测试的全流程支持。

部署与资源

FMT 提供详尽的用户手册、项目公开课与官方客服支持,以及即将推出的自研硬件 IC5 的购买渠道。


此内容经过深度改写,旨在保留原文关键信息的同时,显著提升文章的可读性、紧凑性与原创性。

    本文来源:阿木实验室
责任编辑: : 罗慧玲
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
飞控开源Firmament运行如何系统FMT
    下一篇