# 性组合导航算法原理

一、

## 二、汽车航位推算

**1、优化思路：**

**2.1.1  增加mahony中的$[ex,ey,ez]$策略，提高精度 [2020-01-06]**

​		本质原因，通过调整$[ex,ey,ez]$的策略，某种意义上提高了姿态估计的准确度，从而最终提高了组合导航的精度。

**2.1.2 预积分[2020-01-06]**

​		简单来说，我们利用$t-1$时刻的姿态$q_{t-1}$用于重力消除。从代码结构上来讲，我们是通过先消除重力然后进行运动积分，最后进行姿态解算的过程。那么姿态的估计就会有延迟。所以理论上可以利用$q_t-1$和$gyro_t$进行预先的积分，得到“相对较准”的姿态，利用这个估计的姿态$q$进行重力消除会更加准确。

​		从结果试验来看，是没有太大的效果，但是也可能是其他部分做的不够好导致的。

**2.1.3 离心加速度**

​		从实际的试验中发现，即使是低价的MEMS传感器，在汽车的转向时会受到离心加速度的影响。因此当我们知道汽车的角速度和线速度信息的时候可以计算出离心加速度的大小，通过修正离心加速度可以提高姿态估计的准确性，最终达到提升导航定位精度的目的。

**2.1.4 轨迹融合优化**

​		一种比较讨巧的办法，在汽车进行隧道期间进行历史位置匹配，提高位置定位的精度。这种办法确实也应用到手机中，从高通的部分泄露的信息发现高通也会缓存也部分历史信息用于提高定位精度，不过这种办法主要是应用在汽车导航场景。主要原因在于：汽车行驶的位置是有限制的，不能在任意地方行驶。在PDR场景中，我们也会用到历史信息缓存，主要原因在用户经常带着手机沿着固定的场景跑圈，这种情况下，采用估计融合可以提高多圈轨迹叠加的一致性。

**2.1.5 EKF和Mahony对导航精度的影响**

​		在同时调参的情况下，两种算法的差异不大。主要原因在于核心原理是相同的。

## 三、行人航位推算

2.1 GPS协议解析

2.2 AHRS姿态解算

2.3 行人动作识别

2.4 PCA主方向分析

​		假设用户甩动手臂是规律的，