6
$\begingroup$

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.

$\endgroup$
7
  • $\begingroup$ What is it, you're trying to achieve? Is this about actual rocketry or simulations? I feel like this post lacks some clarity... $\endgroup$ – finnmglas Sep 14 '20 at 18:37
  • 1
    $\begingroup$ @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! $\endgroup$ – uhoh Sep 15 '20 at 0:24
  • $\begingroup$ @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? ](space.stackexchange.com/q/28228/12102) I think it may address low thrust optimization, but I'm not sure. $\endgroup$ – uhoh Sep 15 '20 at 0:31
  • 1
    $\begingroup$ @uhoh Unfortunately, poliastro doesn't have low-thrust optimization, but I've used it's Lambert solver for impulsive solution. $\endgroup$ – Leeloo Sep 15 '20 at 7:49
  • 2
    $\begingroup$ @finnmglas No, I don't have a real satellite on a orbit ))) I'm working on a mathematical problem. $\endgroup$ – Leeloo Sep 15 '20 at 7:50
6
$\begingroup$

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

$\endgroup$
3
  • 1
    $\begingroup$ thanks for the great edits @JCRM! much needed $\endgroup$ – astrojuanlu Sep 17 '20 at 9:02
  • $\begingroup$ I've added a bounty for this question, probably, you'll be interested. $\endgroup$ – Leeloo Oct 15 '20 at 8:05
  • $\begingroup$ poliastro only has functions for planar changes of argp, ecc, and sma, but not the three of them combined. and unfortunately I have never used pykep or molto-it myself. sorry I can't help $\endgroup$ – astrojuanlu Oct 21 '20 at 15:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.