PSINS函数解读之test_SINS_ZUPT

1.ZUPT概念理解

2.零速判定

3.PSINS ZUPT函数解读

3.1 INS初始化部分

如上图所示 首先设置IMU误差(零偏和随机游走;然后对纯净的IMU原始观测量加入零偏和随机游走误差;对初始AVP加入噪声;初始化INS时间更新函数(初始姿态,初始地球参数等)

3.2 卡尔曼滤波初始化

变量rk代表设置初始的速度和位置误差;

kf.Qt代表过程噪声,对失准角和速度误差部分加入陀螺和速度的随机游走;

kf.Rk 代表量测噪声,对预设的初始速度和位置误差作平方即可

kf.Pxk代表状态向量的方差阵,在零偏部分则是直接加入了零偏

kf.Hk代表量测矩阵,在不考虑杆臂误差的情况下(15维度的状态向量如下所示),如下图所示:

由于零速修正无位置观测量,所以在后续中 会将位置部分的1置为0;

kf.xk代表状态向量,在初始化时全部置为0

3.3进入卡尔曼滤波

首先是insupdate函数 实现INS姿态、速度、位置更新;

然后,在kffk中计算状态转移矩阵;

在kfupdate中进行时间更新(ins.vn=ins.vn-0,表示calculate minus observation 在ZUPT中将所有的状态待估参数置为0);

紧接着大概600s一次,进行0速修正。将量测的速度置为惯导递推的速度;量测的R阵如下所示;

滤波完之后在kffeedback中进行全反馈。

### 如何生成 `test_SINS_GPS_153` 的图表或可视化结果 为了生成 `test_SINS_GPS_153` 的图表或可视化结果,可以采用 Python 中的 Matplotlib 和 Pandas 库来处理数据并绘制图形。假设 `test_SINS_GPS_153` 是一个时间序列数据集。 #### 数据准备 首先加载所需库并将数据读入 DataFrame: ```python import pandas as pd import matplotlib.pyplot as plt data = {'time': [...], 'value': [...] } # 假设这是 test_SINS_GPS_153 的原始数据结构 df = pd.DataFrame(data) df['time'] = pd.to_datetime(df['time']) # 将 time 列转换成 datetime 类型以便后续操作 df.set_index('time', inplace=True) # 设置索引为时间列方便绘图 ``` #### 绘制基本折线图 接着可以直接调用 plot 方法快速查看整个系列的趋势变化情况: ```python plt.figure(figsize=(10, 6)) plt.plot(df.index, df['value'], label='SINS GPS Value') plt.title('Time Series Plot of SINS GPS Data') # 添加标题 plt.xlabel('Date') # X 轴标签 plt.ylabel('Value') # Y 轴标签 plt.legend() plt.grid(True) plt.show() ``` 对于更详细的分析,可能还需要考虑其他类型的可视化方式,比如移动平均、自相关函数 (ACF) 图像以及偏自相关函数(PACF)[^1]图像等,这些都有助于理解该时间序列特性及其潜在模式。 #### 移动平均平滑曲线 通过计算不同窗口大小下的简单移动均值可以帮助识别长期趋势而忽略短期波动的影响: ```python rolling_mean = df['value'].rolling(window=24).mean() plt.figure(figsize=(10, 6)) plt.plot(df.index, df['value'], color="blue",label='Original') plt.plot(rolling_mean, color="red", label='Rolling Mean Window=24') plt.title('Moving Average Smoothing') plt.xlabel('Date') plt.ylabel('Value') plt.legend(loc='best') plt.grid(True) plt.show() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值