Desktop Application For Mars Orbital Propagation

“Mars is there, waiting to be reached.”
Buzz Aldrin

PROJECT SUMMARY

“Desktop Application for Mars Orbital Propagation” is an special software that have the aim to simulate the motion of one satellite on Mars orbiting, using corresponding technologies open source like Orekit and World Wind. The propagation take into consideration the forces that influence the satellite, for example, the gravitational attraction of Mars, the dimension of the planet, the the solar radiation calculated based on the position of Mars from the Sun and the influence of the three body , Sun and Earth.

By this application we intend to create a virtual 3D representation of the satellite propagation around the Mars planet, using the Orekit library but this time not like the usually way for Earth support, and for the Mars support. In this way, the future missions can be done and around others planets beside Earth, this project been an verification of the Orekit expand. I chose this application and also because Mars is the most explored planet in the last years.

Key Terms: Orekit, World Wind, Mars, inertial reference system, satellite, influence forces

THANKS

A paper is the result of a lot of work, and there are many days spent on research and conducting trials. It is therefore logical that the assistance of experienced people is essential during the development of the thesis.

A special thanks to Lucian Barbulescu, scientific coordinator, for his continued support and time he has invested in me, so I was able to learn and bring this project to a good end.

I also want to thank the members of University of Craiova, Faculty of Automatics, Computers and Electronics for their continued support, kindness and help in all four years of study .

PROLOG

“Desktop Application for Mars Orbital Propagation” represent an special software through which the user can see the propagation of an satellite around the Mars planet. Because in real life, this thing is hard to see, the 3D virtual representation is the perfect solution for people which want to manipulate the Mars glob and to discover the propagation action.

The model for this application will be chosen very carefully, because if we don’t pay attention on the key scenarios, failing to design for common problems or to appreciate the long term consequences of key decisions we can put our application at risk. The mentioned software do not have an poor architecture, because its have risks: the software is unstable, he can not support existing or future requirements, or the application is difficult to deploy or manage in a production environment.

In this application the values for the propagation are calculated into inertial reference system with the origin in Mars planet center, using the Orekit library and take into consideration the forces that influence the satellite, like the gravitational attraction of Mars, the dimension of the planet, the the solar radiation calculated based on the position of Mars from the Sun and the influence of the three body, Sun and Earth. After the propagation is calculated and the system know a list of coordinates for the points in the orbit, with help from World Wind library this data are made visible in mod graphic by representation of the satellite and their motion around the Mars planet.

Another scope of this application is that can be used as an study about the possibility to expend the use of Orekit library for the future missions around other planets. Because the Orekit library is used, for the usually scope, for the Earth support, but we will used for Mars planet, and more exact for the Mars orbital propagation.

TABLE OF CONTENTS

Table of figure

Figure 1.Sputnik 1: Earth’s First Artificial Satellite 7

Figure 2. Rocket launch 8

Figure 3. Types of trajectory 10

Figure 4. Satellite orbits 11

Figure 5. Mars Orbit 13

Figure 6 . Gravitational field 16

Figure 7. Kepler's First Law 17

Figure 8 . Kepler's 2nd law 18

Figure 9 . Orekit – Java 23

Figure 10. Orekit package 27

INTRODUCTION

Scope

“Desktop Application for Mars Orbital Propagation” is special software that have the purpose to simulate the motion of one satellite on Mars orbiting, using corresponding technologies open source like Orekit and World Wind. Mars is one of most interesting for explored and controversial planet from solar system, because its similarities with Earth were is life. Thanks to that fact by this software we will present a virtual 3D application of Mars orbital propagation.

In the chosen theme we will study the behavior of an artificial satellite in Mars orbit. The artificial satellites are spacecraft, an artificial object which people has placed intentionally into orbit, with a important scope like communications satellites, navigation satellites and more others. We will use this type of satellite for to observe the Mars orbital propagation.

For development this application we will use the Java language, Orekit library used to calculate the position and velocity of the satellite, this library by providing mechanisms for estimating the time evolution of a satellite and World Wind library used to create the virtual globe of Mars, developed by NASA is easy to use by developers who want to quickly and easily create interactive views of a 3D globe, map and geographic information.

Motivation

The reason I chose to study the propagation Martian orbit satellites is the fact that the universe is a place with a many interesting and unknowing things and it is a field in full progress. Another reason was that the Mars orbit is a type of orbit due form it has differs from the other orbits very advantageous. We chose this application and also because Mars is the most explored planet in the last years.

We want to build an application that studies the behavior of a satellite placed in such an orbit, but also fuel demand. This will be developed in Java. Orekit library will be used to simulate the route and the speed of the satellite.

SPECIFICATIONS

Goals

The objective of this study is to implement a desktop application for Mars orbital propagation that can simulate the movement of a satellite that is on Martial orbit. This software had as goal present the satellite propagation on Mars orbit with same fact that affect the ideal movement. In this application we consider as motive for this study the importance of understanding the movement of a satellite on a orbit, but we take also into consideration two of the gravitational forces that affect our satellite on the environment, which represent Mars orbit propagation.

The implementation of this application must take into account two points of view. The first one is the mathematical calculations of the points were the satellite will be on the Martial orbit, for that are used the Orekit library. How is included and used by the second part of this application, that represent the point of view from World Wind library, and more exactly the part were the Mars globe is created and were the propagation is made visible. Here are presented the simulation of the motion for one satellite on Mars orbit.

On this application we also want to implement a simple interface that will help the user to “communicate” with application and make easier to maneuver.

Requirements Presentation

