基于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-Plantgithub.com/Firmament-Autopilot/FMT-Model/tree/master/model/Plant/MC-Plant
固定翼被控对象模型FW-Plantgithub.com/Firmament-Autopilot/FMT-Model/tree/master/model/Plant/FW-Plant
模型可以直接生成C/C++代码烧录到ICF5中实时运行。
运行数据可以被ICF5记录下来,并导入Matlab中查看。
半实物仿真
半实物仿真,亦称硬件在环仿真,是一种实时仿真技术,它将真实的硬件与计算机仿真技术相结合,用于测试和验证嵌入式系统的性能。在HIL仿真中,嵌入式系统被连接到仿真器或模拟器上,并与真实的物理设备进行交互,以模拟实际环境中的操作和反馈。通过HIL仿真,可以更全面、准确地评估嵌入式系统的性能和可靠性,以及它们与周围环境的交互。
ICF5可以作为仿真机运行被控系统模型,同时还提供了丰富的硬件接口,如串口,SPI,IIC,USB,网口,CAN等用于跟外部控制器和仿真电脑进行数据交换。
纯硬件仿真
纯硬件仿真类似于半实物仿真,都是基于硬件的仿真技术。他们的主要区别在于,纯硬件仿真时将被控系统模型和控制器合二为一,即在一个硬件上同时运行Plant和Controller。他的好处是可以简化硬件结构和成本,同时也省去了中间通信所带来的信号延时和带宽问题。
仿真步骤
以纯硬件仿真为例,下面介绍一下使用ICF5进行实时仿真的基本步骤:
1. 获取FMT-Firmware的最新代码。可从如下Github地址拉取。
FMT-Firmwaregithub.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用户案例