ostk.astrodynamics.flight.Profile

class Profile(
self: ostk.astrodynamics.flight.Profile,
model: ostk::astrodynamics::flight::profile::Model,
)

Bases: pybind11_object

Spacecraft Flight Profile.

Constructor.

Parameters:

model (Model) -- The profile model.

Methods

access_model

Access the profile model.

align_and_constrain

Generate a function that provides a quaternion that aligns to the alignment_target and constrains to the clocking_target for a given state.

custom_pointing

Overloaded function.

get_axes_at

Get the axes of the profile at a given instant.

get_body_frame

Get the body frame of the profile.

get_state_at

Get the state of the profile at a given instant.

get_states_at

Get the states of the profile at given instants.

inertial_pointing

Create an inertial pointing profile.

is_defined

Check if the profile is defined.

local_orbital_frame_pointing

Create a profile aligned with the provided local orbital frame type.

undefined

Create an undefined profile.

class Axis(self: ostk.astrodynamics.flight.Profile.Axis, value: int)

Bases: pybind11_object

The axis of the profile.

Members:

X : X axis

Y : Y axis

Z : Z axis

property name
class CustomTarget(
self: ostk.astrodynamics.flight.Profile.CustomTarget,
orientation_generator: Callable[[ostk.astrodynamics.trajectory.State], numpy.ndarray[numpy.float64[3, 1]]],
axis: ostk.astrodynamics.flight.Profile.Axis,
anti_direction: bool = False,
)

Bases: Target

The custom target.

Constructor.

Parameters:
  • orientation_generator (Callable[np.ndarray, State]]) -- The orientation generator, accepts a state and returns a size 3 array of directions.

  • axis (Profile.Axis) -- The axis.

  • anti_direction (bool) -- True if the direction is flipped, False otherwise. Defaults to False.

property anti_direction

True if the direction is flipped, False otherwise.

property axis

The axis of the target.

property orientation_generator

The orientation generator of the target.

property type

The type of the target.

class OrientationProfileTarget(
self: ostk.astrodynamics.flight.Profile.OrientationProfileTarget,
orientation_profile: list[tuple[ostk.physics.time.Instant, numpy.ndarray[numpy.float64[3, 1]]]],
axis: ostk.astrodynamics.flight.Profile.Axis,
anti_direction: bool = False,
)

Bases: Target

The alignment profile target.

Constructor.

Parameters:
  • orientation_profile (list[Tuple[Instant, Vector3d]]) -- The orientation profile.

  • axis (Profile.Axis) -- The axis.

  • anti_direction (bool) -- True if the direction is flipped, False otherwise. Defaults to False.

property anti_direction

True if the direction is flipped, False otherwise.

property axis

The axis of the target.

property orientation_profile

The orientation profile of the target.

property type

The type of the target.

class Target(
self: ostk.astrodynamics.flight.Profile.Target,
type: ostk.astrodynamics.flight.Profile.TargetType,
axis: ostk.astrodynamics.flight.Profile.Axis,
anti_direction: bool = False,
)

Bases: pybind11_object

The target of the profile.

Constructor.

Parameters:
  • type (Profile.TargetType) -- The target type.

  • axis (Profile.Axis) -- The axis.

  • anti_direction (bool) -- True if the direction is flipped, False otherwise. Defaults to False.

property anti_direction

True if the direction is flipped, False otherwise.

property axis

The axis of the target.

property type

The type of the target.

class TargetType(self: ostk.astrodynamics.flight.Profile.TargetType, value: int)

Bases: pybind11_object

The target type of the profile.

Members:

GeocentricNadir : Geocentric nadir

GeodeticNadir : Geodetic nadir

Trajectory : Deprecated - Use TargetPosition instead.

TargetPosition : Target position

TargetVelocity : Target velocity

TargetSlidingGroundVelocity : Target sliding ground velocity

Sun : Sun

Moon : Moon

VelocityECI : Velocity in ECI

VelocityECEF : Velocity in ECEF

OrbitalMomentum : Orbital momentum

OrientationProfile : Orientation profile

property name
class TrajectoryTarget(
self: ostk.astrodynamics.flight.Profile.TrajectoryTarget,
trajectory: ostk.astrodynamics.Trajectory,
axis: ostk.astrodynamics.flight.Profile.Axis,
anti_direction: bool = False,
)

Bases: Target

The trajectory target.

Constructor.

Parameters:
  • trajectory (Trajectory) -- The trajectory, required only if the target type is Trajectory.

  • axis (Profile.Axis) -- The axis.

  • anti_direction (bool) -- True if the direction is flipped, False otherwise. Defaults to False.

property anti_direction

True if the direction is flipped, False otherwise.

property axis

The axis of the target.

static target_position(
trajectory: ostk.astrodynamics.Trajectory,
axis: ostk.astrodynamics.flight.Profile.Axis,
anti_direction: bool = False,
) ostk.astrodynamics.flight.Profile.TrajectoryTarget

Create a target, which produces a vector pointing from the observer to the target position.

static target_sliding_ground_velocity(
trajectory: ostk.astrodynamics.Trajectory,
axis: ostk.astrodynamics.flight.Profile.Axis,
anti_direction: bool = False,
) ostk.astrodynamics.flight.Profile.TrajectoryTarget

