estimation_setup
¶
This module contains a set of factory functions for setting up the estimation models in a simulation.
Functions¶
|
Function for printing a list of estimatable parameter names. |
|
Function for creating a consolidated parameter from the given estimatable parameter settings. |
Function for creating observation simulator objects. |
- print_parameter_names(parameter_set: tudatpy.kernel.numerical_simulation.estimation.EstimatableParameterSet) None ¶
Function for printing a list of estimatable parameter names.
Function that allows you to print a verbose list of all parameters that shall be estimated. Consider parameters are listed separately.
- Parameters:
parameter_set (
EstimatableParameterSet
.) – Instance ofEstimatableParameterSet
class, consolidating all estimatable parameters and simulation models.- Returns:
Verbose List of all parameters that shall be estimated. Consider parameters are listed separately.
- Return type:
List[]
Examples
import numpy as np from tudatpy.interface import spice from tudatpy.numerical_simulation import environment_setup, propagation_setup, estimation_setup from tudatpy.astro.time_conversion import DateTime # Load SPICE kernels spice.load_standard_kernels() # Set simulation epochs simulation_start_epoch = DateTime(2000, 1, 1).epoch() simulation_end_epoch = DateTime(2000, 1, 4).epoch() # Create bodies bodies_to_create = ["Sun", "Earth"] global_frame_origin = "Earth" global_frame_orientation = "J2000" body_settings = environment_setup.get_default_body_settings( bodies_to_create, global_frame_origin, global_frame_orientation) # Create vehicle body_settings.add_empty_settings("Delfi-C3") body_settings.get("Delfi-C3").constant_mass = 2.2 bodies = environment_setup.create_system_of_bodies(body_settings) # Define propagation settings bodies_to_propagate = ["Delfi-C3"] central_bodies = ["Earth"] accelerations_settings_delfi_c3 = dict( Sun=[propagation_setup.acceleration.point_mass_gravity()], Earth=[propagation_setup.acceleration.spherical_harmonic_gravity(8, 8)] ) acceleration_settings = {"Delfi-C3": accelerations_settings_delfi_c3} acceleration_models = propagation_setup.create_acceleration_models( bodies, acceleration_settings, bodies_to_propagate, central_bodies) initial_state = np.zeros(6) # Use a real initial state if needed # Integrator settings integrator_settings = propagation_setup.integrator.runge_kutta_fixed_step_size(60.0, coefficient_set=propagation_setup.integrator.CoefficientSets.rkdp_87) # Create propagator termination_condition = propagation_setup.propagator.time_termination(simulation_end_epoch) propagator_settings = propagation_setup.propagator.translational( central_bodies, acceleration_models, bodies_to_propagate, initial_state, simulation_start_epoch, integrator_settings, termination_condition) # Define parameters to estimate parameter_settings = estimation_setup.parameter.initial_states(propagator_settings, bodies) parameter_settings.append(estimation_setup.parameter.gravitational_parameter("Earth")) parameters_to_estimate = estimation_setup.create_parameter_set(parameter_settings, bodies) # Print parameter names print(estimation_setup.print_parameter_names(parameters_to_estimate))
- create_parameter_set(parameter_settings: list[tudat::estimatable_parameters::EstimatableParameterSettings], bodies: tudatpy.kernel.numerical_simulation.environment.SystemOfBodies, propagator_settings: tudatpy.kernel.numerical_simulation.propagation_setup.propagator.PropagatorSettings = None, consider_parameters_names: list[tudat::estimatable_parameters::EstimatableParameterSettings] = []) tudatpy.kernel.numerical_simulation.estimation.EstimatableParameterSet ¶
Function for creating a consolidated parameter from the given estimatable parameter settings.
Function for creating a consolidated parameter from the given estimatable parameter settings. The function checks for consistency between the parameter settings and the models contained in the simulation setup (given by the bodies & and propagator_settings parameters).
- Parameters:
parameter_settings (list(
EstimatableParameterSettings
)) – List of objects that define the settings for the parameters that are to be created. Each entry in this list is typically created by a call to a function in the parameter modulebodies (
SystemOfBodies
) – Object consolidating all bodies and environment models, including ground station models, that constitute the physical environment.propagator_settings (
PropagatorSettings
) – Object containing the consolidated propagation settings of the simulation.
- Returns:
Instance of
EstimatableParameterSet
class, consolidating all estimatable parameters and simulation models.- Return type:
Examples
# Create bodies bodies = ... # Define parameters settings parameter_settings = ... # Create the parameters that will be estimated parameters_to_estimate = estimation_setup.create_parameter_set(parameter_settings, bodies)
This code snippet closely follows what is done in: Full Estimation Example.
- create_observation_simulators(observation_settings: list[tudat::observation_models::ObservationModelSettings], bodies: tudatpy.kernel.numerical_simulation.environment.SystemOfBodies) list[tudatpy.kernel.numerical_simulation.estimation.ObservationSimulator] ¶
Function for creating observation simulator objects.
Function for creating observation simulator objects from observation settings. Note that each observation (i.e. combination of observable and link geometry) requires its own observation simulator object.
- Parameters:
observation_settings (List[ ObservationSettings ]) – List of settings objects, each object defining the observation model settings for one combination of observable and link geometry that is to be simulated.
bodies (
SystemOfBodies
) – Object consolidating all bodies and environment models, including ground station models, that constitute the physical environment.
- Returns:
List of
ObservationSimulator
objects, each object hosting the functionality for simulating one combination of observable type and link geometry.- Return type:
List[
ObservationSimulator
]
Examples
# Create bodies bodies = ... # Define parameters settings observation_settings = ... # Create observation simulators observation_simulators = estimation_setup.create_observation_simulators(observation_settings, bodies)
This code snippet closely follows what is done in: The following snippet closely follows what is done in: Galilean Moons State Estimation Example.