Solving the Earth orbit Lambert problem with the HP Prime

09292022, 05:47 PM
Post: #1




Solving the Earth orbit Lambert problem with the HP Prime
Lambert’s problem is concerned with the determination of an orbit that passes between two positions within a specified timeofflight. This classic astrodynamics problem is also known as the orbital twopoint boundary value problem (TPBVP) or the flyby and rendezvous problems.
The algorithm implemented in this program is based on the method described in “A Practical Note on the Use of Lambert’s Equation” by Geza Gedeon, AIAA Journal, Volume 3, Number 1, 1965, pages 149150. This iterative solution is valid for elliptic, parabolic and hyperbolic transfer orbits which may be either posigrade or retrograde, and involve one or more revolutions about the central body. Additional information can also be found in G. S. Gedeon, “Lambertian Mechanics”, Proceedings of the 12th International Astronautical Congress, Vol. I, 172190. This HP Prime program solves the Earth orbit Lambert problem. The user provides classical orbital elements for an initial and final orbit, and the time required to transfer from the initial to final orbits. The following source code illustrates a typical example. /////////////////////////// // initial orbital elements /////////////////////////// // semimajor axis (kilometers) oev1(1) := 8000.0; // orbital eccentricity (nondimensional) oev1(2) := 0.0; // orbital inclination (degrees) oev1(3) := 28.5 * dtr; // argument of perigee (degrees) oev1(4) := 0.0 * dtr; // right ascension of the ascending node (degrees) oev1(5) := 100.0 * dtr; // true anomaly (degrees) oev1(6) := 0.0 * dtr; ///////////////////////// // final orbital elements ///////////////////////// // semimajor axis (kilometers) oev2(1) := 8000.0; // orbital eccentricity (nondimensional) oev2(2) := 0.0; // orbital inclination (degrees) oev2(3) := 28.5 * dtr; // argument of perigee (degrees) oev2(4) := 0.0 * dtr; // right ascension of the ascending node (degrees) oev2(5) := 100.0 * dtr; // true anomaly (degrees) oev2(6) := 170.0 * dtr; // transfer time in minutes ttmins := 56.0; // orbital direction (1 = posigrade, 2 = retrograde) direct := 2; if (direct = 2) then direct := 1; end; // maximum number of transfer orbits around the Earth revmax := 0; // timeofflight in seconds tof := 60.0 * ttmins; 

« Next Oldest  Next Newest »

User(s) browsing this thread: 1 Guest(s)