NDEVR
API Documentation
types_seven_dof_expmap.h
1#pragma once
2#include "base_vertex.h"
3#include "base_binary_edge.h"
4#include "OptimizableTypes.h"
5#include "sim3.h"
6namespace NDEVR
7{
9 class EdgeSim3 : public BaseBinaryEdge<7, Sim3, VertexSim3Expmap, VertexSim3Expmap>
10 {
11 public:
12 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
13 EdgeSim3()
15 {}
18 {
19 Sim3 error_ = _measurement * m_a->estimate() * m_b->estimate().inverse();
20 _error = error_.log();
21 //if (!_error.array().isFinite().all())
22 //throw "error";
23 }
24 };
25}
26
Measurement _measurement
Definition base_edge.h:75
ErrorVector _error
Definition base_edge.h:76
void computeError()
Computes the error as the logarithm of the relative Sim3 difference.
The primary namespace for the NDEVR SDK.
Similarity transformation in 3D (rotation + translation + scale).
Definition sim3.h:13
Vector7d log() const
Computes the logarithmic map (Sim3 -> 7D tangent vector).
Definition sim3.h:135