资讯

Firmament (FMT) 开源飞控系统是如何运行的?

转载 2023-03-16 10:17 阿木实验室 来源:阿木实验室

项目介绍

Firmament (FMT) 是一款基于模型设计 (Model Based Design, MBD) 的开源自驾仪,可被用来快速构建无人机,车,船,机器人等的无人控制系统。基于模型设计已经被广泛应用于汽车制造、航空航天等行业,当前采用基于模型设计模式开发的飞控系统凤毛麟角,而 FMT 就是为此而诞生。


FMT结合当前最先进的基于模型设计和3D仿真技术,致力于打造下一代的开源自驾仪系统。目前所有代码均开源,欢迎Star!

FMT 项目主要由三部分构成:

FMT-Firmware: 飞控嵌入式软件框架。包含飞控的核心软件,驱动以及功能模块。

FMT-Model: 飞控算法模型框架。包含了基于 Matlab/Simulink 实现的算法模型,如导航,控制,状态机,被控对象模型等。算法模型通过自动代码生成可以合入到 FMT-FW中,从而构成完整的飞控系统软件。

FMT-Sim(开发中): 基于3D引擎实现的模拟仿真环境,提供逼真的渲染效果和丰富的仿真场景。


区别于其它的开源飞控,FMT构建了从嵌入式软件,建模与仿真于一体的软件开发平台。

功能特点

-  C语言实现的轻量级、高实时、高性能的嵌入式软件系统,支持C/C++混合编译。

-  基于国产RTOS RT-Thread, 拥有活跃的开源社区以及丰富的第三方组件。

-  支持MBD(Model-based Design)全流程开发。MIL、SIL、HIL、SIH仿真支持。

-  基于Matlab/Simulink实现的算法和模型库,图形化编程,支持仿真和自动代码生成。

-  支持Mavlink协议以及开源地面站QGroundcontrol。

-  支持多种硬件平台,如FMT飞控硬件ICF5,以及广泛使用的开源硬件Pixhawk/Pixhawk4/雷迅V5+等。

-  采用跨平台的开发工具链,支持Win/Linux/Mac等平台的开发。

嵌入式软件系统——FMT-Firmware

FMT-Firmware系统框架

FMT-Firmware采用分层设计和高度模块化的设计模式,算法和底层深度解耦,便于算法二次开发和替换。

-  Target HW:目标硬件BSP(Board Support Package),目前已支持多种硬件平台,如ICF、Pixhawk4、CUAV-V5+、Hex Cubeorange和QEMU等;

-  Driver:与板载芯片无关的通用驱动软件,如传感器驱动、存储器驱动、LED驱动等;

-  HAL:硬件抽象层,为上层提供统一的设备接口;

-  RTOS:国产开源RT-Thread嵌入式操作系统;

-  Middleware:中间层,包含系统组件Modules、算法模块Models和软件库Libraries;

-  Task:应用层,包含系统顶层任务,如控制任务、通信任务、日志任务和状态显示任务等。

其中Models包含四类算法模块,适用于大部分的被控对象平台,如无人机、无人车、无人船、机器人等:

-  INS惯性导航系统:通过多传感器融合算法,获得对象的姿态信息,如姿态、速度、位置等;

-  FMS飞行管理系统:负责管理对象的状态,如模式管理、安全管理、位置制导等功能;

-  Controller控制系统:控制率算法,负责对象的底层控制,如姿态、速度控制等;

-  Plant被控对象模型:被控对象的数学建模,包含动力学建模、作动器建模、环境建模和传感器建模等(被控对象模型仅用于HIL和SIH等仿真用途)。


由于算法和底层深度解耦,只通过标准的模型接口进行连接,所以可以像乐高积木那样,通过嵌入不同的算法模型,来实现算法的替换以及对不同对象的控制。

部署算法模型

算法模块不仅支持Simulink代码自动生成,也可以使用传统的C/C++编码方式:

FMT C/C++算法移植步骤详解



FMT-Firmware嵌入式软件框架专为MBD设计,提供了许多功能强大的中间件模块组件:

FMT中间件(1)——一种高效的跨线程通信模块uMCNFMT中间件(2)——一种分布式参数模块FMT中间件(3)——一种高实时的分布式日志模块Mlog

建模与仿真系统——FMT-Model

FMT区别于其它传统开源自驾仪的地方在于支持MBD基于模型设计的全流程设计,可以涵盖V型设计模式的各个阶段。

V型设计模式

FMT-Model是基于MATLAB/Simulink所搭建的一套建模与仿真系统,可以提供算法设计阶段的系统定义、需求定义、接口设计、算法建模和仿真等功能支持。

FMT-Model系统框架

FMT-Model目前包含了多旋翼和固定器的全套算法模型,使用Simulink图形化的建模方式,算法框架清晰,便于理解和二次开发,也可直接生成代码合入嵌入式软件中进行实飞测试。

模型在环仿真模型

FMS模式管理状态机

除了Simulink提供的基础模块以外,FMT-Model还提供一套FMT Toolbox,包含大量基础数学模块,来帮助快速搭建算法模型:


FMT Toolbox

FMT-Model支持多种仿真模式,如模型在环仿真(Model-in-the-loop Simulation,MIL)和开环仿真(Openloop Simulation)。

FMT仿真——模型在环仿真FMT仿真——开环仿真支持硬件平台

阿木实验室ICF5

合力兄弟 Pixhawk4

雷迅 V5+

赫星Cubeorange

测试视频


航点任务模式飞行测试

Offboard离线控制模式绕飞行

定点飞行效果

定点模式下动态飞行

FMT项目相关资源:

FMT项目地址:

https://github.com/Firmament-Autopilot

FMT用户手册:

https://firmament-autopilot.github.io/FMT-DOCS/#/content_ch/

项目公开课:

https://bbs.amovlab.com/plugin.php?id=zhanmishu_video:video&mod=video&cid=70

若希望进一步交流,可添加客服微信(jiayue199506),申请进入【FMT开发者交流群】。

近期我们推出的FMT首个自研飞控硬件——ICF5,正在火热开售中,目前现货库存已不多,如您对该产品感兴趣,请联系客服(jiayue199506 或 yinyue199506)及时加购哟!

0 0

网友评论

取消