Calico
A visual-inertial calibration library designed for rapid problem construction and debugging.
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
calico::sensors::AccelerometerVectorNavModel Class Reference

#include <accelerometer_models.h>

Inheritance diagram for calico::sensors::AccelerometerVectorNavModel:
Inheritance graph
[legend]
Collaboration diagram for calico::sensors::AccelerometerVectorNavModel:
Collaboration graph
[legend]

Public Member Functions

AccelerometerVectorNavModeloperator= (const AccelerometerVectorNavModel &)=default
 
AccelerometerIntrinsicsModel GetType () const final
 Getter for accelerometer model type.
 
int NumberOfParameters () const final
 Getter for the number of parameters for this model.
 
- Public Member Functions inherited from calico::sensors::AccelerometerModel
template<typename T >
absl::StatusOr< Eigen::Vector3< T > > Project (const Eigen::VectorX< T > &intrinsics, const Eigen::Vector3< T > &p_sensor_world_sensor) const
 
template<typename T >
absl::StatusOr< Eigen::Vector3< T > > Unproject (const Eigen::VectorX< T > &intrinsics, const Eigen::Vector3< T > &measurement) const
 

Static Public Member Functions

template<typename T >
static absl::StatusOr< Eigen::Vector3< T > > Project (const Eigen::VectorX< T > &intrinsics, const Eigen::Vector3< T > &p_sensor_world_sensor)
 
template<typename T >
static absl::StatusOr< Eigen::Vector3< T > > Unproject (const Eigen::VectorX< T > &intrinsics, const Eigen::Vector3< T > &measurement)
 
- Static Public Member Functions inherited from calico::sensors::AccelerometerModel
static std::unique_ptr< AccelerometerModelCreate (AccelerometerIntrinsicsModel accelerometer_model)
 

Static Public Attributes

static constexpr int kNumberOfParameters = 12
 
static constexpr AccelerometerIntrinsicsModel kModelType = AccelerometerIntrinsicsModel::kAccelerometerVectorNav
 

Detailed Description

Vector-Nav model. See their page for more details.
Parameter order: \([s_x, s_y, s_z, a_1, a_2, a_3, a_4, a_5, a_6, b_x, b_y, b_z]\)

Member Function Documentation

◆ Project()

template<typename T >
static absl::StatusOr<Eigen::Vector3<T> > calico::sensors::AccelerometerVectorNavModel::Project ( const Eigen::VectorX< T > &  intrinsics,
const Eigen::Vector3< T > &  p_sensor_world_sensor 
)
inlinestatic

Returns measurement \(\mathbf{f}\), a 3-D vector such that

\[ \mathbf{f} = \mathbf{S}\mathbf{A}\mathbf{p}^s_{ws} + \mathbf{b}\\\\ \mathbf{S} = \left[\begin{matrix} s_x & 0 & 0\\ 0 & s_y & 0\\ 0 & 0 & s_z \end{matrix}\right], \mathbf{A} = \left[\begin{matrix} 1 & a_1 & a_2\\ a_3 & 1 & a_4\\ a_5 & a_6 & 1 \end{matrix}\right], \mathbf{b} = \left[\begin{matrix}b_x\\b_y\\b_z\end{matrix}\right] \]

◆ Unproject()

template<typename T >
static absl::StatusOr<Eigen::Vector3<T> > calico::sensors::AccelerometerVectorNavModel::Unproject ( const Eigen::VectorX< T > &  intrinsics,
const Eigen::Vector3< T > &  measurement 
)
inlinestatic

Inverts the measurement model to obtain specific force as observed by the sensor.

\[ \mathbf{p}^s_{ws} = \left(\mathbf{S}\mathbf{A}\right)^{-1} \left(\mathbf{f} - \mathbf{b}\right)\\\\ \mathbf{S} = \left[\begin{matrix} s_x & 0 & 0\\ 0 & s_y & 0\\ 0 & 0 & s_z \end{matrix}\right], \mathbf{A} = \left[\begin{matrix} 1 & a_1 & a_2\\ a_3 & 1 & a_4\\ a_5 & a_6 & 1 \end{matrix}\right], \mathbf{b} = \left[\begin{matrix}b_x\\b_y\\b_z\end{matrix}\right] \]


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