ostk.astrodynamics.guidance_law.HeterogeneousGuidanceLaw¶
- class HeterogeneousGuidanceLaw(
- self: ostk.astrodynamics.guidance_law.HeterogeneousGuidanceLaw,
- guidance_laws_with_intervals: list[tuple[ostk.astrodynamics.GuidanceLaw, ostk.physics.time.Interval]] = [],
Bases:
GuidanceLawA guidance law that sequences multiple guidance laws over specific time intervals.
At each point in time, the applicable guidance law is selected and used to calculate the thrust acceleration. Guidance laws don't need to be contiguous, and can be added in any order. If the instant does not fall within any of the intervals, the thrust acceleration is zero. The guidance law intervals must not intersect each other.
Constructor.
- Parameters:
guidance_laws_with_intervals (list[tuple[GuidanceLaw, Interval]], optional) -- Array of tuples containing the guidance laws and their corresponding intervals. Defaults to empty array.
- Raises:
RuntimeError -- If any interval is undefined, if the guidance law is null or if the interval intersects with an existing interval.
Methods
Add a guidance law with its corresponding interval.
Calculate thrust acceleration at a given instant and state.
Get the guidance laws with their corresponding intervals.
Get the name of the guidance law.
- add_guidance_law(
- self: ostk.astrodynamics.guidance_law.HeterogeneousGuidanceLaw,
- guidance_law: ostk.astrodynamics.GuidanceLaw,
- interval: ostk.physics.time.Interval,
- guidance_law: ostk.astrodynamics.GuidanceLaw,
Add a guidance law with its corresponding interval.
- Parameters:
guidance_law (GuidanceLaw) -- The guidance law to add.
interval (Interval) -- The interval during which the guidance law is active.
- Raises:
RuntimeError -- If the interval is undefined, if the guidance law is null or if the interval intersects with an existing interval.
- calculate_thrust_acceleration_at(
- self: ostk.astrodynamics.guidance_law.HeterogeneousGuidanceLaw,
- instant: ostk.physics.time.Instant,
- position_coordinates: numpy.ndarray[numpy.float64[3, 1]],
- velocity_coordinates: numpy.ndarray[numpy.float64[3, 1]],
- thrust_acceleration: ostk.core.type.Real,
- output_frame: ostk.physics.coordinate.Frame,
- instant: ostk.physics.time.Instant,
Calculate thrust acceleration at a given instant and state.
- Parameters:
instant (Instant) -- The instant.
position_coordinates (numpy.ndarray) -- The position coordinates.
velocity_coordinates (numpy.ndarray) -- The velocity coordinates.
thrust_acceleration (float) -- The thrust acceleration magnitude.
output_frame (Frame) -- The frame in which the acceleration is expressed.
- Returns:
The acceleration vector at the provided coordinates.
- Return type:
- get_guidance_laws_with_intervals( ) list[tuple[ostk.astrodynamics.GuidanceLaw, ostk.physics.time.Interval]]¶
Get the guidance laws with their corresponding intervals.
- Returns:
Array of tuples containing the guidance laws and their corresponding intervals.
- Return type:
list[tuple[GuidanceLaw, Interval]]
- get_name( ) ostk.core.type.String¶
Get the name of the guidance law.
- Returns:
The name of the guidance law.
- Return type: