48 [[nodiscard]] std::string
type()
const override;
51 [[nodiscard]]
static std::string
category();
58 [[nodiscard]]
json save()
const override;
92 std::vector<Eigen::Vector3d>
cumSum{ Eigen::Vector3d::Zero() };
104 std::array<std::vector<double>, 3>
slope{};
nlohmann::json json
json namespace
std::vector< double > _averagingFactors
averaging factors (n) used for Allan Variance computation
unsigned int _imuObsCount
number of IMU observations / length of cumulative sums
AllanDeviation & operator=(AllanDeviation &&)=delete
Move assignment operator.
~AllanDeviation() override
Destructor.
AllanDeviation & operator=(const AllanDeviation &)=delete
Copy assignment operator.
static const char * unitString(SensorType sensorType)
Returns a string for the unit of the type.
static std::string category()
String representation of the Class Category.
std::vector< double > _averagingTimes
averaging times (τ)
static constexpr size_t INPUT_PORT_INDEX_IMU_OBS
Flow (ImuObs)
static std::string typeStatic()
String representation of the Class Type.
InsTime _startingInsTime
Time of first epoch received.
AllanDeviation(const AllanDeviation &)=delete
Copy constructor.
AllanDeviation(AllanDeviation &&)=delete
Move constructor.
json save() const override
Saves the node into a json object.
std::array< Sensor, SensorType_COUNT > _sensors
Sensor data.
float _confidenceFillAlpha
The alpha value for the shaded plot of the confidence intervals.
double _samplingInterval
sampling interval
void deinitialize() override
Deinitialize the node.
unsigned int _nextAveragingFactor
next averaging factor to be appended to _averagingFactors
AllanDeviation()
Default constructor.
std::vector< double > _confidenceMultiplicationFactor
multiplication factor for simple confidence
bool _updateLast
Flag wether to update the plot for each message or once at the end.
bool _displayConfidence
Flag wether to display confidence intervals.
@ SensorType_COUNT
Amount of sensors to use.
static const char * to_string(SensorType sensorType)
Returns a string representation of the type.
double _averagingFactorsPerDecade
number of averaging factors per decade
void restore(const json &j) override
Restores the node from a json object.
unsigned int _nextAveragingFactorExponent
exponent of next averaging factor
void receiveImuObs(InputPin::NodeDataQueue &queue, size_t pinIdx)
Receive Sensor Data.
bool initialize() override
Initialize the node.
std::string type() const override
String representation of the Class Type.
void guiConfig() override
ImGui config window which is shown on double click.
std::vector< double > _observationCount
number of observations for each τ
The class is responsible for all time-related tasks.
Node(std::string name)
Constructor.
std::array< std::vector< double >, 3 > allanVariance
Allan Variance.
std::mutex mutex
Mutex to lock plotting.
std::array< std::vector< double >, 3 > allanSum
Allan Variance precursor.
std::array< std::vector< double >, 3 > slope
Slope of Allan Variance.
std::vector< Eigen::Vector3d > cumSum
Cumulative Sums.
std::array< std::array< std::vector< double >, 2 >, 3 > allanDeviationConfidenceIntervals
Confidence of Allan Deviation.
std::array< std::vector< double >, 3 > allanDeviation
Allan Deviation.