纯硬件仿真仿真
-
纯硬件仿真 (Simulation-in-hardware, SIH) 是硬件在环仿真 (HIL) 的一种替代方案。在该配置中,所有的算法都运行在嵌入式硬件平台 - 控制器,导航系统,飞行管理系统以及对象模型。桌面电脑仅用来作为可视化设备,比如运行QGC地面站。
SIH 相比 HIL 有以下两个优点:
-
它通过避免与计算机的双向连接来确保时间同步。因此,用户不需要使用功能强大的台式计算机。
-
整个仿真运行在 FMT 环境中。开发人员可以更轻松地将他们自己的数学模型整合到仿真器中。例如,他们可以修改空气动力学模型或传感器的噪声水平,甚至可以添加新的要模拟的传感器。
-
简化配置和仿真流程。
运行SIH仿真
-
FMT-FW中已经集成了最新的FMT-Model的模型,所以要运行SIH仿真非常简单,只需在目标平台的
fmtconfig.h
打开宏开关#define FMT_USING_SIH
,然后重新编译并下载fmu的代码。通过serial0(FMU-Debug的串口,波特率57600)连接控制台,给飞控上电后可以看到如下输出:
_____ __ / __(_)_____ _ ___ ___ _ ___ ___ / /_ / _// / __/ ' \/ _ `/ ' \/ -_) _ \/ __/ /_/ /_/_/ /_/_/_/\_,_/_/_/_/\__/_//_/\__/ Firmware....................FMT FMU v0.1.0 Kernel....................RT-Thread v4.0.3 RAM.................................512 KB Target......................Pixhawk4 FMUv5 Vehicle.........................Quadcopter INS Model..................Base INS v0.1.0 FMS Model..................Base FMS v0.1.0 Control Model.......Base Controller v0.1.0 Plant Model.............Multicopter v0.1.0 Task Initialize: comm..................................OK logger................................OK fmtio.................................OK status................................OK vehicle...............................OK [559] I/StatusTask: SIH Simulation
也可以通过QGC地面站的Mavlink Console连接控制台,然后输入
boot_log
指令查看开机信息,如下:我们可以看到模型信息里面多了一个Plant Model——Multicopter v0.1.0的模型,这个模型就是被控对象模型,可以看到它是在我们飞控上运行的。
通过uMCN我们可以看到各个传感器的数据有在发布,这里数据不是从板上的传感器采集,而是从Plant Model中输出的。
然后我们可以像操作正常飞机一样来操纵SIH仿真,比如让飞机飞个航点
通过SIH仿真我们可以很方便地验证我们的算法以及飞控的各个软件模块。甚至在SIH仿真的同时,也可以记录日志数据来进行开环仿真。