poliastro.maneuver

Orbital maneuvers.

Module Contents

Classes

Maneuver

Class to represent a Maneuver.

class poliastro.maneuver.Maneuver(*args)

Class to represent a Maneuver.

Each Maneuver consists on a list of impulses \(\Delta v_i\) (changes in velocity) each one applied at a certain instant \(t_i\). You can access them directly indexing the Maneuver object itself.

>>> man = Maneuver((0 * u.s, [1, 0, 0] * u.km / u.s),
... (10 * u.s, [1, 0, 0] * u.km / u.s))
>>> man[0]
(<Quantity 0. s>, <Quantity [1., 0., 0.] km / s>)
>>> man.impulses[1]
(<Quantity 10. s>, <Quantity [1., 0., 0.] km / s>)
__repr__(self)

Return repr(self).

__getitem__(self, key)
classmethod impulse(cls, dv)

Single impulse at current time.

Parameters

dv (numpy.ndarray) – Velocity components of the impulse.

classmethod hohmann(cls, orbit_i, r_f)

Compute a Hohmann transfer between two circular orbits.

Parameters
  • orbit_i (poliastro.twobody.orbit.Orbit) – Initial orbit

  • r_f (astropy.unit.Quantity) – Final orbital radius

classmethod bielliptic(cls, orbit_i, r_b, r_f)

Compute a bielliptic transfer between two circular orbits.

Parameters
  • orbit_i (poliastro.twobody.orbit.Orbit) – Initial orbit

  • r_b (astropy.unit.Quantity) – Altitude of the intermediate orbit

  • r_f (astropy.unit.Quantity) – Final orbital radius

classmethod lambert(cls, orbit_i, orbit_f, method=lambert_izzo, **kwargs)

Computes Lambert maneuver between two different points.

Parameters
  • orbit_i (Orbit) – Initial orbit

  • orbit_f (Orbit) – Final orbit

  • method (function) – Method for solving Lambert’s problem

  • **kwargs – Extra kwargs for Lambert method.

get_total_time(self)

Returns total time of the maneuver.

get_total_cost(self)

Returns total cost of the maneuver.

classmethod correct_pericenter(cls, orbit, max_delta_r)

Returns a Maneuver with the time before burning and the velocity vector in direction of the burn.

Parameters
  • orbit (Orbit) – Position and velocity of a body with respect to an attractor at a given time (epoch).

  • max_delta_r (Quantity) – Maximum satellite’s geocentric distance

Returns

maneuver – Maneuver with the maximum time before we do an orbit-adjustment burn to restore the perigee to its nominal value and the velocity vector of the spacecraft to achieve the desired correction.

Return type

Maneuver

Raises

NotImplementedError

  • If the correction maneuver is not implemented for the attractor.

  • if the eccentricity is greater than 0.001.