Create a target, which produces a vector pointing along the ground velocity vector (aka the scan direction of the point sliding across the ground). This will compensate for the rotation of the referenced celestial body.

static target_velocity(
trajectory: ostk.astrodynamics.Trajectory,
axis: ostk.astrodynamics.flight.Profile.Axis,
anti_direction: bool = False,
) ostk.astrodynamics.flight.Profile.TrajectoryTarget

Create a target, which produces a vector pointing along the scan direction.

property trajectory

The trajectory of the target. Used to compute the target position or velocity.

property type

The type of the target.

access_model(
self: ostk.astrodynamics.flight.Profile,
) ostk::astrodynamics::flight::profile::Model

Access the profile model.

Returns:

The profile model.

Return type:

Model

static align_and_constrain(
alignment_target: ostk.astrodynamics.flight.Profile.Target,
clocking_target: ostk.astrodynamics.flight.Profile.Target,
angular_offset: ostk.physics.unit.Angle = Angle.Zero(),
) Callable[[ostk.astrodynamics.trajectory.State], ostk.mathematics.geometry.d3.transformation.rotation.Quaternion]

Generate a function that provides a quaternion that aligns to the alignment_target and constrains to the clocking_target for a given state.

Parameters:
Returns:

The custom orientation.

Return type:

callable[Quaternion, State]

static custom_pointing(*args, **kwargs)

Overloaded function.

  1. custom_pointing(orbit: ostk.astrodynamics.trajectory.Orbit, orientation_generator: Callable[[ostk.astrodynamics.trajectory.State], ostk.mathematics.geometry.d3.transformation.rotation.Quaternion]) -> ostk.astrodynamics.flight.Profile

    Create a custom pointing profile.

    Args:

    orbit (Orbit): The orbit. orientation_generator (callable[Quaternion, State]): The orientation generator. Typically used in conjunction with align_and_constrain.

    Returns:

    Profile: The custom pointing profile.

  2. custom_pointing(orbit: ostk.astrodynamics.trajectory.Orbit, alignment_target: ostk.astrodynamics.flight.Profile.Target, clocking_target: ostk.astrodynamics.flight.Profile.Target, angular_offset: ostk.physics.unit.Angle = Angle.Zero()) -> ostk.astrodynamics.flight.Profile

    Create a custom pointing profile.

    Args:

    orbit (Orbit): The orbit. alignment_target (Profile.Target): The alignment target. clocking_target (Profile.Target): The clocking target. angular_offset (Angle): The angular offset. Defaults to Angle.Zero().

    Returns:

    Profile: The custom pointing profile.

get_axes_at(
self: ostk.astrodynamics.flight.Profile,
instant: ostk.physics.time.Instant,
) ostk.physics.coordinate.Axes

Get the axes of the profile at a given instant.

Parameters:

instant (Instant) -- The instant.

Returns:

The axes of the profile at the given instant.

Return type:

Frame

get_body_frame(
self: ostk.astrodynamics.flight.Profile,
frame_name: ostk.core.type.String,
) ostk.physics.coordinate.Frame

Get the body frame of the profile.

Parameters:

frame_name (str) -- The name of the frame.

Returns:

The body frame of the profile.

Return type:

Frame

get_state_at(
self: ostk.astrodynamics.flight.Profile,
instant: ostk.physics.time.Instant,
) ostk.astrodynamics.trajectory.State

Get the state of the profile at a given instant.

Parameters:

instant (Instant) -- The instant.

Returns:

The state of the profile at the given instant.

Return type:

State

get_states_at(
self: ostk.astrodynamics.flight.Profile,
instants: list[ostk.physics.time.Instant],
) list[ostk.astrodynamics.trajectory.State]

Get the states of the profile at given instants.

Parameters:

instants (list) -- The instants.

Returns:

The states of the profile at the given instants.

Return type:

list

static inertial_pointing(
trajectory: ostk.astrodynamics.Trajectory,
quaternion: ostk.mathematics.geometry.d3.transformation.rotation.Quaternion,
) ostk.astrodynamics.flight.Profile

Create an inertial pointing profile.

Parameters:
  • trajectory (Trajectory) -- The trajectory.

  • quaternion (Quaternion) -- The quaternion.

Returns:

The inertial pointing profile.

Return type:

Profile

is_defined(self: ostk.astrodynamics.flight.Profile) bool

Check if the profile is defined.

Returns:

True if the profile is defined, False otherwise.

Return type:

bool

static local_orbital_frame_pointing(
orbit: ostk.astrodynamics.trajectory.Orbit,
orbital_frame_type: ostk.astrodynamics.trajectory.Orbit.FrameType,
) ostk.astrodynamics.flight.Profile

Create a profile aligned with the provided local orbital frame type.

Parameters:
  • orbit (Orbit) -- The orbit.

  • orbital_frame_type (OrbitalFrameType) -- The type of the orbital frame.

Returns:

The profile aligned with the local orbital frame.

Return type:

Profile

static undefined() ostk.astrodynamics.flight.Profile

Create an undefined profile.

Returns:

The undefined profile.

Return type:

Profile