GoogleGeorge
Autopilot for Google Earth Flight Simulator
GoogleGeorge is an
autopilot
that flies the
Google Earth
Flight Simulator.
It's a free
Windows
program. It was designed for
Windows XP,
but it should also run under later versions of Windows, including
Windows 10.
GoogleGeorge provides automatic control of the following flight parameters:
- Speed
- Heading
- Altitude
- Vertical speed
It also has the following features:
This is GoogleGeorge's normal view. It has the following controls:
- The 4 controllable flight parameters, each with up/down arrows to set the target value,
and a toggle button to control that parameter when pressed:
- Speed, in knots
- Heading,
in degrees clockwise from North
- Altitude, in feet (above sea level)
- Vertical speed, in feet per minute
- ENGAGE toggle button – enables the autopilot when pressed
- Circuit toggle button – see Flying a circuit
- A slider controlling the transparency of the window
-
Outer, middle, and inner markers, which light up as they are encountered
- A warning triangle
appears when there's a problem - click it to see
what the problems are
- Choose the target Speed, Heading, and Altitude or Vertical speed (the last two are mutually exclusive).
Type numbers into the fields, or use the up/down arrows or the mouse scroll wheel.
- Press the button for each flight parameter to be controlled.
- Press the ENGAGE button.
- As an example, when you enter the Flight Simulator, choose the SR22 airplane, and
New York (KJFK)
Runway 13R.
Then run GoogleGeorge, set the Speed to 150, the Heading to 121, and the Altitude to 1000. Press the SPEED,
HEADING and ALTITUDE buttons, then press ENGAGE. The plane accelerates, at about 110 knots it takes off,
gains height, and levels off at 1000 feet, flying at 150 knots on a heading of 121.
- Make sure that the mouse cursor is an arrow while it's over the Google Earth window. If it's a cross then
you will be controlling the joystick as you move the mouse around – left-click
once (or possibly more times) to turn it
from a cross into an arrow.
- Adjust the target values, press buttons to control different flight parameters, as required.
If you want to
fly a circuit
or follow a
flight plan
then GoogleGeorge needs to know where the plane is (latitude, longitude, and altitude).
Versions of Google Earth up to version 7.3.2 supported a
COM
API,
which GoogleGeorge used to get this information.
In version 7.3.3 of Google Earth, this COM API was removed, so GoogleGeorge now uses a
KML file
instead.
So if you're using Google Earth version 7.3.3 or later, you need to create a KML file and open it in Google Earth.
The instructions below tell you how to do this:
- Right click here.
- Then click on Save Link As... or Save Target As...
in the popup menu to save the file as GoogleGeorge.KML
on C:\ or somewhere else on your computer.
- Open the GoogleGeorge.KML file in Google Earth (File > Open, or Ctrl+O).
- When Google Earth closes, you might get a warning about unsaved items.
If you save them then you won't have to follow these instructions every time you run Google Earth.
If you have created the GoogleGeorge.KML file and opened it in Google Earth, but GoogleGeorge
refuses to fly a circuit or follow a flight plan,
you might have to enable and/or refresh the GoogleGeorge.KML file.
Do the following after starting GoogleGeorge and Google Earth
and before entering the Flight Simulator:
- Right-click on the GoogleGeorge entry in the list of Places in Google Earth
(you might have to disengage GoogleGeorge to do this, otherwise you will be fighting
GoogleGeorge as it uses the mouse to control the plane).
- Click on Refresh in the drop-down menu.
- Make sure that the checkbox is ticked. (You might want to leave the checkbox unticked
when you are not using GoogleGeorge, this will save a small amount of resources.)
- Enter the flight simulator, and choose any airport as your starting point.
- Run GoogleGeorge.
- Click the "Circuit" button.
- GoogleGeorge flies a circuit around the airport, and lands back on the runway:
- Accelerates and takes off
- At about 500 feet off the ground, banks and heads off in a random direction
- Continues to climb to about 2500 feet above the ground
- When about 6 miles from the runway, banks and heads back towards the airport
- Lines up with the runway on the glideslope
- Displays the
outer, middle, and inner markers as they are encountered
- Lands on the runway and brakes to a halt
- Then it does it again, and again ...
- To stop, click the "Circuit" button again.
- The starting point can be anywhere in the world, apart from a few places near the
North Pole
and the
South Pole,
where the navigation does not work properly.
- Note that after the Circuit button is pressed, there might be a short pause before anything starts to happen.
This is because GoogleGeorge has to find out the current position of
the plane from Google Earth, and this can take several seconds.
If nothing happens after 10 seconds then you might need to
enable and/or refresh the GoogleGeorge.KML
file in Google Earth.
- The pictures below show various stages of a circuit starting at
New York (KJFK)
Runway 13R
GoogleGeorge can be made to follow a
flight plan
consisting of a list of
waypoints
and other instructions in a
plain text
file.
Here is an example:
We're flying the F16, Plane, F16
Let's go!, Take Off, 500, 3000, 500
Raise landing gear, Gear up
Slow down a bit, Speed, 300
Long Beach, Waypoint, 40 35 19 N, 73 29 28 W, 3000
Lower landing gear, Gear down
La Guardia runway 31, Land, 40 46 19.48 N, 73 51 25.64 W, 7, 302.25
If the F16 plane is sitting on runway 13R at
JFK,
then this list of instructions will cause the plane
to take off, raise the landing gear, fly around for a few minutes, line up with
La Guardia
runway 31, lower the landing gear and land.
A detailed explanation of these instructions is given below.
To activate this flight plan, copy and paste the list of instructions above to a text file, run GoogleGeorge, choose
"Flight Plan..." from GoogleGeorge's "Options" menu, and open the text file. Then click the
"Start" button in the
Flight Plan dialog box.
See
below
for more details.
Each waypoint or other instruction in a flight plan is described by a single line in a text file.
The line starts with the name of the waypoint/instruction, which can be any text you like, so long as
it does not include a comma (","), for example
Let's go!
, or
La Guardia runway 31
.
Following the name is a comma, then the type of the waypoint/instruction, which must be one of the following
(whitespace and capitalisation are ignored):
Waypoint
Gear
Gear up
Gear down
Speed
Take Off
Land
Plane
Following that is another comma, and then
a list of values separated by commas.
The number of values and their meaning depend on the type of instruction, as follows:
Waypoint
(fly to a particular place) – requires 2 or 3 values to say where the
waypoint
is:
- Latitude
- Longitude
- Altitude, in feet (above sea level) (optional)
Gear
(raise or lower the landing gear) – no further values needed
Gear up
(raise the landing gear) – no further values needed
Gear down
(lower the landing gear) – no further values needed
Speed
(fly at a specified speed) – requires 1 value to say what the target speed is:
Take Off
(apply power, take off and climb to a specified height) – requires 3 values:
- Speed, in knots
- Vertical speed, in feet per minute
- Target height, in feet above the ground –
when this height is reached GoogleGeorge goes on to the next waypoint or instruction
Land
(approach a runway on the glideslope, land, and brake to a halt) –
requires 4 values to say where the
runway
threshold is:
- Latitude
- Longitude
- Altitude, in feet (above sea level)
- Heading, in degrees
Plane
–
requires 1 value,
which must be one of the following:
This does not change the plane that you are using in Google Earth, instead it allows you to tell
GoogleGeorge which plane you are using in Google Earth, this affects the way that GoogleGeorge
flies the plane (see the Plane option in Menu options).
Latitude
and
longitude
should be given in
degrees,
minutes and seconds,
followed by N or S (for the latitude), E or W (for the longitude). Minutes and seconds may be omitted, and
non-integer values may be used. So 51 degrees 28 minutes 20.28 seconds North may be written as any of the following:
51 28 20.28 N
51 28.338 N
51.4723 N
The meanings of the instructions in the example above are:
We're flying the F16, Plane, F16
- The name of this instruction is
We're flying the F16
- The type of this instruction is
Plane
, which requires 1 value:
- The plane we're flying is
F16
Let's go!, Take Off, 500, 3000, 500
- The name of this instruction is
Let's go!
- The type of this instruction is
Take Off
, which requires 3 values:
- Speed is
500
knots
- Vertical speed is
3000
feet per minute
- Target height is
500
feet above the ground
Raise landing gear, Gear up
- The name of this instruction is
Raise landing gear
- The type of this instruction is
Gear up
, which requires no further values
Slow down a bit, Speed, 300
- The name of this instruction is
Slow down a bit
- The type of this instruction is
Speed
, which requires 1 value:
- Target speed is
300
knots
Long Beach, Waypoint, 40 35 19 N, 73 29 28 W, 3000
- The name of this instruction is
Long Beach
- The type of this instruction is
Waypoint
, which requires 2 or 3 values –
in this case there are 3 values:
- Latitude is
40 35 19 N
- Longitude is
73 29 28 W
- Altitude is
3000
feet above sea level
Lower landing gear, Gear down
- The name of this instruction is
Lower landing gear
- The type of this instruction is
Gear down
, which requires no further values
La Guardia runway 31, Land, 40 46 19.48 N, 73 51 25.64 W, 7, 302.25
- The name of this instruction is
La Guardia runway 31
- The type of this instruction is
Land
, which requires 4 values:
- Latitude is
40 46 19.48 N
- Longitude is
73 51 25.64 W
- Altitude is
7
feet above sea level
- Heading is
302.25
degrees
Lines that don't match any of the types above are ignored, so you can put comments in the file.
- To load a flight plan, choose "Flight Plan..." from the Options menu.
- In the Open File dialog box, choose the file or enter the file name, then hit Open or OK.
- The list of
waypoints and other instructions loaded from the file is displayed in the Flight Plan dialog box (see above).
- Start the flight plan at the beginning by clicking the "Start" button,
or start in the middle by clicking on a line and then clicking the "Start at marked" button.
- GoogleGeorge will run through the waypoints/instructions in order:
- The currently active waypoint/instruction is shown with an arrow ">".
- When flying to a waypoint,
the target heading is continuously adjusted to fly along the
great circle
from the current position to the waypoint.
- The estimated time to reach the next waypoint is shown as hours:minutes:seconds in the
ETA
box.
- Shortly before that waypoint is reached, or when the instruction is completed, the arrow will move to the next line.
- Once all the waypoints/instructions have been followed the arrow is cleared ...
- ... except that if the "Repeat" checkbox is ticked then the flight plan is started again from the top.
- To stop following the flight plan, click the "Stop" button or close the dialog box.
- When the flight plan is completed or stopped, all the settings for the target
Speed, Heading, Altitude, and Vertical speed
will be left at their latest values, and will continue to be followed by GoogleGeorge.
- System menu (Alt+Space, or click the GG icon):
- Always on top – when GoogleGeorge starts its window is "always on top": this means that it appears
in front of other windows even when it is not the active window. This option may be turned off, so that
GoogleGeorge becomes a normal window, which can be hidden by other windows. But
GoogleGeorge will continue to fly the plane even if its window is not visible or is minimised.
- About GoogleGeorge... – display the About box.
- Close – close GoogleGeorge. All of the controls in Google Earth Flight Simulator will be
left at their most recent position.
- Normal view – this option displays the simple flight parameters. See
Normal view.
- Options:
- Always on top – you can change this here as well
- Flight data recorder – if enabled then lots of data about your flight, speed, altitude, etc.,
will get written to GoogleGeorge.csv in the directory that GoogleGeorge is running from,
and you can plot some pretty graphs using
a spreadsheet such as
OpenOffice.org Calc
or Excel.
- Flight Plan... – open a Flight Plan text file
- Fly inverted – if enabled then the plane flies upside down.
- Ground hugging – if enabled then the altitude control is replaced by the height control,
which controls the plane's height above the ground or sea.
This doesn't work with Google Earth version 7.3.3 and later.
- Marker tones – if enabled then beeps will sound when the
outer, middle, and inner markers are encountered
(the beeps are somewhat irregular, this is due to limitations in
Windows).
- Plane – choose SR22 or F-16 as appropriate, this affects various things:
- maximum climb and descent rates
- maximum bank angle
- landing speed
- Warnings – show the Warnings dialog
- Diagnostic view – this option displays much of the inner workings of GoogleGeorge. See
Diagnostic view.
- Diagnostics – these options are to help me debug GoogleGeorge.
This shows various problems that GoogleGeorge might encounter:
-
is shown if GoogleGeorge thinks that Google Earth is not running. Start Google Earth, then hit the Retry button.
-
is shown if GoogleGeorge cannot see the Google Earth head-up display. In Google Earth, run the Flight Simulator
if necessary (press Ctrl+Alt+A), face forwards (press V), show the head-up display (press H),
then hit the Retry button.
-
is shown if GoogleGeorge is not receiving information about the plane's position from Google Earth.
See Plane position.
-
is shown if GoogleGeorge is unable to set up a server to listen for KML information arriving from Google Earth.
This can happen if you run GoogleGeorge more than once at the same time.
Close down all instances of GoogleGeorge except one, then hit the Retry button.
Click to enlarge
This shows some of the internal workings of GoogleGeorge. Most of the controls use
PID controllers,
and the multipliers
are in the block on the left.
You shouldn't need to change anything here. If GoogleGeorge has problems communicating with
Google Earth then the "Info" window might indicate what the problem is.
- v1.0, 2nd November 2010
- First released, supports Google Earth version 4.2
- v1.1, 9th April 2011
- v2.0, 13th January 2013
- Support for Google Earth version 5.2.1.1588 added
- Use different takeoff and landing speeds for different planes
- Waypoints and Flight Plan added
- Keep track of the Google Earth window if it's moved or changed in size
- New PID algorithms to try to prevent
integrator windup
- v2.1, 2nd November 2013
- v2.2, 1st December 2013
- Support for Google Earth version 7.1.1.1888 added
- Prevent
screensaver
from running while GoogleGeorge is flying the plane
- v3.396, 9th September 2021
- Support for Google Earth version 7.3.3 added
- v3.474, 18th January 2022
Plane
instruction added to Flight Plan
Gear
instruction split into
Gear up
and Gear down
Many thanks to the following for their help:
If you have any problems with GoogleGeorge
or suggestions for improvement then
email me at
Cheers,
Chris Hills.
All text and images on this website are © Copyright Chris Hills 1982–2024, or their respective copyright holders.