## Inertial Navigation Estimation Library ##
[![Build Status](https://travis-ci.org/priseborough/InertialNav.svg?branch=master)](https://travis-ci.org/priseborough/InertialNav)
Files for prototype 21, 22, 23 and 24 state Extended Kalman filters designed for APMPlane implementation
Author: Paul Riseborough
This is an implementation of a strapdown inertial navigation system with an Extended Kalman Filter algorithm used
to provide aiding using the following data sources (depending on filter variant):
3D velocity measurements (taken from UBlox6 or equivalent GPS)
2D position (taken from UBlox6 or equivalent GPS)
Height measurement (could be GPS or barometric height or some combination)
3-axis body fixed magnetic flux measurements
True airspeed measurement
Terrain laser range finder measurements (aligned with vehicle Z axis)
Ground optical flow measurements (flow angular rates about vehicle X and Y axes)
The IMU delta angles and delta velocities are assumed to be simple integrals of the corresponding angular rates
and axial accelerations, with no coning or sculling compensation applied to them before input to the filter.
The filter estimates the following states:
4 quaternion parameters
3 North,East,Down velocity components
3 North,East,Down position components
3 IMU delta angle bias components
2 IMU delta velocity bias in X and Y (only included in 24 state derivation)
1 IMU delta velocity bias in Z (only included in the 22 and 23 state derivation)
2 North,East wind velocity components
3 North,East,Down earth magnetic flux components
3 X,Y,Z body fixed magnetic flux components (these are opposite sign to the compass offsets used by APM)
1 Offset of terrain along down axis (only included in the 23 state filter derivation)
The filter is designed to run in parallel with the existing APM AHRS complementary filter, firstly to provide
a bootstrap for initial alignment, and secondly to provide a watchdog reference to detect filter divergence.
No optimisation of tuning parameters has been performed, other than to roughly set them based on innovation sequence
RMS errors obtained from the test data set.
The three test data sets were obtained from a PX4 FMU and digital airspeed sensor, installed in a Skywalker X-8
airframe. The 2nd and 3rd data sets include aerobatic manoeuvres (loops and axial rolls), but no spinning due to
airframe limitations.
Some additional data sets incorporating optical flow and range finder measurements are included.
### Instructions To Run Simulink Model ###
Note : Simulink models are only available for 21 and 24 state architecture, and do not include range finder or optical
flow measurements.
You will need Matlab + Simulink 2012a or later to run this model
Instructions to run:
1. Add 'plots', 'scripts' and 'TestData' directories to your Matlab path
2. Make 'models' your working directory
3. Run the RunNavFilterTestHarness24.m script file to run the 24-state filter, or RunNavFilterTestHarness21.m to run
the 21-state filter
4. Test data will be loaded and the model will be built, run and plots generated.
You can load other test data by modifying the file load command at the top of the LoadNavFilterTestData.m script file.
### Instructions To Run C++ code test harness ###
1. Go to the code directory and run make
2. Make sure the ATT, GPS, IMU, MAG and NTUN.txt files are in the directory with the executable (unzip one of the data ZIP files)
3. Run: ./estimator_closed_loop_test
4. The program will put the results into the following space deliminted data files
5. Run make plots to generate Python plots
* CovDataOut.txt
* EulDataOut.txt
* MagFuse.txt
* RefVelPosDataOut.txt
* StateDataOut.txt
* TasFuse.txt
* VelPosFuse.txt
没有合适的资源?快使用搜索试试~ 我知道了~
惯性导航的相关仿真代码(M文件和C)
共180个文件
m:75个
txt:29个
py:13个
3星 · 超过75%的资源 需积分: 36 163 下载量 19 浏览量
2017-12-06
17:17:55
上传
评论 17
收藏 84.82MB ZIP 举报
温馨提示
具有惯性和里程计的组合的代码,代码量大,需要仔细进行研读
资源详情
资源评论
资源推荐
收起资源包目录
惯性导航的相关仿真代码(M文件和C) (180个子文件)
K_LOSY.c 4KB
K_LOSX.c 4KB
calcBCN.c 2KB
calcH_YAW321.c 2KB
calcH_YAW312.c 2KB
calcMAGD.c 2KB
calcH_YAW321.c 967B
calcH_YAW312.c 936B
H_LOSX.c 436B
H_LOSY.c 427B
calcH_YAW312.c 325B
calcH_YAW321.c 325B
estimator_22states.cpp 217KB
main_closed_loop_test_harness-21state.cpp 148KB
estimator_21states.cpp 140KB
main_closed_loop_float.cpp 45KB
optFlowFusionX.cpp 16KB
optFlowFusionY.cpp 16KB
estimator_utilities.cpp 8KB
.gitignore 85B
.gitignore 37B
estimator_22states.h 18KB
estimator_21states.h 10KB
estimator_utilities.h 5KB
MagInnovations.jpg 266KB
VelocityEstimates.jpg 220KB
VelInnovations.jpg 219KB
PosInnovations.jpg 213KB
AirSpeedInnovations.jpg 208KB
PositionEstimates.jpg 208KB
EulerAngleEstimates.jpg 203KB
AccelBiasEstimates.jpg 174KB
WindVelEstimates.jpg 169KB
EarthMagEstimates.jpg 165KB
GyroBiasEstimates.jpg 163KB
BodyMagEstimates.jpg 162KB
SaveScriptCode.m 21KB
GenerateNavFilterEquations.m 20KB
GenerateEquations22states.m 13KB
PlotCcodeOutput.m 11KB
GenerateEquations23states.m 10KB
PlotNavFilterData24.m 9KB
GenerateEquations24states.m 9KB
LoadPX4StackData.m 9KB
PlotApmTestHarnessData.m 9KB
GenerateEquations21states.m 8KB
PlotNavFilterData21.m 8KB
imu_error_modelling.m 8KB
SaveScriptCodeTerrainEstimator.m 8KB
PlotFlightData.m 8KB
SaveScriptCode2State.m 8KB
GenerateEquations.m 8KB
GenerateEquations.m 7KB
ConvertToC.m 7KB
LoadMissionPlannerCopterFlashData.m 6KB
LoadMissionPlannerPlaneFlashData.m 5KB
GenerateEquations2states.m 5KB
GenerateEquationsOptCal_1state.m 5KB
range_beacon.m 5KB
SaveScriptCodeTerrainEstimator3.m 4KB
GenerateEquationsTerrainEstimator.m 4KB
GenerateEquationsTerrainEstimator3.m 4KB
GenerateEquationsOptCal.m 3KB
RunFilter.m 3KB
LoadNavFilterTestDataStruct.m 3KB
FindBestDelay.m 3KB
LoadUbuntuFlashData.m 3KB
PredictStates.m 3KB
fix_c_code.m 3KB
FuseMagnetometer.m 3KB
FuseMagnetometer.m 3KB
RunFilter.m 3KB
LoadMissionPlannerFlashData.m 3KB
calcF.m 2KB
calcF.m 2KB
calcH_YAW321.m 2KB
calcH_YAW312.m 2KB
FuseVelocity.m 2KB
FuseVelocity.m 2KB
MagCalDerivation.m 2KB
PredictStates.m 2KB
LoadNavFilterTestData.m 2KB
calc_truth_deriv.m 2KB
PredictCovariance.m 2KB
PredictCovariance.m 1KB
AlignHeading.m 1KB
AlignHeading.m 1KB
ConvertToM.m 1KB
calcQ.m 1KB
calcQ.m 1KB
calcH_YAW321.m 1KB
calcH_YAW312.m 1KB
calcH_MAG.m 936B
calcH_MAG.m 936B
OptimiseAlgebra.m 862B
importfile.m 669B
PlotData.m 655B
calcG.m 623B
EulToQuat.m 616B
calcH_rng.m 593B
共 180 条
- 1
- 2
niewei120
- 粉丝: 6
- 资源: 22
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- DMN3052L-7-F-VB一款SOT23封装N-Channel场效应MOS管
- 111111111111111
- 粒子群算法与遗传算法的对比&串行混合优化仿真 - 基于Rastrigin测试函数 博文对应的代码
- 建设.apk
- DMN3051L-7-F-VB一款SOT23封装N-Channel场效应MOS管
- JAVA+SQL办公自动化系统(源代码+参考文献+外文翻译).zip
- "Java开发+JDK8+API文档+完整参考资料"
- DMN3050S-7-VB一款SOT23封装N-Channel场效应MOS管
- 反取证工具-windows日志全部自动清除工具
- DMN2300U-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论4