Several months ago I started working on a system called Afterflight to organize and browse my tlogs and dataflash logs, sync them with video, and view them along with a map GPS display. It still has a long way to go, but there is a fair amount of working functionality so I figured I'd get it out there for comment, warts and all. I would love to see it flourish as a collaborative project with lots of committers, see it get merged into another project, or whatever is most useful for the community. If anyone is interested in providing funding for it (or hiring me!) I'd love to hear that, as well, since I am a "starving PhD student". Alternatively there is a donate link if you click "about" in the software.
The source code has been available under the Apache License at http://afterflight.googlecode.com since I first started work on the project. I have an example server running at http://afterflight.volcanocopter.com
If you want a quick demonstration of what it can do, click on the first log entry, which will take you here . Press play on the video and you should see the map, graphs, and timeline animate.
Here's how it works at the moment:
- Very slowly. Please be patient, the index page in particular is large and none of the code has been optimized. It may take up to a minute to load. I'm confident I can fix that with a little work. Major code cleanup on the way soon!
- Python scripts read in your .log or .tlog. PyMavlink is used to parse tlogs. The scripts use the Django object relational mapper to put the data into a Postgresql database. It should work with most other database systems as well (but not MySQL because MySQL can't handle high resolution timestamps.
- A Django web application serves up the data
- I'm just starting to add features that allow the user, through the web interface, to add extra data and re-sync the video with the logs
Improvements I'd like to make in the future:
- Don't rely on youtube for video display; allow several web services or local video hosting
- Add automatic detection of events (takeoff, landing, motor failure, collision, wind gust etc) in both logs and in video. I have some ideas on how to detect things like takeoff and landing in the video. This will allow Afterflight, given a bunch of logs and a bunch of videos, the ability to match the right logs with the right videos and sync them in time.
- Add display of flight analytics calculated from the data. That includes things like top speed, but also derived values such as efficiencies, estimated lift to drag ratio, etc. The database already records different vehicles, batteries, etc., but those models need to be expanded.
- Allow login (locally created, or Google, Facebook etc.) and have the server designed to handle data uploads from lots of people efficiently. Should be fairly easy with Django-socialauth. Log parsing to the database is fairly slow right now because I haven't optimized the code, so this needs to happen before I allow uploads.
I'm not the only one who had realized the power of the browser as a component of an Unmanned Aerial System. These are the other browser-based projects I'm aware of:
- Many similar capabilities to Afterflight. Unlike Afterflight, user registration and uploading is already working, and the site is snappy, with no laggy loading. However, it lacks many of the features that Afterflight has, including integrated video and interactive ajax plotting of all log data.
- Not open source, but creator says that he intends to open source it in the future. EDIT: Now open source (yay!), see https://github.com/geeksville/droneshare
- Creator has expressed interest in collaborating with Afterflight and possibly merging the two projects.
- Appears to be vaporware. I signed up to "beta test" 6 months ago and have not been contacted, nor has there been any change to the website.
- No indication that it will be open source.
Hope you find this useful!