DIY Drones

I've been occupying my time by writing some ground station software. I felt there was a need for a cross-platform solution, as not everyone can run the Labview GCS. I liked this but I decided to DIY it as a learning exercise. Like that program I am also integrating with Google Earth.

The Java Swing compact design

Some C GTK widgets


Questions:
I am developing this for personal use, but would anyone else use like to use this? I would value your input and try to make it as useful as possible for others. It can take any type of input but I intend to initially support (write a parser for) the ArduPilot serial syntax, and my hacked-up web-based cellphone telemetry system. Which view type, customizable widgets (square) or the compact view (round) is better?

I'm trying to learn new things, so I originally tried to write it in Java Swing (round) but eventually switched to GTK+/Cairo in C (square, not arranged yet).

The first design's UI was arranged concentrically according to the importance of information. I only finished up to part of Ring 3 before switching. I think the concept is pretty slick but it could use a graphical designer's touch and it is not easily customizable.
Ring 1: Stay in the air (Horizon gauge with gradients to direct towards 0)
Ring 2: Go towards the destination (Compass gauge, Top is current Heading, Green "Home" and Blue "Next" markers)
Ring 3: Watch flight progress (Scrolling Speed/Alt indicators, Range estimates to Home and Next at top/bottom)
Ring 4: Everything else arranged below and to the sides (Battery, Servo status, Motor temp, Auto/Manual, etc)

Swing could only run this at ~2fps, so I switched to GTK (now 100+ fps), but I just wrote a few basic widget types. They are very easy to customize, and scale dynamically. The image shows a horizontal and a vertical scrolling indicator (the scale moves, not the red pointer), a percentage bar graph (for battery or task progress uses), and a horizon (the scale moves, but the plane rolls). Everything is generated on the fly, no images, so it is completely flexible.

Share

Reply to This

© 2009   Created by Chris Anderson

Badges  |  Report an Issue  |  Privacy  |  Terms of Service

Sign in to chat!