![]() |
NDEVR
API Documentation
|
6D edge between two Vertex6 More...
Public Member Functions | |
| EdgeSE3Expmap () | |
| Default constructor. | |
| void | computeError () override |
| Computes the error as the logarithm of the relative pose difference. | |
| void | linearizeOplus () override |
| Computes the analytical Jacobians w.r.t. | |
| Public Member Functions inherited from BaseBinaryEdge< 6, SE3Quat, VertexSE3Expmap, VertexSE3Expmap > | |
| BaseBinaryEdge () | |
| Constructs an empty binary edge with null-mapped Hessian and Jacobian memory. | |
| bool | allVerticesFixed () const final override |
| Returns true if both vertices are fixed. | |
| void | constructQuadraticForm () |
| Constructs the quadratic form (Hessian blocks and gradient) from the linearized edge. | |
| void | constructQuadraticForm2 () |
| Constructs the quadratic form using an optimized evaluation order. | |
| const JacobianXiOplusType & | jacobianOplusXi () const |
| returns the result of the linearization in the manifold space for the node xi | |
| const JacobianXjOplusType & | jacobianOplusXj () const |
| returns the result of the linearization in the manifold space for the node xj | |
| void | linearizeOplusAndConstructQuadraticForm (JacobianWorkspace &jacobianWorkspace) final override |
| Linearizes the oplus operator and constructs the quadratic form in one step. | |
| void | mapHessianMemory (g_type *d, int i, int j, bool rowMajor) final override |
| Maps the Hessian block memory to an external buffer. | |
| virtual void | setVertex (uint04 i, HyperGraph::HGVertex *v) final override |
| Sets vertex i to the given pointer, with type-checking. | |
| virtual const HyperGraph::HGVertex * | vertex (uint04 i) const final override |
| Returns a const pointer to vertex i (0 or 1). | |
| virtual uint04 | vertexCount () const final override |
| Returns the number of vertices (always 2 for binary edges). | |
| Public Member Functions inherited from BaseEdge< D, SE3Quat > | |
| BaseEdge () | |
| Default constructor. | |
| g_type | chi2 () const final override |
| Computes the chi-squared error: e^T * Omega * e. | |
| virtual sint04 | dimension () const final override |
| Returns the dimension of the error vector. | |
| const ErrorVector & | error () const |
| Returns a const reference to the error vector. | |
| const InformationType & | information () const |
| Returns a const reference to the information matrix. | |
| const g_type * | informationData () const final override |
| Returns a const pointer to the raw information matrix data. | |
| const Measurement & | measurement () const |
| accessor functions for the measurement represented by the edge | |
| int | rank () const |
| Returns the rank (dimension) of the error. | |
| g_type | scalerInformation () const |
| information matrix of the constraint | |
| void | setInformation (const InformationType &information) |
| Sets the information matrix. | |
| void | setMeasurement (const Measurement &m) |
| Sets the measurement for this edge. | |
| Public Member Functions inherited from OptimizableGraph::OGEdge | |
| OGEdge () | |
| Default constructor. | |
| void | clearRobustKernel () |
| Removes the robust kernel from this edge. | |
| long long | internalId () const |
| the internal ID of the edge | |
| int | level () const |
| returns the level of the edge | |
| RobustKernel * | robustKernel () const |
| if NOT NULL, error of this edge will be robustifed with the kernel | |
| void | setLevel (int l) |
| sets the level of the edge | |
| void | setRobustKernel (RobustKernel &ptr) |
| specify the robust kernel to be used in this edge | |
| Public Member Functions inherited from HyperGraph::HGEdge | |
| HGEdge (int id=-1) | |
| creates and empty edge with no vertices | |
| int | id () const |
| returns the id of this edge | |
| void | setId (int id) |
| sets the id of this edge | |
| virtual HGVertex * | vertex (uint04 i)=0 |
| Returns a mutable pointer to the i-th vertex. | |
Additional Inherited Members | |
| Public Types inherited from BaseBinaryEdge< 6, SE3Quat, VertexSE3Expmap, VertexSE3Expmap > | |
| typedef BaseEdge< D, SE3Quat >::ErrorVector | ErrorVector |
| The error vector type. | |
| typedef Eigen::Map< Eigen::Matrix< g_type, Dj, Di >, Eigen::Matrix< g_type, Di, Dj >::Flags &Eigen::PacketAccessBit ? Eigen::Aligned :Eigen::Unaligned > | HessianBlockTransposedType |
| Mapped transposed Hessian block type. | |
| typedef Eigen::Map< Eigen::Matrix< g_type, Di, Dj >, Eigen::Matrix< g_type, Di, Dj >::Flags &Eigen::PacketAccessBit ? Eigen::Aligned :Eigen::Unaligned > | HessianBlockType |
| Mapped Hessian block type. | |
| typedef BaseEdge< D, SE3Quat >::InformationType | InformationType |
| The information matrix type. | |
| typedef Eigen::Matrix< g_type, D, Di >::AlignedMapType | JacobianXiOplusType |
| Jacobian type w.r.t. vertex Xi. | |
| typedef Eigen::Matrix< g_type, D, Dj >::AlignedMapType | JacobianXjOplusType |
| Jacobian type w.r.t. vertex Xj. | |
| typedef BaseEdge< D, SE3Quat >::Measurement | Measurement |
| The measurement type. | |
| typedef VertexSE3Expmap | VertexXiType |
| Type of the first (source) vertex. | |
| typedef VertexSE3Expmap | VertexXjType |
| Type of the second (target) vertex. | |
| Public Types inherited from BaseEdge< D, SE3Quat > | |
| typedef Eigen::Matrix< g_type, t_dims, 1 > | ErrorVector |
| Fixed-size error vector type. | |
| typedef Eigen::Matrix< g_type, t_dims, t_dims > | InformationType |
| Fixed-size information (inverse covariance) matrix type. | |
| typedef SE3Quat | Measurement |
| The measurement type stored by this edge. | |
| Static Public Attributes inherited from BaseBinaryEdge< 6, SE3Quat, VertexSE3Expmap, VertexSE3Expmap > | |
| static constexpr int | Di |
| Dimension of the first vertex. | |
| static constexpr int | Dj |
| Dimension of the second vertex. | |
| Static Public Attributes inherited from BaseEdge< D, SE3Quat > | |
| static constexpr sint04 | Dimension |
| Compile-time dimension of the error vector. | |
| Protected Member Functions inherited from BaseEdge< D, SE3Quat > | |
| InformationType | robustInformation (const Eigen::Vector3< g_type > &rho) const |
| calculate the robust information matrix by updating the information matrix of the error | |
| Protected Attributes inherited from BaseBinaryEdge< 6, SE3Quat, VertexSE3Expmap, VertexSE3Expmap > | |
| HessianBlockType | _hessian |
| Mapped Hessian block for the off-diagonal (i,j) entry. | |
| bool | _hessianRowMajor |
| Whether the Hessian block is stored in row-major order. | |
| HessianBlockTransposedType | _hessianTransposed |
| Mapped transposed Hessian block. | |
| JacobianXiOplusType | _jacobianOplusXi |
| Jacobian of the error w.r.t. vertex Xi. | |
| JacobianXjOplusType | _jacobianOplusXj |
| Jacobian of the error w.r.t. vertex Xj. | |
| VertexSE3Expmap * | m_a |
| Pointer to the first (source) vertex. | |
| VertexSE3Expmap * | m_b |
| Pointer to the second (target) vertex. | |
| Protected Attributes inherited from BaseEdge< D, SE3Quat > | |
| ErrorVector | _error |
| The current error vector. | |
| InformationType | _information |
| The information (inverse covariance) matrix. | |
| Measurement | _measurement |
| The stored measurement for this edge. | |
| Protected Attributes inherited from OptimizableGraph::OGEdge | |
| int | _internalId = 0 |
| Internal sequential id assigned on insertion. | |
| int | _level = 0 |
| Optimization level for multi-level optimization. | |
| RobustKernel * | _robustKernel = nullptr |
| Optional robust kernel for this edge. | |
| Protected Attributes inherited from HyperGraph::HGEdge | |
| int | _id |
| unique id | |
6D edge between two Vertex6
Definition at line 12 of file edge_se3_expmap.h.
|
inlineoverridevirtual |
Computes the analytical Jacobians w.r.t.
both SE3 vertices using the adjoint.
Reimplemented from BaseBinaryEdge< 6, SE3Quat, VertexSE3Expmap, VertexSE3Expmap >.
Definition at line 29 of file edge_se3_expmap.h.
References BaseBinaryEdge< 6, SE3Quat, VertexSE3Expmap, VertexSE3Expmap >::_jacobianOplusXi, BaseBinaryEdge< 6, SE3Quat, VertexSE3Expmap, VertexSE3Expmap >::_jacobianOplusXj, BaseEdge< D, SE3Quat >::_measurement, SE3Quat::adj(), SE3Quat::inverse(), BaseBinaryEdge< 6, SE3Quat, VertexSE3Expmap, VertexSE3Expmap >::m_a, and BaseBinaryEdge< 6, SE3Quat, VertexSE3Expmap, VertexSE3Expmap >::m_b.