GithubHelp home page GithubHelp logo

gary-hobson / eskf-gps-imu-fusion Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zm0612/eskf-gps-imu-fusion

0.0 0.0 0.0 21.73 MB

误差状态卡尔曼ESKF滤波器融合GPS和IMU,实现更高精度的定位

C++ 95.73% Python 1.57% C 0.28% CMake 2.42%

eskf-gps-imu-fusion's Introduction

误差状态卡尔曼滤波器(ESKF)融合IMU与GPS数据

只使用IMU进行积分的结果 使用ESKF融合IMU和GPS
0 0
0 0

实现方法请参考我的博客《【附源码+代码注释】误差状态卡尔曼滤波(error-state Kalman Filter)实现GPS+IMU融合,EKF ErrorStateKalmanFilter GPS+IMU》

1. 依赖库

Eigen

sudo apt-get install libeigen3-dev

Yaml

sudo apt-get install libyaml-cpp-dev

Glog

sudo apt-get install libgoogle-glog-dev

2. 编译

cd eskf-gps-imu-fusion
mkdir build
cd build
cmake ..
make 

3. 运行

cd eskf-gps-imu-fusion
./build/gps_imu_fusion ./config/config.yaml ./data

4.轨迹显示

执行完./gps_imu_fusion会生成轨迹文件

cd eskf-gps-imu-fusion/data
python display_path.py

5.误差分析

推荐使用工具: evo

cd eskf-gps-imu-fusion/data
evo_traj tum fused.txt gt.txt gps_measurement.txt -p

6. 接入其他数据

如果需要接入其他数据,您需要将您的数据格式进行整理,以符合本算法的需求,参考data/raw_data文件夹中的数据格式,并且至少要在accel-0.csv,gps-0.csv,gps_time.csv,gyro-0.csv,time.csv文件中填入你的IMU和GPS数据。

提示:

  • IMU的加速度和角速度需要使用前右下坐标系;
  • GPS的数据按照:纬度、经度、高度填入,并且单位分别为度和米;
  • 采集和生成自己的数据时,请尽量从静止和近水平面状态开始运动。

7. todo

  • 增加初始化时重力对齐
  • 增加初始化时bias估计
  • ……

eskf-gps-imu-fusion's People

Contributors

zm0612 avatar zhangzm0612 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.