#include <Slam.h>
isam::Slam::Slam | ( | ) |
isam::Slam::~Slam | ( | ) | [virtual] |
void isam::Slam::add_factor | ( | Factor * | factor | ) | [virtual] |
Adds a factor (measurement) to the graph.
factor | Pointer to new factor. |
Reimplemented from isam::Graph.
void isam::Slam::add_node | ( | Node * | node | ) | [virtual] |
Adds a node (variable) to the graph.
node | Pointer to new node. |
Reimplemented from isam::Graph.
void isam::Slam::apply_exmap | ( | const Eigen::VectorXd & | x | ) | [private, virtual] |
Apply a delta vector to the linearization point and store result as new estimate.
Implements isam::OptimizationInterface.
int isam::Slam::batch_optimization | ( | ) | [virtual] |
void isam::Slam::batch_optimization_step | ( | ) | [private, virtual] |
double isam::Slam::chi2 | ( | Selector | s = ESTIMATE | ) |
const Covariances & isam::Slam::covariances | ( | ) |
Returns the Covariances object associated with this Slam object.
void isam::Slam::estimate_to_linpoint | ( | ) | [private, virtual] |
Set linearization point to current estimate.
Implements isam::OptimizationInterface.
const SparseSystem & isam::Slam::get_R | ( | ) | const [virtual] |
void isam::Slam::incremental_update | ( | ) | [private, virtual] |
Update the system with any newly added measurements. The measurements will be appended to the existing factor matrix, and the factor is transformed into triangular form again using Givens rotations. Very efficient for exploration O(1), but can be more expensive otherwise >O(n).
SparseSystem isam::Slam::jacobian | ( | ) | [virtual] |
Returns the measurement Jacobian of the SLAM system.
Implements isam::OptimizationInterface.
SparseSystem isam::Slam::jacobian_numerical_columnwise | ( | ) | [virtual] |
SparseSystem isam::Slam::jacobian_partial | ( | int | last_n | ) | [virtual] |
void isam::Slam::linpoint_to_estimate | ( | ) | [private, virtual] |
Set current estimate to the linearization point (needed in dog leg).
Implements isam::OptimizationInterface.
double isam::Slam::local_chi2 | ( | int | last_n | ) |
double isam::Slam::normalized_chi2 | ( | ) |
void isam::Slam::print_stats | ( | ) | [virtual] |
Properties isam::Slam::properties | ( | ) | [inline] |
void isam::Slam::remove_factor | ( | Factor * | factor | ) | [virtual] |
Removes an factor (measurement) from the graph. Note that the factor itself is not deallocated. Be careful not to leave unconnected nodes behind.
factor | Pointer to factor. |
Reimplemented from isam::Graph.
void isam::Slam::remove_node | ( | Node * | node | ) | [virtual] |
Removes a node (variable) and all adjacent factors from the graph. Note that the node itself is not deallocated.
node | Pointer to node. |
Reimplemented from isam::Graph.
void isam::Slam::save | ( | const std::string | fname | ) | const |
void isam::Slam::self_exmap | ( | const Eigen::VectorXd & | x | ) | [private, virtual] |
Apply a delta vector directly to the linearization point.
Implements isam::OptimizationInterface.
void isam::Slam::set_cost_function | ( | cost_func_t | cost_func | ) |
void isam::Slam::set_properties | ( | Properties | prop | ) | [inline] |
void isam::Slam::swap_estimates | ( | ) | [private, virtual] |
Exchange linearization point and current estimate (needed in dog leg).
Implements isam::OptimizationInterface.
UpdateStats isam::Slam::update | ( | ) | [virtual] |
void isam::Slam::update_starts | ( | ) | [private] |
VectorXd isam::Slam::weighted_errors | ( | Selector | s = ESTIMATE | ) | [virtual] |
Weighted non-squared error vector, by default at current estimate.
Implements isam::OptimizationInterface.
friend class Covariances [friend] |
cost_func_t isam::Slam::_cost_func [private] |
Covariances isam::Slam::_covariances [private] |
int isam::Slam::_dim_measure [protected] |
int isam::Slam::_dim_nodes [protected] |
int isam::Slam::_num_new_measurements [protected] |
int isam::Slam::_num_new_rows [protected] |
Optimizer isam::Slam::_opt [protected] |
Properties isam::Slam::_prop [private] |
bool isam::Slam::_require_batch [private] |
int isam::Slam::_step [private] |