ov_type namespace

Dynamic type system types.

Contents

Types leveraged by the EKF system for covariance management. These types store where they are in the covariance along with their current estimate. Each also has an update function that takes a vector delta and updates their manifold representation. Please see each type for details on what they represent, but their names should be straightforward. See Covariance Index Internals for high level details on how the type system and covariance management works. Each type is described by the following:

class Type {
protected:
  // Current best estimate
  Eigen::MatrixXd _value;
  // Location of error state in covariance
  int _id = -1;
  // Dimension of error state
  int _size = -1;
  // Update eq. taking vector to their rep.
  void update(const Eigen::VectorXd dx);
};

When deriving Jacobians, it is important to ensure that the error state used matches the type. Each type updates an update function, and thus directly defines the error state it has. A type with non-trivial error states is the ov_type::JPLQuat which has equivalent quaterion and SO(3) error. For rotations and on-manifold representations, State Estimation for Robotics by Timothy D. Barfoot [3] covers a nice range of examples.

Classes

class IMU
Derived Type class that implements an IMU state.
class JPLQuat
Derived Type class that implements JPL quaternion.
class Landmark
Type that implements a persistent SLAM feature.
class LandmarkRepresentation
Class has useful feature representation types.
class PoseJPL
Derived Type class that implements a 6 d.o.f pose.
class Type
Base class for estimated variables.
class Vec
Derived Type class that implements vector variables.