# Matlab simulink

FDISYSTEMS 产品在推出针对单片机开发的 SDK,linux 系统下的 ros_demo 后,现在推出基于 MATLAB 用户的 simulink 封装模型以供二次开发。MATLAB 作为一款主要面对科学计算、可视化以及交互式程序设计的数学软件,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案。

MATLAB 作为一款主要面对科学计算、可视化以及交互式程序设计的数学软件,为科学 研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案。

该模型位于 FDI_MATLAB 文件夹内,名称为 SimulinkSerial.slx,封装在 simulink 中的模型 如下图所示,主要分为 3 个部分:

MEMS

# 第一部分:串口连接配置模块

用于配置接入 FDISYSTEMS 产品的串口号和波特率;点 开上面的模块配置串口号和波特率:

MEMS

mac os 下查看USB串口设备指令

 ls -l /dev/cu.
MEMS

# 第二部分: 串口数据解析封装子模块

双击左键点开子模块,即可看到FDILink协议解 析的示例代码,如下所示:

MEMS

与 linux 系统给出的 ros_demo 相似,MATLAB 中给出的示例代码仅解析了部分常用数据 包,包括 MGS_ IMU、MSG_AHRS、MSG_ INS/GPS、MSG_RAW_GNSS 和 MSG_GEODETIC_ POS。同 时封装了一个STD_DATA子模块,里面的数据代表着滤波状态的各种协方差信息,包含位置,速度, 姿态以及四元数。用户如果需要在仿真中使用其他数据包里的数据,则可以按照示例代 码给出的说明以及 FDIlink 数据协议手册,编写解析该数据包的代码即可。

用户可以利用解析得到的数据用 Scope 观测,或者进行相应的二次开发。

完整的使用流程

将FDISYSTEMS 产品与电脑相连,通过FDIGroundStation.exe上位机软件配置需要输出的 FDILink 数据包;

1、关闭上位机软件,打开 MATLAB 软件,定位到 FDI_MATLAB 文件夹,打开 SimulinkSerial.slx;

2、按第一部分的说明选择串口号,波特率和仿真频率后,点击 simulink 界面的 run 按钮运行仿真程序。

3、运行仿真后从相应的数据接口能够实时获取数据则使用成功。

二次开发:你可以在下面FDILINK模块中按照示例程序,自行添加需要解析的数据,具体需要参考 fdilink protocol 文档进行编写,最后,注意一定要通过上位机软件使能这个数据帧。

阅读原文 下载代码:https://github.com/FDIsystems/FDI_MATLAB_DEMO (opens new window)