Lens AI Profiler Cpp
trackingmetrics.h
1 #ifndef TRACKING_METRICS_H
2 #define TRACKING_METRICS_H
3 
4 #include <cmath>
5 #include <Eigen/Dense>
6 #include <Eigen/Geometry>
7 
8 using namespace Eigen;
9 
10 struct Position2D {
11  float x, y;
12 };
13 
14 struct Position3D {
15  float x, y, z;
16 };
17 
19  float yawRate, pitchRate, rollRate;
20 };
21 
23 public:
24  float computePositionError(const Position2D& predicted, const Position2D& actual);
25  float computePositionError(const Position3D& predicted, const Position3D& actual);
26  float computeOrientationError(const Quaternionf& predicted, const Quaternionf& actual);
27  float computeAngularVelocityLatency(const AngularVelocity& measured, const AngularVelocity& expected);
28  float computeQuaternionDrift(const Quaternionf& previous, const Quaternionf& current, float deltaTime);
29  float computeCovarianceSpread(const Matrix3f& covarianceMatrix);
30  float computeAngularDivergence(const Quaternionf& predicted, const Quaternionf& actual);
31  bool detectAnomalousRotation(const AngularVelocity& current, const AngularVelocity& historicalAverage);
32 };
33 
34 #endif // TRACKING_METRICS_H
Definition: trackingmetrics.h:22
Definition: trackingmetrics.h:18
Definition: trackingmetrics.h:10
Definition: trackingmetrics.h:14