Formula Student Autonomous Systems
The code for the main driverless system
Loading...
Searching...
No Matches
NormalLevenbergOptimizer Class Reference

Normal Levenberg-Marquardt optimizer for graph SLAM. More...

#include <normal_levenberg_optimizer.hpp>

Inheritance diagram for NormalLevenbergOptimizer:
Inheritance graph
Collaboration diagram for NormalLevenbergOptimizer:
Collaboration graph

Public Member Functions

 NormalLevenbergOptimizer (const SLAMParameters &params)
 
 ~NormalLevenbergOptimizer () override=default
 
std::shared_ptr< BaseOptimizerclone () const override
 Clone the optimizer.
 
gtsam::Values optimize (gtsam::NonlinearFactorGraph &factor_graph, gtsam::Values &graph_values, unsigned int pose_num, unsigned int landmark_num) override
 Optimize the graph.
 
- Public Member Functions inherited from BaseOptimizer
 BaseOptimizer (const SLAMParameters &params)
 
 BaseOptimizer (const BaseOptimizer &other)
 
BaseOptimizeroperator= (const BaseOptimizer &other)
 
virtual ~BaseOptimizer ()=default
 

Additional Inherited Members

- Protected Attributes inherited from BaseOptimizer
const SLAMParameters_params_
 

Detailed Description

Normal Levenberg-Marquardt optimizer for graph SLAM.

This class implements the normal Levenberg-Marquardt optimizer for graph SLAM It uses the GTSAM Levenberg-Marquardt implementation to optimize the factor graph

Definition at line 12 of file normal_levenberg_optimizer.hpp.

Constructor & Destructor Documentation

◆ NormalLevenbergOptimizer()

NormalLevenbergOptimizer::NormalLevenbergOptimizer ( const SLAMParameters params)

Definition at line 3 of file normal_levenberg_optimizer.cpp.

◆ ~NormalLevenbergOptimizer()

NormalLevenbergOptimizer::~NormalLevenbergOptimizer ( )
overridedefault

Member Function Documentation

◆ clone()

std::shared_ptr< BaseOptimizer > NormalLevenbergOptimizer::clone ( ) const
overridevirtual

Clone the optimizer.

This method is used to create a copy of the optimizer It is useful for polymorphic classes that use pointers to base class

Returns
A shared pointer to the cloned optimizer

Implements BaseOptimizer.

Definition at line 6 of file normal_levenberg_optimizer.cpp.

◆ optimize()

gtsam::Values NormalLevenbergOptimizer::optimize ( gtsam::NonlinearFactorGraph &  factor_graph,
gtsam::Values &  graph_values,
unsigned int  pose_num,
unsigned int  landmark_num 
)
overridevirtual

Optimize the graph.

This method is used to run the optimization on the graph It also updates the pose and the graph values accordingly afterwards It may change the factor graph

Parameters
factor_graphThe factor graph to optimize
graph_valuesThe values to optimize
pose_numThe number of poses in the graph
landmark_numThe number of landmarks in the graph
Returns
The optimized values

Implements BaseOptimizer.

Definition at line 10 of file normal_levenberg_optimizer.cpp.


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