6

I'm performing a transfer between Near-Earth orbits considering J2 perturbation with the low-thrust engine. Orbital parameters:

1st orbit:

  • Apogee altitude - 300 km
  • Perigee altitude - 200 km
  • Inclination - 63 deg
  • Argument of perigee - 300 deg
  • RAAN is free

2nd orbit:

  • Apogee altitude - 8000 km
  • Perigee altitude - 600 km
  • Inclination - 63 deg
  • Argument of perigee - 270 deg
  • RAAN is free

Considering 2 scenarios of optimization: minimum transfer time and minimum propellant usage.

Spacecraft parameters:

  • Fuel mass: 500 kg
  • Dry mass: 1000 kg
  • Engine: constant thrust (0.3 N) and Isp (1000 s).

Which open source tools may be implemented to calculate the mentioned scenarios? Expected outputs are transfer duration and revolutions number, total dV, propellant consumption, and different graphs, representing the transfer.

I've implemented MIPELEC by CNES, however, it performs only minimum-time scenario and doesn't take into account perturbations. Also, I've checked pykep and MOLTO-IT, but couldn't implement them for this problem.

Leeloo
  • 833
  • 11
  • 29
  • What is it, you're trying to achieve? Is this about actual rocketry or simulations? I feel like this post lacks some clarity... – publicdomain Sep 14 '20 at 18:37
  • 1
    @finnmglas the question seeks software in order to achieve "...a transfer between 2 coplanar Earth orbits considering J2, Moon and Sun perturbations with the low-thrust engine" using "open source software, which would find the optimal solution for this case" A reasonable bit of software would allow for an optimization criteria to be specified at run time with limits on delta-v and total time and allow for constraints on maximum thrust, Isp and $\Delta m$. The question is absolutely clear about this! – uhoh Sep 15 '20 at 00:24
  • @Leeloo have a look at poliastro, referenced in How does the poliastro python package “Going to Mars with Python” example work? What's it really doing? I think it may address low thrust optimization, but I'm not sure. – uhoh Sep 15 '20 at 00:31
  • @uhoh "I'm performing a transfer" to me sounded like he actually had some satellite in orbit (or was going to put it there) and seeking for software to steer it, to "perform a transfer between 2 coplanar orbits". That's why the question confused me a little – publicdomain Sep 15 '20 at 05:12
  • @finnmglas I see. It looks like there are already two votes to close the question. I'm worried because the primary, immediate effect of a question getting closed is that it blocks answers from being posted. If someone had a satellite in orbit and for some reason turned to Stack Exchange for an orbital solution, it sounds like quite an emergency! In that case blocking answers from being posted might be counterproductive. In this case the OP has posted quite a number of interesting questions about orbital solution-finding. – uhoh Sep 15 '20 at 06:00
  • 1
    @uhoh Unfortunately, poliastro doesn't have low-thrust optimization, but I've used it's Lambert solver for impulsive solution. – Leeloo Sep 15 '20 at 07:49
  • 2
    @finnmglas No, I don't have a real satellite on a orbit ))) I'm working on a mathematical problem. – Leeloo Sep 15 '20 at 07:50

1 Answers1

6

Take a look at these two:

At the library core is the implementation of an efficient solver for the multiple revolutions Lambert’s problem, objects representing direct (Sims-Flanagan), indirect (Pontryagin) and hybrid methods to represent low-thrust optimization problems, efficient keplerian propagators, Taylor-integrators, a SGP4 propagator, TLE and SATCAT support, JPL SPICE code interface and more.

MOLTO-IT (Multi-Objective Low-Thrust Optimizer for Interplanetary Trajectories) is a fully automated Matlab tool for the preliminary design of low-thrust, multi-gravity assist trajectories The software combines an outer loop that provides multi-objective optimization via a genetic algorithm (NSGA-II) with an inner loop that supplies gradient-based optimization (fmincon) of a shape-based low-thrust trajectory parameterization. It includes simplifications such as coplanar bodies and no enforced propulsion constraints along with the shape-based parameterization of the low-thrust arc.

poliastro has been mentioned in the comments but it only provides predefined low thrust guidance laws: https://docs.poliastro.space/en/latest/autoapi/poliastro/twobody/thrust/index.html

astrojuanlu
  • 1,052
  • 7
  • 19