Coder Social home page Coder Social logo

mavgcl's Introduction

MAVGAnalysis

In-Flight/PX4Log/ULog Analyzer for PX4

Build Status Build status alt tag

This JavaFx based tool enables PX4 Users to record and analyse data published via UDP during flight or offline based on PX4Logs or ULogs. It is not intended to replace the QGC. It is not tested with ardupilot.

Any feedback, comments and contributions are very welcome.

Development Status: Last updated 24/01/23

  • Auto loading of custom keyfigure definition files from a dedicated directory at startup
  • Autosave into result directory requests and saves DMESG output
  • Multiple videostreams
  • Videostream replay (if video found in result directory)
  • 3D View reworked

Note: 3D map data can be transferred to MAVGCL using the custom MAVLink message msg_msp_micro_grid - for encoding refer to MAP3DSpacialInfo.java

See MAVGCL some action:

Features:

  • Realtime data acquisition (20ms sampling, 100ms rolling display) based on MAVLink messages or ULOG data over MAVLink
  • Timechart annotated by messages (MAVLink and ULog) and parameter changes (MAVLink only)
  • XY Analysis for selected key-figures
  • FFT for selected keyfigures
  • 3D View (vehicle and observer perspective)
  • MAVLink inspector (reporting raw MAVlink messages)
  • Zooming (Click&Drag), pause / continue rolling update while continue recording in the background
  • MAVLinkShell provides NutShell over MAVLink (Console)
  • Map viewer of global/local position and raw gps data with option to record path (cached)
  • Offline-mode: Import of key-figures from ULog (file or last log from device via WiFi)
  • Save and load of collected data
  • Key figure conversion based on expressions
  • FrSky Taranis USB supported in SITL
  • PS4Controller support in OSX
  • Low latency MJPEG based video stream display based on uv4l or any other source
  • Video stream recorded as H264/MP4 file while collecting data
  • Virtual (calculated) key figures added (Example here: default definition file)
  • RTCM3 base supported with automatic survey-in for UBlox devices (OS X only)

Note that some features (MSP) are only available if you run a companion on your vehicle using MAVComm .

Requirements:

  • requires minimum Java 11 JRE
  • A companion running a serial-to-udp-proxy (either MAVComm or MAVROS, not required for PIXRacer)
  • Video streaming from the vehicle requires an rtps mjpeg streaming service running on companion

Note: maven building currently requires local mavcom, mavmap, mavbase and mavutils in local repository

Binaries:

Available binaries can be found here.

Screenshots (Light Theme):

alt tag

alt tag

alt tag

alt tag

Screenshot (Dark Theme):

alt tag

How to define custom key-figure metadata files:

Limitations:

  • Limited to one device (MAVLink-ID '1')
  • Default PX4Log/ULog keyfigure mapping still not complete, but you can add your own definition file

Note for developers:

MAVGAnalysis depends on https://github.com/ecmnet/mavcom for MAVLink parsing.

Please note the License terms.

mavgcl's People

Contributors

dagar avatar ecmnet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mavgcl's Issues

Does not compile on Linux

I'm getting loads of build errors trying to run this on Linux, the first being
[javac] /home/trond/MAVGCL/MAVGCL/src/com/comino/flight/tabs/FlightTabs.java:63:
error: ')' expected

Building infrastructure

@ecmnet add build/automation wishlist items here. You can assign it to me if Github will let you.

  • MAVComm as submodule
  • maven for build system and dependencies? using Ant + Ivy
  • remove binaries from repo (#5)
  • deploy jar to github releases
  • travis-ci deploy_osx
  • remove jmavlib packages from source and use submodule instead

UDP connection issues

Think of rewriting the UDP communication driver to address the following issues:

  • Once the first heartbeat packet is received, send back a heartbeat packet
  • Fix reconnection issue, when interface is removed and re-inserted from/to PC (e.g. USB-WLAN adapter)
  • Reduce latency when reconnecting

The class path should not be hardcoded

You're currently hardcoding the class path:

<taskdef resource="com/sun/javafx/tools/ant/antlib.xml" uri="javafx:com.sun.javafx.tools.ant" classpath="/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/lib/ant-javafx.jar" />

I'm sure there is a proper way in Java to do this without hardcoding a specific location and Java version. This path will not work on Linux and will not work on any other OS X machine (it does not work on my Mac).

Request: BIN version

Hi,

I would love to try your program but I have no compile environment. Is there a way you could publish Windows Bin version?

Thanks

Binaries in repository

The repository currently contains binaries, which is generally very bad redistribution style, as it makes it impossible to collaborate with multiple people. Please add a Travis CI build file instead and do releases through it (which will then contain the binaries for people to download).

https://docs.travis-ci.com/user/languages/java

Use master for default branch

It is not common to name the default branch anything other than master. Please change - its confusing the heck out of anybody familiar with GIT.

MapViewer bugs

  • Replay of uploaded MAVCGL data or PX4Logs does not work
  • Zooming does not work properly
  • Path is not drawn properly when following map toggled

Preferences (List):

Preferences should contain:

  • Size/Position of app
  • IP Address and port
  • Path/Filename to auto-store recordings
  • Video URL (allow external webcams to survey flight)
  • Store recent used key figure sets
  • Possibility to specify a custom key figure definition set (XML), which overrides the default

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.