WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
GroundStationSensor.h
Go to the documentation of this file.
1/******************************************************************************
2* Copyright (c) ATTX INC 2025. All Rights Reserved.
3*
4* This software and associated documentation (the "Software") are the
5* proprietary and confidential information of ATTX INC. The Software is
6* furnished under a license agreement between ATTX and the user organization
7* and may be used or copied only in accordance with the terms of the agreement.
8* Refer to 'license/attx_license.adoc' for standard license terms.
9*
10* EXPORT CONTROL NOTICE: THIS SOFTWARE MAY INCLUDE CONTENT CONTROLLED UNDER THE
11* INTERNATIONAL TRAFFIC IN ARMS REGULATIONS (ITAR) OR THE EXPORT ADMINISTRATION
12* REGULATIONS (EAR99). No part of the Software may be used, reproduced, or
13* transmitted in any form or by any means, for any purpose, without the express
14* written permission of ATTX INC.
15******************************************************************************/
16/*
17Camera sensor model header file
18
19Author: Alex Reynolds
20*/
21/*
22Metadata for MS GUI:
23imdata = {"displayname" : "Ground Station Sensor",
24 "exclude" : False,
25 "category" : "Sensors"
26}
27aliases = {"range_bias" : "Range Bias",
28 "range_rate_bias" : "Range Rate Bias",
29 "range_gaussian_noise" : "Range Noise",
30 "range_rate_gaussian_noise" : "Range Rate Noise",
31 "rate_sec" : "Rate Sec",
32 "seed_value" : "EXCLUDE",
33 "time_in" : "Time",
34 "range_in" : "Exact Range",
35 "range_rate_in" : "Exact Range Rate",
36 "time_measured" : "Time Stamp",
37 "range_measured" : "Meas. Range",
38 "range_rate_measured" : "Meas. Range Rate",
39}
40*/
41
42#ifndef MODELS_SENSORS_SIMPLE_CAMERA_SENSOR_H
43#define MODELS_SENSORS_SIMPLE_CAMERA_SENSOR_H
44
45#include "simulation/Model.h"
48
49namespace warptwin {
62 class GroundStationSensor : public Model {
63 public:
64 // Model params
65 // NAME TYPE DEFAULT VALUE
69 SIGNAL(range_bias, double, 0.0)
72 SIGNAL(range_rate_bias, double, 0.0)
75 SIGNAL(range_gaussian_noise, double, 0.0)
78 SIGNAL(range_rate_gaussian_noise,double, 0.0)
83 SIGNAL(seed_value, int, 0)
85
86 // Model inputs
87 // NAME TYPE DEFAULT VALUE
92 SIGNAL(range_in, double, 0.0)
94 SIGNAL(range_rate_in, double, 0.0)
96
97 // Model outputs
98 // NAME TYPE DEFAULT VALUE
102 SIGNAL(time_measured, clockwerk::Time, clockwerk::Time(0))
106 SIGNAL(range_measured, double, 0.0)
110 SIGNAL(range_rate_measured, double, 0.0)
112
115 warptwin::BiasNoiseModel* biasNoiseModel() {return &_sensor_bias_noise;}
116
119 warptwin::RateMonitor* rateMonitor() {return &_rate_monitor;}
120
121 // Model-specific implementations of startup and derivative
122 GroundStationSensor(Model &pnt, const std::string &m_name="ground_station_sensor");
123 GroundStationSensor(SimulationExecutive &e, const std::string &m_name="ground_station_sensor");
124 GroundStationSensor(Model &pnt, int schedule_slot, const std::string &m_name="ground_station_sensor");
125 GroundStationSensor(SimulationExecutive &e, int schedule_slot, const std::string &m_name="ground_station_sensor");
127 protected:
128 int16 start() override;
129 int16 execute() override;
130
132 void _configureInternal();
133
135 BiasNoiseModel _sensor_bias_noise;
136
138 RateMonitor _rate_monitor;
139 };
140
141}
142
143#endif
#define START_PARAMS
Definition appmacros.h:42
#define END_OUTPUTS
Definition appmacros.h:33
#define END_PARAMS
Definition appmacros.h:47
#define START_OUTPUTS
Definition appmacros.h:28
#define END_INPUTS
Definition appmacros.h:40
#define START_INPUTS
Definition appmacros.h:35
int16 execute() override
Definition GroundStationSensor.cpp:70
int16 start() override
Definition GroundStationSensor.cpp:62
BiasNoiseModel _sensor_bias_noise
The bias and noise model for sensor output.
Definition GroundStationSensor.h:135
warptwin::RateMonitor * rateMonitor()
Accessor for the internal rate monitor model.
Definition GroundStationSensor.h:119
RateMonitor _rate_monitor
Rate monitor to control the rate at which the sensor runs.
Definition GroundStationSensor.h:138
START_PARAMS SIGNAL(range_bias, double, 0.0) SIGNAL(range_rate_bias
GroundStationSensor(Model &pnt, const std::string &m_name="ground_station_sensor")
Definition GroundStationSensor.cpp:26
void _configureInternal()
Function to configure sensor – runs in all constructors.
Definition GroundStationSensor.cpp:51
virtual ~GroundStationSensor()
Definition GroundStationSensor.h:126
START_PARAMS END_PARAMS START_INPUTS clockwerk::Time(0)) SIGNAL(range_measured
Base model class for derived implementation.
Definition Model.h:88
Model(Model &pnt, int16 schedule_slot, const std::string &m_name="Unnamed")
Task-based constructor for the task. Auto-assigns executive.
Definition Model.cpp:26
Implementation of the executive class for simulation.
Definition SimulationExecutive.h:64
Definition CircularBuffer.hpp:28
Class to propagate CR3BP dynamics in characteristic units.
Definition statistics.hpp:22
MODEL(Magnetometer) public warptwin::MarkovUncertaintyModel * biasNoiseModel()
Accessor for the internal bias and noise model.
Definition Magnetometer.h:202