FMT ICF5实时仿真,不止于飞控

2023-12-07 05:30

本文主要是介绍FMT ICF5实时仿真,不止于飞控,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于ICF5的实时仿真

作为FMT的首款自研的国产开源飞控硬件平台,ICF5不仅功能强大,而且高颜值和高性价比获得了用户的一致好评。

FMT ICF5飞控

ICF5购买链接​item.taobao.com/item.htm?id=705459383848&ali_refid=a3_430620_1006:1123834906:N:O3mcoUggvOmuxWcZ5TrtiQ%3D%3D:69fa2cb78214f2a9eeb73ab7c59bb9ba&ali_trackid=162_69fa2cb78214f2a9eeb73ab7c59bb9ba&spm=a21n57.1.0.0#detail

但是ICF5的功能不仅限于一款飞控平台,ICF5还可以作为实时仿真目标机提供了实时仿真的接口,能够运行无人机或者其它被控对象的物理模型并开展半实物(Hardware-in-loop, HIL)或者纯硬件(Simulator-in-hardware,SIH)实时仿真。相比于动辄上万或者上十万的实时仿真机,ICF5可谓是“真香”。

ICF5支持基于模型设计(Model-based design,MBD),可以使用Simulink搭建被控系统的模型。目前ICF5内置了多款无人机的被控对象模型,也可以基于FMT来轻松搭建其它的被控对象模型。

多旋翼被控对象模型MC-Plant​github.com/Firmament-Autopilot/FMT-Model/tree/master/model/Plant/MC-Plant

固定翼被控对象模型FW-Plant​github.com/Firmament-Autopilot/FMT-Model/tree/master/model/Plant/FW-Plant

MC-Plan

模型可以直接生成C/C++代码烧录到ICF5中实时运行。

代码生成

运行数据可以被ICF5记录下来,并导入Matlab中查看。

数据分析

半实物仿真

半实物仿真,亦称硬件在环仿真,是一种实时仿真技术,它将真实的硬件与计算机仿真技术相结合,用于测试和验证嵌入式系统的性能。在HIL仿真中,嵌入式系统被连接到仿真器或模拟器上,并与真实的物理设备进行交互,以模拟实际环境中的操作和反馈。通过HIL仿真,可以更全面、准确地评估嵌入式系统的性能和可靠性,以及它们与周围环境的交互。

ICF5可以作为仿真机运行被控系统模型,同时还提供了丰富的硬件接口,如串口,SPI,IIC,USB,网口,CAN等用于跟外部控制器和仿真电脑进行数据交换。

HIL仿真

纯硬件仿真

纯硬件仿真类似于半实物仿真,都是基于硬件的仿真技术。他们的主要区别在于,纯硬件仿真时将被控系统模型和控制器合二为一,即在一个硬件上同时运行Plant和Controller。他的好处是可以简化硬件结构和成本,同时也省去了中间通信所带来的信号延时和带宽问题。

SIH仿真

仿真步骤

以纯硬件仿真为例,下面介绍一下使用ICF5进行实时仿真的基本步骤:

1. 获取FMT-Firmware的最新代码。可从如下Github地址拉取。

FMT-Firmware​github.com/Firmament-Autopilot/FMT-Firmware

2. 在fmtconfig.h中打开FMT_USING_SIH的宏,即开启SIH仿真功能。

3. 输入scons -j4编译多旋翼固件(默认)。如果要编译固定翼的固件,请使用scons -j4 --vehicle=Fixwing

4. 将固件下载到ICF5飞控中。飞控运行起来后,可以在控制台输出中看到Plant模型已经被加载。

5. 将遥控器连接到飞控(也可以选择不使用遥控),同时连接上地面站。然后可以像操作真实飞机一样进行仿真测试。比如使用遥控器控制飞行,或者使用地面站绘制航点等。

仿真演示案例

下面演示一些实际的仿真案例。

基于ICF5的多旋翼绕8 SIH仿真

基于ICF5的固定翼SIH仿真

ICF5用户案例

这篇关于FMT ICF5实时仿真,不止于飞控的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/464653

相关文章

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

perl的学习记录——仿真regression

1 记录的背景 之前只知道有这个强大语言的存在,但一直侥幸自己应该不会用到它,所以一直没有开始学习。然而人生这么长,怎就确定自己不会用到呢? 这次要搭建一个可以自动跑完所有case并且打印每个case的pass信息到指定的文件中。从而减轻手动跑仿真,手动查看log信息的重复无效低质量的操作。下面简单记录下自己的思路并贴出自己的代码,方便自己以后使用和修正。 2 思路整理 作为一个IC d

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑燃料电池和电解槽虚拟惯量支撑的电力系统优化调度方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python

三.海量数据实时分析-FlinkCDC实现Mysql数据同步到Doris

FlinkCDC 同步Mysql到Doris 参考:https://nightlies.apache.org/flink/flink-cdc-docs-release-3.0/zh/docs/get-started/quickstart/mysql-to-doris/ 1.安装Flink 下载 Flink 1.18.0,下载后把压缩包上传到服务器,使用tar -zxvf flink-xxx-

Matlab simulink建模与仿真 第十章(模型扩展功能库)

参考视频:simulink1.1simulink简介_哔哩哔哩_bilibili 一、模型扩展功能库中的模块概览         注:下面不会对Block Support Table模块进行介绍。 二、基于触发的和基于时间的线性化模块 1、Trigger-Based Linearization基于触发的线性化模块 (1)每次当模块受到触发时,都会调用linmod或者dlinmod函数

【IPV6从入门到起飞】4-RTMP推流,ffmpeg拉流,纯HTML网页HLS实时直播

【IPV6从入门到起飞】4-RTMP推流,ffmpeg拉流,纯HTML网页HLS实时直播 1 背景2 搭建rtmp服务器2.1 nginx方案搭建2.1.1 windows 配置2.1.2 linux 配置 2.2 Docker方案搭建2.2.1 docker 下载2.2.2 宝塔软件商店下载 3 rtmp推流3.1 EV录屏推流3.2 OBS Studio推流 4 ffmpeg拉流转格式

AMEsim和Simulink联合仿真生成新的.mexw64液压模型文件

AMEsim和Simulink进行联合仿真非常重要的就是AMEsim经过第四阶段Simulation会在相同文件下面生成一个与AMEsim液压模型相同名字的.mexw64文件,在Simulink进行联合仿真的S-Function需要找的也就是这个文件,只不过输入的时候除了液压模型名字之外,后面有一个短下划线。 简而言之: AMEsim和Simulink联合仿真, 首先是需要AMEsim软

【自动驾驶】控制算法(八)横向控制Ⅱ | Carsim 与 Matlab 联合仿真基本操作

写在前面: 🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝 个人主页:清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。 🔍 本文系 清流君 原创之作,荣幸在CSDN首发🐒 若您觉得内容有价值,还请评论告知一声,以便更多人受益。 转载请注明出处,尊重原创,从我做起。 👍 点赞、评论、收藏,三连走一波,让我们一起养成好习惯😜 在这里,您将

Matlab/Simulink和AMEsim联合仿真(以PSO-PID算法为例)

目录 安装软件和配置环境变量 Matlab/Simulink和AMEsim联合仿真详细流程 非常重要的一点 Simulink模型和AMEsim模型用S-Function建立连接 从AMEsim软件打开Matlab Matlab里的设置 Matlab的.m文件修改(对于PSO-PID算法) 运行程序 我印象中好像做过Matlab/Simulink和AMEsim联合仿真的分享似的