PSINS(高精度捷联惯导算法)

站内搜索

PSINS C++核心代码使用说明

PSINS C++核心代码使用说明

本PSINS C++核心代码在VC++6.0环境下编写且编译正常,在其它编译器下使用可能会遇到一些小的编译问题,但应该都不难修改,用户可自行处理。

 

PSINS C++核心代码具有以下显著特点:

Ø                      不依赖于其它外部的数学运算库函数,仅用标准C库即可;

Ø                      编写了大量的四元数、三维向量、三维矩阵、向量、矩阵运算符重载函数;

Ø                      捷联惯导更新算法考虑了全面误差补偿细节,精度高,满足所有的实际应用场合;

Ø                      具备很好的SINS/GNSS组合导航类设计,在解决该类型组合导航问题中扩展应用十分方便;

Ø                      采用了时间分片Kalman滤波技术,能满足普通嵌入式单片机的实时应用;

Ø                      除初始化外没有任何动态内存分配操作,实时运算时间可控。

 

除了根据实际需要对PSINS.h文件中的以下宏定义进行“//注释”外,用户不应该修改PSINS.h和PSINS.cpp中的任何代码,否则存在会被将来新发布版本覆盖的风险。

/************** compiling control !!! ***************/

#define PSINS_MATRIX_MAX_DIM        20    最大矩阵维数定义

//#define MAT_COUNT_STATISTIC        最大矩阵堆栈个数,仅用于调试

#define PSINS_IO_FILE                  文件读写操作,在嵌入式中不用

//#define PSINS_RMEMORY              自定义内存操作,可用于逆向导航

//#define PSINS_AHRS_MEMS            启用航姿仪算法

//#define PSINS_LOW_GRADE_MEMS     是否针对MEMS低精度惯导算法

//#define CSINSGPSOD_INIT_BY_USER    是否由用户初始化

//#define PSINS_psinsassert                是否启用断言函数,仅用于调试

//#define PSINS_STACK                  堆栈大小统计,仅用于调试

//#define PSINS_UART_PUSH_POP        是否启用UART收数操作

//#define PSINS_VC_AFX_HEADER       是否采用VC文件遍历操作,嵌入式中不用