Public Member Functions | List of all members
ov_init::State_JPLQuatLocal Class Reference

JPL quaternion CERES state parameterization. More...

#include <State_JPLQuatLocal.h>

Inheritance diagram for ov_init::State_JPLQuatLocal:
Inheritance graph
[legend]

Public Member Functions

bool ComputeJacobian (const double *x, double *jacobian) const override
 Computes the jacobian in respect to the local parameterization. More...
 
int GlobalSize () const override
 
int LocalSize () const override
 
bool Plus (const double *x, const double *delta, double *x_plus_delta) const override
 State update function for a JPL quaternion representation. More...
 

Detailed Description

JPL quaternion CERES state parameterization.

Definition at line 32 of file State_JPLQuatLocal.h.

Member Function Documentation

◆ ComputeJacobian()

bool State_JPLQuatLocal::ComputeJacobian ( const double *  x,
double *  jacobian 
) const
override

Computes the jacobian in respect to the local parameterization.

This essentially "tricks" ceres. Instead of doing what ceres wants: dr/dlocal= dr/dglobal * dglobal/dlocal

We instead directly do: dr/dlocal= [ dr/dlocal, 0] * [I; 0]= dr/dlocal. Therefore we here define dglobal/dlocal= [I; 0]

Definition at line 51 of file State_JPLQuatLocal.cpp.

◆ GlobalSize()

int ov_init::State_JPLQuatLocal::GlobalSize ( ) const
inlineoverride

Definition at line 59 of file State_JPLQuatLocal.h.

◆ LocalSize()

int ov_init::State_JPLQuatLocal::LocalSize ( ) const
inlineoverride

Definition at line 61 of file State_JPLQuatLocal.h.

◆ Plus()

bool State_JPLQuatLocal::Plus ( const double *  x,
const double *  delta,
double *  x_plus_delta 
) const
override

State update function for a JPL quaternion representation.

Implements update operation by left-multiplying the current quaternion with a quaternion built from a small axis-angle perturbation.

\[ \bar{q}=norm\Big(\begin{bmatrix} 0.5*\mathbf{\theta_{dx}} \\ 1 \end{bmatrix}\Big) \hat{\bar{q}} \]

Definition at line 28 of file State_JPLQuatLocal.cpp.


The documentation for this class was generated from the following files:


ov_init
Author(s): Patrick Geneva , Kevin Eckenhoff , Guoquan Huang
autogenerated on Mon Dec 16 2024 03:06:51