项目概述
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 的购买渠道。
此内容经过深度改写,旨在保留原文关键信息的同时,显著提升文章的可读性、紧凑性与原创性。