ostk.astrodynamics.flight.Profile¶
- class Profile(
- self: ostk.astrodynamics.flight.Profile,
- model: ostk::astrodynamics::flight::profile::Model,
Bases:
pybind11_objectSpacecraft Flight Profile.
Constructor.
- Parameters:
model (Model) -- The profile model.
Methods
Access the profile model.
Generate a function that provides a quaternion that aligns to the alignment_target and constrains to the clocking_target for a given state.
Construct the body frame of the profile.
Overloaded function.
Get the axes of the profile at a given instant.
Get the state of the profile at a given instant.
Get the states of the profile at given instants.
Create an inertial pointing profile.
Check if the profile is defined.
Create a profile aligned with the provided local orbital frame type.
Create an undefined profile.
- class Axis(self: ostk.astrodynamics.flight.Profile.Axis, value: int)¶
Bases:
pybind11_objectThe axis of the profile.
Members:
X : X axis
Y : Y axis
Z : Z axis
- property name¶
- class CustomTarget(*args, **kwargs)¶
Bases:
TargetThe custom target.
Overloaded function.
__init__(self: ostk.astrodynamics.flight.Profile.CustomTarget, orientation_generator: Callable[[ostk.astrodynamics.trajectory.State], numpy.ndarray[numpy.float64[3, 1]]], direction: numpy.ndarray[numpy.float64[3, 1]]) -> None
Constructor.
- Args:
orientation_generator (Callable[np.ndarray, State]]): The orientation generator, accepts a state and returns a size 3 array of directions. direction (Vector3d): The direction.
__init__(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) -> None
Constructor from an axis.
- Args:
orientation_generator (Callable[np.ndarray, State]]): The orientation generator, accepts a state and returns a size 3 array of directions. axis (Axis): The axis to convert to a direction vector. anti_direction (bool): If true, the direction is flipped. Defaults to False.
- property direction¶
The direction of the target.
- property orientation_generator¶
The orientation generator of the target.
- property type¶
The type of the target.
- class OrientationProfileTarget(*args, **kwargs)¶
Bases:
TargetThe alignment profile target.
Overloaded function.
__init__(self: ostk.astrodynamics.flight.Profile.OrientationProfileTarget, orientation_profile: list[tuple[ostk.physics.time.Instant, numpy.ndarray[numpy.float64[3, 1]]]], direction: numpy.ndarray[numpy.float64[3, 1]], interpolator_type: ostk.mathematics.curve_fitting.Interpolator.Type = Interpolator.Type.BarycentricRational) -> None
Constructor.
- Args:
orientation_profile (list[Tuple[Instant, Vector3d]]): The orientation profile. direction (Vector3d): The direction. interpolator_type (Interpolator.Type, optional): The type of interpolator to use. Defaults to Barycentric Rational.
__init__(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, interpolator_type: ostk.mathematics.curve_fitting.Interpolator.Type = Interpolator.Type.BarycentricRational) -> None
Constructor from an axis.
- Args:
orientation_profile (list[Tuple[Instant, Vector3d]]): The orientation profile. axis (Axis): The axis to convert to a direction vector. anti_direction (bool): If true, the direction is flipped. Defaults to False. interpolator_type (Interpolator.Type, optional): The type of interpolator to use. Defaults to Barycentric Rational.
- property direction¶
The direction of the target.
- property orientation_profile¶
The orientation profile of the target.
- property type¶
The type of the target.
- class Target(*args, **kwargs)¶
Bases:
pybind11_objectThe target of the profile.
Overloaded function.
__init__(self: ostk.astrodynamics.flight.Profile.Target, type: ostk.astrodynamics.flight.Profile.TargetType, direction: numpy.ndarray[numpy.float64[3, 1]]) -> None
Constructor.
- Args:
type (Profile.TargetType): The target type. direction (Vector3d): The direction.
__init__(self: ostk.astrodynamics.flight.Profile.Target, type: ostk.astrodynamics.flight.Profile.TargetType, axis: ostk.astrodynamics.flight.Profile.Axis, anti_direction: bool = False) -> None
Constructor.
- Args:
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 direction¶
The direction of the target.
- property type¶
The type of the target.
- class TargetType(self: ostk.astrodynamics.flight.Profile.TargetType, value: int)¶
Bases:
pybind11_objectThe target type of the profile.
Members:
GeocentricNadir : Geocentric nadir
GeodeticNadir : Geodetic nadir
TargetPosition : Target position
TargetVelocity : Target velocity
TargetSlidingGroundVelocity : Target sliding ground velocity
Sun : Sun
Moon : Moon
VelocityECI : Velocity in ECI
OrbitalMomentum : Orbital momentum
OrientationProfile : Orientation profile
Custom : Custom
- property name¶
- class TrajectoryTarget¶
Bases:
TargetThe trajectory target.
- property direction¶
The direction of the target.
- static target_position(*args, **kwargs)¶
Overloaded function.
target_position(trajectory: ostk.astrodynamics.Trajectory, direction: numpy.ndarray[numpy.float64[3, 1]]) -> ostk.astrodynamics.flight.Profile.TrajectoryTarget
Create a target, which produces a vector pointing from the observer to the target position.
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.
- Args:
trajectory (Trajectory): The trajectory. axis (Axis): The axis to convert to a direction vector. anti_direction (bool): If true, the direction is flipped. Defaults to False.
- static target_sliding_ground_velocity(*args, **kwargs)¶
Overloaded function.
target_sliding_ground_velocity(trajectory: ostk.astrodynamics.Trajectory, direction: numpy.ndarray[numpy.float64[3, 1]]) -> 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.
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.
- Args:
trajectory (Trajectory): The trajectory. axis (Axis): The axis to convert to a direction vector. anti_direction (bool): If true, the direction is flipped. Defaults to False.
- static target_velocity(*args, **kwargs)¶
Overloaded function.
target_velocity(trajectory: ostk.astrodynamics.Trajectory, direction: numpy.ndarray[numpy.float64[3, 1]]) -> ostk.astrodynamics.flight.Profile.TrajectoryTarget
Create a target, which produces a vector pointing along the scan direction.
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.
- Args:
trajectory (Trajectory): The trajectory. axis (Axis): The axis to convert to a direction vector. anti_direction (bool): If true, the direction is flipped. Defaults to False.
- property trajectory¶
The trajectory of the target. Used to compute the target position or velocity.
- property type¶
The type of the target.
- access_model( ) ostk::astrodynamics::flight::profile::Model¶
Access the profile model.
- Returns:
The profile model.
- Return type:
- 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(),
- clocking_target: ostk.astrodynamics.flight.Profile.Target,
Generate a function that provides a quaternion that aligns to the alignment_target and constrains to the clocking_target for a given state.
- Parameters:
alignment_target (Profile.Target | Profile.TrajectoryTarget | Profile.OrientationProfileTarget | Profile.CustomTarget) -- The alignment target.
clocking_target (Profile.Target | Profile.TrajectoryTarget | Profile.OrientationProfileTarget | Profile.CustomTarget) -- The clocking target.
angular_offset (Angle) -- The angular offset. Defaults to Angle.Zero().
- Returns:
The custom orientation.
- Return type:
callable[Quaternion, State]
- construct_body_frame(
- self: ostk.astrodynamics.flight.Profile,
- frame_name: ostk.core.type.String,
- overwrite: bool = False,
- frame_name: ostk.core.type.String,
Construct the body frame of the profile.
- static custom_pointing(*args, **kwargs)¶
Overloaded function.
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.
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,
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_state_at(
- self: ostk.astrodynamics.flight.Profile,
- instant: ostk.physics.time.Instant,
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:
- get_states_at(
- self: ostk.astrodynamics.flight.Profile,
- instants: list[ostk.physics.time.Instant],
Get the states of the profile at given instants.
- static inertial_pointing(
- trajectory: ostk.astrodynamics.Trajectory,
- quaternion: ostk.mathematics.geometry.d3.transformation.rotation.Quaternion,
Create an inertial pointing profile.
- Parameters:
trajectory (Trajectory) -- The trajectory.
quaternion (Quaternion) -- The quaternion.
- Returns:
The inertial pointing profile.
- Return type:
- 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:
- static local_orbital_frame_pointing(
- orbit: ostk.astrodynamics.trajectory.Orbit,
- orbital_frame_type: ostk.astrodynamics.trajectory.Orbit.FrameType,
Create a profile aligned with the provided local orbital frame type.
- static undefined() ostk.astrodynamics.flight.Profile¶
Create an undefined profile.
- Returns:
The undefined profile.
- Return type: