pyFlightAnalysis
pyFlightAnalysis copied to clipboard
Flight log file visualization tools
pyFlightAnalysis
A PX4 flight log (ulog) visual analysis tool, inspired by FlightPlot.
.. figure:: https://github.com/Marxlp/pyFlightAnalysis/blob/master/images/gui.png :alt: pyFlightAnalysis GUI
pyFlightAnalysis GUI
pyFlightAnalysis is written in Python, and depends on pyqtgraph (which is based on PyQt), pyOpenGL, pyulog, and a number of other widely used scientific packages including numpy, matplotlib, etc.
For other log analysis tools see dev.px4.io <https://dev.px4.io/advanced-ulog-file-format.html>__
Installation
pyFlightAnalysis only supports Python 3.x. To use pyFlightAnalysis, you can either clone the repository and run the tool directly from source, or you can install pyFlightAnalysis (from source or using the PyPi Python package manager) and then run it. In either case you will first need to install PyQt (as shown below).
Install PyQt ^^^^^^^^^^^^
PyQt5 can be installed directly from pip:
.. code:: bash
pip install PyQt5
Run from Source ^^^^^^^^^^^^^^^
After installing PyQt, enter the following commands to install other dependencies:
.. code:: bash
pip install pyqtgraph pyOpenGL pyulog matplotlib numpy
Once you have installed these packages you can clone the source files:
.. code:: bash
In folder where you want put the source code
git clone https://github.com/Marxlp/pyFlightAnalysis.git
Then run the analysis.py source files:
.. code:: bash
cd pyFlightAnalysis/src
python analysis.py
Install and Run ^^^^^^^^^^^^^^^
You can install pyFlightAnalysis from either source or PyPi (after first installing PyQt as described above):
.. code:: bash
# Install from pypi
pip install pyFlightAnalysis
Or
.. code:: bash
# Install from source
git clone https://github.com/Marxlp/pyFlightAnalysis.git
python setup.py install
After installing pyFlightAnalysis you can run it as shown:
.. code:: bash
analysis
Features
- Dynamic filter for displaying data
- 3D visulization for attitude and position of drone
- Easily replay with pyqtgraph's ROI (Region Of Interest)
Usage
Video Tutorial: ^^^^^^^^^^^^^^^
Brief usage tutorial of pyFlightAnalysis <https://youtu.be/g05gXfujbFY>__
Literacy Tutorial: ^^^^^^^^^^^^^^^^^^
- Open log file (currently only support .ulg format) by clicked |open file|.
- Choose data by using filter |filter data| and double click to add it.
- Change color or toggle visibility |change color or toggle visibility|.
- Scroll the middle wheel of mouse to zoom, press down and drag to move the curve.
- Click |show quadrotor| to show 3D viewer ( currently may not be robust).
- Press |play data| to play ( you'd better open the 3D viewer to show the animation).
Issues
If you have installed PyQt4 and pyqtgraph but get the error below:
.. code:: bash
ImportError: cannot import name QtOpenGL
try
.. code:: bash
>>> sudo apt-get install python-qt4-gl
License
MIT <https://github.com/Marxlp/pyFlightAnalysis/LICENSE>__
.. |open file| image:: https://github.com/Marxlp/pyFlightAnalysis/blob/master/images/open_file.png .. |filter data| image:: https://github.com/Marxlp/pyFlightAnalysis/blob/master/images/filter_data.png .. |change color or toggle visibility| image:: https://github.com/Marxlp/pyFlightAnalysis/blob/master/images/modify_graph.png .. |show quadrotor| image:: https://github.com/Marxlp/pyFlightAnalysis/blob/master/images/show_quadrotor.png .. |play data| image:: https://github.com/Marxlp/pyFlightAnalysis/blob/master/images/play_data.png