NASA Astrobee Robot Software  0.19.1
Flight software for the Astrobee robots operating inside the International Space Station.
graph_optimizer::GraphOptimizer Class Reference

#include <graph_optimizer.h>

Inheritance diagram for graph_optimizer::GraphOptimizer:
Inheritance graph

Public Member Functions

 GraphOptimizer (const GraphOptimizerParams &params, std::unique_ptr< optimizers::Optimizer > optimizer)
 
 GraphOptimizer ()
 
virtual ~GraphOptimizer ()=default
 
void AddNodeAdder (std::shared_ptr< node_adders::NodeAdder > node_adder)
 
void AddFactorAdder (std::shared_ptr< factor_adders::FactorAdder > factor_adder)
 
int AddFactors (const localization_common::Time start_time, const localization_common::Time end_time)
 
int AddFactors (const std::pair< localization_common::Time, localization_common::Time > &start_and_end_time)
 
bool Optimize ()
 
boost::optional< gtsam::Matrix > Covariance (const gtsam::Key &key) const
 
boost::optional< gtsam::Matrix > Covariance (const gtsam::Key &key_a, const gtsam::Key &key_b) const
 
const gtsam::NonlinearFactorGraph & factors () const
 
gtsam::NonlinearFactorGraph & factors ()
 
template<typename FactorType >
std::vector< boost::shared_ptr< const FactorType > > Factors () const
 
int num_factors () const
 
template<typename FactorType >
int NumFactors () const
 
int num_values () const
 
const GraphOptimizerParamsparams () const
 
std::shared_ptr< nodes::Valuesvalues ()
 
const gtsam::Values & gtsam_values () const
 
localization_common::StatsLoggerstats_logger ()
 
const localization_common::Timeroptimization_timer () const
 
const localization_common::Averageroptimization_iterations_averager () const
 
double TotalGraphError () const
 
virtual bool ValidGraph () const
 
virtual void Print () const
 
void SaveGraphDotFile (const std::string &output_path="graph.dot") const
 
boost::optional< const gtsam::Marginals & > marginals () const
 

Friends

class boost::serialization::access
 

Constructor & Destructor Documentation

◆ GraphOptimizer() [1/2]

graph_optimizer::GraphOptimizer::GraphOptimizer ( const GraphOptimizerParams params,
std::unique_ptr< optimizers::Optimizer optimizer 
)

◆ GraphOptimizer() [2/2]

graph_optimizer::GraphOptimizer::GraphOptimizer ( )
inline

◆ ~GraphOptimizer()

virtual graph_optimizer::GraphOptimizer::~GraphOptimizer ( )
virtualdefault

Member Function Documentation

◆ AddFactorAdder()

void graph_optimizer::GraphOptimizer::AddFactorAdder ( std::shared_ptr< factor_adders::FactorAdder factor_adder)

◆ AddFactors() [1/2]

int graph_optimizer::GraphOptimizer::AddFactors ( const localization_common::Time  start_time,
const localization_common::Time  end_time 
)

◆ AddFactors() [2/2]

int graph_optimizer::GraphOptimizer::AddFactors ( const std::pair< localization_common::Time, localization_common::Time > &  start_and_end_time)

◆ AddNodeAdder()

void graph_optimizer::GraphOptimizer::AddNodeAdder ( std::shared_ptr< node_adders::NodeAdder node_adder)

◆ Covariance() [1/2]

boost::optional< gtsam::Matrix > graph_optimizer::GraphOptimizer::Covariance ( const gtsam::Key &  key) const

◆ Covariance() [2/2]

boost::optional< gtsam::Matrix > graph_optimizer::GraphOptimizer::Covariance ( const gtsam::Key &  key_a,
const gtsam::Key &  key_b 
) const

◆ factors() [1/2]

gtsam::NonlinearFactorGraph& graph_optimizer::GraphOptimizer::factors ( )

◆ factors() [2/2]

gtsam::NonlinearFactorGraph & graph_optimizer::GraphOptimizer::factors ( ) const

◆ Factors()

template<typename FactorType >
std::vector< boost::shared_ptr< const FactorType > > graph_optimizer::GraphOptimizer::Factors

◆ gtsam_values()

gtsam::Values & graph_optimizer::GraphOptimizer::gtsam_values ( ) const

◆ marginals()

boost::optional< const gtsam::Marginals & > graph_optimizer::GraphOptimizer::marginals ( ) const

◆ num_factors()

int graph_optimizer::GraphOptimizer::num_factors ( ) const

◆ num_values()

int graph_optimizer::GraphOptimizer::num_values ( ) const

◆ NumFactors()

template<typename FactorType >
int graph_optimizer::GraphOptimizer::NumFactors

◆ optimization_iterations_averager()

const localization_common::Averager & graph_optimizer::GraphOptimizer::optimization_iterations_averager ( ) const

◆ optimization_timer()

const lc::Timer & graph_optimizer::GraphOptimizer::optimization_timer ( ) const

◆ Optimize()

bool graph_optimizer::GraphOptimizer::Optimize ( )

◆ params()

const GraphOptimizerParams & graph_optimizer::GraphOptimizer::params ( ) const

◆ Print()

void graph_optimizer::GraphOptimizer::Print ( ) const
virtual

◆ SaveGraphDotFile()

void graph_optimizer::GraphOptimizer::SaveGraphDotFile ( const std::string &  output_path = "graph.dot") const

◆ stats_logger()

lc::StatsLogger & graph_optimizer::GraphOptimizer::stats_logger ( )

◆ TotalGraphError()

double graph_optimizer::GraphOptimizer::TotalGraphError ( ) const

◆ ValidGraph()

bool graph_optimizer::GraphOptimizer::ValidGraph ( ) const
virtual

◆ values()

std::shared_ptr< nodes::Values > graph_optimizer::GraphOptimizer::values ( )

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

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