GithubHelp home page GithubHelp logo

sco1 / ppg-log Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 1.41 MB

Helper Tools for PPG FlySight Flight Log Management

License: MIT License

Python 100.00%
aviation flysight powered-paraglider python3

ppg-log's Introduction

Hi there, I'm sco1! ๐Ÿ‘‹

StackOverflow Slack HackerNews Mastodon

I'm a Boston-based Aerospace Engineer focused on test & evaluation.

Programming Interests

  • Data collection, postprocessing, and visualization
  • CLI and GUI tooling
  • Code quality
  • Software testing

I also find joy in making hilarious things like:

ppg-log's People

Contributors

pre-commit-ci[bot] avatar sco1 avatar

Watchers

 avatar

ppg-log's Issues

Add flight summary database

Start simple with something local (sqlite?)

Desired per-log metrics:

  • Flight date/time
  • Total takeoffs
  • Total landings
  • Flight segment length(s)
  • Total flight time

Add capability to process in-fight logging startup

For cases where we forget to turn the logger on before taking off, there should be an ability to begin a flight segment at the start of the file. Since there was an intentional decision to not consider segments at the start of the file (see: #5), this should be an opt-in switch.

While we're at it, the default behavior should fail more gracefully rather than conking out in the segment classifier when attempting to reshape the segment start/end indices.

Add Support For Flysight V2 Tracks

The new Flysight V2 hardware revision has a different log storage story & slightly different track file formatting. See: sco1/pyflysight#8 for a description of the changes.

It might be better to just lean on pyflysight once the parsing is finished rather than duplicating the parsing effort.

Flight segments not detected if intermediate spikes are present

A side effect of the fixes made by #4 introduced a different bug I didn't notice while testing the fix. As shown in the below plot, if intermediate spikes trigger the merging logic but aren't close enough to a valid flight segment to actually merge, it prevents identifying any valid flight segments later in the flight:

image

Incorrect flight segmentation with landing instability

While the flight segment detection logic from b20f785 seems to do a good job mitigating noise on takeoff, it does not correctly account for noise on landing.

In this example, the start of flight segment 2 is incorrectly defined in the noisy region of flight segment 1's landing:
image

While the ultimate fix may be a side effect of the logic for #1, as a starting point we probably need to use a time threshold between segments to determine when to turn off the segment merging flag rather than just assuming that the landing data is clean.

Add GPX and/or KML Parsing

For those times when we forget to bring our Flysight or we do bring one and the battery is dead, we might have a backup that needs parsing!

Improve flight segment detection logic for touch & gos

The time-based logic for identifying flight segments added by b20f785 does decently well for the general flight case but is hit or miss on detecting touch & gos since it's only relying on total velocity. For example, the final segment of this flight log has two touch & gos that are not identified because the total velocity never drops below the "on ground" threshold (they're also very short ground segments):

asdf

This might be improved by adding an altitude consideration into the determination of the inflight vs. ground classification and/or the determination of valid flight segments? It would still be difficult to differentiate a touch & go from a low pass, where we're only a few feet off of the ground but not in a landing phase, especially if there is a decent amount of ground wind. Perhaps a time component could also be used.

On the other hand, perhaps it's not worth the added (possibly fragile) complexity and we instead just call the existing logic "good enough" as a tool for determining total flight time & maybe keep touch & go classification as an experimental feature.

Incorrect handling of start-of-file noise

An attempt was made in b20f785 to mitigate noise at the beginning of the file causing an incorrect flight start by just trimming some data from the beginning of the file. Unfortunately, this didn't quite fix the problem, at least with the current default:

22-04-13_10-52-00

While the assumption that the FlySight will be on the ground when it's turned on is correct, we need a better way to discard segments that start very near to the beginning of the file. This may be better served with a longer trim default as a quick fix? It's also worth looking at the satellites in view to see if this is just from a lack of accuracy on startup.

I also think this threshold would be better in the flight segment classifier rather than just trimming off the beginning of the data file.

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.