![]() |
WarpTwin
Documentation for WarpTwin models and classes.
|
Wrapper for ground station model which perturbs range and range rate for navigation purposes. More...
#include <GroundStationSensor.h>

Public Member Functions | |
| START_PARAMS | SIGNAL (range_bias, double, 0.0) SIGNAL(range_rate_bias |
| START_PARAMS | SIGNAL (range_gaussian_noise, double, 0.0) SIGNAL(range_rate_gaussian_noise |
| START_PARAMS | SIGNAL (rate_sec, clockwerk::Time, clockwerk::Time(0)) SIGNAL(seed_value |
| START_PARAMS END_PARAMS START_INPUTS | SIGNAL (time_in, clockwerk::Time, clockwerk::Time(0)) SIGNAL(range_in |
| START_PARAMS END_PARAMS START_INPUTS | SIGNAL (range_rate_in, double, 0.0) END_INPUTS START_OUTPUTS SIGNAL(time_measured |
| START_PARAMS END_PARAMS START_INPUTS | clockwerk::Time (0)) SIGNAL(range_measured |
| START_PARAMS END_PARAMS START_INPUTS | SIGNAL (range_rate_measured, double, 0.0) END_OUTPUTS warptwin |
| Accessor for the internal bias and noise model. | |
| warptwin::RateMonitor * | rateMonitor () |
| Accessor for the internal rate monitor model. | |
| GroundStationSensor (Model &pnt, const std::string &m_name="ground_station_sensor") | |
| GroundStationSensor (SimulationExecutive &e, const std::string &m_name="ground_station_sensor") | |
| GroundStationSensor (Model &pnt, int schedule_slot, const std::string &m_name="ground_station_sensor") | |
| GroundStationSensor (SimulationExecutive &e, int schedule_slot, const std::string &m_name="ground_station_sensor") | |
| virtual | ~GroundStationSensor () |
| Public Member Functions inherited from warptwin::Model | |
| Model (Model &pnt, int16 schedule_slot, const std::string &m_name="Unnamed") | |
| Task-based constructor for the task. Auto-assigns executive. | |
| Model (SimulationExecutive &executive, int16 schedule_slot, const std::string &m_name="Unnamed") | |
| Executive-based constructor for the task. | |
| virtual | ~Model () |
| Desrtuctor. Doesn't really do anything. | |
| std::vector< std::string > | listDefaultConfigs () |
| List all default options for the model type. | |
| int | configureFromDefault (const std::string &default_name) |
| Configure model from a default configuration. | |
| int | configureFromJson (const std::string &file_path) |
| Configure model from a json file with keys as params of the model. | |
| int | configureFromJson (nlohmann::json j) |
| Configure model from a json file with keys as params of the model. | |
| virtual nlohmann::json | asJson () |
| Get model information as json. | |
| void | dump () |
| Dump all information associated with the model. | |
| Public Member Functions inherited from warpos::App | |
| App (FlightExecutive &executive, const char *name, uint16 apid, uint8 instance=0) | |
| Executive-based constructor for the task. | |
| virtual | ~App () |
| Destructor. Doesn't really do anything. | |
| int16 | startup () |
| Initialize the app. Should be called once before step. | |
| int16 | step () |
| Step the app by a single step. Maps params, inputs, etc. to outputs. | |
| virtual int16 | activate () |
| Activate the app. The app will step when active. | |
| virtual int16 | deactivate () |
| Deactivate the app. The app will not step when deactivated. | |
| virtual int16 | command (uint16 apid, uint8 *buffer, uint16 size) |
| Process commands issued to the app. | |
| log_level_e | logLevel () |
| Get the log level set for the executive. | |
| void | logLevel (log_level_e log_level) |
| Set the executive log level. | |
| bool | isStarted () |
| Return whether task startup has been run. | |
| uint16 | apid () |
| Get the apid for this app. | |
| uint8 & | instance () |
| Get the instance of this app (used to differentiate between multiple instances of the same app). | |
| Public Member Functions inherited from clockwerk::GraphTreeObject | |
| GraphTreeObject (const char *gt_nme="", GraphTreeObject **storage_array=nullptr, uint32 storage_size=0) | |
| Name-based constructor for GraphTreeObject which will have no children by default. | |
| virtual | ~GraphTreeObject () |
| Destructor. | |
| GraphTreeObject * | parent () |
| Functions to get object's parent/children. | |
| GraphTreeObject ** | children () |
| GraphTreeObject * | childAtIndex (uint8 i) const |
| int16 | parent (GraphTreeObject *new_parent) |
| Function to assign the node's parent via pointer. | |
| int16 | parent (GraphTreeObject &new_parent) |
| Function to assign the node's parent via reference. | |
| uint8 | nChildren () const |
| Getters for number of children and descendants. | |
| uint16 | nDescendants () const |
| uint8 | capacity () const |
| const char * | name () const |
| Getter and setter for object name. | |
| int16 | name (const char *new_name) |
| uint8 | rank () |
| Getter for the object rank. | |
| int8 | type () |
| Function to indicate type – -1 by default unless implemented downstream. | |
| bool | loggable () |
| Getter for object logability flag – note no setter because should only be set by this or a derived class in its definition. | |
| GraphTreeObject * | getRootDataPointer () |
| Get the pointer to the highest object in the graph tree. | |
| virtual int16 | str (char *output, size_t size) const |
| Get object represented as string. | |
| virtual int16 | fromStr (const char *val) |
| Set value of graphtreeobject from string. | |
Public Attributes | |
| START_PARAMS | double |
| START_PARAMS | int |
| START_PARAMS END_PARAMS START_INPUTS | double |
| Public Attributes inherited from warpos::App | |
| clockwerk::DataIO< bool > | active = clockwerk::DataIO<bool>(this, "active", true) |
| The active flag for the task – set to true by default. | |
Protected Member Functions | |
| int16 | start () override |
| int16 | execute () override |
| void | _configureInternal () |
| Function to configure sensor – runs in all constructors. | |
| Protected Member Functions inherited from warptwin::Model | |
| virtual std::string | classType () |
| Return the name of the class type. | |
| Protected Member Functions inherited from clockwerk::GraphTreeObject | |
| int16 | _setStorage (GraphTreeObject **storage_array, uint8 storage_size) |
| Getter for object's string address. | |
| void | _recalculateDescendants () |
| Function to recursively re-calculate the number of descendants of a given node on the tree. | |
| void | _recalculateRank () |
| Function to recursively re-calculate the rank of a given node on the tree. | |
| int16 | _addChild (GraphTreeObject *child) |
| Function to decompose a string into a series of substrings via indexing. | |
| int16 | _removeChild (GraphTreeObject *child) |
| Function to remove a child from the graph node's children. | |
Protected Attributes | |
| BiasNoiseModel | _sensor_bias_noise |
| The bias and noise model for sensor output. | |
| RateMonitor | _rate_monitor |
| Rate monitor to control the rate at which the sensor runs. | |
| Protected Attributes inherited from warptwin::Model | |
| SimulationExecutive & | exc |
| std::string | _default_configuration_name = "" |
| Hold default configuration name model is defined from. | |
| int16 | _schedule_slot = 0 |
| Internal variable to hold schedule slot for model. | |
| Protected Attributes inherited from warpos::App | |
| FlightExecutive & | exc |
| Override our executive to include the FlightExecutive instead. | |
| int16 | _error = 0 |
| Internal variable to track and return error on app step through. | |
| uint16 | _apid = 0 |
| Internal variable to hold the APID for this app. | |
| bool | _is_started = false |
| Flag indicating whether app has been started or not. | |
| log_level_e | _local_log_level = log_level_e::LOG_WARNING |
| The log level for this particular app. | |
| GraphTreeObject * | _app_children [MAXIMUM_APP_CHILDREN] |
| Local storage for App children so it can live on the graph tree. | |
| uint8 | _instance |
| Instance number of this app. Used to differentiate between multiple instances of the same app. | |
| Protected Attributes inherited from clockwerk::GraphTreeObject | |
| GraphTreeObject * | _parent = nullptr |
| GraphTreeObject ** | _children_ptr = nullptr |
| uint32 | _max_num_children = 0 |
| uint16 | _num_descendants = 0 |
| char | _name [MAXIMUM_NAME_CHARS] = "" |
| String name for object. | |
| uint8 | _num_children = 0 |
| Number of direct children of the tree (not including the tree itself). | |
| uint8 | _rank = 0 |
| int8 | _graph_tree_type = BASE_GRAPH_TREE |
| Variable to store graph tree object type. | |
| bool | _loggable = false |
| Variable to indicate whether the selected object is loggable. Set to false by default. | |
| uint32 | _index = 0 |
| Index pointing to the next write location for the graph tree children. | |
Wrapper for ground station model which perturbs range and range rate for navigation purposes.
The ground station sensor model is a wrapper around the ground station model which perturbs the range and range rate measurements according to the inputs to this model.
This model also downselects rate according to the input to this model.
Author: Alex Reynolds alex..nosp@m.reyn.nosp@m.olds@.nosp@m.attx.nosp@m..tech
| warptwin::GroundStationSensor::GroundStationSensor | ( | Model & | pnt, |
| const std::string & | m_name = "ground_station_sensor" ) |
| warptwin::GroundStationSensor::GroundStationSensor | ( | SimulationExecutive & | e, |
| const std::string & | m_name = "ground_station_sensor" ) |
| warptwin::GroundStationSensor::GroundStationSensor | ( | Model & | pnt, |
| int | schedule_slot, | ||
| const std::string & | m_name = "ground_station_sensor" ) |
| warptwin::GroundStationSensor::GroundStationSensor | ( | SimulationExecutive & | e, |
| int | schedule_slot, | ||
| const std::string & | m_name = "ground_station_sensor" ) |
|
inlinevirtual |
|
protected |
Function to configure sensor – runs in all constructors.
| START_PARAMS END_PARAMS START_INPUTS warptwin::GroundStationSensor::clockwerk::Time | ( | 0 | ) |
This is the range output every time a measurement is made. Left stale when ground station is masked or due to measurement rate. Includes bias and noise
|
overrideprotectedvirtual |
Reimplemented from warpos::App.
|
inline |
Accessor for the internal rate monitor model.
| START_PARAMS warptwin::GroundStationSensor::SIGNAL | ( | range_bias | , |
| double | , | ||
| 0. | 0 ) |
The bias in the range measurement output described as a single scalar Default is no bias. The bias in the range rate measurement output described as a single scalar Default is no bias.
| START_PARAMS warptwin::GroundStationSensor::SIGNAL | ( | range_gaussian_noise | , |
| double | , | ||
| 0. | 0 ) |
The one-sigma gaussian noise in range measurement output described as a scalar Default is no noise. The one-sigma gaussian noise in range rate measurement output described as a scalar Default is no noise.
| START_PARAMS END_PARAMS START_INPUTS warptwin::GroundStationSensor::SIGNAL | ( | range_rate_in | , |
| double | , | ||
| 0. | 0 ) |
This is the input range rate from the ground station model This is the time output every time a measurement is made. Left stale when ground station is masked or due to measurement rate
|
inline |
Accessor for the internal bias and noise model.
This is the range rate output every time a measurement is made. Left stale when ground station is masked or due to measurement rate. Includes bias and noise
| START_PARAMS warptwin::GroundStationSensor::SIGNAL | ( | rate_sec | , |
| clockwerk::Time | , | ||
| clockwerk::Time(0) | ) |
The rate at which the GS generates an output, in seconds. Setting this value to 0 forces the GS to output at the simulation rate. Value to seed the internal RNG for this model.
| START_PARAMS END_PARAMS START_INPUTS warptwin::GroundStationSensor::SIGNAL | ( | time_in | , |
| clockwerk::Time | , | ||
| clockwerk::Time(0) | ) |
This is the output time from the model. Will be left stale when not updated This is the input range from the ground station model
|
overrideprotectedvirtual |
Reimplemented from warpos::App.
|
protected |
Rate monitor to control the rate at which the sensor runs.
|
protected |
The bias and noise model for sensor output.
| START_PARAMS END_PARAMS START_INPUTS warptwin::GroundStationSensor::double |
| START_PARAMS END_PARAMS START_INPUTS warptwin::GroundStationSensor::double |
| START_PARAMS warptwin::GroundStationSensor::int |