Fab GCS - Google Earth Ground Station

27th June 2010 - 3D Telemetry using Google Earth - Just like a sim but for real!

Due for release shortly includes: Adding your own google sketch up models, equipment/models database, maxpilot,mega, kml, logging, sharing of config and kml/model information

 

 

Next job prior to release to make a HUD/OSD instead of the solid instruments displayed below.

 

Currently I am adding support for a serial camera. The serial camera is a simpler device than real video but works quite well. The Kml output will also include an option to show images for any part of the journey

 

 

release later in year to include two way telemetry.

the existing functionality mentioned below will remain valid, using google earth sim is optional

 

Project renamed to "ArduFab" (Beta)

 

 

15th June 2010 - FAB 1.2 Flight Computer Version 1

 

BETA Link here

 

 

 

 

14th June Update - here

 

Please do not use for actual flight. This is beta and not fully working or tested!

 

 

For all those who tried the earlier version .. "I've refreshed the msi it wasn't setup correctly sorry"

 

Thanks to so many contributors for putting their projects on the web. I've used many people code!

 

 

What is working

 

Entering a com port, setting a baud and clicking the "ON" button will read ardupilot telemetry
The instruments that appear when you switch “on” will show values
The Log will show you raw data from the ArduPilot.
The log will can also show Attitude and Position
The H marker on the map shows where the ardupilot currently is (In progress!)
(There is a large delay before the map shows the correct information. To be fixed)
If the telemetry is switched on before the ArduPilot is started then the map shows the waypoints
Only web links work in the tree
The summary is very basic at the moment and only applies if a full start up has been

 


What isn’t working

 

Quite a bit!
The radio window only shows throttle, might show battery but not tested
The radio window can’t be resized correctly
The map shows your waypoints but needs much more work
Access to configuration tool and code editor
Saving of journeys
Saving of configurations
Direct IMU telemetry is implemented but held back for testing
Waypoints checkbox on the log
All menu items and tool bar buttons
Map reset
Zero altitude
Two way com
Diagnostics and additional instrument controls
Flight Computer
Set home via map
Clear map / reset map
Adding properties such as ardupilot source path
Video
Additional sets of indicators + night/day mode effects
Replay journey
Lots of config options
Visible and audible alarms

 

 

 

History______________________________

 

This was the original project that I found on the internet that got me thinking about a windows ground station.

 

The brilliant ArduPilot ground station prompted me to look for a solution because it is difficult for me to have labview installed on my machine. Doesn't comply with our software audit and besides that I am not happy about the price of labview.

 

I like arduino and the microsoft micro framework, the two products seem to have their places in this world. As such I decided to see if the Micro framework could provide a 3/5 volt mini ground station.

 

My project has developed since I found these controls but I include a link because the maths in this project makes creating scalable/resizable moving controls very simple.

 

http://www.codeproject.com/KB/miscctrl/Avionic_Instruments.aspx

 

AvionicsControlsDemo_ViewMe.JPG

 

 

 

GroundStationT

 

My ground station project is now working with text based imu output or with the ardupilot. The instrument controls are now single widget windows that can be re-positioned and resized independantly.

 

The main control is the attitude indicator control. When it is moved all other control move with it. The mouse wheel is used to increase/decrease the size of an instrument.

 

The application has a main frame but the instrument controls are displayed outside of the main frame. Yhis allows the frame to be minimized and the instruments to occupy the entire screen.

 

The view menu currently has a google map showing current position and next waypoint, current work is to enable the map to be displayed in place of the ground (below the sky) in the attitude indicator and to allow more transparency of other instruments.

 

The google map link is going to be interesting to develop alonside a Telit GSm module that I have. By the google code initially came from the ArduPilot config tool, so hats off to the clever ground station pair!

 

 

I initially coded the processing of serial telemetry and the instrument controls using the micro frame and a tahoe II board. This proved the project would work and once the various instrument controls are working with proven tested values, I indend to convert the project back to the micro framework.

 

The current windows project can be found here but it is untested in the field and should not be used for actual flight monitoring. The current project is just a .exe, it requires microsoft windows framework 3.5 and will fail to run if you don't have it installed.

 

FYI: Current cores (board support) provided by MF4 are as follows but you can also build your own using the free porting kit!

 

 

ARM v4,

· ARM Thumb

· Thumb-2

· Blackfin

 

