My Project 1.0
Holistic Fusion: A Generic Framework for Multimodal Sensor Fusion
Loading...
Searching...
No Matches
UnaryMeasurementXDAbsolute.h
Go to the documentation of this file.
1/*
2Copyright 2024 by Julian Nubert, Robotic Systems Lab, ETH Zurich.
3All rights reserved.
4This file is released under the "BSD-3-Clause License".
5Please see the LICENSE file that has been included as part of this package.
6 */
7
8#ifndef HOLISTIC_FUSION_UNARY_MEASUREMENT_XD_ABSOLUTE_H
9#define HOLISTIC_FUSION_UNARY_MEASUREMENT_XD_ABSOLUTE_H
10
11// C++
12#include <optional>
13
14// Workspace
17
18namespace holistic_fusion {
19
29template <class MEASUREMENT_TYPE, int DIM>
30class UnaryMeasurementXDAbsolute final : public virtual UnaryMeasurementAbsolute, public virtual UnaryMeasurementXD<MEASUREMENT_TYPE, DIM> {
31 static_assert(DIM > 0, "DIM must be greater than 0.");
32
33 public:
40 UnaryMeasurementXDAbsolute(const std::string& measurementName, const int measurementRate, const std::string& sensorFrameName,
41 const std::string& sensorFrameCorrectedName, const RobustNorm robustNorm, const double timeStamp,
42 const double covarianceViolationThreshold, const MEASUREMENT_TYPE& unaryMeasurement,
43 const Eigen::Matrix<double, DIM, 1>& unaryMeasurementNoiseDensity, const std::string& fixedFrameName,
44 const std::string& worldFrameName,
45 const std::optional<Eigen::Matrix<double, 6, 1>>& initialSe3AlignmentNoise = std::nullopt,
46 const std::optional<Eigen::Matrix<double, 6, 1>>& se3AlignmentRandomWalk = std::nullopt)
54 }
55
56 // Destructor
57 ~UnaryMeasurementXDAbsolute() override = default;
58
59 // Summary for printout
60 std::string summary() const override {
61 std::stringstream ss;
63 ss << summary << "Measurement: " << std::endl; // << unaryMeasurement_ << std::endl;
64 return ss.str();
65 }
66
67 // Overload << operator
68 friend std::ostream& operator<<(std::ostream& os, const UnaryMeasurementXDAbsolute& unaryMeasurementXDAbsolute) {
69 os << unaryMeasurementXDAbsolute.summary();
70 return os;
71 }
72};
73
74} // namespace holistic_fusion
75
76#endif // HOLISTIC_FUSION_UNARY_MEASUREMENT_XD_ABSOLUTE_H
const std::string & sensorFrameName() const
Definition Measurement.h:83
const std::string & sensorFrameCorrectedName() const
Definition Measurement.h:84
int measurementRate() const
Rest.
Definition Measurement.h:86
const std::string & measurementName() const
Names.
Definition Measurement.h:82
const RobustNorm & robustNorm() const
Definition Measurement.h:87
const Eigen::Matrix< double, 6, 1 > & se3AlignmentRandomWalk() const
UnaryMeasurementAbsolute(const std::string &measurementName, const int measurementRate, const std::string &sensorFrameName, const std::string &sensorFrameCorrectedName, const RobustNorm robustNorm, const double timeStamp, const double covarianceViolationThreshold, const std::string &fixedFrameName, const std::string &worldFrameName, const std::optional< Eigen::Matrix< double, 6, 1 > > &initialSe3AlignmentNoise=std::nullopt, const std::optional< Eigen::Matrix< double, 6, 1 > > &se3AlignmentRandomWalk=std::nullopt)
Constructor to create an absolute unary measurement.
const Eigen::Matrix< double, 6, 1 > & initialSe3AlignmentNoise() const
UnaryMeasurementXDAbsolute(const std::string &measurementName, const int measurementRate, const std::string &sensorFrameName, const std::string &sensorFrameCorrectedName, const RobustNorm robustNorm, const double timeStamp, const double covarianceViolationThreshold, const MEASUREMENT_TYPE &unaryMeasurement, const Eigen::Matrix< double, DIM, 1 > &unaryMeasurementNoiseDensity, const std::string &fixedFrameName, const std::string &worldFrameName, const std::optional< Eigen::Matrix< double, 6, 1 > > &initialSe3AlignmentNoise=std::nullopt, const std::optional< Eigen::Matrix< double, 6, 1 > > &se3AlignmentRandomWalk=std::nullopt)
Constructor to create an absolute unary measurement with a specific dimension.
friend std::ostream & operator<<(std::ostream &os, const UnaryMeasurementXDAbsolute &unaryMeasurementXDAbsolute)
const Eigen::Matrix< double, DIM, 1 > & unaryMeasurementNoiseDensity() const
const MEASUREMENT_TYPE & unaryMeasurement() const
UnaryMeasurementXD(const std::string &measurementName, const int measurementRate, const std::string &sensorFrameName, const std::string &sensorFrameCorrectedName, const RobustNorm robustNorm, const double timeStamp, const double covarianceViolationThreshold, const MEASUREMENT_TYPE &unaryMeasurement, const Eigen::Matrix< double, DIM, 1 > &unaryMeasurementNoiseDensity)
Constructor to create an absolute unary measurement.
Class to represent a unary measurement in the graph.
Class to represent a robust norm for a measurement.
Definition Measurement.h:28