发布询价单
您的位置:首页 > 资讯 > 综合资讯 > 正文

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

2023-03-16 10:17 性质:转载 作者:阿木实验室 来源:阿木实验室
免责声明:无人机网(www.youuav.com)尊重合法版权,反对侵权盗版。(凡是我网所转载之文章,文中所有文字内容和图片视频之知识产权均系原作者和机构所有。文章内容观点,与本网无关。如有需要删除,敬请来电商榷!)
项目介绍Firmament (FMT) 是一款基于模型设计 (Model Based Design, MBD) 的开源自驾仪,可被用来快速构建无人机,车,船,机器人等的无人控制系统。基于...

项目介绍

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)及时加购哟!

网友评论
文明上网,理性发言,拒绝广告

相关资讯

推荐图文

关注官方微信

手机扫码看新闻