For a better understanding over the idea of this study we will split it in two main parts: first part will be the satellite that is propagate and the second part will be the environment, the planet Mars on how orbit will be propagate the satellite.

The satellite will be represented by his trajectory formed from a lot of points, how are given by their coordinates. That part is implements using the Orekit library and data about Mars orbit and about our satellite. From din part we will obtain the position of the satellite over there propagation of the Mars orbit, but that are just data, which are not presentment in a visual mode.

The environment is represented by the plant around which the satellite make the propagation, and more exactly the Mars orbit. On this part is make the Mars globe as well as the satellite and his propagation, using the data from previews part and with help from the World Wind are create in a visual mode the planet and the satellite.

In this way is made a desktop application how simulate the movement of a satellite that is on Martial orbiting propagation using the corresponded technology.

Theoretic concepts

Satellites

The satellites are celestial bodies that rotate around another celestial body, accompanying him during their revolution. Classified according to their origin, satellites are of two types: natural and artificial. A moon or natural satellite is a celestial body that revolves around a planet, the planet called the parent or principal.

In the Solar System are the eight planets, but just six of them have natural satellites orbiting around them, being known around 173 such satellites, and seven satellites orbiting three of the five dwarf planets known to the International Astronomical Union. The two planets that don’t have natural satellites are Mercury and Venus, and the most knowledge satellite are the Moon, one large natural satellite of Earth, and Phobos and Deimos that are two tiny natural satellites of Mars. Approximately another 150 small bodies were observed in Saturn's rings, but they were not tracked long enough to calculate their orbits. It is believed that planets around other stars would have natural satellites, but have not yet been detected with current terrestrial technology. By January 2012 they were discovered more than 200 satellites of minor planets (astronomical object orbiting around the Sun directly).

The estimates show that there are approximately 76 satellites in the asteroid belt – five asteroids each having two satellites – four Trojans Jupiter – the planet minor who occupy the same orbit a celestial body larger – 37 objects in near-Earth and 9 satellites which intersects Mars orbit.

Artificial satellites are robotic ships used for communication and surveillance with orbiting Earth. Their orbit should be relatively fixed for a period of time because the satellite to make keep the direction.

The first artificial satellite was launched in 1957 by the USSR and this was Earth's satellite named Sputnik. Today, the largest building space is located in the International Space Station, which is permanently occupied by three astronauts and orbit the Earth at an altitude of approximately 350 km. Some of the first satellites were designed to operate passively, instead of transmitting radio signals, they served only to reflect signals that were directed at her by ground stations. Signals were reflected in all directions so that it can be received by all stations in the world. Today, satellites used exclusively operating systems have their own equipment assets transceiver.

Figure 1. Sputnik 1: Earth’s First Artificial Satellite

Satellites are created for to be launched into different orbits depending on their mission with the scopes like military support, weather observation, Earth imaging, navigation, scientific research and communications. In missions for another orbit low then Earth orbit, like Mars orbit, the satellite might only be a few hundred kilometers above the planet. So, the satellite is outside the Earth’s atmosphere, but still close enough that it can image the planet’s surface from space or facilitate communications.

The satellites movement is straightforward, from west to east, accompanying the heavenly bodies revolve around which orbits. To position a successful satellite into orbit requires a quantity colossal energy that should come from a vehicle or a device launch, requiring it to reach an altitude of 200 km and a velocity over 29,000 km / h. Thus, the satellite receives a combination of potential energy and kinetic energy by burning chemical fuels.

Based on the law of universal gravitation of Newton and the laws of mechanics to obtain a movement circumplanetary of a building, should his having print horizontal speed (tangent at a point on the circle with represent the trajectory) having some value. This is called circular speed of zero or first cosmic speed, which corresponds to zero artificial satellite.

Figure 2. Rocket launch

The most essential part of a satellite is represented of rocket launch satellites, which consists three levels: the first level is the engine that provides a tremendous amount of energy for raising all vehicle from launch pad. Immediately after finishing the fuel, the first level is separated from the rest of the vehicle and falls to the ground, then comes into the second level which supplies power to the satellite to reach orbit. Depending on the orbit that must be stationed is called and the third level of the vehicle.

As we has seen, every artificial satellite has four main parts to it: a power system, a way to control its attitude, an antenna to transmit and receive information, and a payload to collect information (such as a camera or particle detector).

Throughout the mission the satellite produces its own energy through a combination of photocell with recharging. These are used to provide the necessary power when the satellite passes through an area where no direct sunlight or heat. At the same time, to avoid overheating, due both Sun and electronic equipment, the satellite is equipped with radiators shaped panels that open and close to control the amount of heat.

Orbit

The orbit is a trajectory shaped curve that movable or through a real road map of a star. Defining characteristics of the orbit are the shape, altitude and angle that makes with the Equator. Most are circular, but are some satellites that have elliptical orbit. The altitude and the rate at which the planet is visible for the satellite in a certain time, determines the time required to execute revolves around the Earth. The satellites pass over different levels of altitude Earth, depending on the orbit angle of the equator.

Satellites that have a geosynchronous orbit (GSO) , they orbit along the equator at an altitude specified, at the same time the earth performs a complete revolution. They are generally satellites transmit live TV shows, as always stay above the same region. Almost every satellite that enters a low orbit – 2000 km or less – can move with the rockets on another orbit when the mission requires.

Polar orbiting satellites orbit at 90 ° of the equator and towards the poles. From here provides weather information every six hours, to all parts of the globe. At the same time they carry maps of Atmospheric Ozone levels throughout Earth's surface. One of these satellites is LANDSAT and belongs to the US government.

