Return to: U of M Home

Gold University of Minnesota M. Skip to main content.University of Minnesota. Home page.
 
ban
Ground Station
banner
 
 

Objective:

The software here is designed to give vital flight information in real time to observers in orderto assess the flight performance of an aircraft during a flight test. The software also logs thisflight data to text files for further analysis. The actual code is written in C++with the OpenGL Graphics Library used to render the flight displays.

Overview:

The software used on the ground station is based on the Open Source Glass Cockpit Project or OpenGC. The website for the project is www.opengc.org.However, in addition to the Primary Flight Display (modified from the original to display low speed and low altitude flight) that came with the original version of OpenGC, the modified version of OpenGC available on this site contains a new data source for receiving data from serial communications, a moving map to display location relative to a set of waypoints, servo rate gauges to display the activity of up to seven control parameters, and buttons to display autopilot mode information. The reasons for using OpenGC as a base for the ground control station are to provide an open source, customizable, and effective means for in flight visualization for the UAV.

Licence And Distributing

OpenGC is distibuted under the Modified BSD Licence. This means that the file can be modified and re-distributed with a few conditions, more information about this licencing type is available at http://en.wikipedia.org/wiki/BSD_license, or in the included files. The main condition is that the headers on every C/C++ file remain as written, and that you include the header on every C/C++ file that you create afterward. Also that the documentation files can not be modified without consent. The following link contains the modified OpenGC file, with a few new documentation files:

OpenGC.rar

System Compatability and Required Files:

The version of OpenGC above has only been tested on LINUX opereating system (Ubuntu 7.4 and Fedora Core 4). LINUX systems must have GCC version 4.0.0-8 or later, and graphics card with OpenGL support.

Before unpacking and making the modified version of OpenGC there are five open source programs that must be installed on your computer:

CMake 2.0+ program used to generate the makefiles that build the OpenGC executable, download from http://www.cmake.org/HTML/Index.html

FLTK 1.5 includes libraries that are required to build the render windows, download from http://www.fltk.org/

Freetype 2.19 has important include files that are needed for FTGL to work, download from http://www.freetype.org/

FTGL 2.0.11 includes libraries and headers that are required for fonts used in OpenGC, download from http://homepages.paradise.net.nz/henryj/code/#FTGL

Plib 1.6 important math and graphics libraries are included, download from http://plib.sourceforge.net/

The specifics of each package is available at http://www.opengc.org/developers_building.html. Newer versions of each file have been tested, and there seems to be no backward compatability issues, but the files above have been proven to work. Installing these programs is the most important part of having a working program. After SUCCESSFUL INSTALLATION of the programs follow the step by step guide to setup OpenGC on your system.

Installation Guide:

1) Unpack the compressed file to a convienient location

2) In the terminal go to the directory .../OpenGC/Applications/FLTKApp and open the file opengc.ini and change the font and navigation path to the location of the Font and Navigation folders within the OpenGC file.

3) Switch back to .../OpenGC/ and enter the command ccmake CMakeLists.txt.

4) Locate the directories marked with DIR_NOT_FOUND, these are usually Freetype, Plib, and FTGL. Scan the /usr/ directory for the libraries and include directories of the files. If you cannot locate them compare the directories in the file packages with what you have in your /usr/... directory. If you have linking these include directories or libraries, change directories back to the package you are having trouble with and type "make -install" again. To make it easier to find the package you may want to set the build location to a familiar spot. For help doing this type "man make" into the terminal.

5) Once all the directories are set hit the 'c' key to configure the file, then the 'g' key to generate the makefiles.

6) Now run make to build the OpenGC libraries and executable to the location specifed in the ccmake script.

7) If you want to see a preview of the OpenGC application change directories to the .../OpenGC/Applications/FLTKApp and type "./OpenGC opengc.ini" after a list of instructions and a short loading period you should see the display running through a previous flight test.

8) Creating your own data source and collecting data in real time requires a bit more work. Start off by opening the Documentation Folder from the OpenGC directory, in that file there is a ReadMe on DataSource Creation that covers how to work with telemetry data from general sources.

9) To switch to the DataSource that is compatible with the current Data Packets being sent down from the UAV or airframe platform go to opengc.ini and switch the DATASOURCE field to EGyro.

Notice that this requires valid data being sent in via the serial port. To get this valid data requires the Autopilot program be loaded onto a processor that is actively transmitiing data. In the directory /FLTKApp/ call "./OpenGC opengc.ini: and the cockpit display should appear. After completing your test data should be logged in the /FLTKApp/datalog directory under the name telemetry.txt.

Update: 2/4/08:

a) Packages: a lot of additional packages should also be installed to get a coherent system in Ubuntu 7.10.


b) Ccmake: FLTK directory should be configured manually to "/usr/include/FL"; findPlib and findFTGL should be modified to work correctly with insertion of "/usr/include/Plib" and "/usr/include/FTGL".


c) Make: there is an error in compilation: extra qualification in an object in line 73 of  "Source/Base/ogcRenderWindow.h", "RenderWindow::"
should be deleted before "CheckExtension". The reason is a feature of the compiler above version.4.0, it has well been commented in the web.

For additional information, or any questions feel free e-mail jake0013@umn.edu

Thomas Jakel

 

 

 

 

 

 

 

 

 

 

 
 
The University of Minnesota is an equal opportunity educator and employer.