Git Product home page Git Product logo

px4tools's Introduction

px4tools

Build Status Coverage Status Documentation Status

Anaconda

Linux: Circle CI OSX: TravisCI Windows: AppVeyor Version: Anaconda-Server Badge Downloads: Anaconda-Server Badge

A log analysis toolbox for the PX4 autopilot written in python.

Features

  • Flight Plotting using standard python libraries.
  • Automatic System Identification from log data.
  • Automatic Control Design from log data.
  • Cross-Platform deployment, testing, and support (Windows/OSX/Linux).
  • Well integrated with Jupyter notebook and Pandas.
  • Natively uses pandas CSV format so easily integrated with all log formats.

Usage

  1. px4log format

    First use the sdlog2_dumpy.py program to convert the px4log to csv:

    wget https://github.com/PX4/Firmware/raw/master/Tools/sdlog2/sdlog2_dump.py
    python sdlog2_dumpy.py your_log.px4log > your_log.csv

    Now start jupyter notebook in the directoy of your_log.csv:

    jupyter notebook
  2. ulog format

    No preprocessing required, see ulog example.

Examples:

  1. Automatic System Identification and Control Design
  2. General Flight Data Plotting
  3. ULOG basic use.
  4. ULOG noise analysis.

Install

Dependencies

  1. See setup.py install_requires

    For pandas, to fix time series plotting memory issue with time delta index you need this branch:

    . conda_env (See instructions below for setting up conda_env script)
    git clone [email protected]:jgoppert/pandas.git
    cd pandas
    git checkout tdi_plot_fix
    python setup.py install

Using Anaconda (Recommended)

  1. Install anaconda

    • Python 3 version recommended
    • Do not select add to path if you use ROS. ROS expects the standard python to be installed. You can create a script to source and add anaconda to your path. This is similar to setup.bash for ROS users.

    ~/bin/conda_env:

    #!/bin/bash
    export PATH=$HOME/anaconda3/bin:$PATH

    Now you can source the script to start using anaconda instead of the sytem python:

    . conda_env
  2. Install px4tools via conda

    conda config --add channels conda-forge
    conda install px4tools jupyter
  3. Upgrading px4tools using pip in conda

    The conda-forge px4tools package usually lags behind master. If you need the latest code, use pip within your conda env.

    . conda_env
    pip install px4tools
  4. Building px4tools form source and installing to conda environment

    If you want to do development and edit some of the source, follow this example:

    . conda_env
    git clone [email protected]:dronecrew/px4tools.git
    cd px4tools
    python setup.py build install

Using PyPi

pip install px4tools jupyter --user

px4tools's People

Contributors

bkueng avatar jgoppert avatar jlecoeur avatar mayanez avatar stifael avatar tsc21 avatar wangwwno1 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.