Development Boards

The porting kit provides sample ports available for the development boards listed below. These sample ports include the source code.

- Atmel SAM9261-EK development board (ARM core AT91SAM9261)

- Atmel SAM9RL64-EK development board (ARM core AT91SAMRL64)

- Atmel SAM7X-EK development board (ARM core AT91SAM7X512)

- Phytec phyCORE-ARM7/LPC2294 (Rapid Development Kit PCM023, ARM core LPC2294 by NXP)

- Embedded Artists EA-LPC2478 development board (ARM LPC2478 by NXP)

- Crossbow MOTE2 platform from Crossbow (for Marvell PXA271 processor)

- Freescale i.MXS development kit (Freescale MC9328MXS)board for i.MXS processor

Memory Requirements

The memory requirements for the .NET Micro Framework depend entirely on which features you use. In its smallest form, the framework requires 64 Kb of RAM and 256 Kb of flash memory.

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • ok morli i came to understand that we can use earth tracker when the gps is attached to our pc directly and is in running mode.I just want to have a ground station on my laptop that display the information send by the gps what we called as telemantry.i will be usinf an OEM RF 2.4 GHZ RF module to transmitt video taken by the camera on the uav to the laptop.can i also send the gps telemntry along with that video and later on we can distinguish btwn them and use them seprately.
    And gps telementry means the gps data?can we have two connections from the o/p of the gps one to the imu and other to RF module,or before sendind it to trnsmitter we need to convert the gps data to perticular format.
    hope these questions donot iritate u.
  • Thanks for the reply. I got some questions. Will PM u soon.
  • ps: if you want google earth integration then create a tcpServer on port 8080 and check out the networklinkcontrol and networklink kml formats

    Fraser Williams has written some semi-useful google code articles for earth, most people are moving to the earth plugin which has much more functionality but does not have off-line capability that the windows google GE interface (EarthLib.dll) provides.
  • Hi Chester, yes it's c#. I started with the AvionicInstrumentsControlDemo from the CodeProjects on the internet.

    The serial protol is easy to work with in c# if you loop through each LINE of the serial and use the string.split() for , and :

    !!!LAT:334343434,LON:675677657,***

    Remove the !!! check for the ,*** and you have a valid serial line

    Split on comma gives
    LAT:23424234
    LON:345353

    Split on : gives
    String[0]=LON
    String[1]=23424234


    Serial Port Access

    using System.IO;
    using System.IO.Ports;
    SerialPort serPort;
    serPort.PortName = portName;
    serPort.BaudRate = Convert.ToInt32(bitRate);
    serPort.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
    serPort.Open();


    To see how to read the telemetry values, which in most cases need to be /1xxxx to give decimals, look at the ArduStation Arduino code.

    There are lots of serial examples on the web. The ArduPilot config tool also uses serial and I think the source code is published
  • Hey fab,
    May i know, are you using C# to do your groundstation?
  • when you click the beta link it asks if you want to doanload the zip?

    I do not know about earth tracker but i assume it will only read the gps if the gps is plugged directly into your pc

    Have you looked at the software tools available via the diy drones wikki?

    Maybe you should explain what hardware you have and what you want to do otherwise your questions are very diverse
  • hi timl i m clicking on the link provided above BETA link here,but it isn't directing me to the page from where it can be downloaded.kindly help me.and also i am little bit confused regarding the ground station.I had resd on google that we can interface our GPS with google earth using earth tracker-a freeware avilable on net,will it be sufficient for a ground station,please help me out.
  • I suggest you create a folder in your own project, copy the components from the avionics into that folder (in your project) and they should then appear at the top of the toolbox. They are user controls so can be on a single window or seperate windows. The avionics example shows them in a single window.

    If that doesn't help then email me your project an d I will add them and send it back to you
  • T3
    Hi Tim, really nice work. I really like the instruments and want to use them on my own project, but I'm having trouble adding the Avionics Instrument Controls (from codeproject) to my own project in VS2010. Could you explain (or just send me a PM or email) some details on how to add the Instrument components to the toolbox in Visual Studio. I've tried making a reference once I've added it to my own project, but don't know how to make the instrument components available in the toolbox, so that I can use them in my own form. Hope that makes sense!
    Many Thanks
    Nick
  • by the way making a google earth real sim is very easy. i can give you an html file and some pointers if you want to do your own
This reply was deleted.