SuperAPI AI 工具集

matlab-fuse-inertial-sensors

通用与其它

查看项目

更新于 10-16 00:21

技能介绍

用途:在 MATLAB Navigation Toolbox 中选择、实现或调优惯性传感器融合滤波器。不适用于纯视觉或纯 LiDAR SLAM、仅做传感器仿真或数据生成、以及 Simulink 模型级融合。

主要能力:按传感器组合与输出需求选型。仅姿态输出时,加速度计+磁力计用 ecompass,加速度计+陀螺仪用 imufilter,加磁力计用 ahrsfilter 或 complementaryFilter,再加高度计用 ahrs10filter。需要完整位姿时,加速度计+陀螺仪+磁力计+GPS 同步用 insfilterMARG,混合速率或丢样用 insfilterAsync;地面车辆零侧滑约束用 insfilterNonholonomic,加单目视觉里程计用 insfilterErrorState。需要自定义运动模型、RTS 平滑、StateCovariance 或优化器 tune() 时用 insEKF;仅批处理且无需协方差可用 insCF。

使用方式:采样率必须与实际数据一致,否则噪声模型被缩放并污染输出。时间戳先转秒再推断速率,例如 tSec = rawTimestamp / 1e6; fs = 1 / median(diff(tSec));。存在时间间隙时按 gapThreshold = 5 / fs 分段,Group A 滤波器段间调用 release(filt),其他滤波器重建对象。调优有两种签名:imufilter、ahrsfilter 用 tune(filt, sensorData, groundTruth) 原地修改;其余用 tunedNoise = tune(filt, tunernoise(filt), sensorData, groundTruth)。ecompass、complementaryFilter 无 tune,insCF 用 gainparts。可视化可用 tunerPlotPose 作为 OutputFcn,或对配置型滤波器调用 pose(),insEKF/insCF 用 stateparts。

限制:默认参考系为 NED,改为 ENU 需按滤波器类型设置;insEKF/insCF 的 ReferenceFrame 构造后只读。GPS 位置输入为度/度/米的 LLA 向量。insfilterMARG、insfilterAsync、insfilterNonholonomic、insfilterErrorState 需在融合循环前设置 ReferenceLocation。insfilterAsync、insEKF、insCF 无采样率属性。具体参考文件与更多细节见原技能文档。