This repository contains a python package for ekf related analysis on PX4 ULog files (pyulog). The command line scripts of this package analyse the ekf innovations and the internal ekf test metrics for irregularities.
The provided command line scripts are:
process_logdata_ekf
: analyse a single PX4 ULog file.batch_process_logdata_ekf
: runprocess_logdata_ekf
on multiple PX4 ULog files in a directory.
Installation with package manager via ssh:
pip install git+ssh://[email protected]/Auterion/ecl_ekf_analysis.git#egg=ecl_ekf_analysis
or using https:
pip install git+https://github.com/Auterion/ecl_ekf_analysis.git#egg=ecl_ekf_analysis
Check the official pip documentation for installing particular branches or commits using git hashes.
Installation from source:
python setup.py build install
For development it might be useful to install the package as a link to the repo so that the requirements are always updated when the repo changes:
pip install -e .
This repository includes a Makefile and dockerfiles for conveniently running the linter (pylint) and the unit tests (pytest).
Recent versions of docker
and docker-compose
are required to run the following make targets.
run the linter:
make lint
run the unit tests:
make test
the unit tests run the analysis over a set of golden log files and compare the current analysis results to stored ground truth results. The golden log files are described in the README file.
The analysis can also be run using the provided docker file. Recent versions of docker
and docker-compose
are required to run the following make targets.
run make analyse-file file=PATH/TO/THE/ULOG-FILE
. This should create a new .json
file ulog_filename.json
in the folder of the .ulg
file containing the analysis results.
run make analyse-dir dir=PATH/TO/THE/LOG-FOLDER/
to create a new .json
analytics result file for every .ulg
file in the log folder.