ground_station
#
This module contains a set of factory functions for setting up ground stations and associated models. Note that in Tudat, no distinction is made between a ground station/lander on Earth or a different body. A ground station defines a reference point (and other relevant properties) on a celestial body.
Functions#
|
Factory function for creating settings for a ground station |
Factory function for creating settings for all DSN stations |
|
|
Factory function for creating settings for a linear station motion |
Factory function for creating settings for a piecewise constant ground station position variation |
|
Factory function for creating settings for a custom ground station position variation |
- basic_station(station_name: str, station_nominal_position: numpy.ndarray[numpy.float64[3, 1]], station_position_element_type: tudatpy.kernel.astro.element_conversion.PositionElementTypes = <PositionElementTypes.cartesian_position_type: 0>, station_motion_settings: List[tudatpy.kernel.numerical_simulation.environment_setup.ground_station.GroundStationMotionSettings] = []) tudatpy.kernel.numerical_simulation.environment_setup.ground_station.GroundStationSettings #
Factory function for creating settings for a ground station
Factory function for creating settings for a ground station, defining only its name, body-fixed position, and (optionally) time-variations of its position
- Parameters
station_name (string) – Name (unique identifier) by which the station is to be known.
station_nominal_position (np.ndarray([3,1])) – Nominal position of the station in a body-fixed frame. Depending on the choice of
station_position_element_type
input, this vector must contain * Cartesian - \([x,y,z]\), denoting \(x-\), \(y-\) and \(z-\) components of body-fixed position (w.r.t body-fixed frame origin, typically center of mass) * Spherical - \([r,\phi',\theta]\), denoting distance from body-fixed frame origin (typically center of mass), latitude and longitude * Geodetic - \([h,\phi,\theta]\), denoting the altitude w.r.t. the body shape model, geodetic latitude and longitudestation_position_element_type (PositionElementTypes, default = cartesian_position) – Type of elements for
station_nominal_position
station_motion_settings (list[ GroundStationMotionSettings ], default = None) – List of settings defining time-variations of the individual ground station
- Returns
Instance of the
GroundStationSettings
defining settings of the to be created ground station- Return type
Examples
In this example, we create a station using geodetic coordinates at the approximate location of the city of Delft, and no motion settings:
# Define the position of the ground station on Earth station_altitude = 0.0 delft_latitude = np.deg2rad(52.00667) delft_longitude = np.deg2rad(4.35556) # Create ground station settings ground_station_settings = environment_setup.ground_station.basic_station( "TrackingStation", [station_altitude, delft_latitude, delft_longitude], element_conversion.geodetic_position_type) # Append station settings to existing (default is empty) list body_settings.get( "Earth" ).ground_station_settings.append( ground_station_settings )
- dsn_stations() List[tudatpy.kernel.numerical_simulation.environment_setup.ground_station.GroundStationSettings] #
Factory function for creating settings for all DSN stations
Factory function for creating settings for all DSN stations, defined by nominal positions and linear velocities, as defined by Cartesian elements in DSN No. 810-005, 301, Rev. K, see this link. Note that calling these settings will use the Cartesian elements provided in this document (in ITRF93) and apply them to the Earth-fixed station positions, regardless of the selected Earth rotation model.
- Returns
List of settings to create DSN stationss
- Return type
- linear_station_motion(linear_velocity: numpy.ndarray[numpy.float64[3, 1]], reference_epoch: float = 0.0) tudatpy.kernel.numerical_simulation.environment_setup.ground_station.GroundStationMotionSettings #
Factory function for creating settings for a linear station motion
Factory function for creating settings for a linear station motion, implementing \(\Delta \mathbf{r}=\dot{\mathbf{r}}(t-t_{0})\).
- Parameters
linear_velocity (np.ndarray([3,1])) – Linear velocity \(\dot{\mathbf{r}}\) of the station (in m/s)
reference_epoch (float, default = 0.0) – Reference epoch \(t_{0}\), in seconds since J2000 epoch
- Returns
Instance of the
GroundStationMotionSettings
derivedLinearGroundStationMotionSettings
class- Return type
- piecewise_constant_station_motion(displacement_list: Dict[float, numpy.ndarray[numpy.float64[3, 1]]]) tudatpy.kernel.numerical_simulation.environment_setup.ground_station.GroundStationMotionSettings #
Factory function for creating settings for a piecewise constant ground station position variation
Factory function for creating settings for a piecewise constant ground station position. Using this model, the added station velocity in a body-fixed frame \(\dot{\mathbf{r}}\) is always zero, but its displacement \(\Delta\mathbf{r}\) is set according to the input list, which contains a list of times and displacments \([t_{i},\Delta\mathbf{r}_{i}]\). When the resulting model is queried at a given time \(t\), the nearest lower neighbour \(t_{i}\) from this list is found, and the associated \(\Delta\mathbf{r}_{i}\) is applied.
- Parameters
displacement_list (dict[float,np.ndarray([3,1])]) – Dictionary with the epochs \(t_{i}\) as values, and the associated displacement \(\Delta\mathbf{r}_{i}\) as value
- Returns
Instance of the
GroundStationMotionSettings
derivedPiecewiseConstantGroundStationMotionSettings
class- Return type
- custom_station_motion(custom_displacement_function: Callable[[float], numpy.ndarray[numpy.float64[3, 1]]]) tudatpy.kernel.numerical_simulation.environment_setup.ground_station.GroundStationMotionSettings #
Factory function for creating settings for a custom ground station position variation
Factory function for creating settings for a custom ground station position. An arbitrary user-defined function of the signature \(\Delta\mathbf{r}=\Delta\mathbf{r}(t)\) is provided and applied to the station position
- Parameters
custom_displacement_function (dict[float,np.ndarray([3,1])]) – Function returning \(\Delta\mathbf{r}\), with the time \(t\) as input.
- Returns
Instance of the
GroundStationMotionSettings
derivedCustomGroundStationMotionSettings
class- Return type
Classes#
Base class for providing settings for the creation of a ground station. |
|
Base class for providing settings for the motion of a single ground station. |
|
Class for defining linear motion (in an Earth-fixed frame) in time of a ground station. |
|
Class for defining piecewise-constant position (e.g. |
|
Class for defining custom time-dependent motion of a ground station. |
- class GroundStationSettings#
Base class for providing settings for the creation of a ground station.
- class GroundStationMotionSettings#
Base class for providing settings for the motion of a single ground station.
Non-functional base class for settings for the motion of a single ground station Station motion settings requiring additional information must be defined using an object derived from this class.
- class LinearGroundStationMotionSettings#
Class for defining linear motion (in an Earth-fixed frame) in time of a ground station.
GroundStationMotionSettings derived class for time-linear station motion
- class PiecewiseConstantGroundStationMotionSettings#
Class for defining piecewise-constant position (e.g. instantaneous change in position at given epochs) of a ground station.
GroundStationMotionSettings derived class for piecewise-constant position of a ground station
- class CustomGroundStationMotionSettings#
Class for defining custom time-dependent motion of a ground station.
CustomGroundStationMotionSettings derived class for custom time-dependent motion of a ground station