 Robert J Morton |
|
| Personal Project |
| Moving Map Applet: a demonstrator in principle of a flight guidance system whose function is to steer an aircraft from an origin to a destination via a route, where a route is defined as a set of way points joined by 'great circle' arcs using an ellipsoidal model of the earth. |
| robmorton@clara.net | SEE WARNING |
|
For commercial reasons this applet covers only the essence of the full system. It is here simply to illustrate my knowledge and skill in this subject.
The moving map is shown in the style of a 'head-up display' as if you are remotely piloting an aircraft with a forward-view camera. (Clouds picture courtesy Microsoft Office.) The applet's window and controls, and also the navigational classes which control the flights are described below. Please bear in mind that the flights can take a long time.
The Applet Window
The core of this applet is an Applet class called movmap. movmap, however, does not write to or paint upon the applet window directly. All painting and writing is done indirectly by 5 subsidiary Java AWT Components which are added to the applet's own Panel. These are:
- a Canvas airmap.class upon which the map is painted
- a Panel navpanel.class on which the Lats, Longs, bearings etc are shown
- a Panel selroute.class with radio buttons for selecting the route to be flown
- a Panel selmap.class with radio buttons for selecting the scale of the map
- a Panel butpanel.class containing the Start, Reset, Next, Prev buttons
movmap passes all button events straight to the subsidiary panel classes which then handle these events.
Navigational Functions
A flight is set up and run by the following classes. These contain the methods which fly the aircraft from its origin to its destination via the chosen route.
- aircraft.class expedites and controls the movement of the aircraft
- wpini.class builds and establishes a database of waypoints and routes
- route.class sets up and manages progress along a given route
- waypnt.class contains and provides access to waypoint data
- wpenc.class manages the flight geometry of an encounter with a waypoint
- navconst.class is an interface containing useful navigational constants
Flight is facilitated by movmap's run() method calling a method in route.class every half second which in turn calls appropriate methods in the other classes to move and guide the aircraft. Please note that these classes specifically omit means for integrating with other air traffic. Also absent are software connections to real-world sub-systems such as gyro-compass, Navigational Aids Receiver and GPS.
This applet is a demonstration version of a navigation aid which I had previously developed in 'C'.
WARNING: Do not fly a real UAV with software running on a PC or any other general purpose computer. The underlying run-time and operating systems are not sufficiently robust for this purpose. Navigation and flight control software must only be used to control UAVs when it is embedded in dedicated hardware with purpose-built run-time and operating systems.
This page's parent within this Web Site. About this Web Site. Its home page. Email its Author.