Sun Synchronous Orbits allows a satellite to pass over a section of the Earth at the same time of day. So, the satellite has to shift its orbit by approximately one degree per day, because in a year are 365 days will be 360 degrees in a circle. These satellites orbit at an altitude between 700 and 800 km. These orbits, how is say and the name, are used for satellites that take pictures of the Earth because this type of satellites work best with bright sunlight, so need a constant amount of sunlight.

Figure 3. Types of trajectory

One type of classification of orbits is made depending on the speed, the distance from the celestial body studied, for example Earth, and functionality:

Low Earth Orbiting (LEO) – used for Earth observation;

Medium Earth Orbit (MEO)

Geostationary Orbit (GEO) – high orbit used to facilitate communication;

Geostationary Transfer Orbit (GTO)

The main classification of orbits is: closed or periodic orbits, like circular and elliptic orbits, and open or escape orbits, like parabolic and hyperbolic orbits, but exist one exception like the radial orbits which can be open or closed.

The circular orbit is the orbit at a fixed distance around any point by an object rotating around a fixed axis. So, the distance from the Earth all times remains the same. This is a orbit that has an eccentricity of 0 and whose path traces a circle.

Elliptic orbit is an orbit that traces the path of an ellipse and has an eccentricity between 0 and 1, which include the case of circular orbit when the eccentricity is equal to zero, but and the case of radial elliptic orbit when the eccentricity is equal to 1. This type of orbit is a Kepler orbit with negative energy.

Figure 4. Satellite orbits

Who discovered the laws of motion of the planets on orbits was Johannes Kepler. The apogee, perigee outbreaks, minor axis of the orbit, the major axis, the orbital semi-major axis, tilt and eccentricity of the orbit are parameters witch designating the orbit form. The distance between the first focus and any point of the ellipse and the distance between the second focal and the same point of the ellipse have the same value.

Apsis is the farthest point from the center of its attraction point lying on the major axis of the orbit. Periapsis represents the closest the elliptical orbit of the body to which it orbits. The apogee and perigee terms refers to orbits around the Earth and respective apoaerion and apoareion terms refers to orbits around the Mars.

The minor axis of the orbit represents the length of the shortest dimension of an ellipse. The major axis of the orbit represents the length of the longest dimension of an ellipse.

Semi-major axis of the orbit is given by the distance between apogee and perigee half, representing the distance between the center of the ellipse and the point of perigee and apogee. The orbital semi-major axis is half the length of the diameter of an ellipse.

The inclination of the orbit provides information on the inclination angle of the orbit to the plane given by celestial object around which the movement takes rotation. The tilt is one of parameters describing the shape and orientation of a celestial orbit. Natural and artificial satellite orbit inclination is measured with respect to the equatorial plane of the body on which it orbits (the plane perpendicular to the axis of rotation of the central body).

A retrograde orbit, is an orbit whose movement is performed in the opposite direction of the body that orbits it has a slope strictly greater than 90 ° and strictly less than 180 °. An inclination of exactly 90 ° movement plays a polar orbit, and an inclination of exactly 180 ° is a retrograde equatorial orbit.

Eccentricity determine the shape of the orbit, specifically, how is flattened or circular path made by a satellite around a celestial body. Because each planet has a gravitational pull towards the other, and these accelerations produce non-elliptic orbits in a planetary system orbits are roughly elliptical. In addition, orbits are modeling through general relativity theory describes gravity, which also leads to approximately elliptical orbits.

In mathematics eccentricity is a parameter associated with each conic sections. In particular, the eccentricity of a circle is equal to 0, an ellipse is greater than 0 and less than 1, it is one of a parabola and a hyperbole is greater than 1.

Mars Orbit

Mars' orbit is the second most eccentric orbit of the solar system with eccentricity equal to 0.0934. Only Mercury's orbit surpasses that of Mars in terms of eccentricity. Because this fact is caused a large difference between the aphelion and perihelion distances, that mean at perihelion, Mars is 206 655 215 kilometers (1.6660 AU) from the sun, and at aphelion, is at 249 232 432 kilometers (1.3814 AU) away. This is a variation of only about 42.6 million kilometers. Mars' average distance from the sun, called semi-major axis is 228 million kilometers.

Figure 5. Mars Orbit

To complete orbit of Mars ii be 687 Earth days, making the average orbital speed 24 km/s. The orbit of a planet varies in relation to the gravitational influences of the surrounding bodies, therefore, the eccentricity can change over time. Now 1.35 million now, Mars had a nearly circular orbit.

Mars, like all the planets in the solar system is tilted along its axis. If Mars' axial tilt is approximately 25.19 degrees. This tilt is similar to Earth's, so Mars has seasons like our planet. Martian seasons are longer, since one year on Mars is almost twice longer than a year on Earth. Aphelion and perihelion changing distances between Mars means that the seasons are not balanced as on Earth. Mars is the point closest to the sun, when the southern hemisphere is tilted toward it. Therefore, the southern hemisphere gets warmer summers than the northern hemisphere.

Mars orbit allows it to approach Earth at different distances. This is easily observed when they are in the closest point. Opposition occurs when the geocentric longitude of Mars is 180 degrees different from the sun. Opposition may take place eight days before or after closest approach. Distance approach can vary from 54 to 103 million kilometers, depending on their positions in orbit.

