SaDVIO
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
isae::Frame Class Reference

A Frame class representing a set of sensors and landmarks at a specific timestamp. More...

#include <frame.h>

Inheritance diagram for isae::Frame:
Inheritance graph
[legend]
Collaboration diagram for isae::Frame:
Collaboration graph
[legend]

Public Member Functions

 Frame ()=default
 
void init (const std::vector< std::shared_ptr< ImageSensor >> &sensors, unsigned long long timestamp)
 Initialization of a frame with images. More...
 
void init (std::shared_ptr< IMU > &imu, unsigned long long timestamp)
 Initialization of a frame with IMU. More...
 
void init (const std::vector< std::shared_ptr< ASensor >> &sensors, unsigned long long timestamp)
 Initialization of a frame with a set of Sensors. More...
 
std::vector< std::shared_ptr< ImageSensor > > getSensors () const
 
std::shared_ptr< IMUgetIMU () const
 
void setIMU (std::shared_ptr< IMU > &imu, Eigen::Affine3d T_s_f)
 
void cleanSensors ()
 free all the pointers related to sensors More...
 
void setWorld2FrameTransform (Eigen::Affine3d T_f_w)
 Set the pose of the world wrt the frame. More...
 
Eigen::Affine3d getWorld2FrameTransform () const
 Get the pose of the world wrt to the frame. More...
 
Eigen::Affine3d getFrame2WorldTransform () const
 Get the pose of the frame in the world frame. More...
 
void addLandmark (std::shared_ptr< ALandmark > ldmk)
 
void addLandmarks (isae::typed_vec_landmarks ldmks)
 
typed_vec_landmarks getLandmarks () const
 
uint getInMapLandmarksNumber () const
 
uint getLandmarksNumber () const
 
void cleanLandmarks ()
 
unsigned long long getTimestamp () const
 
void setKeyFrame ()
 
void unsetKeyFrame ()
 
bool isKeyFrame () const
 Return true if the frame is a keyframe, false otherwise. More...
 
bool hasPrior () const
 
void setPrior (Eigen::Affine3d T_prior, Vector6d inf_prior)
 
Eigen::Affine3d getPrior () const
 
Vector6d getInfPrior () const
 
void setdTCov (Eigen::MatrixXd dT_cov)
 
Eigen::MatrixXd getdTCov () const
 

Public Attributes

int _id
 Unique ID for the frame, assigned at initialization. More...
 

Static Public Attributes

static int _frame_count = 0
 Static counter for frame IDs. More...
 

Detailed Description

A Frame class representing a set of sensors and landmarks at a specific timestamp.

A frame is the core component of a SLAM system. It gathers measurements for one or more sensors (e.g., cameras, IMUs) at a specific timestamp. It contains pointers to sensor objects as well as pointer to landmarks that serves for mapping and localization. A frame will be located in space with its pose and eventually, a covariance will be assoiated to it. If a frame is considered as a keyframe, it will be incorporated in a map.

Constructor & Destructor Documentation

◆ Frame()

isae::Frame::Frame ( )
default

Member Function Documentation

◆ addLandmark()

void isae::Frame::addLandmark ( std::shared_ptr< ALandmark ldmk)
inline

◆ addLandmarks()

void isae::Frame::addLandmarks ( isae::typed_vec_landmarks  ldmks)
inline

◆ cleanLandmarks()

void isae::Frame::cleanLandmarks ( )

◆ cleanSensors()

void isae::Frame::cleanSensors ( )
inline

free all the pointers related to sensors

◆ getdTCov()

Eigen::MatrixXd isae::Frame::getdTCov ( ) const
inline

◆ getFrame2WorldTransform()

Eigen::Affine3d isae::Frame::getFrame2WorldTransform ( ) const
inline

Get the pose of the frame in the world frame.

◆ getIMU()

std::shared_ptr<IMU> isae::Frame::getIMU ( ) const
inline

◆ getInfPrior()

Vector6d isae::Frame::getInfPrior ( ) const
inline

◆ getInMapLandmarksNumber()

uint isae::Frame::getInMapLandmarksNumber ( ) const

◆ getLandmarks()

typed_vec_landmarks isae::Frame::getLandmarks ( ) const
inline

◆ getLandmarksNumber()

uint isae::Frame::getLandmarksNumber ( ) const
inline

◆ getPrior()

Eigen::Affine3d isae::Frame::getPrior ( ) const
inline

◆ getSensors()

std::vector<std::shared_ptr<ImageSensor> > isae::Frame::getSensors ( ) const
inline

◆ getTimestamp()

unsigned long long isae::Frame::getTimestamp ( ) const
inline

◆ getWorld2FrameTransform()

Eigen::Affine3d isae::Frame::getWorld2FrameTransform ( ) const
inline

Get the pose of the world wrt to the frame.

◆ hasPrior()

bool isae::Frame::hasPrior ( ) const
inline

◆ init() [1/3]

void isae::Frame::init ( const std::vector< std::shared_ptr< ASensor >> &  sensors,
unsigned long long  timestamp 
)

Initialization of a frame with a set of Sensors.

◆ init() [2/3]

void isae::Frame::init ( const std::vector< std::shared_ptr< ImageSensor >> &  sensors,
unsigned long long  timestamp 
)

Initialization of a frame with images.

◆ init() [3/3]

void isae::Frame::init ( std::shared_ptr< IMU > &  imu,
unsigned long long  timestamp 
)

Initialization of a frame with IMU.

◆ isKeyFrame()

bool isae::Frame::isKeyFrame ( ) const
inline

Return true if the frame is a keyframe, false otherwise.

◆ setdTCov()

void isae::Frame::setdTCov ( Eigen::MatrixXd  dT_cov)
inline

◆ setIMU()

void isae::Frame::setIMU ( std::shared_ptr< IMU > &  imu,
Eigen::Affine3d  T_s_f 
)

◆ setKeyFrame()

void isae::Frame::setKeyFrame ( )
inline

◆ setPrior()

void isae::Frame::setPrior ( Eigen::Affine3d  T_prior,
Vector6d  inf_prior 
)
inline

◆ setWorld2FrameTransform()

void isae::Frame::setWorld2FrameTransform ( Eigen::Affine3d  T_f_w)
inline

Set the pose of the world wrt the frame.

◆ unsetKeyFrame()

void isae::Frame::unsetKeyFrame ( )
inline

Member Data Documentation

◆ _frame_count

int isae::Frame::_frame_count = 0
static

Static counter for frame IDs.

◆ _id

int isae::Frame::_id

Unique ID for the frame, assigned at initialization.


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