Static Public Member Functions | Static Protected Member Functions | List of all members
ov_eval::AlignTrajectory Class Reference

Class that given two trajectories, will align the two. More...

#include <AlignTrajectory.h>

Static Public Member Functions

static void align_trajectory (const std::vector< Eigen::Matrix< double, 7, 1 >> &traj_es, const std::vector< Eigen::Matrix< double, 7, 1 >> &traj_gt, Eigen::Matrix3d &R, Eigen::Vector3d &t, double &s, std::string method, int n_aligned=-1)
 Align estimate to GT using a desired method using a set of initial poses. More...
 

Static Protected Member Functions

static void align_posyaw (const std::vector< Eigen::Matrix< double, 7, 1 >> &traj_es, const std::vector< Eigen::Matrix< double, 7, 1 >> &traj_gt, Eigen::Matrix3d &R, Eigen::Vector3d &t, int n_aligned=-1)
 Align estimate to GT using only position and yaw (for gravity aligned trajectories) using a set of initial poses. More...
 
static void align_posyaw_single (const std::vector< Eigen::Matrix< double, 7, 1 >> &traj_es, const std::vector< Eigen::Matrix< double, 7, 1 >> &traj_gt, Eigen::Matrix3d &R, Eigen::Vector3d &t)
 Align estimate to GT using only position and yaw (for gravity aligned trajectories) using only the first poses. More...
 
static void align_se3 (const std::vector< Eigen::Matrix< double, 7, 1 >> &traj_es, const std::vector< Eigen::Matrix< double, 7, 1 >> &traj_gt, Eigen::Matrix3d &R, Eigen::Vector3d &t, int n_aligned=-1)
 Align estimate to GT using a full SE(3) transform using a set of initial poses. More...
 
static void align_se3_single (const std::vector< Eigen::Matrix< double, 7, 1 >> &traj_es, const std::vector< Eigen::Matrix< double, 7, 1 >> &traj_gt, Eigen::Matrix3d &R, Eigen::Vector3d &t)
 Align estimate to GT using a full SE(3) transform using only the first poses. More...
 
static void align_sim3 (const std::vector< Eigen::Matrix< double, 7, 1 >> &traj_es, const std::vector< Eigen::Matrix< double, 7, 1 >> &traj_gt, Eigen::Matrix3d &R, Eigen::Vector3d &t, double &s, int n_aligned=-1)
 Align estimate to GT using a full SIM(3) transform using a set of initial poses. More...
 

Detailed Description

Class that given two trajectories, will align the two.

Given two trajectories that have already been time synchronized we will compute the alignment transform between the two. We can do this using different alignment methods such as full SE(3) transform, just postiion and yaw, or SIM(3). These scripts are based on the rpg_trajectory_evaluation toolkit by Zhang and Scaramuzza. Please take a look at their 2018 IROS paper on these methods.

Definition at line 46 of file AlignTrajectory.h.

Member Function Documentation

◆ align_posyaw()

void AlignTrajectory::align_posyaw ( const std::vector< Eigen::Matrix< double, 7, 1 >> &  traj_es,
const std::vector< Eigen::Matrix< double, 7, 1 >> &  traj_gt,
Eigen::Matrix3d &  R,
Eigen::Vector3d &  t,
int  n_aligned = -1 
)
staticprotected

Align estimate to GT using only position and yaw (for gravity aligned trajectories) using a set of initial poses.

Parameters
traj_esEstimated trajectory values in estimate frame [pos,quat]
traj_gtGroundtruth trjaectory in groundtruth frame [pos,quat]
RRotation from estimate to GT frame that will be computed
ttranslation from estimate to GT frame that will be computed
n_alignedNumber of poses to use for alignment (-1 will use all)

Definition at line 84 of file AlignTrajectory.cpp.

◆ align_posyaw_single()