The last opposition of Mars was on March 3, 2012 and took distance of 100 million kilometers. Average time between successive oppositions (synodical period) is 780 days. The time when Mars was found the most closest to Earth (in the last 60 000 years) on August 27, 2003 at a distance of 55,758,006 kilometers. Although this is a record distance is only slightly smaller than other similar approaches.

As we mentioned earlier, the German astronomer Johannes Kepler (1571-1630), witch formulated the three laws of planetary motion. A very important discovery was made, that the motion of Mars followed an elliptical path. His model with a circular orbit did not match the observations of Mars. The planet's pronounced eccentricity was essential point in discovering the non-circularity of its orbit, and consequently of orbits in general.

Table of orbital parameters:

Kepler’s laws

Johannes Kepler (1571 – 1630), considered the precursor of integral calculus, was a mathematician, astronomer and German naturalist who formulated and confirmed the laws of planetary motion, today known as Kepler's laws. The first two laws were published in “Astronomia nova” (New Astronomy), one of the most important works written on the subject, known as the first book of modern astronomy. In 1619, while he was in Linz, Austria, public the third law, in “Harmonice volume mundi libri V “(Five books about world harmony).

Kepler's laws in astronomy, describing the movements of the planets around the sun and behavior between any two bodies acting a force inversely proportional to the square of the distance.

Figure 6 . Gravitational field

In general relativity, Kepler problem, is to determine movement and the gravitational field of two bodies described of general relativity equations. Solving this problem is crucial for calculating the light curve by gravity and movement of planets around the Sun orbit. The solutions are used to estimate the gradual loss of energy due to gravitational radiation in the movements of the stars, one around the other.

One solution to the Kepler problem is the Schwarzschild solution – Schwarzschild metric, 1916 – which means that the mass M of the body is much greater than the mass (m) of each other. Then the mass M can be considered as stationary and the only contributor to the gravity field. If both masses of bodies contributing to the gravitational field, Kepler problem can be solved only approximately.

Schwarzschild metric is a solution to the Einstein's equations in empty space, meaning that they are valid only outside body gravitates. For a spherical body of radius R, the solution is valid when r> R. In order to describe both gravitational fields, both inside and outside the gravitated body, the solution is fit r = R.

First law of Kepler: "Each planet moves after an ellipse, with the main focus the sun". The mentioned focal point actually represent the barycenter of the Sun-planet system; to simplicity this explication we will assumes that the Sun's mass is infinitely larger than any planet's mass. If Earth's artificial, it is the primary focus and the second focus is called empty or secondary outbreak and depends on the eccentricity of the orbit.

Figure 7. Kepler's First Law

The second law of Kepler: "The straight line joining the planet and the sun, <<sweeps>> equal areas in equal time periods." It follows that, since the planet is closer to the Sun, the faster it moves. This means that, when the planet is near its perihelion moves faster than when is near its aphelion. This happens because for the smaller distance, to cover the same area, it needs to trace a greater arc. Earth radius vector in a second sweep an area of over 2 billion km2, in our case, a moon moves faster the closer it gets to Earth.

Figure 8 . Kepler's 2nd law

The third law of Kepler: "The square of the orbital period of the planet, u is proportional to the cube of semi-axis high orbit – α: U2 ∞ α3" and hence there is a fixed relationship between the large radius of the orbit and period revolution, one can calculate the other value if known.

Earth attraction, the attraction of the Sun, Moon attraction, friction, and solar radiation are the gravitational forces acting on a satellite, changing its trajectory. As we see the facts that change the trajectory of a satellite are many, but we will present only two of the gravitational forces that affect our satellite on Mars orbit propagation:

Earth attraction:

where: μ – geocentric gravitational constant (μ = GM);

y – radius or distance from home.

Sun attraction:

where:

– = the gravitational constant of the Sun;

– = the distance between Earth and the sun.

For Mars we have the fallowing values:

T = 1.88

Dist. a fr. Sun = 1.524

= 3.5344

= 3.5396

where:

– Period T is in years,

– a is in astronomical units;

If a satellite revolving around Mars balances the force of gravitational attraction:

where:

– K = 6.674 * 10-11 Nm2 / kg2 – the gravitational constant;

– M = 6,4185×1023 kg – Mars's mass;

– r = satellite position from the center of the Mars;

– m = mass of the satellite.

The force that keeps the body in a circular path in the gravitational field is:

A reference system linked to the body to move smoothly in a circular path is a non-inertial frame of reference. This mean that on a body of mass m acting inertial force – m * acf – where acf is centrifugal acceleration, equal but opposite mode with centripetal acceleration:

In its non-inertial system of the body, it is in balance, because on she acting the centripetal force, which is balanced by centrifugal force. Centripetal force is a physical, is the thread tension (stone that rotate) or gravity force (satellite around the Earth) or Coulomb force (the electron around the nucleus). The centrifugal force occurs only in non-inertial reference system.

Mobile acceleration can be defined as the ratio between speed variation and the time in which this change has occurred:

Knowing the acceleration of a body, by integrating it function of time, we get the speed of the body:

Then knowing the speed of a body, we can determine the law of motion – space law – by integrating the speed by time:

Uniform circular motion is characterized by:

Trajectory body is a circle – the body is always the same distance from the point O, center of the circle, usually chosen as the origin of the coordinate system;

Body through equal spaces in equal times (has a constant speed mode).

The potential energy of a body that measures the accumulated body work is done thanks to the change its position or its parts to each other under the action of external forces. The work of gravity at the Earth's surface is: G = m * g

Kepler's laws were the basis for formulating the laws of gravity by Isaac Newton and are very important for understanding the movement of celestial bodies, for example the Earth and other planets around the Sun or the Moon and artificial satellites around Earth.

