Class that given two trajectories, will align the two.
More...
#include <AlignTrajectory.h>
|
| 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 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...
|
| |
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.
◆ 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_es | Estimated trajectory values in estimate frame [pos,quat] |
| traj_gt | Groundtruth trjaectory in groundtruth frame [pos,quat] |
| R | Rotation from estimate to GT frame that will be computed |
| t | translation from estimate to GT frame that will be computed |
| n_aligned | Number 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_es | Estimated trajectory values in estimate frame [pos,quat] |
| traj_gt | Groundtruth trjaectory in groundtruth frame [pos,quat] |
| R | Rotation from estimate to GT frame that will be computed |
| t | translation 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_es | Estimated trajectory values in estimate frame [pos,quat] |
| traj_gt | Groundtruth trjaectory in groundtruth frame [pos,quat] |
| R | Rotation from estimate to GT frame that will be computed |
| t | translation from estimate to GT frame that will be computed |
| n_aligned | Number 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_es | Estimated trajectory values in estimate frame [pos,quat] |
| traj_gt | Groundtruth trjaectory in groundtruth frame [pos,quat] |
| R | Rotation from estimate to GT frame that will be computed |
| t | translation 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_es | Estimated trajectory values in estimate frame [pos,quat] |
| traj_gt | Groundtruth trjaectory in groundtruth frame [pos,quat] |
| R | Rotation from estimate to GT frame that will be computed |
| t | translation from estimate to GT frame that will be computed |
| s | scale from estimate to GT frame that will be computed |
| n_aligned | Number 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_es | Estimated trajectory values in estimate frame [pos,quat] |
| traj_gt | Groundtruth trjaectory in groundtruth frame [pos,quat] |
| R | Rotation from estimate to GT frame that will be computed |
| t | translation from estimate to GT frame that will be computed |
| s | scale from estimate to GT frame that will be computed |
| method | Method used for alignment |
| n_aligned | Number 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: