Commit Graph

14 Commits

Author SHA1 Message Date
Daniel Agar 0f411d6820
Multi-EKF support (ekf2)
- ekf2 can now run in multi-instance mode (currently up to 9 instances)
    - in multi mode all estimates are published to alternate topics (eg estimator_attitude instead of vehicle_attitude)
 - new ekf2 selector runs in multi-instance mode to monitor and compare all instances, selecting a primary (eg N x estimator_attitude => vehicle_attitude)
 - sensors module accel & gyro inconsistency checks are now relative to the mean of all instances, rather than the current primary (when active ekf2 selector is responsible for choosing primary accel & gyro)
 - existing consumers of estimator_status must check estimator_selector_status to select current primary instance status
 - ekf2 single instance mode is still fully supported and the default

Co-authored-by: Paul Riseborough <gncsolns@gmail.com>
2020-10-27 10:56:11 -04:00
JohannesBrand b01e470ff9
refactor ecl ekf analysis (#11412)
* refactor ekf analysis part 1: move plotting to functions

* add plot_check_flags plot function

* put plots in seperate file

* use object-oriented programming for plotting

* move functions for post processing and pdf report creation to new files

* add in_air_detector and description as a csv file

* refactor metrics and checks into separate functions

* refactor metrics into seperate file, seperate plotting

* ecl-ekf tools: re-structure folder and move results table generation

* ecl-ekf-tool: fix imports and test_results_table

* ecl-ekf tools: bugfix output observer tracking error plot

* ecl-ekf-tools: update batch processing to new api, fix exception handling

* ecl-ekf-tools: use correct in_air_detector

* ecl-ekf-tools: rename csv file containing the bare test results table

* ecl-tools: refactor for improving readability

* ecl-ekf tools: small plotting bugfixes

* ecl-ekf tools: small bugfixes in_air time, on_ground_trans, filenames

* ecl-ekf-tools: fix amber metric bug

* ecl-ekf-tools: remove custom function in inairdetector

* ecl-ekf-tools: remove import of pandas

* ecl-ekf-tools: add python interpreter to the script start

* ecl-ekf-tools pdf_report: fix python interpreter line

* px4-dev-ros-kinetic: update container tag to 2019-02-13

* ecl-ekf-tools python interpreter line: call python3 bin directly

* ecl-ekf-tools: change airtime from namedtuple to class for python 3.5

* ecl-ekf-tools: update docker image px4-dev-ros-kinetic

* ecl-ekf-tools: fix memory leak by correctly closing matplotlib figures
2019-02-18 16:52:02 +01:00
CarlOlsson 5a10db65b6 ecl_tools: Always allocate topic data variables 2018-10-09 09:29:03 -04:00
CarlOlsson 8058878566 ecl_tools: add error message if topic not found in logfile 2018-10-09 09:29:03 -04:00
CarlOlsson 3424e73aa3 ecl_tools: use pyulog built in function to get dataset 2018-10-09 09:29:03 -04:00
johannes 78d8061aaf ecl-ekf tools: set exit code to -1 for failed analysis, pipe args
- process_log_data: exit with code -1 if whole system analysis fails
- batch_process_logdata and process_log_data: pipe sensor safety
margin argument to the arguments of the superseeding scripts
- reduce minimum flight length for analysis to 50 samples
2018-07-15 21:12:27 -04:00
johannes b98cd6ecb5 ecl-ekf tools: separate the analysis from the visualization and preprocessing
- move the analysis parts of the process_logdata_ekf script to
the 'analyse_ekf' function in a new file analyse_logdata_ekf.py
- return a test_results dictionary from analyse_ekf
- still process log loading, preprocessing and results file output in
process_logdata_ekf
- add command line argument to toggle plotting
- add command line argument to use different dictionary to check_level_dict.csv
2018-04-27 22:34:17 +02:00
johannes a0b4bbed5e ecl-ekf tools: clean up - move code to correct scope
- move code that is needed for general analysis out of plot scope
2018-04-27 22:34:17 +02:00
Daniel Agar ebed380998 process_logdata_ekf don't use Xwindows backend 2018-03-30 18:54:04 -04:00
Daniel Agar 2e207801d8 ecl process logdata script always use correct check_level_dict path 2018-03-30 18:54:04 -04:00
johannes b69a4df20c tools-ecl-ekf: remove commas to prevent csv file import errors
- remove commas from a csv table file string to avoid import errors
2018-02-08 17:18:41 +01:00
Daniel Agar ef5bc526de Tools/ecl_ekf mark executable 2017-05-17 09:02:52 +02:00
Paul Riseborough 2a34bde0e9 Tools/ecl_ekf: Update EKF log analysis
Add assessment of IMU bias and mag field estimation
Reduce warning false positives by adjusting thresholds and eliminating use of peak value plots for output observer monitoring
Clear each figure after saving to reduce memory usage
2017-04-21 08:34:19 +02:00
Paul Riseborough bf06066010 Tools: Add scripts for ecl EKF log file analysis 2017-02-20 07:53:07 +01:00