#include <keyframe_graph_solver_isam.h>
Public Types | |
typedef std::pair< int, int > | Observation |
typedef std::pair< int, int > | Observation |
Public Member Functions | |
void | add_aruco (aruco::Marker marker, isam::Pose3d_Node *from, isam::Noise noise3) |
void | add_aruco (aruco::Marker marker, isam::Pose3d_Node *from, isam::Noise noise3) |
void | add_edge (isam::Pose3d_Node *from, isam::Pose3d_Node *to, double x, double y, double z, double roll, double pitch, double yaw, isam::Noise noise) |
void | add_edge (isam::Pose3d_Node *from, isam::Pose3d_Node *to, double x, double y, double z, double roll, double pitch, double yaw, isam::Noise noise) |
void | add_edge (isam::Pose3d_Node *from, isam::Pose3d_Node *to, const AffineTransform &pose, isam::Noise noise) |
void | add_edge (isam::Pose3d_Node *from, isam::Pose3d_Node *to, const AffineTransform &pose, isam::Noise noise) |
void | add_edges (u_int kf_idx, KeyframeVector &keyframes, const KeyframeAssociationVector &associations) |
void | add_edges (u_int kf_idx, KeyframeVector &keyframes, const KeyframeAssociationVector &associations) |
void | add_landmark (KeyframeVector &keyframes, KeyframeAssociation association, int from_idx, int to_idx, int j, isam::Noise noise3) |
void | add_landmark (KeyframeVector &keyframes, KeyframeAssociation association, int from_idx, int to_idx, int j, isam::Noise noise3) |
void | add_landmark_from_file (int from_idx, int to_idx, double x, double y, double z, isam::Noise noise3) |
void | add_landmark_from_file (int from_idx, int to_idx, double x, double y, double z, isam::Noise noise3) |
void | add_pose (Pose pose, isam::Noise noise) |
void | add_pose (Pose pose, isam::Noise noise) |
void | add_pose (double x, double y, double z, double roll, double pitch, double yaw, isam::Noise noise) |
void | add_pose (double x, double y, double z, double roll, double pitch, double yaw, isam::Noise noise) |
void | add_prior (isam::Pose3d_Node *pose_node, double x, double y, double z, double roll, double pitch, double yaw, isam::Noise noise) |
void | add_prior (isam::Pose3d_Node *pose_node, double x, double y, double z, double roll, double pitch, double yaw, isam::Noise noise) |
void | add_vo (isam::Pose3d_Node *from, isam::Pose3d_Node *to, AffineTransform pose, isam::Noise noise) |
void | add_vo (isam::Pose3d_Node *from, isam::Pose3d_Node *to, AffineTransform pose, isam::Noise noise) |
void | getArucoPos (std::vector< std::vector< double > > *positions, std::vector< int > *marker_kfs, KeyframeVector &keyframes) |
void | getArucoPos (std::vector< std::vector< double > > *positions, std::vector< int > *marker_kfs, KeyframeVector &keyframes) |
u_int | getNOriginalPoses () |
u_int | getNOriginalPoses () |
void | getOptimizedPoses (AffineTransformVector &poses_) |
void | getOptimizedPoses (AffineTransformVector &poses_) |
void | giveMarkers (std::vector< aruco::Marker > markers) |
void | giveMarkers (std::vector< aruco::Marker > markers) |
KeyframeGraphSolverISAM () | |
Constructor. | |
KeyframeGraphSolverISAM () | |
Constructor. | |
void | load_landmarks (std::string filepath) |
void | load_landmarks (std::string filepath) |
void | optimizeGraph () |
void | optimizeGraph () |
void | parse (std::string fname, rgbdtools::KeyframeVector keyframes) |
void | parse (std::string fname, rgbdtools::KeyframeVector keyframes) |
void | parse_line (char *str) |
void | parse_line (char *str) |
void | save_graph (std::string filepath) |
void | save_graph (std::string filepath) |
void | save_landmarks (std::string filepath) |
void | save_landmarks (std::string filepath) |
void | solve (KeyframeVector &keyframes, const KeyframeAssociationVector &associations) |
Main method to call to perform graph solving. | |
void | solve (KeyframeVector &keyframes, const KeyframeAssociationVector &associations) |
Main method to call to perform graph solving. | |
void | solve (KeyframeVector &keyframes, const KeyframeAssociationVector &associations, AffineTransformVector &path) |
void | solve (KeyframeVector &keyframes, const KeyframeAssociationVector &associations, AffineTransformVector &path) |
void | solve_Iterative (KeyframeVector &keyframes) |
void | solve_Iterative (KeyframeVector &keyframes) |
void | solve_rgb_Iterative (KeyframeVector &keyframes) |
void | solve_rgb_Iterative (KeyframeVector &keyframes) |
~KeyframeGraphSolverISAM () | |
Default destructor. | |
~KeyframeGraphSolverISAM () | |
Default destructor. | |
Public Attributes | |
std::vector < isam::Pose3d_Point3d_Factor * > | landmark_observations |
std::map< Observation, isam::Point3d_Node * > | landmarks |
std::vector< isam::Point3d_Node * > | landmarks_explicit |
std::vector< int > | marker_kf |
std::vector < isam::Pose3d_Point3d_Factor * > | marker_observations |
std::vector< isam::Point3d_Node * > | marker_poses |
std::vector< aruco::Marker > | markers_ |
u_int | n_original_poses |
std::vector< isam::Pose3d_Node * > | poses |
std::vector< isam::Factor * > | priors |
isam::Slam | slam |
std::vector< bool > | valid_markers |
std::vector< bool > | valid_poses |
std::vector < isam::Pose3d_Pose3d_Factor * > | vodom |
Private Member Functions | |
void | parse_factors () |
void | parse_factors () |
void | parse_nodes () |
void | parse_nodes () |
Definition at line 36 of file include/rgbdtools/graph/keyframe_graph_solver_isam.h.
typedef std::pair<int,int> rgbdtools::KeyframeGraphSolverISAM::Observation |
Definition at line 68 of file include/rgbdtools/graph/keyframe_graph_solver_isam.h.
typedef std::pair<int,int> rgbdtools::KeyframeGraphSolverISAM::Observation |
Definition at line 68 of file rgbdtools_git/include/rgbdtools/graph/keyframe_graph_solver_isam.h.
Constructor.
Definition at line 32 of file keyframe_graph_solver_isam.cpp.
Default destructor.
Definition at line 41 of file keyframe_graph_solver_isam.cpp.
Constructor.
Default destructor.
void rgbdtools::KeyframeGraphSolverISAM::add_aruco | ( | aruco::Marker | marker, |
isam::Pose3d_Node * | from, | ||
isam::Noise | noise3 | ||
) |
Definition at line 512 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::add_aruco | ( | aruco::Marker | marker, |
isam::Pose3d_Node * | from, | ||
isam::Noise | noise3 | ||
) |
void rgbdtools::KeyframeGraphSolverISAM::add_edge | ( | isam::Pose3d_Node * | from, |
isam::Pose3d_Node * | to, | ||
double | x, | ||
double | y, | ||
double | z, | ||
double | roll, | ||
double | pitch, | ||
double | yaw, | ||
isam::Noise | noise | ||
) |
Definition at line 205 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::add_edge | ( | isam::Pose3d_Node * | from, |
isam::Pose3d_Node * | to, | ||
double | x, | ||
double | y, | ||
double | z, | ||
double | roll, | ||
double | pitch, | ||
double | yaw, | ||
isam::Noise | noise | ||
) |
void rgbdtools::KeyframeGraphSolverISAM::add_edge | ( | isam::Pose3d_Node * | from, |
isam::Pose3d_Node * | to, | ||
const AffineTransform & | pose, | ||
isam::Noise | noise | ||
) |
Definition at line 120 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::add_edge | ( | isam::Pose3d_Node * | from, |
isam::Pose3d_Node * | to, | ||
const AffineTransform & | pose, | ||
isam::Noise | noise | ||
) |
void rgbdtools::KeyframeGraphSolverISAM::add_edges | ( | u_int | kf_idx, |
KeyframeVector & | keyframes, | ||
const KeyframeAssociationVector & | associations | ||
) |
Definition at line 130 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::add_edges | ( | u_int | kf_idx, |
KeyframeVector & | keyframes, | ||
const KeyframeAssociationVector & | associations | ||
) |
void rgbdtools::KeyframeGraphSolverISAM::add_landmark | ( | KeyframeVector & | keyframes, |
KeyframeAssociation | association, | ||
int | from_idx, | ||
int | to_idx, | ||
int | j, | ||
isam::Noise | noise3 | ||
) |
Definition at line 469 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::add_landmark | ( | KeyframeVector & | keyframes, |
KeyframeAssociation | association, | ||
int | from_idx, | ||
int | to_idx, | ||
int | j, | ||
isam::Noise | noise3 | ||
) |
void rgbdtools::KeyframeGraphSolverISAM::add_landmark_from_file | ( | int | from_idx, |
int | to_idx, | ||
double | x, | ||
double | y, | ||
double | z, | ||
isam::Noise | noise3 | ||
) |
Definition at line 459 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::add_landmark_from_file | ( | int | from_idx, |
int | to_idx, | ||
double | x, | ||
double | y, | ||
double | z, | ||
isam::Noise | noise3 | ||
) |
void rgbdtools::KeyframeGraphSolverISAM::add_pose | ( | Pose | pose, |
isam::Noise | noise | ||
) |
Definition at line 411 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::add_pose | ( | Pose | pose, |
isam::Noise | noise | ||
) |
void rgbdtools::KeyframeGraphSolverISAM::add_pose | ( | double | x, |
double | y, | ||
double | z, | ||
double | roll, | ||
double | pitch, | ||
double | yaw, | ||
isam::Noise | noise | ||
) |
Definition at line 428 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::add_pose | ( | double | x, |
double | y, | ||
double | z, | ||
double | roll, | ||
double | pitch, | ||
double | yaw, | ||
isam::Noise | noise | ||
) |
void rgbdtools::KeyframeGraphSolverISAM::add_prior | ( | isam::Pose3d_Node * | pose_node, |
double | x, | ||
double | y, | ||
double | z, | ||
double | roll, | ||
double | pitch, | ||
double | yaw, | ||
isam::Noise | noise | ||
) |
Definition at line 445 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::add_prior | ( | isam::Pose3d_Node * | pose_node, |
double | x, | ||
double | y, | ||
double | z, | ||
double | roll, | ||
double | pitch, | ||
double | yaw, | ||
isam::Noise | noise | ||
) |
void rgbdtools::KeyframeGraphSolverISAM::add_vo | ( | isam::Pose3d_Node * | from, |
isam::Pose3d_Node * | to, | ||
AffineTransform | pose, | ||
isam::Noise | noise | ||
) |
void rgbdtools::KeyframeGraphSolverISAM::add_vo | ( | isam::Pose3d_Node * | from, |
isam::Pose3d_Node * | to, | ||
AffineTransform | pose, | ||
isam::Noise | noise | ||
) |
void rgbdtools::KeyframeGraphSolverISAM::getArucoPos | ( | std::vector< std::vector< double > > * | positions, |
std::vector< int > * | marker_kfs, | ||
KeyframeVector & | keyframes | ||
) |
Definition at line 746 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::getArucoPos | ( | std::vector< std::vector< double > > * | positions, |
std::vector< int > * | marker_kfs, | ||
KeyframeVector & | keyframes | ||
) |
u_int rgbdtools::KeyframeGraphSolverISAM::getNOriginalPoses | ( | ) | [inline] |
Definition at line 66 of file rgbdtools_git/include/rgbdtools/graph/keyframe_graph_solver_isam.h.
u_int rgbdtools::KeyframeGraphSolverISAM::getNOriginalPoses | ( | ) | [inline] |
Definition at line 66 of file include/rgbdtools/graph/keyframe_graph_solver_isam.h.
Definition at line 773 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::giveMarkers | ( | std::vector< aruco::Marker > | markers | ) |
Definition at line 45 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::giveMarkers | ( | std::vector< aruco::Marker > | markers | ) |
void rgbdtools::KeyframeGraphSolverISAM::load_landmarks | ( | std::string | filepath | ) |
void rgbdtools::KeyframeGraphSolverISAM::load_landmarks | ( | std::string | filepath | ) |
Definition at line 73 of file keyframe_graph_solver_isam.cpp.
Definition at line 767 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::parse | ( | std::string | fname, |
rgbdtools::KeyframeVector | keyframes | ||
) |
void rgbdtools::KeyframeGraphSolverISAM::parse | ( | std::string | fname, |
rgbdtools::KeyframeVector | keyframes | ||
) |
Definition at line 369 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::parse_factors | ( | ) | [private] |
void rgbdtools::KeyframeGraphSolverISAM::parse_factors | ( | ) | [private] |
Definition at line 246 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::parse_line | ( | char * | str | ) |
void rgbdtools::KeyframeGraphSolverISAM::parse_line | ( | char * | str | ) |
Definition at line 340 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::parse_nodes | ( | ) | [private] |
void rgbdtools::KeyframeGraphSolverISAM::parse_nodes | ( | ) | [private] |
Definition at line 217 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::save_graph | ( | std::string | filepath | ) |
Definition at line 50 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::save_graph | ( | std::string | filepath | ) |
void rgbdtools::KeyframeGraphSolverISAM::save_landmarks | ( | std::string | filepath | ) |
void rgbdtools::KeyframeGraphSolverISAM::save_landmarks | ( | std::string | filepath | ) |
Definition at line 56 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::solve | ( | KeyframeVector & | keyframes, |
const KeyframeAssociationVector & | associations | ||
) | [virtual] |
Main method to call to perform graph solving.
The keyframe poses will be modified according to some error propagation model informed by the graph defined by the keyframe associations.
keyframes | vector of keyframes |
associations | vector of input keyframe associations |
Implements rgbdtools::KeyframeGraphSolver.
void rgbdtools::KeyframeGraphSolverISAM::solve | ( | KeyframeVector & | keyframes, |
const KeyframeAssociationVector & | associations | ||
) | [virtual] |
Main method to call to perform graph solving.
The keyframe poses will be modified according to some error propagation model informed by the graph defined by the keyframe associations.
keyframes | vector of keyframes |
associations | vector of input keyframe associations |
Implements rgbdtools::KeyframeGraphSolver.
Definition at line 524 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::solve | ( | KeyframeVector & | keyframes, |
const KeyframeAssociationVector & | associations, | ||
AffineTransformVector & | path | ||
) | [virtual] |
Implements rgbdtools::KeyframeGraphSolver.
Definition at line 689 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::solve | ( | KeyframeVector & | keyframes, |
const KeyframeAssociationVector & | associations, | ||
AffineTransformVector & | path | ||
) | [virtual] |
Implements rgbdtools::KeyframeGraphSolver.
void rgbdtools::KeyframeGraphSolverISAM::solve_Iterative | ( | KeyframeVector & | keyframes | ) |
void rgbdtools::KeyframeGraphSolverISAM::solve_Iterative | ( | KeyframeVector & | keyframes | ) |
Definition at line 696 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::solve_rgb_Iterative | ( | KeyframeVector & | keyframes | ) |
Definition at line 728 of file keyframe_graph_solver_isam.cpp.
void rgbdtools::KeyframeGraphSolverISAM::solve_rgb_Iterative | ( | KeyframeVector & | keyframes | ) |
std::vector< isam::Pose3d_Point3d_Factor * > rgbdtools::KeyframeGraphSolverISAM::landmark_observations |
Definition at line 82 of file include/rgbdtools/graph/keyframe_graph_solver_isam.h.
std::map< Observation, isam::Point3d_Node * > rgbdtools::KeyframeGraphSolverISAM::landmarks |
Definition at line 71 of file include/rgbdtools/graph/keyframe_graph_solver_isam.h.
std::vector< isam::Point3d_Node * > rgbdtools::KeyframeGraphSolverISAM::landmarks_explicit |
Definition at line 72 of file include/rgbdtools/graph/keyframe_graph_solver_isam.h.
std::vector< int > rgbdtools::KeyframeGraphSolverISAM::marker_kf |
Definition at line 74 of file include/rgbdtools/graph/keyframe_graph_solver_isam.h.
std::vector< isam::Pose3d_Point3d_Factor * > rgbdtools::KeyframeGraphSolverISAM::marker_observations |
Definition at line 75 of file include/rgbdtools/graph/keyframe_graph_solver_isam.h.
std::vector< isam::Point3d_Node * > rgbdtools::KeyframeGraphSolverISAM::marker_poses |
Definition at line 73 of file include/rgbdtools/graph/keyframe_graph_solver_isam.h.
std::vector< aruco::Marker > rgbdtools::KeyframeGraphSolverISAM::markers_ |
Definition at line 76 of file include/rgbdtools/graph/keyframe_graph_solver_isam.h.
Definition at line 70 of file include/rgbdtools/graph/keyframe_graph_solver_isam.h.
std::vector< isam::Pose3d_Node * > rgbdtools::KeyframeGraphSolverISAM::poses |
Definition at line 77 of file include/rgbdtools/graph/keyframe_graph_solver_isam.h.
std::vector< isam::Factor * > rgbdtools::KeyframeGraphSolverISAM::priors |
Definition at line 81 of file include/rgbdtools/graph/keyframe_graph_solver_isam.h.
isam::Slam rgbdtools::KeyframeGraphSolverISAM::slam |
Definition at line 83 of file include/rgbdtools/graph/keyframe_graph_solver_isam.h.
std::vector< bool > rgbdtools::KeyframeGraphSolverISAM::valid_markers |
Definition at line 79 of file include/rgbdtools/graph/keyframe_graph_solver_isam.h.
std::vector< bool > rgbdtools::KeyframeGraphSolverISAM::valid_poses |
Definition at line 78 of file include/rgbdtools/graph/keyframe_graph_solver_isam.h.
std::vector< isam::Pose3d_Pose3d_Factor * > rgbdtools::KeyframeGraphSolverISAM::vodom |
Definition at line 80 of file include/rgbdtools/graph/keyframe_graph_solver_isam.h.