void AlignTrajectory::align_posyaw_single ( const std::vector< Eigen::Matrix< double, 7, 1 >> &  traj_es,
const std::vector< Eigen::Matrix< double, 7, 1 >> &  traj_gt,
Eigen::Matrix3d &  R,
Eigen::Vector3d &  t 
)
staticprotected

Align estimate to GT using only position and yaw (for gravity aligned trajectories) using only the first poses.

Parameters
traj_esEstimated trajectory values in estimate frame [pos,quat]
traj_gtGroundtruth trjaectory in groundtruth frame [pos,quat]
RRotation from estimate to GT frame that will be computed
ttranslation from estimate to GT frame that will be computed

Definition at line 57 of file AlignTrajectory.cpp.

◆ align_se3()

void AlignTrajectory::align_se3 ( const std::vector< Eigen::Matrix< double, 7, 1 >> &  traj_es,
const std::vector< Eigen::Matrix< double, 7, 1 >> &  traj_gt,
Eigen::Matrix3d &  R,
Eigen::Vector3d &  t,
int  n_aligned = -1 
)
staticprotected

Align estimate to GT using a full SE(3) transform using a set of initial poses.

Parameters
traj_esEstimated trajectory values in estimate frame [pos,quat]
traj_gtGroundtruth trjaectory in groundtruth frame [pos,quat]
RRotation from estimate to GT frame that will be computed
ttranslation from estimate to GT frame that will be computed
n_alignedNumber of poses to use for alignment (-1 will use all)

Definition at line 126 of file AlignTrajectory.cpp.

◆ align_se3_single()

void AlignTrajectory::align_se3_single ( const std::vector< Eigen::Matrix< double, 7, 1 >> &  traj_es,
const std::vector< Eigen::Matrix< double, 7, 1 >> &  traj_gt,
Eigen::Matrix3d &  R,
Eigen::Vector3d &  t 
)
staticprotected

Align estimate to GT using a full SE(3) transform using only the first poses.

Parameters
traj_esEstimated trajectory values in estimate frame [pos,quat]
traj_gtGroundtruth trjaectory in groundtruth frame [pos,quat]
RRotation from estimate to GT frame that will be computed
ttranslation from estimate to GT frame that will be computed

Definition at line 108 of file AlignTrajectory.cpp.

◆ align_sim3()

void AlignTrajectory::align_sim3 ( const std::vector< Eigen::Matrix< double, 7, 1 >> &  traj_es,
const std::vector< Eigen::Matrix< double, 7, 1 >> &  traj_gt,
Eigen::Matrix3d &  R,
Eigen::Vector3d &  t,
double &  s,
int  n_aligned = -1 
)
staticprotected

Align estimate to GT using a full SIM(3) transform using a set of initial poses.

Parameters
traj_esEstimated trajectory values in estimate frame [pos,quat]
traj_gtGroundtruth trjaectory in groundtruth frame [pos,quat]
RRotation from estimate to GT frame that will be computed
ttranslation from estimate to GT frame that will be computed
sscale from estimate to GT frame that will be computed
n_alignedNumber of poses to use for alignment (-1 will use all)

Definition at line 149 of file AlignTrajectory.cpp.

◆ align_trajectory()

void AlignTrajectory::align_trajectory ( const std::vector< Eigen::Matrix< double, 7, 1 >> &  traj_es,
const std::vector< Eigen::Matrix< double, 7, 1 >> &  traj_gt,
Eigen::Matrix3d &  R,
Eigen::Vector3d &  t,
double &  s,
std::string  method,
int  n_aligned = -1 
)
static

Align estimate to GT using a desired method using a set of initial poses.

Parameters
traj_esEstimated trajectory values in estimate frame [pos,quat]
traj_gtGroundtruth trjaectory in groundtruth frame [pos,quat]
RRotation from estimate to GT frame that will be computed
ttranslation from estimate to GT frame that will be computed
sscale from estimate to GT frame that will be computed
methodMethod used for alignment
n_alignedNumber of poses to use for alignment (-1 will use all)

Definition at line 26 of file AlignTrajectory.cpp.


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


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