当前位置:网站首页>Post processing of multisensor data fusion using Px4 ECL
Post processing of multisensor data fusion using Px4 ECL
2022-06-23 05:11:00 【Running Orange 】
List of articles
Write in the front
- ecl It is an open source UAV project PX4 Algorithm library used , Use ekf( Extended Kalman filter ) Conduct imu Data fusion of multiple sensors
- However ecl No data post-processing function is provided
- Be able to use ecl It is necessary to carry out post-processing of multi-sensor data fusion , This is convenient for parameter debugging , And debugging of secondary development , So as to shorten the development cycle , Reduce development costs
- In view of the above, the author fork 了 ecl Project , And added post-processing function
- The basic principle when adding post-processing functions is , Try not to change ecl Any code for , In fact, no code files have been changed
- In fact, the whole change is just CMakeLists.txt The following line has been added to the
add_subdirectory(airdata)
add_subdirectory(EKF) #
add_subdirectory(geo)
add_subdirectory(geo_lookup)
add_subdirectory(main) # This line is newly added
- You can see that one is called main The folder of is added to and ekf as well as test Etc , This folder contains all the required for the post - generation handler CMakeLists.txt And all code files , and ekf Then use
add_subdirectory(EKF) #The dynamic library generated by this line - Click here to go to... Of this project github Warehouse
introduction
Follow these steps to complete the cloning of the entire project , Generate , Compile and run .
- clone Project to local warehouse
git clone https://github.com/akstuki/PX4-ECL.git
- ( This step is not necessary ) It is recommended to create a new directory build, It'll be cleaner
mkdir build/
cd build/
- Generating project ( Generate makefile file )
$ cmake ..
-- The CXX compiler identification is GNU 7.4.0
-- Check for working CXX compiler: /usr/bin/c++.exe
-- Check for working CXX compiler: /usr/bin/c++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- build type is RelWithDebInfo
-- PX4 ECL: Very lightweight Estimation & Control Library v1.9.0-rc1-496-g5ca644e
-- Configuring done
-- Generating done
-- Build files have been written to: /cygdrive/f/1-own/0-code/0alforithmCode/px4/ecl/PX4-ECL/build
- Compile to generate runnable files
$ make
Scanning dependencies of target matrix
[ 2%] Completed 'matrix'
[ 21%] Built target matrix
Scanning dependencies of target prebuild_targets
[ 21%] Built target prebuild_targets
[ 26%] Built target ecl_airdata
[ 31%] Built target ecl_geo_lookup
[ 36%] Built target ecl_geo
[ 89%] Built target ecl_EKF
Scanning dependencies of target postEcl
[ 92%] Building CXX object main/CMakeFiles/postEcl.dir/main.cpp.o
[ 94%] Building CXX object main/CMakeFiles/postEcl.dir/csvparser.cpp.o
[ 97%] Building CXX object main/CMakeFiles/postEcl.dir/PostEkf.cpp.o
[100%] Linking CXX executable postEcl.exe
[100%] Built target postEcl
- Run the program ( The program only needs one parameter , Namely px4 Log file )
$ ./postEcl.exe 09_26_14_sensor_combined_0.csv
start ecl main...
47634158: reset position to last known position
47634158: reset velocity to zero
51113397: mag yaw fusion numerical error - covariance reset
51534173: EKF aligned, (baro hgt, IMU buf: 12, OBS buf: 9)
57718962: mag yaw fusion numerical error - covariance reset
baro hgt timeout - reset to baro
67032581: mag yaw fusion numerical error - covariance reset
68114987: reset position to last known position
68114987: reset velocity to zero
68114987: stopping navigation
baro hgt timeout - reset to baro
baro hgt timeout - reset to baro
84041372: reset position to last known position
84041372: reset velocity to zero
84041372: stopping navigation
finished.
- You can see that an output file is generated after the program runs ecloutput.csv, contain ekf All states
$ ls -l
Total usage 6848
-rwxrwxr-x+ 1 xiaoqiang xiaoqiang 1492459 9 month 29 2018 09_26_14_sensor_combined_0.csv
-rwxrw-r--+ 1 xiaoqiang xiaoqiang 1025 1 month 4 22:37 cmake_install.cmake
drwxrwxr-x+ 1 xiaoqiang xiaoqiang 0 1 month 5 21:51 CMakeFiles
-rwxrw-r--+ 1 xiaoqiang xiaoqiang 2612997 1 month 5 22:08 ecloutput.csv
-rwxrw-r--+ 1 xiaoqiang xiaoqiang 7687 1 month 5 21:50 Makefile
-rwxrwxr-x+ 1 xiaoqiang xiaoqiang 2889190 1 month 5 21:52 postEcl.exe
Next work
- Add support framework for more data formats
- Add parameter configuration interface ( Perhaps in the form of a configuration file )
- in addition , Can be CMakeList.txt Put it on the outer layer , hold ecl With external How to import ( This method will not be considered for the time being )
边栏推荐
- Direct insertion sort - [common sort method (1/8)]
- Experience of Tencent cloud installed by Kali
- Install and run mongodb under win10
- Beyond chips and AI, why is hard technology capital becoming more and more "hard core"?
- The technological advance of new employees? Journey
- MySQL import large files (can be millions or hundreds)
- Unity中,如何在【编辑器】和【运行时】状态下读写一个ScriptableObject对象
- Thinkphp6 template replacement
- HCIP 作业 BGP总结
- Mini Homer - can you get a remote map data transmission link for hundreds of yuan?
猜你喜欢

OSPF分流实验

rtklib2.4.3 b34 单点定位的一个bug

Architecture à trois niveaux MVC

Function declaration and call of 17 generator

物体结构图,快速图解物体内部结构

Flask Foundation: environment setup + configuration + mapping between URL and attempt + redirection + database connection

Meituan's good article: understand swift, Objective-C and the mixing mechanism from the perspective of precompiling

UI automation positioning edge -xpath actual combat

百度飞桨“万有引力”2022首站落地苏州,全面启动中小企业赋能计划

【毕业季_进击的技术er】送别过去两年迷茫的自己。重整旗鼓,大三我来啦
随机推荐
《微信小程序-基础篇》带你了解小程序的路由系统(二)
使用teqcplot对teqc 质量分析结果进行可视化展示
How can mushrooms survive a five-year loss of 4.2 billion yuan?
Decompile
Is data scientist a promising profession?
How to use data to tell a wonderful story?
Thesis reading_ Relation extraction_ CASREL
Do280openshift command and troubleshooting -- common troubleshooting and chapter experiments
【Proteus仿真】Arduino UNO+PCF8574+LCD1602+MPX4250电子秤
HCIP 交换机实验
396. mine site construction
Dolphin scheduler 2.0.5 task test (spark task) reported an error: container exited with a non zero exit code 1
微信小程序;AI智能配音助手
MySQL import large files (can be millions or hundreds)
Beyond chips and AI, why is hard technology capital becoming more and more "hard core"?
Arduino火焰传感器(含代码)
精密星历介绍与使用
Dolphin scheduler 2.0.5 spark task test summary (source code optimization)
功能测试人员如何做到花一个月的时间进阶自动化软件测试工程师
HCIP 重发布实验