The first law of mechanics or the law of inertia states that a material point is stationary or moves on a rectilinear trajectory constant speed if you do not act on other bodies outside. The law of inertia is actually a law of conservation impulse – the impulse of a body is the product of body mass and speed.

The Newton's second law states that a force F applied to a body of mass m, acceleration produced by the equation:

The third law of mechanics or equality law of mutual actions says that the force with witch one body A acts on a body B is equals in mode and opposite force that acts the body B on the body A.

The fourth laws of mechanics – “each of the forces applied on a body acts independently of existing other forces “ have an important consequence that we can study the movement of the body as upon himself acted a single force, resulting from the composition of all forces acting on it.

Starting from the second law and the desire to learn how to be the force that produce elliptical orbits described by Kepler, he discovered the law of universal gravitation, which states that the force of a mass M and another mass m is given the formula:

where:

– r is the distance between two bodies of mass m and M;

– G is the gravitational constant equal to 6.674 m2 * 10-11 N *m2 / kg2

Orekit

Orekit (Orbits Extrapolation KIT) is an open source library written in Java low-level offering spatial dynamics – core elements such as orbit, time, altitude, frames and various algorithms. And it provides information about time, geometry, satellites, maneuvers, spreading altitude orbit data, and features of the Earth.

Orekit has been used in numerous studies and operational systems worldwide. Developed since 2002 by CS Systѐmes d`Information is still used and developed by experts in spatial dynamics of the company. It is also successfully used for monitoring real-time Automated Transfer Vehicle by (ATV), the European Space Agency (ESA) and International Space Station (ISS). It is, however, used in both the fast studies and the critical operations.

Orekit depends on the Java Standard Edition 6 or more advanced version of Apache Commons Math and version 3.4.1 or worse.

The design and the coding in Orekit library includes tools for automated verification of robustness tests with a high level of coverage, coding style consistency, code legible, clear and well explained and the widespread use of invariable objectives for efficiency.

Figure 9 . Orekit – Java

The main features of the library Orekit:

Time:

the absolute dates have a high accuracy ,

time scales, like UTC/GMT – coordinated universal time, GPS, TCG – geocentric coordinate time, TDB, TCB, etc

the leap seconds is handling transparent

Geometry:

Cartesian and geodesic coordinates

transformations include kinematics combined;

predefined frames, like EME2000/J2000, ITRF2008 and intermediate frames, TOD, MOD, GTOD and TOD frames, tnw and qsw local orbital frames, Moon, Sun, planets, solar system barycenter, Earth-Moon barycenter, ecliptic)

frames hierarchical frameworks that support both time-dependent and fixed frames;

various forms and figures with spherical shape and dished defined;

transparent handling of the Earth orientation parameters;

Spacecraft state:

Cartesian parameters, Kepler ellipse parameters, circular and equinox parameters;

between all parameters had made a transparent conversion;

Jacobean connection between two coordinates;

attitude state and derivative

mass Management;

frames are automatic binding

Maneuvers:

for small maneuvers that do not require propagation are used analytical models

for any kind of propagation are used impulse maneuvers.

for numerical propagation are used continuous maneuvers

Propagation:

analytical propagation models, for example Kepler-Heschler Eckstein, SDP4 / SGP4;

numerical propagators:

the attraction of the Earth;

models that include gravitational constant time dependent such as trend and pulsation;

atmospheric attraction;

the attraction of a third body (Sun, Moon and planets of the Solar System);

pressure radiation during the eclipse;

multiple maneuvers;

semi-analytical propagation model (DSST);

unified interface analytical, numerical and tabular propagators easier to move from coarse analysis to fine simulation with a line change ;

all propagators can be used in different ways (slave mode, master mode, ephemeris generation mode);

during integration are handling discrete events ;

predefined events discrete: Eclipse, crossing up and down, abnormalities of latitude and longitude, crossing the apogee at perigee, aligning with a body in the orbital plane, latitude, longitude and altitude crossing , extreme points, crossing geographical areas complex;

the possibility of changing events in time;

possibility to filter events based on their direction;

possibility to filter events based on an external enabling function

Attitude

models of the evolution in altitude;

predefined laws: central body altitude, altitude orbit, space reference altitude, tabulated altitude .

Orbit file handling :

can be load SP3-a and SP3-c orbit file

can be load CCSDS Orbit Data Massages

Customizable data loading:

can be load from local disk, classpath, network

have support for zip archives, gzip compressed files

dispose of a plugin mechanism to delegate loading to user defined database or data access library

Localized in several languages, for example English, French, German, Italian, Romanian and Spanish.

General characteristics:

Open-source, high performance API and SDK for 3D virtual globe

Add a 3D view size to any application

Runs on Windows, Mac OS X, Linux, iOS and Android

Java running in web pages

Rich collection of high resolution images and land from NASA's servers

Open standard interfaces to GIS services and database

A large collection of geometric and geographic

Simple to extend and amend designed to be extensible

Figure 10. Orekit package

Orekit contains 11 main packages which can be grouped into three categories:

Low infrastructure components (errors, date);

Dynamic Components flight (times, utils, orbits, frames, Bodies, models);

Algorithms superior (propagation, attitude, forces).

World Wind

World Wind is an open source application developed by NASA in 2003 with an aim to use personal computers and later, in 2004, developed by the open source community. It was originally developed on the Microsoft .Net application framework, which only run on Windows, but subsequently moved to Java. Java SDK includes a set of basic demos available on goworldwind.org. World Wind Java version in 2009 won the best software of the year, from NASA. Last version of Java application World Wind was launched in April 2014.

Being written in Java is easy to use by developers who want to quickly and easily create interactive views of a 3D globe, map and geographic information. World Wind allows users to zooming from satellite height to any place on Earth, obtaining high resolution images provided by the Landsat.

Besides Earth, contains a lot of planets, like Moon, Mars, Venus, Jupiter and other images of stars and galaxies. Users can interact with these planets circling them, leaning them and also can zoom in and zoom out. It can display up to five million of places, political boundaries, lines of latitude / longitude and many more. Application resolution in the United States is so large that clearly distinguishable buildings, houses, cars, even the shadows of men, but in exchange for the rest of the world the maximum resolution is 15m / pixel.

Under the radar topography mission spatial, data set national level (NED) and thermal emission and reflection sensors, NASA collected data that uses digital elevation model (DEM) in World Wind; so the user can view topographic features such as the Grand Canyon or Mount Everest in 3D. In addition, World Wind uses data bathymetry – hidrometriei branch that deals with measuring the depth of water – allowing users to see ocean trenches and ridges in three dimensions.

A important benefit represent that all pictures and videos created with World Wind that are using Blue Marble, Landsat or USGS public domain data , have not restriction; so the users are free to modified, redistributed and used on web sites without paying, and even for commercial applications.

Like us, are many people that use the applications and adding their own data, after that they are making them available through various sources. That is possible using one of many add-ons-small extensions with what World Wind can be expanded with new functionality. Same possible type of add-ons are:

Point layers – XML files how display point of interest as icons

Trail layers – paths

Line features – XML file with a list of points seems as a line or wall

Polygon features – XML file what contain a list of points visualized as a filed python

Model features – loading 3D textured meshes using XML file

Place names – text labels assigned for specific points, like cities, hills and building

Image layers – high resolution imagery for different places in the world

Scripts – specific files that are used to control camera movement

The term of plugins represent small programs that are written in C#, VB or J# and are loaded and compiled by World Wind at startup. That means, can be add features to the application without changing the program’s source code.

Since World Wind using Java SDK, that has a programming interface architecture with features loaded by modular components witch allow the based programming interface. This makes the application itself a plugin so it can be used in other applications and allowing to the World Wind to be accessed as a Java applet from the browser. On 11 May 2007 during the annual JavaOne conference of Sun Microsystems was launched a preview of the Java SDK application.

Because the applications that are use World Wind are an SDK, then are not single applications, instead there are a large number of application with World Wind, each with different functionalities, which are created by government agencies and commercial developers from all around the world. These applications include simple globe viewers, photo editor, satellite tracker, mission planning software,GIS platforms,F-16 simulator and many more.

Institute of Geoinformatics of the University of Mȕnster, Germany, has developed a user guide of NASA World Wind SDK.

Low-resolution files of Blue Marble are included in the initial download; while a user zooms in certain areas, additional files to download high-resolution from NASA servers. The size of all files is approximately 4.6 Tb (terabytes).

For our model, Mars, exist the follow extraterrestrial datasets:

MOC (Mars Global Surveyor – Mars Orbiter Camera)

MOLA (MGS – Mars Orbiter Laser Altimeter hypsometric map)

THEMIS (Mars Odyssey – Thermal Emission Imaging System)

MDIM (Viking – Mars Digital Image Model)

So, World Wind have a lot of utilities because allows any user, is ease of usability of people of all ages, to zoom from satellite altitude into any place on the planet of Solar System, leveraging high resolution LandSat imagery and SRTM (Shuttle Radar Topography Mission) elevation data to experience the globe in visually rich 3D, and give the sensation that they are really there.

To control the applications that are using World Wind all we needs is a two button mouse. If the user has need help, he can find additional guides and features accessed the simplified menu of the application. The navigation is done automatically with single clicks of a mouse, and have the ability to type in any location and automatically zoom into it.

World Wind was designed to run on recent PC hardware with 3D acceleration.

Application architecture

Languages

This application is developed using Eclipse Mars tool for Java language, which is object oriented language. Eclipse IDE, Integrated Development Environment, is used in computer programming for developing Java applications being the most widely used Java IDE. For customizing the environment, it include a base workspace and an extensible plug-in system.

Eclipse Software Development Kit (SDK) is meant for Java developers including the Java development tools. Its abilities can be extended by the users using the installed plug-ins written for Eclipse Platform, like development toolkits for other programming languages, or the users can write their own plug-in modules and contribute with them.

From June 24, 2015 is available the Mars version of Eclipse, with content from seventy-nine Eclipse project, with improved Maven support for Maven 3.3.3, updated archetypes integration and enhanced auto-completion in the pom editor. It is the second last version of Eclipse, more exactly platform version 4.5.

Java is a programming language and computing platform that was offered in 1995 by Sun Microsystems, expressly designed for use in the distributed environment of the Internet. It was created to “look and feel” like C++ language, but it is simpler to use then this and enforces an object-oriented programming model. With Java can create a small application module or applet for use as part of a web page and complete applications that may run on single computer or can be distributed between servers and clients in a network.

Application development

The process of defining a structured solution for all the technical and operational requirements, with a optimized common quality attributes like performance, security and manageability represent a software application architecture. For this process we have to make a series of decisions based on a range of factors, like application language, application design, necessarily data, theoretical knowledge. Each of this decisions can have considerable impact on the results, more explicitly on the quality, performance, maintainability and can overall success of the application.

For this reason, the software, like any other complex structure, must be have a solid foundation. If we don’t pay attention on the key scenarios, failing to design for common problems or to appreciate the long term consequences of key decisions we can put our application at risk. With help from the modern tools and platforms we can simplify the task of building applications, but they do not help us to design our application carefully, based on our scenarios and requirements.

An poor architecture have risks like, the software is unstable, he can not support existing or future requirements, or the application is difficult to deploy or manage in a production environment. Because of that, the system should be designed with consideration for the user, for the system and for the business goals, is important to keep in mind the following key trend:

User empowerment – the design supports user empowerment is flexible, configurable, and focused on the user experience. The application is designed with appropriate levels of user personalization and options in mind, allow the user to define how they interact with the r application and not overload them with unnecessary options and settings that can lead to confusion. The key scenarios is made as simple as possible; which make it easy to find information and use the application.

Market maturity – by taking advantage of existing platform and technology options. We build on higher level application frameworks and we focus on what is uniquely valuable in our application rather than recreating something that already exists and we created something can be reused using patterns that provide rich sources of proven solutions for common problems.

Flexible design – allow reuse and to improve maintainability. We use a flexible design to present the application, for example pluggable designs, how allow us to provide post-deployment extencibility.

Future trends. When we building our application architecture, we understand the future trends that might affect our design after deployment. We take in consideration future changes, this application is running on any type of operated system, she need fewer resources.

In the development process “Desktop Application for Mars Orbital Propagation”, how we can see from earlier description of this application, she can be structured in two main sections: propagation and graphic interfaces. These communicate between them, more exactly the graphic interface is made using data which is calculated in the first part, in propagation.

The most easier way to see the connection between this two modules is represented below using a Unified Modeling Language (UML) class diagram, how describe the object and information structures used by the application. It describe both internally and in communication with the user, but without reference to any particular implementation.

Propagation

In this section is mathematical calculations of the points were the satellite will be on the Martial orbit. Using the Orekit library we can say that is “Orekit part” that generate our set of points, without one graphical effect, which are used for the graphic section of this application. This module is compose of 3 classes represented by a java file, its represents the configuration, constant data how need for future calculated, propagation data, which are implemented function for orbit propagation and propagation engine, where is created and generate the propagation.

Configuration.java

In this file are declared and initialized the variables corresponding to needed initial data to create an object of type “orbit”, as well as the corresponding set and get method for them. For example the function setMass(double mass) which initialize the variable mass, corresponding to the mass of the satellite, with the value given as parameter. And later this value can be access calling the getMass() function which return the values that was set.

PropagationData.java

Here are find the necessary data as well as initial orbit that will be used in the next file, PropagationEngine.java

As ca be seen in the declaration of the class constructor, this will be called with two parameters, the first represents the start orbit, how say and the name of the variable, and the second represents the duration of the propagation. Because this constructor sets the variable with the values given as parameters, will be used the get method to access this value from others class.

PropagationEngine.java

In this file are created the satellite propagation using the numerical propagator method from the Orekit library and object the type “orbit” create in configuration class, as well as one handler for orbit manipulation.

Numerical propagators are the most important part of a project Orekit. Based on Apache Commons Math integrators, NumericalPropagator class conduct the interface between spatial mechanical and mathematics. Also Orekit provides the ability to convert data received so as to facilitate the calculations needed for the various functions.

PropagationEngine.java class is compose from two main functions:

buildPropagator – build numerical propagator and add the forces acting on it.

For propagation we give the program same data about the planet, orbit and satellite. As can be seen we “create mars” as a CelestialBody which will provide the gravitational parameter of Mars; we make the mars representation, as a OneAxisEllipsoid that will take the parameters: ae – equatorial radius, f – the flattening and bodyFrame – given by the variable just created, used for access the associate frame of Mars. Then is build the numerical propagator and are set the data for the forces acting on the satellite, influence of the third body, Sun and Earth, as well as the satellite influence. In the end of this function is set the propagator with fixed steps given as parameter together with the handler, which transmit the data, the satellite state, at each step.

runPropagation – starts the actual propagation which is made using threads.

Graphical interface

This section represents the visual result of the application, that is made possible using World Wind library, which is developed for users who want to create an interactive views of a 3D globe, been used mode for Earth then other planets, but with support for Mars, Moon, Venus, Jupiter. In the future classes will be create the application window, the communication with users and the visual representation of the propagation.

On this point, we have the propagation as a set of values for latitude, longitude and altitude

For a graphic visualization of them we will be using the World Wind for Mars glob and for the satellite, which will be represented by a sphere. The communication with the user will be made by dialog panel, where they can change the satellite data, like the mass, the surface and the orbital parameters, like: a – semi-major axis of the orbit, i – the orbit inclination, e – orbit eccentricity, pa – Perigee argument angle, pa – Perigee argument angle and the anomaly.

SatelliteDisplayThread.java

In this file are made visible the satellite route and is run the rotation using the World Wind library. The important actions are describe in two functions:

SatelliteDisplayThread(orbits, wwd, marsElipsoid, compensationRad) – the constructor of the class, where are initialized the variable of the class with the value received as parameters and is add the sphere witch represents the satellite. After transform a cartesian point to a surface-relative point using data from orbit, it describes how graphics are positioned in the application interface.

run() – this function deal with the graphical representation of the satellite at each position given by propagation. For that is set the design of the sphere, that represent our satellite, set the position, set the location, given by latitude and longitude, set the altitude and set the view.

InterfaceMarsPropagation.java

This file represent the main file of this application, because here are made the actuality interface and here is the main function from where is generate all the action. The application is create in the initialize() function where are declared, initialized and add all the components of this window and the menu action.

After all the panes and labels are add to the frame is set and the components which can be visible from the World Wind library, as well as the action when the button “Run Application“ is press.

When the propagation is running, so the button was press, the values given from the user are load in the application, using the get method for each parameter. Then is declared the mu variable, which represents and receive the value of the coefficient of gravitational and is represented the mars planet for generate the corresponding frame.

Then using the values from the user, is created an keplerian orbit , whose orbit satellite route will follow, and are set the data that acting on the satellite, forces that influence the propagation, like influence of the third body – Sun and Earth. After the handler is create and configured is made the propagation data where is set and the duration and in final the propagation is run for the current thread of execution.

The configuration of the library that are used in our application is made in this file, in the function getResourceFile(final String name) which give access to all the jar file we need for the application, for example the worldwind jar where are defined the xml for the layers that are used and the image for the planet.

The launch of the application is made in the main function, as can we see, here is configure and the Orekit library using the getResourceFile function and the director where are the orekit data, in our case data/orekit-data. After this configuration, we are ready to create our window, because new we have all the things we need.

Application structure

The application “Desktop Application for Mars Orbital Propagation” is structured in the modular way in two packages, as can be see in the fallowing image:

Guidline

In this chapter we are going to explain how the user can use the graphic interface of the present application. We will divide this user guide in several sections to help the user to understand the needed steps for a proper usage of the application. In fact the main approach taken into account for the implementation of this project was to have a very simple interface and easy to use, been able to used by any types of users having different knowledge levels in the Computer Science domain but more special whether they don’t have any knowledge in this domain.

Considering the difficulty of the implementation of the project, it is mandatory that the part which allows the user to interact with the application to be more intuitive, more attractive and easy to use and to spark interest in enjoying of this graphical interface.

The simplicity of the project is given by the presence of specifically button and “dialog boxes” for every kind of action that the user is able to do. Every label has a relevant and unique name that offers the user a short explanation about the value that should be. For users which do not want to set any values, the application have set the default value for every label.

Again the graphical interface aims to offer the user a permanently view over the general approach of the functionality of the application but this time the approach is looked from the highest point of view in order to allow the user to see just the outside part of the application. In this way the graphical interface must offer the user enough permissions in order to use this application for several types of situation.

Further a short introduction will be presented in the graphical interface utilization guide. The introduction part of this guide will contain relevant information about the operation system over which the application can run. Then of course it will be presented every step of the application running.

User Guide

Launching the application – after the application is launched a window with the title “Desktop Application for Mars Orbital Propagation” will appear. In the right side we can see the 3D representation of Mars planet in the universe. In the left side of this window can be find the communication with the user, group in two sections:

Orbital parameters:

a – semi-major axis of the orbit, given in km and represent the distance from orbit center to its extremities (apogee and perigee);

i – the orbit inclination is measured in degrees and determines the angle of inclination of the plane of the celestial object (in our case the Mars) around which the movement takes rotation;

e – orbit eccentricity that takes values between 0 and 1, help determine the shape of the orbit;

pa – Perigee argument angle is given by the difference between two orbits, measured in degrees;

raan – ascension node is a coordinated astronomical which represents an angle measured relative to the equatorial plane and the vernal equinox;

anomaly – is at an angle which take values from 0 to 360 degrees during movement of revolution.

Satellite specification:

mass – the satellite mass;

surface – parameter that determines the reach of gravitational forces, the area where the satellite will be divided;

Date and time – the date and time when will begin the propagation;

Run the application – after the user press the button “Run Application” the propagation are started so will appear the satellite, that is represented by a sphere of the color gray, and starts the simulate of movement of a satellite that is on Martial orbit.

Handling the application – the user can rotate the planet and fallow the satellite by clicking the left button of the mouse, keeping press and move the mouse to left or right depending on direction he want to go. Another action that can be made is that the application, with help from World Wind library, allow to the users to zooming from satellite height to any place on the Mars, by using the scroll button from mouse.

Conclusions

In this paper , we have presented the “Desktop Application for Mars Orbital Propagation”, an special software which simulate the motion of one satellite on Mars orbiting, using corresponding technologies open source like Orekit and World Wind. The purpose of this project is to make an analyze and a verification of possibility to expend the use of Orekit library for the future missions around other planets.

The implementation of this application was made using the numerical propagator from Orekit library as well as the 3D graphics representations from World Wind. To develop this type of project we used the Eclipse Mars SDK tool for Java language. In the process time, we had the chance to learn more about satellite, orbits and planets, but thanks to this application we had observe the forces that influence the propagation and the way they to that.

The “Desktop Application for Mars Orbital Propagation” can be considerate a study for a future mission because is implements a graphical visualization of the simulation motion of an satellite on Mars orbiting. In the future this application can be improved by adding the gravitational model for Mars as well as the atmospheric model for Mars, this forces have been neglected because their influence is lower than Earth.

Bibliography

– “Elemente de Mecanică Cerească”, by Constantin Drâmbă, Ed. Tehnică

– “Fundamentals of Astrodynamics and Applications”, D.A. Vallado, Wayne D. McClain, Ed.

Space Technology Library

– “Satellites Orbits and Missions”, by Michel Capderou, Ed. Springer

– “Universul”, by Vasile Ureche, Ed. Dacia

– “Software Architecture in Practice”, Second Edition, by Len Bass, Paul Clements, Rick Kazman

Web references

Similar Posts